維基百科,自由的百科全書
電腦視覺是一門研究如何使機器“看”的科學,更進一步的說,就是是指用攝影機和電腦代替人眼對目標進行識別、跟蹤和測量等機器視覺,並進一步做圖形處理,用電腦處理成為更適合人眼觀察或傳送給儀器檢測的映像。
作為一個科學學科,電腦視覺研究相關的理論和技術,試圖建立能夠從映像或者多維資料中擷取‘資訊’的人工智慧系統。這裡所 指的資訊指Shannon定義的,可以用來協助做一個“決定”的資訊。因為感知可以看作是從感官訊號中提 取資訊,所以電腦視覺也可以看作是研究如何使人工系統從映像或多維資料中“感知”的科學。
作為一個工程學科,電腦視覺尋求基於相關理論與模型來建立電腦視覺系統。這類系統的組成部分包括:
- 程式控制(例如工業機器人和無人駕駛汽車)
- 事件監測(例如映像監測)
- 資訊組織(例像資料庫和映像序列的索引建立)
- 物體與環境建模(例如工業檢查,醫學映像分析和拓撲建模)
- 交感互動(例如人機互動的輸入裝置)
電腦視覺同樣可以被看作是生物視覺的一個補充。在生物視覺領域中,人類和各種動物的視覺都得到了研究,從而建立了這些視覺 系統感知資訊過程中所使用的物理模型。另一方面,在電腦視覺中,靠軟體和硬體實現的人工智慧系統得到了研究與描述。生物視 覺與電腦視覺進行的學科間交流為彼此都帶來了巨大價值。
電腦視覺包含如下一些分支:畫面重建,事件監測,目標跟蹤,目標識別,機器學習,索引建立,映像恢複等。
1 電腦視覺的發展現狀
- 2 相鄰領域的異同
- 3 電腦視覺的經典問題
- 3.1 識別
- 3.2 運動
- 3.3 情境重建
- 3.4 映像恢複
- 4 電腦視覺系統
- 5 影響視覺系統的要件
- 6 參考
- 7 外部連結
|
電腦視覺的發展現狀
電腦視覺與其他領域的關係
電腦視覺領域的突出特點是其多樣性與不完善性。
這一領域的先驅可追溯到更早的時候,但是直到20世紀70年代後期,當電腦的效能提高到足以處理諸如映像這樣的大規模資料時,電腦視覺才得到了正式的關注和發展。然而這些發展往往起源於其他不同領域的需要,因而何謂“電腦視覺問題”始終沒有得到正式定義,很自然地,“電腦視覺問題”應當被如何解決也沒有成型的公式。
儘管如此,人們已開始掌握部分解決具體電腦視覺任務的方法,可惜這些方法通常都僅適用於一群狹隘的目標(如:臉孔、指紋、文字等),因而無法被廣泛地應用於不同場合。
對這些方法的應用通常作為某些解決複雜問題的大規模系統的一個組成部分(例如醫學映像的處理,工業製造中的品質控制與測量)。在電腦視覺的大多數實際應用當中,電腦被預設為解決特定的任務,然而基於機器學習的方法正日漸普及,一旦機器學習的研究進一步發展,未來“泛用型”的電腦視覺應用或許可以成真。
人工智慧所研究的一個主要問題是:如何讓系統具備“計劃”和“決策能力”?從而使之完成特定的技術動作(例如:移動一個機器人通過某種特定環境)。這一問題便與電腦視覺問題息息相關。在這裡,電腦視覺系統作為一個感知器,為決策提供資訊。另外一些研究方向包括模式識別和機器學習(這也隸屬於人工智慧領域,但與電腦視覺有著重要聯絡),也由此,電腦視覺時常被看作人工智慧與電腦科學的一個分支。
物理是與電腦視覺有著重要聯絡的另一領域。
電腦視覺關注的目標在於充分理解電磁波——主要是可見光與紅外線部分——遇到物體表面被反射所形成的映像,而這一過程便是基於光學物理和固態物理,一些尖端的映像感知系統甚至會應用到量子力學理論,來解析影像所表示的真實世界。同時,物理學中的很多測量難題也可以通過電腦視覺得到解決,例如流體運動。也由此,電腦視覺同樣可以被看作是物理學的拓展。
另一個具有重要意義的領域是神經生物學,尤其是其中生物視覺系統的部分。
在整個20世紀中,人類對各種動物的眼睛、神經元、以及與視覺刺激相關的腦部組織都進行了廣泛研究,這些研究得出了一些有關“天然的”視覺系統如何運作的描述(儘管仍略嫌粗略),這也形成了電腦視覺中的一個子領域——人們試圖建立人工系統,使之在不同的複雜程度上類比生物的視覺運作。同時電腦視覺領域中,一些基於機器學習的方法也有參考部分生物機制。
電腦視覺的另一個相關領域是訊號處理。很多有關單元變數訊號的處理方法,尤其對是時變訊號的處理,都可以很自然的被擴充為電腦視覺中對二元變數訊號或者多元變數訊號的處理方法。但由於映像資料的特有屬性,很多電腦視覺中發展起來的方法,在單元訊號的處理方法中卻找不到對應版本。這類方法的一個主要特徵,便是他們的非線性以及映像資訊的多維性,以上二點作為電腦視覺的一部分,在訊號處理學中形成了一個特殊的研究方向。
除了上面提到的領域,很多研究課題同樣可被當作純粹的數學問題。例如,電腦視覺中的很多問題,其理論基礎便是統計學,最佳化理論以及幾何學。
如何使既有方法通過各種軟硬體實現,或說如何對這些方法加以修改,而使之獲得合理的執行速度而又不損失足夠精度,是現今電腦視覺領域的主要課題。
相鄰領域的異同
電腦視覺,圖象處理,映像分析,機器人視覺和機器視覺是彼此緊密關聯的學科。如果你翻開帶有上面這些名字的教材,你會發現在技術和應用領域上他們都有著相當大部分的重疊。這表明這些學科的基礎理論大致是相同的,甚至讓人懷疑他們是同一學科被冠以不同的名稱。
然而,各研究機構,學術期刊,會議及公司往往把自己特別的歸為其中某一個領域,於是各種各樣的用來區分這些學科的特徵便被提了出來。下面將給出一種區分方法,儘管並不能說這一區分方法完全準確。
電腦視覺的研究對象主要是映射到單幅或多幅映像上的三維情境,例如三維情境的重建。電腦視覺的研究很大程度上針對映像的內容。
圖象處理與映像分析的研究對象主要是二維映像,實現映像的轉化,尤其針對像素級的操作,例如提高映像對比,邊緣提取,去雜訊和幾何變換像旋轉。這一特徵表明無論是影像處理還是映像分析其研究內容都和映像的具體內容無關。
機器視覺主要是指工業領域的視覺研究,例如自主機器人的視覺,用於檢測和測量的視覺。這表明在這一領域通過軟體硬體,映像感知與控制理論往往與影像處理得到緊密結合來實現高效的機器人控制或各種即時操作。
模式識別使用各種方法從訊號中提取資訊,主要運用統計學的理論。此領域的一個主要方向便是從映像資料中提取資訊。
還有一個領域被稱為成像技術。這一領域最初的研究內容主要是製作映像,但有時也涉及到映像分析和處理。例如,醫學成像就包含大量的醫學領域的映像分析。
對於所有這些領域,一個可能的過程是你在電腦視覺的實驗室工作,工作中從事著圖象處理,最終解決了機器視覺領域的問題,然後把自己的成果發表在了模式識別的會議上。
電腦視覺的經典問題
幾乎在每個電腦視覺技術的具體應用都要解決一系列相同的問題。這些經典的問題包括:
識別
一個電腦視覺,影像處理和機器視覺所共有的經典問題便是判定一組映像資料中是否包含某個特定的物體,映像特徵或運動狀態。這一問題通常可以通過機器自動解決,但是到目前為止,還沒有某個單一的方法能夠廣泛的對各種情況進行判定:在任意環境中識別任意物體。現有技術能夠也只能夠很好地解決特定目標的識別,比如簡單幾何圖形識別,Face Service,印刷或手寫檔案識別或者車輛識別。而且這些識別需要在特定的環境中,具有指定的光照,背景和目標姿態要求。
廣義的識別在不同的場合又演化成了幾個略有差異的概念:
- 識別(狹義的):對一個或多個經過預先定義或學習的物體或物類進行辨識,通常在辨識過程中還要提供他們的二維位置或三維姿態。
- 鑒別:識別辨認單一物體本身。例如:某一人臉的識別,某一指紋的識別。
- 監測:從映像中發現特定的情況內容。例如:醫學中對細胞或組織不正常技能的發現,交通監視儀器對過往車輛的發現。監測往往是通過簡單的圖象處理髮現映像中的特殊地區,為後繼更複雜的操作提供起點。
識別的幾個具體應用方向:
- 基於內容的映像提取:在巨大的映像集合中尋找包含指定內容的所有圖片。被指定的內容可以是多種形式,比如一個紅色的大致是圓形的圖案,或者一輛單車。在這裡對後一種內容的尋找顯然要比前一種更複雜,因為前一種描述的是一個低級直觀的視覺特徵,而後者則涉及一個抽象概念(也可以說是進階的視覺特徵),即‘單車’,顯然的一點就是單車的外觀並不是固定的。
- 姿態評估:對某一物體相對於攝像機的位置或者方向的評估。例如:對機器臂姿態和位置的評估。
- 光學字元辨識對映像中的印刷或手寫文字進行識別鑒別,通常的輸出是將之轉化成易於編輯的文檔形式。
運動
基於順序圖表像的對物體運動的監測包含多種類型,諸如:
- 自體運動:監測攝像機的三維剛性運動。
- 映像跟蹤:跟蹤運動的物體。
情境重建
給定一個情境的二或多幅映像或者一段錄影,情境重建尋求為該情境建立一個電腦模型/3D 模型。最簡單的情況便是產生一組三維空間中的點。更複雜的情況下會建立起完整的三維表面模型。
映像恢複
映像恢複的目標在於移除映像中的雜訊,例如儀器雜訊,模糊等
電腦視覺系統
電腦視覺系統的結構形式很大程度上依賴於其具體應用方向。有些是獨立工作的,用於解決具體的測量或檢測問題;也有些作為某個大型複雜系統的組成部分出現,比如和機械控制系統,資料庫系統,人機介面裝置協同工作。電腦視覺系統的具體實現方法同時也由其功能決定——是預先固定的抑或是在運行過程中自動學習調整。儘管如此,有些功能卻幾乎是每個電腦系統都需要具備的:
- 映像擷取:一幅數位影像是由一個或多個映像感知器產生,這裡的感知器可以是各種光敏攝像機,包括遙感裝置,X射線斷層攝影儀,雷達,超聲波接收器等。去絕不與同的感知器,產生的圖片可以是普通的二維映像,三維圖組或者一個映像序列。圖片的像素值往往對應於光在一個或多個光譜段上的強度(灰階圖或彩色圖),但也可以是相關的各種物理資料,如聲波,電磁波或核磁共振的深度,吸收度或反射度。
- 預先處理:在對映像實施具體的電腦視覺方法來提取某種特定的資訊前,一種或一些預先處理往往被採用來使映像滿足後繼方法的要求。例如:
- 二次取樣保證映像座標的正確
- 平滑去噪來濾除感知器引入的裝置雜訊
- 提高對比來保證實現相關資訊可以被檢測到
- 調整尺度空間使映像結構適合局部應用
- 特徵提取:從映像中提取各種複雜度的特徵。例如:
- 線,邊緣提取
- 局部化的特徵點檢測如邊角檢測,斑點檢測
-
更複雜的特徵可能與映像中的紋理形狀或運動有關。
- 檢測/分割:在影像處理過程中,有時會需要對映像進行分割來提取有價值的用於後繼處理的部分,例如
- 進階處理:到了這一步,資料往往具有很小的數量,例像中經先前處理被認為含有目標物體的部分。這時的處理包括:
- 驗證得到的資料是否符合前提要求
- 估測特定係數,比如目標的姿態,體積
- 對目標進行分類
影響視覺系統的要件
- 光源布局影響大需審慎考量。
- 正確的選擇鏡組,考量倍率、空間、尺寸、失真… 。
- 選擇合適的攝影機(CCD),考量功能、規格、穩定性、耐用...。
- 視覺軟體開發需靠經驗累積,多嘗試、思考問題的解決
途徑。
參考
- 機器視覺
- 人工智慧與模式識別
- 影像處理
- 自動光學檢查
- 開放原始碼電腦視覺庫:OpenCV
外部連結
- Machine Perception of Three-Dimensional Solids - the paper mentioned by Joseph Mundy in the video
- CVonline: The Evolving, Distributed, Non-Proprietary, On-Line Compendium of Computer Vision
- Introduction to computer vision (464KB pdf file)
- CMU's Computer Vision Homepage
- Keith Price's Annotated Computer Vision Bibliography and the Official Mirror Site Keith Price's Annotated Computer Vision Bibliography
- HIPR2 image processing teaching package
- USC Iris computer vision conference list
取自"http://zh.wikipedia.org/w/index.php?title=%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%A7%86%E8%A7%89&variant=zh-cn"