学习笔记13--障碍物检测之基于图像障碍物检测
本系列博客包括6個專欄,分別為:《自動駕駛技術概覽》、《自動駕駛汽車平臺技術基礎》、《自動駕駛汽車定位技術》、《自動駕駛汽車環(huán)境感知》、《自動駕駛汽車決策與控制》、《自動駕駛系統(tǒng)設計及應用》,筆者不是自動駕駛領域的專家,只是一個在探索自動駕駛路上的小白,此系列叢書尚未閱讀完,也是邊閱讀邊總結邊思考,歡迎各位小伙伴,各位大牛們在評論區(qū)給出建議,幫筆者這個小白挑出錯誤,謝謝!
此專欄是關于《自動駕駛汽車環(huán)境感知》書籍的筆記
1.障礙物檢測
1.1 環(huán)境感知與識別概述
1.2 障礙物檢測之基于圖像檢測
障礙物檢測技術包括:
基于圖像的障礙物檢測算法大致分為:一階段檢測算法和二階段檢測算法;
一階段檢測算法:YOLO和SSD;
二階段檢測算法:RCNN;
1.2.1 基于二維圖像的障礙物檢測
YOLO系列障礙物檢測
YOLO(You Only Look Once)是將物體檢測作為回歸問題求解的一種一階段檢測算法;
YOLO基于一個單獨的端到端網絡,完成從原始圖像的輸入到物體位置和類別的輸出;
YOLO與RCNN、Fast RCNN、Faster RCNN區(qū)別:
YOLO系列障礙物檢測核心思想:
網絡定義
輸出表達(representation)定義
若標注框包含物體,則P(object)=1P(object)=1P(object)=1,否則P(object)=0P(object)=0P(object)=0;
損失(loss)函數(shù)定義
YOLO使用均方和誤差作為loss函數(shù)來優(yōu)化模型參數(shù),即網絡輸出的S×S×(B×5+C)維向量與真實圖像的對應S×S×(B×5+C)維向量的均方和誤差;
loss=∑i=0s2coordError+iouError+classErrorloss=\sum^{s^2}_{i=0}coordError+iouError+classErrorloss=i=0∑s2?coordError+iouError+classError
其中:
coordErrorcoordErrorcoordError:預測數(shù)據(jù)與標定數(shù)據(jù)之間的坐標誤差;
iouErroriouErroriouError:IOU誤差;
classErrorclassErrorclassError:分類誤差;
YOLO對loss的計算進行了修正:
SSD障礙物檢測
SSD(Single Shot Multibox Detector)是一種單一階段檢測算法,只需要用到圖像一次,無須先產生候選框再進行分類和回歸,直接在圖像中不同位置進行邊界框的采樣,使用卷積層進行特征提取后直接進行分類和回歸;
SSD檢測的主要設計理念:
使用不同尺度下的特征圖進行檢測
SSD通過提取不同尺度下的特征圖來做檢測,SSD使用了6種不同尺寸的特征圖來進行檢測;在卷積神經網絡中,較低層級的特征圖尺寸較大,在這種特征圖上的候選框在原圖上覆蓋范圍較小;較高層級的特征圖的尺寸較小,候選框在原圖上的覆蓋范圍大;如下圖2所示。
采用卷積層做檢測
SSD直接采用卷積對不同特征圖進行特征提取;如圖1所示,對于尺寸為m×nm\times{n}m×n,維數(shù)為ppp的特征圖,SSD使用3×3×p3×3×p3×3×p的卷積核來進行卷積;輸出:一種為用于分類的置信度分數(shù);一種是用于回歸的位移量;
采用不同尺度和縱橫比的候選框
SSD在每個單元格設置不同尺度和縱橫比的默認框,對于一個尺寸為m×nm\times{n}m×n的特征圖,假定每個單元格有kkk個默認框,則該特征圖有m×n×km\times{n}\times{k}m×n×k個默認框;如圖2,每個單元格設定有4種不同尺寸的默認框,則該圖網絡有38×38×4+19×19×6+10×10×6+5×5×6+5×5×6+3×3×4+1×1×4=873238\times{38}\times{4}+19\times{19}\times{6}+10\times{10}\times{6}+5\times{5}\times{6}+5\times{5}\times{6}+3\times{3}\times{4}+1\times{1}\times{4}=873238×38×4+19×19×6+10×10×6+5×5×6+5×5×6+3×3×4+1×1×4=8732個默認框;
對于每個默認框,SSD的預測值:分類的置信度和邊界框的回歸值。
1. 分類:SSD把背景單獨作為一類,在VOC數(shù)據(jù)集上,SSD的每個默認框會輸出21類置信度,其中20類為VOC的目標種類;
2. 邊界框的回歸值:預測真實邊界框ggg相對于默認框ddd的中心(cx,cy)(cx,cy)(cx,cy)和寬(w)(w)(w)、高(h)(h)(h)的轉換量,預測值的真實值的計算方式:g^cx=(gcx?dcx)/dw,g^cy=(gcy?dcy)/dh\hat{g}^{cx}=(g^{cx}-d^{cx})/d^w,\hat{g}^{cy}=(g^{cy}-d^{cy})/d^hg^?cx=(gcx?dcx)/dw,g^?cy=(gcy?dcy)/dh g^w=log?(gwdw),g^h=log?(ghdh)\hat{g}^w=\log(\frac{g^w}{d^w}),\hat{g}^h=\log(\frac{g^h}{d^h})g^?w=log(dwgw?),g^?h=log(dhgh?)
假定數(shù)據(jù)集有ccc種目標,則每個默認框需要預測c+1c+1c+1個類別概率和444個坐標相關的轉換量;
損失函數(shù)定義
SSD的損失函數(shù)由位置誤差(localization loss,loc)和置信度誤差(confidence loss,conf)組成;令xijp={1,0}x^p_{ij}=\{1,0\}xijp?={1,0}表示第iii個默認框是否與第jjj個真實框匹配,NNN為匹配的默認框總數(shù),ccc為類別置信度預測值,ggg為真實邊界框,lll為預測框,總的損失函數(shù)為:L(x,c,l,g)=1N(Lconf(x,c)+αLloc(x,l,g))L(x,c,l,g)=\frac{1}{N}(L_{conf}(x,c)+\alpha{L_{loc}(x,l,g)})L(x,c,l,g)=N1?(Lconf?(x,c)+αLloc?(x,l,g))
位置誤差LlocL_{loc}Lloc?,采用Smooth L1 loss(平滑的L1損失):Lloc(x,l,g)=∑i∈PosN∑m∈(cx,cy,w,h)xijksmoothL1(lim?g^jm)L_{loc}(x,l,g)=\sum^N_{i\in{Pos} }\sum_{m\in{(cx,cy,w,h)}}x^k_{ij}smooth_{L1}(l^m_i-\hat{g}^m_j)Lloc?(x,l,g)=i∈Pos∑N?m∈(cx,cy,w,h)∑?xijk?smoothL1?(lim??g^?jm?)
置信度誤差LconfL_{conf}Lconf?,采用softmax loss:Lconf(x,c)=?∑i∈PosNxijplog?(c^ip)?∑i∈Neglog?(c^ip)L_{conf}(x,c)=-\sum^N_{i\in{Pos}}x^p_{ij}\log(\hat{c}^p_i)-\sum_{i\in{Neg}}\log(\hat{c}^p_i)Lconf?(x,c)=?i∈Pos∑N?xijp?log(c^ip?)?i∈Neg∑?log(c^ip?) c^ip=exp?(cip)∑pexp?(cip)\hat{c}^p_i=\frac{\exp(c^p_i)}{\sum_p\exp(c^p_i)}c^ip?=∑p?exp(cip?)exp(cip?)?
總誤差函數(shù)的權重系數(shù)α\alphaα通過交叉驗證設置。
Faster RCNN障礙物檢測
介紹:Faster RCNN由Ross B. Girshick等人在2016年提出,是一種二階段檢測算法;Faster RCNN將體征提取模塊、候選框生成模塊、邊框回歸和目標分類模塊整合到一個網絡,綜合性能大大提高。
Faster RCNN特征提取網絡使用VGG16,是一個通過反復堆疊3×3卷積和2×2最大值池化的16層網絡;輸入圖像大小是3×224×224,輸出特征是51×39×256;
Faster RCNN使用Region Proposal Networks(RPN)生成檢測框;
通過RPN得到候選框后,使用ROI pooling將每個候選框對應的特征轉換成7×7的大小;將每個候選框的特征輸入到邊框回歸和目標分類模塊,得到每個候選框的類別,類別數(shù)n+1n+1n+1,nnn是障礙物類別,1是背景;
在Faster RCNN中的兩個損失:分類損失和標注框回歸損失;
分類損失:簡單的交叉熵;
標注框回歸損失:平滑的L1損失;
smoothL1(x)={0.5x2×1/σ2∣x∣<(1/σ2)∣x∣?0.5其他smooth_{L1}(x)= \begin{cases} 0.5x^2\times{1/\sigma^2}&|x|<(1/\sigma^2) \\ |x|-0.5& 其他 \end{cases}smoothL1?(x)={0.5x2×1/σ2∣x∣?0.5?∣x∣<(1/σ2)其他?
總結
以上是生活随笔為你收集整理的学习笔记13--障碍物检测之基于图像障碍物检测的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《SQL必知必会》读书笔记上(第1~15
- 下一篇: 纽约大学计算机科学研究生录取条件,纽约大