服務(wù)近2000家企業(yè),依托一系列實(shí)踐中打磨過(guò)的技術(shù)和產(chǎn)品,根據(jù)企業(yè)的具體業(yè)務(wù)問(wèn)題和需求,針對(duì)性的提供各行業(yè)大數(shù)據(jù)解決方案。
目標(biāo)檢測(cè)-圖片視頻識(shí)別系統(tǒng)
來(lái)源:未知 時(shí)間:2021-41-9 瀏覽次數(shù):211次
目標(biāo)檢測(cè)(Object Detection)的任務(wù)是找出圖像中所有感興趣的目標(biāo)(物體),確定它們的類別和位置,是計(jì)算機(jī)視覺(jué)領(lǐng)域的核心問(wèn)題之一。由于各類物體有不同的外觀、形狀和姿態(tài),加上成像時(shí)光照、遮擋等因素的干擾,目標(biāo)檢測(cè)一直是計(jì)算機(jī)視覺(jué)領(lǐng)域最具有挑戰(zhàn)性的問(wèn)題。該軟件實(shí)現(xiàn)了目標(biāo)視頻檢測(cè)過(guò)程,訓(xùn)練好的模型可直接做預(yù)測(cè),也可以做二次訓(xùn)練
一、工程內(nèi)容
這個(gè)程序是基于tensorflow實(shí)現(xiàn)Fast-RCNN功能。
二、開發(fā)環(huán)境
Ubuntu16.04(i5-7500 + GTX 1070Ti ) + python3.5 + tensorflow1.3 + cv2 + roi-pooling
roi-pooling :是需要額外安裝的op
github地址為:https://github.com/deepsense-ai/roi-pooling
安裝的必須條件:linux系統(tǒng) + GPU
安裝過(guò)程的坑:注意makefile文件中cuda的安裝路徑是否與自己電腦上的安裝路徑一致
tensorflow1.4以上版本還可能涉及到動(dòng)態(tài)庫(kù)的問(wèn)題,不過(guò)網(wǎng)上都有解決方案
三.數(shù)據(jù)集
通用數(shù)據(jù)集:
數(shù)據(jù)集來(lái)源:北京理工大學(xué)BIT車輛數(shù)據(jù)集(1萬(wàn)張照片、6類車輛)
數(shù)據(jù)集數(shù)量:從1萬(wàn)張中選取了2100張,每一類350張。
數(shù)據(jù)集制作:由于數(shù)據(jù)源沒(méi)有帶xml文件,帶了mat文件,所以重新制作了PASCAL VOC格式的xml標(biāo)注文件。
數(shù)據(jù)集下載地址:https://pan.baidu.com/s/1X-8E5eGldAfTHdyJXlFllA 密碼:ivq8
自己用的數(shù)據(jù)集:接觸網(wǎng)6C成像圖(由于在車數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果被誤刪了、所以下面用此數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果展示)
四、程序說(shuō)明
1、config.py---網(wǎng)絡(luò)定義、訓(xùn)練與數(shù)據(jù)處理所需要用到的參數(shù)
2、Net.py---用于定義Alexnet_Net模型
4、Data.py---用于處理數(shù)據(jù)的各種方法
5、train.py---用于各類模型的訓(xùn)練與測(cè)試、主函數(shù)
6、selectivesearch.py---選擇性搜索代碼
五、 文件夾說(shuō)明
1、Data:
Annotations--存放圖片標(biāo)注的xml文件(手動(dòng)存放)
Images --存放用于訓(xùn)練與測(cè)試的圖片(手動(dòng)存放)
Processes --存放處理xml文件之后形成圖片label信息的npy文件(程序執(zhí)行)
all_list.txt --存放圖片序號(hào) 用于處理與序號(hào)所對(duì)應(yīng)的xml文件,以形成label信息的npy文件(手動(dòng)存放)
test_list.txt --存放測(cè)試圖片序號(hào)(手動(dòng)存放)
train_list.txt --存放訓(xùn)練圖片序號(hào)(手動(dòng)存放)
2、Output --存放訓(xùn)練過(guò)程的config文件、log文件、weight文件(程序執(zhí)行)
3、Test_output 圖片 -- 存放測(cè)試圖片的測(cè)試結(jié)果(程序執(zhí)行)
4、train_alexnet
存放Alexnet的在Imagenet上訓(xùn)練好的權(quán)重,用這個(gè)權(quán)重來(lái)finetune (手動(dòng)存放)
六、實(shí)驗(yàn)結(jié)果展示
自己用的數(shù)據(jù)集:接觸網(wǎng)6C成像圖(由于在車數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果被誤刪了、所以下面用此數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果展示
(只是為了驗(yàn)證自己寫的程序沒(méi)有錯(cuò)誤,并未經(jīng)過(guò)十分深入的調(diào)參,所以結(jié)果的準(zhǔn)確度應(yīng)該可用再提升)
檢測(cè)結(jié)果:

特征層可視化結(jié)果(第五個(gè)卷積層經(jīng)過(guò)relu后第49張?zhí)卣鲌D):


七、程序問(wèn)題
1.由于此次的程序大體上都是自己編寫,代碼或許不太健壯。在自己的環(huán)境下運(yùn)行過(guò)沒(méi)有問(wèn)題,如在其他環(huán)境下不能運(yùn)行應(yīng)該只需要微調(diào)下
2.程序使用流程:
---------------------訓(xùn)練過(guò)程---------------------------
A.將需要訓(xùn)練與測(cè)試的圖片放入Data/Images文件夾,將XML文件放入Data/Annotation文件夾
B.將要訓(xùn)練與測(cè)試圖片的編號(hào)寫入all_list,訓(xùn)練圖片的編號(hào)寫入train_list,測(cè)試圖片的編號(hào)寫入test_list
C.下載Alexnet預(yù)訓(xùn)練權(quán)重,放入Alexnet_weight文件夾。
權(quán)重下載地址:https://pan.baidu.com/s/1XhEpG_dNeUlnegH4zYxgrw 密碼:l7um
D.針對(duì)自己的項(xiàng)目修改config文件中的參數(shù)
E.將train.py中main函數(shù)的train改為True,開始訓(xùn)練
----------------------測(cè)試過(guò)程---------------------------
A.修改config中的weight_file改為你訓(xùn)練輸出的權(quán)重文件地址
B.修改train.py文件第29行為:
self.variable_to_restore = slim.get_variables_to_restore((exclude=[])
C.將train.py中main函數(shù)的train改為False,開始測(cè)試
3.Fast_RCNN檢測(cè)的準(zhǔn)確度與提取的候選框質(zhì)量有很大的關(guān)系、因此提取候選框的算法至關(guān)重要。
在我的數(shù)據(jù)集上selectivesearch提取候選框的效果并不好所以自己根據(jù)自己數(shù)據(jù)集的特點(diǎn)重新
寫了一個(gè)候選框提取的算法,以此達(dá)到了還算不錯(cuò)的效果。這里還是放上了selectivesearch的提取算法。
軟件下載 目標(biāo)檢測(cè)-圖片視頻識(shí)別系統(tǒng)1 http://filesearch.ixiera.com/XHEasyTST1.zip
目標(biāo)檢測(cè)-圖片視頻識(shí)別系統(tǒng)2 http://filesearch.ixiera.com/XHEasyTST2.zip
軟件下載 目標(biāo)檢測(cè)-圖片視頻識(shí)別系統(tǒng)1 http://filesearch.ixiera.com/XHEasyTST1.zip
目標(biāo)檢測(cè)-圖片視頻識(shí)別系統(tǒng)2 http://filesearch.ixiera.com/XHEasyTST2.zip