計算機視覺應該怎樣入門?

 

從裝Python、裝OpenCV、入門深度學習,到人臉識別、目標檢測、語義分割等等各類應用,都有進階路線,裏面包含了教程、案例、注意事項。甚至怎樣把算法部署到樹莓派之類的硬件上,也能找到經驗。html

 

 

推特發出12小時,已經有1200人點了贊。做者名叫Adrian Rosebrock,是個常常出產教程的寶藏男子。web

萌新的你,想要成長爲一名合格的老司機,請馬克這份指南。算法

而後,來看裏面的內容到底有多豐富:編程

事無鉅細

爲了不「從入門到放棄」的慘劇,在你成爲老司機的路上,這份指南給每一步都作了安排。網絡

從目錄看,大體分爲兩部分,左邊一列是基礎,右邊一列是應用:機器學習

 

 

先看左邊的基礎裝備:ide

· 應該從哪開始呢
· 深度學習
· 人臉應用
· 圖像文字識別 (OCR)
· 目標檢測
· 目標追蹤
· 實例分割和語義分割

第一章「應該從哪開始呢」,是OpenCV的進階路線:工具

一是安裝Python和OpenCV (初) ,二是理解命令行arguments (初) ,三是用示例學OpenCV (初) ,四是本身搭個OpenCV小項目 (初) ,五是作更高級的OpenCV項目 (中) ,六是在CV的大世界裏,選擇本身的小方向 (中) 。性能

每一步都有須要注意的事項,還有必要的教程資源。學習

好比,怎樣安裝OpenCV最簡單,爲何不要用Windows,作項目的過程當中有哪些常見錯誤類型要避免。

有些步驟,還會分紅多個小步驟,每一個小步又有做者的舒適建議。好比,這是第五步:

 

 

當這個章節的六步完成以後,還有一步叫「What to Next」,除了告訴你們下面應該作什麼,也有一些額外的教程資源提供。

第二章「深度學習」,是算法的進階路線,內容比第一章更豐盛,有12步:

一是構建深度學習環境 (初) ,二是訓練本身的第一個網絡 (初) ,三是理解CNN (初) ,四是搭個本身的圖像數據集 (中) ,五是在本身的數據集上訓練一個CNN (中) ,六是調整學習率 (中) ,七是數據擴增 (中) ,八是特徵提取和微調預訓練網絡 (中) ,九是視頻分類 (高) ,十是多輸入和多輸出網絡 (高) ,十一是改進本身的網絡 (高) ,十二是AutoML和AutoKeras。

依然,每一步都提供了詳細的指引,有過往成功案例爲你保駕。好比,這是第十二步:

 

 

從第三章「人臉應用」開始,就是在各類具體任務當中用到的算法了。

檢測人臉,檢測關鍵點,識別人臉,提高算法的準確率……也把前兩章的進階路線,貫徹進了任務裏。

在這一章,做者Adrian Rosebrock頻繁出鏡:

 

 

第四章-第七章,文字識別、目標檢測、目標追蹤、實例分割和語義分割,與第三章同理,此處便不詳述。

做者繼續高密度出鏡:

 

接下來看右邊一列,是幫你走進現實的:

· 嵌入的和物聯網用的CV
· 樹莓派上的CV
· 醫學領域的CV
· 搞搞視頻
· 圖片搜索引擎
· 大神采訪,案例研究 (與教程) ,成功故事

好比,怎樣把本身的算法,放進樹莓派裏,放進冰箱裏,放進腦子裏,都有詳盡的玩法。

做者依然在出鏡:

 

 

除此以外,還有各類成功前輩的採訪,裏面有一些成功案例 (或附帶教程) ,是初學者能夠借鑑的經驗:

 

 

除了技術上的建議,這些資料也可當作美味的雞湯,鼓舞着你一路走向人蔘巔峯。

傳送門

萬事俱備,你們能夠開始修煉了。

順便回答一下這個問題:做者說的81頁,這個數究竟是怎麼來的。

Start Here with Computer Vision, Deep Learning, and OpenCV - PyImageSearch​www.pyimagesearch.com圖標

 

自學了一段時間計算機視覺(Computer Vision),下文簡稱:CV。內容以基本概念爲主,形式以看書爲主,跟着敲代碼爲輔。

原由:因工做中會涉及到交通物流風險管理、出險理賠材料審查等內容,會涉及到大量人工介入審閱照片、視頻的環節。而隨着素材量的增長未來須要大量的人力來處理,致使成本高,效率低、易出錯。
思考:可否經過某種技術進行照片、視頻內容的審查,從而消化必定的工做量,同時提高效率?帶着這樣的問題,咱們鎖定了CV技術。

這裏很是簡單地談談本身近一年的學習體會,算是入門者說吧。

一、首先明確CV都會在哪些領域裏使用,即用途是什麼?

如下是筆者在今年1月中旬於硅谷參加AI世界前沿大會時拍攝的OpenCV做者Bradski大神的演講ppt照片(能看得清內容)。

從上圖能夠看出,CV或者說OpenCV用途十分普遍。那麼問題來了,你確認你要學的東西在將來的學習或者工做中能夠派上用處嗎?若是答案是Yes。就繼續往下看。

 

二、CV是啥?

若是用一句話來解釋CV,那麼多是研究讓機器像人同樣具備可以「看」的能力,並在必要的時候給予合適的反饋(輸出:好比看圖說話,看視頻說話 )。

 

三、學什麼?從哪裏開始學?

從斯坦福大學李飛飛教授的CS231n課程中能夠看到,須要有一些基礎,以便更好的學習CV。截屏以下:

上圖能夠看到,須要咱們具有一些知識:

1)編程基礎:Python和C++。我的理解,用Python快速實現算法;用C++實戰,實時性能強。
2)數學基礎:高數,線性代數、基礎機率與統計
3)機器學習基礎

3-1)若是你對以上內容都有必定的基礎,那麼恭喜你,對於入門CV,你有了好的開始。

 

3-2)推薦幾本比較好的書籍:

一、《計算機視覺:模型、學習和推理》

入門基礎書籍,講得很清楚。我在看,很是好的與機器學習結合的CV入門書籍。英文好的同窗,建議看Prince的本來彩圖書籍。 官網《英文原版彩圖PDF版本》下載連接

二、《Learning OpenCV》

實戰經典。推薦理由:OpenCV做者Bradski大神的書。學習CV的人是沒法繞開OpenCV的。

三、《Python計算機視覺編程》

若是你有必定的Python基礎,筆者強烈推薦看這本書,把CV的基本概念和算法結合代碼實戰,講得比較清楚。入門佳做。它不是一上來就用OpenCV庫,使得入門者容易忽視不少基礎的概念算法。

四、《計算機視覺:算法與應用》

不建議入門者看。寶典型,大而全。典型的工具書。做者是Richard Szeliski,CV界大牛,圖像拼接奠定人。

五、《 Multiple View Geometryin Computer Vision 》,中文版名《CV中的多視圖幾何》

聽說是玩3D必看的一本書,包括AR/VR。不少CV專家都推薦。

 

3-3)視頻學習,固然是斯坦福大學李飛飛教授的CS231N課程(須要扶梯),這是一門結合深度學習的CV教學視頻。經典!

3-4)目前結合深度學習的CV是發展方向之一,有空能夠看看花書。

 

四、OpenCV、TensorFlow、Caffe

這些個,我們如今一個都繞不開。
多上手,多練吧。

 

五、國際頂尖的CV會議,掃掃論文的摘要、看看報告視頻。(若是肯定深度研究,就仔細看。不然,我的以爲了解下就好。)


 

到底學了哪些知識,計算機視覺纔算是入門了?

敲重點,劃黑板!

請將下面的網站的slides看完,輔助slides中提到的書的章節,應該能夠入門了,1-2個月時間便可。

固然若是有相應的數學和圖像基礎,有機器學習,深度學習基礎能夠更容易理解哦~

 

如下課程,均爲斯坦福計算機視覺實驗室的。

實驗室主頁:http://vision.stanford.edu/

 

CS 131 Computer Vision: Foundations and Applications:

http://vision.stanford.edu/teaching/cs131_fall1415/schedule.html

 

CS231A Computer Vision: from 3D reconstruction to recognition:

http://cvgl.stanford.edu/teaching/cs231a_winter1415/schedule.html

 

CS231n: Convolutional Neural Networks for Visual Recognition

http://vision.stanford.edu/teaching/cs231n/

 

以上三門課就能夠入門了,固然還有不少其餘高等級的課,能夠去實驗室主頁看看。

資料不宜貪多,謝絕其餘資料干擾,安心的把這些lectures看完。而後就能夠上手作項目和看論文了。論文才是王道。

相關文章
相關標籤/搜索