• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

      2018-11-16 09:37:28邵彩幸劉明志
      關(guān)鍵詞:樹莓級聯(lián)鞋子

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

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

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

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

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

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

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

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

      Python 3.5.3、PyQt5、Python-OpenCv 3.4.1.

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

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

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

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

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

      2.1 框架

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

      2.2 工作流程

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

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

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

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

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

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

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

      Haar分類將照強(qiáng)分類器由簡單到復(fù)雜的順序依次級聯(lián),從而達(dá)到目標(biāo)識別的準(zhǔn)確度.為了識別速度的提升,Haar分類器使用 Haar-like特征表示人臉,使用積分圖實(shí)現(xiàn)特征數(shù)值的快速計(jì)算[19].積分圖是一個快速且有效的對一個網(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)行簡單的預(yù)算得到圖像中任何矩陣區(qū)域的像素累加值,還可以通過兩個矩陣像素值的差來得到Haar-like特征.

      2.4 Haar分類器的制作

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

      對收集的圖片進(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分別描述圖片的寬與高(以像素為單位).

      級聯(lián)分類器的訓(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主要描述級聯(lián)分類器的存儲路徑,-vec用于描述正樣本vec文件的路徑,-bg用于描述負(fù)樣本信息路徑;-numPos描述每級分類器訓(xùn)練時所用的正樣本數(shù)目,-numNe描述每級分類器訓(xùn)練時所用的負(fù)樣本數(shù)目,-numStages描述訓(xùn)練的分類器的級數(shù),在-featureType特征類型的選用中選擇HAAR特征,-w與-h描述正負(fù)樣本的大小.

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

      3 成果展示與分析

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

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

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

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

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

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

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

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

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

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

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

      4 結(jié)語

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

      猜你喜歡
      樹莓級聯(lián)鞋子
      基于樹莓派的騎行智能頭盔設(shè)計(jì)
      電子制作(2019年11期)2019-07-04 00:34:32
      倒霉的新鞋子
      大灰狼(2018年10期)2018-10-31 14:47:16
      混亂的鞋子
      基于樹莓派的遠(yuǎn)程家居控制系統(tǒng)的設(shè)計(jì)
      電子制作(2017年17期)2017-12-18 06:40:43
      級聯(lián)LDPC碼的STBC-OFDM系統(tǒng)
      電子制作(2016年15期)2017-01-15 13:39:09
      多么幸福
      當(dāng)媽前后
      特別文摘(2016年2期)2016-04-27 05:26:14
      基于級聯(lián)MUSIC的面陣中的二維DOA估計(jì)算法
      響應(yīng)面法優(yōu)化紅樹莓酒發(fā)酵工藝
      中國釀造(2016年12期)2016-03-01 03:08:19
      LCL濾波器在6kV級聯(lián)STATCOM中的應(yīng)用
      電測與儀表(2014年1期)2014-04-04 12:00:34
      边坝县| 大兴区| 兴隆县| 丘北县| 都兰县| 河西区| 施甸县| 沙田区| 盘山县| 香格里拉县| 堆龙德庆县| 沾益县| 连江县| 河池市| 平远县| 合作市| 封丘县| 福建省| 米林县| 海丰县| 武陟县| 体育| 武宣县| 定兴县| 饶河县| 广元市| 贡嘎县| 任丘市| 淮安市| 本溪市| 莱芜市| 大竹县| 淳安县| 高平市| 个旧市| 大丰市| 普定县| 偃师市| 海晏县| 庐江县| 珠海市|