概況
最近忙著看機器視覺 (Computer Vision),決定系統的做一套學習日記和教程,加深理解與記憶,并把一些知識分享給大家。
整套教程+學習日記將包括圖像的一些基礎知識,濾鏡(filter),邊緣檢測(edge detection),角檢測(corner detection),物體檢測(object detection) ,特征提取(feature extraction) 等,還有一些關于神經網絡,機器學習的相關概念。由于博主是英文學習,所以本套教程將涵蓋大量的英語詞匯與相關論文閱讀,便不一一進行解釋。如果有英語基礎或者無所畏懼的童鞋請繼續往下看。
另外,computer vision 需要基本的linear algebra 知識(矩陣計算等)和matlab. 如果沒有這兩個基礎的童鞋,請進行基本惡補以后,再繼續往下看~
下面進入正題。
學習日記一:什么是Computer Vision(CV)?
備注:此篇文章為科普,針對小白。對CV有過了解的人可以跳過,喝杯茶等下篇文章吧。88888
CV 對于沒接觸過的人來講感覺可能比較神秘,但是其實并不是什么了不得的東西。經過多年計算機的發展以及移動平臺的普及,可以說CV是無處不在。如果說人理解這個世界是通過雙眼與大腦的組合運作,那么CV就是給當做人類大腦的計算機裝上了兩只眼睛。
那么有人問了。。裝個攝像頭尼瑪不是裝了個眼睛? 那么CV就是攝像頭啊,還講個毛線? 那么請你往下看。。。
眾所周知,人類之所以可以達到目前的高度,是因為可以將看到的東西轉化為知識,進行分析,研究。裝個攝像頭僅僅是“裝上了”眼睛,但是并沒有將眼睛與大腦(計算機處理,算法等)給連接起來。如果沒有CV,那么攝像頭所捕捉到的僅僅是表面2D的一個圖像而已,然后屏幕將圖像展示給人類,至于如何理解這個圖像,還是得靠人類去自行發揮,可以說這個圖像所傳達的內容并不能被計算機給吸收消化,并運用到實際中去。那么生活中有哪些我們常見的東西用到了CV呢?
這個時候就該問問你自己,你是否有用過PS把自己P成歐巴?你是否有用美圖秀秀給自己非主流的加個濾鏡?你是否有在哪個地方發現你沒說你是誰就被別人知道了?你是否&%#$#@#!$! (編不下去了。。)
總之,CV在生活中處處不在,現在CV作為做火熱的話題之一,已經被玩壞。再加上現在更加火熱的深度神經網絡(后面會專門講到),可以說這記組合拳把人類眾多領域的成就提高到了一個全新的紀元。就比如目前最最最最熱門的自動駕駛,可以說沒有CV的話,那就等著玩碰碰車吧。
那這個時候又會有人問了,為什么我們要用CV? 我們尼瑪不是有眼睛嗎?這不是浪費時間嗎?
此行省略1萬字
出門左轉。
好了。總結下CV未來的一些研究領域:運動,醫學,生活應用,自動駕駛,機器人。如何用,自行腦補。(學到后面你就知道了 ^_^)
如果嫌我講的啰嗦,這么簡單的東西,那么請往下看。
那么多的地方都用到了CV,CV也被研究了那么久了,那么怎么感覺現在很多東西還是沒法實現或者準確率不高呢?比如面部識別,人物識別等等,為什么不能100%?
首先從科學上講,沒有什么東西可以達到完全100%的準確度。就算是人類去識別圖片,也不可能在每一種情況下都能夠百分之百的進行認知。這是一個大前提。
在目前的CV領域,有幾大主要難點。
1.現實世界是3D,而圖像是2D,即使是Uber自動駕駛所使用到的雷達圖像,終究也還是2D平面,用灰度去測量,結合攝像頭捕捉的圖像。所以說現實世界要復雜得多。想想各種東西都分前后左右,有光和色彩影響,遮擋等等因素,簡單的2D 圖像,如何表達那么多的信息?
2.那么如果信息有限,沒有辦法像人一樣感知到周圍環境結合分析,那么該如何處理一些技術上的難題?比如在遮擋一個人半個身子的情況下,如何知道一個人在干嘛?
3.現實世界的東西太多太復雜,假設說在馬路上隨便拍個圖片讓電腦處理,里面涉及到的不同的類別(class,就比如人是一個類,車是一個類,其中不同品牌的車還分子類。etc)那么計算機該如何處理如此龐大的信息量?就算是train神經網絡等等方式,計算機的內存有限,人類train一個model模型的時間有限,train的資源素材有限,如何思考這其中的trade-off或者說如何繞過一些技術難題?
所以說在學習與研究CV的時候,一般所采用的方法是細分這些難點,把它們歸類為實際的solvable 的問題。比如corner detection, edge detection, motion detection, pose detection 等等,現階段CV的發展還處于逐步摸索或者進一步提高這些基礎方面的準確度與效率階段。至于下一步該如何走,朝哪兒走,怎樣讓CV對于實際用途的幫助和提高更廣,還需要進一步思考與研究。
這套學習日記我將從一個廣到細,再到廣的套路來套路各位感興趣的讀者們。
下一章節我將講到最基本的classification problem,簡單的區別不同的class類別,包括SVM,linear classification, non-linear等主題。看名稱很懵逼,想知道是什么?
點個贊,請聽下回分曉。
------------------------------------------------------
本次日記結束。886
對文章的講述方式有建議,或者有什么問題,有什么想進一步了解的知識,請在下面留言吧~
謝謝閱讀