官术网_书友最值得收藏!

1.1 計(jì)算機(jī)視覺

1.1.1 定義

計(jì)算機(jī)視覺是使用計(jì)算機(jī)及相關(guān)設(shè)備對(duì)生物視覺的一種模擬。它的主要任務(wù)是通過對(duì)采集的圖片或視頻進(jìn)行處理以獲得相應(yīng)場(chǎng)景的三維信息。計(jì)算機(jī)視覺是一門關(guān)于如何運(yùn)用照相機(jī)和計(jì)算機(jī)來獲取被拍攝對(duì)象的數(shù)據(jù)與信息的學(xué)問。可簡單形象地理解為我們給計(jì)算機(jī)安裝上眼睛(照相機(jī))和大腦(算法),讓計(jì)算機(jī)能夠感知環(huán)境。

1.1.2 基本任務(wù)

計(jì)算機(jī)視覺的基本任務(wù)包含圖像處理、模式識(shí)別、圖像識(shí)別、景物分析或圖像理解等。此外,它還包括空間形狀的描述、幾何建模及認(rèn)識(shí)過程。實(shí)現(xiàn)圖像理解是計(jì)算機(jī)視覺的終極目標(biāo)。下面為大家展開介紹圖像處理、模式識(shí)別和圖像理解。

● 圖像處理技術(shù)可以把輸入圖像轉(zhuǎn)換成具有所希望特性的另一幅圖像。例如,通過處理使輸出圖像有較高的信噪比,或通過增強(qiáng)處理以突出圖像細(xì)節(jié),便于操作員檢驗(yàn)。在計(jì)算機(jī)視覺研究中經(jīng)常利用圖像處理技術(shù)進(jìn)行預(yù)處理和特征抽取。

● 模式識(shí)別技術(shù)根據(jù)抽取圖像的統(tǒng)計(jì)特性或結(jié)構(gòu)信息,將其分成預(yù)定的類別。例如,文字識(shí)別或指紋識(shí)別。在計(jì)算機(jī)視覺中模式識(shí)別技術(shù)常用于對(duì)圖像中的某些部分(如分割區(qū)域)的識(shí)別和分類。

● 圖像理解技術(shù)是對(duì)圖像內(nèi)容信息的理解。給定一幅圖像,圖像理解程序不僅描述圖像本身,而且描述和解釋圖像所代表的景物,以便對(duì)圖像代表的內(nèi)容做出決定。在人工智能研究初期常使用景物分析這個(gè)術(shù)語,以強(qiáng)調(diào)二維圖像與三維景物之間的區(qū)別。圖像理解除了需要復(fù)雜的圖像處理外,還需要具有關(guān)于景物成像的物理規(guī)律和與景物內(nèi)容有關(guān)的知識(shí)。

1.1.3 傳統(tǒng)方法

在深度學(xué)習(xí)算法出現(xiàn)之前,視覺算法大致可分為5個(gè)步驟:特征感知、圖像預(yù)處理、特征提取、特征篩選、推理預(yù)測(cè)與識(shí)別。早期的機(jī)器學(xué)習(xí)中,占優(yōu)勢(shì)的統(tǒng)計(jì)機(jī)器學(xué)習(xí)群體對(duì)特征的重視是不夠的。

何為圖片特征?通俗來講是指最能表現(xiàn)圖像特點(diǎn)的一組參數(shù),常用特征類型包括顏色、紋理、形狀和空間關(guān)系。為了讓機(jī)器盡可能完整且準(zhǔn)確地理解圖片,需要將包含龐雜信息的圖像簡化抽象為若干個(gè)特征量以便后續(xù)計(jì)算。在深度學(xué)習(xí)技術(shù)沒有出現(xiàn)前,圖像特征需要研究人員手動(dòng)提取,這是一個(gè)繁雜且冗長的工作,因?yàn)楹芏鄷r(shí)候研究人員并不能確定什么樣的特征組合是有效的,而且常常需要研究人員手動(dòng)設(shè)計(jì)新的特征。在深度學(xué)習(xí)技術(shù)出現(xiàn)后,問題顯著簡化了許多,各種各樣的特征提取器以人腦視覺系統(tǒng)為理論基礎(chǔ),嘗試直接從大量數(shù)據(jù)中提取出圖像特征。

過去的算法主要依賴于特征算子,例如最著名的SIFT算子,即所謂的對(duì)尺度旋轉(zhuǎn)保持不變的算子。它被廣泛地應(yīng)用在圖像比對(duì),特別是三維重建應(yīng)用中,有一些成功的應(yīng)用例子。另一個(gè)是HoG算子,它可以提取比較魯棒的物體邊緣,在物體檢測(cè)中扮演著重要的角色。

另外還包括Textons、Spin image、RIFT和GLOH算子,它們都在深度學(xué)習(xí)誕生之前或深度學(xué)習(xí)真正流行起來之前占領(lǐng)視覺算法的主流。

這些特征和一些特定的分類器組合取得了一些成功或半成功的例子,基本達(dá)到了商業(yè)化的要求:一是20世紀(jì)八九十年代的指紋識(shí)別算法,在指紋圖案上尋找具有特殊幾何特征的點(diǎn),然后把指紋關(guān)鍵點(diǎn)進(jìn)行比對(duì),以判斷是否匹配;二是2001年基于Haar的人臉檢測(cè)算法,在當(dāng)時(shí)的硬件條件下已經(jīng)能夠達(dá)到實(shí)時(shí)人臉檢測(cè),目前所有手機(jī)的人臉檢測(cè)功能,都是基于它的變種;三是基于HoG特征的物體檢測(cè),它與所對(duì)應(yīng)的SVM分類器組合成著名的DPM算法(DPM算法在物體檢測(cè)上超過了所有的算法,取得了比較不錯(cuò)的成績)。但這種成功案例太少,因?yàn)槭止ぴO(shè)計(jì)特征需要大量的經(jīng)驗(yàn),需要研究人員對(duì)這個(gè)領(lǐng)域和數(shù)據(jù)特別了解,在設(shè)計(jì)出來特征后還需要大量的調(diào)試工作。另一個(gè)難點(diǎn)在于,研究人員不僅需要手工設(shè)計(jì)特征,還要在此基礎(chǔ)上有一個(gè)比較合適的分類器算法。同時(shí)設(shè)計(jì)特征,然后選擇一個(gè)分類器,這兩者合并達(dá)到最優(yōu)的效果,幾乎是不可能完成的任務(wù)。

1.1.4 仿生學(xué)與深度學(xué)習(xí)

如果不手動(dòng)設(shè)計(jì)特征,不挑選分類器,那有沒有別的方案能同時(shí)學(xué)習(xí)特征和分類器?即輸入某一個(gè)模型時(shí),輸入只是圖片,輸出卻是它自己的標(biāo)簽。如輸入一位明星頭像(如圖1.1神經(jīng)網(wǎng)絡(luò)示例),模型輸出的標(biāo)簽是一個(gè)50維的向量(如果要在50個(gè)人里識(shí)別),其中對(duì)應(yīng)明星的向量是1,其他的向量是0。

圖1.1 神經(jīng)網(wǎng)絡(luò)示例

這種設(shè)定符合人類腦科學(xué)的研究成果。1981年諾貝爾生理學(xué)或醫(yī)學(xué)獎(jiǎng)?lì)C發(fā)給了一位神經(jīng)生物學(xué)家David Hubel。他發(fā)現(xiàn)了視覺系統(tǒng)信息處理機(jī)制,證明大腦的可視皮層是分級(jí)的。其貢獻(xiàn)主要是他認(rèn)為人的視覺功能一個(gè)是抽象,一個(gè)是迭代。抽象是把非常具體的形象元素,即原始光線像素等信息,抽象形成有意義的概念。這些有意義的概念又會(huì)往上迭代,變成更加抽象、人可以感知到的抽象概念。

像素是沒有抽象意義的,但人腦可以把這些像素連接成邊緣(邊緣相對(duì)像素來說就變成了比較抽象的概念),邊緣進(jìn)而形成球形,球形形成氣球,大腦最終就知道看到的是一個(gè)氣球。

模擬人腦識(shí)別人臉(見圖1.2),也是抽象迭代的過程。從最開始的像素到第二層的邊緣,再到第三層人臉的部分,最后到第四層整張人臉,是一個(gè)抽象迭代的過程。

圖1.2 人腦與神經(jīng)網(wǎng)絡(luò)

再比如認(rèn)識(shí)到圖片中的物體是摩托車的過程,人腦只需要幾秒就可以處理完畢,但這個(gè)過程中經(jīng)過了大量的神經(jīng)元抽象迭代。對(duì)計(jì)算機(jī)來說最開始看到的根本也不是摩托車,而是RGB圖像三個(gè)通道上不同的數(shù)字。

特征或者視覺特征,就是把這些數(shù)值給綜合起來,用統(tǒng)計(jì)或非統(tǒng)計(jì)的形式把摩托車的部件或者整輛摩托車表現(xiàn)出來。深度學(xué)習(xí)流行前,大部分設(shè)計(jì)圖像特征就是基于此,即把一個(gè)區(qū)域內(nèi)的像素級(jí)別信息綜合表現(xiàn)出來,利于后面的分類學(xué)習(xí)。

若要完全模擬人腦,我們也要模擬抽象和遞歸迭代的過程,把信息從最細(xì)瑣的像素級(jí)別抽象到“種類”的概念,讓大腦能夠接受。

1.1.5 現(xiàn)代深度學(xué)習(xí)

計(jì)算機(jī)視覺里常使用卷積神經(jīng)網(wǎng)絡(luò)(CNN),它是一種對(duì)人腦比較精準(zhǔn)的模擬。人腦在識(shí)別圖片的過程中,并不是對(duì)整張圖同時(shí)進(jìn)行識(shí)別,而是感知圖片中的局部特征,之后將局部特征綜合起來再得到整張圖的全局信息。卷積神經(jīng)網(wǎng)絡(luò)模擬了這一過程,其卷積層通常是堆疊的,低層的卷積層提取圖片的局部特征,如角、邊緣、線條等,高層卷積從低層的卷積層中提取更復(fù)雜的特征,從而實(shí)現(xiàn)圖片的分類和識(shí)別。

在計(jì)算機(jī)視覺里卷積是兩個(gè)函數(shù)之間的相互關(guān)系,把卷積當(dāng)作一個(gè)抽象的過程,將小區(qū)域內(nèi)的信息統(tǒng)計(jì)抽象出來。

比如,對(duì)于一張愛因斯坦的照片,可以學(xué)習(xí)n個(gè)不同的卷積和函數(shù),然后對(duì)這個(gè)區(qū)域進(jìn)行統(tǒng)計(jì)。也可以用不同的方法統(tǒng)計(jì),比如著重統(tǒng)計(jì)中央或著重統(tǒng)計(jì)周圍,這就導(dǎo)致統(tǒng)計(jì)的和函數(shù)的種類多種多樣,達(dá)到可以同時(shí)學(xué)習(xí)多個(gè)統(tǒng)計(jì)的累積和。

如圖1.3所示,如何從輸入圖像到最后卷積,再到生成響應(yīng)map。首先用學(xué)習(xí)好的卷積和對(duì)圖像進(jìn)行掃描,然后每一個(gè)卷積和會(huì)生成一個(gè)掃描的響應(yīng)圖,(我們稱之為response map或是feature map)。如果有多個(gè)卷積和,就有多個(gè)feature map,即從一個(gè)輸入圖像(RGB三個(gè)通道)可以得到256個(gè)通道的feature map,因?yàn)橛?56個(gè)卷積和,所以每個(gè)卷積和代表一種統(tǒng)計(jì)抽象的方式。

圖1.3 卷積

在卷積神經(jīng)網(wǎng)絡(luò)中,除了卷積層,還有一種叫池化的操作。它在統(tǒng)計(jì)上的概念更明確,就是一個(gè)對(duì)一個(gè)小區(qū)域內(nèi)求平均值或者求最大值的統(tǒng)計(jì)操作。

帶來的結(jié)果是,如果之前輸入有兩個(gè)通道或者256通道卷積的響應(yīng)feature map,每一個(gè)feature map都經(jīng)過一個(gè)求最大的一個(gè)池化層,會(huì)得到一個(gè)比原來feature map更小的256的feature map。

在下面這個(gè)例子里(見圖1.4),池化層對(duì)每一個(gè)大小為2×2的區(qū)域求最大值,然后把最大值賦給生成的feature map的對(duì)應(yīng)位置。如果輸入圖像的大小是100×100像素的,那輸出圖像的大小會(huì)變成50×50像素,feature map變成原有的一半。同時(shí)保留的信息是原有2×2區(qū)域里面最大的信息。

圖1.4 池化

LeNet網(wǎng)絡(luò)(Le是人工智能領(lǐng)域先驅(qū)LeCun名字的簡寫)如圖1.5所示,它是許多深度學(xué)習(xí)網(wǎng)絡(luò)的原型和基礎(chǔ)。在之前,人工神經(jīng)網(wǎng)絡(luò)層數(shù)都相對(duì)較少,而LeNet五層網(wǎng)絡(luò)突破了這一限制。其中LeCun用這一網(wǎng)絡(luò)進(jìn)行字母識(shí)別,達(dá)到了非常好的效果。

圖1.5 LeNet網(wǎng)絡(luò)

LeNet網(wǎng)絡(luò)輸入圖像是大小為32×32的灰度圖,第一層經(jīng)過了一組卷積和,生成了6個(gè)28×28的feature map,然后經(jīng)過一個(gè)池化層,得到6個(gè)14×14的feature map,然后再經(jīng)過一個(gè)卷積層,生成了16個(gè)10×10的卷積層,再經(jīng)過池化層生成16個(gè)5×5的feature map。再經(jīng)過3個(gè)全連接層,即可得到最后的輸出結(jié)果,輸出就是標(biāo)簽空間的輸出。由于只對(duì)0到9進(jìn)行識(shí)別,所以輸出空間是10,如果要對(duì)10個(gè)數(shù)字再加上26個(gè)大小字母進(jìn)行識(shí)別,輸出空間就是62。向量各維度的值代表“圖像中元素等于該維度對(duì)應(yīng)標(biāo)簽的概率”,可簡單理解為,若該向量第一維度輸出為0.6,即表示圖像中元素是0的概率是0.6。那么該62維向量中值最大的維度對(duì)應(yīng)的標(biāo)簽即為最后的預(yù)測(cè)結(jié)果。62維向量里,如果某一個(gè)維度上的值最大,它對(duì)應(yīng)的字母和數(shù)字就是預(yù)測(cè)結(jié)果。

從1998年開始的15年間,深度學(xué)習(xí)領(lǐng)域在眾多專家學(xué)者的帶領(lǐng)下不斷發(fā)展壯大。遺憾的是在此過程中,深度學(xué)習(xí)領(lǐng)域沒有產(chǎn)生足以轟動(dòng)世人的成果,導(dǎo)致深度學(xué)習(xí)的研究一度被邊緣化。到2012年,深度學(xué)習(xí)算法在部分領(lǐng)域取得不錯(cuò)的成績,而AlexNet的出現(xiàn)使深度學(xué)習(xí)算發(fā)開始煥發(fā)新的生機(jī)。

AlexNet由多倫多大學(xué)提出,在ImageNet比賽上取得了非常好的成績。AlexNet識(shí)別效果超過了當(dāng)時(shí)所有淺層的方法。經(jīng)此一役,AlexNet在此后被不斷地改進(jìn)、應(yīng)用。同時(shí),學(xué)術(shù)界和工業(yè)界也認(rèn)識(shí)到了深度學(xué)習(xí)的無限可能。

AlexNet是基于LeNet的改進(jìn),它可以被看作LeNet的放大版,如圖1.6所示。AlexNet的輸入是一個(gè)大小為224×224的圖片,輸入圖像在經(jīng)過若干個(gè)卷積層和若干個(gè)池化層后,最后經(jīng)過兩個(gè)全連接層泛化特征,得到最后的預(yù)測(cè)結(jié)果。

圖1.6 AlexNet

2015年,特征可視化工具開始盛行。那么,AlexNet的特征是什么樣子?其共分為4層:第一層,都是一些填充的塊狀物和邊界等特征;中間層開始學(xué)習(xí)一些紋理特征;第三層接近分類器的高層,明顯可以看到物體形狀特征。最后一層是分類層,不同物體的主要特征已經(jīng)被完全提取出來。

無論對(duì)什么物體進(jìn)行識(shí)別,特征提取器提取特征的過程都是漸進(jìn)的。特征提取器最開始提取到的是物體的邊緣特征,繼而是物體的各部分信息,然后在更高層級(jí)抽象到物體的整體特征。整個(gè)卷積神經(jīng)網(wǎng)絡(luò)在模擬人的抽象和迭代的過程。

1.1.6 卷積神經(jīng)網(wǎng)絡(luò)

卷積神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)思路非常簡潔明了,且很早就被提出。那為什么卷積神經(jīng)網(wǎng)絡(luò)時(shí)隔20年才占領(lǐng)主流?這一問題與卷積神經(jīng)網(wǎng)絡(luò)本身的技術(shù)關(guān)系不太大,而與其他一些客觀因素有關(guān)。

首先,如果卷積神經(jīng)網(wǎng)絡(luò)的深度太淺,其識(shí)別能力往往不如一般的淺層模型,如SVM或者boosting。但如果神經(jīng)網(wǎng)絡(luò)深度過大,就需要大量數(shù)據(jù)進(jìn)行訓(xùn)練來避免過擬合。而從2006、2007年開始,恰好是互聯(lián)網(wǎng)開始大量產(chǎn)生圖片數(shù)據(jù)的時(shí)期。

其次是運(yùn)算能力。卷積神經(jīng)網(wǎng)絡(luò)對(duì)計(jì)算機(jī)的運(yùn)算要求比較高,需要大量重復(fù)可并行化的計(jì)算。在1998年CPU只有單核且運(yùn)算能力比較低的情況下,不可能進(jìn)行很深的卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練。隨著CPU計(jì)算能力的增長,卷積神經(jīng)網(wǎng)絡(luò)結(jié)合大數(shù)據(jù)的訓(xùn)練才成為可能。

總而言之,卷積神經(jīng)網(wǎng)絡(luò)的興起與近些年來技術(shù)的發(fā)展是密切相關(guān)的,而這一領(lǐng)域的革新則不斷推動(dòng)了計(jì)算機(jī)視覺的應(yīng)用與發(fā)展。

主站蜘蛛池模板: 武义县| 通河县| 开封县| 丘北县| 库车县| 平阴县| 甘南县| 长治市| 营口市| 从江县| 德兴市| 信丰县| 九龙城区| 铜梁县| 集贤县| 阿克| 五大连池市| 连云港市| 泽库县| 上虞市| 大埔县| 杂多县| 东港市| 通山县| 清远市| 柳河县| 芜湖县| 吉木萨尔县| 东乌珠穆沁旗| 平凉市| 深泽县| 宝应县| 莒南县| 嘉禾县| 垫江县| 涪陵区| 安阳县| 澄城县| 延安市| 永福县| 诏安县|