- 深度學(xué)習(xí)之圖像目標(biāo)檢測與識(shí)別方法
- 史朋飛等
- 2468字
- 2024-10-18 15:06:01
0.2.2 基于深度學(xué)習(xí)的目標(biāo)檢測算法研究
目標(biāo)檢測通常是指在圖像或者視頻中找到特定目標(biāo)的位置,一般通過邊界框的方式框選出目標(biāo),如果目標(biāo)種類多于一種,則還需要指出所框選的目標(biāo)類別。對(duì)于人類來說,視覺的作用就是告訴人類物體的種類和位置,目標(biāo)檢測正如視覺之于人類,其目的是解決計(jì)算機(jī)視覺應(yīng)用的兩個(gè)基本問題:該物體是什么,以及該物體在哪里。
由于目標(biāo)檢測具有廣泛的應(yīng)用前景,因此受到廣泛的關(guān)注。在人臉識(shí)別[24]、步態(tài)識(shí)別[25]、人群計(jì)數(shù)[26]、安全監(jiān)控[27]、自動(dòng)駕駛[28]、無人機(jī)場景分析[29]等任務(wù)中,目標(biāo)檢測具有至關(guān)重要的作用。目標(biāo)檢測的研究領(lǐng)域主要包括邊緣檢測[30]、多目標(biāo)檢測[31-33]、顯著性目標(biāo)檢測[34-35]等。
目標(biāo)檢測的研究隨著深度學(xué)習(xí)的革新得到了飛速發(fā)展。大多數(shù)目標(biāo)檢測均以深度學(xué)習(xí)網(wǎng)絡(luò)為主干,目標(biāo)檢測算法從輸入圖像中提取特征,從而進(jìn)行分類和定位。利用深度學(xué)習(xí)網(wǎng)絡(luò)的目標(biāo)檢測算法大體可以分為兩種類型:兩階段(Two-Stage)目標(biāo)檢測算法和單階段(One-Stage)目標(biāo)檢測算法。兩階段目標(biāo)檢測算法提出的時(shí)間更早,檢測精度高,但檢測速度慢。單階段目標(biāo)檢測算法的檢測速度快,但檢測精度略低。目前,無論單階段目標(biāo)檢測算法還是兩階段目標(biāo)檢測算法,都在向著“又快又準(zhǔn)”的目標(biāo)前進(jìn)。下面介紹這兩類目標(biāo)檢測算法的研究現(xiàn)狀。
0.2.2.1 兩階段目標(biāo)檢測算法
兩階段目標(biāo)檢測算法是指先通過某種方式生成一些候選區(qū)域,然后對(duì)這些候選區(qū)域的內(nèi)容進(jìn)行分類,確認(rèn)是否包含待檢測的目標(biāo),并對(duì)這些區(qū)域進(jìn)行修正。因?yàn)榘藘蓚€(gè)步驟,即候選區(qū)域的生成和候選區(qū)域的檢測,所以被稱為兩階段目標(biāo)檢測算法。
2014年,Girshick等人[36]提出了RCNN。RNN首先利用選擇性搜索對(duì)圖像進(jìn)行劃分,生成候選區(qū)域;然后將候選區(qū)域輸入到一個(gè)在ImageNet上訓(xùn)練完畢的CNN模型來提取特征,從而取代了傳統(tǒng)的滑窗算法;最后使用線性 SVM 分類器對(duì)每個(gè)候選區(qū)域內(nèi)的目標(biāo)進(jìn)行檢測,從而識(shí)別目標(biāo)類別。通過這樣的方式,RCNN擁有非常高的檢測精度,但RCNN的缺點(diǎn)也十分明顯:由于候選區(qū)域中有大量的重疊區(qū)域,RCNN對(duì)這些重疊區(qū)域進(jìn)行的計(jì)算存在大量冗余,因此嚴(yán)重拖慢了檢測速度,并且所有的候選區(qū)域都需要縮放到固定尺寸,這會(huì)導(dǎo)致大量不期望產(chǎn)生的幾何形變。
2014年,He等人[37]為解決RCNN的計(jì)算冗余問題,提出了一種空間金字塔池化網(wǎng)絡(luò)(Spatial Pyramid Pooling Network,SPPNet)。不同于RCNN直接在圖像上劃分候選區(qū)域,SPPNet在提取的圖像特征上選擇候選區(qū)域,這樣可以減少許多計(jì)算冗余。針對(duì)候選區(qū)域尺寸不同的問題,SPPNet可以將任意大小的卷積特征映射為固定維度的全連接輸入,從而避免像 RCNN 那樣在縮放候選區(qū)域時(shí)導(dǎo)致的幾何形變。SPPNet 的檢測速度是RCNN的20多倍,而且這是在沒有檢測精度損失前提下的檢測速度。同樣,SPPNet 也存在一些問題:不同圖像的訓(xùn)練樣本通過 SPP 層的反向傳遞效率十分低,這直接導(dǎo)致SPPNet無法更新SPP層以下的權(quán)重,使檢測精度的提升非常有限。2015年,Girshick等人[38]提出了Fast RCNN。Fast RCNN使用邊界框回歸(Bounding-Box Regression)和非極大值抑制,可得到不重復(fù)的預(yù)測得分最高的邊界框。與 RCNN 相比,F(xiàn)ast RCNN的檢測精度和檢測速度有了大幅提升,但由于候選區(qū)域檢測的限制,F(xiàn)ast RCNN 的檢測速度仍然得不到太大的提升。2015 年,Ren 等人[39]提出了Faster-RCNN。Faster-RCNN中的區(qū)域建議網(wǎng)絡(luò)可以將目標(biāo)檢測的定位和分類操作分開執(zhí)行。Faster-RCNN流程如下:首先使用VGG(Visual Geometry Group)網(wǎng)絡(luò)模型提取特征,然后對(duì)提取到的特征通過區(qū)域建議網(wǎng)絡(luò)生成候選區(qū)域,接著判斷候選區(qū)域是目標(biāo)還是背景,并且對(duì)這些候選區(qū)域進(jìn)行修正,最后利用ROI池化對(duì)區(qū)域建議網(wǎng)絡(luò)篩選修正后的候選區(qū)域進(jìn)行分類。相較于Fast RCNN,F(xiàn)aster-RCNN的檢測速度終于得到了很大的突破。
0.2.2.2 單階段目標(biāo)檢測算法
單階段目標(biāo)檢測算法只需一個(gè)階段就能同時(shí)完成目標(biāo)定位和目標(biāo)分類兩個(gè)任務(wù)。單階段目標(biāo)檢測算法的整個(gè)過程更加簡潔,所需的檢測時(shí)間也更短,在檢測速度上更滿足實(shí)時(shí)性的要求。
2015年,Redmon等人[40]提出了 YOLOv1。YOLOv1 同樣首先使用 CNN提取特征,然后將整個(gè)圖像劃分成棋盤格狀,并對(duì)每個(gè)單元格預(yù)測一定數(shù)量的邊界框(Bounding Box)以及屬于不同類別的概率。每個(gè)邊界框都有5個(gè)變量,分別是4個(gè)描述位置的坐標(biāo)值,以及每個(gè)類別的置信度。YOLOv1將目標(biāo)區(qū)域的預(yù)測與目標(biāo)類別的預(yù)測結(jié)合起來,大大地提高了檢測速度。但YOLOv1的每個(gè)單元格只能預(yù)測一個(gè)對(duì)象,并且檢測精度也十分有限。由于YOLOv1并沒有利用豐富的淺層細(xì)節(jié)信息進(jìn)行預(yù)測,因此YOLOv1對(duì)小目標(biāo)的檢測效果很差。
2016年,Liu等人[41]針對(duì)YOLOv1存在的小目標(biāo)檢測精度低等問題,提出了單步多框預(yù)測(Single Shot MultiBox Detector,SSD)。相較于YOLOv1,SSD在CNN后直接進(jìn)行目標(biāo)檢測,而不是像YOLOv1那樣在全連接層之后進(jìn)行目標(biāo)檢測。SSD在提取不同尺度的特征后進(jìn)行目標(biāo)檢測:對(duì)于小目標(biāo),SSD利用豐富的淺層位置信息和細(xì)節(jié)信息進(jìn)行檢測;對(duì)于大目標(biāo),SDD利用豐富的深層語義信息來進(jìn)行檢測。SSD還對(duì)錨定框(Anchor Box)的長寬比和大小進(jìn)行了固定,在每個(gè)特征中檢測固定數(shù)量的錨定框中是否包含目標(biāo)。通過上述改進(jìn),SSD的檢測精度和檢測速度都要高于YOLOv1,并且SSD對(duì)小目標(biāo)也有不錯(cuò)的檢測精度。
2017年,Redmon 等人[42]將 SSD的優(yōu)點(diǎn)移植到 YOLOv1 上并進(jìn)行了改進(jìn),提出了YOLOv2。在YOLOv2中,Redmon等人設(shè)計(jì)了一種全新的CNN來提取圖像特征,并利用聚類算法對(duì)數(shù)據(jù)集中的標(biāo)簽框大小進(jìn)行聚類,確定錨定框的尺寸,通過為卷積層添加批標(biāo)準(zhǔn)化(Batch Normalization,BN,也稱為批量歸一化)來降低模型的過擬合,有效提高了模型的收斂能力。相較于 YOLOv1,YOLOv2 首先在分辨率更高的ImageNet上進(jìn)行訓(xùn)練,然后使用檢測數(shù)據(jù)集進(jìn)行微調(diào)。Redmon等人還在YOLOv2中添加了多尺度訓(xùn)練方法,使得YOLOv2具備多尺度目標(biāo)檢測能力。2018年,Redmon等人[43]在YOLOv2的基礎(chǔ)上做了進(jìn)一步改進(jìn),提出了YOLOv3。YOLOv3設(shè)計(jì)了一種特征提取能力更強(qiáng)的卷積神經(jīng)網(wǎng)絡(luò)——Darknet53,通過改進(jìn)聚類算法獲得了更加精確的錨定框尺寸。YOLOv3借鑒了特征金字塔網(wǎng)絡(luò)(Feature Pyramid Networks,F(xiàn)PN)的多尺度預(yù)測思想,在3個(gè)尺度上進(jìn)行預(yù)測,每個(gè)尺度對(duì)應(yīng)3個(gè)候選區(qū)域。YOLOv3還使用了多標(biāo)簽分類算法,每個(gè)候選區(qū)域可以預(yù)測多個(gè)分類。YOLOv3通過增強(qiáng)卷積核的步長來代替池化層,減少了模型參數(shù)。YOLOv3的速度略慢于YOLOv2,但綜合來看,YOLOv3 是當(dāng)時(shí)最優(yōu)的單階段目標(biāo)檢測算法。2020 年,Redmon 等人[44]對(duì)YOLOv3進(jìn)行了改進(jìn),提出了YOLOv4。YOLOv4篩選并應(yīng)用了從YOLOv3發(fā)布至今的、在各種目標(biāo)檢測算法上提升檢測精度的技巧,并將YOLOv3的Darknet53替換成特征提取能力更強(qiáng)的CSPDarknet53,同時(shí)添加了SPPNet以擴(kuò)大感受域的大小,使用路徑聚合網(wǎng)絡(luò)PANet進(jìn)行多通道的特征融合。
- VR+:融合與創(chuàng)新
- 中文版3ds Max 2013/VRay效果圖制作從新手到高手
- Photoshop CC風(fēng)光攝影后期處理核心技法
- 創(chuàng)意UI:Photoshop玩轉(zhuǎn)App設(shè)計(jì)(第2版)
- 設(shè)計(jì)師要懂心理學(xué)2
- Origin科研繪圖與學(xué)術(shù)圖表繪制從入門到精通
- 精通Matlab數(shù)字圖像處理與識(shí)別
- 剪映AI自媒體視頻生成/剪輯/創(chuàng)作從入門到精通
- 3ds Max/VRay印象:室內(nèi)公共空間表現(xiàn)專業(yè)技法
- 宅在家里玩攝影:128招家居 靜物 美食拍攝全攻略
- Lightroom 4中文版完全自學(xué)教程
- After Effects CS4案例教程
- 中文版3ds Max 2010實(shí)例與操作
- 新手學(xué)Photoshop CS6平面廣告設(shè)計(jì)
- 不能說的秘密:Photoshop人像攝影后期調(diào)色實(shí)戰(zhàn)圣經(jīng)