計算機視覺如何入門?
計算機視覺入門
計算機視覺(Computer Vision)起源於20世紀70年代,經過多年的發展,計算機視覺已經成為當前人工智慧的重要支撐,也成為各高校及企業重要研究方向,前景十分廣闊。筆者以自己的學習路線為例,介紹計算機視覺從入門到精(fang)通(qi)過程中應具備的知識。看完這篇文章,你可能並不能入門,但是你應該會對計算機視覺學習有一個大致的了解。
01
基礎知識
入門計算機視覺需要有一定的知識積累,主要是大學和研究生階段的幾門數學基礎課程和一定的編程基礎。
高等數學:深度網路對非結構數據進行迭代抽象表徵,這是一個優化的過程,其基礎理論涉及多元微積分。卷積和傅里葉變換等數學理論也都來自於高等數學。
線性代數、矩陣理論:無論是基礎的圖像處理理論,還是神經網路演算法都包含大量的矩陣運算和非線性變換。
概率論、應用數理統計:機器學習和深度學習演算法大多是分析輸入數據,建立模型進行預測,其中的數據分析離不開數理統計相關知識。
計算機相關:C++ 、python、數據結構、Linux基本操作。
02
OpenCV
OpenCV是一個開源的跨平台計算機視覺庫,提供了C++、Python、MATLAB等語言的介面,是現在計算機視覺領域應用比較廣泛的視覺庫。包含了閾值操作、直方圖、圖像濾波、形態學操作等一系列圖像處理基礎函數。基礎知識簡單易懂,比較適合入門的圖像知識學習。當然,OpenCV也可以進行大型圖像處理工作,而且包含機器學習模塊,可以進行強大的功能實現。
可以從OpenCV官網下載安裝最新的OpenCV3.x,然後進行一系列環境配置即可使用。新手推薦使用visual studio在Win32控制台程序下利用進行C++進行編程學習。同樣也可以安裝Python後在編譯器下進行編程學習。
主要學習途徑:
OpenCV library:https://opencv.org/
OpenCV中文網站: http://www.opencv.org.cn/
Learn OpenCV3
Learn OpenCV(中文版)
Python計算機視覺
03
深度學習
深度學習是機器學習的一個重要分支。深度學習中最著名的是卷積神經網路,它是一種前饋神經網路,對於大型圖像處理有出色表現,它在原來多層神經網路的基礎上,加入了特徵學習部分,模仿人腦對信號處理分級,可以進行大規模圖像的處理和識別。入門卷積神經網路推薦斯坦福CS231n課程,該課程主要是介紹深度學習在計算機視覺領域的應用,可以全面而系統的學習深度學習相關知識。
目前基於深度學習的開發平台和開發工具主要包括TensorFlow、DeepLearnToolbox、Theano、Caffe等。TensorFlow是谷歌的第二代人工智慧學習系統,可被用於語音識別或圖像識別等多項機器學習和深度學習領域,在Windows和Linux環境下都可以安裝和使用。
主要學習途徑:
斯坦福CS231n深度學習與計算機視覺
機器學習 - 周志華
TensorFlow實戰 - 黃文堅
Tensorflow:實戰Google深度學習框架
04
附錄:編程學習
人生苦短,我用Python
推薦廖雪峰官方網站的Python教程,如果你有毅力堅持下來的話。當然如果你喜歡聽別人講的話,網上視頻很多。學習方法因人而異,很多人不屑於去看視頻,甚至看不起那些看視頻學習的人,其實我認為,只要學會就好,不管用什麼方法。
C++從入門到入墳
C++的學習途徑就更加多了,入門書籍推薦c++ primer plus。接下來,看造化吧!
Linux
鳥哥的linux私房菜,進行基礎的Linux指令學習。
本文出現的資料
回復關鍵字「計算機視覺」獲取
TAG:計算機視覺學習筆記 |