主要介紹幾個方法 順便備忘

 

Template Matching
給予一系列的同類型物件,於辨識時,將每一個Frame和這些同類物件做Template Matching,主要是用Correlation的方式來辨識,當一個區域的Correlation大到一定的門檻值,我們即假設該部分是我們所要偵測的物件。OpenCVTemplate Matching相關的Function。使用這個方法的優點是簡便,但缺點是計算量過大,恐怕不適合Real-time的應用。

 

Training
使用機器學習的方法,將同類物件的樣本作訓練,讓往後電腦看到該物體時即可辨認該物件。這種方法需要機器學習的相關知識,以及需要大量的同類物件圖片當作樣本,而且提供的訓練樣本是否適宜,也是相當大的問題。

Background modeling
假設辨識的畫面範圍是固定的,我們先取得所有背景的資料(即沒有任何瓶罐的情況)。往後要進行偵測時,再將抓取到的畫面和其比對(通常是使用背景相減法),即可取得前景畫面。此方法具有幾個缺點,例如背景的光照若和偵測時不同(一個白天一個晚上..etc..),則無法適用。而且必須將每一張背景圖所在的座標編號。使用這種方法最大的問題是,機器人只能在有建好背景圖區域行走,如果超出則無法正確適用。

另外一種構想是使用統計的方式,將攝影機固定住一段時間,記錄一段時間的影片,固定不變的像素會被判別為背景,其他的則是前景。但此種方法顯然被限制在攝影機固定不動的情況下,並非對所有狀況皆為適當。

 

Kinect
Microsoft XBOX 360上有紅外線裝置,可以利用OpenNISDK,抓取Depth Map深度圖。而Kinect是目前所需成本最少的深度圖抓取儀器。其優點在於容易抓取物體相對距離,但缺點在於其原設計為遊戲使用,限制頗多,例如其抓取的遠近範圍有限,如果標的物太近或太遠,則無法順利被抓取。

 


創作者介紹

Frank's 資訊科技潮流站

finalfrank 發表在 痞客邦 PIXNET 留言(2) 人氣()


留言列表 (2)

發表留言
  • edisonx
  • 看到 ML training 就想起可怕的回憶...
  • 上千筆的Training Data的確是惡夢...這還不包含副樣本...

    finalfrank 於 2012/07/09 14:09 回覆

  • edisonx
  • 嗯... 以前寫做的有先去 10% noise < 定義distance,把 distance 過大的極點去掉 > , 維度 5(先用商科的因素分析留主成份因子) , 剩下 80% 訓練, 20% 驗證, 訓練資料就達 7 萬多筆, memory 完全塞不進去, 只能寫暫存檔到 disk Orz