一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何10分鐘學(xué)會(huì)使用YOLO及Opencv實(shí)現(xiàn)目標(biāo)檢測(cè)?

新機(jī)器視覺(jué) ? 來(lái)源:snnu驛站 ? 作者:snnu驛站 ? 2020-11-19 14:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

在本教程中,將學(xué)習(xí)如何使用YOLO、OpenCV和Python檢測(cè)圖像和視頻流中的對(duì)象。主要內(nèi)容有:

簡(jiǎn)要討論YOLO算法;

使用YOLO、OpenCV、Python進(jìn)行圖像檢測(cè);

使用YOLO、OpenCV、Python進(jìn)行視頻流檢測(cè);

討論YOLO算法的優(yōu)點(diǎn)和缺點(diǎn);

當(dāng)涉及基于深度學(xué)習(xí)的對(duì)象檢測(cè)時(shí),常用的三類算法有:

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

單發(fā)檢測(cè)器(SSD);

YOLO算法;
R-CNN算法是最早的基于深度學(xué)習(xí)的目標(biāo)檢測(cè)器之一,其結(jié)構(gòu)是兩級(jí)網(wǎng)絡(luò);

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

1

項(xiàng)目結(jié)構(gòu)

$ 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

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

yolo - coco/:YOLOv3對(duì)象檢測(cè)器預(yù)先(在COCO數(shù)據(jù)集上)訓(xùn)練得到最終的權(quán)重文件,可以在Darknet團(tuán)隊(duì)主頁(yè)找到對(duì)應(yīng)的文件;

images/:此文件夾包含四個(gè)靜態(tài)圖像,之后將執(zhí)行對(duì)象檢測(cè)以進(jìn)行測(cè)試和評(píng)估;

videos/:使用YOLO對(duì)圖像進(jìn)行目標(biāo)檢測(cè)器后,將實(shí)時(shí)處理視頻。該文件夾中包含四個(gè)示例視頻可供測(cè)試;

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

此外還有兩個(gè)Python腳本——yolo.py和 yolo_video.py ,第一個(gè)腳本用于圖像處理,第二個(gè)腳本用于視頻處理。下面進(jìn)入實(shí)戰(zhàn)內(nèi)容,你準(zhǔn)備好了嗎?

2

將YOLO應(yīng)用于圖像對(duì)象檢測(cè)

YOLO算法并沒(méi)有應(yīng)用非最大值抑制,這里需要說(shuō)明一下。應(yīng)用非最大值抑制可以抑制明顯重疊的邊界框,只保留最自信的邊界框,NMS還確保我們沒(méi)有任何冗余或無(wú)關(guān)的邊界框。

利用OpenCV內(nèi)置的NMS DNN模塊實(shí)現(xiàn)即可實(shí)現(xiàn)非最大值抑制,所需要的參數(shù)是邊界框、置信度、以及置信度閾值和NMS閾值。

假設(shè)存在至少一個(gè)檢測(cè)結(jié)果,就循環(huán)用非最大值抑制確定idx 。然后,我們使用隨機(jī)類顏色在圖像上繪制邊界框和文本。最后,顯示結(jié)果圖像,直到用戶按下鍵盤上的任意鍵。
下面進(jìn)入測(cè)試環(huán)節(jié),打開(kāi)一個(gè)終端并執(zhí)行以下命令:

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

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

3

視頻檢測(cè)解決

那么在學(xué)會(huì)檢測(cè)單張圖像后,我們也可以利用YOLO算法實(shí)現(xiàn)視頻流中的目標(biāo)檢測(cè)。

同樣,首先從導(dǎo)入相關(guān)數(shù)據(jù)包和命令行參數(shù)開(kāi)始。與之前不同的是,此腳本沒(méi)有-- image參數(shù),取而代之的是量個(gè)視頻路徑:

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

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

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

YOLO目標(biāo)檢測(cè)器的最大限制和缺點(diǎn)是:

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

它尤其不適合處理密集的對(duì)象;

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

YOLO對(duì)象檢測(cè)器將輸入圖像劃分為SxS網(wǎng)格,其中網(wǎng)格中的每個(gè)單元格僅預(yù)測(cè)單個(gè)對(duì)象;

如果單個(gè)單元格中存在多個(gè)小對(duì)象,則YOLO將無(wú)法檢測(cè)到它們,最終導(dǎo)致錯(cuò)過(guò)對(duì)象檢測(cè);

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

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

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

如果需要一個(gè)平衡的表現(xiàn),我傾向于使用SSD算法;

原文標(biāo)題:10分鐘學(xué)會(huì)使用YOLO及Opencv實(shí)現(xiàn)目標(biāo)檢測(cè)

文章出處:【微信公眾號(hào):新機(jī)器視覺(jué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 機(jī)器視覺(jué)
    +關(guān)注

    關(guān)注

    163

    文章

    4597

    瀏覽量

    122911
  • 人臉識(shí)別
    +關(guān)注

    關(guān)注

    77

    文章

    4089

    瀏覽量

    84298

原文標(biāo)題:10分鐘學(xué)會(huì)使用YOLO及Opencv實(shí)現(xiàn)目標(biāo)檢測(cè)

文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺(jué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    在樹(shù)莓派5上開(kāi)啟YOLO姿態(tài)估計(jì)識(shí)別之旅!

    大家好,接下來(lái)會(huì)為大家開(kāi)一個(gè)樹(shù)莓派5和YOLO的連載文章。內(nèi)容包括四個(gè)部分:在樹(shù)莓派5上使用YOLO進(jìn)行物體和動(dòng)物識(shí)別-入門指南在樹(shù)莓派5上開(kāi)啟YOLO人體姿態(tài)估計(jì)識(shí)別之旅YOLO物體
    的頭像 發(fā)表于 07-18 15:31 ?69次閱讀
    在樹(shù)莓派5上開(kāi)啟<b class='flag-5'>YOLO</b>姿態(tài)估計(jì)識(shí)別之旅!

    在樹(shù)莓派5上使用YOLO進(jìn)行物體和動(dòng)物識(shí)別-入門指南

    大家好,接下來(lái)會(huì)為大家開(kāi)一個(gè)樹(shù)莓派5和YOLO的專題。內(nèi)容包括四個(gè)部分:在樹(shù)莓派5上使用YOLO進(jìn)行物體和動(dòng)物識(shí)別-入門指南在樹(shù)莓派5上開(kāi)啟YOLO人體姿態(tài)估計(jì)識(shí)別之旅YOLO物體
    的頭像 發(fā)表于 07-17 17:16 ?144次閱讀
    在樹(shù)莓派5上使用<b class='flag-5'>YOLO</b>進(jìn)行物體和動(dòng)物識(shí)別-入門指南

    【Milk-V Duo S 開(kāi)發(fā)板免費(fèi)體驗(yàn)】SDK編譯、人臉檢測(cè)OpenCV測(cè)試

    【Milk-V Duo S 開(kāi)發(fā)板免費(fèi)體驗(yàn)】SDK編譯、人臉檢測(cè)OpenCV測(cè)試 本文介紹了 Milk-V Duo S 開(kāi)發(fā)板實(shí)現(xiàn) Buildroot SDK 鏡像編譯、基于 TDL 模型的人
    發(fā)表于 07-11 13:48

    K230在同時(shí)使用H265編碼與yolo進(jìn)行檢測(cè)時(shí)出現(xiàn)錯(cuò)誤怎么解決?

    1、單獨(dú)使用H265編碼時(shí)或者yolo檢測(cè)沒(méi)有問(wèn)題 2.一旦將二者結(jié)合,因?yàn)镠265編碼時(shí)YUV格式,所以我另外開(kāi)了一個(gè)RGB平面格式來(lái)運(yùn)行yolo推理 3.報(bào)錯(cuò)信息顯示:兩者的空間會(huì)沖突然后導(dǎo)致
    發(fā)表于 07-11 08:15

    YOLOv8水果檢測(cè)示例代碼換成640輸入圖像出現(xiàn)目標(biāo)框繪制錯(cuò)誤的原因 ?

    官網(wǎng)中的YOLOv8 水果檢測(cè)關(guān)于圖片推理的示例源代碼: from libs.YOLO import YOLOv8 import os,sys,gc import ulab.numpy as np
    發(fā)表于 06-18 06:37

    基于LockAI視覺(jué)識(shí)別模塊:C++目標(biāo)檢測(cè)

    的基本概念,并提供了詳細(xì)的API文檔說(shuō)明,幫助開(kāi)發(fā)者理解和實(shí)現(xiàn)目標(biāo)檢測(cè)與可視化功能。通過(guò)上述流程,可以構(gòu)建高效的實(shí)時(shí)目標(biāo)檢測(cè)系統(tǒng),滿足多種應(yīng)用場(chǎng)景的需求。
    發(fā)表于 06-06 14:43

    10分鐘上手寫(xiě)代碼,LuatOS協(xié)程輕松掌握!

    10分鐘學(xué)會(huì)LuatOS協(xié)程,從此你的程序也能像通勤族利用碎片時(shí)間一樣游刃有余?,F(xiàn)在就去動(dòng)手試一試,開(kāi)啟異步編程新體驗(yàn)! 寫(xiě)給第一次聽(tīng)說(shuō)協(xié)程的你?: 別怕!協(xié)程不是復(fù)雜概念,看完這篇,10
    的頭像 發(fā)表于 04-10 15:18 ?258次閱讀
    <b class='flag-5'>10</b><b class='flag-5'>分鐘</b>上手寫(xiě)代碼,LuatOS協(xié)程輕松掌握!

    labview調(diào)用yolo目標(biāo)檢測(cè)、分割、分類、obb

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

    使用Yolo-v3-TF運(yùn)行OpenVINO?對(duì)象檢測(cè)Python演示時(shí)的結(jié)果不準(zhǔn)確的原因?

    通過(guò)模型下載器下載了 yolo-v3-tf: ./downloader.py --name yolo-v3-tf 通過(guò)模型 優(yōu)化器轉(zhuǎn)換模型: python3 ./model_optimizer
    發(fā)表于 03-06 06:31

    在英特爾AIPC上利用LabVIEW與YOLOv11實(shí)現(xiàn)目標(biāo)檢測(cè)

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

    助力AIoT應(yīng)用:在米爾FPGA開(kāi)發(fā)板上實(shí)現(xiàn)Tiny YOLO V4

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

    YOLOv10自定義目標(biāo)檢測(cè)之理論+實(shí)踐

    保持先進(jìn)性能的同時(shí),降低了計(jì)算需求。大量實(shí)驗(yàn)表明,YOLOv10 在各種模型規(guī)模上提供了更優(yōu)的準(zhǔn)確率-延遲權(quán)衡。 正如讀過(guò)我之前文章的朋友所知道的,我分享了使用 YOLO 模型的各種項(xiàng)目,因?yàn)樵陬A(yù)訓(xùn)練模型中,YOLO 模型在性能
    的頭像 發(fā)表于 11-16 10:23 ?1606次閱讀
    YOLOv<b class='flag-5'>10</b>自定義<b class='flag-5'>目標(biāo)</b><b class='flag-5'>檢測(cè)</b>之理論+實(shí)踐

    《DNK210使用指南 -CanMV版 V1.0》第四十一章 YOLO2物體檢測(cè)實(shí)驗(yàn)

    第四十一章 YOLO2物體檢測(cè)實(shí)驗(yàn) 在上一章節(jié)中,介紹了利用maix.KPU模塊實(shí)現(xiàn)YOLO2的人手檢測(cè),本章將繼續(xù)介紹利用maix.KPU
    發(fā)表于 11-14 09:22

    《DNK210使用指南 -CanMV版 V1.0》第四十章 YOLO2人手檢測(cè)實(shí)驗(yàn)

    第四十章 YOLO2人手檢測(cè)實(shí)驗(yàn) 在上一章節(jié)中,介紹了利用maix.KPU模塊實(shí)現(xiàn)YOLO2的人臉檢測(cè),本章將繼續(xù)介紹利用maix.KPU模
    發(fā)表于 11-14 09:20

    使用OpenVINO C# API部署YOLO-World實(shí)現(xiàn)實(shí)時(shí)開(kāi)放詞匯對(duì)象檢測(cè)

    YOLO-World是一個(gè)融合了實(shí)時(shí)目標(biāo)檢測(cè)與增強(qiáng)現(xiàn)實(shí)(AR)技術(shù)的創(chuàng)新平臺(tái),旨在將現(xiàn)實(shí)世界與數(shù)字世界無(wú)縫對(duì)接。該平臺(tái)以YOLO(You Only Look Once)算法為核心,
    的頭像 發(fā)表于 08-30 16:27 ?1703次閱讀
    使用OpenVINO C# API部署<b class='flag-5'>YOLO</b>-World<b class='flag-5'>實(shí)現(xiàn)</b>實(shí)時(shí)開(kāi)放詞匯對(duì)象<b class='flag-5'>檢測(cè)</b>