本發(fā)明屬于視頻監(jiān)控技術(shù)領(lǐng)域,涉及一種基于r-cnn的車窗年檢標檢測方法。
背景技術(shù):
當前,道路監(jiān)控攝像頭的安裝已經(jīng)十分普遍,如何利用好監(jiān)控攝像頭產(chǎn)生的大量車輛數(shù)據(jù)成為了一個問題。車輛檢測、車牌識別等已經(jīng)不能滿足需求,需要更深度的車輛數(shù)據(jù)應用,比如套牌車檢測、車輛軌跡分析、犯罪偵查、車輛是否按時年檢等。
相對于車窗內(nèi)的人、擺件、掛件等,年檢標是一個更大概率上短時間內(nèi)不變的特征物體。而檢測并定位到年檢標的位置,為進一步分析車輛是夠按時年檢等應用打下基礎(chǔ)。
目前已有的技術(shù)中:
《一種基于深度學習的車輛特征物檢測方法-201610052980.9》提出的結(jié)合selectivesearch(selectivesearchforobjectrecognition)與edgebox(edgeboxes:locatingobjectproposalsfromedges)建議框提取方法,對于提取年檢標建議框效果不好,特別是多個年檢標黏連的情況,而且速度較慢。
《一種車輛物件檢測方法及裝置-201610073077.0》直接在監(jiān)控圖像上做年檢標檢測,而不是在車窗上做,對于年檢標檢測問題,這個方法中大量的計算量其實是不必要的,而且提取特征圖像的googlenet模型,計算量也過大了,因此限制了輸入圖片大小不能過大(400*800),圖片需要縮圖,在車窗占整個圖像比例較小的情況的,檢測年檢標這種小物體性能會急劇下降。
技術(shù)實現(xiàn)要素:
本發(fā)明針對現(xiàn)有技術(shù)的不足,提供了一種基于r-cnn的車窗年檢標檢測方法。
本發(fā)明使用r-cnn(region-basedconvolutionalneuralnetwork)進行車窗內(nèi)的年檢標的檢測。本發(fā)明先使用超像素算法提取建議區(qū)域,再使用級聯(lián)思想設(shè)計cnn分類網(wǎng)絡(luò),使用cnn回歸提升年檢標檢測位置準確性,最后使用年檢標的先驗信息提升年檢標檢測的性能。
本發(fā)明方法具體步驟如下:
步驟1、輸入圖像、車窗位置、車的類型。
步驟2、使用超像素算法做超像素分割,并修改超像素算法的距離公式,使超像素分割的效果更好,減少計算的迭代次數(shù);具體為:
步驟2.1、對超像素算法做了gpu速度優(yōu)化。因為gpu的計算優(yōu)勢,顏色距離標準化系數(shù)從一個固定的值改為根據(jù)當前像素點群變化的值,即公式
替換為
d表示兩個像素點之間的距離,dc表示兩個像素點之間的顏色距離,ds表示兩個像素點之間空間距離,m和nc表示顏色距離的標準化系數(shù),ns表示空間距離的標準化系數(shù)。
步驟2.2、超像素算法的超像素塊數(shù)量參數(shù):因為不同車型的車窗大小是不同的,而年檢標的大小是固定的,所以不同車型的使用不同的超像素塊數(shù)量參數(shù)可以得到更好的效果,根據(jù)標注數(shù)據(jù),統(tǒng)計得到超像素塊數(shù)量參數(shù)。
步驟3、通過超像素塊計算建議框:
步驟3.1、計算超像素塊的中心點(xc,yc)作為矩形框的中心點。矩形框的寬高根據(jù)公式計算,如下:
w表示矩形框的寬,h表示矩形框的高,u表示超像素塊內(nèi)點的集合,xi、yi分別表示超像素塊內(nèi)點的水平方向和豎直方向坐標。即矩形框的寬等于超像素塊的左邊界和右邊界與中心點水平方向距離最小值的兩倍。
步驟3.2、當年檢標黏連,超像素分割可能失敗,因此將矩形框高寬比過大的矩形框分裂成上下兩個矩形框;
步驟4、將建議框輸入已經(jīng)離線訓練好的cnn1分類模型做分類,cnn1分類模型是一個輕量級的網(wǎng)絡(luò),作用是快速去除非年檢標的建議框。
步驟5、將cnn1分類判定為正樣本的矩形框輸入cnn1回歸模型,回歸年檢標的左上角坐標和右下角坐標。
步驟6、將cnn1回歸模型的結(jié)果輸入cnn2模型,做分類和回歸。
步驟7、將cnn2的得到的檢測框合并。
步驟8、根據(jù)統(tǒng)計年檢標標注結(jié)果,得到年檢標在車窗內(nèi)相對位置的先驗概率。結(jié)合年檢標位置的先驗概率和cnn2分類得到分數(shù),計算檢測框所在位置是否有年檢標的后驗概率;根據(jù)后驗概率,得到最后檢測結(jié)果。
步驟9、輸出檢測結(jié)果。
本發(fā)明的有益效果:
(1)使用車窗位置信息,減少計算量。
(2)使用超像素分割算法,對算法做了gpu優(yōu)化和算法優(yōu)化,并且使用了車型信息指導超像素分割算法得到更好的結(jié)果,只需要兩次迭代就可以得到較好的結(jié)果(一般超像素分割算法需要迭代五次)。
(3)cnn1分類是一個輕量級的分類網(wǎng)絡(luò),采用了級聯(lián)思想,提升整個方法的速度。
(4)做了兩次cnn回歸,得到的年檢標的位置更準確。
(5)使用年檢標在車窗內(nèi)相對位置的先驗概率,進一步提升年檢標檢測的性能。
附圖說明
圖1為本發(fā)明方法流程圖。
圖2為cnn1分類的網(wǎng)絡(luò)結(jié)構(gòu)圖。
圖3為cnn1回歸的網(wǎng)絡(luò)結(jié)構(gòu)圖。
圖4為cnn2網(wǎng)絡(luò)結(jié)構(gòu)圖。
具體實施方式
以下結(jié)合實施例和附圖1對本發(fā)明作進一步說明:
本實施例包括下步驟:
步驟一、數(shù)據(jù)收集
1.1收集若干包含車前臉車窗的圖片樣本。
1.2使用車輛檢測算法檢測車輛,使用車輛特征點回歸算法回歸得到車窗位置,使用車型分類算法得到車輛類型。
1.3標注車窗內(nèi)年檢標的外接包圍矩形框。
步驟二、離線訓練
2.1、使用超像素算法做超像素分割,參考《slicsuperpixelscomparedtostate-of-the-artsuperpixelmethods》,并修改了超像素算法的距離公式。
2.1.1、對超像素算法做了gpu速度優(yōu)化。因為gpu的計算優(yōu)勢,顏色距離標準化系數(shù)從一個固定的值改為根據(jù)當前像素點群變化的值,即公式
替換為
d表示兩個像素點之間的距離,dc表示兩個像素點之間的顏色距離,ds表示兩個像素點之間空間距離,m和nc表示顏色距離的標準化系數(shù),ns表示空間距離的標準化系數(shù)。
2.1.2、超像素算法的超像素塊數(shù)量參數(shù):因為不同車型的車窗大小是不同的,而年檢標的大小是固定的,所以不同車型的使用不同的超像素塊數(shù)量參數(shù)可以得到更好的效果。使用車型分類算法得到車輛的車型,對單個車窗根據(jù)車型運行多次超像素算法,每次運行的超像素塊數(shù)量參數(shù)是不同的,具體見下表。例如車型分類結(jié)果是轎車,運行超像素算法參數(shù)三次,三次的參數(shù)分別是178、250、350。面包車運行兩次,參數(shù)分別是250、350。
2.1.3、其他超像素算法參數(shù):顏色空間cielab,迭代次數(shù)2。因為對算法距離公式做了改進,可以使用更少的迭代次數(shù),就可以得到足夠好的結(jié)果。
2.2、通過超像素塊計算建議框
2.2.1、計算超像素塊的中心點(xc,yc)作為矩形框的中心點。矩形框的寬高根據(jù)公式計算,如下:
w表示矩形框的寬,h表示矩形框的高,u表示超像素塊內(nèi)點的集合,xi、yi分別表示超像素塊內(nèi)點的水平方向和豎直方向坐標。即矩形框的寬等于超像素塊的左邊界和右邊界與中心點水平方向距離最小值的兩倍。
2.2.2、將矩形框高寬比大于1.05的矩形框分裂成上下兩個矩形框,避免部分因為年檢標黏連超像素分割失敗的情況。
2.3、訓練cnn1分類模型。使用建議框和年檢標標注,生成cnn1分類的訓練樣本,正負樣本比例1:3。cnn1分類模型是一個輕量級的網(wǎng)絡(luò),它的作用是快速剔除大量非年檢標的建議框。cnn1分類的網(wǎng)絡(luò)結(jié)構(gòu)見圖2。conv_blok包含了一個3x3的卷積,激活層relu,標準化層bn。conv_blok1輸出維度為16x16x16,其他卷積塊輸出大小見網(wǎng)絡(luò)結(jié)構(gòu)圖。fc1是一個全連接層。prob是softmax層。
2.4、訓練cnn1回歸模型,回歸年檢標的左上和右下兩個點的位置。使用建議框和年檢標標注,生成cnn1回歸的訓練樣本。cnn1回歸的網(wǎng)絡(luò)結(jié)構(gòu)見圖3。記號與圖2相似。fc2是一個全連接層,輸出大小1x1x4。
2.5、訓練cnn2分類和回歸模型:
2.5.1、cnn2模型是一個多任務模型,多任務間共享conv4前的計算結(jié)果,網(wǎng)絡(luò)結(jié)構(gòu)見圖4。
2.5.2、使用建議框、cnn1分類模型、cnn1回歸模型的結(jié)果和年檢標標注生成訓練樣本,訓練cnn2模型。
2.5.3、使用已經(jīng)訓練好的cnn2模型做難例挖掘,微調(diào)cnn2模型。
步驟三、在線檢測
3.1、輸入圖像,車窗位置,車的類型。
3.2、超像素分割,步驟與訓練步驟2.1相同。
3.3、通過超像素塊計算建議框,步驟與訓練步驟2.2相同。
3.4、將建議框輸入cnn1分類模型做分類。
3.5、將cnn1分類判定為正樣本的矩形框輸入cnn1回歸模型。
3.6、將cnn1回歸模型的結(jié)果輸入cnn2模型,做分類和回歸。
3.7、將cnn2的得到的檢測框合并,合并策略使用非極大值抑制。
3.8、根據(jù)統(tǒng)計年檢標標注結(jié)果,得到年檢標在車窗內(nèi)相對位置的先驗概率。結(jié)合年檢標位置的先驗概率和cnn2分類得到分數(shù),計算檢測框所在位置是否有年檢標的后驗概率。根據(jù)后驗概率,得到最后檢測結(jié)果。
3.9、輸出檢測結(jié)果。
綜上,本發(fā)明為了克服建議框提取速度慢,效果不好的情況,使用的超像素分割算法對車窗進行分割,對超像素分割算法針對年檢標檢測做了改進,修改了距離公式,只需要兩次迭代就可以得到較好的結(jié)果(一般超像素分割算法需要迭代五次),并且使用車型分類結(jié)果,指導超像素分割算法得到更好的結(jié)果。本實施例得到建議框耗時8ms,要求交并比大于0.4時建議框檢測率達到99.67%,要求交并比大于0.6時建議框檢測率達到92.44%。
為了克服檢測速度問題,本發(fā)明使用車輛檢測和車輛特征點定位結(jié)果,在圖像中的車窗上做年檢標檢測。除了使用快速的建議框提取技術(shù),在后續(xù)的cnn模型設(shè)計中采用級聯(lián)思想。整個耗時在nvidia750顯卡上只需14ms,在更好的顯卡上,速度更快。
以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍,應帶理解,本發(fā)明并不限于這里所描述的實現(xiàn)方案,這些實現(xiàn)方案描述的目的在于幫助本領(lǐng)域中的技術(shù)人員實踐本發(fā)明。