張林,吳振強
(1.商洛學院數學與計算機應用學院,陜西商洛726000;2.陜西師范大學計算機學院,陜西西安710062)
基于OpenCV的圖像特征智能識別系統設計
張林1,吳振強2
(1.商洛學院數學與計算機應用學院,陜西商洛726000;2.陜西師范大學計算機學院,陜西西安710062)
對于圖像監控而言,多數監控只是簡單的捕捉圖像、處理圖像,最后再通過人工進行識別,缺少智能監控,特別是針對某一特定需求的特征識別。本文設計一種基于OpenCV的圖像智能識別系統,利用攝像頭采集圖像,通過OpenCV的相關函數進行特征圖像的識別。針對食品藥品加工過程中的特定問題進行模擬,實驗表明,該系統具有較好的識別速度和識別效率,具有一定的實用性。
OpenCV;視頻圖像;人臉識別;特征圖像
隨著國家經濟建設持續快速發展,人民生活水平日益提高,人們對食品藥品質量安全的要求越來越高。這就需要在食品藥品生產環節中加大監管力度,以保證生產環節安全規范,這一趨勢,促使市場對監控產品的需求不斷增加。這些需求促進著現有的監控系統的不斷完善和發展,并向智能化、網絡化的方向不斷邁進。
現階段無論是在教育,交通,生產和安保等領域的大多數監控系統僅僅是簡單的捕捉圖像、處理圖像、傳播和儲存圖像,采集的信息多數需要人工進行識別。人在不同的疲勞程度下,工作的效率會有顯著差別,因而人工識別往往容易出現錯誤、或者遺漏的情況。隨著監控范圍的不斷擴大,采集的信息不斷增加,對生產過程的管理更加嚴格,人工識別的方式已經滿足不了市場的需求。此時就需要借助計算機進行智能監控,使計算機像人一樣對監控范圍內的特征物品進行智能識別。計算機具有識別準確,標準統一,不疲勞和處理速度快的特點,能夠處理大量的信息,因此視頻監控系統的智能化成為了人們的迫切需求。
就目前來看,已有的智能監控系統功能都比較單一,僅限于現場視頻錄制、事后回放、實時監測等;對于違規事件的發現,通常需要持續不斷的人工監視,手工回放查找,效率低下,容易造成巨大的人力浪費;而且沒有一種針對某一特定行業的圖像特征智能識別算法可以滿足特定工作間監控的需求。本文從圖像的特征入手,針對食品藥品生產監控中的一些違規現象,研究自動設別工作中的違規行為,并進行報警處理,從而實現工作的智能化管理。在具體的系統設計中,利用圖像的Harr特征,采用開源的OpenCV下的分類器檢測出人眼的位置,然后對特定區域進行檢測,確定是否有違規行為。
1)OpenCV
OpenCV[1],全稱是Open Source Computer Vision Library。OpenCV是一個基于(開源)發行的跨平臺計算機視覺庫,可以運行在Linux、Windows和Mac OS操作系統上。它輕量級而且高效——由一系列C函數和少量C++類構成,同時提供了Python、Ruby、MATLAB等語言的接口,實現了圖像處理和計算機視覺方面的很多通用算法。OpenCV擁有包括300多個C函數的跨平臺的中、高層API。它不依賴于其它的外部庫——盡管也可以使用某些外部庫。OpenCV為Intel? Integrated Performance Primitives(IPP)提供了透明接口。這意味著如果有為特定處理器優化的的IPP庫,OpenCV將在運行時自動加載這些庫。
2)人臉檢測原理
對人臉檢測的研究從上世界70年代就已經開始,目前的人臉檢測主要集中在基于數據驅動的學習方法,如統計學模型方法、神經網絡學習方法等。在實際中應用廣泛的多為基于Adaboost算法的方法[2-3]。
人臉檢測方法是一種基于積分圖、級聯檢測器和AdaBoost算法的方法,由以下3部分組成:
①使用Harr特征表示人臉,使用“積分圖”實現特征數值的快速計算。
②使用Adaboost算法挑選出一些最能代表人臉的矩形特征(弱分類器),按照加權投票的方式將弱分類器構造為一個強分類器。
③將訓練得到的若干強分類器串聯組成一個級聯結構的層疊分類器。級聯結構可以提高分類器的檢測速度。
在具體的檢測過程中就是從圖片中找出所有包含人臉的子窗口,將人臉的子窗口與非人臉的子窗口分開[4],步驟如下:
①在一個20*20的圖片提取一些簡單的特征(稱為Haar特征),如圖1所示。

圖1 Haar特征Fig.1Haar features
它的處理方法就是將白色區域內的像素和減去黑色區域,在人臉與非人臉圖片的相同位置上,值的大小是不一樣的,這些特征可以用來區分人臉和非人臉(如圖2)。

圖2 人臉區分Fig.2Face to distinguish
②使用處理好的人臉圖片,和背景圖片一起作為訓練樣本。在大量的訓練樣本中,通過AdaBoost算法挑選數千個有效的Haar特征來組成人臉檢測器(如圖3)。
人臉檢測在實際中主要用于人臉識別的預處理,即在圖像中準確標定出人臉的位置和大小。AdaBoost人臉檢測雖然復雜,但是利用OpenCV提供的函數和分類器將變得很容易[5]。

圖3 Haar特征挑選Fig.3Haar feature selection
采用開源的OpenCV提供的分類器,直接檢測出人臉并框出人臉所在的矩形區域,屬于統計理論的方法。利用樣本的Haar特征進行分類器訓練,得到一個級聯的boosted分類器。訓練樣本分為正樣本和負樣本,其中正樣本是指待檢目標樣本,負樣本是指其他任意圖片,所有的樣本都被處理為同樣的尺寸。分類器訓練完成以后,就可以應用于采集圖像中感興趣區域的檢測。
在目標檢測中,分類器中的級聯是指最終的分類器是由幾個簡單分類器級聯組成。在圖像檢測中,被檢測的窗口依次通過每一級分類器,這樣在最初的幾層檢測中大部分的候選區域就被排除,全部通過每一級分類檢測器的區域即為目標區域[6]。
本系統針對食品藥品管理中的特定問題設定,主要針對一些違規的現象,比如進操作間不戴口罩或者帽子等行為,能夠快速準確的識別出違規行為,以正確的方式進行報警,記錄違規行為,實現無人監管,節約成本,同時提升生產的規范化,提高產品質量。
2.1系統流程
系統數據處理流程如圖4所示。

圖4 數據處理流程圖Fig.4The flow chart of data processing
2.2系統的總體結構設計
系統項目模塊如圖5所示。

圖5 項目功能模塊圖Fig.5The functional module chart project
2.2.1違規行為識別模塊
1)程序描述
為了描述方便,本系統設定正常情況下工作人員所戴的帽子和口罩是白色的。在此假設條件下,程序模塊首先對攝像頭獲取的靜態的幀圖像進行處理,通過膚色提取找到眼睛,然后在眼睛上下區域取需要判斷特征點的區域,進行顏色識別。如果特征點檢測為白色,即認為工作人員著裝正常;否則識別出違規行為,即帽子、口罩佩戴異常。
2)算法
基本算法就是先將圖像中膚色部位提取出來,然后通過訓練級聯分類器的方法,判斷人眼部位,然后在人眼上下區域取特征點判斷顏色是否為白色,最后判斷帽子和口罩的存在。
膚色區域提取主要包括兩個步驟:面部區域的選定和膚色區域的提取。面部區域的選定用到人臉檢測的方法,然后根據統計學的方法,基于膚色區域的聚類特性,采用大量的膚色圖片構造出膚色模型查找表,利用這個表查找提取出膚色區域。
3)流程邏輯
違規行為識別模塊的流程邏輯如圖6所示。

圖6 違規行為識別模塊流程邏輯圖Fig.6Irregularities recognition module flow chart
4)關鍵技術
(a)圖像的獲取:通過攝像頭捕獲的視頻中截取靜態的幀圖像。
(b)預處理:人臉特征識別的預處理是首先找出人眼所在區域,然后通過判斷提取到的是否為人的眼睛,將不是人眼的錯誤點排除,再通過人眼所在區域向上和向下分別取點進而判斷是否為特征物。因而將截取的靜態幀圖像進行預處理是非常重要的過程,預處理過程一般包含以下3步:
①將圖像轉換為灰度圖像,并調整圖像的尺寸,得到統一大小的校準圖像。
②圖像利用邊緣檢測canny算法,檢測出圖像的邊緣。
③直方圖均衡化,以部分消除光線和光照強度的影響,增強檢測結果的正確性。
直方圖均衡化處理是把原始圖像的灰度直方圖從比較集中的某個灰度區間變成在全部灰度范圍內的均勻分布,以增強像素灰度值的動態范圍,以達到提高圖像整體對比度的效果[4]。
2.2.2違規視頻和圖片存儲模塊
此模塊是將違規行為的視頻和圖像存儲起來,即程序將判斷為不戴帽子或口罩的圖像進行存儲,以備后期查看驗證。
2.2.3自動預警處理模塊
該模塊能夠記錄違規操作,即檢驗到有違規操作并且成功紀錄,同時在保證成功紀錄的情況下自動通知監管人員或部門,做出相應的處理措施。
由于OpenCV 2.4.4的安裝平臺為32位XP或者64位win7,因此本系統在Windows7平臺上,在VC 2010下安裝OpenCV2.4.4。
3.1接口實現
用戶接口主要是通過圖形化的界面來將系統的各項功能、應用程序和文件直觀的表現出來。圖形用戶接口元素包括窗口、圖標、菜單和對話框,圖形用戶接口元素的基本操作包括菜單操作、窗口操作和對話框操作等。
用戶在系統運行時可以隨時通過主界面的菜單或對話框等圖形界面對各個攝像頭所拍攝的畫面以及攝像頭進行操作;用戶同時也可以對系統已經截取的圖像和已發出的警告和報警進行一系列操作。
軟件接口:與操作系統的接口,windows 2000以上。
硬件接口:該系統與監控的攝像頭的接口,及通過網絡等方式上傳數據及圖像的接口。
3.2系統測試
1)測試環境
操作系統:win7 64位操作系統。
應用軟件:VC2010,OpenCV,電腦自帶攝像頭。
2)測試過程
為了簡單起見,設定不戴口罩和不戴帽子屬于違規行為,分了下面M1,M2,M3,M4 4種情況,如圖7所示。

圖7 4種違規情況Fig.7Four kinds of violations
上述4種情況,分別在單人和多人情況下進行測試,實驗在不同的時間段,對單人和多人不同的情況進行測試,總共進行200次測試,如果忽略光線和設備帶來的影響,測試結果與預期結果基本一致,成功率達95%以上。測試結果如表1所示。
圖8和圖9標示了M2和M4的測試情況,從圖上可以看出,違規的情況已經被設別出。
實驗測試表明,本文提出的基于OpenCV的圖像特征智能識別系統,針對食品藥品管理中的特定問題,對一些典型的違規行為,能夠快速準確的識別出來,在記錄違規行為的同時,以正確的方式進行報警,從而實現無人監管,可以節約成本,同時提升生產管理的規范化、標準化,提高產品質量。由于該技術理論可行,且有比較強的可操作性,未來我們可以將這一技術移植與嵌入式設備之中,真正實現智能化數字攝像頭。

表1 測試結果Tab.1The test results

圖8 雙人測試M2結果Fig.8Results the M2 double test

圖9 雙人測試M4結果Fig.9Results the M4 double test
[1]學習OpenCV(中文版)[M].于仕琪,譯.北京:清華大學出版社,2009.
[2]Viola P,Jones M.Robust real-time face detection[J].IntemationaI JournaI of Computer Visiion,2004,57(2):137-154.
[3]儲澤楠.膚色模型的面部膚色區域提取[J].電腦編程技巧與維護,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的嵌入式人眼追蹤系統研究[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的人臉檢測系統設計與實現[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]唐坤.面部特征點定位算法研究[D].大連:大連理工大學,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稿件編號:201412289
張林(1968—),男,陜西丹鳳人,教授。研究方向:計算機應用,圖形處理。