編輯導語:人臉識别産品早已被應用到生活的各個場景之中。但是你了解它的應用原理嗎?本篇文章裡,作者便将人臉識别原理進行了拆解。感興趣的話就一起看下去吧。
現在AI發展的如火如荼,我們已逐步進入智能時代。雖然人工智能偏技術類,學習和理解需要一定的技術背景和數學做支撐。但拆開看,其原理、方法、思路并不複雜,「不懂技術」的産品經理也能理解。
人工智能牽扯很多學科,知識點盤根錯節,需要具備多學科的知識儲備。從學習路徑上看,比較适合做成系列,從淺入深,從基礎到應用,逐漸深入。但無形中提高了學習門檻,降低了學習的興趣,導緻很難堅持。
有感于此,我想以一種輕松、探索的視角,跟大家一起摸索,用簡單、直白的方式來學習AI。這樣,雖然會有錯誤、遺漏等,但學習難度會降低,那就在過程中完善吧,畢竟「模糊的正确大于精确的錯誤」。
一、人臉識别産品我們從人臉識别開始,逐步了解其技術路徑的演變和原理等,今天先從最簡單的原理講起。
人臉識别其實很早就有了,多年前就以人臉考勤的方式出現,但由于使用效果不好,用戶體驗不佳,逐步被市場淘汰。
而這一波人工智能的火熱,計算能力、模型等都是其重要推動力,但更重要的是産品能夠落地,能夠在實際業務場景中使用。
尤其是人臉識别,産品在識别精度、速度、用戶友好度等多個方面都有明顯提升,用戶和市場的接受度明顯上升。
二、圖像表示了解人臉識别,先要從圖像表示講起。
大家都知道,計算機能夠識别和處理的是二進制,不管我們輸入的是文本、圖像、聲音,計算機都是用一定長度的二進制串進行存儲和處理。
我們先以黑白圖片為例,看看計算機是怎麼表示的。
計算機程序可以将黑白圖片可以表示為灰度圖像。在灰度圖像中,一個像素使用8個比特位,從而可以表示256個灰度階,表示範圍是0-255。其中0代表純黑色,255代表純白色。
一個字節可以表示一個像素,那怎麼表示一張圖片呢,用矩陣進行表示。
簡單來說,就是表格,比如可以使用8行8列來表示一張8*8的灰度圖片。
這樣我們就解決了圖像的表示問題,建立了圖像和矩陣的等價關系。圖片可以轉化為矩陣,通過矩陣也可以恢複原始圖片。
大家能算出來下面的矩陣表示什麼嗎?
對的,一眼就看出來了數字1,看來大家都有搞AI的天賦,加油。
三、圖像識别通過矩陣表示圖像後,圖像的各種處理就轉化為數學問題,可以使用數學的理論和方法進行解決,而這正是計算機所擅長的。
我們輸入圖片,希望計算機能夠将内容識别出來,将結果輸出。
仍以數字為例,當輸入圖片并用矩陣表示後,通過将灰度值轉化為灰度,可以輕松辨識其所表示的内容。
但在計算機的世界裡,隻有0和1。想要通過辨識矩陣内容并将結果輸出,就必須建立矩陣到結果的映射。這樣,輸入一張圖片,經過處理和計算後,才能輸出一個數字。
很樸素的想法就是将各個數字所代表的矩陣提前存放在計算機内,當輸入一張圖片後,計算機通過計算,從而找到最适合的數字進行輸出。
舉個例子,更容易理解一些。比如,計算機内部已經存放了包含數字1和7以及它們所對應的灰度矩陣。
數字1
數字7
當新輸入一張圖像後,程序會自動計算它的矩陣與這些矩陣的相似度。相似度計算可使用的公式很多,比如可以使用百分比,距離等。
簡單起見,就使用兩個矩陣對應元素之差的絕對值之和或者平方和等,計算機進行快速運算,找到最相似的矩陣,然後将其所代表的數字進行輸出。
當輸入以下内容時,經過簡單計算,可以知道輸出結果為 7。
四、人臉表示
既然可以用矩陣來表示圖片,人臉也是照片,那麼也可以用同樣的方法來進行表示,下面的這張人臉可以表示為:
人臉照片
矩陣表示
五、人臉識别雖然被叫做人臉識别,但更準确的名字應該是「人臉比對」。人臉識别的背後,是一張待比對圖片和人臉底庫中的所有照片進行比對,從而判别圖片中人員的身份。
一般來說,待比對照片就是我們在日常生活中被各種設備所采集的照片,比如通過人臉識别考勤機抓拍的照片。
由于環境、姿勢等原因,采集的照片具有很大的差異,導緻比對成功率不高。為了提升比對的成功率和速度,很多時候會同時抓拍多張人臉進行識别,但每次比對的時候輸入照片隻有一張。
所謂的人臉底庫就是我們在系統中提前錄入的人臉照片,照片和我們的名字一一對應。根據人臉底庫中照片數量的不同,可以将人臉比對分為1:1和1:N,由于數量不同這兩種方法的計算量和計算方法也不盡相同。
1. 1:1
1:1最常見的場景就是人證比對,比如我們在乘高鐵時所遇到的這種設備。
前面的1代表我們從設備中采集的照片,而後面的1代表身份證中的照片,通過将現場采集的照片和身份證中存放的照片進行比對,通過判别持證人是否為本人。
這種情況下隻涉及到兩張圖片的比對,計算量相對較小。
可能用在火車票安檢等場景中,所以要求的精度較高。
身份證中的照片像素較小,通過市面上的身份證讀卡器讀取出來的照片僅為100*100像素左右,給精度帶來了一定的挑戰。
目前這個領域相對成熟,使用場景正在逐步鋪開。
2. 1:N
1:N是1張人臉和底庫中的N張人臉進行比對。
比如在考勤機中,我們的人臉底庫中包含全公司的所有人臉照片。當上班打卡時,考勤機采集到人臉輸入系統,經過比對後輸出員工身份。
這種情況下計算量相對較大,時效性和識别精度太低又會影響用戶體驗,所以廠商一般會綜合考慮權衡,在設備的參數中标注所支持的人臉數量。
這一波人工智能的發展,帶動了1:N領域人臉識别技術的進步,更多的産品能夠在各個場景中落地。比如智慧城市、智慧家居等。
國内廠商也借着這一波東風,加快技術研發和産品落地,誕生了著名的AI視覺四小龍等獨角獸。
今天梳理了人臉識别的基本原理,整個實現過程雖然看起來很簡單,但技術卻在基本原理的基礎上持續完善和進步,最終達到比較好的效果。
下次我們将讨論在複雜場景下人臉識别遇到的挑戰及解決方案。
作者:AIoT産品,10年B端産品設計經驗;AIoT産品
本文由@AIoT産品 原創發布于人人都是産品經理。未經許可,禁止轉載
題圖來自Unsplash,基于CC0協議
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!