您會推薦什麼方法來查找2D圖像中的障礙物?在2D圖像中查找路徑障礙
這裏是我想出了到現在的一些要點:
我懷疑我可以用物體識別基於搜索「的障礙數據庫」,因爲我不知道會阻礙是什麼樣子。 如果路徑與對象本身沒有很大差異,我認爲顏色識別可能會產生問題。
可能的是,增加一個攝像頭和計算一個3D圖像(就像Kinect一樣)可以工作,但是這並不會像我需要的那樣順暢。
爲了說明問題;機器人可以騎在路面的左側或右側。在下面的圖片,左側是正確的選擇:
您會推薦什麼方法來查找2D圖像中的障礙物?在2D圖像中查找路徑障礙
這裏是我想出了到現在的一些要點:
我懷疑我可以用物體識別基於搜索「的障礙數據庫」,因爲我不知道會阻礙是什麼樣子。 如果路徑與對象本身沒有很大差異,我認爲顏色識別可能會產生問題。
可能的是,增加一個攝像頭和計算一個3D圖像(就像Kinect一樣)可以工作,但是這並不會像我需要的那樣順暢。
爲了說明問題;機器人可以騎在路面的左側或右側。在下面的圖片,左側是正確的選擇:
如果您知道路徑是什麼樣子,這在很大程度上是一種分類問題。在不同的距離,照明等條件下獲取一組路徑圖像,並在每幅圖像中手動標記地面。使用此標記的數據來訓練將每個像素分類爲「道路」或「不道路」的分類器。取決於道路的紋理,這可以像對每個像素的RGB(或HSV)值進行分類或使用OpenCv的內置直方圖反投影(即,cv::CalcBackProjectPatch()
)一樣簡單。
我建議從手動閾值開始,轉向基於直方圖的匹配,並且如果更簡單的技術失敗,則只能使用完整的機器學習分類器(如樸素貝葉斯分類器或SVM)。一旦整個圖像被分類,被識別爲「不是道路」的所有像素都是障礙物。通過分類而不是障礙,我們完全避免了建立「對象數據庫」。
有點出了問題的範圍,最簡單的解決方案是增加額外的傳感器(「拋出這個問題更多的硬件!」),並直接測量障礙物的三維位置。爲了優先:
需要注意的是專業的立體視覺攝像機可以非常快通過使用自定義硬件(立體聲片,STOC)。現代計算機上基於軟件的立體聲音響也相當快(10-20 Hz)。
謝謝。在這種情況下,我想更多的硬件是必要的。 – 2011-05-17 10:35:04
kinnect有一個紅外傳感器和一個RGB相機。既然你正在開發一個機器人,我想最好還是配備一個傳感器,不是嗎? – Andrey 2011-05-15 17:17:00
@Andrey:Kinect有一個紅外傳感器和一個紅外紋理投影儀(它們結合起來可以計算深度信息)和一個RGB相機,它可以與深度信息同步,以便知道Kinect前面有多遠每個RGB像素感應是。僅僅增加一個紅外傳感器不足以獲得Kinect般的設置。 – 2011-05-16 04:13:21
@Eric,謝謝你的提示。我認爲沒有必要獲得類似Kinect的設置,而只是爲了檢測障礙。許多廉價和簡單的機器人使用紅外線。我對嗎? – Andrey 2011-05-16 05:07:00