亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Adaboost算法及其在實(shí)時(shí)視頻流中的應(yīng)用

        2011-12-31 00:00:00李湘
        軟件工程 2011年12期

        摘 要:針對(duì)Adaboost算法在實(shí)時(shí)視頻流中的應(yīng)用,本文基于Adaboost算法的人臉檢測(cè)原理,即通過(guò)提取圖像中的haar特征,在訓(xùn)練過(guò)程中選出最優(yōu)特征,轉(zhuǎn)換成弱分類器,優(yōu)化組合于人臉檢測(cè)。最終,利用opencv的開發(fā)包,通過(guò)VC++軟件編程實(shí)現(xiàn)基于Adaboost算法實(shí)時(shí)視頻流中的人臉檢測(cè)。

        關(guān) 鍵 詞:人臉檢測(cè);haar特征;Adaboost算法;Opencv

        引言

        人臉檢測(cè)的研究最早可以追溯到20世紀(jì)60-70年代。經(jīng)過(guò)曲折發(fā)展,已經(jīng)有了一些較為成功的方法,正日趨成熟。一個(gè)完整的人臉檢測(cè)應(yīng)該包括人臉檢測(cè)、特征提取以及匹配識(shí)別三大基本過(guò)程。

        人臉檢測(cè)的常用方法有基于知識(shí)的人臉檢測(cè)、基于特征的人臉檢測(cè)、基于模板匹配的人臉檢測(cè)以及基于圖像塊的人臉檢測(cè)。

        1 基于Adaboost算法的人臉檢測(cè)

        Adaboost算法根據(jù)人臉面部的灰度分布特征,選擇使用haar特征,其是一種基于積分圖像的特征,該特征計(jì)算簡(jiǎn)單,提取速度較快,從而使得Adaboost檢測(cè)算法基本成為當(dāng)前最快的檢測(cè)算法之一。Adaboost算法首先提取圖像中的haar特征,然后通過(guò)訓(xùn)練過(guò)程從中選出最優(yōu)的haar特征,再將訓(xùn)練得到的haar特征轉(zhuǎn)換成弱分類器,最后將得到的弱分類器進(jìn)行優(yōu)化組合用于人臉檢測(cè)。

        1.1 基于Adaboost算法的人臉檢測(cè)原理

        (1) 提取haar特征

        提取haar特征,即提取較好的haar特征對(duì)人臉圖像灰度分布的特點(diǎn)進(jìn)行描述。

        1)積分圖像

        積分圖像是將原圖像中任一點(diǎn)的左上方的全部像素相加作為當(dāng)前點(diǎn)像素值所得到的圖像;積分圖像中每個(gè)點(diǎn)(x,y)的值為原圖像中點(diǎn)(x,y)左上部分所有像素值的累加:

        (1-1)

        其中i為原始圖像,ii為積分圖像。

        假設(shè)已經(jīng)求得某一圖像的積分圖像(圖2),利用公式可以迅速計(jì)算出原圖像中D區(qū)域內(nèi)的像素的和值。

        (1-2)

        其中SD是原圖像中D區(qū)域內(nèi)的像素的和值,1、2、3、4分別是積分圖像中點(diǎn)1、點(diǎn)2、點(diǎn)3和點(diǎn)4的值。

        2)haar特征

        haar特征是根據(jù)區(qū)域灰度的對(duì)比特點(diǎn)設(shè)計(jì)。如圖3所示,圖中給出了4個(gè)常用的haar特征。每個(gè)特征分為2個(gè)部分,對(duì)比兩個(gè)部分(黑塊和白塊)的像素和值的大小。

        (2)生成弱分類器[1][3]

        每個(gè)haar特征對(duì)應(yīng)一個(gè)弱分類器,每個(gè)弱分類器根據(jù)其所對(duì)應(yīng)的haar特征參數(shù)來(lái)定義。弱分類器的定義公式如下:

        (1-3)

        其中,特征參數(shù)pj表示不等式方向,j表示閾值。

        (3)訓(xùn)練過(guò)程[4][5]

        Adaboost算法的訓(xùn)練過(guò)程就是挑選最優(yōu)弱分類器,并賦予其權(quán)重的過(guò)程。圖4是Adaboost算法的訓(xùn)練示意圖。

        1.2 級(jí)聯(lián)分類器的使用

        將弱分類器優(yōu)化組合成強(qiáng)分類器,并將若干個(gè)強(qiáng)分類器級(jí)聯(lián)在一起,其一級(jí)比一級(jí)復(fù)雜,一級(jí)比一級(jí)嚴(yán)格。Adaboost算法引入級(jí)聯(lián)分類器,其檢測(cè)示意圖如圖5所示。由于非人臉圖像被前幾級(jí)快速排除,因此加快了Adaboost算法的檢測(cè)速度。

        2 實(shí)時(shí)視頻流中人臉檢測(cè)的實(shí)現(xiàn)

        由于使用Adaboost算法進(jìn)行人臉檢測(cè)需要大量的樣本訓(xùn)練,筆者能力有限,只能基于Intel公司開發(fā)的opencv[6]開發(fā)包進(jìn)行編程。編程者無(wú)需編寫算法函數(shù),只需編寫調(diào)用程序,以調(diào)用opencv函數(shù)進(jìn)行Adaboost算法的視頻人臉檢測(cè)。

        2.1 關(guān)鍵代碼

        (1)獲取視頻文件并加載到一個(gè)windows窗口中

        //確定是否目標(biāo)來(lái)自文件或攝像頭

        if( !input_name || (isdigit(input_name[0]) input_name[1] == '\\0') )

        capture = cvCaptureFromCAM( !input_name ? 0 : input_name[0] - '0' );

        else capture = cvCaptureFromAVI( input_name );

        //建立一個(gè)新的window窗口,以result命名

        cvNamedWindow( \"result\", 1 );

        if( !cvGrabFrame( capture )) //如果capture成功加載,則捕獲一針,并存到圖像中

        break;

        frame = cvRetrieveFrame( capture );

        if( !frame ) break; //如果針不存在,退出循環(huán)

        (2)獲取靜態(tài)圖像

        //如果捕獲沒(méi)有成功,則 else

        {//假設(shè)圖像是ftest.jpg 或者特定的輸入

        const char* filename = input_name ? input_name : (char*)\"ftest.jpg\";

        IplImage* image = cvLoadImage( filename, 1 ); //加載文件圖像

        if( image ) //如果圖像成功加載,則調(diào)用處理函數(shù)

        {detect_and_draw( image );

        cvWaitKey(0);

        cvReleaseImage( image ); //釋放內(nèi)存}

        else//假定它是一個(gè)文檔類的文件包含要被處理圖像名稱,每行一個(gè)

        { FILE* f = fopen( filename, \"rt\" ); //以讀的形式打開

        if( f )

        {char buf[1000+1];

        while( fgets( buf, 1000, f ) )//從f中讀取1000個(gè)數(shù)據(jù)

        { int len = (int)strlen(buf); //從中移去空格并且確定名字長(zhǎng)度

        while( len > 0 isspace(buf[len-1]) ) //判斷是否為空格

        len--;

        buf[len] = '\\0';

        image = cvLoadImage( buf, 1 ); //加載確定名字的圖像

        if( image ) //如果文件加載成功,則

        {//檢測(cè)圖像

        detect_and_draw( image );

        cvWaitKey(0);

        cvReleaseImage( image );

        }}

        fclose(f); //既然打開文件,就要關(guān)閉它

        }}}

        static CvMemStorage* storage = 0; // 為計(jì)算開辟內(nèi)存

        static CvHaarClassifierCascade* cascade = 0; //建立一個(gè)新的haar 分類器

        void detect_and_draw( IplImage* image ); //子函數(shù)聲明從圖像中檢測(cè)出物體

        const char* cascade_name =\"haarcascade_frontalface_alt.xml\";//建立一個(gè)字符串,包含cascade的名字,作為訓(xùn)練的分類器

        2.2 操作方法

        如果存在外接攝像頭,則程序自動(dòng)檢測(cè),并將視頻圖像放入一個(gè)名為“result”的windows窗口。緊接著程序?qū)⒆詣?dòng)調(diào)用函數(shù)檢測(cè)圖像,標(biāo)記人臉。如果無(wú)外接攝像頭,本程序就檢測(cè)靜態(tài)圖像。由于在程序中聲明了指定圖像名,因此在程序所在文件夾中須存在名為“ftest.jpg”圖像文件。

        3 測(cè)試結(jié)果分析

        本程序在PC上測(cè)試,平臺(tái)為windowsXP,軟件環(huán)境為Microsoft Visual C++ 6.0。攝像頭為Hyundai Camera。

        從上圖中可以看出本程序可以比較成功的實(shí)現(xiàn)在實(shí)時(shí)視頻中的正面人臉檢測(cè),標(biāo)記位置十分準(zhǔn)確。本程序也可以比較成功的準(zhǔn)確標(biāo)記出視頻中側(cè)面人臉的位置。

        4 結(jié)語(yǔ)

        人臉檢測(cè)技術(shù)的突破性發(fā)展,對(duì)人臉識(shí)別、表情姿態(tài)的識(shí)別、視頻監(jiān)控、身份驗(yàn)證、多媒體數(shù)據(jù)庫(kù)檢索等相關(guān)領(lǐng)域的研究產(chǎn)生巨大推動(dòng)作用。然而,其本身的復(fù)雜性,加之?dāng)?shù)字圖像采集中易受各種外界因素的干擾,Adaboost算法存在誤檢現(xiàn)象,如何降低誤檢率,將是筆者下一步探索的方向。

        參考文獻(xiàn)

        [1] 趙麗紅,劉紀(jì)紅,徐心和.人臉檢測(cè)方法綜述[J].計(jì)算機(jī)應(yīng)用研究.2004,21(9):1-4.

        [2] 張建明,汪大慶.基于Adaboost 算法的多姿態(tài)人臉實(shí)時(shí)視頻檢測(cè)[J].計(jì)算機(jī)工程與設(shè)計(jì).2010,31(18):4065-4067,4096.

        [3] Bo Wu,HaizhouAi,Chang Huan,Shihong Lao.Fast rotation invariant multi-view face detection based on real Adaboost [C]//Sixth IEEE International Conference.Automatic Face and Gesture Recognition. 2004:79-84.

        [4] 王海川,張立明.一種新的Adaboost快速訓(xùn)練算法[J].復(fù)旦學(xué)報(bào)(自然科學(xué)版).2004,43(1):27-33.

        [5] Yong Ma,Xiaoqing Ding.Robust Real-time rotation invariant face detection based on cost-sensitive Adaboost [C]// 4th International Conference on Multimedia and Expo (ICME 2003). 2003: 465-468.

        [6] 劉瑞禎,于仕琪.Open CV 教程[M].北京:北京航空航天大學(xué)出社,2007:385-393.

        无码成人片一区二区三区| 人妻少妇偷人精品无码| 欧美人与动牲猛交xxxxbbbb | 极品尤物精品在线观看| √新版天堂资源在线资源| 日本高清一级二级三级| 亚洲国产精品国自产拍av| 日韩一线无码av毛片免费| 无码人妻视频一区二区三区99久久 | 国产高清一区二区三区三州| 成人试看120秒体验区| aaaaaa级特色特黄的毛片 | 人妻熟女妇av北条麻记三级| 青青草在线这里只有精品| 小sao货水好多真紧h无码视频 | 东北女人毛多水多牲交视频| 久久精品人人爽人人爽| 国产高清在线精品一区αpp| 亚洲综合国产精品一区二区| 精品偷自拍另类在线观看| 色视频www在线播放国产人成 | 中文字幕av人妻一区二区| 精品国内日本一区二区| 丰满爆乳在线播放| 精品无码专区久久久水蜜桃| 久久99精品这里精品动漫6| 激情视频在线观看免费播放| 亚洲最近中文字幕在线 | 丰满人妻无奈张开双腿av| 亚欧视频无码在线观看| 日韩免费精品在线观看| 亚洲av永久无码精品网站| 桃花色综合影院| 欧美激情国产亚州一区二区| 丝袜美腿亚洲综合第一页| aa片在线观看视频在线播放| 成人欧美一区二区三区白人| 国产成人久久蜜一区二区| 亚洲av狠狠爱一区二区三区| 又粗又大又硬毛片免费看| 一本久道久久综合婷婷五月|