靜網PWA視頻評論

基於卷積神經網絡的圖像改進處理

2023年10月29日

- txt下載

逄博
摘 要:卷積神經網絡一直是一個非常強大的計算機視覺工具。卷積網絡對圖像分類、圖像分割和目標檢測等領域都有非常大的幫助。本文通過對卷積神經網絡和計算機視覺領域四篇前沿論文的分析,指出該領域所面臨的挑戰,以及如何通過引入新方法或通過將現有方法的融合來應對這些挑戰。通過比較,找出了這些論文各自的獨特的特點以及它們之間的共性。通過對這些前沿論文的分析,在一定程度上對卷積網絡的本質進行了探討,並提出了改進方法,在今後進行網絡設計時進一步對DNN配置進行改。
關鍵詞:卷積; 卷積神經網絡; 計算機視覺; 語義分割
中圖分類號:TN911.73           文獻標識碼:A    文章編號:1006-3315(2020)12-198-003
1.前言
自AlexNet發明以來,卷積神經網絡(convolution neural network, CNN)就已經開始在計算機視覺領域廣泛應用。雖然從今天的視角來看,AlexNet還相對粗糙,但正是AlexNet打開了卷積分層的大門。它激發了研究人員對卷積分層的巨大興趣。我們可以看到,傳統的卷積不斷發展,演化出了堆棧卷積(stacked convolution)、起始卷積(inception convolution)、擴張卷積(dilated convolution)、深部可分離卷積(depthwise separable convolution)、變形卷積(deformable convolution)等。本文選擇「用於語義分割的全卷積網絡」、「用於語義圖像分割的空洞卷積再思考」、「YOLO9000:更好、更快、更強大」和「MobileNetV2:倒殘差和線性瓶頸」四篇有關卷積網絡的前沿論文進行分析比較,探討文中對有關卷積概念和思想的闡釋,並就有關技術提出自己的看法。
2.四種卷積方法簡介
計算機視覺是機器學習和人工智慧領域最熱門的話題之一,本文所選的四篇文章是計算機視覺的最新成果,代表了四種不同的卷積方法。
2.1全卷積網絡法
論文「用於語義分割的全卷積網絡」(Fully Convolutional Networks for Semantic Segmentation)探討了卷積神經網絡在語義分割領域的應用。在此之前,已經存在補丁訓練(Patch-wise training)以及前處理和後處理等方法,但全卷積網絡(Fully Convolutional Network, FCN)為解決語義分割問題提供了一種更為有效和實用的方法。
文中提出的主要觀點就是,典型完全連接層具有固定的維度,並且擯棄了空間坐標。然而,這些完全連接層也可以被看作是包含覆蓋整個輸入區域內核的卷積,從而將其轉換成完全卷積網絡,可以接受任何規模的輸入和輸出。
本文的關鍵在於後向步幅卷積法的採用,該方法將來自下採樣過程中產生的最終層預測和中間層預測相結合,來對更為精細的細節進行預測。之所以採用這種方法,是因為雖然完全卷積化的分類器可以對分割進行微調,但是輸出仍然不夠理想。這個最終預測層的32像素步幅限制了上採樣輸出信息的詳細程度。為了解決這一問題,本文將大量的信息和高層次與低層次相結合,換句話說,將特徵的處所和特徵的內容相結合。通過融合來自不同步幅層的信息改進完全卷積網絡以改善分割細節,使分割更接近地面實際情況。
2.2空洞卷積法
論文「用於語義圖像分割的空洞卷積再思考」(Rethinking Atrous Convolution for Semantic Image Segmentation)的研究是基於第一篇文章中提出的完全卷積法,採用了空洞卷積(Atrous Convolution)來優化卷積和反卷積過程,其基本工作原理如圖1所示。簡單地說,空洞卷積指的是裡面有「空洞」的卷積核。它試圖包括有關像素的更為廣泛的信息,解決物體的多尺度問題。由於速率的不同,得到的信息尺度也不同。此外,空洞卷積解決了原始完全卷積網絡法下採樣中存在的特徵圖解析度降低和空間信息大量喪失的問題。
基於現有的空間金字塔池化(Spacing Pyramid Pooling)模型,通過採用速率不同的內核,文中提出了空洞空間金字塔池化(Atrous Spacing Pyramid Pooling, ASPP)模型。在諸如最大池化(max pooling)等傳統池化方式中,人們僅僅選擇N×N像素的最大值而丟失了其他像素的信息。ASPP利用不同卷積步幅和速率來獲取不同尺度上的信息,然後將它們連接在一起。
不同空洞速率的ASPP能有效地捕獲多尺度信息。然而,採樣率越大,有效過濾器權重的數量就越小。也就是說,當速率值接近特徵映射大小時,3×3濾波器退化為簡單的1×1濾波器。針對這一問題,論文將整體平均池化應用於模型的最後特徵圖上,將得到的圖像層面特徵饋送到具有256個濾波器的1×1卷積中,然後將特徵向上採樣到所需的空間維度,以獲得ASPP算法的優化內核組。最後,改進的ASPP的內核組由一個1×1卷積和三個3×3卷積組成,其中3×3卷積為輸出步幅=16時,速率=(6,12,18),如圖2所示。
2.3綜合卷積法
論文「YOLO9000:更好、更快、更強大」與其說嘗試提出一種全新的技術,不如說是對現有方法的整合。文中結合併使用了一些已在實踐中得到證明、可以提升計算速度或準確度的現有技術(目標檢測中的IOU)。論文從最初的YOLO到YOLOv2的發展歷程進行了綜述,指出了批歸一化(batch normalization)、高解析度分類器(high resolution classifier)、「錨箱」卷積(convolution with anchor boxes)和多尺度培訓(multi-scale training)等發展特徵。
上述修改使YOLOv2在各種情況下都不失為一個好模型。在低解析度下,YOLOv2是一種廉價、相當精確的探測器。在288×288的解析度下,其mAP幾乎和R-CNN一樣快。這使得它非常適合於更小的GPU、高幀速率視頻或多個視頻流。在高解析度下,YOLOv2是一種最先進的探測器,在VOC2007上有78.6的mAP,同時仍然以高於實時速度運行。
然而,我們不得不指出,YOLO在小目標探測方面並不是很強大。論文的作者之一曾經嘗試用YOLOv2探測野生環境中的電池和瓶子。從圖3的左邊部分可以看出,YOLO可以探測得到(雖然效果不是很好)。然而,從圖3的右邊可以得知,如果我們從另一個角度拍照,YOLO就無法對該物體進行識別。這在某種程度上反映了YOLO的弱點:對小物體的探測不是很敏感,尤其是涉及到旋轉的情況下,其探測不夠準確。這可能是由於YOLO所使用的算法的原因。YOLO只探測最後一個卷積層的輸出,然而,就小對象而言,經過層層卷積後,其信息幾乎完全丟失在該層中。
2.4深度可分卷積法
論文「MobileNetV2:倒殘差和線性瓶頸」重點探討了深度可分卷積。眾所周知,移動設備的硬體限制在很大程度上限制了神經網絡的大小。正如移動ARM SoC的運算能力與大型伺服器的運算能力不會相同一樣,伺服器和電腦上的大有前途的深層神經網絡(Deep Neural Network, DNN)在過時的iPhone上也不可能良好運轉。因此,在精度不會有太大損失的前提下,一個輕型網絡就應運而生了。DNN壓縮常用的技術有修剪、分層和霍夫曼編碼(Huffman coding)。僅僅這些有時還不夠,研究人員正試圖發明一種小型設備友好型網絡,能擁有至少與大型複雜網絡類似的精確度,這就是MobileNetV2。
在MobileNetV2中,一種稱為深度可分卷積的方法(Depthwise Separable Convolution)被用來幫助減小網絡大小。結果相當驚人:雖然與傳統的卷積層相比,深度可分離卷積層顯著減少了參數和計算量,但精度似乎並沒有受到影響。其基本思想是用將卷積分解成兩個獨立層的因式分解版來替換完全卷積層。第一層稱為深度卷積,它通過對每個輸入通道應用單個卷積濾波器來進行輕量濾波。第二層是1×1卷積,稱為點態卷積(Pointwise Convolution),負責通過計算輸入通道的線性組合來建立起新特徵。
深度可分卷積法大大減少了參數的數量以及乘法和加法的運算。粗略地來說,有效的深度可分卷積可以降低係數k2。因此,與其早期版本MobileNetV1或者著名的輕型網絡ShuffleNet相比,MobileNetV2在規模上實際上要小得多。測試表明,參數的數量雖有大幅度減少,但精確度並未有所下降。
3.卷積法比較與評價
以上四篇論文都探討了計算機視覺的分支。前兩篇論文的共同點在於,二者都試圖將我們在某個區域進行朝內和朝外「看」時所獲得信息結合起來。前者使用跨音卷積方法,將高、低層的下採樣池化結果結合起來,得到更加準確的語義分割結果;後者使用的則是不同步幅的核函數ASPP法。兩種情況都可以實現在深入卷積過程時不會丟失太多信息。具體而言,前者作為語義分割的基礎,開啟了語義分割的大門。但這並不意味著後者更為瑣碎,因為它使用了不同類型/大小的創新卷積核,在獲取不同尺度的物體信息方面做得更好。
後兩篇論文的重點不完全是關於新技術的發明。相反,它們更加注重結合和整合現有的方法改進現有模型(YOLOv1,MobileNetV2)。改進後的版本或者提高了在小型設備上的適用性,或者提高了模型可以同時探測對象的數量,換句話說,它們要麼變得更快,要麼變得更強。
四篇論文都涉及到了一些常見的計算機視覺任務,包括圖像分類、圖像檢測和語義分割等,但它們有各有自己的特點。具體說來體現在:
作為語義分割的基礎,FCN存在一些缺陷。語義分割的輪廓有點過於平滑。在上採樣過程中很多細節被丟失。總之,由於FCN的內部設計缺陷,即使使用本文提出的最優秀的FCN-8s模型,FCN也不能很好地識別細節。
在空洞卷積中,存在一些潛在問題,其中之一就是網格效應。也就是說,因為內核上「空洞」的存在,空洞內核的多層堆疊之後,可能會發現有一些像素不被內核使用,也就是說,這些信息在訓練網絡時不使用省略的像素。
YOLOv2實際上是一個非常強大的模型,但仍然存在一些缺陷,比如小目標檢測能力不足。這一缺陷直到YOLOv3出現,才得以解決。
另一個改進方向就是使它變得更快、更輕。第四篇文章提供了一種可以普遍應用於輕型設備上的網絡以減少計算量和參數的思想。實踐證明,它不會導致任何顯著信息的丟失。
深度可分卷積的有效性取決於卷積核的大小。如前所示,計算量的減少為係數k2。因此,如果我們使用像7×7這樣的大核(在VGG之後很少使用),我們可以實現大約×49的縮減。如果核的大小是3×3(現在很常見的大小),我們仍然可以實現×9的縮減。但是,假設我們正在運用一種由許多1×1核構成的完全卷積的網絡,即使沒有負面影響,這樣的深度可分卷積技術也將毫無用處。
4.結論
神經網絡的改進大致可以分為兩部分:更好更強大和更快更輕。我們所面臨的挑戰或所試圖解決的問題,都與我們希望如何改進現有模式,以便在不同環境條件或有限資源下採用更好的基礎神經網絡。上述論文中提到的改進方法總結如下:
FCN模型——更好、更強。它基於CNN最初的模式。為了找到CNN在語義分割領域的最佳方法,該模型在下採樣中應用全連接到卷積層的方法,同時提出上採樣過程,生成一種解決語義分割問題的新模型。
ASPP模式——更好、更強。它基於FCN模型,為解決FCN模型中的多尺度、解析度降低而且空間信息丟失等缺陷,提出改變內核速率的想法,即也稱為空洞卷積法。其目的是改善語義分析結果的準確性。
YOLO9000模型——更好、更強。YOLOv2是通過對像錨箱這樣的作品中提出的各種思想的應用,由YOLO發展而來。主要結合聯合優化探測法和分類訓練法,將該模型被訓練成一個對超過9000個對象類別實施實時探測的框架。相比最初的YOLO模型,該模型更強。
MobileNetV2型號——更快、更輕。它基於現有的MobileNet模型。本系列模型的目的是在移動設備上應用CNN資源有限。通過應用諸如深度可分卷積的概念,MobileNetV2模型成功將最初模型瘦身,同時又保持精確度不會下降太多。
綜上所述,特定領域的卷積網絡的改進是基於現有的模型,一旦其在這個領域的立場或修改被認可,它就會變成新的基礎。因此,卷積網絡的發展是一個不斷對現有模型進行創新和改進的過程,以在不同的語境和環境中得到更好地實現。
參考文獻:
[1]Jonathan Long, Evan Shelhamer, Trevor Darrell. 「Fully Convolutional Networks for Semantic   Segmentation」arXiv preprint(2017)
[2]Liang-Chieh Chen, George Papandreou, Florian Schroff,Hartwig Adam.「Rethinking Atrous Convolution for Semantic Image Segmentation.」arXiv preprint (2017)
[3]Redmon,Joseph,and Ali Farhadi.「YOLO9000:better,faster, stronger.」arXiv preprint (2017)
[4]Mark Sandler,Andrew Howard,Menglong Zhu,Andrey Zhmoginov,Liang-Chieh Chen. 「MobileNetV2: Inverted Residuals and Linear Bottlenecks」 arXiv preprint(2018)
[5]Han,S.,Mao,H.and Dally,W.J.,2015.Deep compression: Compressing deep neural networks with pruning, trained quantization and huffman coding. arXiv preprint arXiv:1510.00149
[6]Howard,Andrew G.,et al.「Mobilenets: Efficient convolutional neural networks for mobile vision applications.」arXiv preprint arXiv:1704.04861 (2017)

收藏

相關推薦

清純唯美圖片大全

字典網 - 試題庫 - 元問答 - 简体 - 頂部

Copyright © cnj8 All Rights Reserved.