(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6935946
(24)【登録日】2021年8月30日
(45)【発行日】2021年9月15日
(54)【発明の名称】セグメンテーションスコアマップ及びクラスタリングマップを利用して自律走行車の走行経路を計画するための車線を検出するポストプロセッシング方法及び装置
(51)【国際特許分類】
G06T 7/00 20170101AFI20210906BHJP
G08G 1/16 20060101ALI20210906BHJP
【FI】
G06T7/00 350C
G08G1/16 C
G06T7/00 650A
【請求項の数】28
【全頁数】19
(21)【出願番号】特願2020-4556(P2020-4556)
(22)【出願日】2020年1月15日
(65)【公開番号】特開2020-126610(P2020-126610A)
(43)【公開日】2020年8月20日
【審査請求日】2020年1月15日
(31)【優先権主張番号】16/263,168
(32)【優先日】2019年1月31日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】517038176
【氏名又は名称】株式会社ストラドビジョン
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】金 桂賢
(72)【発明者】
【氏名】金 鎔重
(72)【発明者】
【氏名】金 寅洙
(72)【発明者】
【氏名】金 鶴京
(72)【発明者】
【氏名】南 雲鉉
(72)【発明者】
【氏名】夫 碩▲ふん▼
(72)【発明者】
【氏名】成 明哲
(72)【発明者】
【氏名】呂 東勳
(72)【発明者】
【氏名】柳 宇宙
(72)【発明者】
【氏名】張 泰雄
(72)【発明者】
【氏名】鄭 景中
(72)【発明者】
【氏名】諸 泓模
(72)【発明者】
【氏名】趙 浩辰
【審査官】
新井 則和
(56)【参考文献】
【文献】
DAVY NEVEN ET AL.,Towards End-to-End Lane Detection: an Instance Segmentation Approach,2018 IEEE INTELLIGENT VEHCLES SYMPOSIUM(IV),2018年06月26日
【文献】
CHEN PING-RONG ET AL.,Efficience Road Lane Marking Detection with Deep Learning,2018 IEEE 23RD INTERNATIONAL CONFERENCE ON DIGITAL SIGNAL PROCESSING(DSP),IEEE,2018年11月19日
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00−7/90
G08G 1/16
(57)【特許請求の範囲】
【請求項1】
セグメンテーションスコアマップ及びクラスタリングマップを利用して一つ以上の車線を検出するポストプロセッシング(post−processing)方法において、
(a)CNN(Convolutionalneuralnetwork)が入力イメージを利用して前記セグメンテーションスコアマップ及び前記クラスタリングマップを生成すると、コンピューティング装置がこれを取得する段階;
(b)前記コンピューティング装置が、前記CNNの後部においてデータプロセッシングを遂行するポストプロセッシングモジュールをもって(i)前記セグメンテーションスコアマップを参照して、前記入力イメージ上の前記車線を構成するピクセルを含む単位領域である車線要素を検出するようにし、(ii)前記車線要素と、前記セグメンテーションスコアマップと、前記クラスタリングマップとを参照してシード(seed)情報を生成するようにする段階;
(c)前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、前記シード情報を参照して前記車線それぞれに対応する一つ以上のベースモデルを生成させ、これを参照して一つ以上の車線アンカー(anchor)を生成するようにする段階;
(d)前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、前記車線アンカーを参照して、前記車線要素の少なくとも一つの集合を含む一つ以上の車線ブロブ(Blob)を生成させる段階;及び
(e)前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、(i)前記車線ブロブを参照して前記入力イメージ内の一つ以上の車線候補群を検出するようにし、(ii)前記車線候補群に少なくとも一つのラインフィッティング(line−fitting)演算を適用して少なくとも一つの車線モデルを生成させることにより前記車線を検出する段階;
を含むことを特徴とする方法。
【請求項2】
前記(a)段階以前に、
前記CNNは、前記入力イメージに少なくとも一つのコンボリューション演算及び少なくとも一つのデコンボレーション演算を適用することにより、前記セグメンテーションスコアマップを生成し、(i)前記入力イメージに含まれた前記車線それぞれのピクセルに対応する、前記セグメンテーションスコアマップに含まれたそれぞれの値の異なるクラス間の差異それぞれは増加し、(ii)前記入力イメージに含まれた前記それぞれの車線のピクセルに対応する、前記セグメンテーションスコアマップに含まれた前記それぞれの値の同一クラス内部の分散それぞれは減少するように、ニューラルネットワーク演算を前記セグメンテーションスコアマップに適用することを特徴とする請求項1に記載の方法。
【請求項3】
前記(b)段階で、
前記ポストプロセッシングモジュールは、(i)前記入力イメージ上の前記車線要素の位置に対応する中心座標、(ii)前記車線要素の幅、(iii)前記車線要素内に含まれたピクセルに対応する、前記セグメンテーションスコアマップ上の代表値、及び(iv)前記クラスタリングマップを利用して、前記車線要素が含まれた少なくとも一つの車線を示すクラスタリングID値の中の少なくとも一つを含む前記シード情報を生成することを特徴とする請求項1に記載の方法。
【請求項4】
前記(c)段階で、
前記ポストプロセッシングモジュールが、前記ベースモデルのうち、最も直線型に近い所定の公式によって表現される特定ベースモデルを、前記車線アンカーの一つとして決定し、前記所定の公式は、前記車線要素の中心座標を参照して導き出されることを特徴とする請求項1に記載の方法。
【請求項5】
前記(c)段階で、
前記ポストプロセッシングモジュールが、特定ベースモデルを前記車線アンカーの一つとして決定し、前記特定ベースモデルは、前記ベースモデルのうち、(i)前記セグメンテーションスコアマップ上の代表値が予め設定された閾値以上であり(ii)前記クラスタリングマップを利用して取得されたクラスタリングID値が類似した、特定車線要素を参照して選択されることを特徴とする請求項1に記載の方法。
【請求項6】
前記(c)段階で、
前記ポストプロセッシングモジュールが、特定ベースモデルを前記車線アンカーの一つとして決定し、前記特定ベースモデルは、前記ベースモデルのうち、前記シード情報に含まれたクラスタリングID値の最も小さい分散値を有する特定車線要素を参照して選択されることを特徴とする請求項1に記載の方法。
【請求項7】
前記(d)段階において、
前記ポストプロセッシングモジュールが、各前記車線アンカーに隣接したそれぞれの特定車線要素をトレーシング(tracing)及びグループピング(grouping)することにより、前記車線ブロブを生成することを特徴とする請求項1に記載の方法。
【請求項8】
前記ポストプロセッシングモジュールが、前記シード情報に含まれた、それぞれの前記車線アンカーに対応する、それぞれのクラスタリングID値と、それぞれの代表値と、それぞれの幅とを参照して、それぞれの前記車線アンカーに隣接したそれぞれの前記特定車線要素をトレーシング及びグループピングすることにより、それぞれの前記車線ブロブを生成することを特徴とする請求項7に記載の方法。
【請求項9】
前記ポストプロセッシングモジュールが、各前記車線アンカーごとに、各前記車線アンカーに沿って両方向に前記特定車線要素をトレーシング及びグループピングすることにより、前記車線ブロブを生成することを特徴とする請求項8に記載の方法。
【請求項10】
前記(e)段階で、
前記ポストプロセッシングモジュールが、(i)前記車線ブロブに隣接した前記ピクセルのうち、前記車線要素に含まれていない特定ピクセルを探し出して追加して前記車線ブロブを拡張し、(ii)前記拡張された車線ブロブを統合することにより、前記車線候補群を検出することを特徴とする請求項1に記載の方法。
【請求項11】
前記(e)段階で、
前記ポストプロセッシングモジュールが、前記車線ブロブ間の方向性が互いに一致し、クラスタリングID値が予め設定された範囲内に含まれている前記車線ブロブを統合することにより、前記車線候補群を検出することを特徴とする請求項1に記載の方法。
【請求項12】
前記(e)段階で、
それぞれの前記車線ブロブの方向性と、車線であると誤認されたそれぞれのグループの方向性との差異それぞれは予め設定された閾値以下であるが、それぞれの前記車線ブロブの各クラスタリングID値と、前記誤認されたそれぞれのグループの各クラスタリングID値とが予め設定された範囲内に含まれていない場合、前記ポストプロセッシングモジュールは、前記車線ブロブ及び前記誤認されたグループのうち、前記セグメンテーションスコアマップ上の値の平均がより低い一部を除去することを特徴とする請求項1に記載の方法。
【請求項13】
前記(e)段階で、
前記ラインフィッティング演算は、それぞれの前記車線内に含まれる前記車線の中心座標間の関係を利用する多項式フィッティング(polynomial fitting)により多項式(polynomial)モデルを出力する演算であることを特徴とする請求項1に記載の方法。
【請求項14】
前記(e)段階で、
前記ラインフィッティング演算は、前記車線アンカーの中の、トレーシングを遂行する間にエラーの少ない特定車線アンカーの中心位置をスプライン(spline)のキーポイントに選択することにより、スプラインモデルを出力する演算であることを特徴とする請求項1に記載の方法。
【請求項15】
セグメンテーションスコアマップ及びクラスタリングマップを利用して一つ以上の車線を検出するためのコンピューティング装置において、
インストラクションを格納する少なくとも一つのメモリ;及び
(I)CNN(Convolutional neural network)が入力イメージを利用して前記セグメンテーションスコアマップ及び前記クラスタリングマップを生成すると、前記CNNの後部においてデータプロセッシングを遂行するポストプロセッシングモジュールをもって、(i)前記セグメンテーションスコアマップを参照して、前記入力イメージ上の前記車線を構成するピクセルを含む単位領域である車線要素を検出するようにし、(ii)前記車線要素と、前記セグメンテーションスコアマップと、前記クラスタリングマップとを参照してシード(seed)情報を生成するようにするプロセス、(II)前記ポストプロセッシングモジュールをもって、前記シード情報を参照して前記車線それぞれに対応する一つ以上のベースモデルを生成させ、これを参照して一つ以上の車線アンカー(anchor)を生成するようにするプロセス、(III)前記ポストプロセッシングモジュールをもって、前記車線アンカーを参照して、前記車線要素の少なくとも一つの集合を含む一つ以上の車線ブロブ(Blob)を生成させるプロセス、及び(IV)前記ポストプロセッシングモジュールをもって、(i)前記車線ブロブを参照して前記入力イメージ内の一つ以上の車線候補群を検出するようにし、(ii)前記車線候補群に少なくとも一つのラインフィッティング(line−fitting)演算を適用して少なくとも一つの車線モデルを生成させることにより前記車線を検出するプロセスを遂行するための、前記インストラクションを実行するように構成された少なくとも一つのプロセッサ;
を含むことを特徴とするコンピューティング装置。
【請求項16】
前記セグメンテーションスコアマップ及び前記クラスタリングマップが取得される前に、前記CNNは、前記入力イメージに少なくとも一つのコンボリューション演算及び少なくとも一つのデコンボレーション演算を適用することにより、前記セグメンテーションスコアマップを生成し、(i)前記入力イメージに含まれた前記車線それぞれのピクセルに対応する、前記セグメンテーションスコアマップに含まれたそれぞれの値の異なるクラス間の差異それぞれは増加し、(ii)前記入力イメージに含まれた前記それぞれの車線のピクセルに対応する、前記セグメンテーションスコアマップに含まれた前記それぞれの値の同一クラス内部の分散それぞれは減少するように、ニューラルネットワーク演算を前記セグメンテーションスコアマップに適用することを特徴とする請求項15に記載のコンピューティング装置。
【請求項17】
前記(I)プロセスで、
前記ポストプロセッシングモジュールは、(i)前記入力イメージ上の前記車線要素の位置に対応する中心座標、(ii)前記車線要素の幅、(iii)前記車線要素内に含まれたピクセルに対応する、前記セグメンテーションスコアマップ上の代表値、及び(iv)前記クラスタリングマップを利用して、前記車線要素が含まれた少なくとも一つの車線を示すクラスタリングID値の中の少なくとも一つを含む前記シード情報を生成することを特徴とする請求項15に記載のコンピューティング装置。
【請求項18】
前記(II)プロセスで、
前記ポストプロセッシングモジュールが、前記ベースモデルのうち、最も直線型に近い所定の公式によって表現される特定ベースモデルを、前記車線アンカーの一つとして決定し、前記所定の公式は、前記車線要素の中心座標を参照して導き出されることを特徴とする請求項15に記載のコンピューティング装置。
【請求項19】
前記(II)プロセスで、
前記ポストプロセッシングモジュールが、特定ベースモデルを前記車線アンカーの一つとして決定し、前記特定ベースモデルは、前記ベースモデルのうち、(i)前記セグメンテーションスコアマップ上の代表値が予め設定された閾値以上であり(ii)前記クラスタリングマップを利用して取得されたクラスタリングID値が類似した、特定車線要素を参照して選択されることを特徴とする請求項15に記載のコンピューティング装置。
【請求項20】
前記(II)プロセスで、
前記ポストプロセッシングモジュールが、特定ベースモデルを前記車線アンカーの一つとして決定し、前記特定ベースモデルは、前記ベースモデルのうち、前記シード情報に含まれたクラスタリングID値の最も小さい分散値を有する特定車線要素を参照して選択されることを特徴とする請求項15に記載のコンピューティング装置。
【請求項21】
前記(III)プロセスで、
前記ポストプロセッシングモジュールが、各前記車線アンカーに隣接したそれぞれの特定車線要素をトレーシング(tracing)及びグループピング(grouping)することにより、前記車線ブロブを生成することを特徴とする請求項15に記載のコンピューティング装置。
【請求項22】
前記ポストプロセッシングモジュールが、前記シード情報に含まれた、それぞれの前記車線アンカーに対応する、それぞれのクラスタリングID値と、それぞれの代表値と、それぞれの幅とを参照して、それぞれの前記車線アンカーに隣接したそれぞれの前記特定車線要素をトレーシング及びグループピングすることにより、それぞれの前記車線ブロブを生成することを特徴とする請求項21に記載のコンピューティング装置。
【請求項23】
前記ポストプロセッシングモジュールが、各前記車線アンカーごとに、各前記車線アンカーに沿って両方向に前記特定車線要素をトレーシング及びグループピングすることにより、前記車線ブロブを生成することを特徴とする請求項22に記載のコンピューティング装置。
【請求項24】
前記(IV)プロセスで、
前記ポストプロセッシングモジュールが、(i)前記車線ブロブに隣接した前記ピクセルのうち、前記車線要素に含まれていない特定ピクセルを探し出して追加して前記車線ブロブを拡張し、(ii)前記拡張された車線ブロブを統合することにより、前記車線候補群を検出することを特徴とする請求項15に記載のコンピューティング装置。
【請求項25】
前記(IV)プロセスで、
前記ポストプロセッシングモジュールが、前記車線ブロブ間の方向性が互いに一致し、クラスタリングID値が予め設定された範囲内に含まれている前記車線ブロブを統合することにより、前記車線候補群を検出することを特徴とする請求項15に記載のコンピューティング装置。
【請求項26】
前記(IV)プロセスで、
それぞれの前記車線ブロブの方向性と、車線であると誤認されたそれぞれのグループの方向性との差異それぞれは予め設定された閾値以下であるが、それぞれの前記車線ブロブの各クラスタリングID値と、前記誤認されたそれぞれのグループの各クラスタリングID値とが予め設定された範囲内に含まれていない場合、前記ポストプロセッシングモジュールは、前記車線ブロブ及び前記誤認されたグループのうち、前記セグメンテーションスコアマップ上の値の平均がより低い一部を除去することを特徴とする請求項15に記載のコンピューティング装置。
【請求項27】
前記(IV)プロセスで、
前記ラインフィッティング演算は、それぞれの前記車線内に含まれる前記車線の中心座標間の関係を利用する多項式フィッティング(polynomial fitting)により多項式(polynomial)モデルを出力する演算であることを特徴とする請求項15に記載のコンピューティング装置。
【請求項28】
前記(IV)プロセスで、
前記ラインフィッティング演算は、前記車線アンカーの中の、トレーシングを遂行する間にエラーの少ない特定車線アンカーの中心位置をスプライン(spline)のキーポイントに選択することにより、スプラインモデルを出力する演算であることを特徴とする請求項15に記載のコンピューティング装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自律走行車に利用するためのポストプロセッシング方法及び装置に関し;より詳しくは、自律走行車の走行経路を計画するために車線を検出する前記ポストプロセッシング方法及び前記装置に関する。
【背景技術】
【0002】
ディープ・コンボリューション・ニューラル・ネットワーク(Deep Convolution Neural Networks;DeepCNN)は、ディープラーニング分野で起きた驚くべき発展の核心である。CNNは、文字の認識問題を解くために90年代にすでに使われたが、現在のように広く使われるようになったのは最近の研究結果のおかげだ。このようなディープCNNは2012年ImageNetイメージ分類コンテストで他の競争相手に勝って優勝を収めた。そして、コンボリューションニューラルネットワークはマシンラーニング(Machine Learning)分野で非常に有用なツールとなった。
【0003】
ポストプロセッシング(post−processing)とは、ユーザが望む結果を得るために、ディープCNNから出力された結果に所定の調整を適用する作業を意味する。
【0004】
最近、ディープCNNにおいてポストプロセッシングが多く利用されている。CNNは、自律走行モジュールにおいて多くの役割を担うが、その一つは入力映像から車線を検出することである。車線を検出することにより、車両が走行できる余裕空間を検出したり、車両が道路中央をうまく走行できるように適切に調節する役割をするのである。
【0005】
だが、ディープCNNから導き出された結果だけを利用すると、車線検出の効果が低下する場合が多い。したがって、ディープCNNから導き出された結果をポストプロセッシングして車線を検出するものの、ディープCNNで生成されたセグメンテーションスコアマップのみが利用される場合、ポストプロセッシングの性能はよくない。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、前述した問題点を解決することを目的とする。
【0007】
本発明は、セグメンテーションスコアマップとともにクラスタリングマップを利用することにより、車線検出のためのポストプロセッシングがさらに円滑に行われるようにすることを目的とする。
【0008】
また、本発明は、セグメンテーションスコアマップ及びクラスタリングマップを参照して導き出された、車線要素と、車線アンカー(anchor)と、車線ブロブ(Blob)等とを利用して最適化された車線検出を遂行することを目的とする。
【課題を解決するための手段】
【0009】
前記のような本発明の目的を達成し、後述する本発明の特徴的な効果を実現するための、本発明の特徴的な構成は次の通りである。
【0010】
本発明の一態様によれば、セグメンテーションスコアマップ及びクラスタリングマップを利用して一つ以上の車線を検出するポストプロセッシング(post−processing)方法において、(a)CNN(Convolutional neural network)が入力イメージを利用して前記セグメンテーションスコアマップ及び前記クラスタリングマップを生成すると、コンピューティング装置がこれを取得する段階;(b)前記コンピューティング装置が、前記CNNの後部においてデータプロセッシングを遂行するポストプロセッシングモジュールをもって(i)前記セグメンテーションスコアマップを参照して、前記入力イメージ上の前記車線を構成するピクセルを含む単位領域である車線要素を検出するようにし、(ii)前記車線要素と、前記セグメンテーションスコアマップと、前記クラスタリングマップとを参照してシード(seed)情報を生成するようにする段階;(c)前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、前記シード情報を参照して前記車線それぞれに対応する一つ以上のベースモデルを生成させ、これを参照して一つ以上の車線アンカー(anchor)を生成するようにする段階;(d)前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、前記車線アンカーを参照して、前記車線要素の少なくとも一つの集合を含む一つ以上の車線ブロブ(Blob)を生成させる段階;及び(e)前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、(i)前記車線ブロブを参照して前記入力イメージ内の一つ以上の車線候補群を検出するようにし、(ii)前記車線候補群に少なくとも一つのラインフィッティング(line−fitting)演算を適用して少なくとも一つの車線モデルを生成させることにより前記車線を検出する段階;を含むことを特徴とする方法が提供される。
【0011】
一例として、前記(a)段階以前に、前記CNNは、前記入力イメージに少なくとも一つのコンボリューション演算及び少なくとも一つのデコンボレーション演算を適用することにより、前記セグメンテーションスコアマップを生成し、(i)前記入力イメージに含まれた前記車線それぞれのピクセルに対応する、前記セグメンテーションスコアマップに含まれたそれぞれの値の異なるクラス間の差異それぞれは増加し、(ii)前記入力イメージに含まれた前記それぞれの車線のピクセルに対応する、前記セグメンテーションスコアマップに含まれた前記それぞれの値の同一クラス内部の分散それぞれは減少するように、ニューラルネットワーク演算を前記セグメンテーションスコアマップに適用する。
【0012】
一例として、前記(b)段階で、前記ポストプロセッシングモジュールは、(i)前記入力イメージ上の前記車線要素の位置に対応する中心座標、(ii)前記車線要素の幅、(iii)前記車線要素内に含まれたピクセルに対応する、前記セグメンテーションスコアマップ上の代表値、及び(iv)前記クラスタリングマップを利用して、前記車線要素が含まれた少なくとも一つの車線を示すクラスタリングID値の中の少なくとも一つを含む前記シード情報を生成する。
【0013】
一例として、前記(c)段階で、前記ポストプロセッシングモジュールが、前記ベースモデルのうち、最も直線型に近い所定の公式によって表現される特定ベースモデルを、前記車線アンカーの一つとして決定し、前記所定の公式は、前記車線要素の前記中心座標を参照して導き出される。
【0014】
一例として、前記(c)段階で、前記ポストプロセッシングモジュールが、特定ベースモデルを前記車線アンカーの一つとして決定し、前記特定ベースモデルは、前記ベースモデルのうち、(i)前記セグメンテーションスコアマップ上の代表値が予め設定された閾値以上であり(ii)前記クラスタリングマップを利用して取得されたクラスタリングID値が類似した、特定車線要素を参照して選択される。
【0015】
一例として、前記(c)段階で、前記ポストプロセッシングモジュールが、特定ベースモデルを前記車線アンカーの一つとして決定し、前記特定ベースモデルは、前記ベースモデルのうち、前記シード情報に含まれたクラスタリングID値の最も小さい分散値を有する特定車線要素を参照して選択される。
【0016】
一例として、前記(d)段階において、前記ポストプロセッシングモジュールが、各前記車線アンカーに隣接したそれぞれの特定車線要素をトレーシング(tracing)及びグループピング(grouping)することにより、前記車線ブロブを生成する。
【0017】
一例として、前記ポストプロセッシングモジュールが、前記シード情報に含まれた、それぞれの前記車線アンカーに対応する、それぞれのクラスタリングID値と、それぞれの代表値と、それぞれの幅とを参照して、それぞれの前記車線アンカーに隣接したそれぞれの前記特定車線要素をトレーシング及びグループピングすることにより、それぞれの前記車線ブロブを生成する。
【0018】
一例として、前記ポストプロセッシングモジュールが、各前記車線アンカーごとに、各前記車線アンカーに沿って両方向に前記特定車線要素をトレーシング及びグループピングすることにより、前記車線ブロブを生成する。
【0019】
一例として、前記(e)段階で、前記ポストプロセッシングモジュールが、(i)前記車線ブロブに隣接した前記ピクセルのうち、前記車線要素に含まれていない特定ピクセルを探し出して追加して前記車線ブロブを拡張し、(ii)前記拡張された車線ブロブを統合することにより、前記車線候補群を検出する。
【0020】
一例として、前記(e)段階で、前記ポストプロセッシングモジュールが、前記車線ブロブ間の方向性が互いに一致し、前記クラスタリングID値が予め設定された範囲内に含まれている前記車線ブロブを統合することにより、前記車線候補群を検出する。
【0021】
一例として、前記(e)段階で、それぞれの前記車線ブロブの方向性と、車線であると誤認されたそれぞれのグループの方向性との差異それぞれは予め設定された閾値以下であるが、それぞれの前記車線ブロブの各クラスタリングID値と、前記誤認されたそれぞれのグループの各クラスタリングID値とが予め設定された範囲内に含まれていない場合、前記ポストプロセッシングモジュールは、前記車線ブロブ及び前記誤認されたグループのうち、前記セグメンテーションスコアマップ上の値の平均がより低い一部を除去する。
【0022】
一例として、前記(e)段階で、前記ラインフィッティング演算は、それぞれの前記車線内に含まれる前記車線の中心座標間の関係を利用する多項式フィッティング(polynomial fitting)により多項式(polynomial)モデルを出力する演算である。
【0023】
一例として、前記(e)段階で、前記ラインフィッティング演算は、前記車線アンカーの中の、前記トレーシングを遂行する間にエラーの少ない特定車線アンカーの中心位置をスプライン(spline)のキーポイントに選択することにより、スプラインモデルを出力する演算である。
【0024】
本発明の他の態様によれば、セグメンテーションスコアマップ及びクラスタリングマップを利用して一つ以上の車線を検出するためのコンピューティング装置において、インストラクションを格納する少なくとも一つのメモリ;及び(I)CNN(Convolutional neural network)が前記入力イメージを利用して前記セグメンテーションスコアマップ及び前記クラスタリングマップを生成すると、前記CNNの後部においてデータプロセッシングを遂行するポストプロセッシングモジュールをもって、(i)前記セグメンテーションスコアマップを参照して、前記入力イメージ上の前記車線を構成するピクセルを含む単位領域である車線要素を検出するようにし、(ii)前記車線要素と、前記セグメンテーションスコアマップと、前記クラスタリングマップとを参照してシード(seed)情報を生成するようにするプロセス、(II)前記ポストプロセッシングモジュールをもって、前記シード情報を参照して前記車線それぞれに対応する一つ以上のベースモデルを生成させ、これを参照して一つ以上の車線アンカー(anchor)を生成するようにするプロセス、(III)前記ポストプロセッシングモジュールをもって、前記車線アンカーを参照して、前記車線要素の少なくとも一つの集合を含む一つ以上の車線ブロブ(Blob)を生成させるプロセス、及び(IV)前記ポストプロセッシングモジュールをもって、(i)前記車線ブロブを参照して前記入力イメージ内の一つ以上の車線候補群を検出するようにし、(ii)前記車線候補群に少なくとも一つのラインフィッティング(line−fitting)演算を適用して少なくとも一つの車線モデルを生成させることにより前記車線を検出するプロセスを遂行するための、前記インストラクションを実行するように構成された少なくとも一つのプロセッサ;を含むことを特徴とするコンピューティング装置が提供される。
【0025】
一例として、前記セグメンテーションスコアマップ及び前記クラスタリングマップが取得される前に、前記CNNは、前記入力イメージに少なくとも一つのコンボリューション演算及び少なくとも一つのデコンボレーション演算を適用することにより、前記セグメンテーションスコアマップを生成し、(i)前記入力イメージに含まれた前記車線それぞれのピクセルに対応する、前記セグメンテーションスコアマップに含まれたそれぞれの値の異なるクラス間の差異それぞれは増加し、(ii)前記入力イメージに含まれた前記それぞれの車線のピクセルに対応する、前記セグメンテーションスコアマップに含まれた前記それぞれの値の同一クラス内部の分散それぞれは減少するように、ニューラルネットワーク演算を前記セグメンテーションスコアマップに適用する。
【0026】
一例として、前記(I)プロセスで、前記ポストプロセッシングモジュールは、(i)前記入力イメージ上の前記車線要素の位置に対応する中心座標、(ii)前記車線要素の幅、(iii)前記車線要素内に含まれたピクセルに対応する、前記セグメンテーションスコアマップ上の代表値、及び(iv)前記クラスタリングマップを利用して、前記車線要素が含まれた少なくとも一つの車線を示すクラスタリングID値の中の少なくとも一つを含む前記シード情報を生成する。
【0027】
一例として、 前記(II)プロセスで、前記ポストプロセッシングモジュールが、前記ベースモデルのうち、最も直線型に近い所定の公式によって表現される特定ベースモデルを、前記車線アンカーの一つとして決定し、前記所定の公式は、前記車線要素の前記中心座標を参照して導き出される。
【0028】
一例として、前記(II)プロセスで、前記ポストプロセッシングモジュールが、特定ベースモデルを前記車線アンカーの一つとして決定し、前記特定ベースモデルは、前記ベースモデルのうち、(i)前記セグメンテーションスコアマップ上の代表値が予め設定された閾値以上であり(ii)前記クラスタリングマップを利用して取得されたクラスタリングID値が類似した、特定車線要素を参照して選択される。
【0029】
一例として、前記(II)プロセスで、前記ポストプロセッシングモジュールが、特定ベースモデルを前記車線アンカーの一つとして決定し、前記特定ベースモデルは、前記ベースモデルのうち、前記シード情報に含まれたクラスタリングID値の最も小さい分散値を有する特定車線要素を参照して選択される。
【0030】
一例として、前記(III)プロセスで、前記ポストプロセッシングモジュールが、各前記車線アンカーに隣接したそれぞれの特定車線要素をトレーシング(tracing)及びグループピング(grouping)することにより、前記車線ブロブを生成する。
【0031】
一例として、前記ポストプロセッシングモジュールが、前記シード情報に含まれた、それぞれの前記車線アンカーに対応する、それぞれのクラスタリングID値と、それぞれの代表値と、それぞれの幅とを参照して、それぞれの前記車線アンカーに隣接したそれぞれの前記特定車線要素をトレーシング及びグループピングすることにより、それぞれの前記車線ブロブを生成する。
【0032】
一例として、前記ポストプロセッシングモジュールが、各前記車線アンカーごとに、各前記車線アンカーに沿って両方向に前記特定車線要素をトレーシング及びグループピングすることにより、前記車線ブロブを生成する。
【0033】
一例として、前記(IV)プロセスで、前記ポストプロセッシングモジュールが、(i)前記車線ブロブに隣接した前記ピクセルのうち、前記車線要素に含まれていない特定ピクセルを探し出して追加して前記車線ブロブを拡張し、(ii)前記拡張された車線ブロブを統合することにより、前記車線候補群を検出する。
【0034】
一例として、前記(IV)プロセスで、前記ポストプロセッシングモジュールが、前記車線ブロブ間の方向性が互いに一致し、前記クラスタリングID値が予め設定された範囲内に含まれている前記車線ブロブを統合することにより、前記車線候補群を検出する。
【0035】
一例として、前記(IV)プロセスで、それぞれの前記車線ブロブの方向性と、車線であると誤認されたそれぞれのグループの方向性との差異それぞれは予め設定された閾値以下であるが、それぞれの前記車線ブロブの各クラスタリングID値と、前記誤認されたそれぞれのグループの各クラスタリングID値とが予め設定された範囲内に含まれていない場合、前記ポストプロセッシングモジュールは、前記車線ブロブ及び前記誤認されたグループのうち、前記セグメンテーションスコアマップ上の値の平均がより低い一部を除去する。
【0036】
一例として、前記(IV)プロセスで、前記ラインフィッティング演算は、それぞれの前記車線内に含まれる前記車線の中心座標間の関係を利用する多項式フィッティング(polynomial fitting)により多項式(polynomial)モデルを出力する演算である。
【0037】
一例として、前記(IV)プロセスで、前記ラインフィッティング演算は、前記車線アンカーの中の、前記トレーシングを遂行する間にエラーの少ない特定車線アンカーの中心位置をスプライン(spline)のキーポイントに選択することにより、スプラインモデルを出力する演算である。
【発明の効果】
【0038】
本発明は、セグメンテーションスコアマップとともにクラスタリングマップを利用して車線検出のためのポストプロセッシング(post−processing)がより円滑に行われるようにする効果がある。
【0039】
また、本発明は、セグメンテーションスコアマップ及びクラスタリングマップを参照して導き出された、車線要素と、車線アンカー(anchor)と、車線ブロブ(Blob)等とを利用して最適化された車線検出を遂行する効果がある。
【図面の簡単な説明】
【0040】
本発明の実施例の説明に利用されるために添付された以下の各図面は、本発明の実施例のうちの一部に過ぎず、本発明が属する技術分野でおいて、通常の知識を有する者(以下「通常の技術者」)は、発明的作業が行われることなくこの図面に基づいて他の図面が得られ得る。
【
図1】本発明のセグメンテーションスコアマップ及びクラスタリングマップを利用して車線を検出するポストプロセッシング(post−processing)方法を遂行するコンピューティング装置の構成を示した図面である。
【
図2】本発明の一例に係るポストプロセッシング方法の流れを示したフローチャートである。
【
図3】本発明の一例に係るポストプロセッシングモジュールによって利用されるセグメンテーションスコアマップ及びクラスタリングマップを示した図面である。
【
図4】本発明の一例に係る車線要素を示した図面である。
【
図5】本発明の一例に係る車線アンカーを示した図面である。
【
図6】本発明の一例に係る車線ブロブを示した図面である。
【発明を実施するための形態】
【0041】
後述する本発明に対する詳細な説明は、本発明の各目的、技術的解決方法及び長所を明確にするために、本発明が実施され得る特定実施例を例示として示す添付図面を参照する。これらの実施例は、通常の技術者が本発明を実施することができるように充分詳細に説明される。
【0042】
また、本発明の詳細な説明及び各請求項にわたって、「含む」という単語及びそれらの変形は、他の技術的各特徴、各付加物、構成要素又は段階を除外することを意図したものではない。通常の技術者にとって本発明の他の各目的、長所及び各特性が、一部は本説明書から、また一部は本発明の実施から明らかになるであろう。以下の例示及び図面は実例として提供され、本発明を限定することを意図したものではない。
【0043】
さらに、本発明は、本明細書に示された実施例のあらゆる可能な組み合わせを網羅する。本発明の多様な実施例は相互異なるが、相互排他的である必要はないことを理解されたい。例えば、ここに記載されている特定の形状、構造及び特性は一例と関連して、本発明の精神及び範囲を逸脱せず、かつ他の実施例で実装され得る。また、各々の開示された実施例内の個別構成要素の位置または配置は本発明の精神及び範囲を逸脱せずに変更され得ることを理解されたい。従って、後述する詳細な説明は限定的な意味で捉えようとするものではなく、本発明の範囲は、適切に説明されれば、その請求項が主張することと均等なすべての範囲と、併せて添付された請求項によってのみ限定される。図面で類似する参照符号はいくつかの側面にかけて同一か類似する機能を指称する。
【0044】
本発明で言及している各種イメージは、舗装または非舗装道路関連のイメージを含み得、この場合、道路環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではなく、本発明で言及している各種イメージは、道路と関係のないイメージ(例えば、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内と関連したイメージ)でもあり得、この場合、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではない。
【0045】
以下、本発明が属する技術分野で通常の知識を有する者が本発明を容易に実施することができるようにするために、本発明の好ましい実施例について添付の図面に基づいて詳細に説明する。
【0046】
本発明において、すべてのプロセッサ、すべてのメモリ、すべての格納装置、あるいはその他のコンピューティング構成要素は相互に分離して記述されるが、前記すべてのプロセッサ、前記すべてのメモリ、前記すべての格納装置、あるいは前記その他コンピューティング構成要素は、単一装置あるいはこれらの組み合わせで構成されることもある。
【0047】
図1は、本発明のセグメンテーションスコアマップ及びクラスタリングマップを利用して車線を検出するポストプロセッシング(post−processing)方法を遂行するコンピューティング装置の構成を示した図面である。
【0048】
図1を参照すれば、前記コンピューティング装置100は、CNN(Convolutional Neural Network)200及びポストプロセッシングモジュール300を含み得る。前記CNN200及び前記ポストプロセッシングモジュール300の演算過程は、それぞれの通信部110及びプロセッサ120によって行われ得る。ただし、
図1では、前記通信部110及び前記プロセッサ120の具体的な連結関係を省略した。また、前記コンピューティング装置は、後述するプロセスを遂行するコンピュータ読取り可能なインストラクション(computer readable instruction)を格納し得るメモリ115を追加的に含み得る。一例として、前記プロセッサ、前記メモリ、及び媒体等は、一つのプロセッサに統合されて機能することもできる。
【0049】
以上、本発明の前記セグメンテーションスコアマップ及び前記クラスタリングマップを利用して車線を検出する前記ポストプロセッシング方法を遂行する前記コンピューティング装置100の構成を説明したところ、本発明の前記ポストプロセッシング方法について、
図2を参照して概括的に説明する。
【0050】
図2は、本発明の一例に係る前記ポストプロセッシング方法の流れを示したフローチャートである。
【0051】
図2を参照すれば、前記CNN200によって入力イメージから前記セグメンテーションスコアマップと前記クラスタリングマップとが生成されると、前記ポストプロセッシングモジュール300がこれを取得するであろう(S01)。前記ポストプロセッシングモジュール300が車線の要素を検出し(S02)、前記車線要素と、前記セグメンテーションスコアマップと、前記クラスタリングマップとを参照してシード(seed)情報を生成するであろう(S03)。この後、前記ポストプロセッシングモジュール300は、前記シード情報を参照して車線アンカーを生成し(S04)、前記車線アンカーそれぞれを参照して各車線ブロブを生成し得る(S05)。最後に、前記ポストプロセッシングモジュール300は、前記車線ブロブを参照して車線候補群を検出し(S06)、前記車線候補群に少なくとも一つのラインフィッティング(line−fitting)演算を適用することにより前記車線を検出する(S07)。
【0052】
図2を参照に概括的な本発明の一例に係る前記ポストプロセッシング方法を述べたが、これをさらに具体的に説明する。
【0053】
まず、前記CNN200をもって、前記入力イメージから前記セグメンテーションスコアマップ及び前記クラスタリングマップが生成されると、前記コンピューティング装置100内に含まれた前記通信部110がこれを取得し、前記ポストプロセッシングモジュール300に前記セグメンテーションスコアマップ及び前記クラスタリングマップが伝達される。前記セグメンテーションスコアマップ及び前記クラスタリングマップを生成するプロセスは、
図3を参照して説明することにする。
【0054】
図3は、本発明の一例に係る前記ポストプロセッシングモジュールによって利用され得る前記セグメンテーションスコアマップ及び前記クラスタリングマップを示した図面である。
【0055】
図3を参照すれば、前記入力イメージ上の車線と車線ではない部分が区分されるように、前記セグメンテーションスコアマップ内にセグメンテーションスコアが分布していることが確認できる。ここで、前記セグメンテーションスコアマップは全て数字で構成されているが、
図3において前記セグメンテーションスコアマップを視覚化するために前記数字の大きさによって色(日本の特許法施行規則において着色図面が認められていないため、白黒図面を添付)を変えて表現した。前記セグメンテーションスコアマップだけを参照して車線と車線ではない部分は区別され得るが、前記車線と判断されるそれぞれのピクセルが同じ車線に属するか否か、あるいは互いに異なる車線に属するか否かを判断できないので、前記クラスタリングマップが一緒に利用され、前記クラスタリングマップ上の各前記値は、それぞれの前記ピクセルが同じクラスタあるいは互いに異なるクラスタ内に含まれているか否かを示す。
図3を再び参照すれば、前記入力イメージと比較した際、左側車線と、真ん中の車線と、右側車線とのそれぞれは互いに区分される領域に属し、同じ領域内に存在する値は互いに類似する。従って、
図3において同一車線に対応する領域は類似した色を示す。このように、前記CNNから導き出された二つのマップを利用して、前記ポストプロセッシングモジュール300は、前記車線を検出することができる。
【0056】
この際、前記CNN200は、前記入力イメージに少なくとも一つのコンボリューション演算及び少なくとも一つのデコンボレーション演算を適用することにより、前記セグメンテーションスコアマップを生成し、(i)前記入力イメージ内に含まれた前記車線それぞれのピクセルに対応する、前記セグメンテーションスコアマップに含まれたそれぞれの値の異なるクラス間の差異それぞれは増加し、(ii)前記入力イメージ内に含まれた前記それぞれの車線のピクセルに対応する、前記セグメンテーションスコアマップに含まれた前記それぞれの値の同一クラス内部の分散それぞれは減少するように、ニューラルネットワーク演算を前記セグメンテーションスコアマップに適用する。
【0057】
前記のようなプロセスに応じて前記コンピューティング装置100が前記ポストプロセッシングモジュール300をもって、前記セグメンテーションスコアマップ及び前記クラスタリングマップをどのように利用するようにするか説明するための前提として、
図4を参照して前記車線要素がどのように定義されるのかを説明することにする。
【0058】
図4は、本発明の一例に係る前記車線要素を示した図面である。
図4を参照すれば、前記車線要素は、前記入力イメージ上で前記車線を構成するピクセルを含む単位領域であることが分かる。前記車線要素は、前記Y軸上の位置を変更しながら前記入力イメージ上の車線をX軸方向に沿って切断されたそれぞれの単位領域であり得るが、これに限るものではないであろう。以下、この発明では、前記車線要素が
図4と類似して前記Y軸方向に一つのピクセル幅を有しながら前記X軸方向に沿って切断された単位領域であることを想定して説明することにする。
【0059】
前記ポストプロセッシングモジュール300が、前記セグメンテーションスコアマップ上で周辺の値より大きい値を有するピクセルを車線候補群の領域として検出し、前記Y軸方向に配列されたピクセルごと、前記X軸方向に沿って前記車線候補群の領域を切断して生成された結果を前記車線要素として検出し得る。
【0060】
前記車線要素が検出されると、前記ポストプロセッシングモジュール300は、前記車線要素及び前記クラスタリングマップを利用して、それぞれの前記車線要素に対応するそれぞれの前記シード情報を生成するのだが、これについて具体的に説明する。
【0061】
前記ポストプロセッシングモジュール300は、(i)それぞれの前記車線要素の両端座標を検出し、前記両端座標を利用して中心に位置したピクセルの座標を算出し、(ii)前記検出された両段座標を利用して、それぞれの前記車線要素の横幅を算出し、(iii)それぞれの前記車線要素内に含まれたピクセルに対応する前記セグメンテーションスコアマップ上の前記値のうち、最も大きい値それぞれをそれぞれの前記車線要素の代表値それぞれに決定し得、(iv)前記クラスタリングマップを利用して、前記車線要素それぞれがどの車線に属するかを示すそれぞれのクラスタリングID値を取得することができる。それぞれの前記クラスタリングID値は、前記中心座標に対応する、前記クラスタリングマップ上の値あるいは前記代表値のピクセルに対応する前記クラスタリングマップ上の値であり得るが、これに限られるものではないであろう。つまり、ポストプロセッシングモジュール300は、それぞれの前記車線要素に対応する、(i)前記中心座標、(ii)前記車線要素の幅、(iii)前記代表値、及び(iv)前記クラスタリングID値を含む前記シード情報を生成する。
【0062】
前記シード情報が前記ポストプロセッシングモジュール300によって生成されると、前記コンピューティング装置100は、前記ポストプロセッシングモジュール300をもって、前記シード情報を参照して、車線ごとに車線のアンカー(anchor)を検出するようにする。
【0063】
前記車線アンカーは、ベースモデルの中で、車線としての特徴性が最も強い特定ベースモデルである。これは、後述する車線としての特徴性を最も強く有することを意味する。その際、前記車線アンカーを基盤に前記車線要素に統合演算等の一つ以上の演算を加えて前記車線が検出されるはずなので、車線としての特徴性が最も強い前記特定ベースモデルが前記車線アンカーとして決定されるのである。前記特定ベースモデルを探すために、前記シード情報を参照して、車線ごとに一つ以上のベースモデルが生成され、前記特定ベースモデルを基盤に車線が導き出される際に最もエラーが少ないと予想される前記特定ベースモデルが前記車線アンカーとして決定される。
【0064】
前記ポストプロセッシングモジュール300によって前記車線のアンカーを決定する方法を次に説明する。
【0065】
前記ポストプロセッシングモジュール300は、前記車線要素の前記中心座標間の数学的関係を導き出し、これに応じて前記各ベースモデルを生成することができる。前記ポストプロセッシングモジュール300は、前記ベースモデルのうち、最も直線型に近い所定の公式によって表現される特定ベースモデルを、前記車線アンカーとして決定し、前記所定の公式は、前記車線要素の前記中心座標を参照して導き出される。例えば、前記所定の公式は直線にうまくフィッティングするものであろう。
【0066】
すなわち、前記所定の公式が直線を示すほどに前記車線要素が一貫したグループを成しているならば、前記特定ベースモデルをベースに車線を検出した際に良い結果が導き出されることが予想されるため、これを前記車線アンカーとして決定する。このような前記車線アンカーの一例を見てみるために、
図5を参照することにする。
【0067】
図5は、本発明の一例に係る前記車線アンカーを示した図面である。
図5を参照すると、それぞれの前記車線内で最も直線に近い部分に対応する少なくとも一つの特定ベースモデルが前記車線アンカーの中の少なくとも一つとして決定されたことが分かる。このように、前記決定された車線アンカーそれぞれを利用してそれぞれの前記車線ブロブが生成され、その後、ピクセルを前記車線ブロブに追加する演算を適用して前記車線が検出されるのである。前記車線アンカーは前記車線検出の基盤となるので、車線としての特徴性が最も強いモデルが選択されるべきである。
【0068】
前記のように、前記車線要素の前記中心座標に対応するグラフの線形性を基盤に前記車線アンカーを決定し得、また他の例として、前記車線要素の前記代表値を利用して前記車線アンカーが決定され得る。
【0069】
つまり、前記ポストプロセッシングモジュール300が、それぞれの前記車線の要素に対応する前記シード情報内に含まれた代表値が所定閾値以上であり、前記シード情報内に含まれたクラスタリングID値が互いに類似した車線の要素を参照して、前記車線のアンカーを決定することができる。
【0070】
前記セグメンテーションスコアマップ上の値それぞれは、前記CNN200によって前記入力イメージ上の各ピクセルが車線の一部として決定される確率を示す。この際、それぞれの前記値が大きければ、前記ピクセルが前記車線の一部である確率が高いことを意味する。従って、代表値が所定の閾値以上の車線要素に対応する前記特定ベースモデルを基盤に車線が検出されると良い結果が導き出されると予想されるため、このように前記車線アンカーが決定され得る。前記クラスタリングID値が互いに類似しているという条件は、前記クラスタリングID値がそれぞれの前記車線ごとにそれぞれの前記車線アンカーを区別するために利用されるため要求される条件である。
【0071】
さらに、前記クラスタリングID値を利用して前記車線アンカーを生成することもできるであろう。つまり、前記ポストプロセッシングモジュール300が、前記それぞれの車線要素に対応する前記クラスタリングID値の分散が一番小さい車線要素を参照して、前記車線のアンカーを決定することができる。
【0072】
前記クラスタリングマップ上の値は、それぞれのピクセルがどのグループに属するかを示す。前記値間の分散が小さい場合、小さな分散を有する前記値に対応するピクセルが同じ車線の一部である確率が高く判断される。従って、前記シード情報上の前記クラスタリングID値の分散が最も小さい車線要素に対応する前記特定ベースモデルを基盤に車線が検出されれば良い結果が導き出されると予想されるため、このように前記車線アンカーが決定され得るのである。
【0073】
前記のような方法により前記車線アンカーが決定されると、前記ポストプロセッシングモジュール300は、前記車線アンカーに隣接した車線要素の集合に対応する前記車線ブロブを生成する。前記車線ブロブについて説明するため、
図6を参照する。
【0074】
図6は、本発明の一例に係る前記車線ブロブを示した図面である。
図6を参照すれば、各前記車線アンカーに隣接したそれぞれの車線要素をトレーシング(tracing)及びグループピング(grouping)することにより、前記車線ブロブを生成する。具体的に、ポストプロセッシングモジュール300は、それぞれの前記車線アンカー周辺の前記車線要素に対応する前記シード情報上のクラスタリングID値の分布と、代表値の分布と、横軸の幅とを参照して、前記車線要素を前記車線ブロブに含めるか否か決定する。特定車線の要素が前記車線ブロブに含まれれば、前記ポストプロセッシングモジュール300は、前記新たに追加された特定車線要素を利用して、前記車線アンカーをアップデートし、このようなプロセスを各車線の車線アンカーに沿って両方向に繰り返すことにより前記車線ブロブを拡張していく。
【0075】
前記のような方法で前記車線ブロブが生成されれば、前記ポストプロセッシングモジュール300は、前記生成された車線ブロブを参照して前記入力イメージ内の前記車線候補群を検出し、前記検出された車線候補群に前記ラインフィッティング演算を適用して少なくとも一つの車線モデルを生成することで、前記車線を検出することになる。
【0076】
具体的に説明すると、まず、前記ポストプロセッシングモジュール300が前記車線ブロブに隣接したピクセルのうち、前記車線要素に含まれないが前記車線に含まれたピクセルを見つけて追加して前記車線ブロブを拡張し、前記拡張された車線ブロブを統合して、過多な車線ブロブの中から車線である確率がより低い車線ブロブを除去する。
【0077】
前記車線ブロブを統合するプロセスは次の通りである。前記ポストプロセッシングモジュール300が、方向性が互いに一致し、クラスタリングID値が予め設定された範囲以内に含まれる前記車線ブロブを統合することにより、このような車線ブロブは同じ車線の一部に決定されるので、前記車線候補群を検出することができる。
【0078】
前記車線ブロブを除去するプロセスは次の通りである。それぞれの前記車線ブロブの方向性と、車線であると誤認されたそれぞれのグループの方向性とは類似するが、それぞれの前記車線ブロブの各クラスタリングID値と、前記誤認されたそれぞれのグループの各クラスタリングID値とが予め設定された範囲内に含まれていない場合、前記ポストプロセッシングモジュール300は、前記車線ブロブ及び前記誤認されたグループのうち、前記セグメンテーションスコアマップ上の値の平均がより低い一部を除去することができる。
【0079】
前記車線ブロブを統合及び除去する過程において、前記クラスタリングID値が類似しているか否かについては、それぞれの前記クラスタリングID値がそれぞれの予め設定された範囲内に属しているかを確認して判断される。
【0080】
前記のようなプロセスによってそれぞれの前記車線に対する前記車線候補群が検出されると、前記車線モデルが前記車線候補群に前記ラインフィッティング演算を適用して生成されることにより、最終的に前記車線が検出される。前記ラインフィッティング演算として、様々な方法が適用され得る。例えば、前記多項式フィッティング(polynomial fitting)またはスプライン(spline)曲線を利用した方法が適用され得る。
【0081】
前記多項式フッティングが利用される場合、前記車線候補群に含まれた前記車線要素の前記中心座標のそれぞれの第1成分とそれぞれの第2成分との間の関係を示す多項式を利用して、前記車線に対するラインフィッティングが遂行され、その結果である車線モデルが生成されて前記車線を検出することができるであろう。
【0082】
前記スプランの曲線が利用される場合、前記車線アンカーのうちエラーが小さいアンカーの中心位置が前記スプランのキーポイントに選択された多項式モデルを生成して車線モデルが生成されることにより、車線が検出されるであろう。
本発明により前記車線を検出して、自律走行車のための走行経路を最適化することができる。
【0083】
また、以上で説明された本発明に係る実施例は、多様なコンピュータ構成要素を通じて遂行できるプログラム命令語の形態で実装されてコンピュータ読取り可能な記録媒体に記録され得る。前記コンピュータで読取り可能な記録媒体はプログラム命令語、データファイル、データ構造などを単独でまたは組み合わせて含まれ得る。前記コンピュータ読取り可能な記録媒体に記録されるプログラム命令語は、本発明のために特別に設計されて構成されたものであるか、コンピュータソフトウェア分野の当業者に公知となって使用可能なものでもよい。コンピュータで判読可能な記録媒体の例には、ハードディスク、フロッピーディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカルディスク(flopticaldisk)のような磁気−光媒体(magneto−opticalmedia)、およびROM、RAM、フラッシュメモリなどといったプログラム命令語を格納して遂行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作られるもののような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードも含まれる。前記ハードウェア装置は、本発明に係る処理を遂行するために一つ以上のソフトウェアモジュールとして作動するように構成され得、その逆も同様である。
【0084】
以上、本発明が具体的な構成要素などのような特定事項と限定された実施例及び図面によって説明されたが、これは本発明のより全般的な理解を助けるために提供されたものであるに過ぎず、本発明が前記実施例に限られるものではなく、本発明が属する技術分野において通常の知識を有する者であれば係る記載から多様な修正及び変形が行われ得る。
【0085】
従って、本発明の思想は前記説明された実施例に局限されて定められてはならず、後述する特許請求の範囲だけでなく、本特許請求の範囲と均等または等価的に変形されたものすべては、本発明の思想の範囲に属するといえる。