計算機視覺介紹
計算機視覺的主要目標是教會計算機如何去獲取圖片信息中的知識,例如人臉識別就是讓計算機去自動獲取與識別人臉圖像中的知識,這個“知識”的范疇可以是“兩張圖片中的人臉是否來自于同一個人”,也可以是“圖片中的人臉是男人還是女人”。
計算機視覺是一個跨學科領域,涉及如何使用計算機獲取數(shù)字圖像與視頻中的高層次理解。從工程角度來看,它的目標是尋找一種能夠與人類視覺系統(tǒng)實現(xiàn)相同功能的自動化任務。
這段話表明了計算機視覺的跨學科特點,它與人工智能、固態(tài)物理學、神經(jīng)生物學、信號處理等產(chǎn)生諸多關聯(lián)。傳統(tǒng)的計算機視覺的處理方法多是采用信號處理方法,而機器學習技術浪潮的興起,為計算機視覺打開了一扇新的大門。
當然,計算機視覺的數(shù)據(jù)輸入源最簡單和常見的就是攝像頭了。但是,計算機視覺技術對于非攝像頭的數(shù)據(jù)輸入源也能提供很好的支持。
例如,麻省理工學院的一項研究成果能夠實現(xiàn)基于WiFi信號探測到墻的另一側人的動作和姿態(tài),基于紅外線傳感器也能夠實現(xiàn)人臉識別,甚至基于地震信號進行礦藏探測的技術中也可以結合計算機視覺的一些技術。
從這個角度說,計算機視覺的技術輻射度和應用范圍是非常廣泛的,計算機視覺技術能夠使我們的生活更加多姿多彩,為創(chuàng)造更美好的世界提供了一個強大的工具。
顏色模型
我們看到的圖像數(shù)據(jù)是以二維的形式展現(xiàn)的,這些圖片有的是繽紛多彩、富有表現(xiàn)力的彩色圖片,也有的是表現(xiàn)得沉郁頓挫的黑白風格,甚至有的圖片只有純黑和純白兩種顏色。諸如此類,都是圖片的不同表現(xiàn)形式,我們將在本節(jié)具體了解一下它們的區(qū)別。
1. 彩色圖像
下面,我們將介紹兩種最為常用的顏色模型,分別是RGB顏色模型和HSV顏色模型。RGB顏色模型是在幾何形態(tài)上呈現(xiàn)立方體結構,與硬件實現(xiàn)關聯(lián)緊密。HSV顏色模型在幾何形態(tài)上呈現(xiàn)椎體結構,更偏向于視覺上直觀的感覺。
1.1 RGB顏色模型
RGB顏色模型應該是我們在平時生活中接觸最多的一種顏色模型,也就是我們通常說的紅、綠、藍三原色模型。
RGB顏色模型是將紅、綠、藍3種不同顏色,根據(jù)亮度配比的不同進行混合,從而表現(xiàn)出不同的顏色。由于在實現(xiàn)上使用了3種顏色的定量配比,因此該模型也被稱為加色混色模型。通過3種最基本顏色的混合疊加來表現(xiàn)出任意的一種顏色的方法,特別適用于顯示器等主動發(fā)光的顯示設備。
值得一提的是,RGB顏色的展現(xiàn)依賴于設備的顏色空間,不同設備對RGB顏色值的檢測不盡相同,表現(xiàn)出來的結果也存在差異。這也就使得我們感覺有些手機屏幕顏色特別逼真、絢麗,而另一些就難以令人滿意。
接觸過Web前端開發(fā)的讀者可能會對RGB顏色模型有一些了解,例如#FFFFFF代表純白色,#FF0000代表正紅色。這是采用十六進制對24比特展示模式的一種表示方法。開始的兩個十六進制數(shù)字位表示紅色,中間的兩位表示綠色,最后的兩位表示藍色,每一種顏色采用8比特來表示,3種顏色共計占用24比特。
我們平時用得最多的RGB顏色展示模式也就是24比特展示的。這種方法分別將紅、綠、藍3種顏色使用8比特無符號整數(shù)來表示。8比特無符號整數(shù)表示的范圍就是0~(2?-1),也就是[0,255]的整數(shù)區(qū)間。
例如,使用一個元組來表示正紅色,元組中元素的順序為紅、綠、藍,則正紅色可以表示為(255,0,0)。那么對于黃色這種顏色來講,它是由紅色和綠色兩種顏色疊加產(chǎn)生的,所以正黃色可以表示為(255,255,0)。如果我們想要減少該種黃色的亮度該如何操作呢?只需要把紅、綠兩種顏色同時按比例減少就可以實現(xiàn)了。
而如果改變它們的比例配比,則可以實現(xiàn)混合后的顏色向某種顏色進行偏移,例如橘黃色就會更加偏向紅色一些。
1.2 HSV顏色模型
HSV顏色模型大家可能不是特別熟悉,這是一種采用色調(diào)(H)、飽和度(S)、明度(V)3個參數(shù)來表示顏色的一種方式。它是根據(jù)顏色的直觀特征由A.R.Smith于1978年創(chuàng)制的一種顏色模型。
下面分別介紹HSV模型的各個參數(shù)。
(1)色調(diào)(Hue)
以角度的形式進行度量,其取值角度范圍是[0,360]。紅色、綠色、藍色3種顏色以逆時針方向進行排列。例如紅色的位置為0°,綠色為120°,藍色的位置為240°。
(2)飽和度(Saturation)
飽和度反映了某種顏色接近光譜色的程度。某一種顏色是由光譜顏色與白色光的混合結果,如果某種顏色中白色的成分越少,則該種顏色越接近光譜色,表現(xiàn)出來的效果就是該種顏色暗且鮮艷,此時飽和度更高。反之,對于低飽和度的顏色來講,該顏色中包含的白色成分越多,顏色越趨向白色,艷麗程度則下降。
也就是說,飽和度反映了某種顏色中白色的成分,可以用百分比0~100%來表示,該數(shù)值越高,飽和度越高,光譜顏色的成分越多。
(3)明度(Value)
明度表現(xiàn)了某種顏色的明亮程度,可以認為是一種由光線強弱產(chǎn)生的視覺體驗。我們看到的顏色越明亮則明度值越高,反之則越低。例如,深紫色和桃紅色兩種顏色進行對比,深紫色的顏色更加晦暗,而桃紅色更加明亮,則認為桃紅色的明度要比深紫色的高。同樣,我們也可以使用百分比的形式來表示某種顏色的明度。
這兩種模型之間是可以通過數(shù)學公式進行相互轉換的。通過學習這兩種顏色模型,我們可以學習到計算機視覺中的基本概念,以及顏色表現(xiàn)的基本原理,為我們后面的學習做好鋪墊。
2. 灰度圖像與二值圖像
在上面我們已經(jīng)接觸到圖像的顏色模型了,以RGB顏色模型為例,可以認為一張圖片的顏色是由包含了紅、綠、藍3種不同通道的顏色進行疊加混合而產(chǎn)生的。
從數(shù)學角度來看,對于一張彩色圖片,可以認為其是由3個二維矩陣進行疊加混合而產(chǎn)生的,每一個二維矩陣記錄了某種顏色在不同位置處的亮度值,那么3個二維矩陣就對應了該圖片的3個最基本的顏色通道。
換句話說,有人說一張圖片就是一個矩陣,其實這樣的表述是不嚴謹?shù)?。對于彩色圖片來講,一張圖片不僅包含了一個矩陣,而是包含了紅、綠、藍3種不同顏色信息的3個矩陣。那么,是否存在一張圖片就是一個矩陣的情況呢?當然有!我們下面介紹的灰度圖像與二值圖像就是如此。
2.1 灰度圖像
我們在平時接觸到灰度圖像的情景非常多。例如,非彩色打印的書籍中的圖片就是灰度圖像,黑白照片也是灰度圖像。這類圖片有個特點,雖然這些圖片沒有包含其他五顏六色的信息,但是,我們依然能夠從這些圖片中獲取到圖像的輪廓、紋理、形狀等特征。
我們的直觀感覺是正確的,這也說明了灰度圖像相對于彩色圖像缺少了具體的顏色信息,但是,灰度圖像依然能夠完好地展示出圖像中各個部分的輪廓、紋理、形狀等關鍵特征,同時灰度圖片的存儲結構相對于彩色圖片更為簡單。
這樣便會產(chǎn)生一個優(yōu)點,如果我們想要提取圖像中的特征與顏色無太多關聯(lián),那么我們就可以選擇將彩色圖片處理成灰度圖片的預處理方式。由于灰度圖片的結構更為簡單,同時關鍵信息又不大會損失,這樣就可以極大地減少計算量。
回過頭我們再來想一想,我們可以通過手機來拍攝彩色照片,同樣也可以拍攝出黑白照片。在這個過程中我們可以猜想,黑白照片和彩色照片是否存在轉換關系呢?答案是肯定的。我們可以通過數(shù)學公式將RGB模型中的紅、綠、藍3個矩陣進行合并,合并成一個矩陣,這個矩陣就是代表了灰度圖像的矩陣。
我們知道,即便是黑色,也分為不同的等級。假如令黑種人的膚色為1代表純黑色,白種人的膚色為0代表純白色,那么我們黃種人中有的長得白一點的女生,她的膚色值就可以是0.2,有的長得黑一點的男生,他的膚色值就可以是0.6。
從上述的例子中,我們得出了一個結論:即便是黑色的程度也是可以量化的,介于黑色和白色之間的顏色就是灰色,那么直接量化的就是灰色的程度,這個程度就是灰度。一般的量化方法是將純白色作為255,純黑色作為0,在這個區(qū)間中,使用對數(shù)的方法劃分具體數(shù)值進行量化。當然這個數(shù)值可以是浮點數(shù)。
從彩色圖片到灰度圖片之間的轉化公式就可以表示為:
Igray=[0.299,0.587,0.114]·[Ir,Ig,Ib] (3.1)
其中,Igray代表灰度圖像中的灰度值,[Ir,Ig,Ib]代表彩色圖像中R、G、B通道中的像素值。
式(3.1)表示了兩個向量進行點乘的過程,例如圖片中某一點的RGB值為(255,0,100),那么將該圖片轉化到灰度圖片時,對應位置的灰度值為
Igray=0.299×255+0.587×0+0.114×100=87.645
這里給出的轉換系數(shù)只是一個參考值,使用不同的灰度圖轉換方法得到的值也是不相同的,一般常用的RGB數(shù)值比例大致為3∶6∶1。
2.2 二值圖像
二值圖像顧名思義只有純黑色和純白色兩種顏色,沒有中間過渡的灰色。其數(shù)據(jù)結構也是一個二維矩陣,只不過這里面的數(shù)值只有0和1兩種。
可以看到,二值圖像的空間占用量進一步減少了,每一個像素點只需要1比特就可以表示了,這對于表示字符這類非黑即白形式的圖片具有優(yōu)勢。由于二值圖像是在灰度圖片的基礎上通過閾值判斷產(chǎn)生的,這樣就會缺少細節(jié)部分,只能顯示出圖片的大致輪廓。不過,這個特性雖然帶給我們直觀的感覺是很不好的,但是,這在圖像的分割等場景中具有很好的利用價值。
信號與噪聲
信號與噪聲是一對敵人,圖像的空間是有限的,信號多一點,噪聲就少一點,反之亦然。我們在打電話中如果覺得雜音特別多,那么也就是此時通話數(shù)據(jù)中的噪聲特別多,已經(jīng)達到了影響正常通話的程度。甚至噪聲特別大的時候,信號容易淹沒在噪聲中。圖像也是一種數(shù)據(jù),圖像中也存在信號和噪聲。本節(jié)中將具體介紹信號與噪聲的相關知識。
1. 信號
信號是一個好東西,因為這是我們想要的數(shù)據(jù)。信號越多,噪聲的干擾便會越少,數(shù)據(jù)的質量也就越高。我們可以使用信噪比這個概念來衡量數(shù)據(jù)質量的高低。所謂信噪比就是指信號與噪聲二者能量之比值。直觀來講,噪聲越少,信噪比越大,數(shù)據(jù)的質量越佳。
2. 噪聲
而在實際生活中,通過圖像采集設備獲取到的圖片也或多或少會引入噪聲,這主要是由攝像機等圖像采集設備的感光元件受到干擾產(chǎn)生的噪聲表現(xiàn)在圖像上而形成的,主要表現(xiàn)為黑白雜點等。
圖像中隨機出現(xiàn)的黑白雜點稱為椒鹽噪聲,“椒”代表黑色,“鹽”代表白色,故而用椒鹽噪聲這個概念來表示圖像中存在的黑白雜點,其在圖片中出現(xiàn)的位置是隨機的。而圖像中也可能會隨機出現(xiàn)某些顏色的改變。造成此類雜點最典型的就是高斯噪聲,這是由于在原圖片的基礎上疊加了高斯噪聲而造成的。
所謂高斯噪聲是指圖像疊加的噪聲概率密度服從高斯分布,也就是正態(tài)分布。這是自然界中最為常見的一種噪聲類別,例如夜晚通過照相機拍照獲得的照片就可能存在該類噪聲。
圖像濾波
前面提到了噪聲,噪聲是我們不想要的一類數(shù)據(jù)。但是在實際操作中往往會引入噪聲,例如圖片經(jīng)過低質量的信道傳輸,引入了信道中存在的噪聲;圖像采集設備由于某些電子學原因而引入了噪聲等。
噪聲的存在必然會對我們正常的圖像處理造成干擾,盡可能多地濾除噪聲是我們進行圖像預處理的一個重要步驟。本節(jié)將給大家介紹常見的濾除噪聲的方法。
1. 均值濾波
均值濾波器的缺點是會使圖像變得模糊,這是因為它將所有的點都進行了均值處理。而實際上,在絕大多數(shù)情況下,噪聲的占比是少數(shù),將所有的點都以同樣的權值進行處理,勢必會導致圖像的模糊。而且,這個濾波器的寬度越大,濾波后的圖片就會越模糊,也就是丟失圖像的細節(jié)部分,使圖像變得更加“中庸”。
當然,根據(jù)這個特點,也可以將這個濾波器的權值更改一下,以便達到有所側重的效果。
例如,在對圖片進行濾波操作時,不應該全部按照系數(shù)為1進行加權求和,從而進行濾波。我們知道,圖像的像素是連續(xù)的,距離越近的像素點間的聯(lián)系越大,那么,濾波器的參數(shù)越靠近中心位置的權值越大,越靠近邊緣位置的權值越小,根據(jù)這個思路來修改濾波器的權值的方法是否可行呢?
2. 中值濾波
我們在上面介紹了均值濾波,使用均值濾波會造成圖片的模糊,即使修改均值濾波的權值,也還是會造成圖片的模糊。因此,我們既要對圖片進行濾波處理,又要盡量減少圖片的模糊程度,那么就要考慮另外一種思路來實現(xiàn)濾波過程。
中值濾波是一種與均值濾波過程不同的濾波方法。相比于均值濾波,中值濾波可以有效減少圖片的模糊程度。中值濾波的原理如下:
與均值濾波的原理大體相似,同樣使用一個指定大小的滑動窗口,在圖片上進行滑動,不斷地進行濾波處理。不過,與均值濾波的不同在于,中值濾波在對像素點進行處理時,并不是采取簡單的取平均數(shù)的做法,而是改為取其中位數(shù)的做法。
以椒鹽噪聲為例,其像素的灰度值要么是最低的,要么是最高的,總是處于兩個極端。而圖像中絕大多數(shù)正常點處于這樣一個區(qū)間之中,因此,將濾波器所選取區(qū)域中的像素點,以其灰度值的大小進行排序,如果存在噪聲,則基本處于兩端的位置。
對于椒鹽噪聲來講,中值濾波的效果要好于均值濾波。而對于高斯噪聲來講,均值濾波的效果優(yōu)于中值濾波,這是因為,高斯噪聲的特點是噪聲顏色值不固定,基本符合高斯隨機分布的特點,這樣就會導致中值濾波無法按照默認的噪聲范圍進行濾波,其效果自然就沒有均值濾波好。
-
機器視覺
+關注
關注
161文章
4326瀏覽量
120011 -
人工智能
+關注
關注
1791文章
46698瀏覽量
237190
原文標題:從計算機視覺到人臉識別:一文看懂顏色模型、信號與噪聲
文章出處:【微信號:WW_CGQJS,微信公眾號:傳感器技術】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論