国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于智能相機(jī)的行人檢測技術(shù)研究

2021-07-19 21:11:42方杰
電腦知識與技術(shù) 2021年15期

方杰

摘要:該文通過智能相機(jī)采集的圖片,形成訓(xùn)練數(shù)據(jù),并基于現(xiàn)有的行人檢測算法,整理了行人檢測的流程,提出并通過實(shí)驗(yàn)研究了訓(xùn)練模型以及更新策略,同時(shí)探討了生成檢測結(jié)果后的處理策略以及行人檢測模型驗(yàn)證結(jié)果。

關(guān)鍵詞:行人檢測;模型訓(xùn)練;更新策略;YOLOv4-Tiny

中圖分類號:G642? ? ? ? 文獻(xiàn)標(biāo)識碼:A

文章編號:1009-3044(2021)15-0184-03

隨著智慧城市及智能化產(chǎn)業(yè)的不斷發(fā)展,視頻監(jiān)控以其直觀、準(zhǔn)確、及時(shí)和信息內(nèi)容豐富而廣泛應(yīng)用于許多場合,尤其在安防領(lǐng)域中的重要性日益突出,成為技術(shù)安全防范最有力的手段。如今安防監(jiān)控對高清化、智能化、網(wǎng)絡(luò)化、數(shù)字化的要求也越來越高,數(shù)據(jù)呈現(xiàn)出爆發(fā)性的增長,同時(shí),這些海量的視頻數(shù)據(jù)為相關(guān)執(zhí)法部門提供了足夠的調(diào)查取證依據(jù)。文獻(xiàn)[1]提出了不同視角下的行人重識別解決方法;文獻(xiàn)[2]提出了光線照明環(huán)境下的行人重識別解決方法;文獻(xiàn)[3]提出了基于度量學(xué)習(xí)的行人檢測方法;文獻(xiàn)[4]討論人體結(jié)構(gòu)特征的構(gòu)建在行人檢測上的研究;文獻(xiàn)[5]把行人重識別問題看作分類問題或者驗(yàn)證問題。

本文基于目前國內(nèi)外行人重識別的進(jìn)展情況,使用通過智能相機(jī)采集的訓(xùn)練數(shù)據(jù),在現(xiàn)有的訓(xùn)練模型基礎(chǔ)上,調(diào)整算法和參數(shù),構(gòu)建更好的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),以達(dá)到更快速更準(zhǔn)確的效果。本文主要包含以下四部分內(nèi)容: 行人檢測的整體流程,行人檢測算法解析,行人檢測模型驗(yàn)證結(jié)果詳解以及總結(jié)和挑戰(zhàn)。

1 行人檢測的整體流程

行人檢測的流程大致過程如下:首先,對原始圖片進(jìn)行分辨率調(diào)整,使其調(diào)整為網(wǎng)絡(luò)輸入大小;其次,將圖片輸入網(wǎng)絡(luò)模型,通過訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測;再次,根據(jù)預(yù)測結(jié)果計(jì)算出行人坐標(biāo),使用NMS算法去掉重疊框;最后,返回檢測結(jié)果。

1.1 原始圖片獲取

原始圖片直接通過智能相機(jī)采集獲得,具體而言,可以通過兩種方式獲取。一種方式是智能相機(jī)的視頻流,在視頻流中截取出圖片;另一種方式是智能相機(jī)直接采集圖片。以上兩種方式都能夠獲取訓(xùn)練樣本和測試樣本。

1.2 網(wǎng)絡(luò)預(yù)測

通過上述方式得到圖片數(shù)據(jù)后,然后進(jìn)行圖像預(yù)處理操作,包括以下幾個(gè)步驟:

步驟1:在訓(xùn)練或者檢測中,將所有原始圖片調(diào)整至固定尺寸,實(shí)驗(yàn)中所使用的尺寸寬度為448px,高度為256px ,該尺寸是網(wǎng)絡(luò)結(jié)構(gòu)預(yù)設(shè)的輸入Feature Map尺寸;

步驟2:去均值,歸一化: 將圖像三通道的值減去均值0,0,0;然后做標(biāo)準(zhǔn)歸一化操作,將圖像值除以255;

步驟3:再將預(yù)處理圖片導(dǎo)入網(wǎng)絡(luò)中, 進(jìn)行前向傳播, 對網(wǎng)絡(luò)結(jié)果的輸出進(jìn)行信息處理, 最后通過輸出層返回該圖像中一系列框的坐標(biāo)和置信度,目標(biāo)類別。同時(shí),每個(gè)坐標(biāo)包括預(yù)測框的中心點(diǎn)坐標(biāo)和預(yù)測框的寬和高。根據(jù)設(shè)定的框置信度過濾一系列的框,過濾后剩余的預(yù)測框作為輸出。由于只有一個(gè)類別,檢測類別為行人即可。

1.3 NMS算法去掉重疊框

由于上述方式得到的剩余框中有比較多的重疊, 需要在這個(gè)階段處理掉這些重疊框。這些框有較高的置信度,我們最終只需要一個(gè)框作為檢測框即可,所以需要使用NMS算法過濾掉多余的框。

1.4 檢測結(jié)果轉(zhuǎn)存

將網(wǎng)絡(luò)輸出結(jié)果進(jìn)行乘以輸入圖片的寬度和高度,并進(jìn)行轉(zhuǎn)存,返回這張圖片中行人對應(yīng)的坐標(biāo),框置信度和類別概率。

2 行人檢測算法解析

行人檢測算法主要包括以下幾個(gè)方面:網(wǎng)絡(luò)結(jié)構(gòu)解析、模型訓(xùn)練以及更新策略和閾值設(shè)置以及檢測結(jié)果后處理。

2.1網(wǎng)絡(luò)結(jié)構(gòu)解析

實(shí)驗(yàn)所使用的模型采用YOLOv4-Tiny算法改造,使用了3個(gè)Resnet Block, 每個(gè)Resnet Block包含多層Convolution Layer,并進(jìn)行組合, 每個(gè)Resnet block的基礎(chǔ)通道數(shù)隨著尺寸變小而增大。同時(shí), 網(wǎng)絡(luò)輸入的Feature Map大小為448px*256px。

網(wǎng)絡(luò)結(jié)構(gòu)整體架構(gòu)圖如表1所示:

2.1.1 先驗(yàn)框部分Anchor

原始Yolov3算法使用了9個(gè)Anchor,輸出層為三個(gè)。隨著輸出的特征圖的數(shù)量和尺度的變化,先驗(yàn)框的尺寸也需要相應(yīng)的調(diào)整。Yolov3采用了Yolov2的k-means聚類算法得到先驗(yàn)框的尺寸,為每種采樣尺寸設(shè)定了先驗(yàn)框,在微軟發(fā)布的COCO數(shù)據(jù)集上9個(gè)先驗(yàn)框是:(10x13),(16x30),(33x23),(30x61),(62x45),(59x119),(116x90),(156x198),(373x326)。分配環(huán)節(jié)上,在最小的13*13特征圖上使用較大的先驗(yàn)框(116x90),(156x198),(373x326),適合檢測較大的對象,因?yàn)樵撎卣鲌D上每個(gè)像素點(diǎn)對應(yīng)原圖感受也最大。中等的26*26特征圖上應(yīng)用中等的先驗(yàn)框(30x61),(62x45),(59x119),適合檢測中等大小的對象。而較大的52*52特征圖上應(yīng)用較小的先驗(yàn)框(10x13),(16x30),(33x23),適合檢測較小的對象。

2.1.2 輸入到輸出結(jié)構(gòu)

輸入到輸出的總體結(jié)構(gòu)如圖1所示:

對于一個(gè)輸入圖像,Yolov3算法將其映射到3個(gè)尺度的輸出張量,代表圖像各個(gè)位置存在各種對象的概率和相應(yīng)指標(biāo)。上圖中,如果使用416*416的輸入圖像,在每個(gè)尺度的特征圖每個(gè)網(wǎng)格設(shè)置3個(gè)先驗(yàn)框,則計(jì)算后總共有10647個(gè)預(yù)測。每一個(gè)預(yù)測是一個(gè)(4+1+80)=85維向量,這個(gè)85維向量包含邊框坐標(biāo)(4個(gè)數(shù)值),邊框置信度(1個(gè)數(shù)值),對象類別的概率(對于COCO數(shù)據(jù)集,共有80種類別)。

2.2 模型訓(xùn)練以及更新策略

模型訓(xùn)練以及更新策略主要是進(jìn)行模型訓(xùn)練的損失函數(shù)和相關(guān)的優(yōu)化策略.首先分析預(yù)測邊界框和檢測框Anchor Boxes,及網(wǎng)絡(luò)預(yù)測值tx,ty,tw,th之間的關(guān)系。Yolov3借鑒RPN網(wǎng)絡(luò)使用Anchor Boxes來預(yù)測邊界框的offsets。邊界框的實(shí)際中心位置(x,y)需要利用預(yù)測的坐標(biāo)偏移值,先驗(yàn)框的尺度(wa,ha)以及中心坐標(biāo)(xa,ya)來計(jì)算,這里的xa和ya也即是特征圖每個(gè)位置的中心點(diǎn)。上述公式為Faster-RCNN算法中預(yù)測邊界框的方式。這個(gè)方式是沒有約束的,也就是tx和ty的大小可以為任意值,導(dǎo)致預(yù)測的邊界框容易向任何方向偏移。當(dāng)tx >1時(shí)邊界框向右偏移超過一個(gè)寬度大小,導(dǎo)致每個(gè)位置預(yù)測的邊界框可以落在圖片的任意位置,這就導(dǎo)致了模型訓(xùn)練的不穩(wěn)定,在訓(xùn)練的時(shí)候要花很長時(shí)間才可以得到正確的offsets,但是有一個(gè)優(yōu)點(diǎn)就是當(dāng)這個(gè)像素附近出現(xiàn)密集目標(biāo)時(shí),本位置的Anchor被匹配完以后,其他位置的Anchor可以來匹配,可能一定程度上增加了目標(biāo)框的召回率,充分利用了周邊位置的Anchor,也是這個(gè)特性導(dǎo)致了訓(xùn)練的不穩(wěn)定。在Yolov3中放棄了這種預(yù)測方式,二是沿用Yolov2的方法,就是預(yù)測邊界框中心點(diǎn)相對于對應(yīng)cell左上角的相對偏移值,為了將邊界框中心點(diǎn)約束在當(dāng)前cell中,使用sigmod函數(shù)處理偏移值,這樣預(yù)測的偏移值在(0,1)范圍內(nèi)(這里每個(gè)cell的尺度看作為一,cell對應(yīng)的就是輸出Feature Map上的一個(gè)像素點(diǎn))。后來Yolov4中發(fā)現(xiàn),如果目標(biāo)框剛好落在cell邊緣上,就會出現(xiàn)預(yù)測的偏移值向0或者1偏移,導(dǎo)致sigmod輸入值x無窮小或者無窮大,導(dǎo)致網(wǎng)絡(luò)訓(xùn)練不穩(wěn)定,所以在yolov4中采用了預(yù)處理預(yù)測值,也就是讓預(yù)測值在(0.05,0.95)范圍內(nèi)。

綜上,根據(jù)邊界框預(yù)測的4個(gè)偏移量tx,ty,tw,th,可以使用如下圖中公式來計(jì)算邊界框?qū)嶋H中心位置和長寬,如圖2所示。

其中,(cx,cy)為cell的左上角坐標(biāo)。如上圖所示,當(dāng)前的cell坐標(biāo)為(1,1)。由于邏輯回歸函數(shù)的處理,邊界框的中心會被約束在當(dāng)前cell的內(nèi)部,防止偏移出cell,pw和ph表示先驗(yàn)框的寬度和高度,它們的值也是相對于特征圖的大小。由以上值就可以計(jì)算出邊界框相對于整個(gè)特征圖的位置和大小,公式如圖中所示。我們?nèi)绻麑⑸厦孢吔缈虻?個(gè)值乘以輸入圖像長寬,就可以得到邊界框在原圖中的位置和大小,從而獲得的目標(biāo)檢測框。

通過設(shè)定iou閾值將檢測結(jié)果進(jìn)行NMS(非極大值抑制處理),我們的目的是要去除冗余的檢測框,保留最好的一個(gè)。其詳細(xì)原理如下:對于bounding box 的列表B及其對應(yīng)的置信度S,選擇具有最大置信度的檢測框M,將其從B集合中移除并加入最終的檢測結(jié)果D中。通常將B中剩余檢測框中與M的iou大于閾值Nt的框從B中移除,重復(fù)這個(gè)過程,直到B為空。其中常用的閾值為0.3-0.5.最后得到最好的一個(gè)框坐標(biāo)。將坐標(biāo)進(jìn)行處理,分別乘以輸入圖片的寬和高,獲得相對于輸入圖像的坐標(biāo)。

2.3 檢測結(jié)果后處理策略

檢測結(jié)果后處理是對網(wǎng)絡(luò)檢測好的結(jié)果進(jìn)行處理,處理的目的是盡可能地減少誤檢或者漏檢目標(biāo)。常常采用以下幾種方式進(jìn)行處理:

1)增大預(yù)測框過濾的閾值,常常采用0.5的閾值過濾前景和背景框,為了減少誤檢目標(biāo)的情況,可以采用增大這個(gè)閾值的方式。

2)感興趣區(qū)域繪制,測試圖片中發(fā)現(xiàn),誤檢或者漏檢情況的出現(xiàn),常常是圖片中邊緣的目標(biāo),我們繪制感興趣區(qū)域一定程度上避免這種情況的出現(xiàn)。感興趣區(qū)域的繪制如下圖所示,圖中藍(lán)色框?yàn)楦信d趣區(qū)域,紅色框表示檢測目標(biāo)框。

3 行人檢測模型驗(yàn)證結(jié)果詳解

3.1不同訓(xùn)練次數(shù)測試指標(biāo)變化曲線

測試不同迭代次數(shù)生成的訓(xùn)練模型的不同指標(biāo),從而獲得各個(gè)模型對應(yīng)的測量值。其中測量值有precision,recall,ap和平均iou值四個(gè)值。迭代次數(shù)10w次為一個(gè)單位。以下圖片是在訓(xùn)練集上各個(gè)模型的各個(gè)指標(biāo)變換曲線圖。圖3為精度,召回率和ap值在各個(gè)迭代次數(shù)下生成模型測試值。由于訓(xùn)練集有15.5w張,測試數(shù)據(jù)過大導(dǎo)致測試時(shí)間比較長,所以選擇了杭州和東莞二個(gè)場景下的圖片作為訓(xùn)練集來測試,這些圖片也在訓(xùn)練集中。從下圖可以看出,模型訓(xùn)練次數(shù)在30w次以前在震蕩,40w次處生成的模型精度有提升,后續(xù)進(jìn)入震蕩變化。圖4表示測試框平均iou值變換情況,結(jié)合圖一可以看出,在40w—80w次迭代過程中,訓(xùn)練的模型主要的在調(diào)整框的坐標(biāo)和尺寸大小。

接下來是在驗(yàn)證集上進(jìn)行測試,測試方式和在訓(xùn)練集上測試相同,測試集中圖片數(shù)量為1500張,測試效果如圖5和圖6所示。從圖5和圖6中可以看出,模型在60w次出達(dá)到最優(yōu),不管是測試指標(biāo)值,還是測試框的平均IOU值。

從上述在訓(xùn)練集和測試集中測試的曲線可以看到,訓(xùn)練過程完全存在過擬合的跡象,具體有以下幾點(diǎn): 1.結(jié)合圖4到圖7來看,模型的參數(shù)量級是能夠擬合訓(xùn)練集,而且造成了過擬合,因?yàn)閳D6中指標(biāo)出現(xiàn)了下降趨勢;從圖4訓(xùn)練集測試情況來看,batch size可以設(shè)置大一些, 大的batch size可以在訓(xùn)練過程中減少波動, 同時(shí)很多論文驗(yàn)證了適當(dāng)調(diào)大batch不僅可以加速收斂, 還可以在一定程度上提升收斂程度;迭代次數(shù)過多,從第一點(diǎn)來看出現(xiàn)了過擬合情況,模型迭代到60w次就可以停止訓(xùn)練。訓(xùn)練初期模型主要是在提升指標(biāo)值,在40w次就提升到最優(yōu),后續(xù)在60w前再調(diào)整框的尺寸和坐標(biāo)。60w次以后出現(xiàn)過擬合情況,應(yīng)該停止訓(xùn)練。在30w次到40w次迭代過程中有指標(biāo)提升原因是學(xué)習(xí)率下降了,這里是否可以提早減小學(xué)習(xí)率以降低學(xué)習(xí)過程震蕩過程,后續(xù)可以通過實(shí)驗(yàn)來驗(yàn)證。

4 總結(jié)和挑戰(zhàn)

本文提出了一種基本能實(shí)現(xiàn)多種場景下行人檢測算法,經(jīng)過一系列的優(yōu)化,效果上有提升,在保持效果的前提下,速度也得到了提升。但是行人檢測也面臨諸多挑戰(zhàn),比如對于行人這種形體多變的檢測任務(wù),需要更多適合不同行人形狀的錨框,如果錨框增多就需要使用更多的訓(xùn)練數(shù)據(jù)集來訓(xùn)練模型。二是盡管本文的方法已經(jīng)取得了一個(gè)不錯(cuò)的召回率,但是訓(xùn)練圖片中行人比較少,在行人比較密集的情況,算法可能效果不佳。那么未來,可以搜集不同場景下的圖片用來增加訓(xùn)練集更新模型,增加Anchor數(shù)量以更好減少檢測框坐標(biāo)回歸的難度,提升檢測框坐標(biāo)回歸的準(zhǔn)確性和密集目標(biāo)的召回率。

參考文獻(xiàn):

[1] 周刊,胡士強(qiáng),吳桐.基于深度度量學(xué)習(xí)的行人重識別方法[J].傳感器與微系統(tǒng),2020,39(5):61-64.

[2] 梁曉琴.基于深度學(xué)習(xí)的行人重識別探究[J].中國科技信息,2020(18):70-71.

[3] 鄧軒,廖開陽,鄭元林,等.基于深度多視圖特征距離學(xué)習(xí)的行人重識別[J].計(jì)算機(jī)應(yīng)用,2019,39(8):2223-2229.

[4] 朱婷婷.基于度量學(xué)習(xí)和深度學(xué)習(xí)的行人重識別研究[J].信息與電腦,2019,(15):131-132.

[5] 王蘊(yùn)綺,閆思伊,尹唯佳.基于深度學(xué)習(xí)的行人重識別經(jīng)典算法研究[J].河南農(nóng)業(yè),2018(3):49-51,64.

【通聯(lián)編輯:朱寶貴】

泗洪县| 天津市| 诏安县| 莆田市| 集贤县| 长白| 大理市| 靖安县| 泽普县| 佳木斯市| 鄂尔多斯市| 兴山县| 长沙县| 翁源县| 昌黎县| 佛学| 喀喇沁旗| 汝州市| 宁南县| 桂东县| 招远市| 宾阳县| 巴中市| 湖北省| 洞口县| 新营市| 鲁甸县| 德昌县| 抚松县| 邮箱| 黎川县| 赫章县| 扶沟县| 凤冈县| 买车| 牙克石市| 高州市| 武穴市| 西丰县| 瑞昌市| 乌拉特后旗|