編者按:計算機視覺(ComputerVision,CV)是一門綜合性的學(xué)科,是極富挑戰(zhàn)性的重要研究領(lǐng)域,目前已經(jīng)吸引了來自各個學(xué)科的研究者參加到對它的研究之中。
本文中,百分點感知智能實驗室梳理了計算機視覺技術(shù)基本原理和發(fā)展歷程,針對其當(dāng)前主要的研究方向及落地應(yīng)用情況進(jìn)行了深入剖析,并分享了百分點科技在該領(lǐng)域的技術(shù)研究和實踐成果。
一、概覽
計算機視覺(ComputerVision,CV)是人工智能的一個領(lǐng)域,它與語音識別、自然語言處理共同成為人工智能最重要的三個核心領(lǐng)域也是應(yīng)用最廣泛的三個領(lǐng)域。計算機視覺使計算機和系統(tǒng)能夠從數(shù)字圖像、視頻和其他視覺輸入中獲取有意義的信息,并根據(jù)這些信息采取行動或提出建議。如果人工智能使計算機能夠思考,那么計算機視覺使它們能夠看到、觀察和理解。
計算機視覺的工作原理與人類視覺大致相同,只是人類具有領(lǐng)先優(yōu)勢。人類視覺具有上下文生命周期的優(yōu)勢,可以訓(xùn)練如何區(qū)分對象,判斷它們有多遠(yuǎn)、它們是否在移動,以及圖像中是否有問題等情況。計算機視覺訓(xùn)練機器執(zhí)行這些功能,不是通過視網(wǎng)膜、視神經(jīng)和視覺皮層,而是用相機、數(shù)據(jù)和算法,能夠在更短的時間內(nèi)完成。因為經(jīng)過培訓(xùn)以檢查產(chǎn)品或觀察生產(chǎn)資產(chǎn)的系統(tǒng)可以在一分鐘內(nèi)分析數(shù)千個產(chǎn)品或流程,發(fā)現(xiàn)不易察覺的缺陷或問題,所以它可以迅速超越人類的能力。
1.計算機視覺工作原理
計算機視覺需要大量數(shù)據(jù),它一遍又一遍地運行數(shù)據(jù)分析,直到辨別出區(qū)別并最終識別出圖像。例如,要訓(xùn)練計算機識別咖啡杯,需要輸入大量咖啡杯圖像和類似咖啡杯的圖像來學(xué)習(xí)差異并識別咖啡杯?,F(xiàn)在一般使用深度學(xué)習(xí)中的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)來完成這一點,也就是說最新的科研方向和應(yīng)用落地絕大多數(shù)都是基于深度學(xué)習(xí)的計算機視覺。
CNN 通過將圖像分解為具有標(biāo)簽或標(biāo)簽的像素來幫助機器學(xué)習(xí)或深度學(xué)習(xí)模型“觀察”,使用標(biāo)簽來執(zhí)行卷積(對兩個函數(shù)進(jìn)行數(shù)學(xué)運算以產(chǎn)生第三個函數(shù))并對其“看到”的內(nèi)容進(jìn)行預(yù)測。神經(jīng)網(wǎng)絡(luò)運行卷積并在一系列迭代中檢查其預(yù)測的準(zhǔn)確性,直到預(yù)測開始成真,然后以類似于人類的方式識別或查看圖像。就像人類在遠(yuǎn)處觀察圖像一樣,CNN 首先識別硬邊緣和簡單形狀,然后在運行其預(yù)測的迭代時填充信息。
2. 計算機視覺發(fā)展歷程
60多年來,科學(xué)家和工程師一直在努力開發(fā)讓機器查看和理解視覺數(shù)據(jù)的方法。實驗始于1959年,當(dāng)時神經(jīng)生理學(xué)家向一只貓展示了一系列圖像,試圖將其大腦中的反應(yīng)聯(lián)系起來。他們發(fā)現(xiàn)它首先對硬邊或線條做出反應(yīng),從科學(xué)上講,這意味著圖像處理從簡單的形狀開始,比如直邊。
大約在同一時期,第一個計算機圖像掃描技術(shù)被開發(fā)出來,使計算機能夠數(shù)字化和獲取圖像。1963年達(dá)到了另一個里程碑,當(dāng)時計算機能夠?qū)⒍S圖像轉(zhuǎn)換為三維形式。在1960年代,人工智能作為一個學(xué)術(shù)研究領(lǐng)域出現(xiàn),這也標(biāo)志著人工智能尋求解決人類視覺問題的開始。
1974年引入了光學(xué)字符識別 (OCR) 技術(shù),該技術(shù)可以識別以任何字體或字樣打印的文本。同樣,智能字符識別 (ICR) 可以使用神經(jīng)網(wǎng)絡(luò)破譯手寫文本。此后,OCR和ICR 進(jìn)入文檔和發(fā)票處理、車牌識別、移動支付、機器翻譯等常見應(yīng)用領(lǐng)域。
1982年,神經(jīng)科學(xué)家David Marr確定視覺是分層工作的,并引入了機器檢測邊緣、角落、曲線和類似基本形狀的算法。與此同時,計算機科學(xué)家Kunihiko Fukushima 開發(fā)了一個可以識別模式的細(xì)胞網(wǎng)絡(luò)。該網(wǎng)絡(luò)稱為Neocognitron,在神經(jīng)網(wǎng)絡(luò)中包含卷積層。
到2000年,研究的重點是物體識別,到2001年,第一個實時人臉識別應(yīng)用出現(xiàn)。視覺數(shù)據(jù)集如何標(biāo)記和注釋的標(biāo)準(zhǔn)化出現(xiàn)在2000年代。2010年,李飛飛所帶領(lǐng)的團隊為了提供一個非常全面、準(zhǔn)確且標(biāo)準(zhǔn)化的可用于視覺對象識別的數(shù)據(jù)集創(chuàng)造出了ImageNet。它包含跨越一千個對象類別的數(shù)百萬個標(biāo)記圖像,并以此數(shù)據(jù)集為基礎(chǔ)每年舉辦一次軟件比賽,即ImageNet大規(guī)模視覺識別挑戰(zhàn)賽(ILSVRC),為當(dāng)今使用的 CNN 和深度學(xué)習(xí)模型奠定了基礎(chǔ)。2012 年,多倫多大學(xué)的一個團隊將 CNN 輸入到圖像識別競賽中。該模型稱為 AlexNet,它是由Yann LeCun于1994年提出的Lenet-5衍變而來,顯著降低了圖像識別的錯誤率第二名TOP-5錯誤率為26.2%(沒有使用卷積神經(jīng)網(wǎng)絡(luò)),AlexNet獲得冠軍TOP-5錯誤率為15.3%。在這一突破之后,錯誤率下降到只有幾個百分點(到2015年分類任務(wù)錯誤率只有3.6%)。
二、計算機視覺主要研究方向
人類應(yīng)用計算機視覺解決的最重要的問題是圖像分類、目標(biāo)檢測和圖像分割,按難度遞增,其中圖像分割主要包含了語義分割、實例分割、全景分割。
其中圖像分類和目標(biāo)檢測也是很多計算機視覺任務(wù)背后的基礎(chǔ),接下來將簡單地說明一下它們的運行原理。
(1)圖像分類運行原理
圖像分類的實現(xiàn)主要依靠基于深度學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)。卷積神經(jīng)網(wǎng)絡(luò)是一類包含卷積計算且具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò)(Feedforward Neural Networks,FNN),是深度學(xué)習(xí)的代表算法之一 。卷積神經(jīng)網(wǎng)絡(luò)具有表征學(xué)習(xí)(Representationlearning)能力,能夠按其階層結(jié)構(gòu)對輸入信息進(jìn)行平移不變分類(Shift-invariantclassification),因此也被稱為“平移不變?nèi)斯ど窠?jīng)網(wǎng)絡(luò)(Shift-Invariant Artificial Neural Networks, SIANN)” 。
那么人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks,ANN)又是什么呢,它是一種模仿生物神經(jīng)網(wǎng)絡(luò)(動物的中樞神經(jīng)系統(tǒng),特別是大腦)結(jié)構(gòu)和功能的教學(xué)模型或計算模型,用于對函數(shù)進(jìn)行估計或近似
人工神經(jīng)網(wǎng)絡(luò)由大量的人工神經(jīng)元聯(lián)結(jié)進(jìn)行計算,大多數(shù)情況下人工神經(jīng)網(wǎng)絡(luò)能在外界信息的基礎(chǔ)上改變內(nèi)部結(jié)構(gòu),是一種自適應(yīng)系統(tǒng)。
典型的人工神經(jīng)網(wǎng)絡(luò)具有以下三個部分:
網(wǎng)絡(luò)結(jié)構(gòu):定義了網(wǎng)絡(luò)中的變量和它們的拓?fù)潢P(guān)系;
激活函數(shù):定義了神經(jīng)元如何根據(jù)其他神經(jīng)元的活動來改變自己的激勵值;
學(xué)習(xí)規(guī)則:定義了網(wǎng)絡(luò)中的權(quán)重如何隨著時間推進(jìn)而調(diào)整。
輸入層
接收的是圖像的三維數(shù)組,數(shù)組的形狀大小為圖像寬度、圖像高度、圖層數(shù),數(shù)組的值為每一個圖像通道逐個像素點的像素值。
隱藏層主要包括卷積層、池化層和全連接層
卷積層(Convolutional Layer)的功能是對輸入數(shù)據(jù)進(jìn)行特征提取,其內(nèi)部包含多個卷積核,組成卷積核的每個元素都對應(yīng)一個權(quán)重系數(shù)和一個偏差量,類似于一個前饋神經(jīng)網(wǎng)絡(luò)的神經(jīng)元。卷積層內(nèi)每個神經(jīng)元都與前一層中位置接近的區(qū)域的多個神經(jīng)元相連,區(qū)域的大小取決于卷積核的大小,也稱作感受野,其含義可類比視覺皮層細(xì)胞的感受野。卷積核在工作時,會有規(guī)律地掃過輸入特征,在感受野內(nèi)對輸入特征做矩陣元素乘法求和并疊加偏差量。卷積層還包括卷積參數(shù)和激勵函數(shù),使用不同的參數(shù)或函數(shù),可以用來調(diào)節(jié)卷積層卷積后獲得的結(jié)果。
在卷積層進(jìn)行特征提取后,輸出的特征圖會被傳遞至池化層(Pooling Layer)進(jìn)行特征選擇和信息過濾。池化層包含預(yù)設(shè)定的池化函數(shù),其功能是將特征圖中單個點的結(jié)果替換為其相鄰區(qū)域的特征圖統(tǒng)計量,可降低圖像參數(shù),加快計算,防止過擬合。
卷積神經(jīng)網(wǎng)絡(luò)中的全連接層(Fully-connected Layer)等價于傳統(tǒng)前饋神經(jīng)網(wǎng)絡(luò)中的隱含層。全連接層位于卷積神經(jīng)網(wǎng)絡(luò)隱含層的最后部分,并只向其他全連接層傳遞信號。特征圖在全連接層中會失去空間拓?fù)浣Y(jié)構(gòu),被展開為向量并通過激勵函數(shù)。在一些卷積神經(jīng)網(wǎng)絡(luò)中,全連接層的功能可由全局均值池化(Global Average Pooling)取代,全局均值池化會將特征圖每個通道的所有值取平均,可降低計算量,加快運行速度,防止過擬合。
輸出層
卷積神經(jīng)網(wǎng)絡(luò)中輸出層的上游通常是全連接層,因此其結(jié)構(gòu)和工作原理與傳統(tǒng)前饋神經(jīng)網(wǎng)絡(luò)中的輸出層相同。對于圖像分類問題,輸出層使用邏輯函數(shù)或歸一化指數(shù)函數(shù)(Softmax Function)輸出分類標(biāo)簽。
三、計算機視覺前沿技術(shù)
隨著計算機視覺技術(shù)的不斷發(fā)展,除了圖像分類,目標(biāo)檢測,圖像分割等主要方向外還有很多新的技術(shù)不斷產(chǎn)生,生成式對抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)就是其中一個非常有代表性的技術(shù)。
GAN是一種深度學(xué)習(xí)模型。模型通過框架中(至少)兩個模塊:生成模型(Generative Model)和判別模型(Discriminative Model)的互相博弈學(xué)習(xí)產(chǎn)生相當(dāng)好的輸出。原始 GAN 理論中,并不要求 G 和 D 都是神經(jīng)網(wǎng)絡(luò),只需要是能擬合相應(yīng)生成和判別的函數(shù)即可。但實用中一般均使用深度神經(jīng)網(wǎng)絡(luò)作為 G 和 D 。一個優(yōu)秀的GAN應(yīng)用需要有良好的訓(xùn)練方法,否則可能由于神經(jīng)網(wǎng)絡(luò)模型的自由性而導(dǎo)致輸出不理想。
GAN的基本原理其實非常簡單,這里以生成圖片為例進(jìn)行說明。假設(shè)我們有兩個網(wǎng)絡(luò),G(Generator)和D(Discriminator)。正如它的名字,它們的功能分別是:
G是一個生成圖片的網(wǎng)絡(luò),它接收一個隨機的噪聲z,通過這個噪聲生成圖片,記做G(z)。
D是一個判別網(wǎng)絡(luò),判別一張圖片是不是“真實的”。它的輸入?yún)?shù)是x,x代表一張圖片,輸出D(x)代表x為真實圖片的概率,如果為1,就代表100%是真實的圖片,而輸出為0,就代表不可能是真實的圖片。
在訓(xùn)練過程中,生成網(wǎng)絡(luò)G的目標(biāo)就是盡量生成真實的圖片去欺騙判別網(wǎng)絡(luò)D。而D的目標(biāo)就是盡量把G生成的圖片和真實的圖片分別開來。這樣,G和D構(gòu)成了一個動態(tài)的“博弈過程”。
最后博弈的結(jié)果是什么?在最理想的狀態(tài)下,G可以生成足以“以假亂真”的圖片G(z)。對于D來說,它難以判定G生成的圖片究竟是不是真實的,因此D(G(z)) = 0.5。
這樣我們的目的就達(dá)成了:我們得到了一個生成式的模型G,它可以用來生成圖片。
四、計算機視覺落地應(yīng)用
計算機視覺的應(yīng)用范圍與規(guī)模是目前人工智能應(yīng)用中最為廣泛與普遍的,且早已深入日常生活與工作的多方面,典型的應(yīng)用如生物特征識別中的人臉識別。
人臉識別已經(jīng)廣泛應(yīng)用在人證比對、身份核驗、人臉支付、安防管控等各個領(lǐng)域。
這是一個典型的人臉識別示例,通過人臉識別技術(shù)檢測到圖像中的人臉位置并識別出每個人臉是誰。
現(xiàn)在主流的人臉識別技術(shù)多使用黃種人和白種人的面部特征進(jìn)行模型開發(fā)和訓(xùn)練,并且樣本中的光照條件良好,因此可以從圖片中較好的識別和分析黃種人和白種人的人臉,但是,由于深膚色(如黑人)人臉圖像的紋理特征較不明顯,并且反光較強,因此現(xiàn)有的人臉識別方法對深膚色人臉的識別和分析存在缺陷,尤其無法應(yīng)對中偏重黑人人臉光照不佳的情況,不能在視頻和照片中很好的識別和分析深膚色人臉,也就是說,現(xiàn)有的人臉識別方法很難對深膚色人臉的特征進(jìn)行有效分析和提取,從而導(dǎo)致對深膚色人臉的識別準(zhǔn)確率較低。
百分點科技采用了創(chuàng)新的方法,如增加拉普拉斯變換融合到圖像圖層等,采用基于深度學(xué)習(xí)的圖像識別技術(shù)較好地解決了深膚色人種人臉識別的問題。具體主要流程如下:
(1)人臉檢測
人臉檢測和關(guān)鍵點檢測步驟采用了級聯(lián)結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò),可以適應(yīng)環(huán)境變化和人臉不全等問題,且具有較快的檢測速度。
該方法規(guī)避了傳統(tǒng)方法劣勢的同時,兼具時間和性能兩個優(yōu)勢。一張圖片中絕大部分區(qū)域容易區(qū)分出為非人臉區(qū)域,只有少部分區(qū)域包含人臉和難以區(qū)分的非人臉區(qū)域。為加快檢測速度,我們設(shè)計使用三級分類器,使得性能逐級提高。
一般算法中只包含一個回歸器,如果候選框與真實人臉框相差較大,則無法進(jìn)行有效的回歸。我們使用多級回歸器,每一級回歸器皆可讓結(jié)構(gòu)更接近真實人臉框,在多級回歸后結(jié)果更準(zhǔn)確。
為實現(xiàn)對人臉/非人臉分類、人臉框回歸、人臉關(guān)鍵點回歸等預(yù)測,我們設(shè)計出基于多任務(wù)的深度學(xué)習(xí)模型。多任務(wù)學(xué)習(xí)提升了各個子任務(wù)的性能,達(dá)到一加一大于二的效果。在實現(xiàn)多任務(wù)共享深度學(xué)習(xí)模型參數(shù)的同時,較大地減少模型運算量,大幅提高人臉檢測速度。
(2)人臉識別
特征提取步驟采用了深層次的殘差卷積神經(jīng)網(wǎng)絡(luò),且具有優(yōu)化的損失函數(shù),對比傳統(tǒng)方法可以更快更好的提取人臉特征,增加類間距,減少類內(nèi)距,獲得更好的人臉識別效果。
該技術(shù)是在殘差卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,增加了更多的 Shortcut 網(wǎng)絡(luò)連接與Highway 卷積層連接,保證了特征生成網(wǎng)絡(luò)中能夠兼具挖掘出人臉樣本圖像中的淺層與深層紋理特征,并將多重紋理特征進(jìn)行組合,生成可分性更強的人臉特征,增強人臉識別準(zhǔn)確率。同時在特征生成網(wǎng)絡(luò)中加入了多尺度融合機制,在卷積層中加入多尺度視覺感受,保證了同一人在多方位圖片中的人臉特征空間距離接近,有效提升同一分類的圖像產(chǎn)生更好的聚類,進(jìn)而提高人臉識別準(zhǔn)確率。
針對不同膚色人種的人臉識別,尤其是深膚色人種,我們使用提取紋理通過對原始人臉圖像進(jìn)行拉普拉斯變換后得到的變換人臉圖像描述人臉圖像中的紋理強度,因此,由該原始人臉圖像及該變換人臉圖像進(jìn)行拼接后得到的該四通道人臉圖像,相比較于該原始人臉圖像來說人臉紋理特征較明顯,這樣在基于深膚色人臉的該四通道人臉圖像進(jìn)行特征提取時,可以更高效地獲取到人臉圖像的紋理特征,進(jìn)而可以提高對深膚色人臉識別的準(zhǔn)確率。
總結(jié)
如今,計算機視覺已經(jīng)廣泛應(yīng)用于人們?nèi)粘I畹谋姸鄨鼍爸?。隨著深度學(xué)習(xí)的飛速發(fā)展,計算機視覺融合了圖像分類、目標(biāo)檢測、圖像分割等技術(shù),已在工業(yè)視覺檢測、醫(yī)療影像分析、自動駕駛等多個領(lǐng)域落地應(yīng)用,為各行各業(yè)捕捉和分析更多信息。
百分點科技在計算機視覺領(lǐng)域有著一定的研究和技術(shù)積累,并在人臉識別、文字識別、圖像及視頻智能分析等方面已經(jīng)取得了不錯的成績,目前已在智慧園區(qū)、公共區(qū)域重點人員預(yù)警、車輛軌跡分析、河流水域智能監(jiān)控、智能視頻分析等多個場景中落地應(yīng)用。未來,我們將加大力度,繼續(xù)深入研究,進(jìn)一步推動計算機視覺技術(shù)的發(fā)展,更好地為客戶提供服務(wù)。
(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進(jìn)一步核實,并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應(yīng)及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實,溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )