人臉識(shí)別,是視覺模式識(shí)別的一個(gè)細(xì)分問題,也大概是最難解決的一個(gè)問題。 其實(shí)我們?nèi)嗣繒r(shí)每刻都在進(jìn)行視覺模式識(shí)別,我們通過眼睛獲得視覺信息,這些信息經(jīng)過大腦的處理被識(shí)別為有意義的概念。于是我們知道了放在我們面前的是水杯、書本,還是什么別的東西。
我們也無時(shí)無刻不在進(jìn)行人臉識(shí)別,我們每天生活中遇到無數(shù)的人,從中認(rèn)出那些熟人,和他們打招呼,打交道,忽略其他的陌生人。甚至躲開那些我們欠了錢還暫時(shí)還不上的人。然而這項(xiàng)看似簡(jiǎn)單的任務(wù),對(duì)機(jī)器來說卻并不那么容易實(shí)現(xiàn)。
對(duì)計(jì)算機(jī)來講,一幅圖像信息,無論是靜態(tài)的圖片,還是動(dòng)態(tài)視頻中的一幀,都是一個(gè)由眾多像素點(diǎn)組成的矩陣。比如一個(gè)1080p的數(shù)字圖像,是一個(gè)由1980×1080個(gè)像素點(diǎn)組成矩陣,每個(gè)像素點(diǎn),如果是8bit的rgb格式,則是3個(gè)取值在0-255的數(shù)。機(jī)器需要在這些數(shù)據(jù)中,找出某一部分?jǐn)?shù)據(jù)代表了何種概念:哪一部分?jǐn)?shù)據(jù)是水杯,哪一部分是書本,哪一部分是人臉,這是視覺模式識(shí)別中的粗分類問題。
而人臉識(shí)別,需要在所有機(jī)器認(rèn)為是人臉的那部分?jǐn)?shù)據(jù)中,區(qū)分這個(gè)人臉屬于誰,這是個(gè)細(xì)分類問題。
人臉可以分為多少類呢?這取決于所處理問題的人臉庫大小,人臉庫中有多少目標(biāo)人臉,就需要機(jī)器進(jìn)行相應(yīng)數(shù)量的細(xì)分類。如果想要機(jī)器認(rèn)出每個(gè)他看到的人,則這世界上有多少人,人臉就可以分為多少類,而這些類別之間的區(qū)別是非常細(xì)微的。由此可見人臉識(shí)別問題的難度。
更不要提,這件事還要受到光照、角度、人臉部的裝飾物等各種因素的影響。這也不難解釋為什么人臉識(shí)別技術(shù)目前還沒有大量應(yīng)用在日常生活中,大部分人只能在科幻電影中接觸人臉識(shí)別了。
一些不太被人熟悉的事物,經(jīng)常會(huì)伴隨著大量的概念混淆。比如對(duì)西方宗教不太了解的國人,可能搞不清楚為什么有些人信上帝但不信耶穌;都是在教堂工作的大叔,為什么有些要禁欲,有些卻能結(jié)婚。而人臉識(shí)別作為一個(gè)新事物,也伴隨著大量的概念混淆,而分清這些概念,對(duì)于理解人臉識(shí)別還是比較重要的。
完成人臉識(shí)別的工作,要經(jīng)過幾個(gè)步驟。首先計(jì)算機(jī)需要在圖像或視頻中找到人臉的位置,這部分工作一般叫做人臉檢測(cè)。如前所述,這是一種粗分類,具體到人臉檢測(cè)中,實(shí)際上是二分類,計(jì)算機(jī)只需要判斷目標(biāo)圖像是或者不是人臉。但由于并不能事先確定人臉的大小和位置,計(jì)算機(jī)需要以每個(gè)可能的人臉大小對(duì)全圖進(jìn)行掃描,逐個(gè)判斷子窗口所截取的圖像是否為人臉。而每次掃描過程,子窗口移動(dòng)的步長(zhǎng)可能是幾個(gè)像素。
所以你可以大致想象一下,做一張圖的人臉檢測(cè),計(jì)算機(jī)需要做多少次二分類判斷。