Post on 14-Jan-2016
description
OpenCV
環境設定– 與 Visual Studio 2010 C++ express 整合– 電腦視覺資料庫– OpenCV
更多簡單的範例– 讀圖 & 高斯模糊– 開啟攝影機OpenCV 專案– 影像差異– 歷史移動影像– 背景相減– 人臉偵測
關於OpenCV
OpenCV (開放原始碼之電腦視覺)主要是針對在及時計算機視覺庫的一種編程功能。– 人機介面 (HCI)– 物體識別– 切割辨識– 人臉辨識– 手勢辨識– 移動偵測– 動作認知– 場景重構 (Structure From Motion)– 立體聲和多台攝影機校準及深度計算– 移動機器人 .
HI!OpenCV
從英特爾 1999 年發展 OpenCV 以來,現正在積極發展中,目前正持續由 Willow Garage支援 .
目前最新的版本為 2.4.3 (October, 2012)所有的原始碼是用 C 語言編寫,並支援以下語
言 :– C, C++– Python
跨平台 : Windows, xNIX, MacOS etc…超過 2500 個函式
OpenCV 歷史• 動機起源於讓電腦視覺有更低的門檻,並充分利
用 Intel 處理器的運算效能• Timeline:
Gary Bradski (c) 2008Gary Bradski, 2009
哪裡用到OpenCV?
Google Maps, Google street view, Google Earth, Books
學術界和工業界研究安全監控安全系統圖像檢索影像搜尋電影中的運動結構機器人
OpenCV Overview: 通用圖像函式
機器學習• 偵測 辨認
切割
追蹤
矩陣數學
工具和資料結構
Fitting
影像金字塔
攝影機校準
轉換特徵擷取
生物特徵
Robot support
opencv.willowgarage.com> 2500 functions
OpenCV Structure
CVImage ProcessingandVision Algorithms
HighGUIGUI,Image andVideo I/O
MLLStatistical ClassifiersandClustering Tools
CXCOREbasic structures and algorithms,XML support, drawing functions
IPPFast architecture-specific low-level functions
10Gary Bradski, 2009 10
AuxExperimental or less used routines
存取像素http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/opencv-intro.html#SECTION00053000000000000000
優點及缺點優點 :– 計算簡單快速– 此法對於環境的改變適應性佳缺點 :– 但是偵測出的移動物件常常會發生內部破碎的
情形– 移動物件的形狀較不完整,對於後續的移動物
件追蹤與辨識將無法提供完整的資訊
介紹純粹的影格差異雖然計算快,但是移動物體
內部都破碎使用背景相減,是先將要偵測的背景設為參
考影像速度一樣快– 但萬一背景改變,無法彈性調整使用 Mixture Background Modeling ,
將背景建立可適性模型,彈性變化背景– 速度慢– 但背景改變後,仍然可以使用
背景相減無論第幾張影格,皆減去第一張是先建好的
參考影格,不一樣的地方即是前景 ( 動作 )
相減時,究竟要相差多少才算動作–MOVEMENT_THRESHOLD – 30– 改變看看有什麼不一樣
Please refer to our solution -- BackgroundSubtraction
混合高斯背景模型// initialize MoG parametersint totalGaussian = 5; 想模擬的分布數量
int maxGaussian = 5;找尋前景時,只找前 maxGaussian 個依weight大小排序後的分布
float stdDeviationInit = 6;預設的標準差
float stdDeviationThreshold = 3.0;判斷前景的標準 ( 多少倍標準差之外 )
float weightThreshold = 0.25;找尋前景時,只找 weight 高於此標準的分布
float alpha = 0.01;背景學習率,愈大背景改變愈快,愈小愈有容忍度。
混合高斯背景模型Please try our solution –
GaussianBackgroundModel目前 totalGaussian, maxGaussian 一
定要一樣–嘗試實作將分布排序,然後可以設定只考慮依
weight排序後的前 maxGaussian 個分布
範例–請參照原始碼–motempl.c– Or our solution in MotionHistoryImage– 一些變數–MHI_DURATION – 想要追蹤的時間長度
(secs)– N – 想要計算 motion detection 的 Frame
buffer長度 (frames)
Challenge -- 嘗試將 gradient 圖標記拿掉
How to use
Try our package – FaceDetection– FaceDetect.cmd
Usage: facedetect [--cascade="<cascade_path>"][--nested-cascade[="nested_cascade_path"]][--scale[=<image scale>[filename|camera_index]
– FaceDetect.exe執行辨識的程式
前景臉部偵測Facedetect--cascade="./haarcascades/haarcascade_frontalface_alt.xml”--nested-cascade="./haarcascades/haarcascade_eye.xml”--scale=1.3 先找到在前面的臉接者尋找眼睛縮放標記
試試其他模組haarcascade_eye.xmlhaarcascade_eye_tree_eyeglasses.xmlhaarcascade_frontalface_alt.xmlhaarcascade_frontalface_alt2.xmlhaarcascade_frontalface_alt_tree.xmlhaarcascade_frontalface_default.xmlhaarcascade_fullbody.xmlhaarcascade_lefteye_2splits.xmlhaarcascade_lowerbody.xmlhaarcascade_mcs_eyepair_big.xmlhaarcascade_mcs_eyepair_small.xmlhaarcascade_mcs_lefteye.xmlhaarcascade_mcs_mouth.xmlhaarcascade_mcs_nose.xmlhaarcascade_mcs_righteye.xmlhaarcascade_mcs_upperbody.xmlhaarcascade_profileface.xmlhaarcascade_righteye_2splits.xmlhaarcascade_upperbody.xml
如何製作自己的 Xml
你必須收集一些樣品去檢測…接著校導…產生 xml 檔接著測試…Please refer to following link:– http://note.sonots.com/SciSoftware/haar
training.html
推薦的參考網站
Open Computer Vision Library (Sourceforge)– http://sourceforge.net/projects/opencvlibrary/
OpenCV Official Forum– http://tech.groups.yahoo.com/group/OpenCV/
OpenCV Wiki– http://opencv.willowgarage.com/wiki/ (Willowgarage)– http://en.wikipedia.org/wiki/OpenCV (Wikipedia)
OpenCV 中文網站– http://www.opencv.org.cn/index.php/
優質OpenCV 教學網– http://yester-place.blogspot.com/
Learning OpenCV: Computer Vision with the OpenCV Library (Paperback)– http://www.amazon.com/Learning-OpenCV-Computer-Vision-Libra
ry/dp/0596516134
參考http://vbie.eic.nctu.edu.tw/vol_2/skill_7.htm
參考http://vbie.eic.nctu.edu.tw/vol_2/skill_7.htmhttp://vbie.eic.nctu.edu.tw/vol_13/tech1.htm
參考http://www.cse.ohio-state.edu/~jwdavis/CVL/Research/MHI/mhi.htmlhttp://www.cse.ohio-state.edu/~jwdavis/CVL/Research/MHI/mhi.html