999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

目標(biāo)檢測數(shù)據(jù)集半自動(dòng)生成技術(shù)研究①

2019-10-18 06:40:40孫曉璇
關(guān)鍵詞:檢測

孫曉璇,張 磊,李 健

1(中國科學(xué)院 計(jì)算機(jī)網(wǎng)絡(luò)信息中心,北京 100190)

2(中國科學(xué)院大學(xué) 計(jì)算機(jī)與控制學(xué)院,北京 100049)

隨著科技的進(jìn)步與發(fā)展,計(jì)算機(jī)視覺迅速發(fā)展.其中,目標(biāo)檢測是計(jì)算機(jī)視覺領(lǐng)域的一個(gè)重要分支,它的主要任務(wù)是找出圖像中的目標(biāo)對象的位置信息,判斷目標(biāo)框中對象的類別,并為檢測到的所有目標(biāo)在圖像上畫出預(yù)測邊框.隨著深度學(xué)習(xí)相關(guān)技術(shù)的快速發(fā)展,計(jì)算機(jī)視覺領(lǐng)域也不斷取得突破[1].基于深度學(xué)習(xí)的目標(biāo)檢測算法主要分為兩類:一類是RCNN系列,如FastRCNN[2]、FasterRCNN等two-stage方式,另一類是YOLO[3]、SSD[4]等 end-to-end 的 one-stage 方式.與傳統(tǒng)方法[5-9]相比,使用深度學(xué)習(xí)算法進(jìn)行目標(biāo)檢測不僅減少誤檢、漏檢,還更好的適應(yīng)復(fù)雜場景,在檢測速度方面也有較大的提升.針對one-stage方式的算法,如果我們需要訓(xùn)練目標(biāo)檢測模型但是沒有現(xiàn)成的數(shù)據(jù)集,傳統(tǒng)的做法是使用LabelImg等軟件人工標(biāo)注圖像[10]中目標(biāo)對象的位置,并標(biāo)注對象的類別.對于數(shù)據(jù)集中大量的圖像,制作、處理數(shù)據(jù)集是繁瑣耗時(shí)的工作.除了傳統(tǒng)人工標(biāo)注的做法外,還可以使用OpenCV閾值過濾的方法[11],通過提取指定灰度值范圍內(nèi)的部分獲得目標(biāo)位置,但是這種方式對圖像的要求比較高,如果圖像中的目標(biāo)對象與背景顏色相近或者背景比較復(fù)雜的時(shí)候,就難以提取出圖像中的對象.

基于以上原因,本文提出一種方法,通過使用官方提供的已訓(xùn)練的目標(biāo)檢測模型,對輸入圖像批量檢測,實(shí)現(xiàn)自動(dòng)定位圖像中的目標(biāo)物體,記錄物體坐標(biāo)位置、類別信息作為標(biāo)簽,以此制作自己的數(shù)據(jù)集.以YOLOv3算法和SSD算法為例,使用已訓(xùn)練的目標(biāo)檢測模型,對數(shù)據(jù)集中的圖像進(jìn)行初步的目標(biāo)檢測,記錄檢測目標(biāo)在圖像中的位置信息,數(shù)據(jù)集中圖像的類別是已知的,此時(shí)可以為數(shù)據(jù)集中的圖像生成相應(yīng)的標(biāo)簽.這種方法可以幫助我們高效地生成模型訓(xùn)練所需要的數(shù)據(jù)集,但是由于已訓(xùn)練模型的數(shù)據(jù)集與自己的數(shù)據(jù)集不同,導(dǎo)致檢測目標(biāo)定位不夠準(zhǔn)確,所以生成的數(shù)據(jù)集質(zhì)量不可預(yù)估.為了提高數(shù)據(jù)集質(zhì)量,本文使用多種不同的深度學(xué)習(xí)目標(biāo)檢測算法對自己的數(shù)據(jù)集進(jìn)行目標(biāo)檢測生成標(biāo)簽,并對檢測結(jié)果圖像進(jìn)行裁剪、縮放操作,再進(jìn)行圖像相似度的對比,實(shí)現(xiàn)高效生成標(biāo)簽以及篩選符合預(yù)期效果圖像的功能.

1 算法介紹

1.1 YOLOv3算法

YOLOv3是一個(gè)融合多種先進(jìn)算法思想構(gòu)成的目標(biāo)檢測網(wǎng)絡(luò),通過在COCO和ImageNet數(shù)據(jù)集上聯(lián)合訓(xùn)練,得到能夠檢測出80種類別物體的模型.YOLOv3采用darknet-19 與 ResNet[12]中殘差思想融合的 darknet-53為網(wǎng)絡(luò)主干,網(wǎng)絡(luò)兼具ResNet的較高準(zhǔn)確率和YOLO系列檢測速度快的特點(diǎn),同時(shí)還避免了網(wǎng)絡(luò)深度過深導(dǎo)致梯度消失.此外,YOLOv3 可以在 DarkNet、OpenCV、TensorFlow 等多種框架中實(shí)現(xiàn).本論文中使用基于 DarkNet實(shí)現(xiàn)的YOLOv3算法,使用Python和C++兩種語言完成實(shí)驗(yàn).

YOLOv3運(yùn)用了類似FPN的思想,將原始圖像縮放到 416×416 大小,然后分別在 13×13、26×26、52×52這3種尺寸的特征圖上做目標(biāo)檢測,最后融合3個(gè)檢測結(jié)果,這樣使得YOLOv3在小目標(biāo)的檢測效果上有所提升.YOLOv3的每一個(gè)網(wǎng)格單元使用3個(gè)anchor,anchor所在網(wǎng)格在圖像中的相對位置為(cx,cy),每個(gè)anchor預(yù)測3個(gè)邊界框,邊界框的長和寬分別為pw和ph.每個(gè)網(wǎng)格單元的每個(gè)邊界框產(chǎn)生4個(gè)位置預(yù)測值(tx,ty,tw,th)和1個(gè)置信度.σ指Sigmod函數(shù).

YOLOv3,使用多個(gè)獨(dú)立的logistics代替Softmax分類器,這樣使每個(gè)預(yù)測框可以單獨(dú)分類,即使是重疊物體,模型也可以檢測出來.

1.2 SSD算法

SSD算法與YOLO系列算法相同都是one-stage的算法,都具有檢測速度快的特點(diǎn).SSD算法融合了Fast-RCNN的anchor思想,同時(shí)對每個(gè)default box還生成不同橫縱比的候選框,這樣減小了漏檢的可能.SSD算法采用預(yù)訓(xùn)練模型VGG16和額外的卷積層,實(shí)現(xiàn)在不同層次的特征圖中進(jìn)行目標(biāo)檢測,相當(dāng)于在不同尺寸的特征圖上多次執(zhí)行目標(biāo)檢測,高層特征圖檢測大物體,低層特征圖檢測小物體,最后綜合各層次的檢測結(jié)果,可以更準(zhǔn)確的識別圖像中的目標(biāo)物體.SSD算法在不同層次的特征圖上使用更小的卷積核預(yù)測,在許多不同橫縱比的defaultbox中,選擇出滿足條件的一些prior box與ground truth box匹配,最終得到預(yù)測框,具有比YOLOv3算法更高的精度.但是,SSD和YOLOv3與多數(shù)目標(biāo)檢測算法相同,對小尺寸物體檢測效果不太好.對于prior box等參數(shù)需要提前人工設(shè)置,而且參數(shù)的設(shè)置對檢測的結(jié)果會(huì)產(chǎn)生影響.

2 數(shù)據(jù)集介紹

2.1 COCO數(shù)據(jù)集

COCO[13]是微軟團(tuán)隊(duì)提供的一個(gè)可以用來進(jìn)行圖像識別的數(shù)據(jù)集.COCO中有80個(gè)對象類別和各種場景類型的圖像,現(xiàn)在有3種標(biāo)注類型:目標(biāo)實(shí)例、目標(biāo)上的關(guān)鍵點(diǎn)、圖像文字描述,可以在目標(biāo)檢測、實(shí)例分割、目標(biāo)關(guān)鍵點(diǎn)追蹤等任務(wù)中使用.

2.2 ImageNet數(shù)據(jù)集

ImageNet[14]數(shù)據(jù)集是用于計(jì)算機(jī)視覺領(lǐng)域的大型圖像數(shù)據(jù)庫,數(shù)據(jù)集有1400多萬張圖圖像,涵蓋2萬多個(gè)類別,超過百萬的圖像有明確的類別標(biāo)注和圖像中物體位置的標(biāo)注,可以在圖像分類(CLS)、目標(biāo)定位(LOC)、目標(biāo)檢測(DET)、視頻目標(biāo)檢測(VID)等任務(wù)中使用.

2.3 ILSVRC數(shù)據(jù)集

ILSVRC[14]數(shù)據(jù)集是ImageNet數(shù)據(jù)集的子集,ILSVRCCLS-LOC是ImageNet中圖像分類和目標(biāo)定位的數(shù)據(jù)集子集,其中包括1000個(gè)對象類別.

2.4 實(shí)驗(yàn)數(shù)據(jù)集

實(shí)驗(yàn)數(shù)據(jù)集中只包含圖像,這些圖像均來自網(wǎng)絡(luò)及實(shí)際工作過程中長期積累的圖像數(shù)據(jù).

2.5 數(shù)據(jù)集格式

YOLOv3的數(shù)據(jù)集包括兩部分:標(biāo)簽labels和圖像images,其中,labels文件夾中每一個(gè)文本文件中存放的是圖像中目標(biāo)對象的坐標(biāo)位置信息,每張圖像對應(yīng)一個(gè)txt標(biāo)簽(目標(biāo)定位)文件,要求圖像名稱與目標(biāo)定位的txt標(biāo)簽文件名稱必須相同,并且labels文件夾和images文件夾在同一個(gè)目錄下.YOLOv3.txt標(biāo)簽文件的數(shù)據(jù)格式如下:

類別編號中心點(diǎn)x相對坐標(biāo)中心點(diǎn)y相對坐標(biāo)目標(biāo)框相對寬度w目標(biāo)框相對高度h

當(dāng)檢測框boundingbox的左下、右上坐標(biāo)分別為(x1,y1)(x2,y2),圖像的寬和高分別為W,H,此時(shí)可以計(jì)算:

SSD 的數(shù)據(jù)集同樣包括標(biāo)簽和圖像兩部分.JPEGImages文件夾下存放圖像,Annotations文件夾下存放xml格式的標(biāo)簽文件,并且要求圖像的名稱與標(biāo)簽的名稱必須一致.SSD算法中,還有一個(gè)ImageSets文件夾下的main文件夾中存放test.txt、val.txt、train.txt、trainval.txt 4個(gè)文件,這4個(gè)文件中分別存放用來測試、驗(yàn)證、訓(xùn)練、訓(xùn)練和驗(yàn)證的圖像文件的文件名列表.SSD標(biāo)簽文件格式如下:

類別編號 Xmin坐標(biāo) Ymin坐標(biāo) Xmax坐標(biāo) Ymax坐標(biāo)

圖1 SSD算法xml標(biāo)簽文件格式

圖2 圖像與圖1文件對應(yīng) (332×500)

然后,將上面的標(biāo)簽文件處理成xml文件的數(shù)據(jù)格式如圖1.與圖1對應(yīng)的圖像如圖2.

但是,xml格式的標(biāo)簽不能直接在SSD算法中使用,所以需要對標(biāo)簽文件做處理,將xml格式的標(biāo)簽文件轉(zhuǎn)換成TensorFlow統(tǒng)一使用的數(shù)據(jù)存儲格式——tfrecord格式.tfrecord格式文件主要通過Example數(shù)據(jù)結(jié)構(gòu)存儲,格式如圖3.

3 圖像相似度算法

圖像相似度檢測[15]是對多張圖像的內(nèi)容相似程度進(jìn)行分析,目前廣泛應(yīng)用在圖像搜索、圖像過濾、目標(biāo)識別等領(lǐng)域.圖像相似度對比的方法有很多,包括:SIFT算法[16]、圖像直方圖相似度、哈希的圖像相似度等方法.圖像直方圖方式最簡單,但是圖像轉(zhuǎn)為直方圖丟失大量信息,誤判概率比較大.SIFT算法復(fù)雜,會(huì)產(chǎn)生大量SIFT特征向量,但是能夠識別圖像不超過25%的變形.根據(jù)實(shí)驗(yàn)的需求,選擇了介于兩者算法性能、復(fù)雜度之間的哈希圖像相似度檢測算法.基于哈希的圖像相似度檢測算法包括:均值哈希算法、感知哈希算法和差異值哈希算法.以上三種相似度檢測算法分別適用于不同的應(yīng)用場景.差異值哈希算法在識別效果方面優(yōu)于均值哈希算法,不如感知哈希算法,但是在識別速度方面優(yōu)于感知哈希算法[17].本論文中,采用差異值哈希算法[18],可以在使用較少的時(shí)間實(shí)現(xiàn)較好的效果.使用差異值哈希算法,首先需要對圖像進(jìn)行縮放,可以選擇縮放為 8×8、16×16、32×32 不同尺寸的圖像,然后,將圖像灰度化,接下來是對圖像差異值的計(jì)算,以縮放尺度9×8(差異值哈希得到8×8的圖像需要縮放成9×8,同樣16×16的需要縮放為17×16)為例,通過分別對9×8圖像的每一行中相鄰的兩個(gè)像素進(jìn)行相減得到每個(gè)像素間的差異值,最后得到8×8的圖像哈希值.最終,通過兩張圖像哈希值的漢明距離計(jì)算,得到圖像的相似度.

圖3 tfrecord格式

4 架構(gòu)與流程

目標(biāo)檢測數(shù)據(jù)集自動(dòng)生成架構(gòu)及執(zhí)行流程如圖4所示,分為如下3個(gè)階段.

階段一:獲取原始標(biāo)注圖像.使用基于DarkNet的YOLOv3算法和基于TensorFlow的SSD算法,以及在COCO數(shù)據(jù)集上訓(xùn)練的YOLOv3模型和在ILSVRC CLS-LOC數(shù)據(jù)集預(yù)訓(xùn)練的SSD模型.首先,將原始數(shù)據(jù)集中的圖像輸入YOLOv3模型,檢測后得到帶boundingbox的圖像和位置坐標(biāo)文件,然后,對坐標(biāo)文件進(jìn)行初篩,丟棄未檢測到目標(biāo)的圖像.同時(shí),將原始數(shù)據(jù)集中的圖像輸入到已經(jīng)訓(xùn)練好的SSD模型,同上,保留適當(dāng)?shù)膱D像集和位置坐標(biāo)文件,并且對兩種方式獲得的檢測圖像按照boundingbox進(jìn)行裁剪.

階段二:圖像相似度比較.利用差異哈希算法,對階段一裁剪后的兩個(gè)圖像集中同名的圖像逐一進(jìn)行相似度檢測,根據(jù)相似度結(jié)果,按照預(yù)先設(shè)置的閾值,保留閾值范圍的圖像.

階段三:人工圖像篩查.通過對原始圖像與檢測圖像的縮略圖快速對比,對階段二得到的圖像進(jìn)行人工篩選,選擇正確的圖像與相應(yīng)的坐標(biāo)文件,得到最終的數(shù)據(jù)集.獲得的數(shù)據(jù)集,作為將來目標(biāo)檢測模型訓(xùn)練的訓(xùn)練數(shù)據(jù)集,使新訓(xùn)練的模型能夠正確分類.對于未檢測到目標(biāo)的圖像,根據(jù)模型在實(shí)際場景中是否達(dá)到預(yù)期效果,決定是否對圖像進(jìn)行人工標(biāo)注,加入訓(xùn)練數(shù)據(jù)集,增強(qiáng)模型目標(biāo)檢測的能力.

在SSD算法中,傳統(tǒng)數(shù)據(jù)集制作需要人工完成:圖像目標(biāo)框標(biāo)注、類別標(biāo)注并生成xml標(biāo)簽文件、xml文件格式轉(zhuǎn)換為tfrecord格式等工作.在YOLOv3算法中,傳統(tǒng)數(shù)據(jù)集制作需要人工完成:圖像目標(biāo)框標(biāo)注、類別標(biāo)注并生成txt文件等步驟.對比本文方法,現(xiàn)在只需要快速簡單的人工篩查即可替代傳統(tǒng)復(fù)雜、耗時(shí)的工作.使用這種方法生成數(shù)據(jù)集代替人工標(biāo)注圖像,不僅加快了標(biāo)注速度,而且引入相似度對比、人工篩查的步驟,更好的保證了最終數(shù)據(jù)集的質(zhì)量.

5 實(shí)驗(yàn)過程

以基于DarkNet的YOLOv3為例,需要修改網(wǎng)絡(luò)結(jié)構(gòu)(.cfg)文件的batch、division等參數(shù)存放在cfg中,將指明訓(xùn)練集/測試集路徑、類別數(shù)量、類別名稱等信息的文件存放在data中.

5.1 實(shí)現(xiàn)方法

首先,將待生成標(biāo)簽的圖像輸入到已訓(xùn)練的模型中,檢測圖像中目標(biāo)物體的位置,通過在DarkNet中繪制預(yù)測框命令前添加命令,將圖片路徑、預(yù)測框的相對坐標(biāo)以及目標(biāo)框相對寬高寫入文件,輸出的文件格式如圖5(a)所示.然后將圖像的類別編號追加到上述的坐標(biāo)位置文件中,如圖5(b)所示,坐標(biāo)位置文件的名稱與圖像名稱一致.

圖4 目標(biāo)檢測數(shù)據(jù)集生成架構(gòu)與流程

然后,使用基于TensorFlow的SSD算法,直接使用SSD[4]論文中提到的在ILSVRC CLS-LOC數(shù)據(jù)集上預(yù)訓(xùn)練的SSD模型,將待生成標(biāo)簽的圖像輸入,然后把得到檢測結(jié)果中目標(biāo)框的坐標(biāo)位置等信息整理成xml格式,最終通過Python腳本生成tfrecord格式標(biāo)簽.

通過前面兩步,得到兩組檢測結(jié)果圖像.最后,對以上兩組結(jié)果圖像按照目標(biāo)框進(jìn)行裁剪,如圖6和圖7,對比兩組裁剪后圖像的相似度為17.輸入圖像大小對差異值相似度有影響[17],經(jīng)過對 8×8、16×16、32×32不同尺寸圖像的相似度檢測結(jié)果對比,8×8的圖像在減少計(jì)算量的同時(shí)較好的保留圖像信息.將裁剪后的圖像統(tǒng)一大小為9×8,再計(jì)算相似度,根據(jù)實(shí)驗(yàn)測試,相似度閾值設(shè)置為30,當(dāng)相似度小于閾值的時(shí)候,認(rèn)為兩張圖像相似,圖像和標(biāo)簽是有效的.

圖5 (a)圖像路徑和對應(yīng)圖像的坐標(biāo)位置(b)坐標(biāo)文件bing_755_121.txt的內(nèi)容

圖6 YOLOv3檢測結(jié)果裁剪圖

圖7 SSD檢測結(jié)果裁剪圖

5.2 實(shí)驗(yàn)結(jié)果

為了避免大量選取COCO數(shù)據(jù)集中包括的物種,導(dǎo)致測試準(zhǔn)確率虛高.本實(shí)驗(yàn)選擇猴類圖像3797張、鹿類3530張、兔子類2407張、松鼠類2122張、老虎227張以及狼126張,總共選取了約12 000張哺乳類動(dòng)物的圖像,為其生成標(biāo)簽.實(shí)驗(yàn)分別選擇:1)單獨(dú)使用YOLOv3算法,2)單獨(dú)使用SSD算法,3)同時(shí)使用YOLOv3和SSD算法以及相似度對比3種方法,為圖像生成標(biāo)簽.為了實(shí)驗(yàn)結(jié)果有對比性,3組實(shí)驗(yàn)使用相同的數(shù)據(jù)集.具體實(shí)驗(yàn)結(jié)果如表1所示.

表1 3種方式生成數(shù)據(jù)集標(biāo)簽情況對比

使用YOLOv3+SSD+相似度對比方法時(shí),數(shù)據(jù)集選擇YOLOv3和SSD中均檢測到對象的圖像集作為數(shù)據(jù)集.檢測數(shù)目為經(jīng)過相似度篩選后保留的圖像數(shù)目.檢測率為圖像檢測數(shù)目占圖像數(shù)目的比例.檢測準(zhǔn)確率為準(zhǔn)確圖像占檢測數(shù)目的比例.

6 結(jié)論與展望

通過實(shí)驗(yàn)對比,可以直觀的看出,當(dāng)使用YOLOv3+SSD+相似度對比的方法,不僅在生成數(shù)據(jù)集的速度上有提升,而且對目標(biāo)物體檢測的準(zhǔn)確率也有一定的提升.但是,這種方法存在不足:篩選圖像的質(zhì)量依賴相似度閾值的設(shè)置,如果閾值設(shè)置過小,準(zhǔn)確率率提升不明顯,設(shè)置過大,導(dǎo)致大量的圖像和標(biāo)簽被丟棄,最終訓(xùn)練的數(shù)據(jù)量變小,所以,此后還需要尋找一種閾值設(shè)置的標(biāo)準(zhǔn)和方法.另外,檢測圖像時(shí)可能存在兩種算法出現(xiàn)相同錯(cuò)誤的情況,導(dǎo)致該方法效果下降,所以通過加入人工篩查來克服這個(gè)缺點(diǎn).如果最終數(shù)據(jù)集過小,可以適當(dāng)增大閾值的設(shè)置,之后通過人工篩選過濾掉不符合要求的圖像.

猜你喜歡
檢測
QC 檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
“有理數(shù)的乘除法”檢測題
“有理數(shù)”檢測題
“角”檢測題
“幾何圖形”檢測題
主站蜘蛛池模板: 精品人妻系列无码专区久久| 免费一级α片在线观看| 久久婷婷六月| 亚洲精品第五页| 香蕉视频在线观看www| 国产一区二区三区在线精品专区 | 动漫精品啪啪一区二区三区| 久久综合伊人77777| 国产精品欧美在线观看| 久久99国产综合精品女同| 久久综合九色综合97婷婷| 国产精品30p| 免费看黄片一区二区三区| 毛片在线区| 91丨九色丨首页在线播放 | 日韩毛片在线播放| 亚洲美女一级毛片| 亚洲无线国产观看| 日韩麻豆小视频| 国产欧美视频综合二区| 国产成人精彩在线视频50| 日本精品中文字幕在线不卡| 精品国产aⅴ一区二区三区| 91精品啪在线观看国产91九色| 亚洲第一黄片大全| 国产一级无码不卡视频| 欧美午夜网站| 中文字幕不卡免费高清视频| 伊人久久大香线蕉成人综合网| 亚洲国产亚洲综合在线尤物| 特黄日韩免费一区二区三区| 欧美成人免费午夜全| 午夜欧美理论2019理论| 精品人妻系列无码专区久久| 亚洲愉拍一区二区精品| 久久久久国产精品熟女影院| 精品国产香蕉伊思人在线| 97青青青国产在线播放| 成年人视频一区二区| 狠狠色综合久久狠狠色综合| 亚洲男女在线| 91精品网站| 欧美国产在线精品17p| a在线观看免费| 乱人伦中文视频在线观看免费| 欧美h在线观看| 亚洲一区第一页| 国产精品久久久久久久久久98| AV网站中文| 亚洲欧美在线综合一区二区三区| 国产一区成人| 91国内视频在线观看| 成人国产精品视频频| 日韩在线网址| 亚洲六月丁香六月婷婷蜜芽| 日韩国产精品无码一区二区三区 | 亚洲天堂色色人体| 亚洲免费三区| 国产精品私拍99pans大尺度 | 色首页AV在线| 国产精品久久自在自2021| 五月天香蕉视频国产亚| 免费jjzz在在线播放国产| 国产00高中生在线播放| 国产欧美在线观看一区| 91成人在线观看视频| 2021天堂在线亚洲精品专区| 亚洲欧美一区二区三区蜜芽| 国产在线啪| 女人一级毛片| 亚洲日韩高清无码| 日日拍夜夜嗷嗷叫国产| 女人一级毛片| 亚洲综合香蕉| 亚洲中文精品人人永久免费| 亚洲国产日韩一区| 中文字幕在线观看日本| 日本亚洲欧美在线| 日韩在线2020专区| 熟妇人妻无乱码中文字幕真矢织江| 原味小视频在线www国产| 丝袜美女被出水视频一区|