資料介紹
目標(biāo)檢測(cè)是計(jì)算機(jī)視覺領(lǐng)域中一個(gè)新興的應(yīng)用方向。
目標(biāo)定位
圖像分類是對(duì)圖像進(jìn)行分類,比如判斷圖像中是否是車。定位分類不僅要圖片分類,而且需要確定目標(biāo)在圖像中的哪個(gè)位置。目標(biāo)檢測(cè)中要識(shí)別的對(duì)象不僅僅只有一個(gè),目標(biāo)檢測(cè)要識(shí)別圖像中多個(gè)對(duì)象。
自動(dòng)駕駛需要用到目標(biāo)檢測(cè)技術(shù)。給出一張汽車行駛中的圖片
我們需要判斷圖中1-是否有行人,2-是否有車,3-是否有摩托車,4-圖片是否只是背景圖,還需要判斷圖中汽車的位置。設(shè)圖片左上角的坐標(biāo)是(0,0),右下角坐標(biāo)為(1,1)。圖中汽車的中心點(diǎn)位置大概為(bx=0.5,by=0.7),汽車的長(zhǎng)和高分別是bw=0.3和bh=0.4。我們訓(xùn)練的神經(jīng)網(wǎng)絡(luò)就要有兩種類型的輸出,一種是4種對(duì)象的檢測(cè),另外一種是車的位置信息。
我們定義這張圖片的標(biāo)簽y要包含下面幾個(gè)元素
如果圖片中有任意的對(duì)象,比如上圖,那么
如果圖片中什么都沒有,那么
其中第一個(gè)元素置為0,其它元素可以不用設(shè)置,因?yàn)槎紱]有任何對(duì)象了,我們不關(guān)心其它的信息了。
目標(biāo)定位的損失函數(shù)是
這里簡(jiǎn)單地使用了平方損失函數(shù)。
特征點(diǎn)檢測(cè)
除了可以使用矩形框標(biāo)出目標(biāo)在圖片中的位置,還可以使用特征點(diǎn)來表示目標(biāo)的位置。
在人臉檢測(cè)中,可以使用特征點(diǎn)來表示人臉的位置,或者具體的部位,比如眼睛,鼻子,嘴巴。
樣本的標(biāo)簽y是一個(gè)坐標(biāo)點(diǎn)的集合,第1個(gè)點(diǎn)表示左眼左側(cè)眼角,第2個(gè)點(diǎn)表示左眼右側(cè)眼角,第3個(gè)點(diǎn)表示右眼左側(cè)眼角,以此類推。
特征點(diǎn)檢測(cè)有許多應(yīng)用場(chǎng)景。比如說AR,在人的頭上顯示一個(gè)皇冠,需要得到人臉的特征點(diǎn)位置,然后判斷人臉的傾斜度,最后把皇冠“戴”到頭上。
滑動(dòng)窗體檢測(cè)
為了從一幅大圖中找出圖中汽車的位置,需要用到活動(dòng)窗體檢測(cè)。首先使用汽車圖片訓(xùn)練一個(gè)卷積神經(jīng)網(wǎng)絡(luò),用于汽車分類。接著設(shè)置一個(gè)窗體,該窗體在大圖上從上往下從左往右慢慢移動(dòng),每移動(dòng)一步,把窗體截取的內(nèi)容使用汽車分類器進(jìn)行分類,如果檢測(cè)到有汽車,說明圖中的汽車位置在窗體的位置上。接著使用一個(gè)更大的窗體,重復(fù)上述步驟。
滑動(dòng)窗體的移動(dòng)步長(zhǎng)設(shè)置大一些,可以減少汽車分類器的分類次數(shù),但是可能會(huì)出現(xiàn)這種情況,窗體中的汽車只有車身的一部分,分類器不能識(shí)別,這樣導(dǎo)致整個(gè)系統(tǒng)的性能降低。
把圖片分成一塊塊區(qū)域,然后分別使用分類器分類,這樣的滑動(dòng)窗體的效率非常低。我們需要一個(gè)高效率的滑動(dòng)窗體的方法。
首先要介紹把全連接層轉(zhuǎn)成卷積層。
把上圖的第一個(gè)全連接層,改成用5×5×16的過濾器來卷積,一次卷積的操作數(shù)是所有輸入值,這相當(dāng)于一次全連接,然后設(shè)置過濾器的數(shù)量為400,相當(dāng)于計(jì)算全連接層的400個(gè)輸出值。同理,把第二個(gè)全連接層改成用400個(gè)1×1×400的過濾器來卷積,得到的1×1×400輸出就是第二個(gè)全連接層的輸出。如此類推,最后得到1×1×4的輸出就是softmax層的輸出。
高效率的滑動(dòng)窗體的方法是使用卷積來實(shí)現(xiàn)滑動(dòng)窗體。
上圖第一行表示一幅14×14×3的圖片使用卷積網(wǎng)絡(luò)進(jìn)行分類的過程。其中全連接層使用卷積層實(shí)現(xiàn)。上圖的下一行表示在一幅大圖中實(shí)現(xiàn)滑動(dòng)窗體的計(jì)算。首先只觀察藍(lán)色方塊,這是一個(gè)滑動(dòng)窗體,這個(gè)藍(lán)色方塊的大小滿足上一行卷積網(wǎng)絡(luò)的規(guī)格,把藍(lán)色方塊帶入卷積網(wǎng)絡(luò),注意黃色區(qū)域也代入卷積網(wǎng)絡(luò)中。最后2×2×4的藍(lán)色塊表示藍(lán)色方塊的分類結(jié)果。然后觀察綠色框的區(qū)域,這是另外一個(gè)滑動(dòng)窗體,你會(huì)發(fā)現(xiàn)卷積網(wǎng)絡(luò)中綠色框的值就是綠色框區(qū)域在上一行卷積網(wǎng)絡(luò)中的結(jié)果。把大圖輸入到卷積網(wǎng)絡(luò),卷積網(wǎng)絡(luò)會(huì)同時(shí)計(jì)算大圖的所有的相同大小滑動(dòng)窗體的分類結(jié)果,這就加快了滑動(dòng)窗體的分類效率。
Bounding Box 預(yù)測(cè)
滑動(dòng)窗體檢測(cè)對(duì)象的位置不是很精確,例如
黑色框是滑動(dòng)窗體分割的區(qū)域,在綠色框和黃色框中有汽車。直接把綠色框和黃色框作為圖片中汽車的位置太粗略了,我們需要更加精確的汽車位置。這時(shí)可以使用到前面所說的目標(biāo)定位的知識(shí)。
我們訓(xùn)練的分類器不僅僅要輸出圖片是否有汽車,還要輸出汽車在圖片中的位置(Bounding Box),所以可以使用目標(biāo)定位使用的y,
把這張大圖輸入進(jìn)卷積網(wǎng)絡(luò),最后得到的輸出為3×3×8的矩陣,其中3×3代表滑動(dòng)窗體,8表示每個(gè)滑動(dòng)窗體的目標(biāo)定位的8個(gè)預(yù)測(cè)結(jié)果。根據(jù)預(yù)測(cè)結(jié)果中的汽車位置信息,可以精確到汽車的具體位置。
這些方法來自YOLO算法。
交并比
交并比函數(shù)用于判斷算法的定位預(yù)測(cè)是否正確。
紅色框是正確的汽車位置,紫色框是預(yù)測(cè)的位置,交并比函數(shù)是指兩者交集和并集的比。圖中黃色區(qū)域指的是二者的交集,綠色區(qū)域指的是二者的并集,交并比函數(shù)公式是
然后設(shè)置一個(gè)閾值,比如說0.5,如果IoU>0.5,則算法的定位預(yù)測(cè)沒有問題。如果需要算法預(yù)測(cè)效果更加精確,閾值可以設(shè)置得更高。
非極大值抑制
滑動(dòng)窗體檢測(cè)有一個(gè)問題,就是一個(gè)對(duì)象可能會(huì)多次被檢測(cè)到。例如
滑動(dòng)窗體把圖片分成19×19個(gè)區(qū)域,算法檢測(cè)到綠色區(qū)域和黃色區(qū)域都有汽車。這幾個(gè)區(qū)域都是汽車的一部分,它們組合起來,擴(kuò)充更大的區(qū)域,才是完整的汽車。
上圖是一個(gè)物體被多次檢測(cè)到的情況。非極大值抑制會(huì)清除多余的檢測(cè)結(jié)果,比如,保留上圖中pc值最高的兩個(gè)(0.8和0.9)檢測(cè)結(jié)果。
非極大值抑制算法的具體過程如下。
每個(gè)滑動(dòng)窗體輸出的預(yù)測(cè)值的形式是。
首先設(shè)置一個(gè)IoU閾值,比如0.5和一個(gè)概率閾值(置信度),比如0.6,清除所有 pc<0.6 的窗體。
如果還有剩下的窗體,執(zhí)行下面的循環(huán):
選擇pc值最大的輸出作為預(yù)測(cè)結(jié)果。
清除所有剩下的與前一步選擇的窗體IoU>0.5的窗體。
Anchor boxes
上述所說的都是一個(gè)窗體檢測(cè)一個(gè)對(duì)象,現(xiàn)在了解一下一個(gè)窗體同時(shí)檢測(cè)多個(gè)對(duì)象的情況。如果兩個(gè)物體對(duì)象同時(shí)出現(xiàn)在一個(gè)窗體中,它們的中心點(diǎn)位置相同,需要算法能夠同時(shí)識(shí)別這兩個(gè)物體對(duì)象。
上圖中行人和車的中心點(diǎn)都在同一個(gè)位置,之前所說的算法只能檢測(cè)到一個(gè)對(duì)象,因此需要修改算法。
圖中的行人和汽車的形狀不同,行人的矩形框比較長(zhǎng),汽車的矩形框比較寬,定義這些矩形框叫Anchor box,如下圖所示
為了能夠同時(shí)檢測(cè)到Anchor box1和Anchor box2,需要修改標(biāo)簽y。本來y只有8個(gè)元素,現(xiàn)在y有16個(gè)元素,前8個(gè)元素用來輸出Anchor box1的位置,后8個(gè)元素用來輸出Anch box2的位置。pc表示對(duì)應(yīng)的對(duì)象是否存在。
上圖的標(biāo)簽y是下圖的中間向量
如果行人離開的圖片中,那么y值變?yōu)樯蠄D的右邊向量。因?yàn)樾腥瞬辉趫D片中,Anchor box1的位置信息就沒有意義了,用?表示。
YOLO算法
現(xiàn)在來簡(jiǎn)單介紹YOLO算法的整個(gè)過程。
有一個(gè)例子是檢測(cè)圖片中的行人、汽車和摩托車。我們的算法主要檢測(cè)行人和汽車,因此使用兩個(gè)Anchor box。每個(gè)窗體的標(biāo)簽值y就如同下圖所示,有16個(gè)元素,一半用來記錄行人的位置信息,另一半用來記錄汽車的位置信息。
我們使用3×3的滑動(dòng)窗體,不過一般使用更小的滑動(dòng)窗體,比如19×19。訓(xùn)練出來的卷積網(wǎng)絡(luò)最后輸出的預(yù)測(cè)值大小是3×3×16。
對(duì)一張圖片進(jìn)行檢測(cè),每個(gè)窗體都會(huì)檢測(cè)到兩個(gè)位置信息,如下圖。對(duì)象的邊界的方框可能會(huì)超出窗體。
先把低于概率閾值的位置信息去掉
接著,對(duì)每個(gè)類別(行人和汽車),使用非極大值抑制算法來確定最終的位置。
R-CNN
R-CNN(帶區(qū)域的CNN)提出了候選區(qū)域(Region proposal)的概念。R-CNN認(rèn)為滑動(dòng)窗體有時(shí)會(huì)檢測(cè)什么對(duì)象都沒有的區(qū)域,這會(huì)浪費(fèi)時(shí)間,比如在下圖的兩個(gè)藍(lán)色區(qū)域,是沒有行人或汽車出現(xiàn),對(duì)這兩個(gè)區(qū)域進(jìn)行卷積運(yùn)算會(huì)降低系統(tǒng)的效率。
R-CNN對(duì)圖片進(jìn)行圖片分割,得到一幅圖片的區(qū)域圖
不同的顏色塊代表圖片的不同區(qū)域,這些顏色塊可以作為候選區(qū)域,R-CNN認(rèn)為這些區(qū)域可能含有我們的目標(biāo)對(duì)象,直接檢測(cè)這些候選區(qū)域比檢測(cè)所有的滑動(dòng)窗體要快。
實(shí)際上R-CNN比YOLO要慢一些,但是R-CNN的思想值得借鑒。R-CNN自發(fā)表出來,已經(jīng)有速度更快的版本。
R-CNN:最初的R-CNN算法,一次只對(duì)一個(gè)候選區(qū)域進(jìn)行分類,輸出的是label和bounding box(是否有對(duì)象和對(duì)象的位置)。
Fast R-CNN:使用滑動(dòng)窗體的卷積實(shí)現(xiàn)來對(duì)所有的候選區(qū)域進(jìn)行分類。
Faster R-CNN:使用卷積網(wǎng)絡(luò)來獲取候選區(qū)域。
版權(quán)聲明:本文轉(zhuǎn)自CSDN(叫什么就是什么),遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/qq_24548569/article/details/81177007
- 計(jì)算機(jī)視覺是什么 計(jì)算機(jī)視覺歷史及發(fā)展趨勢(shì) 2次下載
- 模式識(shí)別和計(jì)算機(jī)視覺手冊(cè) 3次下載
- 基于計(jì)算機(jī)視覺的客機(jī)艙門識(shí)別與定位方法 42次下載
- 詳談機(jī)器視覺與計(jì)算機(jī)視覺的異同 8次下載
- 基于計(jì)算機(jī)視覺的共享單車違規(guī)停放檢測(cè) 14次下載
- 機(jī)器視覺與計(jì)算機(jī)視覺的區(qū)別的講解 7次下載
- 雙目立體計(jì)算機(jī)視覺的立體匹配研究綜述 3次下載
- 機(jī)器視覺與計(jì)算機(jī)視覺的概念到底有什么區(qū)別 6次下載
- 機(jī)器學(xué)習(xí)和計(jì)算機(jī)視覺的前20個(gè)圖像數(shù)據(jù)集
- 基于計(jì)算機(jī)視覺的行車安全車距檢測(cè)方法 0次下載
- Lecture 2.2計(jì)算機(jī)視覺的多視幾何 13次下載
- 基于計(jì)算機(jī)視覺技術(shù)的人臉檢測(cè)系統(tǒng)設(shè)計(jì) 43次下載
- 計(jì)算機(jī)視覺講義 0次下載
- 基于OpenCV的計(jì)算機(jī)視覺技術(shù)實(shí)現(xiàn) 0次下載
- 計(jì)算機(jī)視覺及其在焊接中的應(yīng)用
- 計(jì)算機(jī)視覺的五大技術(shù) 1480次閱讀
- 計(jì)算機(jī)視覺的工作原理和應(yīng)用 2193次閱讀
- 深度學(xué)習(xí)在計(jì)算機(jī)視覺領(lǐng)域的應(yīng)用 888次閱讀
- 機(jī)器視覺與計(jì)算機(jī)視覺的區(qū)別 1387次閱讀
- 計(jì)算機(jī)視覺的主要研究方向 1045次閱讀
- 計(jì)算機(jī)視覺與圖像處理、模式識(shí)別、機(jī)器學(xué)習(xí)學(xué)科之間的關(guān)系 644次閱讀
- 什么是計(jì)算機(jī)視覺?計(jì)算機(jī)視覺的三種方法 4696次閱讀
- 計(jì)算機(jī)視覺的概念和主要任務(wù) 1455次閱讀
- 計(jì)算機(jī)視覺相關(guān)概念總結(jié) 793次閱讀
- 計(jì)算機(jī)視覺教學(xué)的內(nèi)容有哪些? 3686次閱讀
- 如何實(shí)現(xiàn)計(jì)算機(jī)視覺的目標(biāo)檢測(cè)10行Python代碼幫你實(shí)現(xiàn) 3070次閱讀
- 基于Vivado HLS的計(jì)算機(jī)視覺開發(fā) 1496次閱讀
- 計(jì)算機(jī)視覺零基礎(chǔ)入門 9299次閱讀
- 深度學(xué)習(xí)是否會(huì)取代傳統(tǒng)的計(jì)算機(jī)視覺? 6240次閱讀
- VizWiz數(shù)據(jù)集:用計(jì)算機(jī)視覺回答盲人的問題 7328次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1491次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 95次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識(shí)別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關(guān)電源原理及各功能電路詳解
- 0.38 MB | 11次下載 | 免費(fèi)
- 6100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 7基于單片機(jī)和 SG3525的程控開關(guān)電源設(shè)計(jì)
- 0.23 MB | 4次下載 | 免費(fèi)
- 8基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537793次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評(píng)論
查看更多