2013-11-10 81 views
5

我是一名EE本科生,我正在研究一個需要我檢測道路(主要是轉彎)的項目。要求是,考慮到GPS座標和轉彎的方向,機器人應該能夠導航到一個給定的點。問題在於GPS座標非常不準確,道路並不總是平直的。所以我必須檢測道路兩側並相應地導航我的機器人。計算機視覺,檢測道路,從哪裏開始?

我想在機器人的兩側安裝兩個攝像頭。通常用於將機器人保持在道路中心,並且機器人在轉彎5米處時,其中一臺攝像機將引導它轉彎。

我將在樹莓派上工作,但爲了測試目的,我在運行Ubuntu的筆記本電腦上安裝了simplecv和opencv。我絕對沒有以前的計算機視覺經驗。我不知道從哪裏開始。有人能指導我完成上述任務的算法嗎?我應該使用simplecv還是opencv? Python還是C++?就我個人而言,我喜歡python上的simplecv,但我不知道它是否能夠完成任務。

任何幫助,將不勝感激。把我放在正確的軌道上!

I will be demoing the project on campus, here the pictures of the campus's roads.

編輯:理想的條件下,沒有交通,沒有任何障礙物。不斷的道路寬度。

+0

嘗試閱讀邊緣檢測的尖銳轉彎或HoughLine轉換,繪製出道路兩側的線,只是我的頭頂......但不會,如紅外線,超聲波等常規傳感器是否足以代替計算機視覺?不是機器人專家,只需要詢問 – rockinfresh

+0

@rockinfresh紅外傳感器的範圍有限(只有幾釐米)我試過超聲波,但路面太低,超聲波要麼檢測到道路,要麼根本沒有檢測到 –

回答

3

一個建議,我認爲會起作用,所以給它一個鏡頭。我將使用的4幅圖像來自Robert Laganiere的「OpenCV 2計算機視覺應用程序編程指南」。這是我用來研究圖像處理的書籍之一,在使用HoughLine的道路上也有類似的例子。

我以前使用過HoughLine,但不是在道路上。因此,爲了給ü更好的主意,這裏是=>

原始圖像中所呈現的:

enter image description here

現在ü可以申請狡黠的形象,它看起來就像這樣:

enter image description here

或U可以使用索貝爾太...

enter image description here

在這之後,U適用HoughLine:

enter image description here

你將不得不調整自己的參數。

因此,這裏是我的建議=>

把一個前置攝像頭,略顯足夠低,能夠檢測車道長達數米,就可以使用投資回報率太(感興趣的區域)集中於視頻的最下面一半是車道最有可能的位置。這是爲了消除噪音,其中也檢測到與道路平行的其他物體。

您使機器人停留在檢測到的道路線的中心。 ROI的另一個用途是該線的一側消失,意味着它正在傾斜。您可以調整機器人以正確回到正軌。

當出現轉彎時,可以指定如果線條(可能通過canny運算符)不再垂直,則轉動直到線條再次垂直。

當然,您將不得不編寫兩個不同的函數來根據線的角度檢查是右轉還是左轉。

這就是我將如何解決這個問題。我的方法應該有相當不錯的結果。您可能要面對的唯一問題是調整Houghlines和Canny的參數。 (PS在查看你的圖片時,我注意到路邊有一段時間有間隙,所以我會推薦HoughLineP,而不是HoughLine,你可以指定每條線之間的最大間距來考慮它的一條線,如果我還沒有記錯,如果仍然不起作用,您可能需要對視頻幀進行一些預處理。)

希望你找到我的方法有用。祝你好運。如果您還有其他需要幫助的地方,請對此解答發表評論,我會盡我所能幫助您(::

+0

請原諒我的非正式英語現在有點急於和平 – rockinfresh

+0

這種方法沒有車道嗎 –

+0

我想在路邊實施HoughTransform, ,但它可以完成,或者您也可以在問題i中提出的一側使用兩個攝像頭還可以通過霍夫變換來檢測道路的每一側(每側一側)。然後,您可以調整相機角度以描繪拍攝幀上半部分的路緣,並將ROI設置在下半部分。如果你仔細想一想,例如右邊的道路上有一條曲線,左邊的捕獲幀將顯示HoughLine進入ROI(下半部分),隨着路邊更接近它。 – rockinfresh

3

既然您問「從哪裏開始」,我建議您從閱讀道路問題開始。/車道檢測也許你可以在你的校園圖書館查詢有關該問題的一些文獻

例如書DAVIES,E.羅伊電腦和機器視覺:。理論,算法,實用性愛思唯爾/學術Press,2012,有「第23章車載視覺系統」,它描述了「定位巷道」和「道路標記位置」這個問題的基本方法。Davies的書還有一個評論和更新的書目部分。

對於一些更詳細的背景,你可以檢查類似下面,它比較了不同的方法來解決這個問題「調查」的文章:

MCCALL, Joel C.; TRIVEDI, Mohan M. Video-based lane estimation and tracking for driver assistance: survey, system, and evaluation. Intelligent Transportation Systems, IEEE Transactions on, 2006, 7.1: 20-37.

1

正如所承諾的,這裏是另一種方法。

有一個什麼樣這種方法是關於一個清晰的畫面,觀看此視頻:http://www.youtube.com/watch?v=TMKd9ov_rmE

顏色分割方法實際上是用期望最大化(EM)算法。 Gabor濾波器用於消失點。有點接近我想到的想法,但略有不同。

您可以嘗試在視頻或/和我的視頻中顯示的方法。

我實際上做的還是一個消失點,ROI根據消失點的y軸點而改變。雖然ROI的邊界是固定的,這樣道路(灰色總是在ROI內)。

之後,您必須使用區域,其中一次,如果ROI中灰色的顏色空間小於90%(您自己計算數字,這只是一個粗略的尺寸),意思是那裏是一個轉彎)。有幾種方法可以說明是哪一種,我讓你自己弄清楚這一部分:p。當然,如果你使用這種方法,你可以想到它。

我唯一擔心的是斑馬線或白色樣本圖像中的行人,但您可以很容易地將其移除。 (提示,直方圖以及值的顏色是否在白色範圍內......或者你可以使用區域。如果斑點小於這個數量的像素...)

我不知道這個程序將如何計算昂貴。

但是,如果您要嘗試這種方法,請專注於HSV或LAB色彩空間而不是RGB。現在你有更多的方法可供嘗試。你也可以試着想想你自己的方法。玩耍。圖像處理,計算機視覺真的很有趣(: