女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何10分鐘學會使用YOLO及Opencv實現目標檢測?

新機器視覺 ? 來源:snnu驛站 ? 作者:snnu驛站 ? 2020-11-19 14:26 ? 次閱讀

計算機視覺領域中,目標檢測一直是工業應用上比較熱門且成熟的應用領域,比如人臉識別、行人檢測等,國內的曠視科技、商湯科技等公司在該領域占據行業領先地位。相對于圖像分類任務而言,目標檢測會更加復雜一些,不僅需要知道這是哪一類圖像,而且要知道圖像中所包含的內容有什么及其在圖像中的位置,因此,其工業應用比較廣泛。那么,今天將向讀者介紹該領域中表現優異的一種算算法——“你只需要看一次”(you only look once,yolo),提出該算法的作者風趣幽默可愛,其個人主頁及論文風格顯示了其性情,目前該算法已是第三個版本,簡稱YoLo V3。

在本教程中,將學習如何使用YOLO、OpenCV和Python檢測圖像和視頻流中的對象。主要內容有:

簡要討論YOLO算法;

使用YOLO、OpenCV、Python進行圖像檢測;

使用YOLO、OpenCV、Python進行視頻流檢測;

討論YOLO算法的優點和缺點;

當涉及基于深度學習的對象檢測時,常用的三類算法有:

R-CNN家族系列算法:R-CNN、fast R-CNN以及faster R-CNN;

單發檢測器(SSD);

YOLO算法;
R-CNN算法是最早的基于深度學習的目標檢測器之一,其結構是兩級網絡;

首先需要諸如選擇性搜索之類的算法來提出可能包含對象的候選邊界框;然后將這些區域傳遞到CNN算法進行分類;R-CNN算法存在的問題在于其仿真很慢,并且不是完整的端到端的目標檢測器。Fast R-CNN算法對原始R-CNN進行了相當大的改進,即提高準確度并減少執行正向傳遞所花費的時間,但是,該模型仍然依賴于外部區域搜索算法。直到2015年,faster R-CNN才成為真正的端到端深度學習目標檢測器,刪除了選擇性搜索的要求,而是依賴于(1)完全卷積的區域提議網絡(RPN)和(2)可以預測對象邊界框和“對象”分數(量化它是一個區域的可能性的分數)。然后將RPN的輸出傳遞到R-CNN組件以進行最終分類和標記。R-CNN系列算法的檢測結果一般都非常準確,但R-CNN系列算法最大的問題在仿真速度——非常慢,即使是在GPU上也僅獲得5 FPS。為了提高基于深度學習的目標檢測器的速度,單次檢測器(SSD)和YOLO都使用單級檢測器策略(one stage)。這類算法將對象檢測視為回歸問題,獲取給定的輸入圖像并同時學習邊界框坐標和相應的類標簽概率。通常,單級檢測器往往不如兩級檢測器準確,但其速度明顯更快。YOLO是單級檢測器中一個很好的算法。YOLO算法于2015年提出,在GPU上獲得了 45 FPS性能,此外,同時也提出了一個較小的變體稱為“Fast YOLO”,在GPU上達到155 FPS的性能。YOLO經歷了許多次的迭代,包括YOLOv2,能夠檢測超過9,000個目標。直到最近提出的YOLOv3算法,YOLOv3模型比之前的版本要復雜得多,但它是YOLO系列目標檢測器中最好的一款。本文使用YOLOv3,并在COCO數據集上進行訓練。COCO數據集由80個標簽組成,可以使用此鏈接找到YOLO在COCO數據集上訓練的內容的完整列表。

1

項目結構

$ tree.
├── images
│ ├── baggage_claim.jpg
│ ├── dining_table.jpg
│ ├── living_room.jpg
│ └── soccer.jpg
├── output
│ ├── airport_output.avi
│ ├── car_chase_01_output.avi
│ ├── car_chase_02_output.avi
│ └── overpass_output.avi
├── videos
│ ├── airport.mp4
│ ├── car_chase_01.mp4
│ ├── car_chase_02.mp4
│ └── overpass.mp4
├── yolo-coco
│ ├── coco.names
│ ├── yolov3.cfg
│ └── yolov3.weights
├── yolo.py
└── yolo_video.py

從上面可以看出,項目包括4個文件夾和2個Python腳本。
目錄(按重要性順序)是:

yolo - coco/:YOLOv3對象檢測器預先(在COCO數據集上)訓練得到最終的權重文件,可以在Darknet團隊主頁找到對應的文件;

images/:此文件夾包含四個靜態圖像,之后將執行對象檢測以進行測試和評估;

videos/:使用YOLO對圖像進行目標檢測器后,將實時處理視頻。該文件夾中包含四個示例視頻可供測試;

輸出/:輸出已由YOLO處理并帶有邊界框和類名稱注釋的視頻可以放在此文件夾中;

此外還有兩個Python腳本——yolo.py和 yolo_video.py ,第一個腳本用于圖像處理,第二個腳本用于視頻處理。下面進入實戰內容,你準備好了嗎?

2

將YOLO應用于圖像對象檢測

YOLO算法并沒有應用非最大值抑制,這里需要說明一下。應用非最大值抑制可以抑制明顯重疊的邊界框,只保留最自信的邊界框,NMS還確保我們沒有任何冗余或無關的邊界框。

利用OpenCV內置的NMS DNN模塊實現即可實現非最大值抑制,所需要的參數是邊界框、置信度、以及置信度閾值和NMS閾值。

假設存在至少一個檢測結果,就循環用非最大值抑制確定idx 。然后,我們使用隨機類顏色在圖像上繪制邊界框和文本。最后,顯示結果圖像,直到用戶按下鍵盤上的任意鍵。
下面進入測試環節,打開一個終端并執行以下命令:

$python yolo.py --imageimages/baggage_claim.jpg --yolo yolo-coco

[INFO] loading YOLO from disk...
[INFO] YOLO took 0.347815 seconds

3

視頻檢測解決

那么在學會檢測單張圖像后,我們也可以利用YOLO算法實現視頻流中的目標檢測。

同樣,首先從導入相關數據包和命令行參數開始。與之前不同的是,此腳本沒有-- image參數,取而代之的是量個視頻路徑:

-- input :輸入視頻文件的路徑;

-- output :輸出視頻文件的路徑;

視頻的輸入可以是手機拍攝的短視頻或者是網上搜索到的視頻。另外,也可以通過將多張照片合成為一個短視頻也可以。本博客使用的是在PyImageSearch上找到來自imutils的VideoStream類的示例。
代碼與處理圖形時候相同:

YOLO目標檢測器的最大限制和缺點是:

它并不總能很好地處理小物體;

它尤其不適合處理密集的對象;

限制的原因是由于YOLO算法其本身:

YOLO對象檢測器將輸入圖像劃分為SxS網格,其中網格中的每個單元格僅預測單個對象;

如果單個單元格中存在多個小對象,則YOLO將無法檢測到它們,最終導致錯過對象檢測;

因此,如果你的數據集是由許多靠近在一起的小對象組成時,那么就不應該使用YOLO算法。就小物體而言,更快的R-CNN往往效果最好,但是其速度也最慢。在這里也可以使用SSD算法, SSD通常在速度和準確性方面也有很好的權衡。
值得注意的是,在本教程中,YOLO比SSD運行速度慢,大約慢一個數量級。因此,如果你正在使用預先訓練的深度學習對象檢測器供OpenCV使用,可能需要考慮使用SSD算法而不是YOLO算法。
因此,在針對給定問題選擇對象檢測器時,我傾向于使用以下準則:

如果知道需要檢測的是小物體并且速度方面不作求,我傾向于使用faster R-CNN算法;

如果速度是最重要的,我傾向于使用YOLO算法;

如果需要一個平衡的表現,我傾向于使用SSD算法;

原文標題:10分鐘學會使用YOLO及Opencv實現目標檢測

文章出處:【微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 機器視覺
    +關注

    關注

    163

    文章

    4511

    瀏覽量

    122266
  • 人臉識別
    +關注

    關注

    76

    文章

    4069

    瀏覽量

    83679

原文標題:10分鐘學會使用YOLO及Opencv實現目標檢測

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    基于LockAI視覺識別模塊:C++目標檢測

    的基本概念,并提供了詳細的API文檔說明,幫助開發者理解和實現目標檢測與可視化功能。通過上述流程,可以構建高效的實時目標檢測系統,滿足多種應用場景的需求。
    發表于 06-06 14:43

    10分鐘上手寫代碼,LuatOS協程輕松掌握!

    10分鐘學會LuatOS協程,從此你的程序也能像通勤族利用碎片時間一樣游刃有余。現在就去動手試一試,開啟異步編程新體驗! 寫給第一次聽說協程的你?: 別怕!協程不是復雜概念,看完這篇,10
    的頭像 發表于 04-10 15:18 ?177次閱讀
    <b class='flag-5'>10</b><b class='flag-5'>分鐘</b>上手寫代碼,LuatOS協程輕松掌握!

    labview調用yolo目標檢測、分割、分類、obb

    labview調用yolo目標檢測、分割、分類、obb、pose深度學習,支持CPU和GPU推理,32/64位labview均可使用。 (yolov5~yolov12)
    發表于 03-31 16:28

    使用Yolo-v3-TF運行OpenVINO?對象檢測Python演示時的結果不準確的原因?

    通過模型下載器下載了 yolo-v3-tf: ./downloader.py --name yolo-v3-tf 通過模型 優化器轉換模型: python3 ./model_optimizer
    發表于 03-06 06:31

    在英特爾AIPC上利用LabVIEW與YOLOv11實現目標檢測

    Toolkit for OpenVINO for LabVIEW(以下簡稱AIVT-OV),在 intel AIPC 設備上部署YOLO11模型,并實現實時目標檢測。 1 前言 1.
    的頭像 發表于 02-17 10:01 ?782次閱讀
    在英特爾AIPC上利用LabVIEW與YOLOv11<b class='flag-5'>實現目標</b><b class='flag-5'>檢測</b>

    助力AIoT應用:在米爾FPGA開發板上實現Tiny YOLO V4

    Only Look Once)是一種實時物體檢測模型,它通過一次性掃描整個圖像,實現高效的對象識別。而其簡化版 Tiny YOLO V4 更適合嵌入式設備,具有較少的層數和參數。其輕量化特性更適合在資源
    發表于 12-06 17:18

    YOLOv10自定義目標檢測之理論+實踐

    保持先進性能的同時,降低了計算需求。大量實驗表明,YOLOv10 在各種模型規模上提供了更優的準確率-延遲權衡。 正如讀過我之前文章的朋友所知道的,我分享了使用 YOLO 模型的各種項目,因為在預訓練模型中,YOLO 模型在性能
    的頭像 發表于 11-16 10:23 ?1433次閱讀
    YOLOv<b class='flag-5'>10</b>自定義<b class='flag-5'>目標</b><b class='flag-5'>檢測</b>之理論+實踐

    如何用OpenCV的相機捕捉視頻進行人臉檢測--基于米爾NXP i.MX93開發板

    : breakvideo.release()cv2.destroyAllWindows() 保存后執行”python3 opencv_test.py OpenCV裝好后,可以為后面的人臉檢測提供可行性。 要
    發表于 11-15 17:58

    《DNK210使用指南 -CanMV版 V1.0》第四十一章 YOLO2物體檢測實驗

    第四十一章 YOLO2物體檢測實驗 在上一章節中,介紹了利用maix.KPU模塊實現YOLO2的人手檢測,本章將繼續介紹利用maix.KPU
    發表于 11-14 09:22

    《DNK210使用指南 -CanMV版 V1.0》第四十章 YOLO2人手檢測實驗

    第四十章 YOLO2人手檢測實驗 在上一章節中,介紹了利用maix.KPU模塊實現YOLO2的人臉檢測,本章將繼續介紹利用maix.KPU模
    發表于 11-14 09:20

    《DNK210使用指南 -CanMV版 V1.0》第三十九章 YOLO2人臉檢測實驗

    第三十九章 YOLO2人臉檢測實驗 從本章開始,將通過幾個實例介紹Kendryte K210上的KPU,以及CanMV下KPU的使用方法,本章將先介紹YOLO2網絡的人臉檢測應用在Ca
    發表于 11-13 09:37

    使用OpenVINO C# API部署YOLO-World實現實時開放詞匯對象檢測

    YOLO-World是一個融合了實時目標檢測與增強現實(AR)技術的創新平臺,旨在將現實世界與數字世界無縫對接。該平臺以YOLO(You Only Look Once)算法為核心,
    的頭像 發表于 08-30 16:27 ?1513次閱讀
    使用OpenVINO C# API部署<b class='flag-5'>YOLO</b>-World<b class='flag-5'>實現</b>實時開放詞匯對象<b class='flag-5'>檢測</b>

    慧視小目標識別算法 解決目標檢測中的老大難問題

    隨著深度學習和人工智能技術的興起與技術成熟,一大批如FasterR-CNN、RetinaNet、YOLO等可以在工業界使用的目標檢測算法已逐步成熟并進入實際應用,大多數場景下的目標
    的頭像 發表于 07-17 08:29 ?894次閱讀
    慧視小<b class='flag-5'>目標</b>識別算法   解決<b class='flag-5'>目標</b><b class='flag-5'>檢測</b>中的老大難問題

    opencv的主要功能有哪些

    OpenCV提供了豐富的圖像處理功能,包括圖像的讀取、顯示、保存、轉換等。此外,OpenCV還支持圖像的濾波、邊緣檢測、形態學操作、圖像金字塔等高級圖像處理技術。 特征檢測與描述:
    的頭像 發表于 07-16 10:35 ?2603次閱讀

    用OpenVINO C# API在intel平臺部署YOLOv10目標檢測模型

    的模型設計策略,從效率和精度兩個角度對YOLOs的各個組成部分進行了全面優化,大大降低了計算開銷,增強了性能。在本文中,我們將結合OpenVINO C# API使用最新發布的OpenVINO 2024.1部署YOLOv10目標檢測
    的頭像 發表于 06-21 09:23 ?1790次閱讀
    用OpenVINO C# API在intel平臺部署YOLOv<b class='flag-5'>10</b><b class='flag-5'>目標</b><b class='flag-5'>檢測</b>模型