蘋果公司的第一支智慧型手機 iPhone 上市滿十年的今天,特別推出有史以來功能最強大的旗艦機 iPhone X,其中最大的特色是取消了 Home 鍵也無需手動解鎖,而是採用 Face ID 臉部辨識解鎖技術,將 3D 影像技術發揮到極致,這裡我們經由 Face ID 臉部辨識技術來解析 3D 立體影像感測原理。
影像感測器(Image sensor)
數位相機所使用的影像感測器主要是取得平面彩色影像,這個已經是我們使用了超過 20 年的舊東西,大部分的人都知道影像感測器有 CCD 與 CMOS 兩種,卻很少有人知道這兩種零組件到底是什麼?讓我們先從這兩種最基本的元件談起。
影像(Image)其實指的就是我們看到的一個「畫面」(Frame),是由許許多多的格子組成,這些格子稱為「畫素」(Pixel)。影像感測器是由許許多多的格子(畫素)組成的陣列,每一個畫素含有一個電荷耦合元件(CCD)與光感測器(PD),由於光感測器(PD)只能偵測亮度,無法分辨顏色,為了取出顏色,必須在光感測器上方加裝「彩色濾光片」(Color filter),如圖 1(a)所示,它的 RGB 排列方式有許多種,目前最常使用的是圖中這種稱為「貝爾圖」(Bayer pattern),有沒有發現貝爾圖的設計裡,綠色的畫素是紅色與藍色的兩倍?因為肉眼對綠色比較敏感,因此多收集綠色的資訊是合理的。
▲ 圖 1:CCD 感測器的構造與原理示意圖。
CCD 影像感測器
電荷耦合元件(CCD:Charge Coupled Device)是一種推電荷(電子)前進的元件,利用 3 個金屬電極不同電壓依序推電荷前進,如圖 2(b)所示,左下角畫素 A 的光感測器內的電子經由旁邊的 CCD 元件由 4 向上推到 3,此時畫素 B 的電子由 3 推到 2,畫素 C 的電子由 2 推到 1,畫素 A 的電子由 1 推到水平線,依此類推,第一行的電子推完,再推第二行,再推第三行,依此類推,必須把影像感測器內每一個畫素的電子依序推到水平線,經由「類比前端」(AFE:Analog Front End)將類比訊號轉換成數位訊號,也就是影像的「類比數位轉換器」(ADC:Analog to Digital Converter),再輸入處理器(Processor)進行數位訊號處理。
CCD 影像感測器的優點是影像畫質較佳,雜訊較小;缺點有成本高、耗電量高、類比前端是使用 CMOS 製程與 CCD 製程不同因此無法整合在同一個晶片。
CMOS 影像感測器
互補型金屬氧化物半導體(CMOS)是一種開關元件,利用閘極施加正電壓在下方形成電子通道,可以便電子由源極流入,由汲極流出,如圖 2(b)所示,每一個畫素的左上角都有一個 CMOS 開關,一個一個畫素可以依序打開(ON)導通,使光感測器內的電子依序流入水平線,第一行的電子流完,再流第二行,再流第三行,依此類推,必須把影像感測器內每一個畫素的電子依序流到水平線,經由「類比前端」將類比訊號轉換成數位訊號,也就是影像的「類比數位轉換器」,再輸入處理器進行數位訊號處理。
▲ 圖 2:CMOS 感測器的構造與原理示意圖。
CMOS 影像感測器的優點是成本低(大約只有 CCD 的三分之一)、耗電量低(大約只有 CCD 的十分之一),更重要的是類比前端是使用 CMOS 製程與 CMOS 影像感測器的製程相同,可以整合在同一個晶片上縮小體積,這對於智慧型手機這種對元件尺寸很在意的應用非常適合;缺點有影像畫質較差,雜訊較大,特別是 CMOS 開關本身產生的熱雜訊,這種雜訊是元件在高於絕對零度(0K)時就會產生的,而且溫度愈高雜訊愈嚴重,早期的 CMOS 影像感測器畫面上會看到一個個亮點跳來跳去就是由於熱雜訊產生,近年來由於半導體製程的進步,CMOS 影像感測器的雜訊問題有很大的改善。
3D 立體影像感測技術
數位相機只能取得平面彩色影像,完全沒有深度的資訊,這代表當我們看到一張照片,只知道這個人的臉部有多寬多高,卻不知道他臉部的立體結構,例如:鼻子有多挺(有多深),為了取得影像的深度資訊,近年來許多廠商投入研發,目前比較成熟的技術有下列兩種:
- 飛時測距(ToF:Time of Flight):利用發光二極體(Light Emitting Diode,LED)或雷射二極體(Laser Diode,LD)發射出紅外光,照射到物體表面反射回來,由於光速(v)已知,可以利用一個紅外光影像感測器量測物體不同深度的位置反射回來的時間(t),利用簡單的數學公式就可以計算出物體不同位置的距離(深度),如圖 3(a)所示。
- 結構光(Structured light):利用雷射二極體或數位光源處理器(Digital Light Processor,DLP)打出不同的光線圖形,經由物體不同深度的位置反射回來會造成光線圖形扭曲,例如:打出直線條紋的光線到手指上,由於手指是立體圓弧形造成反射回來變成圓弧形條紋,進入紅外光影像感測器後就可以利用圓弧形條紋反推手指的立體結構,如圖 3(b)所示。
【延伸閱讀】對發光二極體(LED)的原理,以及它與雷射二極體(LD)的差異有興趣的人可以參考〈知識力專家社群:發光二極體(LED)〉。
▲ 圖 3:3D 立體影像感測技術原理示意圖。(Source:LAGOA)
TrueDepth 相機
蘋果將 iPhone X 所使用的 3D 立體影像感測技術稱為「TrueDepth 相機」,結合了前面介紹的兩種技術,如圖 4 所示,TrueDepth 相機為 700 萬畫素的 CMOS 影像感測器,配合紅外光相機、泛光照明器、接近感測器、環境光感測器、點陣投射器等元件,以下簡單介紹每個元件的功能:
- 泛光照明器(Flood illuminator):使用低功率的垂直共振腔面射型雷射(Vertical Cavity Surface Emitting Laser,VCSEL),發射出「非結構」(Non-structured)的紅外光投射在物體表面。
- 接近感測器(Proximity sensor):使用低功率的垂直共振腔面射型雷射發射紅外光雷射,當有物體靠近時會反射雷射光,因此手機可以知道有物體接近,這個元件很早之前智慧型手機就有了,一般都是安裝在擴音器(Speaker)旁邊,當使用者撥電話並且將手機靠近耳朵時,接近感測器偵測到耳朵接近就知道使用者正要講電話,會自動關閉螢幕節省電力消耗。
- 環境光感測器(Ambient light sensor):使用光二極體(Photo diode)可以偵測環境光亮度,在明亮的太陽下使用者眼睛瞳孔縮小,因此自動將螢幕調亮讓使用者容易觀看;在陰暗的室內使用者眼睛瞳孔放大,因此自動將螢幕調暗避免使用者感覺太刺眼。
- 點陣投射器(Dot projector):使用高功率的垂直共振腔面射型雷射發射紅外光雷射,經由晶圓級光學(Wafer Level Optics,WLO)、繞射光學元件(Diffractive Optical Elements,DOE)等結構,產生大約 3 萬個「結構」(Structured)光點投射到使用者的臉部,利用這些光點所形成的陣列反射回紅外光相機(Infrared camera),計算出臉部不同位置的距離(深度)。
【延伸閱讀】雷射是工業上非常重要的元件,有興趣的人可以參考〈知識力專家社群:雷射的原理〉。
【延伸閱讀】垂直共振腔面射型雷射原本是設計給光通訊使用的光源,目前的趨勢卻是被大量使用在消費性電子產品上,對這種特別的雷射有興趣的人可以參考〈知識力專家社群:半導體雷射〉。
▲ 圖 4:iPhone X 使用的 3D 立體影像感測技術。(Source:蘋果)
Face ID 解鎖原理與步驟
Face ID 解鎖主要分為兩個步驟,首先必須辨識接近手機的是否為刻意靠近的臉部,或者只是使用者不小心由手機前面晃過去而已;確認是刻意靠近的臉部之後,才開始進行人臉辨識,從前面的介紹可以發現,啟動 Face ID 解鎖必須同時開啟好幾個元件,是有些耗電的,因此必須確認是刻意靠近的臉部之後,才開始進行人臉辨識。
當有臉部或物體靠近時,會先啟動接近感測器(Proximity sensor),再由接近感測器發出訊號啟動泛光照明器(Flood illuminator),發射出非結構(Non-structured)的紅外光投射在物體表面,再由紅外光相機(Infrared camera)接收這些反射的影像資訊,傳送到手機內的處理器,iPhone X 使用蘋果自行開發的 A11 處理器,內建雙核心的「神經網路引擎」(Neural Engine,NE),經由人工智慧的運算後判斷為臉部後,再啟動點陣投射器(Dot projector)產生大約 3 萬個光點投射到使用者的臉部,利用這些光點所形成的陣列反射回紅外光相機(Infrared camera),計算出臉部不同位置的距離(深度),再將這些使用者臉部的深度資訊傳送到手機內的處理器內,經由計算比對臉部特徵辨識是否為使用者本人。
所有的 3D 立體影像感測技術都面臨相同的問題,那就是深度資訊的精確度實際值大約只有 1%,意思是距離 1 公尺遠的物體量測出來的精確度與誤差大約是 1 公分的等級;Face ID 解鎖時臉部與手機的距離大約 10 公分,因此精確度與誤差大約是 1 公厘(mm)的等級,這大概足夠進行臉部特徵辨識了!此外,點陣投射器使用高功率的垂直共振腔面射型雷射發射紅外光雷射,雖然它的功率並不是真的很高,但是入射到眼睛,個人以為長期使用是否會造成眼球的傷害,是另外一個值得醫學界研究探討的問題。
人工智慧的雲端與終端
人工智慧(Artificial Intelligence,AI)大量的學習與運算目前都借助於雲端伺服器強大的處理器來進行,早期使用 Intel 的「中央處理器」(Central Processing Unit,CPU),後來科學家發現 Nvidia 的「圖形處理器」(Graphics Processing Unit,GPU)效能比 CPU 高 100 倍以上,Intel 經由併購 Altera 取得「可程式化邏輯陣列」(Field Programmable Gate Array,FPGA)技術來與 GPU 抗衡,另外有更多的廠商開發始發展「特定應用積體電路」(Application Specific Integrated Circuit,ASIC),例如:Google 自行設計的「張量處理器」(Tensor Processing Unit,TPU)或 Intel 自行設計的「視覺處理器」(Vision Processing Unit,VPU),就是一種針對人工智慧這種「特定應用」所開發的積體電路,以上這些處理器都是裝置在「雲端」(Cloud side)。然而並不是所有的應用都適合把大數據傳送到雲端處理,例如:自動駕駛車必須在車上「終端」(Edge side)進行處理才能即時反應道路情況。
【延伸閱讀】處理器的種類會影響人工智慧運算的效能,到底 CPU、GPU、FPGA、ASIC 有什麼差別?有興趣的人可以參考〈知識力專家社群:處理器的種類〉。
蘋果公司這次推出的 iPhone X 使用自行開發的 A11 處理器,內建雙核心的「神經網路引擎」,專門處理圖像辨識相關的機器學習、推論模型、演算法,也是一種針對人工智慧這種「特定應用」所開發的積體電路,不同的是它裝置在「終端」,也就是使用者的手機上,讓手機可以「自動學習」認識使用者的臉部特徵,蘋果公司也一再強調,使用者所有的臉部特徵都在手機終端完成,不會上傳到雲端處理,因此絕對不會有資料外洩的疑慮。
蘋果公司這次發表的 iPhone X 讓使用者能真實感受終端裝置的人工智慧(On-device AI),在可以預見的未來,終端處理器如何與人工智慧結合形成「終端智慧」(Edge Intelligence), 將是愈來愈熱門的議題。
(首圖來源:蘋果)