黃鏡塵 李光 李敏
摘要:隨著科技的不斷發(fā)展,基于深度學習的目標檢測與識別算法已經(jīng)可以應(yīng)用于各種不同的場景之中。本文從當下比較流行的兩大類算法出發(fā),分別從算法的原理介紹以及基本的工作流程進行介紹,將五類識別算法優(yōu)缺點進行逐一分析。對今后的學術(shù)研究方便進行合適的選擇。
關(guān)鍵詞:目標檢測;算法;目標識別
目標識別一般要求研究系統(tǒng)具有較高的識別準確度,這是進行識別最基本的要求,精確識別樣品中的目標數(shù)量是根本所在,識別系統(tǒng)的一切基礎(chǔ)功能包括其拓展都是建立在成功識別出一個個目標模型之上建立的。二是擁有較快的識別速度[1],由于現(xiàn)在的目標識別工作都有著大量的計算量,放在正常的PC設(shè)備上面處理這些數(shù)據(jù)集需要有很多繁瑣的步驟需要一步步進行處理,更何況是把這些處理放在樹莓派中進行,每一個部分都需要花費巨大的時間,因此在保證識別準確性和精準度的同時,能否擁有一定的識別速度就成為一個很重要的問題。三是目標識別技術(shù)的出現(xiàn)在有眾多便利的同時,其安全性穩(wěn)定性也是一個需要我們考慮的重要因素,如何保證系統(tǒng)可以長時間穩(wěn)定運行也是該項目順利完成的一個重要訴求。
1.R-CNN基本原理及工作流程
首先需要獲取所要檢測的圖像,需要使用選擇性搜尋,然后大約選擇2000個上下的無關(guān)類的待選擇的區(qū)域;把上一步選擇的區(qū)域進行轉(zhuǎn)化,轉(zhuǎn)變?yōu)榇笮〗y(tǒng)一的圖片類,并且會使用卷積神經(jīng)網(wǎng)絡(luò)模型將每一個區(qū)域的特征進行提取收集;將每一個候選區(qū)域借由使用特定類型的線性支持向量器分類器來進行分類,并且通過線性回歸的方法,對獲得的坐標邊框進行精致修正。
2.Fast R-CNN
(1)原理介紹
Fast R-CNN相對于R-CNN的變化,關(guān)鍵在于是實現(xiàn)了對后者的加速處理,首先是學習了有關(guān)SPP Net的方法,成功研究提出了ROI池化層的簡易版本,并且也實現(xiàn)了候選框的映射,正是這些改進讓網(wǎng)絡(luò)實現(xiàn)了反向傳播的功能,在SPP訓練層面來講,也很好的攻克了其整體網(wǎng)絡(luò)訓練的一些難題。其次是關(guān)于多任務(wù)Loss層的變化,R-CNN是使用支持向量器進行多分類工作,而Fast R-CNN實現(xiàn)這一功能的卻是邏輯回歸模型[9],還有就是之前的使用邊框回歸也是讓SmoothL1Loss進行代替。
(2) 基本工作流程
首先第一步工作同R-CNN相同,都是先需要獲取一個待識別的對象, 接下來就是使用選擇性搜尋選擇好候選區(qū)域;識別對象要進行特征提取,這一步是通過卷積操作然后得到特征圖;先要找到一個個的候選框關(guān)于特征圖的映射修補,然后將每個修補作為其候選框的特征量,將一個個特征量進行輸入,放到ROI的池化層以及后面的層;把之前候選框的特征量輸入,特征量進入到邏輯回歸模型分類器中,通過邏輯回歸模型分類器進行一系列分類工作;對候選框位置進行整理,通過進行SmoothL1Loss的回歸方案來達到對位置調(diào)整的結(jié)果。
3.Faster R-CNN
(1)原理介紹
Faster R-CNN算法相較于Fast R-CNN算法的最大進步就是其區(qū)域候選的選擇是使用區(qū)域候選網(wǎng)絡(luò)實現(xiàn)的。Faster R-CNN還通過把區(qū)域候選網(wǎng)絡(luò)合并到卷積神經(jīng)網(wǎng)絡(luò)中,真正意義上將端到端的目標檢測進行了實現(xiàn),F(xiàn)aster R-CNN主要由卷積層、ROI池化層、風險系數(shù)、回歸和分類幾類構(gòu)成。
(2)基本工作流程
將全部的待檢測樣品進行輸入,放到卷積神經(jīng)網(wǎng)絡(luò)中,從而獲取特征圖;為了得到候選框里面的一系列信息量,需要把卷積神經(jīng)網(wǎng)絡(luò)獲取的特征輸入到區(qū)域候選網(wǎng)絡(luò)中;將候選框里面的特征量信息進行分類,并且判斷出這些特征量能不能歸于同一類別,將每一個候選框的特征信息進行提取分類后,在使用回歸器將其整理到正確的地方。
4.YOLO
(1)原理介紹
One-stage這一算法的提出首先是在YOLO上面實現(xiàn)的,由:卷積層,目標檢測層,NMS篩選層三個部分組成整個系統(tǒng),而YOLO的檢測網(wǎng)絡(luò)主要是由2個全連接層和24個卷積層構(gòu)成的,在YOLO中,全連接層的作用是辨識圖像所處位置以及有關(guān)類型的概率值的工作,而卷積層則是負責待檢測樣品的特征信息的提取工作。
(2)基本工作流程
不同于R-CNN系列要將樣品分為2000個區(qū)域,YOLO可以將待識別樣品劃分為S*S個任意區(qū)域。接下來需要格子進行預(yù)測X個邊界框,這些邊界框在回歸到自己的位置的同時,還需要順便預(yù)測一個值,我們稱之為confidence值。 這個值表示邊界框中預(yù)測目的的可信程度以及邊界框預(yù)測信息的準確度,接下來就是將一個個所得圖像進行分類。
5.SSD
(1) 原理介紹
SSD和YOLO的相同點是都使用一個卷積神經(jīng)網(wǎng)絡(luò)來進行對樣品的檢測活動,不同點是SSD的特征圖擁有多個尺度。SSD由三部分組成分別是卷積層、目標檢測層還有非極大值抑制篩選層[8]。
(2) 基本工作流程
SSD算法是在以前的傳統(tǒng)VGG網(wǎng)絡(luò)里面加入了5個特征圖尺寸依次減小的卷積層[17],這樣做可以對每個特征圖的輸入使用不同的核心進行卷積,并且使得得到的輸入量進行不同的工作中,其中的一個輸出量給confidence用于分類,使每個默認框生成不同類別的confidence;剩下的輸出值給localization用于回歸,這一使每個默認框得4到個坐標值。最后將每一個特征圖上面得到的最終結(jié)果進行整理合并后送達到Loss層里面。
6.總結(jié)
R-CNN:R-CNN基于深度學習的目標檢測中最早應(yīng)用卷積的特性的,由于R-CNN需要將每個檢測樣品都分成2000待檢測區(qū)域,使算法所需時長大大增加。Fast R-CNN模型是在R-CNN和SPP-NET這兩種模型的基礎(chǔ)上提出的,依舊采用selective search來提取特征區(qū)域,所耗費時間較長的情況依舊沒有得到好轉(zhuǎn)。
Faster R-CNN采用了直接回歸的方式進行時設(shè)計,可以較快的檢測出目標樣品,在面對一些尺寸較小的樣品的時候無法成功檢測。
SSD算法成功的將R-CNN系列以及YOLO系列的特點長處融合在了一起,使的邊界框的定位不準的問題在SSD中也得到了很好的解決,并且在面對一些難以分辨的檢測樣品的情況下,也保有了一定的成功率。
參考文獻:
[1] 徐浩浩. 基于Python深度學習的人臉識別方法探究[J]. 現(xiàn)代信息科技,2019,3(17):88-90
[2] Girshick R B, Donahue J, Darrell T, et al. Region- based convolutional networks for accurate object detection and segmentation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 38(1): 142-158
(作者簡介:黃鏡塵1999.07,山東交通學院本科學生,指導老師:李光、李敏)