亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2019-10-18 06:40:40孫曉璇
        計算機系統(tǒng)應(yīng)用 2019年10期
        關(guān)鍵詞:檢測

        孫曉璇,張 磊,李 健

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

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

        隨著科技的進步與發(fā)展,計算機視覺迅速發(fā)展.其中,目標(biāo)檢測是計算機視覺領(lǐng)域的一個重要分支,它的主要任務(wù)是找出圖像中的目標(biāo)對象的位置信息,判斷目標(biāo)框中對象的類別,并為檢測到的所有目標(biāo)在圖像上畫出預(yù)測邊框.隨著深度學(xué)習(xí)相關(guān)技術(shù)的快速發(fā)展,計算機視覺領(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í)算法進行目標(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ù)集是繁瑣耗時的工作.除了傳統(tǒng)人工標(biāo)注的做法外,還可以使用OpenCV閾值過濾的方法[11],通過提取指定灰度值范圍內(nèi)的部分獲得目標(biāo)位置,但是這種方式對圖像的要求比較高,如果圖像中的目標(biāo)對象與背景顏色相近或者背景比較復(fù)雜的時候,就難以提取出圖像中的對象.

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

        1 算法介紹

        1.1 YOLOv3算法

        YOLOv3是一個融合多種先進算法思想構(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的較高準確率和YOLO系列檢測速度快的特點,同時還避免了網(wǎng)絡(luò)深度過深導(dǎo)致梯度消失.此外,YOLOv3 可以在 DarkNet、OpenCV、TensorFlow 等多種框架中實現(xiàn).本論文中使用基于 DarkNet實現(xiàn)的YOLOv3算法,使用Python和C++兩種語言完成實驗.

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

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

        1.2 SSD算法

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

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

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

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

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

        ImageNet[14]數(shù)據(jù)集是用于計算機視覺領(lǐng)域的大型圖像數(shù)據(jù)庫,數(shù)據(jù)集有1400多萬張圖圖像,涵蓋2萬多個類別,超過百萬的圖像有明確的類別標(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個對象類別.

        2.4 實驗數(shù)據(jù)集

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

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

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

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

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

        SSD 的數(shù)據(jù)集同樣包括標(biāo)簽和圖像兩部分.JPEGImages文件夾下存放圖像,Annotations文件夾下存放xml格式的標(biāo)簽文件,并且要求圖像的名稱與標(biāo)簽的名稱必須一致.SSD算法中,還有一個ImageSets文件夾下的main文件夾中存放test.txt、val.txt、train.txt、trainval.txt 4個文件,這4個文件中分別存放用來測試、驗證、訓(xùn)練、訓(xù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)容相似程度進行分析,目前廣泛應(yīng)用在圖像搜索、圖像過濾、目標(biāo)識別等領(lǐng)域.圖像相似度對比的方法有很多,包括:SIFT算法[16]、圖像直方圖相似度、哈希的圖像相似度等方法.圖像直方圖方式最簡單,但是圖像轉(zhuǎn)為直方圖丟失大量信息,誤判概率比較大.SIFT算法復(fù)雜,會產(chǎn)生大量SIFT特征向量,但是能夠識別圖像不超過25%的變形.根據(jù)實驗的需求,選擇了介于兩者算法性能、復(fù)雜度之間的哈希圖像相似度檢測算法.基于哈希的圖像相似度檢測算法包括:均值哈希算法、感知哈希算法和差異值哈希算法.以上三種相似度檢測算法分別適用于不同的應(yīng)用場景.差異值哈希算法在識別效果方面優(yōu)于均值哈希算法,不如感知哈希算法,但是在識別速度方面優(yōu)于感知哈希算法[17].本論文中,采用差異值哈希算法[18],可以在使用較少的時間實現(xiàn)較好的效果.使用差異值哈希算法,首先需要對圖像進行縮放,可以選擇縮放為 8×8、16×16、32×32 不同尺寸的圖像,然后,將圖像灰度化,接下來是對圖像差異值的計算,以縮放尺度9×8(差異值哈希得到8×8的圖像需要縮放成9×8,同樣16×16的需要縮放為17×16)為例,通過分別對9×8圖像的每一行中相鄰的兩個像素進行相減得到每個像素間的差異值,最后得到8×8的圖像哈希值.最終,通過兩張圖像哈希值的漢明距離計算,得到圖像的相似度.

        圖3 tfrecord格式

        4 架構(gòu)與流程

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

        階段一:獲取原始標(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)文件進行初篩,丟棄未檢測到目標(biāo)的圖像.同時,將原始數(shù)據(jù)集中的圖像輸入到已經(jīng)訓(xùn)練好的SSD模型,同上,保留適當(dāng)?shù)膱D像集和位置坐標(biāo)文件,并且對兩種方式獲得的檢測圖像按照boundingbox進行裁剪.

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

        階段三:人工圖像篩查.通過對原始圖像與檢測圖像的縮略圖快速對比,對階段二得到的圖像進行人工篩選,選擇正確的圖像與相應(yīng)的坐標(biāo)文件,得到最終的數(shù)據(jù)集.獲得的數(shù)據(jù)集,作為將來目標(biāo)檢測模型訓(xùn)練的訓(xùn)練數(shù)據(jù)集,使新訓(xùn)練的模型能夠正確分類.對于未檢測到目標(biāo)的圖像,根據(jù)模型在實際場景中是否達到預(yù)期效果,決定是否對圖像進行人工標(biāo)注,加入訓(xùn)練數(shù)據(jù)集,增強模型目標(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ù)據(jù)集代替人工標(biāo)注圖像,不僅加快了標(biāo)注速度,而且引入相似度對比、人工篩查的步驟,更好的保證了最終數(shù)據(jù)集的質(zhì)量.

        5 實驗過程

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

        5.1 實現(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)框進行裁剪,如圖6和圖7,對比兩組裁剪后圖像的相似度為17.輸入圖像大小對差異值相似度有影響[17],經(jīng)過對 8×8、16×16、32×32不同尺寸圖像的相似度檢測結(jié)果對比,8×8的圖像在減少計算量的同時較好的保留圖像信息.將裁剪后的圖像統(tǒng)一大小為9×8,再計算相似度,根據(jù)實驗測試,相似度閾值設(shè)置為30,當(dāng)相似度小于閾值的時候,認為兩張圖像相似,圖像和標(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 實驗結(jié)果

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

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

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

        6 結(jié)論與展望

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

        猜你喜歡
        檢測
        QC 檢測
        “不等式”檢測題
        “一元一次不等式”檢測題
        “一元一次不等式組”檢測題
        “幾何圖形”檢測題
        “角”檢測題
        “有理數(shù)的乘除法”檢測題
        “有理數(shù)”檢測題
        “角”檢測題
        “幾何圖形”檢測題
        久久久久成人精品无码中文字幕 | 亚洲va成无码人在线观看| 亚洲全国最大的人成网站| av深夜福利在线| 亚洲精品一区二区三区国产| 国产精品中文字幕日韩精品| 蜜桃18禁成人午夜免费网站| 久久精品国产成人| 男人无码视频在线观看| 欧美xxxx新一区二区三区 | 中文字幕一精品亚洲无线一区| www插插插无码免费视频网站| 精品无码久久久久久久动漫| 国产福利小视频91| 亚洲精品中字在线观看| 久久久久夜夜夜精品国产| 亚洲成人小说| 国产亚洲精品福利在线| 五十路一区二区中文字幕| 一本色道久久hezyo无码 | 久久精品国产精品青草色艺 | 不卡无毒免费毛片视频观看| 日本最新在线一区二区| 国内嫩模自拍诱惑免费视频| 久久天堂av综合合色| 一区二区传媒有限公司| 亚洲国产精品久久九色| 成人自拍偷拍视频在线观看| 又大又粗欧美黑人aaaaa片| 国农村精品国产自线拍| 国产成人AV乱码免费观看| 国产亚洲精品精品综合伦理| 少妇高潮av久久久久久| 人与嘼交av免费| 久久久精品中文无码字幕| 国产精品大片一区二区三区四区| 深夜爽爽动态图无遮无挡 | 小12萝8禁在线喷水观看| 亚洲免费无毛av一区二区三区| 日韩一级黄色片一区二区三区| a级毛片无码久久精品免费 |