国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于嵌入式與OpenCV的目標(biāo)識(shí)別系統(tǒng)研究

2018-11-16 09:37邵彩幸劉明志
關(guān)鍵詞:級(jí)聯(lián)樹(shù)莓分類(lèi)器

邵彩幸,于 越,段 瓊,劉明志

(1.西南民族大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,四川 成都 610041;2.西南民族大學(xué)計(jì)算機(jī)系統(tǒng)國(guó)家民委重點(diǎn)實(shí)驗(yàn)室,四川 成都 610041)

人工智能的發(fā)展,使得通過(guò)圖像技術(shù)進(jìn)行物體識(shí)別發(fā)展迅速[1].使計(jì)算機(jī)視覺(jué)成為極具吸引力學(xué)科的原因之一是:它會(huì)使未來(lái)逐步變?yōu)楝F(xiàn)實(shí),人臉檢測(cè)就是例證[2].在李玉鵬等針對(duì)樹(shù)莓派的人臉識(shí)別考勤系統(tǒng)的開(kāi)發(fā)與實(shí)現(xiàn)中采用了騰訊優(yōu)圖人臉識(shí)別API來(lái)實(shí)現(xiàn)視頻流中人臉的識(shí)別[3];胡玉峰研究了在嵌入式環(huán)境下使用OpenCV提供的級(jí)聯(lián)分類(lèi)器實(shí)現(xiàn)視覺(jué)控制方向的定位追蹤眼睛[4];韓宇等采用了計(jì)算幀差和二值化等圖像處理要素,實(shí)現(xiàn)了在樹(shù)莓派硬件環(huán)境中對(duì)涌動(dòng)目標(biāo)的識(shí)別與跟蹤[5].袁晨等將Android與OpenCV函數(shù)庫(kù)相結(jié)合生成人臉檢測(cè)模塊的動(dòng)態(tài)庫(kù)[6].羅瑞奇等通過(guò)改進(jìn)傳統(tǒng)Haar-like特征提取算法實(shí)現(xiàn)了車(chē)輛識(shí)別[7].上述等研究人員的目標(biāo)識(shí)別方法實(shí)現(xiàn)了目標(biāo)識(shí)別的準(zhǔn)確性,但識(shí)別模塊采用僅為現(xiàn)有的級(jí)聯(lián)分類(lèi)器或第三方的API.本文使用OpenCV提供的級(jí)聯(lián)分類(lèi)器訓(xùn)練方法自行訓(xùn)練級(jí)聯(lián)分類(lèi)器,進(jìn)行鞋子的識(shí)別.經(jīng)實(shí)驗(yàn)測(cè)試表明該鞋子識(shí)別系統(tǒng)識(shí)別準(zhǔn)確率高,識(shí)別相對(duì)穩(wěn)定.

1 系統(tǒng)開(kāi)發(fā)環(huán)境

1.1 軟件開(kāi)發(fā)環(huán)境

Python是一種面向?qū)ο蟮慕忉屝陀?jì)算機(jī)編程語(yǔ)言,具有十分豐富且強(qiáng)大的數(shù)據(jù)庫(kù),它已經(jīng)逐步變成繼Java和C++之后的第三大程序開(kāi)發(fā)語(yǔ)言[8].在眾多項(xiàng)目研究經(jīng)驗(yàn)中發(fā)現(xiàn)Python語(yǔ)言靈活性大,可靠性高,因此本系統(tǒng)選用python作為主體開(kāi)發(fā)語(yǔ)言.

在界面設(shè)計(jì)上選用PyQt5作為開(kāi)發(fā)工具.PyQt是Python和Qt庫(kù)的融合,Qt本身強(qiáng)大的魅力,使得越來(lái)越多的Python程序員開(kāi)始用 PyQt進(jìn)行應(yīng)用程序的開(kāi)發(fā)[9].從理論上來(lái)說(shuō),凡是Python所涉及的開(kāi)源模塊在PyQt中都可以使用,同時(shí)PyQt完成了對(duì)Qt所有類(lèi)的封裝,也就繼承了Qt的開(kāi)發(fā)能力.從界面的美觀程度以及優(yōu)異的人機(jī)交互的程度來(lái)看,選用PyQt5進(jìn)行界面設(shè)計(jì)是必要且有優(yōu)勢(shì)的.在圖像識(shí)別實(shí)現(xiàn)上選用OpenCV作為主體框架.在圖像識(shí)別實(shí)現(xiàn)上選用OpenCV作為主體框架,這在實(shí)現(xiàn)圖像高級(jí)處理的過(guò)程中是必要的,如對(duì)目標(biāo)進(jìn)行分割、識(shí)別和3D重建,對(duì)圖片特征的檢測(cè)、跟蹤與運(yùn)動(dòng)分析[10].OpenCV內(nèi)置的強(qiáng)大數(shù)字圖像處理函數(shù),系統(tǒng)設(shè)計(jì)過(guò)程利用軟件編程思想減少了對(duì)硬件的依賴(lài),能夠很好地做到成本低、識(shí)別率高、復(fù)雜性低[11],這對(duì)于本系統(tǒng)實(shí)現(xiàn)模塊化的開(kāi)發(fā)是有利的.

樹(shù)莓派處于linux系統(tǒng)開(kāi)發(fā)環(huán)境,為實(shí)現(xiàn)上述所選用工具,需安裝如下開(kāi)發(fā)包:

Python 3.5.3、PyQt5、Python-OpenCv 3.4.1.

1.2 硬件開(kāi)發(fā)環(huán)境

本研究的目標(biāo)是在樹(shù)莓派為基礎(chǔ)的嵌入式開(kāi)發(fā)平臺(tái)上,能夠通過(guò)攝像頭進(jìn)行鞋子圖像的采集并傳輸回我們開(kāi)發(fā)的識(shí)別系統(tǒng),通過(guò)對(duì)圖像的處理與特征的提取實(shí)現(xiàn)鞋子目標(biāo)的識(shí)別與儲(chǔ)存.因?yàn)闃?shù)莓派的功能十分多樣,它幾乎具備PC機(jī)上的所有基本功能而且成本十分低廉,方便獲得,它能十分準(zhǔn)確的滿足我們進(jìn)行程序開(kāi)發(fā)的需求,因此我們選擇Raspberry Pi當(dāng)做我們程序開(kāi)發(fā)的設(shè)備端[12].樹(shù)莓派是一款只有信用卡大小的微型計(jì)算機(jī),本系統(tǒng)使用的開(kāi)發(fā)板型號(hào)是樹(shù)莓派 3B,它使用了 Broadcom BCM2837,1.2GHz,64位處理器芯片、1GB內(nèi)存,支持視頻輸入與影像輸出,并且能耗低、運(yùn)行穩(wěn)定,能完全滿足本系統(tǒng)的圖像處理需求.輸入設(shè)備本系統(tǒng)選用的是ov5647攝像頭,它通過(guò)CSI接口與樹(shù)莓派開(kāi)發(fā)板連接,由于樹(shù)莓派對(duì)該攝像頭有很好的兼容性,所以無(wú)需安裝額外的驅(qū)動(dòng),使用十分方便.它支持500w像素的圖像采集,能夠清晰的采集目標(biāo)圖像這對(duì)系統(tǒng)的識(shí)別過(guò)程有很大的幫助,能有效地的提高識(shí)別的精度與效率.

在圖1硬件結(jié)構(gòu)連接圖中,電源負(fù)責(zé)系統(tǒng)供電、攝像頭負(fù)責(zé)采集圖像樣本,顯示器負(fù)責(zé)顯示系統(tǒng)實(shí)時(shí)的處理結(jié)果,內(nèi)存負(fù)責(zé)對(duì)識(shí)別到的目標(biāo)進(jìn)行存儲(chǔ).

圖1 鞋子識(shí)別系統(tǒng)的硬件連接Fig.1 The hardware connection of the shoe recognition system

2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2.1 框架

系統(tǒng)的框架主要可由三個(gè)模塊組成,分別為圖像采集模塊、目標(biāo)識(shí)別模塊與圖像保存模塊,圖2為系統(tǒng)構(gòu)架.

2.2 工作流程

首先,引用 PiCamera庫(kù)進(jìn)行圖像采集,通過(guò)OpenCV的VideoCapture函數(shù)進(jìn)行圖像的讀取,并通過(guò)QLabel顯示在界面中.接下來(lái),調(diào)用OpenCV的CascadeClassifier的detectMultiscale方法對(duì)捕獲的圖像進(jìn)行特征的提取,這里的識(shí)別主要依靠自己訓(xùn)練的級(jí)聯(lián)分類(lèi)器來(lái)對(duì)圖像進(jìn)行處理.最后,對(duì)識(shí)別到的圖片進(jìn)行保存,系統(tǒng)流程圖如圖3所示:

圖2 系統(tǒng)架構(gòu)Fig.2 System structure

圖3 程序流程圖Fig.3 Program flow chart

2.3 目標(biāo)識(shí)別原理

目標(biāo)識(shí)別的模塊我們采用的是AdaBoost算法,AdaBoost(Adaptive Boosting)是 Boosting 算法中的一種,由Freund[13]提出.該算法提取圖片的類(lèi) Haar特征,接著從提取的特征中選取一系列的重要特征,在將這些重要數(shù)據(jù)分類(lèi)后,這一系列重要特征就可以組成一個(gè)級(jí)聯(lián)分類(lèi)器[14].所謂級(jí)聯(lián)分類(lèi)器,是指對(duì)目標(biāo)和非目標(biāo)進(jìn)行分類(lèi)的算法.本系統(tǒng)的目標(biāo)識(shí)別中采用的是Haar分類(lèi)器.Haar分類(lèi)器是將AdaBoost算法生成的強(qiáng)分類(lèi)器進(jìn)行級(jí)聯(lián)從而生成的分類(lèi)器,這個(gè)過(guò)程是先訓(xùn)練出一個(gè)級(jí)聯(lián)的分類(lèi)器,每一級(jí)都有相同的識(shí)別率進(jìn)入下一級(jí),大于閾值的進(jìn)入下一輪的搜索,當(dāng)通過(guò)分類(lèi)器的所有級(jí)時(shí),表明物體被識(shí)別[15].所以Haar分類(lèi)器可以有如下表示:

Haar分類(lèi)器 = Haar-like特征+積分圖+Ada-Boost+級(jí)聯(lián)

Haar特征是由Papageorgiou等[16-17]提出的,它是將圖像中黑色區(qū)域與白色區(qū)域的像素和相減而得到的黑色區(qū)域與白色區(qū)域的梯度變化的矩形特征,他反應(yīng)了圖像中相鄰區(qū)域之間像素灰度變化的情況[18].

Haar分類(lèi)將照強(qiáng)分類(lèi)器由簡(jiǎn)單到復(fù)雜的順序依次級(jí)聯(lián),從而達(dá)到目標(biāo)識(shí)別的準(zhǔn)確度.為了識(shí)別速度的提升,Haar分類(lèi)器使用 Haar-like特征表示人臉,使用積分圖實(shí)現(xiàn)特征數(shù)值的快速計(jì)算[19].積分圖是一個(gè)快速且有效的對(duì)一個(gè)網(wǎng)格的矩形子區(qū)域中計(jì)算和的數(shù)據(jù)結(jié)構(gòu)和算法.其數(shù)學(xué)表達(dá)式為:

其中 I(x,y)表示原圖像在(x,y)處的積分圖像,i(x',y')表示(x,y)處原始像.

當(dāng)積分圖構(gòu)建好之后,可以用積分圖進(jìn)行簡(jiǎn)單的預(yù)算得到圖像中任何矩陣區(qū)域的像素累加值,還可以通過(guò)兩個(gè)矩陣像素值的差來(lái)得到Haar-like特征.

2.4 Haar分類(lèi)器的制作

系統(tǒng)選用的級(jí)聯(lián)分類(lèi)器完全由自己訓(xùn)練,由于樹(shù)莓派的性能有限,所以該級(jí)聯(lián)分類(lèi)器是在PC機(jī)上進(jìn)行訓(xùn)練,然后再應(yīng)用到樹(shù)莓派上.利用OpenCV訓(xùn)練Haar特征分類(lèi)器,總體上包括3步:準(zhǔn)備正負(fù)樣本圖片、然后對(duì)正樣本圖片進(jìn)行裁剪和歸一化;通過(guò)執(zhí)行CreateSamples.exe建立分類(lèi)器所需要的正樣本集,執(zhí)行traincascade.exe來(lái)對(duì)正樣本與負(fù)樣本進(jìn)行逐級(jí)的訓(xùn)練,最后得到級(jí)聯(lián)分類(lèi)器的模型文件[20].我們共采集正樣本600張,負(fù)樣本1800張.所謂正樣本就是圖片中帶有鞋子的樣本圖片,負(fù)樣本就是圖片中沒(méi)有鞋子的樣本圖片,圖4是訓(xùn)練級(jí)聯(lián)分類(lèi)器的流程圖.

對(duì)收集的圖片進(jìn)行批處理,求處理為命名統(tǒng)一,格式一致,大小相同的文件(一般大小為50?50或30?30).使用 OpenCV封裝的 OpenCV_createsamples.exe生成正樣本矢量集.vec文件.在Windows的DOS命令執(zhí)行窗口中鍵入:

opencv_ createsamples.exe-info pos\\pos.dat-vec pos\\pos.vec-num 800-w 30-h 30 pause

其中-info描述正樣本所在的文件路徑,-vec描述生成的正樣本矢量集所在的文件夾,-num描述正樣本數(shù)量-w與-h分別描述圖片的寬與高(以像素為單位).

級(jí)聯(lián)分類(lèi)器的訓(xùn)練主要使用OpenCV封裝的opencv_traincascade.exe,在 windows的 DOS 命令執(zhí)行窗口中鍵入如下指令:

opencv_traincascade.exe-data data-shose-vec pos.vec-bg neg\\neg.dat-numPos 29-numNeg 29-numStages 20-mem 200-featureType HAAR-w 30-h 30

其中-data主要描述級(jí)聯(lián)分類(lèi)器的存儲(chǔ)路徑,-vec用于描述正樣本vec文件的路徑,-bg用于描述負(fù)樣本信息路徑;-numPos描述每級(jí)分類(lèi)器訓(xùn)練時(shí)所用的正樣本數(shù)目,-numNe描述每級(jí)分類(lèi)器訓(xùn)練時(shí)所用的負(fù)樣本數(shù)目,-numStages描述訓(xùn)練的分類(lèi)器的級(jí)數(shù),在-featureType特征類(lèi)型的選用中選擇HAAR特征,-w與-h描述正負(fù)樣本的大小.

圖4 級(jí)聯(lián)分類(lèi)器的訓(xùn)練流程Fig.4 Cascading classifier training process

3 成果展示與分析

為了測(cè)試系統(tǒng)的識(shí)別精度與識(shí)別速度,選定自然光線下的復(fù)雜背景作為測(cè)試的主要背景,測(cè)試的圖像樣本分為如下三組:

第一組:深色系鞋子的樣本;

第二組:淺色系鞋子的樣本;

第三組:顏色由深到淺的鞋子樣本.

在識(shí)別系統(tǒng)中,由于OpenCV在識(shí)別鞋子之前會(huì)將所有圖像進(jìn)行灰度化處理,為了節(jié)省圖像灰度化的

圖5 對(duì)深色樣本的識(shí)別結(jié)果Fig.5 Recognition result for dark samples

從系統(tǒng)對(duì)鞋子顏色由深到淺的相關(guān)樣本識(shí)別結(jié)果可以看出,對(duì)有一定灰度或者鞋子上有一定灰度標(biāo)志的鞋子可以進(jìn)行明確且標(biāo)準(zhǔn)地識(shí)別,識(shí)別速度快,時(shí)間更快地看到測(cè)試結(jié)果,因此測(cè)試選取的樣本均為灰度化預(yù)處理后的樣本.

在測(cè)試結(jié)果中可以發(fā)現(xiàn),系統(tǒng)對(duì)深色系鞋子的識(shí)別度較高,識(shí)別速度快,識(shí)別過(guò)程穩(wěn)定,不會(huì)再樣本移動(dòng)過(guò)程中中斷識(shí)別;系統(tǒng)對(duì)淺色系鞋子的識(shí)別能力較差(針對(duì)于純白色的鞋子樣本幾乎不能識(shí)別),但對(duì)已識(shí)別清晰的樣本可以保證識(shí)別速度不變,識(shí)別過(guò)程較為穩(wěn)定.具體識(shí)別情況可通過(guò)圖5與圖6的對(duì)比得到:識(shí)別過(guò)程相當(dāng)穩(wěn)定.具體情況可通過(guò)圖7得到.

圖6 對(duì)淺色樣本的識(shí)別結(jié)果Fig 6 Recognition result for light samples

通過(guò)三組樣本的測(cè)試可以明確本系統(tǒng)的鞋子目標(biāo)檢測(cè)功能具有80%以上的識(shí)別率,并且識(shí)別速度快,識(shí)別結(jié)果相當(dāng)穩(wěn)定.通過(guò)系統(tǒng)識(shí)別反思得到,淺色系鞋子樣本不能清晰識(shí)別的原因在于,制作級(jí)聯(lián)分類(lèi)器時(shí)淺色系鞋子樣本選取基數(shù)小,導(dǎo)致訓(xùn)練級(jí)數(shù)不夠.對(duì)此應(yīng)該重新選擇較為全面的正樣本,進(jìn)行級(jí)數(shù)更高的訓(xùn)練.

圖7 對(duì)顏色由深到淺變化的樣本的識(shí)別結(jié)果Fig.7 Recognition result for samples with dark to light changes in color

4 結(jié)語(yǔ)

本文系統(tǒng)且詳細(xì)地介紹了識(shí)別過(guò)程中不同模塊的流程圖、功能流程圖以及各個(gè)核心功能的完整搭建過(guò)程,設(shè)計(jì)出了基于嵌入式與OpenCV的目標(biāo)識(shí)別系統(tǒng).利用Python語(yǔ)言與OpenCV想結(jié)合,融合數(shù)字圖像處理以及機(jī)器識(shí)別技術(shù),結(jié)合獨(dú)家訓(xùn)練出的級(jí)聯(lián)分類(lèi)器,該系統(tǒng)針對(duì)于隨意圖像中指定物體(本系統(tǒng)采用的是鞋子)的識(shí)別是清晰且準(zhǔn)確的.本文提出的通過(guò)機(jī)器視覺(jué)識(shí)別鞋子的構(gòu)想對(duì)于日后應(yīng)用于多功能圖像識(shí)別展示鏡的實(shí)現(xiàn)起到了測(cè)試以及肯定性作用.

猜你喜歡
級(jí)聯(lián)樹(shù)莓分類(lèi)器
鈾濃縮廠級(jí)聯(lián)系統(tǒng)核安全分析
基于樹(shù)莓派的騎行智能頭盔設(shè)計(jì)
富集中間組分同位素的級(jí)聯(lián)
—— “T”級(jí)聯(lián)
基于樹(shù)莓派的遠(yuǎn)程家居控制系統(tǒng)的設(shè)計(jì)
基于差異性測(cè)度的遙感自適應(yīng)分類(lèi)器選擇
基于實(shí)例的強(qiáng)分類(lèi)器快速集成方法
響應(yīng)面法優(yōu)化紅樹(shù)莓酒發(fā)酵工藝
基于層次化分類(lèi)器的遙感圖像飛機(jī)目標(biāo)檢測(cè)
一種基于置換的組合分類(lèi)器剪枝方法
整體級(jí)聯(lián)式增壓空氣冷卻器的進(jìn)氣模塊
威信县| 临海市| 公主岭市| 湖州市| 诏安县| 黑山县| 漾濞| 吉水县| 武功县| 安图县| 阜阳市| 临沭县| 道孚县| 满洲里市| 东明县| 邵东县| 马公市| 绥棱县| 上饶县| 文成县| 米泉市| 遂宁市| 桂平市| 杭州市| 玛纳斯县| 应城市| 木兰县| 白银市| 康定县| 临汾市| 长宁县| 静海县| 青州市| 丰原市| 禹城市| 壶关县| 高要市| 城固县| 大关县| 陆川县| 孟州市|