一般消費者可能常面臨到,當使用閃光燈拍攝時所出現的紅眼現象--也就是瞳孔會呈現紅色、金色或白色,而非被攝者原有的黑色、藍色、綠色或棕色。紅眼現象的發生,是因為閃光燈光源造成視網膜反射,因此當閃光燈光源與相機鏡頭的水平距離減少時,紅眼現象的發生機率就會增加。這也是為何使用普通相機與照相手機所拍攝的照片,最常出現紅眼現象。一般來說,在數位相片中出現的紅眼現象,皆可利用軟體偵測並加以修正。其程式碼很小,且運作快速,因此能夠嵌入在行動平台中。
然而,不少消除紅眼軟體所宣稱的效用,由於常與使用者測試經驗出現落差,因此也被使用者認為軟體無效。消除紅眼的演算法,通常被謹慎地設計用來辨識紅色瞳孔本體,與受到紅眼作用所影響的瞳孔。因此,必須使用特殊的測試方法與主體控制,對具備嵌入式紅眼移除工具的相機進行可靠性與可重複性的評估,才能確保去紅眼的功能正常運作。
從使用者角度來看,由於消費大眾非常重視被攝者的臉部五官,因此大部分照片都會拍攝到人物。也因此,被攝者的臉部,特別是眼睛,都會成為觀察重點。
事實上,紅眼現象與閉眼,是破壞人物照片的兩大常見問題。這兩種情況中,眼睛所呈現的不自然效果,都令人感到反感,甚至導致此類照片被摒棄不用,因此,有許多廠商都希望能開發出捕捉眼睛、並確保正確對焦、無色差的軟體。若能成功應用,就能說服消費者購買此相機,有利終端產品銷售。
紅眼現象不只紅眼 不自然瞳孔破壞相片美觀
一般人常面臨的「紅眼現象」,是在拍攝過程發生誤差,導致瞳孔呈現不自然的顏色。這是因為視網膜將閃光燈的光源反射至相機鏡頭。紅眼作用通常僅發生於閃光燈、視網膜,與鏡頭間角度為3度或更小時。因此是否會出現紅眼,端看相機設定、相機與拍攝主體間距離,以及瞳孔直徑而定。當閃光燈光源接近相機的光軸時,紅眼問題最為嚴重,因此這種情形也最常出現在小巧的數位相機與照相手機上。
儘管被稱為紅眼現象,但其實不一定都會讓瞳孔呈現紅色。黃種人的瞳孔就常會呈現橘色或金黃色,因此有時亦被稱做金眼現象。在一些特殊照明場合,或在拍攝動物時,紅眼作用也常會導致瞳孔呈現白色。為了區分,該作用有時會被稱做殭屍眼睛。這些紅眼作用的組合與排列,包括瞳孔僅有部分變色,都有可能發生(圖1)。在本文中,將以紅眼一詞,泛指所有因紅眼現象所導致的不自然瞳孔顏色。
|
圖1 紅眼現象可泛指不自然的瞳孔顏色。 |
偵測/修正有效避免紅眼
在數位照片中的紅眼作用,可利用軟體偵測並加以修正。一般做法是使用圖形比對演算法,來定位臉部與眼部,檢查瞳孔的色彩平衡,然後視需要加以調整。簡單的紅眼修正演算法,僅能改變瞳孔的畫素顏色,成為一致的灰色或棕色。雖然這能改善紅眼現象,但外觀仍不自然。較佳的程式則會使用多種方式,柔化瞳孔邊緣並保留細節(圖2)。即使像是拍攝主體的種族等因素,也很重要;對亞洲人而言,多數人擁有深棕色或黑色的瞳孔,而對白種人而言,把有紅眼現象的瞳孔修正為灰色或棕色,會顯得更自然。
|
圖2 不同自動紅眼移除工具的品質差別範例。左圖為原始影像,中圖為粗劣的顏色修正結果,右圖則為使用自動化嵌入式紅眼移除工具的修正結果。 |
另一個具生命力的眼睛之特性,是會產生亮點和暗點。產生亮點的原因,為濕潤的角膜反射光線。在圖畫或電腦繪圖的臉部上,產生栩栩如生的亮點相當困難。因為在正常光源中,眼睛亮點在視覺上為可接受的效果,事實上,在潛意識裡,也是拍攝主體健康情形的跡象。一個優良的紅眼移除程式,將會保留具紅眼作用瞳孔所出現的亮點或暗點。
較佳的軟體,可在拍攝照片時全自動地修正照片,因此呈現的照片不會受到紅眼現象影響。然而,演算法並非萬能,有時會無法偵測紅眼現象,或修正效果不佳,甚至偶爾會修改到照片中非眼部的區域(圖3)。演算法偵測與修正紅眼現象的功效,會受統計變異限制。因此,要正確評估紅眼移除工具的效能,必須先了解紅眼現象的原因,再採用嚴格的測試方法。
|
圖3 自動紅眼移除工具對影像進行不必要變更的「誤判」範例。上排圖片為原始影像。左下圖:紅眼雖然成功修正,但卻連人工痣也被修正。中圖:修正後的像素不在瞳孔區域。右下圖:衣服上的裝飾圖案,被當成瞳孔。 |
紅眼移除工具效能指標受重視
評估紅眼移除演算法的好壞,通常有兩項指標,包含成功率與誤判率,前者是指在實例中演算法正確偵測並修正紅眼作用的百分比;後者則是在實例中,演算法對照片進行不必要,或品質不佳的修正之百分比。
由於這兩項指標皆與統計有關,因此若欲評估紅眼偵測與修正工具,必須使用充分的大量樣本,使統計有效。
至於量化紅眼移除工具的效能,則分為兩個步驟。首先在模擬器中運行演算法,並使用大量的影像資料庫,對軟體進行總體評估。第二,將演算法導入,針對特定平台進行調整,並使用相機拍攝影像,驗證紅眼移除工具的效能。
此外,一些特殊實例也對幾項競爭產品功能進行逐項比較。例如總體評量,其為將紅眼移除工具運用在極大型的影像資料庫上,並對每一個結果進行評比。通常,該資料庫中會有眾多有瑕疵的眼睛,包括許多不同的紅眼瑕疵類型、攝影主體、影像大小和品質,以及設計用以觸發誤判回應的場景,這些資料庫通常由紅眼偵測與修正軟體的製造商所提供。因為資料庫中的影像已進行分類,所以能夠全面了解演算法如何運作,並得知其在特定區域是否有缺點。這些資訊能對更耗費金錢及時間的嵌入式測試,進行適當的引導,因此極為珍貴。
另一種則是嵌入式驗證,這是影響紅眼偵測與修正演算法效能的主要變數,為其所嵌入的平台。僅因為軟體在具備照片資料的電腦上運作良好,並不代表在其導入的真正相機或照相手機上,就能獲得相同結果。通常在真正使用上效能會比在測試平台上差,這是因為每台相機間均有細微差異,會對演算法的效能造成很大影響。只要使用不同相機拍攝相同的場景,即可看出差異。即使這些影像的解析度相同,但在對比、亮度、色域、失真與雜訊等特性上,仍會有顯著差異。而不同閃光燈光源,如色譜、強度及與相機軸的角度等差異,都會導致其他變異。目前尚無法製造出一個通用演算法,適合所有場合、小巧,且可在嵌入式平台上快速運作。
嵌入式驗證的目的為驗證是否在導入和調校效能後,能夠符合總體評量的標準。評量程中雖有些潛在的陷阱,但這些因測試方法不當而造成的問題,最後總被歸咎於紅眼移除工具的效能不良所致。
一般的嵌入式驗證,須拍攝許多具備以下變數的所有組合排列之照片:在硬體部分,需要兩台包含最終版本韌體的量產版相機樣本。相機的實體結構、使用的零組件與韌體必須絕對定型,才能針對該平台,正確地調校紅眼移除工具。即使像是改善減少雜訊演算法等有利的改變,也會大幅提升紅眼移除工具的效能。
至少要具備七個攝影主體,其年齡層應跨越數十年,眼睛顏色範圍應從綠、藍到棕、黑色;從白、黃與黑人等種族,都至少要有一個攝影主體。
而攝影主體數量也不能忽視。多數影像應為至少有單一主體的照片,也包括多達五人的團體照。
裝置之對焦與閃光燈範圍必須能均勻的涵蓋整體,而且構圖模式須包含頭、肩、上半身、四分之三的身體等。
另外,拍攝範圍則須含括五種會出現紅眼作用的照明環境(EV<2),通常介於0.7~2公尺處。
無生命物體帶來紅眼替代挑戰
由於使用移動平台上的相機來拍攝所需數量與多樣性的影像更具挑戰,因此,當廠商開始以無生命物體代替活體攝影主體時,並不令人意外。
但無生命物體卻會將瞳孔變成其他不自然的顏色,引發紅眼現象。雖然這能夠呈現相同的視覺效果,卻缺少真實眼睛的基本特性,亦即瞳孔中的不規則細節。這項特徵可用於兩方面:第一,非一致性可區分瞳孔與其他形狀類似的紅色物體,大幅降低誤判的情形;第二,在修正紅眼現象時,優良的演算法會保留不規則的部分,使修正後的瞳孔看起來更自然(圖4)。因此,紅眼移除工具的品質越佳,就越能區分紅色眼睛,與因紅眼作用而呈現紅色的眼睛,但就成功率而言,較佳的演算法若在驗證測試時使用無生命主體的眼睛,將會降低效能。
|
圖4 在被紅眼現象所影響的眼睛中,包含五個自然亮點和一個暗點(在瞳孔中央亮點正上方)。良好的紅眼移除工具,會保留所有亮點及其他細節,讓照片看起來更真實。 |
總而言之,紅眼現象為某些閃光燈拍攝時難以避免的誤差,導致眼睛呈現不自然外觀。將軟體嵌入於行動電話或小巧的相機中,即可偵測與修正紅眼效果。注意測試方法與測試攝影主體,將能提供可靠與可複製量化的演算法偵測率與誤判率,並進而帶來更美觀的高品質照片。
(本文作者為Tessera台灣區總經理暨東亞區總監)