技術流:數碼相機中的人臉檢測技術與發展
市場上許多數碼相機帶有“人臉識別”功能,拍照的時候通過定位人臉進行準確聚焦。它的工作原理就是實時人臉檢測(Face detection)技術,把它稱爲人臉識別其實是不準確的。檢測或者定位是指在一個圖像中找到人臉的位置,而識別(Recognition)是要指出這人是張三還是李四。識別是檢測的後續步驟,只有當人臉正確定位後,識別才能進行。
在1990年代之前,很多人臉檢測的方法是通過提取圖像中臉的明顯輪廓,比如鼻子眼睛和下巴的輪廓來進行的。比如先對圖像進行邊緣提取,根據人臉形狀爲橢圓這一先驗知識找到臉部輪廓;或者通過對圖像水平和垂直方向的灰度值進行累加(稱爲積分投影),在一維投影曲線上判斷眼睛或者嘴的位置。在人們用計算機進行人臉檢測的早期階段,這樣的思路是比較普遍,它看起來和一個普通人對“在圖像中怎樣找到人臉?”的回答一致:“先找眼睛鼻子或者嘴巴的輪廓......”。也許也有人會回答:“先根據皮膚顏色......”。實際上,形狀輪廓,或者膚色都不是很好的檢測線索。對於複雜的圖像通過設置簡單的閾值提取輪廓,很難奏效;而膚色也容易和圖像背景顏色相混淆,更何況顏色信息在黑白圖像中根本不存在。
進入90年代,隨着計算機處理能力不斷增強,進行圖像處理運算的門檻大大降低了。人們在一臺普通的PC上也可以進行人臉檢測和識別算法的研究,大量人臉識別和檢測的相關算法涌現出來。人臉檢測方法也從之前的基於形狀輪廓的思路,轉向基於圖像的方法。
數字圖像處理通常把一個圖像表達成矩陣的形式,一幅黑白圖像矩陣中每個元素(稱爲像素)用8Bit(可表達0~255)的整數表示圖像亮度。這樣的矩陣也可以看做一個3維曲面,如下圖。一個8Bit黑白圖像一般稱爲灰度圖像,彩色圖像則是由3層分別表示紅黃藍的8Bit圖像(一個像素24Bit)疊加而成的。一個64×64的人臉圖像矩陣,它所能提供的全部信息都包含在這個矩陣裏,不會更多(實際上它也可能是有冗餘的),所以利用圖像的信息進行人臉檢測是當前最常規的方法。
人臉檢測的基本方法是用一個一系列小窗口掃描照片,窗口的尺寸可視實際人臉的大小選擇,比如{16,20,24,32,..., 120} 。掃描窗口,這可以說是人臉圖像或者其他目標檢測的基本的工作方式,只有這樣才能覆蓋可能出現在不同位置、不同大小的人臉。對窗口中的圖像塊提取一系列特徵,當這些特徵表現出的統計信息滿足條件,才判斷這個圖像爲人臉圖像。這是模式識別(Pattern recognition)領域的一個典型的兩類(“人臉”和“非人臉”)分類問題。
MIT媒體試驗室的Turk和Pentland在基於圖像的人臉檢測和識別方面做出了開創性的工作。1991年他們發表基於主成份分析(PCA)的方法。他們把人臉圖像二維矩陣每行首尾相接組成一個向量,這個向量可以看做是高維空間中的一個點。比如16×16的一個灰度圖像,可以看成是256維空間中的一個點。大量的人臉圖像在這樣的空間中應該是聚在一起的,叫做聚類(俗稱扎堆)。一個“非人臉”圖像離開這個“堆”則比較遠。這樣扎堆的人臉與非人臉圖像的邊界並不光滑,所以一般通過降低維數(高維空間投影到低維子空間,PCA就是幹這個的)的方法去除噪聲,另一方面在低維空間的計算量也會大大減小。作爲人臉判斷的依據,“遠”和“近”是相對的概念,可以轉化爲某種概率表達,比如高斯分佈的形式,但作爲最終判斷Yes或No是需要一個閾值,它要在正確率和錯檢率之間取得平衡。這樣的閾值的選取非常微妙,在圖像處理和模式識別領域裏是避免不了的。所以有人說,無論多麼好的算法,歸根結底都是trade-off(權衡)。
基於PCA的方法,需要先對掃描窗口進行歸一化,變成長度一致的矢量,再通過一個變換矩陣進行投影,變到低維子空間。這樣的矩陣乘法,其實是由一系列矢量內積運算組成的,簡單說,就象一個2維矢量(4,9)投影到x座標軸(1,0),只要做內積即可:4*1+9*0=4。這樣的簡單的步驟,對於大量掃描窗口來說,計算量還是很大的。這對數碼相機的系統(比如Arm系統或者加上圖像處理DSP芯片)來說,負擔太重,幾乎無法做到實時處理。
另外,檢測算法的缺陷也導致無法有很好的魯棒性(robustness)。把圖像窗口矩陣簡單地首尾相接,實際上忽視了人臉在空間上的連續性,而僅僅是把圖像看成一個矢量,沒有更充分地利用人臉的先驗知識,比如眼睛區域的總是比臉部顏色深一些。
真正突破性的進展出現在2001年,P. Viola和M.J. Jones發表的會議論文,提出了基於“積分圖像”和AdaBoost訓練的著名方法,才使得實時人臉檢測變成可能。這篇文章幾乎可以說是具有劃時代的意義,可以毫不誇張地說,現在市場上幾乎所有的人臉算法都是以它爲基礎的。我在一段很長的時間裏所做的工作都和它有關。以後有空我們再來談它吧,今天就到這裏。
相關文獻:
[1] 基於PCA方法在這裏可以查到,第一篇就是M. Turk, A. Pentland, Eigenfaces for Recognition。
[2]Viola-Jones論文Robust Real-time Object Detection相關文章
-
數碼相機常見技術失誤故障隨身診斷
數碼相機常見故障隨身診斷手冊—技術失誤篇 購買了數碼相機的難免會有碰到這樣那樣的問題,有些是相機本身質量故障造成的,有些是使用不得當造成的,在遇到數碼相機出問題的時候,各位不要慌張,讓下面的數碼相機故障隨身診 -
[轉載]數碼技術與複合性版畫作業選
獨茂蘭石:好好時光老師您好:您是學院版畫專業的數碼方面專家,在數碼版畫領域裏有自己獨到之處,有時在博客中看到教研內容,感覺非常好,因爲很多東西,院裏院外都可以共享。在此冒昧的與您溝通學習一下,言過之處見諒,因爲熱愛才 -
常見難題?數碼攝影中的測光小技巧
自西晉滅亡以後,大量北方遊牧民族南下,經過300多年的戰亂先一統於隋,又一統於唐。建立唐朝的李氏家族雖然是漢人,但早已嚴重胡化。皇族如此,吃得起肉的貴族、官僚們也是如此。胡人自然更愛吃羊肉,正是在蘇軾出生前的數百年 -
數碼相機的一些使用技巧
謎面剗襪步香階謎語類型打一航空航天詞語謎底軟着陸 -
數碼相機的選購和使用經驗技巧手工手工護膚教程
美甲的亮片閃粉怎麼用纔好看,很多女孩子都喜歡在美甲的時候加入閃粉的元素來增加美感效果,閃粉用的好美甲就會閃耀奪人眼球,今天彩虹里美甲小編爲大家帶來一款以藍色調爲主打的優雅閃粉美甲教程,一起來看看吧!優雅閃粉美甲 -
美國數碼藝術家的數碼藝術作品
美國數碼藝術家Michael Oswald的數碼藝術合成攝影作品,作者現居加利福尼亞,它的網址是: -
西服裁剪放碼領駁的結構形成規律與技術分析
準媽媽該如何安全駕駛?準媽媽該如何安全駕駛?一、如何系安全帶?懷孕的女士通常都想當然地不繫安全帶,以爲這樣會壓迫到胎兒,其實這是不正確的。只要方法得當,系安全帶對胎兒是沒有影響的,而且這樣才能真正保護胎兒,想想看,準媽 -
最常用的10技術發明技法
最常用的10技術發明技法 一、 缺點列舉法 我們日常生活中,所使用的東西不可能都是十全十美的。即便是工廠里正在生產的各種產品或是市場上正在銷售的各種商品,也並不是完美無缺的,它們都或多或少地存在着這樣或那樣的缺 -
手機拍照技巧 9個簡單實用的手機攝影技術教程
自古皇權爭鬥之殘酷是今人無法想象的,父屠子、子弒父、兄弟鬩牆自相殘殺,這樣的場面比比皆事。之前我們有介紹過漢武帝的廢太子劉據,這位被自己多疑老爹活活逼死,使得母親衛子夫衛皇后生無可戀三尺白綾吊死的悲慘史。今天 -
裁剪放碼:U形七刀眼配袖技術手工教程
在服裝打板配袖工作中,業內習慣在袖窿上配袖子。傳統方法有框式配袖法和三角形配袖法,其作圖特徵是在袖窿中從上而下的作業方式。 框式配袖法、三角形配袖法中可以得出:當袖山弧線加入縫縮量後,常採用2—4個刀眼定位,刀