1 / 45

人機介面 OpenCV 簡介

人機介面 OpenCV 簡介. 授課教師 開課單位. OpenCV. 環境設定 與 Visual Studio 2010 C++ express 整合 電腦視覺資料庫 – OpenCV 更多簡單的範例 讀圖 & 高斯模糊 開啟攝影機 OpenCV 專案 影像差異 歷史移動影像 背景相減 人臉偵測. 關於 OpenCV. OpenCV ( 開放 原始碼之電腦視覺) 主要是針對在及時計算機視覺 庫的一種 編程 功能。 人機介面 (HCI) 物體識別 切割辨識 人臉辨識 手勢辨識 移動偵測 動作認知

airlia
Download Presentation

人機介面 OpenCV 簡介

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 人機介面OpenCV簡介 授課教師 開課單位

  2. OpenCV • 環境設定 • 與Visual Studio 2010 C++ express整合 • 電腦視覺資料庫– OpenCV • 更多簡單的範例 • 讀圖&高斯模糊 • 開啟攝影機 • OpenCV專案 • 影像差異 • 歷史移動影像 • 背景相減 • 人臉偵測

  3. 關於OpenCV • OpenCV(開放原始碼之電腦視覺)主要是針對在及時計算機視覺庫的一種編程功能。 • 人機介面(HCI) • 物體識別 • 切割辨識 • 人臉辨識 • 手勢辨識 • 移動偵測 • 動作認知 • 場景重構(Structure From Motion) • 立體聲和多台攝影機校準及深度計算 • 移動機器人.

  4. HI!OpenCV • 從英特爾1999年發展OpenCV以來,現正在積極發展中,目前正持續由Willow Garage支援. • 目前最新的版本為2.4.3(October, 2012) • 所有的原始碼是用C語言編寫,並支援以下語言: • C, C++ • Python • 跨平台: Windows, xNIX, MacOS etc… • 超過2500個函式

  5. OpenCV 導讀 • 發展歷史 • 知名程式 • OpenCV總覽 • 參考資料

  6. OpenCV歷史 • 動機起源於讓電腦視覺有更低的門檻,並充分利用 Intel 處理器的運算效能 • Timeline: Gary Bradski (c) 2008 Gary Bradski, 2009

  7. 哪裡用到OpenCV? • Google Maps, Google street view, Google Earth, Books • 學術界和工業界研究 • 安全監控 • 安全系統 • 圖像檢索 • 影像搜尋 • 電影中的運動結構 • 機器人

  8. 應用範例:自動駕駛

  9. Robot support OpenCV Overview: > 2500 functions opencv.willowgarage.com 影像金字塔 通用圖像函式 生物特徵 攝影機校準 切割 特徵擷取 工具和資料結構 轉換 追蹤 機器學習 • 偵測辨認 Fitting 矩陣數學

  10. OpenCV Structure CV Image Processing and Vision Algorithms MLL Statistical Classifiers and Clustering Tools HighGUI GUI, Image and Video I/O CXCORE basic structures and algorithms, XML support, drawing functions IPP Fast architecture-specific low-level functions Aux Experimental or less used routines Gary Bradski, 2009 10

  11. 範例

  12. 讀圖及高斯模糊

  13. 讀圖及高斯模糊(處理結果)

  14. 存取像素 http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/opencv-intro.html#SECTION00053000000000000000

  15. 結果

  16. 開啟攝影機

  17. 影像差異

  18. 介紹 • 連續影像相減(Temporal differencing)原理是利用再時間上連續的影像做一對一的像素相減 • 若是兩者差異為零,就表示此像素不屬於移動物件像素 • 反之,則此像素為移動物件像素。

  19. 簡介 • 由前後Frame相減,可以找出不相同的部位 • 但無法看出動作的方向

  20. Frame Difference 程式碼

  21. 優點及缺點 • 優點: • 計算簡單快速 • 此法對於環境的改變適應性佳 • 缺點: • 但是偵測出的移動物件常常會發生內部破碎的情形 • 移動物件的形狀較不完整,對於後續的移動物件追蹤與辨識將無法提供完整的資訊

  22. 背景相減

  23. 介紹 • 純粹的影格差異雖然計算快,但是移動物體內部都破碎 • 使用背景相減,是先將要偵測的背景設為參考影像速度一樣快 • 但萬一背景改變,無法彈性調整 • 使用Mixture Background Modeling,將背景建立可適性模型,彈性變化背景 • 速度慢 • 但背景改變後,仍然可以使用

  24. 背景相減 • 無論第幾張影格,皆減去第一張是先建好的參考影格,不一樣的地方即是前景(動作) • 相減時,究竟要相差多少才算動作 • MOVEMENT_THRESHOLD – 30 • 改變看看有什麼不一樣 • Please refer to our solution -- BackgroundSubtraction

  25. 混合高斯背景模型 • 利用背景應為穩定影像的特質 • 可用混和高斯分配來表示其分布 • 使用愈多高斯分佈愈貼近現實,但計算愈慢 • 若有一張新影像不在現有的分布上,即為前景,並更新現有分布,維持可適性

  26. 混合高斯背景模型 • // initialize MoG parameters inttotalGaussian = 5; 想模擬的分布數量 intmaxGaussian = 5; 找尋前景時,只找前maxGaussian個依weight大小排序後的分布 float stdDeviationInit = 6; 預設的標準差 float stdDeviationThreshold = 3.0; 判斷前景的標準(多少倍標準差之外) float weightThreshold = 0.25; 找尋前景時,只找weight高於此標準的分布 float alpha = 0.01; 背景學習率,愈大背景改變愈快,愈小愈有容忍度。

  27. 混合高斯背景模型 • Please try our solution – GaussianBackgroundModel • 目前totalGaussian, maxGaussian一定要一樣 • 嘗試實作將分布排序,然後可以設定只考慮依weight排序後的前maxGaussian個分布

  28. 動態歷史圖像

  29. 簡介 • 一般Frame Difference只能看到動作的區域還有其大小,不能看出趨勢與方向 • 若不只單純考慮前一張Frame,而是把多張Frame一起考慮,就可以記錄出移動的歷史軌跡

  30. 動態歷史圖像(Motion History Image, MHI)

  31. 動態歷史圖像函式

  32. 範例 • 請參照原始碼 • motempl.c • Or our solution in MotionHistoryImage • 一些變數 • MHI_DURATION – 想要追蹤的時間長度(secs) • N – 想要計算motion detection的Frame buffer長度(frames) • Challenge -- 嘗試將gradient圖標記拿掉

  33. 人臉偵測

  34. 介紹 • 如何偵測具有特徵的物體,例如人臉?

  35. 挑戰 • 收集並標示數據是很重要的,但很花時間 • 如何取得的想要的特徵 • 如何分類 • 即使是巢狀或串級的分類 • 如何測試或檢驗 • 還好,我們有openCV

  36. How to use • Try our package – FaceDetection • FaceDetect.cmdUsage: facedetect [--cascade="<cascade_path>"] [--nested-cascade[="nested_cascade_path"]] [--scale[=<image scale> [filename|camera_index] • FaceDetect.exe執行辨識的程式

  37. 前景臉部偵測 • Facedetect--cascade="./haarcascades/haarcascade_frontalface_alt.xml”--nested-cascade="./haarcascades/haarcascade_eye.xml”--scale=1.3 • 先找到在前面的臉 • 接者尋找眼睛 • 縮放標記

  38. 試試其他模組 • haarcascade_eye.xml • haarcascade_eye_tree_eyeglasses.xml • haarcascade_frontalface_alt.xml • haarcascade_frontalface_alt2.xml • haarcascade_frontalface_alt_tree.xml • haarcascade_frontalface_default.xml • haarcascade_fullbody.xml • haarcascade_lefteye_2splits.xml • haarcascade_lowerbody.xml • haarcascade_mcs_eyepair_big.xml • haarcascade_mcs_eyepair_small.xml • haarcascade_mcs_lefteye.xml • haarcascade_mcs_mouth.xml • haarcascade_mcs_nose.xml • haarcascade_mcs_righteye.xml • haarcascade_mcs_upperbody.xml • haarcascade_profileface.xml • haarcascade_righteye_2splits.xml • haarcascade_upperbody.xml

  39. 如何製作自己的Xml • 你必須收集一些樣品去檢測… • 接著校導… • 產生 xml 檔 • 接著測試… • Please refer to following link: • http://note.sonots.com/SciSoftware/haartraining.html

  40. 推薦的參考網站 • 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-Library/dp/0596516134

  41. 參考 • http://vbie.eic.nctu.edu.tw/vol_2/skill_7.htm

  42. 參考 • http://vbie.eic.nctu.edu.tw/vol_2/skill_7.htm • http://vbie.eic.nctu.edu.tw/vol_13/tech1.htm

  43. 參考 • http://www.cse.ohio-state.edu/~jwdavis/CVL/Research/MHI/mhi.html • http://www.cse.ohio-state.edu/~jwdavis/CVL/Research/MHI/mhi.html

  44. 參考 • 特徵檢測專題 • http://www.opencv.org.cn/index.php/%E7%89%B9%E5%BE%81%E6%A3%80%E6%B5%8B%E4%B8%93%E9%A2%98

More Related