2016-03-11 41 views
2

我從我的激光雷達中獲得了一個點雲,它基本上是二維笛卡爾座標系中的一個點狀數組。是否有任何有效的方法來檢測這些2D點形成的角落?點陣列中的拐角檢測

我到現在爲止的嘗試是檢測簇,然後在每個簇上應用RANSAC來檢測兩條線,然後估計這兩條線的交點。當我知道我有多少個簇(在這種情況下,我在機器人前面放置3個盒子)以及機器人的周圍是空閒的並且沒有檢測到其他物體時,此方法運行良好。

我想要做的是運行一般的角落檢測,然後採取圍繞每個角落的點,並檢查線是否正交。如果是這種情況,那麼我可以把這個角落當做功能。這將使我的算法在涉及周圍環境時更加靈活。

這是我得到的數據的可視化: enter image description here

回答

0

有很多很多方法可以做到這一點。首先我想在你的情況下嘗試使用點的自然激光雷達掃描順序鏈接一個合理的不連續點距離閾值。然後,它就成了估計局部比例的問題,或者像你所做的那樣,增長和合併線性部分。

+0

其實我忘了激光雷達掃描點的自然排序。我現在嘗試的是減少噪聲的平滑處理,檢測所有小於至少n個相鄰點的最小值,然後合併彼此過於靠近的最小值,最後提取每個最小值周圍的點簇並執行行檢測並驗證檢測到的線是否正交。 – Mehdi

+0

嗡嗡聲,有道理,有點。平滑步驟對我來說似乎很可疑 - 爲什麼在你確定它是「噪音」之前就扔掉信息?你有噪音過程的模型嗎?另外,如果用「直線檢測」表示擬合直線到相鄰點,請記住,你將需要一個robustifier(例如,LMedS,全膛RANSAC/MLESAC可能是冗餘的)。因爲你在這一步使你的模型變得明確(即直線),所以魯莽的人可以引入噪聲模型。最後,如果您發現有用的答案,請注意/接受。 –