專利名稱:一種基于分合算法的人臉識(shí)別方法
技術(shù)領(lǐng)域:
本發(fā)明涉及人臉識(shí)別的領(lǐng)域,尤其是一種基于分合算法的人臉識(shí)別方法。
背景技術(shù):
在日常生活中,我們主要根據(jù)臉來(lái)識(shí)別一個(gè)人。交談中,我們往往看著對(duì)方的臉,尤其是眼睛。臉上的表情也是進(jìn)行交談的一個(gè)重要部分。所以,人臉在人與人的交流過(guò)程中起著極其重要的作用。這就決定了在現(xiàn)代社會(huì)中,使用計(jì)算機(jī)自動(dòng)進(jìn)行人臉的定位和識(shí)別工作有著重要的意義。其應(yīng)用領(lǐng)域包括很多方面,比如身份鑒別,保安系統(tǒng),人機(jī)交互界面等等。
人臉識(shí)別系統(tǒng)雖然有誘人的應(yīng)用前景,但是在現(xiàn)實(shí)中卻還沒(méi)有開(kāi)始大規(guī)模的使用。其主要原因之一就是用計(jì)算機(jī)自動(dòng)進(jìn)行人臉的定位和識(shí)別十分困難,目前的識(shí)別效果(正確率,速度)不如其他的生物識(shí)別技術(shù),如指紋識(shí)別,視網(wǎng)膜識(shí)別等等。人們?cè)谌粘I钪芯瓦M(jìn)行了大量的人臉定位和識(shí)別工作,當(dāng)然全部是由人的視覺(jué)系統(tǒng)和大腦“自動(dòng)”進(jìn)行的。目前還不清楚人的視覺(jué)系統(tǒng)和大腦的工作原理,因此這項(xiàng)人可以輕而易舉完成的任務(wù),對(duì)于目前還只會(huì)死板地執(zhí)行程序指令的計(jì)算機(jī)來(lái)說(shuō)卻是極端困難。困難主要存在于兩個(gè)方面人臉的圖像數(shù)據(jù)具有高度的隨機(jī)性。光照條件,臉的偏向,表情,發(fā)型,胡子,化妝,衣飾(眼鏡,帽子)等等略有變化,就可以給識(shí)別系統(tǒng)帶來(lái)巨大的困難。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是為了克服上述中存在的問(wèn)題,提供一種基于的分合算法的人臉識(shí)別方法。本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是一種基于的分合算法的人臉識(shí)別方法,具體步驟如下a.分割算法(1)把金字塔數(shù)據(jù)結(jié)構(gòu)中起始某個(gè)中間層的數(shù)據(jù)塊編碼全部壓入工作堆棧RgStack ; (2)從RgStack彈出一個(gè)數(shù)據(jù)塊編碼Code ; (3)反復(fù)執(zhí)行2,直至堆棧RgStack空;b.合并算法(1)把中間層里所有均勻的數(shù)據(jù)塊的編碼存入工作隊(duì)列RgA ;(2)從RgA出隊(duì)一個(gè)編碼Code ;(3)反復(fù)執(zhí)行2,直至隊(duì)RgA空;c.相鄰歸并算法(I)從RgCode中彈出一個(gè)編碼,壓入工作堆棧RgStack ; (2)從RgStack中彈出一個(gè)編碼Code,將它入隊(duì)到RgA ;(3)反復(fù)執(zhí)行2,直至棧RgStack空;(4)反復(fù)執(zhí)行1-2-3,直至棧RgCode空本發(fā)明的有益效果是,本發(fā)明的一種基于的分合算法的人臉識(shí)別方法,采用此種識(shí)別方法,能夠有效地提高了執(zhí)行效率,達(dá)到快速識(shí)別的目的。
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)一步說(shuō)明。
圖I是本發(fā)明的金字塔數(shù)據(jù)結(jié)構(gòu)示意圖;圖2是本發(fā)明的數(shù)據(jù)塊編碼規(guī)則的示意圖;圖3是本發(fā)明的2:2對(duì)角和2:2同側(cè)分布的示意圖。
具體實(shí)施例方式現(xiàn)在結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。這些附圖均為簡(jiǎn)化的示意圖,僅以示意方式說(shuō)明本發(fā)明的基本結(jié)構(gòu),因此其僅顯示與本發(fā)明有關(guān)的構(gòu)成。一種基于的分合算法的人臉識(shí)別方法,分合算法采用金字塔數(shù)據(jù)結(jié)構(gòu)。首先討論以像素計(jì)的邊長(zhǎng)是2的整數(shù)次冪的正方形圖像。塔的底層(第O層)是原始圖像(在我的應(yīng)用中是已經(jīng)過(guò)二值化的圖像)。用相鄰排作正方形的四個(gè)像素作為子結(jié)點(diǎn),計(jì)算上一層相應(yīng)像素的取值。這樣每上溯一層(層編號(hào)加1),像素?cái)?shù)目成為原來(lái)的1/4。當(dāng)整幅圖只剩下一個(gè)像素時(shí),金字塔構(gòu)造完畢(見(jiàn)圖I)。數(shù)據(jù)結(jié)構(gòu)某一層中的一個(gè)像素事實(shí)上代表了第O層中 2」個(gè)像素組成的一個(gè)數(shù)據(jù)方塊(j是該層編號(hào)),為了表示和計(jì)算方便起見(jiàn),用編碼來(lái)代表這樣的一個(gè)數(shù)據(jù)塊。設(shè)數(shù)據(jù)結(jié)構(gòu)中最高一層的編號(hào)為n,則這個(gè)編碼共有η位。把一個(gè)方塊內(nèi)的四個(gè)子方塊按照?qǐng)D2順時(shí)針標(biāo)記為1,2,3,4。為了表示一個(gè)數(shù)據(jù)塊,我們首先把原始圖像劃分成四個(gè)正方形,第一位編碼就描述該數(shù)據(jù)塊落在了 1,2,3,4中哪個(gè)正方形里,然后對(duì)包含該數(shù)據(jù)塊的正方形再劃分為四個(gè)小正方形,第二位編碼就描述該數(shù)據(jù)塊落在了哪個(gè)小正方形里。如此反復(fù),直到某個(gè)小正方形恰好是該數(shù)據(jù)塊,此后的編碼就全部取0,表示不必再細(xì)分。例如圖2所示的3層金字塔結(jié)構(gòu);對(duì)于一幅普通的圖像,一般都不會(huì)恰好是正方形,邊長(zhǎng)也不會(huì)恰好是2的整數(shù)次冪。我便以128X128的方塊作為基本單位,用mXn個(gè)這樣的方塊對(duì)圖像做覆蓋。遇到圖像中某個(gè)部分填不滿一個(gè)方塊的情形,就補(bǔ)上白色(白色不作為特征,看成空白)。每個(gè)方塊都產(chǎn)生自己的一個(gè)7層金字塔數(shù)據(jù)結(jié)構(gòu),相互獨(dú)立地運(yùn)行分裂算法和合并算法。在相鄰歸并算法中,不處于同一個(gè)128X128劃分塊但是相鄰的數(shù)據(jù)塊應(yīng)該被歸入同一個(gè)特征塊,所以數(shù)據(jù)塊編碼需要在全圖像內(nèi)唯一。我使用的數(shù)據(jù)塊編碼是在每個(gè)金字塔7位編碼的基礎(chǔ)上再加兩位,分別表示在mXn個(gè)128X 128劃分塊中該數(shù)據(jù)塊所處的劃分塊的X和I位置。因此完整的編碼是9位。根據(jù)子結(jié)點(diǎn)像素計(jì)算父結(jié)點(diǎn)像素時(shí)常用的是灰度平均法,如圖3所示,我的應(yīng)用中有所不同如果四個(gè)像素中白色占了 3塊以上則父結(jié)點(diǎn)像素賦值為白色;如果黑白2 :2對(duì)角分布也賦值為白色;如果黑色占了三塊以上則賦值為黑色;如果黑白2 :2各占據(jù)一側(cè)則賦值為黑色。這樣的好處是可以消除一部分不緊密的連接(2 :2對(duì)角分布),而保留所有可能的緊密的連接(2 2同側(cè)分布),具體步驟如下a.分割算法(1)把金字塔數(shù)據(jù)結(jié)構(gòu)中起始某個(gè)中間層的數(shù)據(jù)塊編碼全部壓入工作堆棧RgStack ; (2)從RgStack彈出一個(gè)數(shù)據(jù)塊編碼Code ; (3)反復(fù)執(zhí)行2,直至堆棧RgStack空;b.合并算法(1)把中間層里所有均勻的數(shù)據(jù)塊的編碼存入工作隊(duì)列RgA ;(2)從RgA出隊(duì)一個(gè)編碼Code ;(3)反復(fù)執(zhí)行2,直至隊(duì)RgA空;c.相鄰歸并算法(I)從RgCode中彈出一個(gè)編碼,壓入工作堆棧RgStack; (2)從RgStack中彈出一個(gè)編碼Code,將它入隊(duì)到RgA ;(3)反復(fù)執(zhí)行2,直至棧RgStack空;(4)反復(fù)執(zhí)行1-2-3,直至棧RgCode空。
以上述依據(jù)本發(fā)明的理想實(shí)施例為啟示,通過(guò)上述的說(shuō)明內(nèi)容,相關(guān)工作人員完全可以在不偏離本項(xiàng)發(fā)明技術(shù)思想的范圍內(nèi),進(jìn)行多樣的變更以及修改。本項(xiàng)發(fā)明的技術(shù)性范圍并不局限于說(shuō)明書上的內(nèi)容,必須要根據(jù)權(quán)利要求范圍來(lái)確定其技術(shù)性范 圍。
權(quán)利要求
1.一種基于的分合算法的人臉識(shí)別方法,其特征是具體步驟如下a.分割算法(1)把金字塔數(shù)據(jù)結(jié)構(gòu)中起始某個(gè)中間層的數(shù)據(jù)塊編碼全部壓入工作堆棧RgStack ; (2)從RgStack彈出一個(gè)數(shù)據(jù)塊編碼Code ; (3)反復(fù)執(zhí)行2,直至堆棧RgStack空; b.合并算法(I)把中間層里所有均勻的數(shù)據(jù)塊的編碼存入工作隊(duì)列RgA; (2)從RgA出隊(duì)一個(gè)編碼Code ;(3)反復(fù)執(zhí)行2,直至隊(duì)RgA空; c.相鄰歸并算法(I)從RgCode中彈出一個(gè)編碼,壓入工作堆棧RgStack;(2)從RgStack中彈出一個(gè)編碼Code,將它入隊(duì)到RgA ;(3)反復(fù)執(zhí)行2,直至棧RgStack空;(4)反復(fù)執(zhí)行1-2-3,直至棧RgCode空。
全文摘要
本發(fā)明涉及一種基于分合算法的人臉識(shí)別方法,具體步驟如下a.分割算法;b.合并算法;c.相鄰歸并算法。本發(fā)明的一種基于的分合算法的人臉識(shí)別方法,采用此種識(shí)別方法,能夠有效地提高了執(zhí)行效率,達(dá)到快速識(shí)別的目的。
文檔編號(hào)G06K9/00GK102831394SQ201210254940
公開(kāi)日2012年12月19日 申請(qǐng)日期2012年7月23日 優(yōu)先權(quán)日2012年7月23日
發(fā)明者吳軍 申請(qǐng)人:常州藍(lán)城信息科技有限公司