機(jī)器視覺技術(shù):探索與發(fā)展
視覺,乃是人類最為敏銳且直接的感知途徑。在無需實際接觸的狀況下,視覺感知能夠幫助我們獲取周邊環(huán)境的大量信息。然而,由于生物視覺系統(tǒng)極其復(fù)雜,當(dāng)下尚無法讓某一機(jī)器系統(tǒng)全然具備如此強(qiáng)大的視覺感知能力。
目前,機(jī)器視覺的目標(biāo)在于構(gòu)建一個能在可控環(huán)境中處理特定任務(wù)的系統(tǒng)。鑒于工業(yè)中的視覺環(huán)境易于控制,且處理任務(wù)明確,所以現(xiàn)階段多數(shù)機(jī)器視覺技術(shù)被應(yīng)用于工業(yè)領(lǐng)域。
人類的視覺感知是通過眼睛視網(wǎng)膜的椎體和桿狀細(xì)胞捕捉光源,再由神經(jīng)纖維將信號傳至大腦視覺皮層,從而形成所見圖像,但機(jī)器視覺則有所不同。
機(jī)器視覺系統(tǒng)的輸入為圖像,輸出則是對這些圖像的感知描述。此描述與圖像中的物體或場景緊密相關(guān),并且能夠助力機(jī)器完成特定的后續(xù)任務(wù),引導(dǎo)機(jī)器人系統(tǒng)與周圍環(huán)境進(jìn)行交互。
那么,截至目前,主流的機(jī)器視覺技術(shù)究竟有哪些呢?
一、中流砥柱:卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)是當(dāng)下計算機(jī)視覺中運用最為廣泛的模型結(jié)構(gòu)。
引入卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取,既能獲取相鄰像素點之間的特征模式,又能確保參數(shù)數(shù)量不隨圖片尺寸改變。上圖展示的是一個典型的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu),多層卷積和池化層共同作用于輸入圖片,網(wǎng)絡(luò)末端通常會加入一系列全連接層,ReLU 激活函數(shù)一般添加在卷積或者全連接層的輸出位置,網(wǎng)絡(luò)中還常常會引入 Dropout 以防止過擬合。
自 2012 年 AlexNet 在 ImageNet 比賽中奪冠以來,卷積神經(jīng)網(wǎng)絡(luò)逐漸取代傳統(tǒng)算法,成為處理計算機(jī)視覺任務(wù)的核心。
在近些年來,研究人員從提升特征提取能力、優(yōu)化回傳梯度更新效果、縮短訓(xùn)練時長、可視化內(nèi)部結(jié)構(gòu)、減少網(wǎng)絡(luò)參數(shù)量、實現(xiàn)模型輕量化、自動設(shè)計網(wǎng)絡(luò)結(jié)構(gòu)等方面,對卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)做出了重大改進(jìn),相繼研發(fā)出了 AlexNet、ZFNet、VGG、NIN、GoogLeNet 和 Inception 系列、ResNet、WRN 和 DenseNet 等一系列經(jīng)典模型,以及 MobileNet 系列、ShuffleNet 系列、SqueezeNet 和 Xception 等輕量化模型。
01 經(jīng)典模型 (AlexNet)
AlexNet 是首個深度神經(jīng)網(wǎng)絡(luò),其主要特性包括:
采用 ReLU 作為激活函數(shù);
提出在全連接層運用 Dropout 以避免過擬合。需注意的是,當(dāng) BN 出現(xiàn)后,Dropout 便被 BN 所取代;
由于 GPU 顯存有限,使用了兩個 GPU,方法是在通道上進(jìn)行分組;
運用局部響應(yīng)歸一化(Local Response Normalization --LRN),這是因為在生物中存在側(cè)抑制現(xiàn)象,即被激活的神經(jīng)元會抑制周邊的神經(jīng)元。其目的在于讓局部響應(yīng)值較大的變得更大,并抑制其他響應(yīng)值相對較小的卷積核。例如,某特征在這一個卷積核中響應(yīng)值較大,那么在其他相鄰卷積核中響應(yīng)值會受到抑制,如此一來卷積核之間的相關(guān)性就會減小。LRN 與 ReLU 相結(jié)合,使得模型的性能提高了一點多個百分點;
使用重疊池化。作者認(rèn)為采用重疊池化能夠豐富特征,且相對來說更不易過擬合。
02 集大成之作 (ResNet)
通常情況下,網(wǎng)絡(luò)越深越寬,其特征提取能力就越強(qiáng),但當(dāng)網(wǎng)絡(luò)達(dá)到一定層數(shù)后,隨著層數(shù)的增加,準(zhǔn)確率反而會下降,網(wǎng)絡(luò)收斂速度也會變慢。
傳統(tǒng)的卷積網(wǎng)絡(luò)在一個前向過程中每層僅有一個連接,ResNet 增添了殘差連接,從而增強(qiáng)了信息從一層到下一層的流動。FractalNets 重復(fù)組合幾個具有不同卷積塊數(shù)量的并行層序列,增加名義上的深度,卻保持著網(wǎng)絡(luò)前向傳播較短的路徑。
類似的操作還有 Stochastic depth 和 Highway Networks 等。這些模型都呈現(xiàn)出一個共同特征,即縮短前面層與后面層的路徑,其主要目的均是為了增進(jìn)不同層之間的信息流動。
二、 后起之秀:Transformers
Transformer 是一種自注意力模型架構(gòu)。
自 2017 年起,其在自然語言處理(NLP)領(lǐng)域大獲成功,特別是在序列到序列(seq2seq)任務(wù)方面,例如機(jī)器翻譯和文本生成。2020 年,谷歌提出 pure transformer 結(jié)構(gòu) ViT ,在 ImageNet 分類任務(wù)中取得了與 CNN 相當(dāng)?shù)男阅?。此后,大量?ViT 衍生的 Transformer 架構(gòu)在 ImageNet 上都取得了成功。
與 CNN 相比,Transformer 的優(yōu)點在于具有較少的歸納性與先驗性,因而能夠被視作不同學(xué)習(xí)任務(wù)的通用計算原語,其參數(shù)效率與性能增益與 CNN 相當(dāng)。但其缺點是在預(yù)訓(xùn)練期間,對大數(shù)據(jù)機(jī)制的依賴性更強(qiáng),因為 Transformer 不像 CNN 那樣有著明確的歸納先驗。正因如此,當(dāng)下出現(xiàn)了一個新的趨勢:當(dāng)自注意力與 CNN 相結(jié)合時,它們能夠構(gòu)建強(qiáng)大的基線(BoTNet)。
Vision Transformer(ViT)將純 Transformer 架構(gòu)直接應(yīng)用于一系列圖像塊以執(zhí)行分類任務(wù),能夠獲得出色的結(jié)果。它在眾多圖像分類任務(wù)中的表現(xiàn)也優(yōu)于最先進(jìn)的卷積網(wǎng)絡(luò),同時所需的預(yù)訓(xùn)練計算資源大幅減少。
DETR 是首個成功地將 Transformer 作為流水線中的主要構(gòu)建模塊的目標(biāo)檢測框架。它與之前的最先進(jìn)方法(高度優(yōu)化的 Faster R-CNN)的性能相匹配,具有更簡單和更靈活的流水線。
Transformer 的變體模型目前是研究的熱點,主要分為以下幾種類型:
模型輕量化
強(qiáng)化跨模塊連接
自適應(yīng)的計算時間
引入分而治之的策略
循環(huán) Transformers
等級化的 Transformer
三、 欺騙機(jī)器的眼睛——對抗性展示
近期引起研究領(lǐng)域關(guān)注的一個問題是這些系統(tǒng)對對抗樣本的敏感性。
一個對抗性的例子是一張嘈雜的圖像,旨在誤導(dǎo)系統(tǒng)做出錯誤的預(yù)測。為了在現(xiàn)實世界中部署這些系統(tǒng),它們必須能夠檢測到這類示例。為此,近期的工作探究了通過在訓(xùn)練過程中納入對抗性示例來使這些系統(tǒng)更能抵御對抗性攻擊的可能性。
現(xiàn)階段對模型攻擊的分類主要分為兩大類,即攻擊訓(xùn)練階段和推理階段。
01 訓(xùn)練階段的攻擊