信息摘要:
有紋理的物體容易解決,那么生活中或者工業里還有很多物體是沒有紋理的。上下料機器人抓取這些物體時,視覺上怎么檢測呢?
有紋理的物體容易解決,那么生活中或者工業里還有很多物體是沒有紋理的。上下料機器人抓取這些物體時,視覺上怎么檢測呢?
我們最容易想到的就是:是否有一種特征點,可以描述物體形狀,同時具有跟 SIFT 相似的不變性?
根據目前的發展,是沒有這種特征點的。
所以,之前一大類方法還是采用基于模板匹配的辦法,但是,對匹配的特征進行了專門選擇(不只是邊緣等簡單特征)。
這里,介紹一個某實驗室之前使用和重現過的算法 LineMod:
Hinterstoisser, Stefan, et al. "Multimodal templates for real-time detection of texture-less objects in heavily cluttered scenes." Computer Vision (ICCV), 2011 IEEE International Conference on. IEEE, 2011.
簡單而言,這篇論文同時利用了彩色圖像的圖像梯度和深度圖像的表面法向作為特征,與數據庫中的模板進行匹配。
由于數據庫中的模板是從一個物體的多個視角拍攝后生成的,所以這樣匹配得到的物體位姿只能算是初步估計,并不精確。
但是,只要有了這個初步估計的物體位姿,就可以直接采用 ICP 算法(Iterative closest point)匹配物體模型與 3D 點云,從而得到物體在相機坐標系下的精確位姿。
當然,這個算法在具體實施過程中還是有很多細節的:如何建立模板、顏色梯度的表示等。另外,這種方法無法應對物體被遮擋的情況。(當然,通過降低匹配閾值,可以應對部分遮擋,但是會造成誤識別)。