04.卷积神经网络 W3.目标检测
文章目錄
- 1. 目標(biāo)定位
- 2. 特征點(diǎn)檢測(cè)
- 3. 目標(biāo)檢測(cè)
- 4. 滑動(dòng)窗口的卷積實(shí)現(xiàn)
- 5. Bounding Box預(yù)測(cè)(YOLO)
- 6. 交并比
- 7. 非極大值抑制
- 8. Anchor Boxes
- 9. YOLO 算法
- 10. 候選區(qū)域
- 作業(yè)
參考:
吳恩達(dá)視頻課
深度學(xué)習(xí)筆記
1. 目標(biāo)定位
定位分類問(wèn)題:
不僅要判斷圖片中是不是一輛汽車,還要標(biāo)記出它的位置,用框圈起來(lái)
2. 特征點(diǎn)檢測(cè)
Landmark 檢測(cè)
3. 目標(biāo)檢測(cè)
基于滑動(dòng)窗口的目標(biāo)檢測(cè)
- 將目標(biāo)剪切出來(lái),訓(xùn)練卷積網(wǎng)絡(luò)
- 以一定大小的窗口掃描圖片,將窗口內(nèi)的圖片輸入卷積網(wǎng)絡(luò)預(yù)測(cè)
- 更改窗口大小,重復(fù)上面步驟
滑動(dòng)窗口目標(biāo)檢測(cè)算法缺點(diǎn):
- 計(jì)算成本,剪切出太多塊,卷積網(wǎng)絡(luò)要一個(gè)個(gè)地處理
- 用的步幅很大,窗口個(gè)數(shù)少,可能會(huì)影響性能
- 用小粒度或小步幅,窗口會(huì)特別多,這意味著超高的計(jì)算成本
4. 滑動(dòng)窗口的卷積實(shí)現(xiàn)
對(duì)整張圖片進(jìn)行卷積操作,一次得到所有預(yù)測(cè)值,如果足夠幸運(yùn),神經(jīng)網(wǎng)絡(luò)便可以識(shí)別出目標(biāo)的位置
在卷積層上應(yīng)用滑動(dòng)窗口算法,提高了整個(gè)算法的效率
不過(guò)這種算法仍然存在一個(gè)缺點(diǎn),就是邊界框的位置可能不夠準(zhǔn)確
5. Bounding Box預(yù)測(cè)(YOLO)
滑動(dòng)窗口法中,離散的邊界框可能沒(méi)有一個(gè)能完美匹配汽車位置
一個(gè)能得到更精準(zhǔn)邊界框的算法是YOLO算法,YOLO(You only look once)意思是你只看一次,這是由Joseph Redmon,Santosh Divvala,Ross Girshick和Ali Farhadi提出的算法
YOLO算法有一個(gè)好處,它是一個(gè)卷積實(shí)現(xiàn),運(yùn)行速度非常快,可以達(dá)到實(shí)時(shí)識(shí)別
邊界框定義還有其他更有效的方法,可能效果要更好一點(diǎn)
6. 交并比
7. 非極大值抑制
算法可能對(duì)同一個(gè)對(duì)象做出多次檢測(cè)。非極大值抑制確保算法對(duì)每個(gè)對(duì)象只檢測(cè)一次。
非極大值抑制,非最大值意味著你只輸出概率最大的分類結(jié)果,抑制很接近,但不是最大的其他預(yù)測(cè)結(jié)果
如果你嘗試同時(shí)檢測(cè)三個(gè)對(duì)象,比如說(shuō)行人、汽車、摩托,那么輸出向量就會(huì)有三個(gè)額外的分量。
事實(shí)證明,正確的做法是獨(dú)立進(jìn)行三次非極大值抑制,對(duì)每個(gè)輸出類別都做一次
8. Anchor Boxes
你想讓一個(gè)格子檢測(cè)出多個(gè)對(duì)象,就是使用 anchor box 這個(gè)概念
算法處理不好的情況:
- 如果你有兩個(gè)anchor box,但同一格子有三個(gè)對(duì)象
- 兩個(gè)對(duì)象都分配到一個(gè)格子中,且它們的anchor box形狀也一樣
出現(xiàn)的概率比較小,對(duì)性能的影響應(yīng)該不會(huì)很大
怎么選擇 anchor box呢?
- 一般手工指定anchor box形狀,選擇5到10個(gè)anchor box形狀,覆蓋多種不同的形狀
- k - 平均算法,可以將兩類對(duì)象形狀聚類,選擇最具有代表性的一組 anchor box,這是自動(dòng)選擇anchor box的高級(jí)方法
9. YOLO 算法
- 訓(xùn)練:
- 預(yù)測(cè):
- 非極大值抑制:
如果使用兩個(gè)anchor box,那么9個(gè)格子中任何一個(gè)都會(huì)有兩個(gè)預(yù)測(cè)的邊界框,其中一個(gè)的概率很低。
接下來(lái)你拋棄概率很低的預(yù)測(cè)。
如果你希望檢測(cè)(3種目標(biāo))行人,汽車和摩托車,那么你要做的是,對(duì)于每個(gè)類別單獨(dú)運(yùn)行非極大值抑制,運(yùn)行三次來(lái)得到最終的預(yù)測(cè)結(jié)果。
10. 候選區(qū)域
候選區(qū)域是一個(gè)有趣的想法,但這個(gè)方法需要兩步:
- 首先得到候選區(qū)域
- 然后再分類
相比之下,類似于YOLO(You only look once)這個(gè)算法,能夠一步做完,老師覺(jué)得長(zhǎng)遠(yuǎn)而言更有希望
YOLO 網(wǎng)址:https://pjreddie.com/darknet/yolo/
作業(yè)
作業(yè):自動(dòng)駕駛 - 汽車檢測(cè)
我的CSDN博客地址 https://michael.blog.csdn.net/
長(zhǎng)按或掃碼關(guān)注我的公眾號(hào)(Michael阿明),一起加油、一起學(xué)習(xí)進(jìn)步!
總結(jié)
以上是生活随笔為你收集整理的04.卷积神经网络 W3.目标检测的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: LeetCode 1748. 唯一元素的
- 下一篇: CV模型,全目标检测等