• 
    

    
    

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

      ?

      基于Matlab的人臉檢測實驗設(shè)計

      2016-10-31 20:27韓樂何燁秋高文華
      電腦知識與技術(shù) 2016年22期
      關(guān)鍵詞:人臉檢測計算機(jī)視覺模式識別

      韓樂+何燁秋+高文華

      摘要:人臉檢測已經(jīng)成為計算機(jī)視覺和模式識別領(lǐng)域中一個非?;钴S的研究方向。基于Matlab計算機(jī)視覺系統(tǒng)工具箱的人臉檢測實驗,首先介紹了手動檢測的Matlab實現(xiàn)及其不足,然后利用計算機(jī)視覺系統(tǒng)工具箱實現(xiàn)人臉檢測,并在此基礎(chǔ)上設(shè)計實現(xiàn)了單一人臉視頻檢測,所有實驗均提供了Matlab程序代碼,最后提出了如何實現(xiàn)多目標(biāo)人臉視頻檢測的思考題。該實驗方案通過實驗操作增強(qiáng)學(xué)生對人臉檢測的理解,激發(fā)學(xué)生進(jìn)一步學(xué)習(xí)和研究的興趣。同時,對計算機(jī)視覺和模式識別相關(guān)課程起到很好的教學(xué)輔助作用,有效地改善了教學(xué)效果。

      關(guān)鍵詞:人臉檢測;計算機(jī)視覺;Matlab;模式識別

      中圖分類號:TP317.4 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)22-0165-02

      Abstract: Face detection has become an active research direction in the field of computer vision and pattern recognition. Based on computer vision system toolbox of Matlab, face detection experiments include three parts. Firstly,the Matlab codes of the manual detection is introduced and the forthcomings are anlysized, and then the computer vision system toolbox is used to achieve face detection, based on the toolbox the experiment of detecting the video images is designed.All the experiments are written in Matlab code.Finally exercises are put forward how to realize the multi object video face detection problems. The experimental program enhances the students' understanding of face detection, stimulate students' interest in further study and research. At the same time, the program plays a good role in teaching the related courses, i.e., computer vision and pattern recognition, and effectively improves the teaching effect.

      Key words: face detection; computer vision; Matlab; pattern recognition

      人臉檢測的主要目的是在輸入的整幅圖像上尋找人臉區(qū)域,利用計算機(jī)把圖像分割成人臉區(qū)域和非人臉區(qū)域兩個部分。近年來,人臉檢測已經(jīng)成為計算機(jī)視覺和模式識別領(lǐng)域中的一個非常活躍的研究方向,在身份驗證、人機(jī)交互、可視通信、公安檔案管理等很多方面都有著極為重要的應(yīng)用價值,準(zhǔn)確、快速的人臉檢測是人臉識別的基礎(chǔ)和關(guān)鍵。目前,主流的人臉檢測方法有基于統(tǒng)計模型、基于模板匹配、基于支持向量機(jī)、基于概率模型和基于膚色等方法[1-9]。這些方法可以不同程度地實現(xiàn)對人臉的檢測,獲得較好的檢測效果,但對于大學(xué)三年級的本科生而言,這些方法難于理解和實現(xiàn)。如何能讓學(xué)生對人臉檢測感興趣,簡單易學(xué)的操作,激發(fā)學(xué)生學(xué)習(xí)相關(guān)算法的興趣,值得進(jìn)一步探討。本文主要基于Matlab[10]計算機(jī)視覺系統(tǒng)工具箱設(shè)計簡單易學(xué)的人臉檢測實驗,通過實驗操作增強(qiáng)學(xué)生對人臉檢測的理解,激發(fā)學(xué)生進(jìn)一步學(xué)習(xí)和研究的興趣。

      1 計算機(jī)視覺系統(tǒng)工具箱介紹

      計算機(jī)視覺系統(tǒng)工具箱(Computer Vision System Toolbox,CVST)是Matlab2012b版本自帶工具箱。該工具箱不僅包括用于特征提取、運動檢測、目標(biāo)檢測、目標(biāo)跟蹤、立體視覺、視頻處理、視頻分析的算法,還包括視頻文件輸入輸出,視頻顯示,繪圖以及合成。這些功能以Matlab函數(shù)、Matlab系統(tǒng)對象、Simulink塊的形式提供。對于快速原型和嵌入式系統(tǒng)設(shè)計,該工具箱支持定點算法和C代碼產(chǎn)生。

      計算機(jī)視覺系統(tǒng)工具箱的人臉檢測算法主要基于Viola-Jones的人臉檢測[11],通過內(nèi)置的類和函數(shù)進(jìn)行人臉甚至是鼻子、嘴以及眼睛的自動檢測。Viola-Jones人臉檢測是Paul viola 和 Michael J Jones共同提出的一種人臉檢測算法,該算法原理簡單,耗費資源小,在提出后被廣泛用于人臉檢測。Viola-Jones人臉檢測主要包含Haar-like特征、積分圖、AdaBoost迭代算法和級聯(lián)分類器等內(nèi)容,實現(xiàn)人臉檢測的主要步驟是:①利用Haar-like矩

      形特征表征人臉,使用“積分圖”對圖像中的矩形特征進(jìn)行快速計算。②利用AdaBoost算法從數(shù)量巨大的Haar-like特征中訓(xùn)練出人臉檢測所需要的分類器。③將訓(xùn)練得到的強(qiáng)分類器進(jìn)行級聯(lián),利用級聯(lián)的強(qiáng)分類器構(gòu)成最終的分類器。

      計算機(jī)視覺系統(tǒng)工具箱只需要用簡單的命令即可實現(xiàn)人臉檢測。調(diào)用工具箱中的vision.CascadeObjectDetector即可運行。不僅運行速度較快,且人臉檢測準(zhǔn)確度很高。經(jīng)過自行改進(jìn),可進(jìn)行批處理。

      2 實驗設(shè)計

      2.1 實驗環(huán)境

      1) 操作系統(tǒng)。Windows XP 或以上版本。

      2) 軟件。Matlab2012b及以上版本。

      3) 彩色人臉圖像。數(shù)據(jù)來源于麻省理工學(xué)院生物和計算學(xué)習(xí)中心人臉識別數(shù)據(jù)庫(http://cbcl.mit.edu/software-datasets/heisele/facerecognition-database.html)。

      2.2 實驗內(nèi)容

      實驗設(shè)計思想:首先設(shè)計人臉檢測的手動檢測實現(xiàn),通過手動檢測的操作指出手動檢測在處理多人臉圖像和人臉視頻時的不足;然后利用計算機(jī)視覺系統(tǒng)工具箱實現(xiàn)人臉檢測,并在此基礎(chǔ)上設(shè)計實現(xiàn)單一人臉視頻檢測;最后提出如何實現(xiàn)多人臉視頻檢測的練習(xí)題。

      2.2.1手動檢測

      問題:如何利用Matlab將給定圖像里的人臉區(qū)域標(biāo)識出來。

      分析:首先將圖像讀入Matlab并顯示輸出,然后通過觀察確定人臉位置,利用鼠標(biāo)動態(tài)選取一個矩形框來確定人臉位置,并保存矩形框輸出標(biāo)識后的圖像。

      主要代碼:

      pic = imread('face1.jpg');imshow(pic);impixelinfo;%讀取并在Matlab里顯示圖像

      pic_little=imrect;%手動確定人臉區(qū)域的矩形框

      手動檢測的特點是所見即所得,簡單易學(xué),容易操作;不足之處是當(dāng)圖像數(shù)量多或單幅圖像上人臉不止一個時,重復(fù)工作量大,操作枯燥。

      2.2.2CVST檢測

      問題:如何利用Matlab軟件將人臉區(qū)域自動標(biāo)識出來。

      分析:通過調(diào)用計算機(jī)視覺系統(tǒng)工具箱可以實現(xiàn)人臉的自動標(biāo)識。具體步驟是先構(gòu)造人臉檢測對象,在Matlab里讀取圖像,然后利用step函數(shù)檢測人臉,將人臉坐標(biāo)信息存入position變量中,最后利用position中的信息和insertShape函數(shù)輸出標(biāo)識后的圖像。

      主要代碼:

      faceDetector = vision.CascadeObjectDetector(); %構(gòu)造人臉檢測對象

      image = imread('face2.jpg'); %讀取圖像

      position = step(faceDetector, image); %開始檢測,將結(jié)果存儲到position變量中。

      finalImage = insertShape(image, 'Rectangle', position); %標(biāo)識人臉

      imshow(finalImage); %最終圖像輸出

      2.2.3 批處理人臉檢測

      問題:當(dāng)處理人臉視頻或有多幅人臉圖像時如何將人臉區(qū)域自動截取出來。

      分析:先創(chuàng)建人臉檢測對象;然后順序讀取指定文件夾內(nèi)的圖像,考慮到圖像文件的存儲格式不同,需要設(shè)計適合多種文件格式的批處理文件讀??;當(dāng)圖像讀入后逐一利用step函數(shù)實現(xiàn)人臉截?。蛔詈筝敵霰4嫒四槄^(qū)域。

      主要代碼:

      FDetect = vision.CascadeObjectDetector;%創(chuàng)建人臉檢測對象

      pathname=uigetdir(cd,'請選擇文件夾');

      %可適用于多種文件格式

      filesbmp=ls(strcat(pathname,'\*.bmp'));

      filesjpg=ls(strcat(pathname,'\*.jpg'));

      filesjpeg=ls(strcat(pathname,'\*.jpeg'));

      filesgif=ls(strcat(pathname,'\*.gif'));

      filestif=ls(strcat(pathname,'\*.tif'));

      filespng=ls(strcat(pathname,'\*.png'));

      files=[cellstr(filesbmp);cellstr(filesjpg);...

      cellstr(filesjpeg);cellstr(filesgif);...

      cellstr(filestif);cellstr(filespng)];

      len=length(files);

      flag=[];

      % 開始批量處理圖像,轉(zhuǎn)換格式

      for i=1:len

      if strcmp(cell2mat(files(i)),'')

      continue;

      end

      Filesname{i}=strcat(pathname,'\',files(i));

      I{i}=imread(cell2mat(Filesname{i}));

      BB = step(FDetect,I{i});

      flag=[flag i];

      J=I{i}(BB(2):BB(2)+BB(4),BB(1):BB(1)+BB(3),:);

      pic_new{i}=J;

      end

      for i=1:length(flag)

      name=cell2mat(Filesname{flag(i)});

      d=strfind(name,'.');

      name=name(1:d(end)-1);

      Name=strcat(name,'檢測圖.jpg');

      imwrite(pic_new{flag(i)},Name );

      end

      2.2.4實驗結(jié)果

      2.2.5練習(xí)題

      問題一,人臉視頻自動檢測代碼只適用于每幅圖像一個人臉,如何實現(xiàn)每幅圖像多個人臉的視頻圖像檢測?

      問題二,請嘗試?yán)糜嬎銠C(jī)視覺工具箱檢測側(cè)臉圖像。

      3 結(jié)論

      本文通過三個循序漸進(jìn)的實驗設(shè)計介紹了如何使用Matlab計算機(jī)視覺系統(tǒng)工具箱實現(xiàn)人臉檢測。手動檢測與自動檢測的對比可以讓學(xué)生對計算機(jī)視覺系統(tǒng)工具箱產(chǎn)生好奇心,圖像文件的批處理可以提高學(xué)生的編程能力,側(cè)臉檢測可以讓學(xué)生發(fā)現(xiàn)計算機(jī)視覺系統(tǒng)工具箱人臉檢測算法的不足,激發(fā)學(xué)生學(xué)習(xí)相關(guān)課程、研究人臉檢測算法的興趣。

      參考文獻(xiàn)

      [1] 楊定禮,張宇林,趙環(huán)宇,等.一種改進(jìn)的人臉檢測方法[J].實驗室研究與探索,2015,34(2):111-116.

      [2] 徐信,郝曉麗,王芳.基于Adaboost算法的遠(yuǎn)距離人臉檢測[J].計算機(jī)工程與設(shè)計, 2015,36(4): 983-986.

      [3] 董恩增,閆勝旭,佟吉鋼.基于主動視覺的人臉檢測與跟蹤算法研究[J].系統(tǒng)仿真學(xué)報,2015,27(5):973-979.

      [4] 樊慧慧,王金海. 一種復(fù)雜環(huán)境下的動態(tài)多人臉自動檢測與實時跟蹤方法[J].計算機(jī)應(yīng)用研究, 2015,32(10): 3183-3186.

      [5] 陽崇云,桑農(nóng),陳張一,陳子伊. 基于膚色模型與Adaboost算法的多視角人臉檢測[J].華中科技大學(xué)學(xué)報(自然科學(xué)版), 2015, 43(I):271-275.

      [6] 楊恒,張再軍,楊東,張儒良.融合YCbCr膚色模型與區(qū)域標(biāo)記的人臉檢測算法研究[J].軟件導(dǎo)刊, 2016,15(2):41-43.

      [7] 張小龍,劉書炘,劉滿華.基于級聯(lián)支持向量機(jī)融合多特征的人臉檢測[J].計算機(jī)應(yīng)用與軟件, 2016,33(4):151-154.

      [8] 華曉彬,袁明新,王彬彬,張麗民.基于膚色正態(tài)分布模型的自適應(yīng)人臉動態(tài)檢測[J].江蘇科技大學(xué)學(xué)報(自然科學(xué)版),2016,30(2):162-166.

      [9] 王慶偉,應(yīng)自爐. 一種基于Harr-Like T特征的人臉檢測算法[J].模式識別與人工智能,2015,28(1):35-41.

      [10] 馬奎斯.實用MATLAB圖像和視頻處理[M].清華大學(xué)出版社,2013.

      [11] Viola P, Jones M. Rapid Object Detection using a Boosted Cascade of Simple Features[J]. Conference on Computer Vision & Pattern Recognition, 2010(1):511.

      猜你喜歡
      人臉檢測計算機(jī)視覺模式識別
      淺談模式識別在圖像識別中的應(yīng)用
      第四屆亞洲模式識別會議
      基于人臉特征定位的SNS網(wǎng)站應(yīng)用組件研究與設(shè)計
      危險氣體罐車液位計算機(jī)視覺監(jiān)控識別報警系統(tǒng)設(shè)計
      第3屆亞洲模式識別會議
      電氣設(shè)備的故障診斷與模式識別
      山西省| 潼关县| 元阳县| 龙陵县| 汝城县| 濮阳市| 沂水县| 桐庐县| 津市市| 绥德县| 安岳县| 崇信县| 佛学| 南和县| 宁波市| 宜章县| 九江县| 同仁县| 二连浩特市| 萍乡市| 南充市| 夏津县| 安阳县| 东宁县| 太湖县| 新河县| 兴宁市| 重庆市| 陕西省| 宁强县| 益阳市| 社旗县| 防城港市| 西城区| 区。| 辛集市| 厦门市| 广安市| 白山市| 永胜县| 富裕县|