計(jì)算機(jī)視覺(jué)從入門(mén)到放肆
一、基礎(chǔ)知識(shí)
1.1 計(jì)算機(jī)視覺(jué)到底是什么笤虫?
計(jì)算機(jī)視覺(jué)是一門(mén)研究如何讓機(jī)器“看”的科學(xué)
更進(jìn)一步的說(shuō)旁瘫,就是使用攝像機(jī)和電腦代替人眼對(duì)目標(biāo)進(jìn)行識(shí)別、跟蹤和測(cè)量等機(jī)器視覺(jué)琼蚯,并進(jìn)一步做圖形處理境蜕,使電腦處理成為更適合人眼觀察或傳送給儀器檢測(cè)的圖像。
作為一門(mén)科學(xué)學(xué)科凌停,計(jì)算機(jī)視覺(jué)研究相關(guān)的理論和技術(shù),視圖建立能夠從圖像或者多維數(shù)據(jù)中獲取'信息'的人工智能系統(tǒng)售滤。
1.2 圖像
當(dāng)程序在讀取一張圖片時(shí)罚拟,需要考慮以下數(shù)據(jù):
-
高度、寬度
假如一張照片的分辨率為:1920*1080(單位為dpi完箩,全稱(chēng)為 dot per inch)赐俗,1920 就是照片的寬度,1080 就是圖片的高度弊知。
-
深度
存儲(chǔ)每個(gè)像素所用的位數(shù)阻逮,比如正常RGB的深度就是 2^8 * 3 = 256 * 3 = 768 , 那么此類(lèi)圖片中的深度為768秩彤,每個(gè)像素點(diǎn)都能夠代表768中顏色叔扼。
-
通道數(shù)
RGB圖片就是有三通道,RGBA類(lèi)圖片就是有四通道
-
顏色格式
是將某種顏色表現(xiàn)為數(shù)字形式的模型漫雷,或者說(shuō)是一種記錄圖像顏色的方式瓜富。比較常見(jiàn)的有:RGB模式、RGBA模式降盹、CMYK模式与柑、位圖模式、灰度模式蓄坏、索引顏色模式价捧、雙色調(diào)模式和多通道模式。
more
圖像中的知識(shí)點(diǎn)太多涡戳,做基本圖像處理结蟋,了解以上知識(shí)個(gè)人感覺(jué)可以了。等到以后如果做深入研究渔彰,或許有機(jī)會(huì)做更多的學(xué)習(xí)
1.3 視頻
原始視頻 = 圖片序列椎眯,視頻中的每張有序圖片被稱(chēng)為“幀(frame)”挠将。壓縮后的視頻,會(huì)采取各種算法減少數(shù)據(jù)的容量编整,其中IPB就是最常見(jiàn)的舔稀。
-
碼率
數(shù)據(jù)傳輸時(shí)單位時(shí)間傳送的數(shù)據(jù)位數(shù),通俗一點(diǎn)的理解就是取樣率掌测,單位時(shí)間取樣率越大内贮,精度就越高,即分辨率越高
-
幀率
每秒傳輸?shù)膸瑪?shù)汞斧,fps(有沒(méi)有一種似曾相識(shí)的感覺(jué)~~~)夜郁,全稱(chēng)為 frames per second
-
分辨率
每幀圖片的分辨率
-
清晰度
平常看片中粘勒,有不同清晰度竞端,實(shí)際上就對(duì)應(yīng)著不同的分辨率
-
IPB
在網(wǎng)絡(luò)視頻流中,并不是把每一幀圖片全部發(fā)送到客戶(hù)端來(lái)展示庙睡,而是傳輸每一幀的差別數(shù)據(jù)(IPB)事富,客戶(hù)端然后對(duì)其進(jìn)行解析,最終補(bǔ)充每一幀完整圖片
1.4 攝像機(jī)
在實(shí)際應(yīng)用當(dāng)中乘陪,基本上都是通過(guò)不同種類(lèi)的攝像機(jī)來(lái)獲取數(shù)據(jù)统台,然后發(fā)送給服務(wù)端(AI Server)進(jìn)行處理,分類(lèi)有:
- 監(jiān)控?cái)z像機(jī)(網(wǎng)絡(luò)攝像機(jī)和模擬攝像機(jī))
- 行業(yè)攝像機(jī)(超快動(dòng)態(tài)攝像機(jī)啡邑、紅外攝像機(jī)贱勃、熱成像攝像機(jī)等)
- 智能攝像機(jī)
- 工業(yè)攝像機(jī)
1.5 CPU和GPU
我想大家肯定是知道,目前很多人工智能計(jì)算都遷移到GPU上進(jìn)行谤逼,tensorflow甚至還有cpu和gpu版本贵扰,所以其兩者的差別和使用方法,這是繞不開(kāi)的問(wèn)題流部。
廢話(huà)少說(shuō)拔鹰,先來(lái)上圖:
-
架構(gòu)上的對(duì)比
cpu-and-gpu-design.jpg- 綠色:計(jì)算單元
- 橙紅色:存儲(chǔ)單元
- 橙黃色:控制單元
-
整體對(duì)比
cpu-and-gpu.png- Cache、Local Memory : CPU > GPU
- Threads(線程數(shù)):GPU > CPU
- Registers(寄存器):GPU > CPU
- SIMD Unit(單指令多數(shù)據(jù)流):GPU > CPU
CPU在設(shè)計(jì)上贵涵,低延遲列肢,可是低吞吐量,CPU的ALU(算數(shù)運(yùn)算單元)雖然少宾茂,可是很強(qiáng)大瓷马,可以在很少的時(shí)鐘周期內(nèi)完成算數(shù)計(jì)算,或許數(shù)量少跨晴,就可以任性的減少時(shí)鐘周期欧聘,所以其頻率非常高,能夠達(dá)到1.532 ~ 3 (千兆端盆,10的9次方)怀骤。
大緩存容量费封、復(fù)雜的邏輯控制單元也可以減低延遲。
GPU在設(shè)計(jì)上蒋伦,高延遲弓摘,可是高吞吐量。GPU的特點(diǎn)是有很多的ALU和很少的cache. 緩存的目的不是保存后面需要訪問(wèn)的數(shù)據(jù)的痕届,這點(diǎn)和CPU不同韧献,而是為thread提高服務(wù)的。如果有很多線程需要訪問(wèn)同一個(gè)相同的數(shù)據(jù)研叫,緩存會(huì)合并這些訪問(wèn)锤窑,然后再去訪問(wèn)dram(因?yàn)樾枰L問(wèn)的數(shù)據(jù)保存在dram中而不是cache里面),獲取數(shù)據(jù)后cache會(huì)轉(zhuǎn)發(fā)這個(gè)數(shù)據(jù)給對(duì)應(yīng)的線程嚷炉,這個(gè)時(shí)候是數(shù)據(jù)轉(zhuǎn)發(fā)的角色渊啰。但是由于需要訪問(wèn)dram,自然會(huì)帶來(lái)延時(shí)的問(wèn)題申屹。
-
Cuda (Compute Unified Device Architecture)
是顯卡廠商N(yùn)VIDIA推出的運(yùn)算平臺(tái)绘证,采用并行計(jì)算架構(gòu),是GPU能夠解決復(fù)雜的計(jì)算問(wèn)題独柑。包含了CUDA指令集架構(gòu)以及GPU內(nèi)部的并行計(jì)算引擎。
安裝教程自行搜索腦補(bǔ)就行私植。
1.6 編程語(yǔ)言 + 數(shù)學(xué)基礎(chǔ)
-
python
推薦作為入門(mén)語(yǔ)言忌栅,簡(jiǎn)單容易上手,需要了解一些庫(kù):numpy曲稼、pandas索绪、matplotlib等。
-
C++
作為深入了解并嘗試進(jìn)行優(yōu)化贫悄,C++必不可少瑞驱,也是編寫(xiě)并修改的最佳語(yǔ)言。當(dāng)然窄坦,如果你了解C唤反、Matlab等語(yǔ)言那也是甚好的。
-
線性代數(shù)
可以把重點(diǎn)放在矩陣運(yùn)算上鸭津。
-
概率統(tǒng)計(jì)
了解基本概率統(tǒng)計(jì)知識(shí)彤侍、高斯分布、中值逆趋、標(biāo)準(zhǔn)差和方差等概念盏阶。
-
MachineLearning
能夠用公式表示代價(jià)函數(shù)、使用低度下降法來(lái)優(yōu)化模型闻书。當(dāng)然機(jī)器學(xué)習(xí)內(nèi)容實(shí)在是很多名斟,建議能夠完整走一遍脑慧,也可以看斯坦福的CS229課程
1.7 計(jì)算機(jī)視覺(jué)的應(yīng)用
計(jì)算機(jī)視覺(jué)之于未來(lái)人工智能,就好比眼睛之于人的重要性一樣砰盐。是未來(lái)很多領(lǐng)域自動(dòng)化獲取數(shù)據(jù)的主要渠道之一闷袒,也是處理數(shù)據(jù)的重要工具之一。目前可以預(yù)想到的應(yīng)用主要有如下:
- 無(wú)人駕駛
- 無(wú)人安防
- 人臉識(shí)別
- 文字識(shí)別
- 車(chē)輛車(chē)牌識(shí)別
- 以圖搜圖
- VR/AR
- 3D重構(gòu)
- 醫(yī)學(xué)圖像分析
- 無(wú)人機(jī)
- more ......
二楞卡、推薦參考書(shū)和公開(kāi)課
2.1 參考書(shū)籍
-
《Computer Vision : Models,Learning and Inference》
理論入門(mén)書(shū)籍
-
計(jì)算機(jī)視覺(jué)必備工具
-
《Computer Vision : Algorithms and Applications》
計(jì)算機(jī)視覺(jué)算法和應(yīng)用霜运,屬于進(jìn)階篇,這樣的書(shū)一般都有中文譯本蒋腮。本人也是幾經(jīng)周折淘捡,找到了一些資料,供大家下載學(xué)習(xí)池摧。
2.2 公開(kāi)課
-
這個(gè)課程作為入門(mén)非常合適焦除,里面也會(huì)分享一些干貨
-
Stanford CS231N
這兩門(mén)課我覺(jué)得經(jīng)典的課程,如果認(rèn)真學(xué)完的話(huà)作彤,基本上是已經(jīng)入門(mén)了膘魄,找一般的工作工作應(yīng)該是沒(méi)有問(wèn)題。
2.3 網(wǎng)站
-
這個(gè)網(wǎng)站是國(guó)外大佬從1994年開(kāi)始專(zhuān)注于計(jì)算機(jī)視覺(jué)研究竭讳,上面收錄了很多與此相關(guān)文獻(xiàn)创葡,大家可以看一些里程碑文獻(xiàn),讓自己能夠更好地理解視覺(jué)發(fā)展歷程绢慢。
-
沒(méi)事上斯坦福大學(xué)計(jì)算機(jī)視覺(jué)研究團(tuán)隊(duì)官網(wǎng)看看灿渴,大佬們有沒(méi)有發(fā)表一些研究成果文章,學(xué)習(xí)一番之后胰舆,將其翻譯成blog也不失為一個(gè)好的學(xué)習(xí)方法(裝逼方法)骚露。
這兩個(gè)網(wǎng)站已經(jīng)足夠了,不要太多缚窿,學(xué)好才是最關(guān)鍵的棘幸。
三、你還是需要學(xué)習(xí)一些深度學(xué)習(xí)知識(shí)
關(guān)于深度學(xué)習(xí)倦零,評(píng)價(jià)最高的莫過(guò)于:《Deep Learning》Written by lan Goodfellow and YoshuaBengio
購(gòu)買(mǎi)鏈接误续,這本AI圣經(jīng)
我就不多廢話(huà)了,攢錢(qián)買(mǎi)回去好好修煉吧扫茅!
四女嘲、開(kāi)源框架必不可少
關(guān)于開(kāi)源框架,仁者見(jiàn)仁智者見(jiàn)智诞帐,我也免得引起戰(zhàn)爭(zhēng)欣尼,所以就羅列給一下個(gè)人不成熟的小建議。
-
Caffe
深度學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)開(kāi)源框架。
-
Tensorflow
開(kāi)源機(jī)器學(xué)習(xí)深度學(xué)習(xí)框架愕鼓。
-
(Torch and Maxnet)
其他深度學(xué)習(xí)開(kāi)源框架
-
ffmpeg
強(qiáng)大的視頻處理工具
流行框架的對(duì)比圖:
參考鏈接
五钙态、深入,則必須閱讀相關(guān)文獻(xiàn)
當(dāng)我們需要學(xué)習(xí)各種經(jīng)典模型的時(shí)候菇晃,到哪里去找資料呢册倒?一般大家都會(huì)直接wikipedia
,可是我只想說(shuō)磺送,上面的也只是英文版漢譯過(guò)來(lái)的驻子,最好還是找一手資料,不然你吸收的知識(shí)估灿,就不知道是被多少人消化過(guò)多少遍后得來(lái)的崇呵。當(dāng)然也是有好的,不過(guò)那些大牛都是直接看原版才能得出更加深刻的結(jié)論馅袁,所以看原版文獻(xiàn)是一件很重要的學(xué)習(xí)途徑域慷,不然就永遠(yuǎn)裝不了*(學(xué)習(xí)不到最純正的knowledge)。
5.1 里程碑式的文獻(xiàn)
先熟悉所在方向的發(fā)展歷程汗销,歷程中的里程碑式的文獻(xiàn)必須要精讀犹褒。
例如,深度學(xué)習(xí)做目標(biāo)檢測(cè)弛针,RCNN叠骑、Fast RCNN、Fater RCNN削茁、SPPNET宙枷、SSD和YOLO等模型;又例如付材,深度學(xué)習(xí)做目標(biāo)跟蹤朦拖,DLT圃阳、SO-DLT等等厌衔;再例如,對(duì)抗網(wǎng)絡(luò)GAN捍岳、CGAN富寿、DCGAN、LAPGAN等等锣夹。
5.2 文獻(xiàn)網(wǎng)站
arxiv :每天去更新一下別人最新的工作
5.3 計(jì)算視覺(jué)的頂會(huì)
- ICCV:國(guó)際計(jì)算機(jī)視覺(jué)大會(huì)
- CVPR:國(guó)際計(jì)算機(jī)視覺(jué)與模式識(shí)別大會(huì)
- ECCV:歐洲計(jì)算機(jī)視覺(jué)大會(huì)
5.4 計(jì)算機(jī)視覺(jué)的頂刊
- PAMI:IEEE 模式分析與機(jī)器智能雜志
- IJCV:國(guó)際計(jì)算機(jī)視覺(jué)雜志
六:總結(jié)
無(wú)論別人給出多好的資料页徐,最終還是要靠自己踏實(shí)下來(lái),對(duì)各種知識(shí)點(diǎn)細(xì)嚼慢咽银萍。AI 不易变勇,且行且珍惜
我個(gè)人對(duì)計(jì)算機(jī)視覺(jué)非常感興趣,接下來(lái)會(huì)不斷的分享各種關(guān)于CV的學(xué)習(xí)心得和干貨。小白上路搀绣,大家如果能施舍一些star或者follow將會(huì)是給我最大的動(dòng)力飞袋。