国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

利用Open CV進(jìn)行人臉識別的研究

2014-08-11 02:56呂晶晶
科技創(chuàng)新與應(yīng)用 2014年25期
關(guān)鍵詞:人臉識別

摘 要:計(jì)算機(jī)人臉識別技術(shù)是利用計(jì)算機(jī)對人臉圖像進(jìn)行分析和理解的技術(shù),Open CV是用于圖像處理軟件,具有很好的效率,文章主要基于Open CV結(jié)合隱馬爾科夫模型研究用于人臉識別的模型,并提出一般研究步驟,經(jīng)過大量室內(nèi)試驗(yàn)證明基于Open CV的研究在人臉識別中具有高效性。

關(guān)鍵詞:Open CV;隱馬爾科夫模型;人臉識別

人們對于圖片人臉識別的研究可以追溯到20世紀(jì)60年代,到目前為止發(fā)展以逐漸成熟,通常構(gòu)建人臉識別系統(tǒng)需要使用人臉圖像采集、人臉識別預(yù)處理以及身份查找等,人臉識別在很多方面都有很大的應(yīng)用價(jià)值,Open CV是一種基于開源計(jì)算機(jī)視覺庫的軟件,通常應(yīng)用于人臉識別中、圖像分割以及人機(jī)互動(dòng)等中,文章主要研究基于Open CV的人臉識別。

1 系統(tǒng)組成和開發(fā)環(huán)境

文章利用Open CV的人臉識別系統(tǒng)是在Linux操作系統(tǒng)下開發(fā)出的圖形界面,使用OpenCV處理庫中提供的相關(guān)功能進(jìn)行圖像數(shù)據(jù)的采集,調(diào)用Harry分類器對采集的圖像進(jìn)行人臉檢測,檢測得出的結(jié)果再利用PCA算法進(jìn)行省份識別,利用Camshift和Lucas-Kanade算法進(jìn)行人臉表情識別。圖片來自于Basler acA640-100gc相機(jī),此相機(jī)操作系統(tǒng)為Fedora 10,在編譯OpenCV之前為了處理圖像還需要編譯FFmpeg。

2 基于OpenCV人臉識別研究

人臉識別在當(dāng)前人工智能中是一個(gè)重要的課題,很多學(xué)者提出了多種算法,但是在動(dòng)態(tài)圖像的人臉識別中研究不是太多。文章主要采用OpenCv軟件研究人臉識別,保存了需要的重要信息,提高配識別率。

應(yīng)用系統(tǒng)開發(fā)設(shè)計(jì)主要流程為圖1所示。圖像的采集主要通過cvCaptureFormCam相機(jī)得到,并利用相關(guān)文件對返回的結(jié)構(gòu)進(jìn)行設(shè)置(部分):

IplImage*ffame;

CvCapture*camera=0:

cvSetCaptureProperty(camera,

cvSetCaptureProperty(camera,

CV_CAP_PROP_-FRAME_WIDTH,320);

利用函數(shù)開啟定時(shí)器,每個(gè)固定的時(shí)間發(fā)送槽函數(shù),并將槽函數(shù)放入緩存中,在從內(nèi)部緩存中使用cvGrabFramea將圖像讀取數(shù)據(jù),在qt中顯出并轉(zhuǎn)化為QPixmap類型?,F(xiàn)根據(jù)圖像大小分配到緩沖區(qū)綠,再把緩沖區(qū)指針拷貝到Qimage的指針中,在進(jìn)一步循環(huán)把圖像的數(shù)據(jù)拷貝到緩沖區(qū)內(nèi),程序如下(部分):

for(int Y=0;Yheight;++y){

QlmagePtr[O]_iplImagePtr[O];

QlmagePtr[21_ipllmagePtr[2];

QlmagePtr[3]=0;

iplImagePtr+=3;}進(jìn)而再利用setPixmap函數(shù)進(jìn)行顯示。

在圖像的預(yù)處理環(huán)節(jié)中,由于目前大多數(shù)的臉部檢測算法對于人臉圖像的大小以及位置等都比較敏感,因此需要對檢測部位進(jìn)行灰度處理。人臉檢測器利用XML中的數(shù)據(jù)來搜索圖像的位置,OpenCV即是采用這種人臉檢測器進(jìn)行檢測,最終監(jiān)測的數(shù)據(jù)結(jié)果保存到cvRect中,識別基本步驟為先讀入訓(xùn)練圖像,再創(chuàng)造PVA子空間,把數(shù)據(jù)投影到子空間,再訓(xùn)練結(jié)果,把結(jié)果進(jìn)行保存進(jìn)行圖像識別。特征檢測方法的思想為圖像向量經(jīng)過K-L變換后轉(zhuǎn)變?yōu)榈途S向量,進(jìn)而形成特征子空間,把圖像投影到低維空間中。在識別人臉時(shí),僅僅需要對比數(shù)據(jù)庫中的目標(biāo)樣本集合投影系數(shù),就可以確定人臉圖片屬于哪一類。在使用PCA算法時(shí)需要經(jīng)歷生成階段和識別階段。

在訓(xùn)練階段先在訓(xùn)練臉照片集上計(jì)算特征臉,把隨對應(yīng)的圖片最大特征值,這些圖片定義為元空間的一個(gè)子空間,若是需要添加新的圖像,這個(gè)子集可以進(jìn)行更新和重新計(jì)算。在這個(gè)子集中圖片數(shù)據(jù)投影到特征臉上,進(jìn)而計(jì)算權(quán)重向量,也即是各個(gè)圖片數(shù)據(jù)的坐標(biāo)值。OpenCV先使用cvLoadImage函數(shù)將圖片轉(zhuǎn)化為灰度圖片,在進(jìn)行PCA操作,計(jì)算出向量的數(shù)組,利用函數(shù)將圖片的投影到PCA子空間上,把結(jié)果保存到矩陣數(shù)組中,把結(jié)果保存到XML文件中。在識別新的人臉圖片是先給予前面得到的特征臉,將采集到的圖片投影到特征臉中,計(jì)算權(quán)重向量,判斷圖片是否屬于人臉圖像,若是判斷結(jié)果為是,就需要根據(jù)前面的極端的權(quán)重向量規(guī)劃到最初計(jì)算的個(gè)體中或是規(guī)劃為新的個(gè)體圖片。簡單而言就是根據(jù)權(quán)重向量來判斷圖片的性質(zhì)。進(jìn)一步更新特征臉,如實(shí)一個(gè)未知的人臉圖像沒有什么記錄,但是又出現(xiàn)了很多次,此時(shí)就需要把他的特征向量添加到新的個(gè)體中。OpenCV實(shí)現(xiàn)點(diǎn)用函數(shù)采集如片映射到PCA子空間上。如圖2是得到的部分特征臉圖像。

針對臉部表情識別而言,主要是采用Camshift函數(shù)進(jìn)行計(jì)算,這種計(jì)算方法能夠利用目標(biāo)的顏色直方圖模擬將圖像轉(zhuǎn)換為顏色概率分布圖,把搜索窗的位置和大小進(jìn)行初始化,得出結(jié)果,并根據(jù)所得的結(jié)果自適應(yīng)調(diào)整搜索窗口的位置和大小,從而定位中心位置,Camshift具有解決目標(biāo)圖像變形的優(yōu)勢,這個(gè)函數(shù)本身對于系統(tǒng)資源的要求度比較低,時(shí)間都復(fù)雜度也不高,因此在簡單背景下具有很強(qiáng)的跟蹤效果。具體而言O(shè)penCV來實(shí)現(xiàn)臉部表情的識別需要分為以下幾步,首先OpenCV充分調(diào)動(dòng)cvCvtColor()函數(shù),將色彩空間的數(shù)據(jù)轉(zhuǎn)化到HSI空間,接著在調(diào)用vCreateHist()函數(shù)來計(jì)算ID直方圖,在調(diào)用vCamShift()函數(shù)計(jì)算圖片的位置和面積。這種光流算法能夠準(zhǔn)確的得出不同圖像間的的細(xì)微變化,Lucas-Kanade光流算法能夠計(jì)算兩幀在一定時(shí)間段內(nèi)的每個(gè)像素點(diǎn)位置的移動(dòng)。在利用這種光流算法時(shí)需要注意先使用shi-Tomasi算法來提取圖像的特征點(diǎn),也就是找到圖片中感興趣的需要跟蹤的點(diǎn)集,并定義為第一幀的數(shù)目,找到特征值,接下來是使用函數(shù)實(shí)現(xiàn)光溜計(jì)算的系數(shù)迭代版本。輸出函數(shù)主要包括圖像本身的特征數(shù)值點(diǎn),通過這些點(diǎn)來確定局部區(qū)域的特征,如眼部以及嘴巴等,如下圖3是追蹤眼睛眨動(dòng)圖像眼睛通過比較數(shù)值的變化,來對比臉部的一些簡單表情。

3 結(jié)束語

綜上所述,文章先簡單介紹了該研究的系統(tǒng)組成和開發(fā)環(huán)境,重點(diǎn)講述以O(shè)penCV圖像處理軟件為中心,設(shè)計(jì)人臉識別系統(tǒng)。本文設(shè)計(jì)的人臉識別系統(tǒng)具有很好的實(shí)用性可識別能力、準(zhǔn)確性和可移植性,減小了識別誤差,但是還存在很多方面的不足,如若是主機(jī)上控制多個(gè)控制端,就會(huì)占用很大的內(nèi)存,識別準(zhǔn)確率和種類還有待提高,這些還需要更多的人去努力。

參考文獻(xiàn)

[1]劉靜.基于OpenCV機(jī)器視覺庫的人臉圖像預(yù)處理方法研究與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2012,20(16):186-187,190.

[2]梁路宏,艾海舟,徐光聿,等.人臉檢測研究綜述[J].計(jì)算機(jī)學(xué)報(bào),2002,25(05):449-458.

[3]李英,賴劍煌,黃瓊燕,等.非均勻光照下的人臉表情多狀態(tài)檢測與分類[J].中山大學(xué)學(xué)報(bào),2006,45(05):17-21.

[4]聶偉樂,瞿建榮.基于OpenCV的運(yùn)動(dòng)目標(biāo)光流算法[J]仿真應(yīng)用光學(xué),2008,29(6):867-869.

[5]余九華,王敬東,李鵬.基于Camshifl的人臉跟蹤算法計(jì)算機(jī)技術(shù)與發(fā)展[J].白動(dòng)畫學(xué)報(bào),2008,18(9):12-15.

[6]劉青山,盧漢清,馬頌德.綜述人臉識別中的子空問方法[J].白動(dòng)化學(xué)報(bào),2003,29(6):900-911.

[7]沈永增,劉小磊.眼部疲勞狀態(tài)檢測算法的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2011,18(03):106-109.

[8]伍文峰,王虎幫.基于模板匹配的目標(biāo)識別算法的設(shè)計(jì)與實(shí)用[J].計(jì)算機(jī)應(yīng)用,2006,6(21:133-134.

[9]李英,賴劍煌,黃瓊燕,等.非均勻光照下的人臉表情多狀態(tài)檢測與分類[J].中山大學(xué)學(xué)報(bào),2006,45(05):17-21.

作者簡介:呂晶晶(1983,6-),女,漢族,江蘇江都人,高校講師,學(xué)士學(xué)位,研究方向:電子信息。

摘 要:計(jì)算機(jī)人臉識別技術(shù)是利用計(jì)算機(jī)對人臉圖像進(jìn)行分析和理解的技術(shù),Open CV是用于圖像處理軟件,具有很好的效率,文章主要基于Open CV結(jié)合隱馬爾科夫模型研究用于人臉識別的模型,并提出一般研究步驟,經(jīng)過大量室內(nèi)試驗(yàn)證明基于Open CV的研究在人臉識別中具有高效性。

關(guān)鍵詞:Open CV;隱馬爾科夫模型;人臉識別

人們對于圖片人臉識別的研究可以追溯到20世紀(jì)60年代,到目前為止發(fā)展以逐漸成熟,通常構(gòu)建人臉識別系統(tǒng)需要使用人臉圖像采集、人臉識別預(yù)處理以及身份查找等,人臉識別在很多方面都有很大的應(yīng)用價(jià)值,Open CV是一種基于開源計(jì)算機(jī)視覺庫的軟件,通常應(yīng)用于人臉識別中、圖像分割以及人機(jī)互動(dòng)等中,文章主要研究基于Open CV的人臉識別。

1 系統(tǒng)組成和開發(fā)環(huán)境

文章利用Open CV的人臉識別系統(tǒng)是在Linux操作系統(tǒng)下開發(fā)出的圖形界面,使用OpenCV處理庫中提供的相關(guān)功能進(jìn)行圖像數(shù)據(jù)的采集,調(diào)用Harry分類器對采集的圖像進(jìn)行人臉檢測,檢測得出的結(jié)果再利用PCA算法進(jìn)行省份識別,利用Camshift和Lucas-Kanade算法進(jìn)行人臉表情識別。圖片來自于Basler acA640-100gc相機(jī),此相機(jī)操作系統(tǒng)為Fedora 10,在編譯OpenCV之前為了處理圖像還需要編譯FFmpeg。

2 基于OpenCV人臉識別研究

人臉識別在當(dāng)前人工智能中是一個(gè)重要的課題,很多學(xué)者提出了多種算法,但是在動(dòng)態(tài)圖像的人臉識別中研究不是太多。文章主要采用OpenCv軟件研究人臉識別,保存了需要的重要信息,提高配識別率。

應(yīng)用系統(tǒng)開發(fā)設(shè)計(jì)主要流程為圖1所示。圖像的采集主要通過cvCaptureFormCam相機(jī)得到,并利用相關(guān)文件對返回的結(jié)構(gòu)進(jìn)行設(shè)置(部分):

IplImage*ffame;

CvCapture*camera=0:

cvSetCaptureProperty(camera,

cvSetCaptureProperty(camera,

CV_CAP_PROP_-FRAME_WIDTH,320);

利用函數(shù)開啟定時(shí)器,每個(gè)固定的時(shí)間發(fā)送槽函數(shù),并將槽函數(shù)放入緩存中,在從內(nèi)部緩存中使用cvGrabFramea將圖像讀取數(shù)據(jù),在qt中顯出并轉(zhuǎn)化為QPixmap類型?,F(xiàn)根據(jù)圖像大小分配到緩沖區(qū)綠,再把緩沖區(qū)指針拷貝到Qimage的指針中,在進(jìn)一步循環(huán)把圖像的數(shù)據(jù)拷貝到緩沖區(qū)內(nèi),程序如下(部分):

for(int Y=0;Yheight;++y){

QlmagePtr[O]_iplImagePtr[O];

QlmagePtr[21_ipllmagePtr[2];

QlmagePtr[3]=0;

iplImagePtr+=3;}進(jìn)而再利用setPixmap函數(shù)進(jìn)行顯示。

在圖像的預(yù)處理環(huán)節(jié)中,由于目前大多數(shù)的臉部檢測算法對于人臉圖像的大小以及位置等都比較敏感,因此需要對檢測部位進(jìn)行灰度處理。人臉檢測器利用XML中的數(shù)據(jù)來搜索圖像的位置,OpenCV即是采用這種人臉檢測器進(jìn)行檢測,最終監(jiān)測的數(shù)據(jù)結(jié)果保存到cvRect中,識別基本步驟為先讀入訓(xùn)練圖像,再創(chuàng)造PVA子空間,把數(shù)據(jù)投影到子空間,再訓(xùn)練結(jié)果,把結(jié)果進(jìn)行保存進(jìn)行圖像識別。特征檢測方法的思想為圖像向量經(jīng)過K-L變換后轉(zhuǎn)變?yōu)榈途S向量,進(jìn)而形成特征子空間,把圖像投影到低維空間中。在識別人臉時(shí),僅僅需要對比數(shù)據(jù)庫中的目標(biāo)樣本集合投影系數(shù),就可以確定人臉圖片屬于哪一類。在使用PCA算法時(shí)需要經(jīng)歷生成階段和識別階段。

在訓(xùn)練階段先在訓(xùn)練臉照片集上計(jì)算特征臉,把隨對應(yīng)的圖片最大特征值,這些圖片定義為元空間的一個(gè)子空間,若是需要添加新的圖像,這個(gè)子集可以進(jìn)行更新和重新計(jì)算。在這個(gè)子集中圖片數(shù)據(jù)投影到特征臉上,進(jìn)而計(jì)算權(quán)重向量,也即是各個(gè)圖片數(shù)據(jù)的坐標(biāo)值。OpenCV先使用cvLoadImage函數(shù)將圖片轉(zhuǎn)化為灰度圖片,在進(jìn)行PCA操作,計(jì)算出向量的數(shù)組,利用函數(shù)將圖片的投影到PCA子空間上,把結(jié)果保存到矩陣數(shù)組中,把結(jié)果保存到XML文件中。在識別新的人臉圖片是先給予前面得到的特征臉,將采集到的圖片投影到特征臉中,計(jì)算權(quán)重向量,判斷圖片是否屬于人臉圖像,若是判斷結(jié)果為是,就需要根據(jù)前面的極端的權(quán)重向量規(guī)劃到最初計(jì)算的個(gè)體中或是規(guī)劃為新的個(gè)體圖片。簡單而言就是根據(jù)權(quán)重向量來判斷圖片的性質(zhì)。進(jìn)一步更新特征臉,如實(shí)一個(gè)未知的人臉圖像沒有什么記錄,但是又出現(xiàn)了很多次,此時(shí)就需要把他的特征向量添加到新的個(gè)體中。OpenCV實(shí)現(xiàn)點(diǎn)用函數(shù)采集如片映射到PCA子空間上。如圖2是得到的部分特征臉圖像。

針對臉部表情識別而言,主要是采用Camshift函數(shù)進(jìn)行計(jì)算,這種計(jì)算方法能夠利用目標(biāo)的顏色直方圖模擬將圖像轉(zhuǎn)換為顏色概率分布圖,把搜索窗的位置和大小進(jìn)行初始化,得出結(jié)果,并根據(jù)所得的結(jié)果自適應(yīng)調(diào)整搜索窗口的位置和大小,從而定位中心位置,Camshift具有解決目標(biāo)圖像變形的優(yōu)勢,這個(gè)函數(shù)本身對于系統(tǒng)資源的要求度比較低,時(shí)間都復(fù)雜度也不高,因此在簡單背景下具有很強(qiáng)的跟蹤效果。具體而言O(shè)penCV來實(shí)現(xiàn)臉部表情的識別需要分為以下幾步,首先OpenCV充分調(diào)動(dòng)cvCvtColor()函數(shù),將色彩空間的數(shù)據(jù)轉(zhuǎn)化到HSI空間,接著在調(diào)用vCreateHist()函數(shù)來計(jì)算ID直方圖,在調(diào)用vCamShift()函數(shù)計(jì)算圖片的位置和面積。這種光流算法能夠準(zhǔn)確的得出不同圖像間的的細(xì)微變化,Lucas-Kanade光流算法能夠計(jì)算兩幀在一定時(shí)間段內(nèi)的每個(gè)像素點(diǎn)位置的移動(dòng)。在利用這種光流算法時(shí)需要注意先使用shi-Tomasi算法來提取圖像的特征點(diǎn),也就是找到圖片中感興趣的需要跟蹤的點(diǎn)集,并定義為第一幀的數(shù)目,找到特征值,接下來是使用函數(shù)實(shí)現(xiàn)光溜計(jì)算的系數(shù)迭代版本。輸出函數(shù)主要包括圖像本身的特征數(shù)值點(diǎn),通過這些點(diǎn)來確定局部區(qū)域的特征,如眼部以及嘴巴等,如下圖3是追蹤眼睛眨動(dòng)圖像眼睛通過比較數(shù)值的變化,來對比臉部的一些簡單表情。

3 結(jié)束語

綜上所述,文章先簡單介紹了該研究的系統(tǒng)組成和開發(fā)環(huán)境,重點(diǎn)講述以O(shè)penCV圖像處理軟件為中心,設(shè)計(jì)人臉識別系統(tǒng)。本文設(shè)計(jì)的人臉識別系統(tǒng)具有很好的實(shí)用性可識別能力、準(zhǔn)確性和可移植性,減小了識別誤差,但是還存在很多方面的不足,如若是主機(jī)上控制多個(gè)控制端,就會(huì)占用很大的內(nèi)存,識別準(zhǔn)確率和種類還有待提高,這些還需要更多的人去努力。

參考文獻(xiàn)

[1]劉靜.基于OpenCV機(jī)器視覺庫的人臉圖像預(yù)處理方法研究與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2012,20(16):186-187,190.

[2]梁路宏,艾海舟,徐光聿,等.人臉檢測研究綜述[J].計(jì)算機(jī)學(xué)報(bào),2002,25(05):449-458.

[3]李英,賴劍煌,黃瓊燕,等.非均勻光照下的人臉表情多狀態(tài)檢測與分類[J].中山大學(xué)學(xué)報(bào),2006,45(05):17-21.

[4]聶偉樂,瞿建榮.基于OpenCV的運(yùn)動(dòng)目標(biāo)光流算法[J]仿真應(yīng)用光學(xué),2008,29(6):867-869.

[5]余九華,王敬東,李鵬.基于Camshifl的人臉跟蹤算法計(jì)算機(jī)技術(shù)與發(fā)展[J].白動(dòng)畫學(xué)報(bào),2008,18(9):12-15.

[6]劉青山,盧漢清,馬頌德.綜述人臉識別中的子空問方法[J].白動(dòng)化學(xué)報(bào),2003,29(6):900-911.

[7]沈永增,劉小磊.眼部疲勞狀態(tài)檢測算法的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2011,18(03):106-109.

[8]伍文峰,王虎幫.基于模板匹配的目標(biāo)識別算法的設(shè)計(jì)與實(shí)用[J].計(jì)算機(jī)應(yīng)用,2006,6(21:133-134.

[9]李英,賴劍煌,黃瓊燕,等.非均勻光照下的人臉表情多狀態(tài)檢測與分類[J].中山大學(xué)學(xué)報(bào),2006,45(05):17-21.

作者簡介:呂晶晶(1983,6-),女,漢族,江蘇江都人,高校講師,學(xué)士學(xué)位,研究方向:電子信息。

摘 要:計(jì)算機(jī)人臉識別技術(shù)是利用計(jì)算機(jī)對人臉圖像進(jìn)行分析和理解的技術(shù),Open CV是用于圖像處理軟件,具有很好的效率,文章主要基于Open CV結(jié)合隱馬爾科夫模型研究用于人臉識別的模型,并提出一般研究步驟,經(jīng)過大量室內(nèi)試驗(yàn)證明基于Open CV的研究在人臉識別中具有高效性。

關(guān)鍵詞:Open CV;隱馬爾科夫模型;人臉識別

人們對于圖片人臉識別的研究可以追溯到20世紀(jì)60年代,到目前為止發(fā)展以逐漸成熟,通常構(gòu)建人臉識別系統(tǒng)需要使用人臉圖像采集、人臉識別預(yù)處理以及身份查找等,人臉識別在很多方面都有很大的應(yīng)用價(jià)值,Open CV是一種基于開源計(jì)算機(jī)視覺庫的軟件,通常應(yīng)用于人臉識別中、圖像分割以及人機(jī)互動(dòng)等中,文章主要研究基于Open CV的人臉識別。

1 系統(tǒng)組成和開發(fā)環(huán)境

文章利用Open CV的人臉識別系統(tǒng)是在Linux操作系統(tǒng)下開發(fā)出的圖形界面,使用OpenCV處理庫中提供的相關(guān)功能進(jìn)行圖像數(shù)據(jù)的采集,調(diào)用Harry分類器對采集的圖像進(jìn)行人臉檢測,檢測得出的結(jié)果再利用PCA算法進(jìn)行省份識別,利用Camshift和Lucas-Kanade算法進(jìn)行人臉表情識別。圖片來自于Basler acA640-100gc相機(jī),此相機(jī)操作系統(tǒng)為Fedora 10,在編譯OpenCV之前為了處理圖像還需要編譯FFmpeg。

2 基于OpenCV人臉識別研究

人臉識別在當(dāng)前人工智能中是一個(gè)重要的課題,很多學(xué)者提出了多種算法,但是在動(dòng)態(tài)圖像的人臉識別中研究不是太多。文章主要采用OpenCv軟件研究人臉識別,保存了需要的重要信息,提高配識別率。

應(yīng)用系統(tǒng)開發(fā)設(shè)計(jì)主要流程為圖1所示。圖像的采集主要通過cvCaptureFormCam相機(jī)得到,并利用相關(guān)文件對返回的結(jié)構(gòu)進(jìn)行設(shè)置(部分):

IplImage*ffame;

CvCapture*camera=0:

cvSetCaptureProperty(camera,

cvSetCaptureProperty(camera,

CV_CAP_PROP_-FRAME_WIDTH,320);

利用函數(shù)開啟定時(shí)器,每個(gè)固定的時(shí)間發(fā)送槽函數(shù),并將槽函數(shù)放入緩存中,在從內(nèi)部緩存中使用cvGrabFramea將圖像讀取數(shù)據(jù),在qt中顯出并轉(zhuǎn)化為QPixmap類型?,F(xiàn)根據(jù)圖像大小分配到緩沖區(qū)綠,再把緩沖區(qū)指針拷貝到Qimage的指針中,在進(jìn)一步循環(huán)把圖像的數(shù)據(jù)拷貝到緩沖區(qū)內(nèi),程序如下(部分):

for(int Y=0;Yheight;++y){

QlmagePtr[O]_iplImagePtr[O];

QlmagePtr[21_ipllmagePtr[2];

QlmagePtr[3]=0;

iplImagePtr+=3;}進(jìn)而再利用setPixmap函數(shù)進(jìn)行顯示。

在圖像的預(yù)處理環(huán)節(jié)中,由于目前大多數(shù)的臉部檢測算法對于人臉圖像的大小以及位置等都比較敏感,因此需要對檢測部位進(jìn)行灰度處理。人臉檢測器利用XML中的數(shù)據(jù)來搜索圖像的位置,OpenCV即是采用這種人臉檢測器進(jìn)行檢測,最終監(jiān)測的數(shù)據(jù)結(jié)果保存到cvRect中,識別基本步驟為先讀入訓(xùn)練圖像,再創(chuàng)造PVA子空間,把數(shù)據(jù)投影到子空間,再訓(xùn)練結(jié)果,把結(jié)果進(jìn)行保存進(jìn)行圖像識別。特征檢測方法的思想為圖像向量經(jīng)過K-L變換后轉(zhuǎn)變?yōu)榈途S向量,進(jìn)而形成特征子空間,把圖像投影到低維空間中。在識別人臉時(shí),僅僅需要對比數(shù)據(jù)庫中的目標(biāo)樣本集合投影系數(shù),就可以確定人臉圖片屬于哪一類。在使用PCA算法時(shí)需要經(jīng)歷生成階段和識別階段。

在訓(xùn)練階段先在訓(xùn)練臉照片集上計(jì)算特征臉,把隨對應(yīng)的圖片最大特征值,這些圖片定義為元空間的一個(gè)子空間,若是需要添加新的圖像,這個(gè)子集可以進(jìn)行更新和重新計(jì)算。在這個(gè)子集中圖片數(shù)據(jù)投影到特征臉上,進(jìn)而計(jì)算權(quán)重向量,也即是各個(gè)圖片數(shù)據(jù)的坐標(biāo)值。OpenCV先使用cvLoadImage函數(shù)將圖片轉(zhuǎn)化為灰度圖片,在進(jìn)行PCA操作,計(jì)算出向量的數(shù)組,利用函數(shù)將圖片的投影到PCA子空間上,把結(jié)果保存到矩陣數(shù)組中,把結(jié)果保存到XML文件中。在識別新的人臉圖片是先給予前面得到的特征臉,將采集到的圖片投影到特征臉中,計(jì)算權(quán)重向量,判斷圖片是否屬于人臉圖像,若是判斷結(jié)果為是,就需要根據(jù)前面的極端的權(quán)重向量規(guī)劃到最初計(jì)算的個(gè)體中或是規(guī)劃為新的個(gè)體圖片。簡單而言就是根據(jù)權(quán)重向量來判斷圖片的性質(zhì)。進(jìn)一步更新特征臉,如實(shí)一個(gè)未知的人臉圖像沒有什么記錄,但是又出現(xiàn)了很多次,此時(shí)就需要把他的特征向量添加到新的個(gè)體中。OpenCV實(shí)現(xiàn)點(diǎn)用函數(shù)采集如片映射到PCA子空間上。如圖2是得到的部分特征臉圖像。

針對臉部表情識別而言,主要是采用Camshift函數(shù)進(jìn)行計(jì)算,這種計(jì)算方法能夠利用目標(biāo)的顏色直方圖模擬將圖像轉(zhuǎn)換為顏色概率分布圖,把搜索窗的位置和大小進(jìn)行初始化,得出結(jié)果,并根據(jù)所得的結(jié)果自適應(yīng)調(diào)整搜索窗口的位置和大小,從而定位中心位置,Camshift具有解決目標(biāo)圖像變形的優(yōu)勢,這個(gè)函數(shù)本身對于系統(tǒng)資源的要求度比較低,時(shí)間都復(fù)雜度也不高,因此在簡單背景下具有很強(qiáng)的跟蹤效果。具體而言O(shè)penCV來實(shí)現(xiàn)臉部表情的識別需要分為以下幾步,首先OpenCV充分調(diào)動(dòng)cvCvtColor()函數(shù),將色彩空間的數(shù)據(jù)轉(zhuǎn)化到HSI空間,接著在調(diào)用vCreateHist()函數(shù)來計(jì)算ID直方圖,在調(diào)用vCamShift()函數(shù)計(jì)算圖片的位置和面積。這種光流算法能夠準(zhǔn)確的得出不同圖像間的的細(xì)微變化,Lucas-Kanade光流算法能夠計(jì)算兩幀在一定時(shí)間段內(nèi)的每個(gè)像素點(diǎn)位置的移動(dòng)。在利用這種光流算法時(shí)需要注意先使用shi-Tomasi算法來提取圖像的特征點(diǎn),也就是找到圖片中感興趣的需要跟蹤的點(diǎn)集,并定義為第一幀的數(shù)目,找到特征值,接下來是使用函數(shù)實(shí)現(xiàn)光溜計(jì)算的系數(shù)迭代版本。輸出函數(shù)主要包括圖像本身的特征數(shù)值點(diǎn),通過這些點(diǎn)來確定局部區(qū)域的特征,如眼部以及嘴巴等,如下圖3是追蹤眼睛眨動(dòng)圖像眼睛通過比較數(shù)值的變化,來對比臉部的一些簡單表情。

3 結(jié)束語

綜上所述,文章先簡單介紹了該研究的系統(tǒng)組成和開發(fā)環(huán)境,重點(diǎn)講述以O(shè)penCV圖像處理軟件為中心,設(shè)計(jì)人臉識別系統(tǒng)。本文設(shè)計(jì)的人臉識別系統(tǒng)具有很好的實(shí)用性可識別能力、準(zhǔn)確性和可移植性,減小了識別誤差,但是還存在很多方面的不足,如若是主機(jī)上控制多個(gè)控制端,就會(huì)占用很大的內(nèi)存,識別準(zhǔn)確率和種類還有待提高,這些還需要更多的人去努力。

參考文獻(xiàn)

[1]劉靜.基于OpenCV機(jī)器視覺庫的人臉圖像預(yù)處理方法研究與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2012,20(16):186-187,190.

[2]梁路宏,艾海舟,徐光聿,等.人臉檢測研究綜述[J].計(jì)算機(jī)學(xué)報(bào),2002,25(05):449-458.

[3]李英,賴劍煌,黃瓊燕,等.非均勻光照下的人臉表情多狀態(tài)檢測與分類[J].中山大學(xué)學(xué)報(bào),2006,45(05):17-21.

[4]聶偉樂,瞿建榮.基于OpenCV的運(yùn)動(dòng)目標(biāo)光流算法[J]仿真應(yīng)用光學(xué),2008,29(6):867-869.

[5]余九華,王敬東,李鵬.基于Camshifl的人臉跟蹤算法計(jì)算機(jī)技術(shù)與發(fā)展[J].白動(dòng)畫學(xué)報(bào),2008,18(9):12-15.

[6]劉青山,盧漢清,馬頌德.綜述人臉識別中的子空問方法[J].白動(dòng)化學(xué)報(bào),2003,29(6):900-911.

[7]沈永增,劉小磊.眼部疲勞狀態(tài)檢測算法的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2011,18(03):106-109.

[8]伍文峰,王虎幫.基于模板匹配的目標(biāo)識別算法的設(shè)計(jì)與實(shí)用[J].計(jì)算機(jī)應(yīng)用,2006,6(21:133-134.

[9]李英,賴劍煌,黃瓊燕,等.非均勻光照下的人臉表情多狀態(tài)檢測與分類[J].中山大學(xué)學(xué)報(bào),2006,45(05):17-21.

作者簡介:呂晶晶(1983,6-),女,漢族,江蘇江都人,高校講師,學(xué)士學(xué)位,研究方向:電子信息。

猜你喜歡
人臉識別
人臉識別 等
揭開人臉識別的神秘面紗
人臉識別技術(shù)的基本原理與應(yīng)用
人臉識別技術(shù)在高速公路打逃中的應(yīng)用探討
基于(2D)2PCA-LBP 的人臉識別方法的研究
淺談人臉識別技術(shù)
人臉識別在高校安全防范中的應(yīng)用
巡演完美收官 英飛拓引領(lǐng)人臉識別新潮流
人臉識別在Android平臺下的研究與實(shí)現(xiàn)
基于Metaface字典學(xué)習(xí)與核稀疏表示的人臉識別方法
华亭县| 南部县| 安西县| 旬阳县| 闽侯县| 深泽县| 分宜县| 湟源县| 郴州市| 旬阳县| 陈巴尔虎旗| 杭锦旗| 长垣县| 平舆县| 应城市| 凤凰县| 龙山县| 海林市| 池州市| 牡丹江市| 湖口县| 同江市| 康乐县| 南昌县| 澎湖县| 太康县| 察哈| 蚌埠市| 凤翔县| 华安县| 安龙县| 甘南县| 仪陇县| 府谷县| 平山县| 政和县| 德保县| 蕉岭县| 白玉县| 泸水县| 随州市|