1. 程式人生 > >計算機視覺,計算機影象學,影象處理

計算機視覺,計算機影象學,影象處理

1.基本概念

從定義理解概念是最嚴謹的。所以首先搞清楚維基百科中這些概念的定義。

計算機視覺(CV):

Computer vision is a field that includes
methods for acquiring, processing, analyzing, and understanding images and, in
general, high-dimensional data from the real world in order to produce
numerical or symbolic information, e.g., in the forms of decisions.[1]

直譯過來就是

計算機視覺是一個學科/領域,它包括獲取、處理、分析和理解影象或者更一般意義的真實世界的高維資料的方法;它的目的是產生決策形式的數字或者符號資訊。

計算機影象學(CG):

Computer graphics is a sub-field of
computer science which studies methods for digitally synthesizing and
manipulating visual content. Although the term often refers to the study of
three-dimensional computer graphics, it also encompasses two-dimensional
graphics and image processing.[2]

直譯過來就是

計算機圖形學是電腦科學的一個子領域,它包括數字合成和操作可視內容(影象、視訊)的方法。儘管這個術語通常指三維計算機圖形學的研究,但它也包括二維圖形學和影象處理。

影象處理(IP):

In imaging science, image processing is
processing of images using mathematical operations by using any form of signal
processing for which the input is an image, such as a photograph or video
frame; the output of image processing may be either an image or a set of characteristics
or parameters related to the image.[3]

直譯過來就是

在影象科學中,影象處理是用任何訊號處理等數學操作處理影象的過程,輸入時影象(攝影影象或者視訊幀),輸出是影象或者與輸入影象有關的特徵、引數的集合。

2.區別和聯絡[4]

2.1 精簡的概括

Computer Graphics和Computer
Vision是同一過程的兩個方向。Computer Graphics將抽象的語義資訊轉化成影象,Computer Vision從影象中提取抽象的語義資訊。Image
Processing探索的是從一個影象或者一組影象之間的互相轉化和關係,與語義資訊無關。

2.2 從輸入輸出角度看

(1)區別

Computer Graphics,簡稱 CG 。輸入的是對虛擬場景的描述,通常為多邊形陣列,而每個多邊形由三個頂點組成,每個頂點包括三維座標、貼圖座標、rgb 顏色等。輸出的是影象,即二維畫素陣列。

Computer Vision,簡稱
CV。輸入的是影象或影象序列,通常來自相機、攝像頭或視訊檔案。輸出的是對於影象序列對應的真實世界的理解,比如檢測人臉、識別車牌。

Digital Image Processing,簡稱 DIP。輸入的是影象,輸出的也是影象。Photoshop 中對一副影象應用濾鏡就是典型的一種影象處理。常見操作有模糊、灰度化、增強對比度等。

(2)聯絡

CG 中也會用到 DIP,現今的三維遊戲為了增加表現力都會疊加全屏的後期特效,原理就是
DIP,只是將計算量放在了顯示卡端。

CV 更是大量依賴 DIP 來打雜活,比如對需要識別的照片進行預處理。

最後還要提到近年來的熱點——增強現實(AR),它既需要 CG,又需要 CV,當然也不會漏掉
DIP。它用 DIP 進行預處理,用 CV 進行跟蹤物體的識別與姿態獲取,用 CG 進行虛擬三維物體的疊加。

(3)圖解

這裡還有一張圖,簡明地表達了CV、CG、DIP和AI的區別和聯絡。

2.3 從問題本身看

(1)區別

從問題本身來說,這三者主要以兩類問題區分:是根據狀態模擬觀測環境,還是根據觀測的環境來推測狀態。假設觀測是Z,狀態是X:Computer
Graphics是一個Forwad Problem (Z|X): 給你光源的位置,物體形狀,物體表面資訊,你如何根據已有的變數的狀態模擬出一個環境出來。

Computer Vision正好相反,是一個Inverse Problem (X|Z):你所有能得到的都是觀測資訊(measurements),
根據得到的每一個Pixel的資訊(顏色,深度),我要來估計物體環境的特徵和狀態出來,比如物體運動(Tracking),三維結構(SFM),物體類別(Classification
and Segmentation)等等。

對於Image Processing來說,它恰好介於兩者之間,兩種問題都有。但對於State-of-art的研究來說,Image Processing更偏於Computer Vision, 或者看上去更像Computer Vision的子類。儘管這三類研究中,隨著CV領域的不斷進步,以及越來越高階相機感測器出現(Depth Camera, Event
Camera),很多演算法都被互相用到,但是從Motivation來看,並沒有太大變化。

(2)聯絡

得益於這幾個領域的共同進步,所以你能看到Graphics和Computer Vision現在出現越來越多的交集。如果根據觀測量(圖片),Computer
Vision可以越來越準確的估計出越來越多的變數,那麼這些變數套到Graphics演算法中,就可以模擬出一個跟真實環境一樣的場景出來。

與此同時,Graphics需要構建更真實的場景,也希望能夠將變數更加接機與實際,或者通過演算法估計出來,這就引入了Vision的動機。這也是近年來三維重建演算法,同時大量發表在Graphics和Vision的會議的原因。隨著CV從2D向3D發展,以後兩者的交集會越來越大,除了learning以外的其他很多問題融合併到一個領域我也不會奇怪。

附:
VR 是電腦構建的3維立體;
AR 是計算機找準一個基點,繪製的三維圖形;
混合現實,是基於計算機輔助生成一個現實環境,再基於這個現實環境,生成一個多視角的三維圖形。

參考文獻

[1]
https://en.wikipedia.org/wiki/Computer_vision

[2]https://en.wikipedia.org/wiki/Computer_graphics_(computer_science)

[3]
https://en.wikipedia.org/wiki/Image_processing

[4] 張靜, 知乎,

http://www.zhihu.com/question/20672053/answer/15854031