天天看點

OpenCV之計算機視覺(導論)

OpenCV之計算機視覺(導論)

其中core、highgui、imgproc是最基礎的子產品,該課程主要是圍繞這幾個子產品展開的,分别介紹如下:

  • core子產品實作了最核心的資料結構及其基本運算,如繪圖函數、數組操作相關函數等。
  • highgui子產品實作了視訊與圖像的讀取、顯示、存儲等接口。
  • imgproc子產品實作了圖像處理的基礎方法,包括圖像濾波、圖像的幾何變換、平滑、門檻值分割、形态學處理、邊緣檢測、目标檢測、運動分析和對象跟蹤等。

對于圖像處理其他更高層次的方向及應用,OpenCV也有相關的子產品實作

  • features2d子產品用于提取圖像特征以及特征比對,nonfree子產品實作了一些專利算法,如sift特征。
  • objdetect子產品實作了一些目标檢測的功能,經典的基于Haar、LBP特征的人臉檢測,基于HOG的行人、汽車等目标檢測,分類器使用Cascade Classification(級聯分類)和Latent SVM等。
  • stitching子產品實作了圖像拼接功能。
  • FLANN子產品(Fast Library for Approximate Nearest Neighbors),包含快速近似最近鄰搜尋FLANN 和聚類Clustering算法。
  • ml子產品機器學習子產品(SVM,決策樹,Boosting等等)。
  • photo子產品包含圖像修複和圖像去噪兩部分。
  • video子產品針對視訊處理,如背景分離,前景檢測、對象跟蹤等。
  • calib3d子產品即Calibration(校準)3D,這個子產品主要是相機校準和三維重建相關的内容。包含了基本的多視角幾何算法,單個立體攝像頭标定,物體姿态估計,立體相似性算法,3D資訊的重建等等。
  • G-API子產品包含超高效的圖像處理pipeline引擎
# Windows下安裝OpenCV,指定版本号
pip install -i http://pypi.douban.com/simple --trusted-host pypi.douban.com opencv-python==3.4.2.17
    
# OpenCV貢獻庫安裝(社群維護庫)
pip install opencv-contrib-python==3.4.2.17    

# Pycharm安裝opencv失敗的解決方案:
在依賴包倉庫中添加鏡像:
https://pypi.tuna.tsinghua.edu.cn/simple/   清華大學鏡像庫
http://mirrors.aliyun.com/pypi/simple/      阿裡雲鏡像庫
http://pypi.douban.com/simple/              豆瓣鏡像庫
    
# 驗證opencv
import cv2
cv2.__version__
# 能正常顯示版本号即認為安裝成功

# 安裝多個第三方庫
pip install numpy pandas wheel jupyter notebook
           
OpenCV之計算機視覺(導論)
  • img[0,0]

    :通路圖像 img

    第0行第0列

    像素點的 BGR 值。圖像是 BGR 格式的,得到的數值為[0,0,255]。
  • img[0,0,0]

    :通路圖像 img

    第0行第0列第0個通道

    的像素值。圖像是BGR格式的,是以第0個通道是

    B通道

    ,會得到B通道内第0行第0列的位置所對應的值0。
  • img[0,0,1]

    :通路圖像 img

    第0行第0列第1個通道

    的像素值。圖像是BGR格式的,是以第1個通道是

    G通道

    ,會得到G通道内第0行第0列的位置所對應的值0。
  • img[0,0,2]

    :通路圖像img

    第0行第0列第2個通道

    的像素值。圖像是BGR格式的,是以第2個通道是

    R通道

    ,會得到R通道内第0行第0列的位置所對應的值255。
OpenCV之計算機視覺(導論)
  • 目标分類:整個圖像,輸入圖像,輸出類别。
  • 目标定位:單框框出來,不做分類。
  • 目标檢測:畫框分類
  • 目标分割
    • 語義分割:對每個像素進行分類,同類别會被分到一起。
    • 執行個體分割:不同的物體分别分類

深度學習三駕馬車

  • 算力:CPU、GPU、FPGA
  • 海量資料
  • 算法
OpenCV之計算機視覺(導論)
OpenCV之計算機視覺(導論)
OpenCV之計算機視覺(導論)
OpenCV之計算機視覺(導論)
OpenCV之計算機視覺(導論)
  • 目标檢測
    • 兩階段方法

      :提取候選框——>篩選目标,例:R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN
    • 單階段方法

      :直接檢測目标,例:YOLO、SSD、R-FCN
  • CS231n:李飛飛人工智能入門課

    http://cs231n.stanford.edu/

  • CS229:機器學習公開課
  • CS224:自然語言處理公開課
OpenCV之計算機視覺(導論)
OpenCV之計算機視覺(導論)
OpenCV之計算機視覺(導論)
  • 人體姿态檢測經典模型
    • OpenPose 卡内基梅隆大學/卷積神經網絡
    • DeepCut
    • RMPE(AlphaPose)
    • Mask RCNN
  • 邊緣計算(Edge Computing)
    • 與雲計算相比,實時,不需要先上傳雲再進行計算,本地計算。

Cut

  • RMPE(AlphaPose)
  • Mask RCNN
  • 邊緣計算(Edge Computing)
    • 與雲計算相比,實時,不需要先上傳雲再進行計算,本地計算。

繼續閱讀