<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > 實(shí)戰 | 實(shí)時(shí)的目標檢測與識別簡(jiǎn)單應用

實(shí)戰 | 實(shí)時(shí)的目標檢測與識別簡(jiǎn)單應用

發(fā)布人:CV研究院 時(shí)間:2021-06-14 來(lái)源:工程師 發(fā)布文章

一、問(wèn)題來(lái)源

最近總是有很多入門(mén)的朋友問(wèn)我,我進(jìn)入計算機視覺(jué)這個(gè)領(lǐng)域難不難?是不是要學(xué)習很多知識?到底哪個(gè)方向比較好?

1.jpg

這些問(wèn)題其實(shí)我也不好回答他們,只能衷心告訴他們,如果你對這領(lǐng)域特別感興趣,那你可以進(jìn)來(lái)試試玩玩,如果試過(guò)了玩過(guò)了,覺(jué)得這不是你喜歡的領(lǐng)域,那你可以立馬退出,選擇你喜歡的領(lǐng)域方向。我個(gè)人一直認為,科研這個(gè)東西,真的是要有興趣愛(ài)好,這是你動(dòng)力和創(chuàng )新的源泉。只有對自己選擇的領(lǐng)域有興趣,有動(dòng)力深入挖掘,我覺(jué)得一定會(huì )做得很好,可能還會(huì )創(chuàng )造出許多意想不到的結果。

如果現在你們入門(mén)的朋友,選擇了目標檢測類(lèi),你們可以沒(méi)事玩玩今天說(shuō)的框架和網(wǎng)絡(luò ),這個(gè)過(guò)程真的可以學(xué)習很多東西,只要你愿意花費時(shí)間和精力去深入,現在我們閑話(huà)少說(shuō),直接進(jìn)入正題。

二、我們來(lái)分析

正如我之前說(shuō)的:深度學(xué)習近期總結分析。在目標檢測中,有很多經(jīng)典的網(wǎng)絡(luò )框架,比如RCNN,SSP,Fast RCNN。其中Fast RCNN就使用Selective Search來(lái)進(jìn)行候選區域,但是速度依然不夠快。今天的主角(Faster R-CNN)則直接利用RPN(Region Proposal Networks)網(wǎng)絡(luò )來(lái)計算候選框。RPN以一張任意大小的圖片為輸入,輸出一批矩形候選區域,每個(gè)區域對應一個(gè)目標分數和位置信息。Faster R-CNN中的RPN結構如圖所示。

2.jpg

Faster RCNN的主要步驟如下:

特征提?。和現ast RCNN,以整張圖片為輸入,利用CNN得到圖片的特征層;

候選區域:在最終的卷積特征層上利用k個(gè)不同的矩形框(Anchor Box)進(jìn)行提名,k一般取9;

分類(lèi)與回歸:對每個(gè)Anchor Box對應的區域進(jìn)行object/non-object二分類(lèi),并用k個(gè)回歸模型(各自對應不同的Anchor Box)微調候選框位置與大小,最后進(jìn)行目標分類(lèi)。

總之,Faster RCNN拋棄了Selective Search,引入了RPN網(wǎng)絡(luò ),使得候選區域、分類(lèi)、回歸一起共用卷積特征,從而得到了進(jìn)一步的加速。但是,Faster RCNN需要對兩萬(wàn)個(gè)Anchor Box先判斷是否是目標(目標判定),然后再進(jìn)行目標識別,分成了兩步。

今天就來(lái)講講怎么簡(jiǎn)單操作該網(wǎng)絡(luò ),以便后期有興趣的朋友再次基礎上做出改進(jìn)。

三、簡(jiǎn)單入門(mén)實(shí)踐

git官網(wǎng)的py-faster-rcnn源碼

終端輸入:cd /home/**(您服務(wù)器的名字)

                    git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git

生成Cython模塊

終端輸入:cd /home/**(您服務(wù)器的名字)/py-faster-rcnn/lib

                   make

生成Caffe和pycaffe

終端輸入:cd /home/**(您服務(wù)器的名字)/py-faster-rcnn/caffe-fast-rcnn

                    cp Makefile.config.example Makefile.config

打開(kāi)Makefile.config,修改之處可以根據您自己需求修改(比如你要使用Python,GPU等功能)

保存退出。

終端輸入:cd /home/**(您服務(wù)器的名字)/py-faster-rcnn/caffe-fast-rcnn

                    mkdir build

                    cd build

                    cmake ..(注意這是兩個(gè)句點(diǎn),不要忘記)

                    make all -j16("‐j16"是使用 CPU 的多核進(jìn)行編譯,可以提速,根據您自己

                    硬件調整)

                    make install

                    make runtest -j16

                    make pycaffe(編譯pycaffe)

下載fetch_fast_rcnn_models

終端輸入:cd /home/**(您服務(wù)器的名字)/py-faster-rcnn

                    ./data/scripts/fetch_faster_rcnn_models.sh

運行demo.py

終端輸入:cd /home/home/**(您服務(wù)器的名字)/py-faster-rcnn/tools

                    ./demo.py

3.png

到這幾,基本的都完成了,接下來(lái)就是實(shí)現自己的數據train和demo。

1

首先制作自己的數據集

(如果您用公共數據集,那就可以忽略這步驟)

保留data/VOCdevkit2007/VOC2007/Annotations和ImageSets和JPEGImages文件夾名稱(chēng),刪除其中所有的文件(保留文件夾)。其中Annotations保存標簽txt轉換的xml文件,ImageSets保存train.txt、trainval.txt、test.txt、val.txt四個(gè)文件分別儲存在layout、main和Segmentation文件夾中,最后JPEGImages保存所訓練的數據。

然后,Annotations中xml文件的制作。該部分的代碼我會(huì )放在公眾平臺的共享文件菜單中。最后做出來(lái)的效果就是如下所示:

4.png

最終生成的格式如下:

5.jpg

最后在ImageSets中的trainval文件中,根據你自己來(lái)劃分!

2

修改參數和文件

 prototxt配置文件

models/pascal_voc/ZF/faster_rcnn_alt_opt文件夾下的5個(gè)文件,分別為:stage1_rpn_train.pt、stage1_fast_rcnn_train.pt、stage2_rpn_train.pt、stage2_fast_rcnn_train.pt和fast_rcnn_test.pt,修改格式如下:

(1)stage1_fast_rcnn_train.pt和stage2_fast_rcnn_train.pt修改參數:

num_class:2(識別1類(lèi)+背景1類(lèi)),cls_score中num_output:2,bbox_pred中num_output:8

(2)stage1_rpn_train.pt和stage2_rpn_train.pt修改參數:

num_class:2(識別1類(lèi)+背景1類(lèi))

(3)fast_rcnn_test.pt修改參數:

cls_score中num_output:2,bbox_pred中num_output:8(只有這2個(gè))

修改lib/datasets/pascal_voc.py

self._classes = ('__background__', # always index 0  'zongzi')(只有這一類(lèi))

修改lib/datasets/imdb.py

數據整理,在一行代碼為:

boxes[:, 2] = widths[i] - oldx1 - 1  下加入代碼:

 for b in range(len(boxes)):

      if boxes[b][2]< boxes[b][0]:

         boxes[b][0] = 0

修改完pascal_voc.py和imdb.py后進(jìn)入lib/datasets目錄下刪除原來(lái)的pascal_voc.pyc和imdb.pyc文件,重新生成這兩個(gè)文件,因為這兩個(gè)文件是python編譯后的文件,系統會(huì )直接調用。

終端進(jìn)入lib/datasets文件目錄輸入:

python(此處應出現python的版本)

>>>importpy_compile

>>>py_compile.compile(r'imdb.py')

>>>py_compile.compile(r'pascal_voc.py')

3

現在我們開(kāi)始訓練自己數據

終端進(jìn)入py-faster-rcnn下輸入:

./experiments/scripts/faster_rcnn_alt_opt.sh0 ZF pascal_voc

4

運行demo

運行demo,即在py-faster-rcnn文件夾下終端輸入:

./tools/demo.py --net zf

其中修改/tools/demo.py為:

(1) CLASSES =('__background__',  'zongzi')

(2) NETS ={'vgg16': ('VGG16', 'VGG16_faster_rcnn_final.caffemodel'),

                     'zf': ('ZF', 'ZF_faster_rcnn_final.caffemodel')}

四、實(shí)驗效果

注:有部分目標沒(méi)有檢測出來(lái),可能是由于目標遮擋,重疊造成,所以往后需要我們大家做的就是,怎么去解決實(shí)際生活中遇到的種種問(wèn)題,利用所學(xué)的知識和自己的創(chuàng )新去改進(jìn),優(yōu)化!

由于今天是端午假,大家都會(huì )吃粽子,所以今天的目標檢測就是“粽子”,通過(guò)各種渠道得到粽子的訓練和測試數據集,最后得到如下部分的結果可視化圖。

6.jpg

*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。

光耦相關(guān)文章:光耦原理


萬(wàn)用表相關(guān)文章:萬(wàn)用表怎么用


斷路器相關(guān)文章:斷路器原理


高壓真空斷路器相關(guān)文章:高壓真空斷路器原理
漏電斷路器相關(guān)文章:漏電斷路器原理


關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>