天天看點

圖像處理學習筆記(python TensorFlow)1計算機視覺 Computer Vision

計算機視覺 Computer Vision

主要學習内容

1.計算機視覺的基礎

  • 資料圖像處理
  • 圖像特征及描述

2.深度學習在計算機視覺中的應用

  • 圖像分類:卷積神經網絡 CNN
  • 圖像檢測:區域卷積神經網絡 R-CNN
  • 圖像分割:全卷積神經網絡 FCN
  • 圖像描述:疊代神經網絡 RNN
  • 圖像問答:疊代神經網絡 RNN
  • 圖像生成:生成對抗網絡 GAN

3.圖像檢索

重點

  • 深度神經網絡模型
  • TensorFlow

實踐環境

  • OpenCV
  • TensorFlow (CPU/GPU)

參考書

  • Python: 《learn python the hard way》
  • OpenCV:《OpenCV 3計算機視覺:Python語言實作》
  • TensorFlow:《TensorFlow:實戰Google深度學習架構》

計算機視覺

模拟人類視覺的優越能力:

  • 識别人、物體、場景
  • 估計立體空間、距離
  • 躲避障礙物進行導航
  • 想象并描述故事
  • 了解并講解圖檔……

彌補人類視覺的缺陷:

  • 關注顯著内容、容易忽視細節
  • 不在乎、不擅長精細感覺
  • 容易受幻覺幹擾
  • 描述主觀、模棱兩可
  • 不善于長時間穩定的執行同一個任務……

1.語義感覺

  • 分類 Classification

    物體、屬性、場景等

  • 檢測 Detection

    物體、行人、人臉等

  • 識别 Recognition
    • 物體:車牌、文本
    • 人:人臉、指紋、虹膜、步态、行為等
  • 分割 Segmentation
  • 檢索 Retrieval

    以文搜圖、以圖搜圖、圖文聯搜等

  • 語言 Language

    圖檔描述、圖檔問答等

2.幾何屬性

  • 3D模組化
  • 雙目視覺
  • 增強現實

語義感覺在人工智能中是主角

視覺描述(Visual Captioning)

視覺問答(Visual Question Answering)

圖像資料處理

  • 頻域分析及變換

    傅裡葉變化(正弦餘弦波)

    小波變化(傅裡葉變化的擴充)

  • 空域分析及變換

    Sobel

    拉普拉斯

    高斯

    中值

    (通過深度卷積網絡 得到參數 不是人工設定)

  • 模闆比對,金字塔,濾波器組
  • 特征資料操作

    主成分分析 PCA

    奇異值分析 SVD

    聚類 Cluster

圖像特征及描述

  • 顔色特征
    • RGB 立體塊顔色空間 紅綠藍
    • HSV 椎體顔色空間 色調 飽和度 亮度
    • Lab 模拟人眼感覺距離
    • 直方圖
  • 幾何特征
    • Edge 邊緣
    • Corner 角
    • Blob 局部小塊
  • 紋理特征
    • HOG 行人檢測
    • LBP 人臉識别
    • Gabor 數字識别
  • 局部特征
    • SIFT
    • SURF
    • FAST

圖檔分類

卷積神經網絡 CNN

計算機視覺中的基礎網絡

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

AlexNet → VGG → GoogLeNt → ResNet → ResNeXt

結構趨勢:

更深 Depth

更寬 Width

更多基數 Cardinality

AlexNet卷及網絡

圖像處理學習筆記(python TensorFlow)1計算機視覺 Computer Vision

檢測

物體檢測

人臉檢測

行人檢測

區域卷積神經網絡R-CNN

讓基礎網絡具備區域輸出能力

第一階段:

R-CNN → SPP-Net → Fast/Faster R-CNN

第二階段:

加粗樣式YOLO → SSD → R-FCN

目的

檢測更快、更準确

工業應用

智能監控、輔助駕駛

R-CNN

卷積層計算共享

圖像處理學習筆記(python TensorFlow)1計算機視覺 Computer Vision

圖檔分割

前景分割

語義分割

全卷積神經網絡FCN

讓基礎網絡做像素輸出

FCN → SegNet/DeconvNet → DeepLab

目的

語義推斷

分割更精确

工業應用

輔助駕駛

全卷積網絡FCN

反卷積/轉置卷積

圖像處理學習筆記(python TensorFlow)1計算機視覺 Computer Vision

識别

人臉識别

字元識别

車牌識别

行為識别

步态識别

視覺和語言

圖檔描述

圖檔問答

遞歸神經網絡RNN

具有記憶功能,建構不定長序列資料的模型

Vanilla RNN → LSTM → GRU

應用範圍

文本序列

區域序列

視訊序列

研究問題

圖檔描述、問答

機器翻譯

CNN+LSTM

圖像處理學習筆記(python TensorFlow)1計算機視覺 Computer Vision

圖檔生成

樣本分布學習

超分辨率

以圖生文

語義分割

生成對抗網絡GAN

網絡結構

生成器網絡(Generator)

判别器網絡(Discriminator)

網絡路線

無監督:GAN → DCGAN → wGAN

有監督:SRGAN、SalGAN、RLA

應用範圍

樣本資料分布(生成)學習

半監督問題的資料增強

有監督問題的優化(Dynamic loss)

超分辨SRGAN網絡

圖像處理學習筆記(python TensorFlow)1計算機視覺 Computer Vision

圖檔檢索

相似圖檔

DNN網絡的綜合應用

圖檔預處理

顯著性檢測、區域分割

圖檔特征提取

手工設計、CNN類網絡層特征抽取

索引建構

局部敏感性哈希(LSH)

特征相似度計算

特征向量的距離計算

相似度搜尋

相似具體排序

視覺文本雙向編碼網絡

圖像處理學習筆記(python TensorFlow)1計算機視覺 Computer Vision

研究挑戰

  • 視角變化
  • 光照變化
  • 尺度變化
  • 形态變化
  • 背景混淆幹擾
  • 遮擋
  • 類内物體的外觀差異

開源庫介紹

OpenCV

計算機視覺 機器學習

Caffe

深度學習 CNN上用的較多

Theano

深度學習

Torch(PyTorch)

深度學習 Facebook

Tensorflow

深度學習 多機多GPU分布式

Tensorboard

深度學習庫對比

圖像處理學習筆記(python TensorFlow)1計算機視覺 Computer Vision

DNN模型實踐

  • 分類 ResNet 殘差網絡
  • 物體檢測 Faster R-CNN
  • 語義分割 DeepLab
  • 看圖說話 Show-and-Tell
  • 視覺問答 VQA
  • 生成式對抗網絡 SRGAN

繼續閱讀