文/姜嘉偉
當(dāng)前,智能檢測(cè)系統(tǒng)的核心作用是及時(shí)準(zhǔn)確地識(shí)別圖像或視頻中的各類信息,進(jìn)而獲取目標(biāo)的種類和位置信息。近年來(lái),隨著深度學(xué)習(xí)技術(shù)的不斷突破,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)技術(shù)在智能檢測(cè)場(chǎng)景下達(dá)到了更快的識(shí)別速度和更高的準(zhǔn)確率?;诖?,本文結(jié)合深度學(xué)習(xí),進(jìn)一步探討了智能檢測(cè)手段的理論依據(jù)。
隨著我國(guó)綜合實(shí)力的不斷提升,人們對(duì)生態(tài)文明的重視程度日益提高。作為生態(tài)文明的重要組成部分之一,數(shù)據(jù)資源在促進(jìn)經(jīng)濟(jì)發(fā)展和科學(xué)研究等方面均表現(xiàn)出顯著的應(yīng)用優(yōu)勢(shì)。而在數(shù)據(jù)信息實(shí)時(shí)監(jiān)管過(guò)程中,檢測(cè)圖像數(shù)據(jù)通常是至關(guān)重要的環(huán)節(jié)。但就當(dāng)前來(lái)看,如何快速準(zhǔn)確地識(shí)別圖像中的數(shù)據(jù)信息仍是智能監(jiān)管工作的難點(diǎn)之一。在此期間,由于數(shù)據(jù)傳輸過(guò)程具備較多不確定性因素,數(shù)據(jù)涵蓋內(nèi)容繁雜,并且涉及多個(gè)領(lǐng)域的隨機(jī)動(dòng)態(tài),智能監(jiān)管人員最終獲取的數(shù)據(jù)質(zhì)量往往會(huì)良莠不齊,進(jìn)而為基于圖像檢測(cè)的識(shí)別技術(shù)帶來(lái)更加嚴(yán)峻的考驗(yàn)。一方面,檢測(cè)數(shù)據(jù)時(shí)的環(huán)境背景相對(duì)復(fù)雜,平臺(tái)信息繁雜交錯(cuò)且大多呈多點(diǎn)分布狀態(tài),不確定性因素明顯增多,數(shù)據(jù)識(shí)別難度較大。另一方面,數(shù)據(jù)信息種類較多、特征性狀各異,部分?jǐn)?shù)據(jù)信息的行為方式較為隱蔽,活動(dòng)姿態(tài)也具有隨機(jī)性,從而導(dǎo)致圖像檢測(cè)數(shù)據(jù)出現(xiàn)目標(biāo)特征不明確、不顯著,目標(biāo)與圖像大小不一致等問(wèn)題。
近年來(lái),隨著人工智能技術(shù)的不斷突破,基于深度學(xué)習(xí)的圖像識(shí)別技術(shù)逐漸深入人們的日常生活,并被廣泛應(yīng)用于各種研究領(lǐng)域。本文在考慮模型應(yīng)用的便利性以及算法檢測(cè)的實(shí)時(shí)性的基礎(chǔ)上,利用深度學(xué)習(xí)目標(biāo)檢測(cè)算法實(shí)現(xiàn)了對(duì)圖像和視頻數(shù)據(jù)信息的快速識(shí)別。與傳統(tǒng)的、基于人工獲取目標(biāo)特征的識(shí)別技術(shù)不同的是,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)技術(shù)可以提取出目標(biāo)更加全面的特征信息,并根據(jù)特征信息,準(zhǔn)確提取圖像或視頻的類別、容量等信息。由此可見(jiàn),對(duì)基于深度學(xué)習(xí)的檢測(cè)方法進(jìn)行研究,不僅有利于提高相關(guān)機(jī)構(gòu)的工作效率和質(zhì)量,還能有效促進(jìn)科技與人類社會(huì)的和諧發(fā)展。
卷積神經(jīng)網(wǎng)絡(luò)是計(jì)算機(jī)視覺(jué)領(lǐng)域深度學(xué)習(xí)的基礎(chǔ)模型之一。常規(guī)的全連接神經(jīng)網(wǎng)絡(luò)在處理較大的圖像時(shí)會(huì)產(chǎn)生過(guò)多參數(shù),進(jìn)而導(dǎo)致網(wǎng)絡(luò)計(jì)算耗時(shí)較長(zhǎng),甚至引發(fā)過(guò)擬合等情況,其并不適用于處理圖像。而卷積神經(jīng)網(wǎng)絡(luò)在同一基本結(jié)構(gòu)層中,卷積核的權(quán)重參數(shù)是相同的,這也使得模型的復(fù)雜性和參數(shù)量維持在較低水平。因此,卷積神經(jīng)網(wǎng)絡(luò)更適用于圖像處理等場(chǎng)景。
在卷積網(wǎng)絡(luò)中,絕大多數(shù)計(jì)算量和參數(shù)都產(chǎn)生于卷積層。在通常情況下,卷積層通過(guò)多個(gè)不同的卷積核與圖像矩陣進(jìn)行卷積運(yùn)算,進(jìn)而挖掘出不同圖像的特征。例如,部分較為特殊的卷積核可以對(duì)目標(biāo)的邊緣進(jìn)行檢測(cè),或者對(duì)噪點(diǎn)進(jìn)行平滑處理,抑或?qū)D像進(jìn)行模糊處理、對(duì)圖像邊緣特征進(jìn)行銳化處理,等等。需要注意的是,在開(kāi)展卷積運(yùn)算時(shí),技術(shù)人員應(yīng)合理設(shè)置步長(zhǎng)、填充值和深度。其中,步長(zhǎng)是指卷積核每次移動(dòng)的像素間隔,填充值是指通過(guò)在圖像的邊緣填充像素?cái)?shù)據(jù)來(lái)完成完整的卷積運(yùn)算,深度則是指圖像通道數(shù)。
由于在每一次卷積運(yùn)算后都會(huì)生成一個(gè)特征圖,且這些特征圖通常包含從對(duì)應(yīng)卷積層獲取的圖像特征信息,而隨著卷積運(yùn)算的增多,模型的參數(shù)量也會(huì)逐漸增加。與此同時(shí),這些圖像特征信息中也有可能包含部分無(wú)用信息。因此,在卷積網(wǎng)絡(luò)中,技術(shù)人員需要利用池化層壓縮特征圖的大小,以確保在獲取特征圖有效信息的同時(shí)不改變圖像的通道數(shù)。該操作可以有效減少后續(xù)卷積計(jì)算的參數(shù)量,并增大網(wǎng)絡(luò)的感受野。目前較,為常見(jiàn)的池化操作一般有均值池化和最大值池化兩種,二者的主要區(qū)別在于圖像像素的取值是平均值還是最大值。
在卷積神經(jīng)網(wǎng)絡(luò)中,全連接層的主要作用是根據(jù)輸入的特征信息進(jìn)行分類,它可以將所有局部特征圖整合在一起,并輸出預(yù)測(cè)類別信息。因此,為了在卷積神經(jīng)網(wǎng)絡(luò)中實(shí)現(xiàn)分類功能,技術(shù)人員通常會(huì)在全連接層后加入激活函數(shù)。此時(shí),激活函數(shù)主要起到映射分類的作用。以在全連接層后加入Softmax 激活函數(shù)為例,假設(shè)卷積神經(jīng)網(wǎng)絡(luò)需要將目標(biāo)按照10 種物體類別進(jìn)行預(yù)測(cè),這時(shí),全連接層的輸出結(jié)果將被Softmax 激活函數(shù)映射為[0,1]范圍內(nèi)的10 維向量,并且每一個(gè)向量值均代表目標(biāo)屬于該種物體類別的概率。在通常情況下,這些概率的和為1。
目標(biāo)檢測(cè)的作用是,在給定圖像中找出所有感興趣的目標(biāo),并準(zhǔn)確獲取這些目標(biāo)的類別、定位、大小等信息。由于不同目標(biāo)物體的外形、顏色等特征存在差異,且成像時(shí)的背景、角度等外部因素各有不同,目標(biāo)檢測(cè)技術(shù)一直存在技術(shù)難點(diǎn)。當(dāng)前,深度學(xué)習(xí)目標(biāo)檢測(cè)算法可分為兩階段算法和單階段算法。
首先,兩階段算法能夠檢測(cè)出待測(cè)目標(biāo)在圖像中的位置,并生成對(duì)應(yīng)的候選區(qū)域;其次,該算法將通過(guò)卷積神經(jīng)網(wǎng)絡(luò)挖掘候選框內(nèi)的目標(biāo)特征,并根據(jù)具體特征確定目標(biāo)的分類和所在位置。目前,較為經(jīng)典的兩階段模型有R-CNN、Fast R-CNN 以及Faster R-CNN 等。
1.R-CNN
R-CNN 的算法流程如下。(1)采用候選區(qū)域提取算法在原圖上生成一些感興趣的區(qū)域,即可能含有目標(biāo)的區(qū)域。(2)將候選區(qū)域歸一化至固定大小,并輸入CNN 網(wǎng)絡(luò)。隨后,卷積神經(jīng)網(wǎng)絡(luò)將自動(dòng)識(shí)別候選框中的特征信息,并將獲取的特征信息輸入SVM 分類器中,以便借助SVM 分類器對(duì)候選區(qū)域中的物體進(jìn)行分類,同時(shí)大致定位目標(biāo)位置。(3)通過(guò)坐標(biāo)回歸模型對(duì)該位置進(jìn)行精準(zhǔn)校正。此外,由于R-CNN 需要對(duì)每一個(gè)候選框進(jìn)行計(jì)算,所以該算法步驟較多,檢測(cè)速度相對(duì)較慢。
2.Fast R-CNN
Fast R-CNN基于R-CNN 做出一定改進(jìn),其不需要像R-CNN一樣,在初始階段就生成多個(gè)候選框進(jìn)行計(jì)算,而是通過(guò)卷積神經(jīng)網(wǎng)絡(luò)直接獲取整個(gè)圖像的特征圖。該算法還在卷積層的最后加入了ROI 池化層,目的是將輸入的特征圖池化為相同尺寸的特征圖。在具體操作時(shí),該算法將采用多任務(wù)模式共享ROI池化層提取出的特征:一邊使用Softmax 激活函數(shù)替代原R-CNN中的SVM 分類器對(duì)特征圖進(jìn)行分類;一邊使用同樣的特征圖進(jìn)行邊框回歸,以確定目標(biāo)坐標(biāo)。雖然該算法可以充分利用卷積層產(chǎn)生的特征圖來(lái)提高檢測(cè)效率,但其檢測(cè)速度距離工業(yè)要求仍有一定差距。
3.Faster R-CNN
Faster R-CNN 對(duì) Fast R-CNN 做出了進(jìn)一步改進(jìn)。該算法的主干網(wǎng)絡(luò)為VGG16,并采用比選擇性搜索效率更高的RPN 模塊來(lái)生成檢測(cè)框,極大地縮減了檢測(cè)時(shí)間。
Faster R-CNN 同樣是將整張圖像輸入預(yù)訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)VGG16 中以提取特征圖。該算法通過(guò)區(qū)域建議網(wǎng)絡(luò)對(duì)特征圖進(jìn)行處理,并獲得候選框。區(qū)域建議網(wǎng)絡(luò)主要根據(jù)錨點(diǎn)的偏移量來(lái)獲取候選框,即以固定尺寸的參考框在原始圖像中進(jìn)行定位。隨后,區(qū)域建議網(wǎng)絡(luò)將對(duì)這些候選框進(jìn)行邊框回歸和目標(biāo)估計(jì)處理。邊框回歸的主要作用是調(diào)整錨點(diǎn)位置,使邊框更好地貼近目標(biāo)物體;目標(biāo)估計(jì)的作用則是判斷候選框中的是背景還是目標(biāo),并產(chǎn)生一個(gè)目標(biāo)性得分。此外,通過(guò)該目標(biāo)性得分,RPN 可以過(guò)濾掉不屬于目標(biāo)的候選框,然后再進(jìn)行第二階段的具體類別和具體位置的計(jì)算。在第二階段,該算法首先使用ROI 池化將生成的所有候選框統(tǒng)一調(diào)整至相同尺寸,之后的操作步驟與R-CNN 算法相同,即使用全連接層對(duì)目標(biāo)完成分類,并根據(jù)預(yù)測(cè)類別調(diào)整邊框坐標(biāo)。由于RPN 模塊僅使用卷積層,該算法的訓(xùn)練和測(cè)試速度相對(duì)較快,整體檢測(cè)時(shí)間快于選擇性搜索算法的檢測(cè)時(shí)間。
單階段目標(biāo)檢測(cè)算法只需要提取一次目標(biāo)特征就能完成目標(biāo)檢測(cè),其檢測(cè)速度高于多階段算法,但精度略低。當(dāng)前,最受工業(yè)領(lǐng)域青睞的單階段目標(biāo)檢測(cè)算法是YOLO 系列算法。YOLO 算法實(shí)現(xiàn)了“端到端”的目標(biāo)檢測(cè)。首先,YOLO算法將輸入圖片的尺寸縮放至448×448,然后將縮放后的圖片傳輸至卷積神經(jīng)網(wǎng)絡(luò)。在YOLO算法的支持下,卷積神經(jīng)網(wǎng)絡(luò)會(huì)將圖片劃分成7×7 的網(wǎng)格,并逐個(gè)檢測(cè)網(wǎng)格單元內(nèi)的目標(biāo)特征。在通常情況下,每一個(gè)網(wǎng)格單元會(huì)關(guān)聯(lián)兩個(gè)先驗(yàn)框,且每一個(gè)先驗(yàn)框都會(huì)對(duì)應(yīng)一組參數(shù)輸出。這組參數(shù)主要包含關(guān)聯(lián)先驗(yàn)框的大小、位置和置信度等信息。
綜上所述,本文首先介紹并分析了卷積神經(jīng)網(wǎng)絡(luò)中各網(wǎng)絡(luò)層的作用和計(jì)算方法;其次介紹了幾種主流的深度學(xué)習(xí)目標(biāo)檢測(cè)算法,并分析其創(chuàng)新點(diǎn)和工作原理;最后著重概述了YOLO 算法的檢測(cè)流程等內(nèi)容,以期為相關(guān)領(lǐng)域的研究人員提供借鑒。