第一章 前言
1.3 實驗設備
(1) DSP:在軟體模擬時,因為即時影像資料量很大,而 DSP 晶片可 以加快演算處理,避免動態影像延遲。如圖 1.3。
(2) 擷取卡:擷取卡用途是將攝影機的影像資料輸入到電腦,供軟體 模擬使用。
(3) 高畫素攝影機:取得即時影像訊號,給 DSP 與擷取卡做即時處 理。如圖1.2。
▲圖 1.2 攝影機
▲圖 1.3 DSP 子母卡
第二章 人臉辨識之原理與簡介
2.1 簡介
一張影像以人眼來看,便可以很快的分辨是誰,年紀多大、是哪 一國人。但對電腦而言,影像只是一堆數值,並無任何意義。於是人 要對這些影像的資料加以定義,讓它對電腦而言是有意義的。這些定 義可能對人來說是很理所當然的,平常到不會去發覺的細節。這些細 節包括五官的個別位置、人臉邊界 …等。在本文中人臉辨識著重的
是邊界與膚色,透過影像處理的理論,可以使用演算法來找尋邊界以 及定義膚色,來達到人臉辨識的第一步驟。
2.2 人臉辨識方法
人臉辨識是指圖像中,辨識人臉的真實身分。一般而言,目前做 人臉辨識的方法大致可分為下兩種:Feature-based 和 Color-based。
(1) Feature-based
利用人臉部的一些特徵來偵測人臉,例如:人臉上有眼睛、鼻 子、嘴巴,而這些器官之間的幾何距離;就整張臉型來說,約略呈 橢圓形,且臉和背景之間大致會有邊緣線等,有許許多多的特徵可 利用。
(2) Color-based
利用人的臉部顏色來判斷某影像是否為臉;若影像是彩色
的,可用RGB、HSI、YCbCr 色彩系統來統計膚色數值,以作為 辨別的依據;若影像為灰階的,膚色部分的灰階值與眼睛、嘴巴、
頭髮等部位的灰階值相較之下較小。[1]
以不同角度選擇圖像可得許多分類法,演算法必須隨著不同圖 像分類而調整、修正,因此圖像的選擇即為一重要課題(如表 2.1)。
本文仿照表 2.1 列出表 2.2 之圖像條件探討實驗。
在 Feature-based 部分找出物件的邊緣;而 Color-based 方面 對膚色作運算,以當作辨識人臉的依據。
▼表2.1 人臉辨識的問題分類
第三章 邊緣偵測
3.1 邊緣偵測的方法
邊緣偵測是為了尋找影像中物體輪廓的一個過程。當影像以灰階 度表示時,物件邊緣像素與其臨近像素間的灰階值變化較大。而灰階 變化度可視為灰階之梯度,當灰階梯度值越大表示灰階變化度越大,
因此可用演算法突顯出物件邊緣。物件邊緣在灰階圖上,會有幾種常 見的邊緣:灰階值變化較慢的斜面邊緣(Ramp edge)與峰頂邊緣(Roof edge)、灰階值變化突然的步階邊緣(step edge)與直排邊緣(line edge),
如圖 3.1。
在邊緣偵測中可以用一階導數(First-order derivative)來求出灰 階梯度值,又可稱為梯度運算子(Gradient Operator),如(3-1)式。(3-2) 式表梯度的強度。實際上為了運算便利性,在求梯度強度時通常是用 (3-3)式或(3-4)式。[7]
一般來說邊緣偵測都會分為 X 方向與 Y 方向做個別處理,且會 利用遮罩(mask)方式與圖像灰階陣列作旋積。如法線方向(3-5)與水平 方向(3-6),但通常會在相反方向作平滑處理(3-7)。將兩個步驟合併起
來即 Prewitt 遮罩(3-8)。但 Prewitt 遮罩過於平滑會使得部份邊緣模 糊掉,為改善此問題而衍生 Sobel 遮罩(3-9)。另外還有一種叫作
第二種方式是經過二階導數(Second-order derivative)運算灰階 法所難以解決的,然而 Canny edge detection 卻可以解決這個問題。
Laplacian 遮罩:
▲圖 3.1 灰階影像邊緣示意圖
▲圖 3.2 邊緣經過一階到二階的過程
3.2 Canny edge detection 演算法[3][6][7]
Step1 Smoothing
將整張影像I(i,j)先經過高斯平滑濾波器 G(i,j)(3-12)式,
然後再分別對x 方向與 y 方向計算其 Laplacian (3-13)式
~(3-14)式。意思同於對影像作線性 Laplacian of Gaussian 濾 波器。實作上即利用圖3.3 (a)遮罩對影像作旋積(convolution) 可以原始圖像看起來更為平滑,避免在對圖像作運算時,少 數極端的灰階值影響偵測結果,如:雜訊、歧異點。
※註:本文使用Grayscale Morphology 代替高斯濾波器,關 於型態學介紹於3.3 應用於影像處理的形態學(Morphology)。
Step2 Gradient
計算其梯度向量和大小,梯度向量表該點在平面上變化 最大的方向。在實際運算上,水平(垂直)方向上的梯度計算是
以經過平滑處理後的灰階圖像與 Sobel 遮罩各別作旋積後再 利用(3-4)式,以及對平滑後的 Q(i ,j)與 P(i ,j)取 inverse tangent,算出梯度近似值如(3-15)式。
Step3 Non-maximum suppression
將上一步所算出的inverse tangent 值,如同圖 3.4 所劃 分的方式辨別屬於哪個區域。然後該凸起點延著梯度方向比
較前後兩點,若小於則該點設為 0。此步驟可以使偵測出來 的邊緣不會過寬。
Step4 Hysteresis Thresholding
利用雙臨界值演算法(thredholding),做邊界的判別與連
結。首先設定兩個臨界值(較小臨界值 T
L、較大臨界值 T H)。
-當梯度大於 T
H,表示該點為邊緣上的一點。
-當梯度介於 T
H與 T
L之間,表示可能為邊緣上的一點。必 須還要看看附近的點是否為邊緣,才能判定。
-當梯度小於 T
L,表示該點並非邊緣。
這一步驟主要是為了要避免因為雜訊干擾下,所造成的幾 個問題:影像的整條邊緣變得斷斷續續,將不是邊緣的部份當 成邊緣偵測出,或是扭曲原來影像的邊緣。
Canny edge detection 擁有以下幾點好處,因此本文選用此演算 法。[3]
(1) 偵測錯誤率低:幾乎可以完全偵測到影像的邊緣。
(2) 定位效能好:圖像中真實邊界與演算之後邊界距離差異小。
(3) 良好的反應值:邊緣上的點都有唯一的反應值,因此偵測出來的 邊緣不會過寬。
▲圖 3.3 (a) 3x3 mask (b) 5x5 mask
▲圖 3.4 方向畫分圖
▲圖 3.5 Hysteresis Thresholding 示意圖
3.3 應用於影像處理的形態(Morphology)[4][5][6]
形態學是一種對物件作邊界處理的演算法,其特點為減少細部資
訊又可保留邊緣。基本上是利用一個 n*m 的像素矩陣與被處理的物 件進行像素運算。其中可以分為四種,所有形態學的應用都是以四種 運算混合使用。
假設 A 像素遮罩為被處理之圖像,B 像素遮罩為運算處理之遮 罩,B 像素遮罩又稱為結構元素(structuring elements)。
(1)擴散(dilation)
定義為 A♁B=∪A x;
x∊B。擴散以結構元素形狀來定義一個鄰
域內選擇 A+B 的最大值,所以灰階影像上進行擴散的效果為:
-如果 B 值均為正,則輸出影像傾向比輸入影像明亮。
-A 的黑暗細節會依據 B 的值與形狀減少或消除。如圖 3.6。
(2)浸蝕(erosion)
浸蝕則是可以讓圖像 A 的外形均勻縮小,若以數學式表示即 A○─B={w : B
w⊆A}。浸蝕以結構元素形狀來定義一個鄰域內選擇 最小值為基礎,所以灰階影像上進行浸蝕的效果為:
-如果 B 值均為正,則輸出影像傾向比輸入影像暗。
-輸入影像中比 B 小的區域,其亮度細節將被減少,減少程度取決 B 的形狀及振幅。如圖 3.7。
(3)斷開(opening)
先對圖像 A 作浸蝕再作擴散。一般表示為 A。B=(A○─B)♁B 亦可表示為 A。B=∪{B
w : B
w⊆A}。其功用在於可以除去影像中 之雜訊小點。如圖 3.8。
(4)閉合(closing)
與斷開相反,先對圖像 A 作擴散再作浸蝕。一般表示為
A‧B=(A♁B)○─B。其功用在於可以補影像中之小洞及將一些斷線
連接起來。如圖 3.9。
本文所使用的 Grayscale Morphology 是先用斷開再作閉合,
對影像作平滑的處理。以 Morphology 代替 Laplacian of
Gaussian,是因為前者定位效能與邊緣細化效果都比後者優良。
▲圖 3.6 (a)原圖 (b)擴散示意圖
▲圖 3.7 (a)原圖 (b)浸蝕示意圖
▲圖 3.8 (a)原圖 (b)斷開示意圖
▲圖 3.9 (a)原圖 (b)閉合示意圖
第四章 色彩系統
4.1 RGB 色彩系統
RGB 系統為電腦常採用的色彩資訊,原因可推至早期 CRT 螢幕 時的設計原理,由電子槍所產生的電子流打到屏幕磷光點上反射出的
是三原色光,而 RGB 正是以此為定義的色彩系統。
RGB 色彩系統是由紅色(Red)、綠色(Green)和藍色(Blue)的色光 三原色所組成。被稱為色光三原色的原因,是由於它們無法再進行分 解,而且也不能由其他色光混合出來。因為其混合的結果會得到越明
亮的色光,稱為「加色混合」,當三原色光皆以 100%混合時,則會 呈現白色光。
RGB 彩色模式是屬於一個三維的直角座標系,可以視作為立方 體座標系,如圖 4.1。其 R 相當於 X 軸;G 相當於 Y 軸;B 相當於 Z 軸。因此若用座標來表示,(1,0,0)代表紅色;(0,1,0)代表綠色;(0,0,1) 代表藍色。黑色在原點(0,0,0)的位置,白色則在立方體的另一端,座 標(1,1,1),如圖 4.2。當 R:G:B 等比例混合時,當 R、G、B 等量相 加時,因不受 RGB 任一成份的影響可視為灰階。
▲圖 4.1 RGB 色彩系統座標係
▲圖 4.2
4.2 YCbCr 色彩系統
YCbCr 和 YUV、YIQ 是常用於視訊、電視影像傳輸的色彩模式,
如圖 4.3。原理是依據人類對於亮度的變化比顏色的改變來的敏感,
所以利用減少顏色的頻寬而增加亮度的頻寬,使頻寬達到有效利用。
YUV 主要用於 PAL 視訊標準而 YIQ 則是用於 NTSC 視訊標準 上。其中的 Y 都代表亮度,即是由彩色轉換成灰階影像的灰階值或 稱之為亮度值(luminace),而其轉換公式(4-1)主要是依據人類的眼睛 對綠色(0.587)、紅色(0.299)、藍色(0.114)三原色的不同敏感度而來,
其中係數值越大則表人的眼睛對於該顏色較為敏感。
YCbCr 色彩系統又稱為 YPbPr 系統,簡稱 YCC 系統。它是由 YUV 系統正規化而來的一種色彩空間。定義於 CCIR
Recommendation 601 規格[9],規定 YCbCr 各為 8bit(即 0-255)的編 碼,其中 Y 為明亮程度,其值為 16 到 235,代表明亮程度由暗到亮,
共分為 220 個亮度等級。16 代表黑色,235 代表白色,並將其值±16 作為補償,使其值正規化至(0, 255)。而彩度 Cb 表偏藍色差向量,
Cr 表偏紅色差向量,其值皆為-112 到+112,並將其值+128 作為補償,
使其值(16, 240),共有 225x225 種彩度。
4.3 HSI 色彩系統
人眼並不能分解色彩的組成量,所以 RGB 或是 YCbCr 系統對 於人類是難以理解的,若有一系統能先將顏色分類,然後再控制色彩 的細節,那正符合我們人眼的視覺,依照此需求所設計的色彩系統正
是 HSI 色彩系統。
HSI 色彩系統將顏色分為色度(Hue)、飽和度(Saturation)、亮度 (Intensity)三個部分來分別作表示,如圖 4.4。此系統將色度定義在 0~360 的角度範圍,而飽和度與亮度的值定義為 0~1 之間,其轉換公 式為(4-2)~(4-5)式。
(1) Hue 色度
色度或稱為「色相」,指的是色彩相位,因此為一個角度。色 度就像一張對照表,將顏色指定到特定角度。例如:在 H=0∘時 為紅色系,H=120∘時為綠色系,H=240∘時為藍色系。由於色度
(2) Saturation 飽和度
飽和度是指色彩混濁的程度。飽和度越高,表顏色越鮮艷,
飽和度越低,表顏色越混濁。在同一色相中,飽和度最高者稱為
「純色」,其色彩中完全不含黑白成份。例如紅色係中,其飽和度 最高的就是純紅色。
(3) Intensity 亮度
亮度又可稱「明度」,指的是物體反射光的程度,也可以說是 光的能量。因此一張彩色影像的亮度資訊,相當於該影像的灰階 影像。
HSI 彩色模式可視為一個圓柱座標系,H 對應到Φ(切線向 量),S 對應到 R(半徑),I 對應到 Z(高度),如圖 4.6 所示。
▲圖 4.4 色彩三要素
▲圖 4.5 色相環
▲圖 4.6 HSI 色彩系統座標係