資源描述:
《基于機器視覺的駕駛疲勞系統(tǒng)設計》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在工程資料-天天文庫。
1、五邑夬學課程:任課教師:班級:期名:學號:題目:基于機器視覺的駕駛疲勞系統(tǒng)設計一、概述:二、設計:人臉識別人臉檢測(facedetection)是指在輸入圖像中確定所有人臉(如果存在)的位置、大小、位姿的過程。人臉檢測作為人臉信息處理中的一項關鍵技術(shù),近年來成為模式識別與計算機視覺領域內(nèi)-?項受到普遍重視、研究十分活躍的課題。人臉檢測(facedetection)問題來源于人臉識別(facerecognition)問題。人臉檢測是對給定的圖像,判斷其中是否有人臉,若有,將所有人臉從背景中分割提取出來,并確定每個人臉在圖像中的位
2、置和大小。人臉檢測技術(shù)可以應用于人臉識別、視頻會議、圖像與視頻檢索、刑偵破案和證件驗證等領域。人臉檢測是對于輸入的人臉圖像或視頻,首先判斷其中是否存在人臉,如果存在人臉,則進一步給岀每個人臉的位置、大小以及各個主要面部器官的位置信息,并依據(jù)這些信息,進一步提取每個人臉中所蘊含的特征,并將其與已知人臉庫中的人臉圖像進行対比,從而得到識別結(jié)果。由此可見,一個完整的人臉識別過程應包括人臉檢測與人臉識別兩大部分。人臉識別山兩部分工作組成:(1)人臉檢測:在輸入的圖像或視頻畫面當中確定存在的人臉位置、尺寸等的過程,這是識別工作的基礎課題
3、,在減少算法復雜度等方血対識別工作有關鍵性影響。(2)人臉識別:通過與計算機和連的攝像頭動態(tài)捕捉人的面部信息,并把捕捉到的人臉與預先錄入的人臉數(shù)據(jù)庫中存儲的人臉進行比較識別。人臉檢測的基本思想是建立人臉模型,比較所有可能的待檢測區(qū)域與人臉模型的匹配程度,從而得到可能存在人臉的區(qū)域。(1)將RGB空間轉(zhuǎn)換為gray空間I=rgb2gray(i);(2)函數(shù)im2bw使用閾值(threshold)變換法把灰度圖像(grayscaleimage)轉(zhuǎn)換成二值圖像BW=im2bw(I);(3)顯示一張二值圖像imshow(BW)計劃圖像
4、處理步驟:輸入圖像色彩平衡光線補償(直方圖均衡化)色彩空間選擇膚色建?!?形態(tài)學處理人臉檢測得出人臉檢測結(jié)果臉部識別算法:我們這次打算采用神經(jīng)網(wǎng)絡算法,三、實現(xiàn)本次設計通過MATLAB工具仿真,臉部識別程序:%%%%%簡單人臉識別程序i=imread(1face4.jpg1);%imread?數(shù)/將灰度圖片或者彩色圖片讀取/并將其存儲在變量i中。I=rgb2gray(i);%rgb2gray函數(shù),將彩色圖片R紅G綠B藍轉(zhuǎn)換為灰色度,并將其存儲于變量I中。0,0,0代表黑色,255,255,255代表白色%255,0,0代表紅色
5、等等BW=im2bw(I);%im2bw函數(shù),將RGB彩色圖片的紅綠藍轉(zhuǎn)換成黑色和白色。//將圖像數(shù)據(jù)二值化figure,imshow(BW)拓顯示存儲于BW中的灰度圖片。%%%%%最小化背景成份%%召%%%%%%[nln2]=size(BW);省通過size函數(shù)獲取構(gòu)成圖片的行數(shù)和列數(shù)。r=floor(nl/10);%floor函數(shù):向下取整c=floor(n2/10);%(與上同解)xl=l;x2=r;s=r*c;%%循環(huán):由四邊逐漸向中心收縮,將人臉與背景分離出來fori=l:10yi=i;y2=c;forj=l:10i
6、f(y2<=c
7、
8、y2>=9*c)
9、
10、(xl==l
11、
12、x2==r*10)loc=find(BW(xl:x2zyl:y2)==0);%找出已經(jīng)二值化圖像中等于0的點,即黑白圖片中黑色的點的坐標。[op]=size(loc);%區(qū)域長和寬pr=o*100/s;ifpr<=100BW(xl:x2zyl:y2)=0沱把這一小塊填充成黑色rl=xl;r2=x2;sl=yl;s2=y2;prl=0;endimshow(BW);endyl=y1+c;y2=y2+c;endxl=xl+r;x2=x2+r;endfigure,imshow(BW
13、)%顯ZE去邊緣后的圖片%%%%%%%detectionoffaceobject%%%%%%%%%%%%%%%%%%%L=bwlabel(BW,8);區(qū)BB=regionprops(L,*BoundingBox*);%用來測量標注矩陣L中每一個標注區(qū)域的一系列屬性BBl=struct2cell(BB);%把結(jié)構(gòu)體數(shù)組轉(zhuǎn)化為元胞數(shù)組BB2=cell2mat(BB1);%把元胞數(shù)組轉(zhuǎn)化為單個矩陣聽判斷它是否是最大的區(qū)域塊,并且是不是滿足人臉的長寬比例[sls2]=size(BB2);mx=0;fork=3:4:s2-lp=BB2(
14、lzk)*BB2(lzk+1);ifp>mx&(BB2(1,k)/BB2(1,k+1))<1?8mx=p;j=k;endend%%figure,imshow(I);holdon;%用紅色矩形框?qū)⑷四樋虺鰎ectangle(1Position1,[BB2(1,j-2),BB2(