檢測道路路面的可行駛區域的方法和裝置制造方法
【專利摘要】本發明公開了一種檢測道路路面的可行駛區域的方法和設備。所述方法包括:根據包括道路路面的灰度圖導出視差圖,并且從該視差圖中檢測道路路面;從視差圖中刪除相對于道路路面的高度大于預定高度閾值的部分,產生子視差圖;將該子視差圖轉換為U-視差圖;在U-視差圖中檢測可行駛區域;以及將在U-視差圖中檢測的可行駛區域轉換為灰度圖中的可行駛區域。上述方法和設備不依賴于道路上的白線或柵欄,因此具有更廣泛的應用范圍。此外,所述方法和裝置利用從視差圖獲得的U-視差圖來檢測道路路面的可行駛區域,具有良好的噪聲魯棒性和可靠性。
【專利說明】檢測道路路面的可行駛區域的方法和裝置
【技術領域】
[0001]本發明涉及道路檢測,更具體地涉及檢測道路路面的可行駛區域的方法和設備。【背景技術】
[0002]目前,正在研究汽車輔助駕駛技術。這種技術能夠在用戶駕駛汽車時向用戶提供必要的信息和/或警告,以避免車輛碰撞、車輛偏離道路等危險情況。在某些情況下,甚至可以使用輔助駕駛技術來自動地控制汽車行進。
[0003]對于輔助駕駛技術而言,重要的是正確地檢測道路路面的可行駛區域。已經提出了很多檢測道路路面的可行駛區域的方法。例如,美國專利申請公開US20100250064A1公開了一種利用道路兩側的白線來檢測可行駛區域的方法,但是這種方法不適用于兩側沒有白線的道路。美國專利申請公開US20050015201A1公開了一種對道路進行分割并且使用距離和分段的斜率來檢測可行駛路面的方法,但是這種方法不適用于道路上的點較為稀疏的稀疏視差圖。
[0004]因此,需要一種能夠可靠地檢測道路路面的可行駛區域的方法和設備。
【發明內容】
[0005]鑒于現有技術中的上述問題,提出了本發明。本發明的目的是提供一種能夠可靠地檢測道路路面的可行駛區域的方法和設備。
[0006]根據本發明的一個方面,提供了一種檢測道路路面的可行駛區域的方法,包括:根據包括道路路面的灰度圖導出視差圖,并且從該視差圖中檢測道路路面;從視差圖中刪除相對于道路路面的高度大于預定高度閾值的部分,產生子視差圖;將該子視差圖轉換為U-視差圖;在U-視差圖中檢測可行駛區域;以及將在U-視差圖中檢測的可行駛區域轉換為灰度圖中的可行駛區域。
[0007]根據本發明的上述方面,所述從視差圖中檢測道路路面的步驟可以包括:將視差圖轉換為V-視差圖;以及在V-視差圖中擬合代表道路路面的道路線。
[0008]根據本發明的上述方面,可以通過從視差圖中刪除在道路線上方并且距道路線的距離大于所述預定高度閾值的部分,來產生子視差圖。
[0009]根據本發明的上述方面,在U-視差圖中檢測可行駛區域的步驟可以包括:在U-視差圖中選擇位于可行駛區域中的初始位置;通過從初始位置起在U-視差圖中移動預定大小的檢測窗口來檢測U-視差圖中的特定區域,作為可行駛區域,該特定區域包括所述初始位置,并且當檢測窗口在該特定區域內移動時,該檢測窗口內的有效點的數量始終小于預定數量閾值,其中所述有效點是亮度大于亮度閾值的點。
[0010]根據本發明的上述方面,通過從初始位置起在U-視差圖中移動預定大小的檢測窗口來檢測U-視差圖中的特定區域的步驟可以包括:a)從所述初始位置起沿行的方向向左水平移動檢測窗口,當滿足第一預定條件時停止移動檢測窗口,并且記錄該窗口的停止位置作為該行的左停止位置,然后從所述初始位置起沿行的方向向右水平移動檢測窗口,當滿足第二預定條件時停止移動檢測窗口,并且記錄該窗口的停止位置作為該行的右停止位置;b)將檢測窗口向上移動等于該檢測窗口高度的距離,重復步驟a);c)重復步驟b),直到檢測窗口到達U-視差圖的上邊緣或者同一行內的左停止位置與右停止位置相鄰為止;
d)在U-視差圖中提取通過移動檢測窗口而覆蓋的區域作為可行駛區域,其中,所述第一預定條件為以下條件之一:檢測窗口內的有效點的數量大于預定數量閾值;盡管檢測窗口內的有效點的數量沒有大于預定數量閾值,但是檢測窗口到達U-視差圖左邊緣;盡管檢測窗口沒有到達左邊緣并且檢測窗口內的有效點的數量沒有大于預定數量閾值,但是檢測窗口的位置距上一行的左停止位置的水平距離小于預定距離閾值;所述第二預定條件為以下條件之一:檢測窗口內的有效點的數量大于預定數量閾值;盡管檢測窗口內的有效點的數量沒有大于預定數量閾值,但是檢測窗口到達U-視差圖右邊緣;盡管檢測窗口沒有到達右邊緣并且檢測窗口內的有效點的數量沒有大于預定數量閾值,但是檢測窗口的位置距上一行的右停止位置的水平距離小于預定距離閾值。
[0011]根據本發明的上述方面,將在U-視差圖中檢測的可行駛區域轉換為灰度圖中的可行駛區域的步驟可以包括:獲取在U-視差圖中檢測的可行駛區域中的每個點的坐標;利用在V-視差圖中擬合的道路線的表達式,將各個點的坐標轉換為灰度圖中的坐標,從而獲得灰度圖中的可行駛區域內的各個點的坐標;根據灰度圖中的可行駛區域內的各個點的坐標,提取灰度圖中的可行駛區域。
[0012]根據本發明的另一方面,提供了一種檢測道路路面的可行駛區域的設備,包括:道路路面檢測裝置,被配置為根據包括道路路面的灰度圖導出視差圖,并且從該視差圖中檢測道路路面;子視差圖產生裝置,被配置為從視差圖中刪除相對于道路路面的高度大于預定高度閾值的部分,產生子視差圖;U-視差圖產生裝置,被配置為將該子視差圖轉換為U-視差圖;u-視差圖檢測裝置,在U-視差圖中檢測可行駛區域;以及可行駛區域轉換裝置,被配置為將在U-視差圖中檢測的可行駛區域轉換為灰度圖中的可行駛區域。
[0013]根據本發明的上述方面,所述道路路面檢測裝置可以包括:V-視差圖產生單元,被配置為將視差圖轉換為V-視差圖;以及道路線擬合單元,被配置為在V-視差圖中擬合代表道路路面的道路線。
[0014]根據本發明的上述方面,U-視差圖檢測裝置可以包括:選擇單元,被配置為在U-視差圖中選擇位于可行駛區域中的初始位置;檢測單元,被配置為通過從初始位置起在U-視差圖中移動預定大小的檢測窗口來檢測U-視差圖中的特定區域,作為可行駛區域,該特定區域包括所述初始位置,并且當檢測窗口在該特定區域內移動時,該檢測窗口內的有效點的數量始終小于預定數量閾值,其中所述有效點是亮度大于亮度閾值的點。
[0015]根據本發明的上述方面,所述可行駛區域轉換裝置可以包括:坐標提取單元,被配置為獲取U-視差圖中的可行駛區域中的每個點的坐標;轉換單元,被配置為利用在V-視差圖中擬合的道路線的表達式,將各個點的坐標轉換為灰度圖中的坐標,從而獲得灰度圖中的可行駛區域內的各個點的坐標;可行駛區域提取單元,被配置為根據灰度圖中的可行駛區域內的各個點的坐標,提取灰度圖中的可行駛區域。
[0016]根據本發明上述方面的用于檢測道路路面的可行駛區域的方法和設備不依賴于道路上的白線或柵欄,因此具有更廣泛的應用范圍。此外,所述方法和設備利用從視差圖獲得的U-視差圖,基于檢測窗口中的有效點密度來檢測可行駛區域,因而具有良好的噪聲魯棒性和可靠性。
【專利附圖】
【附圖說明】
[0017]通過結合附圖對本發明的實施例進行詳細描述,本發明的上述和其它目的、特征和優點將會變得更加清楚,其中:
[0018]圖1示意性地示出了從視差圖導出V-視差圖的過程;
[0019]圖2示意性地示出了從視差圖導出U-視差圖的過程;
[0020]圖3示意性地示出了可執行根據本發明實施例的用于檢測道路路面的可行駛區域的方法的系統的示意圖;
[0021]圖4是根據本發明實施例的用于檢測道路路面的可行駛區域的方法的流程圖;
[0022]圖5示出了利用雙目相機拍攝的左右圖像之一的示例;
[0023]圖6示出了以圖5所示的圖像為基準圖像計算的視差圖;
[0024]圖7示出了通過轉換圖6所示的視差圖獲得的V-視差圖;
[0025]圖8示出在圖7所示的V-視差圖中進行擬合而獲得的道路線;
[0026]圖9示意性地示出了計算視差圖中位于道路路面上方的點距道路路面的距離的圖;
[0027]圖10示出了通過從圖6所示的視差圖中刪除相對于道路路面的高度大于預定高度閾值的部分而獲得的子視差圖;
[0028]圖11示出了通過轉換圖10所示的子視差圖獲得的U-視差圖;
[0029]圖12示出了在圖11所示的U-視差圖中選擇初始位置并且設置檢測窗口的過程的圖;
[0030]圖13示出了從初始位置起圖向左移動檢測窗口的過程的圖;
[0031]圖14示出了確定在該行中檢測窗口的左停止位置的圖;
[0032]圖15示出了從初始位置起圖向右移動檢測窗口的過程的圖;
[0033]圖16示出了確定在該行中檢測窗口的右停止位置的圖;
[0034]圖17示出了將檢測窗口向上移動之后的初始位置的圖;
[0035]圖18示出了從圖17所示的初始位置起向左移動檢測窗口的過程的圖;
[0036]圖19示出了確定在該行中檢測窗口的左停止位置的圖;
[0037]圖20示出了從圖17所示的初始位置起向右移動檢測窗口的過程的圖;
[0038]圖21示出了確定在該行中檢測窗口的右停止位置的圖;
[0039]圖22示意性地示出了在圖11所示的U-視差圖中檢測的可行駛區域;
[0040]圖23示意性地示出了在U-視差圖和灰度圖之間的坐標轉換;
[0041]圖24示意性地示出了在圖5所示的灰度圖中檢測的道路路面的可行駛區域;
[0042]圖25示出了根據本發明實施例的用于檢測道路路面的可行駛區域的設備的框圖;
[0043]圖26示出了圖25所示的道路路面檢測裝置的詳細結構的框圖;
[0044]圖27示出了圖25所示的U-視差圖檢測裝置的詳細結構的框圖;
[0045]圖28示出了圖25所示的可行駛區域檢測裝置的詳細結構的框圖;
[0046]圖29示出了用硬件實現根據本發明實施例的用于檢測道路路面的可行駛區域的設備時的硬件配置的示意圖。
[0047]應當注意,這些圖不一定是按比例繪制的,它們只是用于說明的目的,而不是限制本發明。
【具體實施方式】
[0048]為了使本領域技術人員更好地理解本發明,下面結合附圖和【具體實施方式】對本發明作進一步詳細說明。
[0049]<基本概念介紹>
[0050]在本發明的實施例中,使用了視差、視差圖、V-視差圖和U-視差圖的概念。這些概念是本領域公知的,因此在這里只對這些概念進行簡單的介紹。
[0051]視差,是指從相隔一定距離的兩個點上觀察同一個目標所產生的方向差異。當利用例如雙目相機拍攝同一個目標的左右兩幅圖像時,該目標的視差可以理解為該目標在左圖像中的橫坐標與在右圖像中的橫坐標之間的差。
[0052]視差圖(disparity map)是以任一圖像為基準圖像,其尺寸為該基準圖像的尺寸,其每個點(像素點)對應于基準圖像中與該點坐標相同的點,并且其每個點的灰度值為基準圖像中對應點的視差的圖像。可以以本領域公知的很多方式獲得視差圖。例如,可以從雙目相機拍攝的左圖像和右圖像計算得到視差圖,可以從多目相機或立體相機拍攝的圖像計算得到視差圖,或者可以通過立體視圖中的深度圖計算得到視差圖。在使用雙目相機拍攝左右圖像的情況下,可以對左右圖像應用絕對差值之和立體匹配算法(Sum of AbsoluteDifferences, SAD)來計算視差圖,或者也可以使用本領域公知的其他算法來計算視差圖。
[0053]基準圖像中的點的坐標可以表示為(X,y),其中X為橫坐標,y為縱坐標,y越小,該點離相機越近。在通過轉換該基準圖像而獲得的二維視差圖中,與點(X,y)對應的點的坐標可以表示為U,V),其中u為橫坐標,V為縱坐標,并且u=x,v=y。視差圖中每個點處的灰度值為該點處的視差,用d表示。可替換地,可以將視差圖中的點表示為(u,v,d)以便同時反映點的坐標和視差。
[0054]V-視差圖和U-視差圖可以從視差圖導出。V-視差圖可以視為視差圖的側視圖,其橫坐標軸為d軸,縱坐標軸為V軸,其上的點可表示為(d,V),并且點(d,v)的灰度值(亮度值)是對應視差圖的縱坐標為V的行中視差等于d的點的數量,因此,可以通過統計該數量或者使用本領域公知的其他方法來從視差圖導出V-視差圖。圖1示意性地示出了從視差圖導出V-視差圖的過程。U-視差圖可以視為視差圖的俯視圖,其橫坐標軸為u軸,縱坐標軸為d軸,其上的點可表示為(u,d),并且點(u,d)的灰度值(亮度值)是對應視差圖的橫坐標為u的列中視差等于d的點的數量,因此,可以通過統計該數量或者使用本領域公知的其他方法來從視差圖導出U-視差圖。圖2示意性地示出了從視差圖導出U-視差圖的過程。
[0055]<實施例>
[0056]下面,將參照附圖描述根據本發明實施例的用于檢測道路路面的可行駛區域的方法和裝置。
[0057]首先,描述根據本發明實施例的用于檢測道路路面的可行駛區域的方法。該方法例如可以通過圖3所示的系統執行。如圖3所示,可以在汽車上安裝雙目相機。當汽車在道路上行駛時,利用雙目相機拍攝汽車前方的包括道路路面的左右兩幅圖像。所述圖像被輸入芯片,該芯片處理左右圖像,獲得視差圖,并且按照下文所述的方式,基于該視差圖而檢測道路路面上的可行駛區域。
[0058]圖4示出了根據本發明實施例的用于檢測道路路面的可行駛區域的方法的流程圖。
[0059]如圖4所示,在步驟S401中,根據包括道路路面的灰度圖導出視差圖,并且從該視差圖中檢測道路路面。
[0060]在使用雙目相機的情況下,可以首先獲取包括道路路面的左右圖像(灰度圖)。例如,可以將雙目相機安裝在車上,并且拍攝車輛前方的包括道路路面的左右兩幅灰度圖像,或者,可以用雙目相機拍攝包括道路路面的左右兩幅彩色圖像并且將其轉換為灰度圖。圖5示出了利用雙目相機拍攝的左右兩幅灰度圖像之一的示例,在下文中,將以該圖像為例進行描述。如圖5所示,在該圖像上建立xy坐標系,其上的點可以表示為(x,y)。
[0061]然后,可以選擇左圖像和右圖像中的任意一副圖像為基準圖像,并且使用左圖像和右圖像來導出視差圖,該視差圖當然也包括道路路面。可以使用上文所述的方法而從左右圖像計算視差圖,在這里不再贅述。圖6示出了以圖5所示的圖像為基準圖像計算的視差圖。如圖6所示,在視差圖上建立Uv坐標系,該視差圖上與點(X, y)對應的點可以被表示為(u, V, d),其中u=x, v=y, d為該點的視差。應當注意,在使用匹配算法來從左圖像和右圖像計算視差圖時,物體的邊緣(例如道路路面的邊緣、道路路面上的障礙物、道路路面之外的物體的邊緣)等更易于被識別,而諸如道路路面之類的不存在邊緣的部分則相對難以被識別,因此,在所述視差圖中,與所述邊緣對應的位置具有更密集的點,而諸如道路路面的可行駛區域之類的不存在邊緣的部分則具有較為稀疏的點。
[0062]接下來,根據所述視差圖來檢測道路路面。
[0063]具體地,首先可以將所述包括道路路面的視差圖轉換為V-視差圖。可以使用上文所述的方法進行這一轉換,在這里不再贅述。圖7示出了通過轉換圖6所示的視差圖獲得的V-視差圖。
[0064]然后,可以在V-視差圖中擬合代表道路路面的道路線。在通過安裝在車上的照相機拍攝的圖像中,道路路面從圖像下方開始向上方延伸且逐漸變窄,在圖像上方中,非道路路面的其他物體增多。相應地,在V-視差圖中,與道路路面對應的點更多地位于圖中顯示的所有點的下部,而上部的點更多地對應于非道路路面的其他物體。因此,可以在V-視差圖顯示的所有點中選擇最低的一部分點進行擬合,由此可以擬合出代表道路路面的道路線,并且獲得該道路線的表達式V=kd+b,其中,k為道路線的斜率,b為常數。例如,可以使用在 Jun Zhao, Mark Albert Whitty 和 Jayantha Katupitiya 發表的論文 “Detection ofNon-flat Ground Surfaces Using V-Disparity Images,,,2009IEEE/RSJ InternationalConference on Intelligent Robots and Systems, Octoberll-15,2009St.Louis, USA 中提出的方法來進行該擬合。在圖7所示的示例中,通過按照上述方式選擇最低的一部分點來進行擬合,可以獲得圖8所示的道路線,其表達式為v=0.5d+233。
[0065]返回圖4,在步驟402中,從視差圖中刪除相對于道路路面的高度大于預定高度閾值的部分,產生子視差圖。
[0066]眾所周知,在道路兩側可能存在電線桿、樹木、柱子等高的物體。此外,在道路上方的天空中也可能存在高架電線。在如下文所述使用U-視差圖識別道路路面的可行駛區域時,如果不對這種情況進行適當的處理,這些非道路路面的物體會被反映在U-視差圖中并且可能被錯誤地檢測為道路路面。
[0067]為了避免這樣的問題,考慮到上述物體相對于道路路面有一定的高度這一事實,可以預先設置高度閾值,從視差圖中刪除相對于道路路面的高度大于預定高度閾值的部分以產生子視差圖,然后使用該子視差圖而不是視差圖來產生U-視差圖。如上文所述,V-視差圖中的道路線代表道路路面,因此可以通過從視差圖中刪除在道路線上方并且距道路線的距離大于所述預定高度閾值的部分,來產生子視差圖。所述高度閾值可以根據道路的實際情況(例如障礙物的種類、高度、分布等)靈活地設定,例如可以設定為4米。
[0068]具體地,首先,可以對視差圖中位于道路路面上方的每個點P U’,V’,d’),計算其相對于道路路面的高度。點P (u’,V’,d’)在V-視差圖中的坐標為(d’,V’)。V-視差圖中的道路線的表達式為v=kd+b,因此,在V-視差圖中位于道路線(道路路面)上的具有視差d’的點r的坐標為(d’,kd’ +b),則在V-視差圖上,點p相對于點r (或道路路面)的像素距離為V’ _(kd’ +b),換言之,在V-視差圖上,點P與道路路面之間的距離為V’ _(kd’ +b)個像素。通過將該像素距離乘以每個像素對應的物理空間中的實際距離m,就可以計算出在物理空間中點P相對于道路路面的高度。可以使用本領域公知的各種方法來計算每個像素對應的物理空間中的實際距離m。例如,可以使用在Gary Bradski和Adrian Kaebler所著的“Learning OpenCV”, O’Reilly Media中提出的方法來計算實際距離m,在這里不再贅述。在圖8的例子中,對于視差圖中的點(400,800,600),按照上述方式,可以計算出其距道路路面的像素距離為800-(0.5*600+233) =267。假設每個像素對應的實際距離m為4毫米,則該點相對于道路路面的高度為267像素*4毫米/像素=1068毫米,如圖9所示。
[0069]然后,可以將視差圖中位于道路路面上方的點相對于道路路面的高度與所述高度閾值進行比較。如果該點相對于道路路面的高度大于高度閾值,則從視差圖中刪除該點,反之則保留該點。在圖9所示的示例中,由于1068毫米小于高度閾值4米,因此保留該點。
[0070]通過對V-視差圖中位于道路線上方的每個點都執行上述操作,可以確定相對于道路路面的高度大于高度閾值的所有點,然后,通過在視差圖中將這些點刪除,可以產生子視差圖。在圖8所示的示例中,當將預定高度設為4米時,可以獲得圖10所示的子視差圖。
[0071]接下來,在步驟S403中,將該子視差圖轉換為U-視差圖。可以使用上文所述的方法或者本領域公知的其他方法來進行這一轉換。例如,可以使用ZhenchengHu, Francisco Lamosa 和 Keiichi Uchimura 發表的論文 “A Complete U-V-DisparityStudy for Stereovision Based 3D Driving Environment Analysis,,,Proceedingsof the Fifth International Conference on 3-D Digital Imaging and Modeling2005 (3DM’05),pp.204-211中提出的方法來進行這一轉換,在這里不再贅述。在上述示例中,通過轉換圖10所示的子視差圖獲得的U-視差圖如圖11所示。
[0072]返回圖4,在步驟S404中,在上述U-視差圖中檢測可行駛區域。
[0073]如上文所述,在視差圖中,與各種邊緣(例如道路邊緣、道路上的障礙物的邊緣等)對應的位置具有更密集的點,而與諸如道路路面的可行駛區域之類的不存在邊緣或邊緣較少的部分則具有較為稀疏的點,因此,在將這樣的視差圖轉換為U-視差圖時,在U-視差圖中與所述邊緣(其對應于不可行駛區域)對應的點具有更高的亮度,而與道路路面的可行駛區域對應的點則具有較低的亮度。可以基于這一事實來在U-視差圖中檢測可行駛區域。簡單地說,可以設置預定大小的檢測窗口和亮度閾值,并且在U-視差圖中從預先選擇的必然位于可行駛區域內的某個初始位置開始移動該檢測窗口,當該檢測窗口內的有效點(亮度超過該亮度閾值的點)的數量(或稱為有效點密度)超過預定數量閾值時,可以認為該檢測窗口的當前位置位于道路路面的可行駛區域邊緣或之外。所述檢測窗口的大小和所述亮度閾值可以根據道路的實際情況或者對于檢測精度的要求而靈活地設定。最終,通過檢測窗口的移動,可以從U視差圖中檢測出特定區域作為可行駛區域,該特定區域包括所述初始位置,并且當檢測窗口在該特定區域內移動時,該檢測窗口內的有效點的數量始終小于所述數量閾值。該移動過程實際上相當于逐漸擴展最初置于初始位置的檢測窗口所包含的小的可行駛區域以獲得最終的可行駛區域。所述初始位置可以自由地設定,只要其位于可行駛區域內即可。通常,由于車輛在道路上行駛時,緊鄰車輛正前方的位置不會有障礙物并且位于可行駛區域內,因此,當如上文所述基于安裝在車輛上的相機拍攝的灰度圖檢測可行駛區域時,優選地,可以在U-視差圖中選擇與上述位置對應的位置,即U-視差圖最下方中間處的位置作為初始位置。
[0074]可以按照各種方式來移動檢測窗口。優選地,可以使用8鄰域(8-CCA)方法來移動檢測窗口,以便檢測上述特定區域。下面將結合圖11所示的U-視差圖來描述使用8鄰域方法移動檢測窗口的示例過程。
[0075]首先,在U-視差圖中選擇所述初始位置。如圖12所示,在這里,選擇位于U-視差圖最下端中央的位置作為所述初始位置。檢測窗口被置于該初始位置,如圖12中的方框“I”所示。
[0076]然后,從所述初始位置起沿行的方向向左水平移動檢測窗口,如圖13所示,當滿足第一預定條件時停止移動檢測窗口,并且記錄該窗口的停止位置作為該行的左停止位置。該左停止位置即為可行駛區域在該行的左邊緣位置。所述第一預定條件可以是以下條件之一:(1)檢測窗口內的有效點的數量大于預定數量閾值;(2)盡管檢測窗口內的有效點的數量沒有大于預定數量閾值,但是檢測窗口到達U-視差圖左邊緣;(3)盡管檢測窗口沒有到達左邊緣并且檢測窗口內的有效點的數量沒有大于預定數量閾值,但是檢測窗口的位置距上一行的左停止位置的水平距離小于第一距離閾值。當滿足條件(I)時,這說明檢測窗口已經移動到可行駛區域邊緣上或邊緣之外,因此應當停止向左移動該檢測窗口。當滿足條件(2)時,雖然此時檢測窗口仍然在可行駛區域內,但是由于檢測窗口已經到達U-視差圖左邊緣,因此應當停止向左移動檢測窗口。條件(3)的設定則是基于以下事實:在相機拍攝的圖像中,越靠近圖像下端,所顯示的道路路面越寬,相應地,所顯示的可行駛區域也越寬,而越靠近圖像上端,所顯示的道路路面越窄,相應地,所顯示的可行駛區域也越窄,因此,檢測窗口越向上移動,其左停止位置應當越靠近圖像的水平方向的中心線,換言之,當前行的左停止位置應當在上一行的左停止位置的右側。當滿足條件(3)時,這表明雖然不滿足上述條件(I)和(2),但是檢測窗口的當前位置已經到達上一行的左停止位置附近,為了避免檢測結果違背上述事實,應當停止向左移動檢測窗口。所述第一距離閾值可以根據道路的實際情況或者對于檢測結果的精度要求而靈活地設定。在圖13的示例中,由于檢測窗口位于U-視差圖最下面的一行,并且檢測窗口內的有效點的數量始終沒有大于所述數量閾值,因此檢測窗口最終移動到U-視差圖左邊緣,即,該行的左停止位置為U-視差圖左邊緣,如圖14所示。[0077]接下來,從所述初始位置起沿行的方向向右水平移動檢測窗口,如圖15所示,當滿足第二預定條件時停止移動檢測窗口,并且記錄該窗口的停止位置作為該行的右停止位置。與第一預定條件類似,所述第二預定條件為以下條件之一:檢測窗口內的有效點的數量大于預定數量閾值;盡管檢測窗口內的有效點的數量沒有大于預定數量閾值,但是檢測窗口到達U-視差圖右邊緣;盡管檢測窗口沒有到達右邊緣并且檢測窗口內的有效點的數量沒有大于預定數量閾值,但是檢測窗口的位置距上一行的右停止位置的水平距離小于第二距離閾值。第一距離閾值可以與第二距離閾值相同或不同,但是優選地將二者設置為相同。在圖15的示例中,類似地,檢測窗口最終移動到U-視差圖右邊緣,即,該行的右停止位置為U-視差圖右邊緣,如圖16所不。
[0078]接下來,將檢測窗口向上移動一行,即上移等于該檢測窗口高度的距離,重復上述向左和向右移動檢測窗口的操作,并且記錄該行的左停止位置和右停止位置。應當注意,當將檢測窗口向上移動時,在該行中移動檢測窗口的初始位置可以是第一行中的初始位置上移的對應位置,也可以是重新選擇的該行內位于可行駛區域中的其他位置。
[0079]在該行的移動完成之后,重復將檢測窗口上移一行、向左和向右移動檢測窗口、并且記錄該行的左停止位置和右停止位置的操作,直到檢測窗口到達U-視差圖的上邊緣或者同一行內的左停止位置與右停止位置相鄰為止。
[0080]隨著檢測窗口的上移,檢測窗口停止移動所滿足的條件可能發生變化。例如,圖17-21示出了當在中間行向左和向右移動檢測窗口的情況,其中,當向左和向右移動檢測窗口時,由于檢測窗口內的有效點的數量大于數量閾值而停止移動檢測窗口。
[0081]然后,在U-視差圖中提取通過移動檢測窗口而覆蓋的區域作為可行駛區域,如圖22所示。這樣,通過在U-視差圖中逐行地移動檢測窗口,可以逐步擴展初始可行駛區域,從而獲得最終的可行駛區域。應當注意,上文所述的逐行移動檢測窗口的方式僅僅是說明性的,而是限制性的,也可以采用其他移動方式,例如逐列地移動檢測窗口,只要最終能夠檢測出上述特定區域即可。
[0082]返回圖4,在步驟S405中,將在U-視差圖中檢測的可行駛區域轉換為灰度圖中的可行駛區域。
[0083]具體地,在U-視差圖中檢測出可行駛區域之后,可以獲取該可行駛區域中的各個點的坐標(u’, d’)。
[0084]由于在V-視差圖中已經確定了道路線的表達式v=kd+b,因此隨后可以基于各個點的坐標(u’,d’),利用該表達式計算出各個點的V’坐標(V’ =kd’ +b),從而計算出各個點在視差圖中的坐標(u’,v’),該坐標即為各個點在灰度圖中的坐標(X’ =u’,y’ =v’)。圖23示出了該坐標轉換的示例。如圖23所示,對于U-視差圖中的點PP (400,800),根據道路線表達式v=0.5d+233,可以計算出該點的V’坐標為633,因此,該點在灰度圖上的坐標為(400,633)。
[0085]接下來,根據灰度圖中的可行駛區域內的各個點的坐標,提取灰度圖中的可行駛區域。圖24示意性地示出了在上述示例中提取的道路路面的可行駛區域。
[0086]可以看到,根據本發明實施例的上述方法并不依賴于道路上的白線、柵欄等等,因此具有更廣泛的適用范圍。此外,在上述檢測方法中,使用U-視差圖來檢測可行駛區域,在此期間,使用檢測窗口中的有效點的密度,并且考慮相鄰行的停止位置之間的關系來檢測可行駛區域,因此可以顯著降低噪聲對檢測結果的影響,使得該方法具有良好的噪聲魯棒性和可靠性。
[0087]下面,參照圖25來描述根據本發明實施例的用于檢測道路路面的可行駛區域的設備。該設備可以執行上文所述的方法。
[0088]如圖25所示,檢測設備250包括道路路面檢測裝置251、子視差圖產生裝置252、U-視差圖產生裝置253、U-視差圖檢測裝置254以及可行駛區域轉換裝置255。
[0089]道路路面檢測裝置251根據包括道路路面的灰度圖導出視差圖,并且從該視差圖中檢測道路路面。圖26示出了道路路面檢測裝置251的詳細結構。如圖26所示,道路路面檢測裝置251包括:V-視差圖產生單元2511,其將視差圖轉換為V-視差圖;以及道路線擬合單元2512,其在V-視差圖中確定代表道路路面的道路線。
[0090]子視差圖產生裝置252從視差圖中刪除相對于道路路面的高度大于預定高度閾值的部分,產生子視差圖。子視差圖產生裝置252可以按照上文所述的方式來產生子視差圖,在這里不再贅述。
[0091]U-視差圖產生裝置253將該子視差圖轉換為U-視差圖。
[0092]U-視差圖檢測裝置254在U-視差圖中檢測可行駛區域。圖27示出了 U-視差圖檢測裝置254的詳細結構。如圖27所示,U-視差圖檢測裝置254包括選擇單元2541,其在U-視差圖中選擇位于可行駛區域中的初始位置;以及檢測單元2542,其通過從初始位置起在U-視差圖中移動預定大小的檢測窗口來檢測U-視差圖中的特定區域,作為可行駛區域,該特定區域包括所述初始位置,并且當檢測窗口在該特定區域內移動時,該檢測窗口內的有效點的數量始終小于預定數量閾值,其中所述有效點是亮度大于亮度閾值的點。如上文所述,所述初始位置優選地是U-視差圖最下端中間的位置。此外,檢測單元2542可以按照上文所述的方式(例如使用8鄰域法)移動檢測窗口,從而檢測U-視差圖中的可行駛區域。
[0093]可行駛區域轉換裝置255將在U-視差圖中檢測的可行駛區域轉換為灰度圖中的可行駛區域。圖28示出了可行駛區域轉換裝置255的詳細結構。如圖28所示,可行駛區域轉換裝置255包括:坐標提取單元2551,其獲取在U-視差圖中檢測的可行駛區域中的每個點的坐標;轉換單元2552,其基于各個點的坐標,利用在V-視差圖中擬合的道路線的表達式,計算灰度圖中的可行駛區域內的各個點的坐標;以及可行駛區域提取單元2553,其根據灰度圖中的可行駛區域內的各個點的坐標,提取灰度圖中的可行駛區域。
[0094]道路路面檢測裝置251、子視差圖產生裝置252、U-視差圖產生裝置253、U-視差圖檢測裝置254和可行駛區域轉換裝置255以及它們的各個組件可以按照參照圖4描述的方式執行上述操作,在這里不再贅述。
[0095]以上結合具體實施例描述了本發明的基本原理,但是,需要指出的是,對本領域的普通技術人員而言,能夠理解本發明的方法和設備的全部或者任何步驟或者部件,可以在任何計算裝置(包括處理器、存儲介質等)或者計算裝置的網絡中,以硬件、固件、軟件或者它們的組合加以實現,這是本領域普通技術人員在閱讀了本發明的說明的情況下運用他們的基本編程技能就能實現的。
[0096]例如,圖29示出了用硬件實現上述設備時的硬件配置的示意圖。如圖29所示,該設備可以包括:輸入裝置290,用于從外部輸入將要處理的圖像,例如雙目相機拍攝的左右圖像、立體相機拍攝的立體視頻等,其例如可以包括鍵盤、鼠標、以及通信網絡及其所連接的遠程輸入設備等等;處理裝置291,用于從輸入裝置290接收所述圖像,并且對所述圖像實施上述的按照本發明實施例的用于檢測道路路面的可行駛區域的方法,或者用于實現參照圖25-28所述的設備的各個組件和子組件,其例如可以包括計算機的中央處理器或其它的具有處理能力的芯片(如圖3所示)等等;存儲裝置292,用于以易失或非易失的方式存儲上述從輸入裝置290接收的圖像以及處理裝置291在執行處理期間產生的各種數據和/或結果等等,其例如可以包括隨機存取存儲器(RAM)、只讀存儲器(ROM)、硬盤、或半導體存儲器等等的各種易失或非易失性存儲器;以及輸出裝置293,用于向外部輸出所檢測的可行駛區域,其例如可以包括顯示器、打印機、以及通信網絡及其所連接的遠程輸出裝置等等。
[0097]本發明的目的還可以通過在任何計算裝置上運行一個程序或者一組程序來實現。所述計算裝置可以是公知的通用裝置。因此,本發明的目的也可以僅僅通過提供包含實現所述方法或者設備的程序代碼的程序產品來實現。也就是說,這樣的程序產品也構成本發明,并且存儲有這樣的程序產品的存儲介質也構成本發明。顯然,所述存儲介質可以是任何公知的存儲介質或者將來所開發出來的任何存儲介質。
[0098]還需要指出的是,在本發明的設備和方法中,顯然,各部件或各步驟是可以分解和/或重新組合的。這些分解和/或重新組合應視為本發明的等效方案。并且,執行上述系列處理的步驟可以自然地按照說明的順序按時間順序執行,但是并不需要一定按照時間順序執行。某些步驟可以并行或彼此獨立地執行。
[0099]此外,盡管在上文中在汽車輔助駕駛的背景下描述了本發明,但是本發明也可以應用于車輛檢測和跟蹤、駕駛預警等其他領域。
[0100]上述【具體實施方式】,并不構成對本發明保護范圍的限制。本領域技術人員應該明白的是,取決于設計要求和其他因素,可以發生各種各樣的修改、組合、子組合和替代。任何在本發明的精神和原則之內所作的修改、等同替換和改進等,均應包含在本發明保護范圍之內。
【權利要求】
1.一種檢測道路路面的可行駛區域的方法,包括: 根據包括道路路面的灰度圖導出視差圖,并且從該視差圖中檢測道路路面; 從視差圖中刪除相對于道路路面的高度大于預定高度閾值的部分,產生子視差圖; 將該子視差圖轉換為U-視差圖; 在U-視差圖中檢測可行駛區域;以及 將在U-視差圖中檢測的可行駛區域轉換為灰度圖中的可行駛區域。
2.如權利要求1所述的方法,其中,從視差圖中檢測道路路面的步驟包括: 將視差圖轉換為V-視差圖;以及 在V-視差圖中擬合代表道路路面的道路線。
3.如權利要求2所述的方法,其中,通過從視差圖中刪除在道路線上方并且距道路線的距離大于所述預定高度閾值的部分,來產生子視差圖。
4.如權利要求1所述的方法,其中,在U-視差圖中檢測可行駛區域的步驟包括: 在U-視差圖中選擇位于可行駛區域中的初始位置; 通過從初始位置起在U-視差圖中移動預定大小的檢測窗口來檢測U-視差圖中的特定區域,作為可行駛區域,該特定區域包括所述初始位置,并且當檢測窗口在該特定區域內移動時,該檢測窗口內的有效點的數量始終小于預定數量閾值,其中所述有效點是亮度大于亮度閾值的點。
5.如權利要求4所述的方法,其中,通過從初始位置起在U-視差圖中移動預定大小的檢測窗口來檢測U-視差圖中的特定區域的步驟包括: a)從所述初始位置起沿行的方向向左水平移動檢測窗口,當滿足第一預定條件時停止移動檢測窗口,并且記錄該窗口的停止位置作為該行的左停止位置,然后從所述初始位置起沿行的方向向右水平移動檢測窗口,當滿足第二預定條件時停止移動檢測窗口,并且記錄該窗口的停止位置作為該行的右停止位置; b)將檢測窗口向上移動等于該檢測窗口高度的距離,重復步驟a); c)重復步驟b),直到檢測窗口到達U-視差圖的上邊緣或者同一行內的左停止位置與右停止位置相鄰為止; d)在U-視差圖中提取通過移動檢測窗口而覆蓋的區域作為可行駛區域, 其中,所述第一預定條件為以下條件之一:檢測窗口內的有效點的數量大于預定數量閾值;盡管檢測窗口內的有效點的數量沒有大于預定數量閾值,但是檢測窗口到達U-視差圖左邊緣;盡管檢測窗口沒有到達左邊緣并且檢測窗口內的有效點的數量沒有大于預定數量閾值,但是檢測窗口的位置距上一行的左停止位置的水平距離小于第一距離閾值; 所述第二預定條件為以下條件之一:檢測窗口內的有效點的數量大于預定閾值;盡管檢測窗口內的有效點的數量沒有大于預定數量閾值,但是檢測窗口到達U-視差圖右邊緣;盡管檢測窗口沒有到達右邊緣并且檢測窗口內的有效點的數量沒有大于預定數量閾值,但是檢測窗口的位置距上一行的右停止位置的水平距離小于第二距離閾值。
6.如權利要求2所述的方法,其中,將在U-視差圖中檢測的可行駛區域轉換為灰度圖中的可行駛區域的步驟包括: 獲取在U-視差圖中檢測的可行駛區域中的各個點的坐標; 基于各個點的坐標,利用在V-視差圖中擬合的道路線的表達式,計算灰度圖中的可行駛區域內的各個點的坐標; 根據灰度圖中的可行駛區域內的各個點的坐標,提取灰度圖中的可行駛區域。
7.—種檢測道路路面的可行駛區域的設備,包括: 道路路面檢測裝置,被配置為根據包括道路路面的灰度圖導出視差圖,并且從該視差圖中檢測道路路面; 子視差圖產生裝置,被配置為從視差圖中刪除相對于道路路面的高度大于預定高度閾值的部分,產生子視差圖; U-視差圖產生裝置,被配置為將該子視差圖轉換為U-視差圖; U-視差圖檢測裝置,在U-視差圖中檢測可行駛區域;以及 可行駛區域轉換裝置,被配置為將在U-視差圖中檢測的可行駛區域轉換為灰度圖中的可行駛區域。
8.如權利要求7所述的設備,其中,所述道路路面檢測裝置包括: V-視差圖產生單元,被配置為將視差圖轉換為V-視差圖;以及 道路線擬合單元,被配置為在V-視差圖中擬合代表道路路面的道路線。
9.如權利要求7所述的設備,其中,U-視差圖檢測裝置包括: 選擇單元,被配置為在U-視差圖中選擇位于可行駛區域中的初始位置; 檢測單元,被配置為通過從初始位置起在U-視差圖中移動預定大小的檢測窗口來檢測U-視差圖中的特定區域,作為`可行駛區域,該特定區域包括所述初始位置,并且當檢測窗口在該特定區域內移動時,該檢測窗口內的有效點的數量始終小于預定數量閾值,其中所述有效點是亮度大于亮度閾值的點。
10.如權利要求2所述的設備,其中,所述可行駛區域轉換裝置包括: 坐標提取單元,被配置為獲取在U-視差圖中檢測的可行駛區域中的每個點的坐標; 轉換單元,被配置為基于各個點的坐標,利用在V-視差圖中擬合的道路線的表達式,計算灰度圖中的可行駛區域內的各個點的坐標; 可行駛區域提取單元,被配置為根據灰度圖中的可行駛區域內的各個點的坐標,提取灰度圖中的可行駛區域。
【文檔編號】G06K9/00GK103679127SQ201210358202
【公開日】2014年3月26日 申請日期:2012年9月24日 優先權日:2012年9月24日
【發明者】游贛梅, 魯耀杰, 師忠超, 王剛 申請人:株式會社理光