張林,吳振強(qiáng)
(1.商洛學(xué)院數(shù)學(xué)與計(jì)算機(jī)應(yīng)用學(xué)院,陜西商洛726000;2.陜西師范大學(xué)計(jì)算機(jī)學(xué)院,陜西西安710062)
基于OpenCV的圖像特征智能識(shí)別系統(tǒng)設(shè)計(jì)
張林1,吳振強(qiáng)2
(1.商洛學(xué)院數(shù)學(xué)與計(jì)算機(jī)應(yīng)用學(xué)院,陜西商洛726000;2.陜西師范大學(xué)計(jì)算機(jī)學(xué)院,陜西西安710062)
對(duì)于圖像監(jiān)控而言,多數(shù)監(jiān)控只是簡(jiǎn)單的捕捉圖像、處理圖像,最后再通過人工進(jìn)行識(shí)別,缺少智能監(jiān)控,特別是針對(duì)某一特定需求的特征識(shí)別。本文設(shè)計(jì)一種基于OpenCV的圖像智能識(shí)別系統(tǒng),利用攝像頭采集圖像,通過OpenCV的相關(guān)函數(shù)進(jìn)行特征圖像的識(shí)別。針對(duì)食品藥品加工過程中的特定問題進(jìn)行模擬,實(shí)驗(yàn)表明,該系統(tǒng)具有較好的識(shí)別速度和識(shí)別效率,具有一定的實(shí)用性。
OpenCV;視頻圖像;人臉識(shí)別;特征圖像
隨著國(guó)家經(jīng)濟(jì)建設(shè)持續(xù)快速發(fā)展,人民生活水平日益提高,人們對(duì)食品藥品質(zhì)量安全的要求越來越高。這就需要在食品藥品生產(chǎn)環(huán)節(jié)中加大監(jiān)管力度,以保證生產(chǎn)環(huán)節(jié)安全規(guī)范,這一趨勢(shì),促使市場(chǎng)對(duì)監(jiān)控產(chǎn)品的需求不斷增加。這些需求促進(jìn)著現(xiàn)有的監(jiān)控系統(tǒng)的不斷完善和發(fā)展,并向智能化、網(wǎng)絡(luò)化的方向不斷邁進(jìn)。
現(xiàn)階段無(wú)論是在教育,交通,生產(chǎn)和安保等領(lǐng)域的大多數(shù)監(jiān)控系統(tǒng)僅僅是簡(jiǎn)單的捕捉圖像、處理圖像、傳播和儲(chǔ)存圖像,采集的信息多數(shù)需要人工進(jìn)行識(shí)別。人在不同的疲勞程度下,工作的效率會(huì)有顯著差別,因而人工識(shí)別往往容易出現(xiàn)錯(cuò)誤、或者遺漏的情況。隨著監(jiān)控范圍的不斷擴(kuò)大,采集的信息不斷增加,對(duì)生產(chǎn)過程的管理更加嚴(yán)格,人工識(shí)別的方式已經(jīng)滿足不了市場(chǎng)的需求。此時(shí)就需要借助計(jì)算機(jī)進(jìn)行智能監(jiān)控,使計(jì)算機(jī)像人一樣對(duì)監(jiān)控范圍內(nèi)的特征物品進(jìn)行智能識(shí)別。計(jì)算機(jī)具有識(shí)別準(zhǔn)確,標(biāo)準(zhǔn)統(tǒng)一,不疲勞和處理速度快的特點(diǎn),能夠處理大量的信息,因此視頻監(jiān)控系統(tǒng)的智能化成為了人們的迫切需求。
就目前來看,已有的智能監(jiān)控系統(tǒng)功能都比較單一,僅限于現(xiàn)場(chǎng)視頻錄制、事后回放、實(shí)時(shí)監(jiān)測(cè)等;對(duì)于違規(guī)事件的發(fā)現(xiàn),通常需要持續(xù)不斷的人工監(jiān)視,手工回放查找,效率低下,容易造成巨大的人力浪費(fèi);而且沒有一種針對(duì)某一特定行業(yè)的圖像特征智能識(shí)別算法可以滿足特定工作間監(jiān)控的需求。本文從圖像的特征入手,針對(duì)食品藥品生產(chǎn)監(jiān)控中的一些違規(guī)現(xiàn)象,研究自動(dòng)設(shè)別工作中的違規(guī)行為,并進(jìn)行報(bào)警處理,從而實(shí)現(xiàn)工作的智能化管理。在具體的系統(tǒng)設(shè)計(jì)中,利用圖像的Harr特征,采用開源的OpenCV下的分類器檢測(cè)出人眼的位置,然后對(duì)特定區(qū)域進(jìn)行檢測(cè),確定是否有違規(guī)行為。
1)OpenCV
OpenCV[1],全稱是Open Source Computer Vision Library。OpenCV是一個(gè)基于(開源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺庫(kù),可以運(yùn)行在Linux、Windows和Mac OS操作系統(tǒng)上。它輕量級(jí)而且高效——由一系列C函數(shù)和少量C++類構(gòu)成,同時(shí)提供了Python、Ruby、MATLAB等語(yǔ)言的接口,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺方面的很多通用算法。OpenCV擁有包括300多個(gè)C函數(shù)的跨平臺(tái)的中、高層API。它不依賴于其它的外部庫(kù)——盡管也可以使用某些外部庫(kù)。OpenCV為Intel? Integrated Performance Primitives(IPP)提供了透明接口。這意味著如果有為特定處理器優(yōu)化的的IPP庫(kù),OpenCV將在運(yùn)行時(shí)自動(dòng)加載這些庫(kù)。
2)人臉檢測(cè)原理
對(duì)人臉檢測(cè)的研究從上世界70年代就已經(jīng)開始,目前的人臉檢測(cè)主要集中在基于數(shù)據(jù)驅(qū)動(dòng)的學(xué)習(xí)方法,如統(tǒng)計(jì)學(xué)模型方法、神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)方法等。在實(shí)際中應(yīng)用廣泛的多為基于Adaboost算法的方法[2-3]。
人臉檢測(cè)方法是一種基于積分圖、級(jí)聯(lián)檢測(cè)器和AdaBoost算法的方法,由以下3部分組成:
①使用Harr特征表示人臉,使用“積分圖”實(shí)現(xiàn)特征數(shù)值的快速計(jì)算。
②使用Adaboost算法挑選出一些最能代表人臉的矩形特征(弱分類器),按照加權(quán)投票的方式將弱分類器構(gòu)造為一個(gè)強(qiáng)分類器。
③將訓(xùn)練得到的若干強(qiáng)分類器串聯(lián)組成一個(gè)級(jí)聯(lián)結(jié)構(gòu)的層疊分類器。級(jí)聯(lián)結(jié)構(gòu)可以提高分類器的檢測(cè)速度。
在具體的檢測(cè)過程中就是從圖片中找出所有包含人臉的子窗口,將人臉的子窗口與非人臉的子窗口分開[4],步驟如下:
①在一個(gè)20*20的圖片提取一些簡(jiǎn)單的特征(稱為Haar特征),如圖1所示。
圖1 Haar特征Fig.1Haar features
它的處理方法就是將白色區(qū)域內(nèi)的像素和減去黑色區(qū)域,在人臉與非人臉圖片的相同位置上,值的大小是不一樣的,這些特征可以用來區(qū)分人臉和非人臉(如圖2)。
圖2 人臉區(qū)分Fig.2Face to distinguish
②使用處理好的人臉圖片,和背景圖片一起作為訓(xùn)練樣本。在大量的訓(xùn)練樣本中,通過AdaBoost算法挑選數(shù)千個(gè)有效的Haar特征來組成人臉檢測(cè)器(如圖3)。
人臉檢測(cè)在實(shí)際中主要用于人臉識(shí)別的預(yù)處理,即在圖像中準(zhǔn)確標(biāo)定出人臉的位置和大小。AdaBoost人臉檢測(cè)雖然復(fù)雜,但是利用OpenCV提供的函數(shù)和分類器將變得很容易[5]。
圖3 Haar特征挑選Fig.3Haar feature selection
采用開源的OpenCV提供的分類器,直接檢測(cè)出人臉并框出人臉?biāo)诘木匦螀^(qū)域,屬于統(tǒng)計(jì)理論的方法。利用樣本的Haar特征進(jìn)行分類器訓(xùn)練,得到一個(gè)級(jí)聯(lián)的boosted分類器。訓(xùn)練樣本分為正樣本和負(fù)樣本,其中正樣本是指待檢目標(biāo)樣本,負(fù)樣本是指其他任意圖片,所有的樣本都被處理為同樣的尺寸。分類器訓(xùn)練完成以后,就可以應(yīng)用于采集圖像中感興趣區(qū)域的檢測(cè)。
在目標(biāo)檢測(cè)中,分類器中的級(jí)聯(lián)是指最終的分類器是由幾個(gè)簡(jiǎn)單分類器級(jí)聯(lián)組成。在圖像檢測(cè)中,被檢測(cè)的窗口依次通過每一級(jí)分類器,這樣在最初的幾層檢測(cè)中大部分的候選區(qū)域就被排除,全部通過每一級(jí)分類檢測(cè)器的區(qū)域即為目標(biāo)區(qū)域[6]。
本系統(tǒng)針對(duì)食品藥品管理中的特定問題設(shè)定,主要針對(duì)一些違規(guī)的現(xiàn)象,比如進(jìn)操作間不戴口罩或者帽子等行為,能夠快速準(zhǔn)確的識(shí)別出違規(guī)行為,以正確的方式進(jìn)行報(bào)警,記錄違規(guī)行為,實(shí)現(xiàn)無(wú)人監(jiān)管,節(jié)約成本,同時(shí)提升生產(chǎn)的規(guī)范化,提高產(chǎn)品質(zhì)量。
2.1系統(tǒng)流程
系統(tǒng)數(shù)據(jù)處理流程如圖4所示。
圖4 數(shù)據(jù)處理流程圖Fig.4The flow chart of data processing
2.2系統(tǒng)的總體結(jié)構(gòu)設(shè)計(jì)
系統(tǒng)項(xiàng)目模塊如圖5所示。
圖5 項(xiàng)目功能模塊圖Fig.5The functional module chart project
2.2.1違規(guī)行為識(shí)別模塊
1)程序描述
為了描述方便,本系統(tǒng)設(shè)定正常情況下工作人員所戴的帽子和口罩是白色的。在此假設(shè)條件下,程序模塊首先對(duì)攝像頭獲取的靜態(tài)的幀圖像進(jìn)行處理,通過膚色提取找到眼睛,然后在眼睛上下區(qū)域取需要判斷特征點(diǎn)的區(qū)域,進(jìn)行顏色識(shí)別。如果特征點(diǎn)檢測(cè)為白色,即認(rèn)為工作人員著裝正常;否則識(shí)別出違規(guī)行為,即帽子、口罩佩戴異常。
2)算法
基本算法就是先將圖像中膚色部位提取出來,然后通過訓(xùn)練級(jí)聯(lián)分類器的方法,判斷人眼部位,然后在人眼上下區(qū)域取特征點(diǎn)判斷顏色是否為白色,最后判斷帽子和口罩的存在。
膚色區(qū)域提取主要包括兩個(gè)步驟:面部區(qū)域的選定和膚色區(qū)域的提取。面部區(qū)域的選定用到人臉檢測(cè)的方法,然后根據(jù)統(tǒng)計(jì)學(xué)的方法,基于膚色區(qū)域的聚類特性,采用大量的膚色圖片構(gòu)造出膚色模型查找表,利用這個(gè)表查找提取出膚色區(qū)域。
3)流程邏輯
違規(guī)行為識(shí)別模塊的流程邏輯如圖6所示。
圖6 違規(guī)行為識(shí)別模塊流程邏輯圖Fig.6Irregularities recognition module flow chart
4)關(guān)鍵技術(shù)
(a)圖像的獲取:通過攝像頭捕獲的視頻中截取靜態(tài)的幀圖像。
(b)預(yù)處理:人臉特征識(shí)別的預(yù)處理是首先找出人眼所在區(qū)域,然后通過判斷提取到的是否為人的眼睛,將不是人眼的錯(cuò)誤點(diǎn)排除,再通過人眼所在區(qū)域向上和向下分別取點(diǎn)進(jìn)而判斷是否為特征物。因而將截取的靜態(tài)幀圖像進(jìn)行預(yù)處理是非常重要的過程,預(yù)處理過程一般包含以下3步:
①將圖像轉(zhuǎn)換為灰度圖像,并調(diào)整圖像的尺寸,得到統(tǒng)一大小的校準(zhǔn)圖像。
②圖像利用邊緣檢測(cè)canny算法,檢測(cè)出圖像的邊緣。
③直方圖均衡化,以部分消除光線和光照強(qiáng)度的影響,增強(qiáng)檢測(cè)結(jié)果的正確性。
直方圖均衡化處理是把原始圖像的灰度直方圖從比較集中的某個(gè)灰度區(qū)間變成在全部灰度范圍內(nèi)的均勻分布,以增強(qiáng)像素灰度值的動(dòng)態(tài)范圍,以達(dá)到提高圖像整體對(duì)比度的效果[4]。
2.2.2違規(guī)視頻和圖片存儲(chǔ)模塊
此模塊是將違規(guī)行為的視頻和圖像存儲(chǔ)起來,即程序?qū)⑴袛酁椴淮髅弊踊蚩谡值膱D像進(jìn)行存儲(chǔ),以備后期查看驗(yàn)證。
2.2.3自動(dòng)預(yù)警處理模塊
該模塊能夠記錄違規(guī)操作,即檢驗(yàn)到有違規(guī)操作并且成功紀(jì)錄,同時(shí)在保證成功紀(jì)錄的情況下自動(dòng)通知監(jiān)管人員或部門,做出相應(yīng)的處理措施。
由于OpenCV 2.4.4的安裝平臺(tái)為32位XP或者64位win7,因此本系統(tǒng)在Windows7平臺(tái)上,在VC 2010下安裝OpenCV2.4.4。
3.1接口實(shí)現(xiàn)
用戶接口主要是通過圖形化的界面來將系統(tǒng)的各項(xiàng)功能、應(yīng)用程序和文件直觀的表現(xiàn)出來。圖形用戶接口元素包括窗口、圖標(biāo)、菜單和對(duì)話框,圖形用戶接口元素的基本操作包括菜單操作、窗口操作和對(duì)話框操作等。
用戶在系統(tǒng)運(yùn)行時(shí)可以隨時(shí)通過主界面的菜單或?qū)υ捒虻葓D形界面對(duì)各個(gè)攝像頭所拍攝的畫面以及攝像頭進(jìn)行操作;用戶同時(shí)也可以對(duì)系統(tǒng)已經(jīng)截取的圖像和已發(fā)出的警告和報(bào)警進(jìn)行一系列操作。
軟件接口:與操作系統(tǒng)的接口,windows 2000以上。
硬件接口:該系統(tǒng)與監(jiān)控的攝像頭的接口,及通過網(wǎng)絡(luò)等方式上傳數(shù)據(jù)及圖像的接口。
3.2系統(tǒng)測(cè)試
1)測(cè)試環(huán)境
操作系統(tǒng):win7 64位操作系統(tǒng)。
應(yīng)用軟件:VC2010,OpenCV,電腦自帶攝像頭。
2)測(cè)試過程
為了簡(jiǎn)單起見,設(shè)定不戴口罩和不戴帽子屬于違規(guī)行為,分了下面M1,M2,M3,M4 4種情況,如圖7所示。
圖7 4種違規(guī)情況Fig.7Four kinds of violations
上述4種情況,分別在單人和多人情況下進(jìn)行測(cè)試,實(shí)驗(yàn)在不同的時(shí)間段,對(duì)單人和多人不同的情況進(jìn)行測(cè)試,總共進(jìn)行200次測(cè)試,如果忽略光線和設(shè)備帶來的影響,測(cè)試結(jié)果與預(yù)期結(jié)果基本一致,成功率達(dá)95%以上。測(cè)試結(jié)果如表1所示。
圖8和圖9標(biāo)示了M2和M4的測(cè)試情況,從圖上可以看出,違規(guī)的情況已經(jīng)被設(shè)別出。
實(shí)驗(yàn)測(cè)試表明,本文提出的基于OpenCV的圖像特征智能識(shí)別系統(tǒng),針對(duì)食品藥品管理中的特定問題,對(duì)一些典型的違規(guī)行為,能夠快速準(zhǔn)確的識(shí)別出來,在記錄違規(guī)行為的同時(shí),以正確的方式進(jìn)行報(bào)警,從而實(shí)現(xiàn)無(wú)人監(jiān)管,可以節(jié)約成本,同時(shí)提升生產(chǎn)管理的規(guī)范化、標(biāo)準(zhǔn)化,提高產(chǎn)品質(zhì)量。由于該技術(shù)理論可行,且有比較強(qiáng)的可操作性,未來我們可以將這一技術(shù)移植與嵌入式設(shè)備之中,真正實(shí)現(xiàn)智能化數(shù)字?jǐn)z像頭。
表1 測(cè)試結(jié)果Tab.1The test results
圖8 雙人測(cè)試M2結(jié)果Fig.8Results the M2 double test
圖9 雙人測(cè)試M4結(jié)果Fig.9Results the M4 double test
[1]學(xué)習(xí)OpenCV(中文版)[M].于仕琪,譯.北京:清華大學(xué)出版社,2009.
[2]Viola P,Jones M.Robust real-time face detection[J].IntemationaI JournaI of Computer Visiion,2004,57(2):137-154.
[3]儲(chǔ)澤楠.膚色模型的面部膚色區(qū)域提?。跩].電腦編程技巧與維護(hù),2009(18):94-95. CHU Ze-nan.Extraction of facial color region based on skin color model[J].Computer Programming Skills&Maintenance,2009(18):94-95.
[4]胡玉峰.基于OpenCV的嵌入式人眼追蹤系統(tǒng)研究[J].電子科技2014(9):58-61. HU YU-feng.Research on embedded eye tracking system based on openCV[J].Electronic Science and Technology,2014(9):58-61.
[5]趙黎.基于OpenCV的人臉檢測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].科技信息,2008(18):384. ZHAO Li.A face detection system based on OpenCV design and implementation of OpenCV[J].Science&Technology Information,2008(18):384.
[6]唐坤.面部特征點(diǎn)定位算法研究[D].大連:大連理工大學(xué),2013.
Design of the characteristics of image intelligent recognition system based on OpenCV
ZHANG Lin1,WU Zhen-qiang2
(1.College of Mathematics and Computer Application,Shangluo University,Shangluo 726000,China;2.School of Computer Science,Shaanxi Normal University,Xi'an 710062,China)
For the image monitoring,most monitoring just simple image capture,image processing,and finally through the artificial identification,the lack of intelligent monitoring,especially aiming at the characteristics of a particular requirements for equipment,This paper design a Image intelligence equipment system based on t OpenCV,Use the camera to capture the image recognition,feature for image by OpenCV′s correlation function。The food and Drug Administration for the particular problem in simulation,the experimental resuits show this system with high recognition speed and accuracy,has a certain practicality.
OpenCV;video image;face recognition;characteristic of image
TN01
B
1674-6236(2015)20-0189-04
2014-12-29稿件編號(hào):201412289
張林(1968—),男,陜西丹鳳人,教授。研究方向:計(jì)算機(jī)應(yīng)用,圖形處理。