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