計算機視覺的深度學習之路

更多精彩內容,請關注微信公衆號:聽潮庭 ,咱們一塊兒學習。

1、概述

  • 計算機視覺概述

    • 高度複合學科:工程、計算機科學、數學、心理學、生物學算法

    • 圖像處理、機器人、神經科學、認知科學、機器學習、計算機圖形學、信息獲取、算法、硬件系統;編程

    • 兩個主要研究維度:微信

      • 語義感知(semantic):網絡

        • 分類 Classification :物體、屬性、場景等session

        • 檢測 Detection:物體、行人、人臉等併發

        • 識別 Recognition:物體:車牌,文本;人:人臉、指紋、虹膜、步態、行爲等;機器學習

        • 分割 Segmentation編程語言

        • 檢索 Retrieval:以文搜圖、以圖搜圖、圖文聯搜分佈式

        • 語言 language:圖片描述,圖片問答等;模塊化

      • 幾何屬性(Geometry):VR

        • 3D建模

        • 雙目視覺

        • 加強現實


  • 研究挑戰

    • 光照變化

    • 尺度變化

    • 形態變化

    • 背景混淆干擾

    • 遮擋

    • 類內物體的外觀差別


  • 簡介

    • 部分一:計算機視覺的基礎

      • 圖像預處理
        • 圖像顯示與存儲原理

        • 圖像加強的目標

        • 點運算:基於直方圖的對比度加強

        • 形態學處理

        • 空間域處理:卷積

        • 卷積的應用(平滑、邊緣檢測、銳化等)

        • 頻率域處理:傅里葉變換、小波變換

      • 圖像特徵及描述
        • 顏色特徵:量化顏色直方圖、聚類顏色直方圖;

        • 幾何特徵:Edge(邊緣)、Corner(角點)、Blob(斑塊)

        • 基於關鍵點的特徵描述子:SIFT、SURF、ORB;

        • 其餘特徵提取:LBP、Gabor

      • 深度學習以前的方法
        • 圖像分割
          • 基於閾值、基於邊緣

          • 基於區域、基於圖論

        • 人臉檢測
          • Haar-like特徵+級聯分類器

        • 行人檢測
          • HOG+SVM

          • DPM


    • 部分二:深度學習的理論基礎

      • BP神經網絡詳解
      • 深度學習基礎
        • 神經網絡
          1. 神經元

          2. 前饋網絡

          3. 梯度降低

          4. 偏差反向傳播

        • 深度學習
          1. 與傳統神經網絡的區別

          2. 目標函數

          3. 改進的梯度降低

          4. 避免過適應


     

    • 部分三:深度學習在計算機視覺中的應用

      • 圖像分類:卷積神經網絡CNN
        • CNN:
          1. 計算機視覺中的基礎網絡

          2. 有監督深度模型時代的起點

          3. AlexNet->VGG->GeogleNet->ResNet->ResNeXt

          4. GeogleLeNet

            • Inception V1->V2->V3->V4

            • Inception ResNet V1->V2

          5. 結構趨勢

            • 更深(Depth):8層->1000+層

            • 更寬(Width):1分支->4+分支

            • 更多基數(Cardinality):1->32

       

      • 圖像檢測:區域卷積神經網絡R-CNN
        • 讓基礎網絡具有區域輸出能力
        • 第一階段:R-CNN->SPP-Net->Fast/Faster R-CNN
        • 第二階段:YOLO->SSD->R-FCN
        • 目的:檢測更快、更準確
        • 工業應用:
          • 智能監控

          • 輔助駕駛

       

       

      • 圖像分割:全卷積神經網絡FCN
        • FCN:
          1. 讓基礎網絡作像素輸出

          2. FCN->SegNet/DeconvNet->DeepLab

          3. 反捲積/轉置卷積

        • 目的
          1. 語義推斷

          2. 分割更精確

        • 工業應用

          1. 輔助駕駛

          2. 對醫學、生物影像中的器官、組織或細胞進行分割,及判斷出影像中的每個像素點是否屬於器官、組織或細胞

            • 生物醫學領域的圖像分割:U-Net和V-Net

       

       

      • 圖像描述:迭代神經網絡RNN
        • 遞歸神經網絡RNN
          1. 具備記憶功能,構建不定長序列數據的模型

          2. Vanilla RNN->LSTM->GRU

          3. 應用範圍

            • 文本序列

            • 區域序列

            • 視頻序列

          4. 研究問題

            • 圖片描述、問答

            • 機器翻譯

       

      • 圖像生成:生成對抗網絡GAN
        • 圖片生成
          1. 樣本分佈學習

          2. 超分辨率

          3. 以圖生文

          4. 語義分割

        • 生成對抗網絡GAN
          • 網絡結構

            • 生成器網絡(Generator)

            • 判別器網絡(Discriminator)

          • 網絡改進

            • GAN->CGAN->DCGAN->wGAN

            • SRGAN

          • 應用範圍:

            • 樣本數據分佈(生成)學習

            • 有監督問題的優化

 

  • 開源庫與應用環境介紹

    • Anaconda Python 3.6

    • OpenCV 3.4+

    • TensorFlow 1.9+

    • DNN模型實踐

      1. VGG、ResNet、

      2. Faster R-CNN、YOLO

      3. DeepLab、U-NET

      4. Show-and-Tell

      5. GAN

  • 參考書

    • Python基礎教程 第二版

    • OpenCV3 計算機視覺:Python語言實現

    • TensorFlow實戰

    • 深度學習 goodfellow的花書

    • 深度學習輕鬆學 核心算法與視覺實踐

  • 環境搭建

    • Windows

      • OpenCV 3.4
      • Python 3.6+
      • TensorFlow 1.9+
      • Keras等
      • 開源庫介紹:
        • OpenCV
          1. 函數庫:計算機視覺、機器學習

          2. 優化算法2500+

          3. 編程語言:C、C++、Java、Python、Matlab

          4. 並行計算:CUDA、OpeenCL

        • Caffe:
          1. 函數庫:深度學習

          2. 發佈方:BVLC

          3. 編程語言:C++、Python

          4. 並行計算:CUDA

          5. 特點:

            • 在配置中定義模型並優化,不須要硬編碼

            • 代碼的可擴展性強

            • 運行速度很是快

        • Torch(PyTorch)
          1. 函數庫:深度學習

          2. 發佈方:Facebook

          3. 編程語言:Lua(Python)

          4. 並行計算:CUDA

          5. 特點:

            • 使用動態計算圖,提供了更快速地方法

            • 提供了運行在GPU/CPU之上、基礎的張量計算操做庫;

            • 支持共享內存的多進程併發(multiprocessing)庫

        • TensorFlow
          1. 函數庫:深度學習

          2. 發佈方:Geogle

          3. 編程語言:Python

          4. 並行計算:CUDA

          5. 特點:

            • 多級、多GPU分佈式

            • 適用於超大模型,超大數據集

            • Tensorboard將訓練過程可視化

          6. TensorFlow最簡教程

            • 使用圖graph來表示計算任務

            • 在被稱之爲會話session的上下文context中執行圖

            • 使用張量tensor表示數據

            • 經過變量variable表示數據

            • 使用feed和fetch能夠爲任意的操做賦值或者從其中獲取數據

            • 佔位符

        • Keras
          1. 函數庫:深度學習

          2. 編程語言:Python

            特點:

            • 兼容Theano和TensorFlow的深度學習高級包

            • 用戶友好,高度模塊化,易擴展性

相關文章
相關標籤/搜索