1. 程式人生 > >深度學習在影象上的一些應用

深度學習在影象上的一些應用

背景

馬上就上班快半年了,畢業前一直在和工業中的資料打交道,工作中卻接觸的都是圖片,之前還有一點不太適應,不過本著資料是流動的基本思想,在圖片應用領域也能快速入門,並給公司做出了一定的貢獻。如果介紹的有什麼不對的地方請多指正,畢竟學習應用不過幾個月。

深度學習

什麼是深度學習?
在說深度學習之前,有必要說一下淺度學習,也就是人工神經網路,一般的神經網路有輸入層,隱含層,以及輸出層構成。而深度網路簡單的可以理解為有多個隱含層的網路。如圖所示:
在這裡插入圖片描述

這樣的結構有什麼用呢?
這個問題應該歸結為早期的XOR問題,早期的神經網路僅可以用一根直線把資料給分開,如果出現xor這種問題並不能解決如圖所示:
在這裡插入圖片描述


這就是從線性問題到非線性的瓶頸,而使用多層功能神經元就可以解決這個問題,具體結構可參考圖一的左邊。中間的一層就是隱含層。簡單點說,隱含層的作用就是把線性的問題給轉變為非線性的,同時也可以理解為提取資料的抽象特徵。

如果有多個隱含層,那麼就可以處理更為負責的非線性問題,同時提取出更為抽象的特徵。隨著計算能力的發展,深度網路出現了。

深度學習的過程可以與人腦學習過程進行類比:人類的認知過程是一個漸進的過程,也是一個深度結果,也是逐步進行,逐步抽象的過程。

圖片與視覺
通過上述的介紹,即可瞭解到,深度網路的是用來提取出更為抽象的特徵,網路是如何讀懂圖片的呢?是直接轉化為數字輸入進去嗎?當然,直接把圖片轉化為數字輸入到全連結的深度網路中也是可以的。但是這樣特徵的提取還是有一定的困難的。在沒有深度學習之前,人們一直使用HOG

LBPHAAR等方法進行特徵的提取,然後通過SVM, BP等分類器進行圖片的識別。

聽過深度網路的一定也聽到過CNN這樣的詞,這可不是美國的廣播電視臺。CNN最早可以追溯到1968Hubel和Wiesel的論文,這篇論文講述貓和猴的視覺皮層含有對視野的小區域單獨反應的神經元,如果眼睛沒有移動,則視覺刺激影響單個神經元的視覺空間區域被稱為其感受野(Receptive Field)。相鄰細胞具有相似和重疊的感受野。感受野大小和位置在皮層之間系統地變化,形成完整的視覺空間圖。

如果用類似與眼睛的網路結構提取圖片的特徵,預測結果會有很大的提升空間。這就不得不說深度網路裡的卷積層,卷積層不是全連結那樣嗎,他是區域性關聯的,每一個神經元可以看作是一個filter,通過對視窗做滑動運動,實現對區域性資料的計算,

在這裡插入圖片描述
接下來是池化操作,也就是取按照指定的操作降低引數數量
在這裡插入圖片描述
為什麼CNN比全連結網路更適合圖片操作呢?

  • 1 區域性感知
    區域性感知就是上述說的區域性感受野,影象卷積的時候只對一小部分影象進行操作,提取的是區域性的特徵,是區域性到整體的過程,而全連結網路是整體網路
  • 2 權值共享
    全連結的神經網路做深度的話會有非常龐大的引數,而卷積網路回根據卷積核的大小對結構進行簡化
  • 3 卷積核大小
    一個卷積核可以提取一種特徵,多個卷積組合的話會提取出不同的特徵,更有利於特徵的提取。

深度模型在影象上的應用

分類
顯然,分類的意思就是你把圖片輸入到模型中,然後模型告訴你這張圖片是什麼,不過前提是你在訓練模型的時候你已經告訴他相似的東西,比如說貓狗分類,你在大街上拍了一張照片,不曉得這是一隻小貓還是小狗,你可以直接輸入到模型中,告訴你這是什麼!
在這裡插入圖片描述

分類中常用的深度模型有:

  • inception v1-v4
  • mobilenet v1-v2
  • AlexNet
  • VGG

  • 在這裡插入圖片描述

目標檢測
目標檢測,顧明思議,就是從一張圖片中檢測到你需要的目標,相比與影象的分類來說目標檢測不僅要把圖片進行分類,知道這張圖片有需要的物體,並且還的進行定位與檢測,


對於該領域中常用的演算法有:

  • R-CNN
  • FAST R-CNN
  • YOLO

語義分割
分割,這個概念比較抽象,就是對圖片中的每一個畫素進行分類。舉個例子就清楚了:

在這裡插入圖片描述

就是對真個圖片中滅一個物體都進行分類,並用特殊的顏色進行標註,也就是生成圖片的掩膜。這個在醫學領域中進行醫療圖片的分割有很重要的作用,同時在自動駕駛上也有很重要的作用,可以將建築,行人,車輛進行分類。

常見的演算法有:

  • mask r-cnn (既可以目標檢測,也可以語義分割)
  • ICNET
  • DEEPLAB
  • UNET

風格遷移
這個在工作中並沒有用到,不過也算是一種用途吧。
列個圖就懂了:
在這裡插入圖片描述

把一張圖的風格遷移到另一種圖上

總結

下一步還的繼續深入到演算法的內部進行探索,裡一個小的flag,2019年要在工作之外產出2篇相關的論文。