(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6856852
(24)【登録日】2021年3月23日
(45)【発行日】2021年4月14日
(54)【発明の名称】横フィルタマスクを利用して自律走行車の走行経路を計画するために車線要素を検出する方法及び装置
(51)【国際特許分類】
G06T 7/60 20170101AFI20210405BHJP
G06T 7/00 20170101ALI20210405BHJP
G08G 1/16 20060101ALI20210405BHJP
【FI】
G06T7/60 200J
G06T7/00 650A
G06T7/00 350C
G08G1/16 C
【請求項の数】20
【全頁数】21
(21)【出願番号】特願2020-4555(P2020-4555)
(22)【出願日】2020年1月15日
(65)【公開番号】特開2020-126609(P2020-126609A)
(43)【公開日】2020年8月20日
【審査請求日】2020年1月15日
(31)【優先権主張番号】16/263,123
(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)【参考文献】
【文献】
KIM JIHUN ET AL.,Fast learning metod for convolutional neural networks using extreme learning machine and its application to lane detection,NEURAL NETWORKS ELSEVIER SCIENCE PUBLISHERS,2016年12月10日,vol. 87,pp. 109-121
【文献】
MINGU PARK ET AL.,Diagonally-reinforced Lane Detection Scheme for High performance Advanced Driver Assistance Systems,JOURNAL OF SEMICONDUCTOR TECHNOLOGY AND SCIENCE,2017年 2月28日,vol. 17, no. 1,pp. 79-85
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00−7/90
G08G 1/16
(57)【特許請求の範囲】
【請求項1】
少なくとも一つの横フィルタマスクを利用して、少なくとも一つの入力イメージ内に位置した一つ以上の車線のピクセルを含む一つ以上の単位領域である一つ以上の車線要素を検出する方法において、
(a)CNN(Convolutional neural network)が前記入力イメージを利用して少なくとも一つのセグメンテーションスコアマップを生成すると、コンピューティング装置がこれを取得する段階;
(b)前記コンピューティング装置が、前記CNNの出力端においてデータプロセッシングを遂行する少なくとも一つのポストプロセッシング(post−processing)モジュールをもって、(i)前記セグメンテーションスコアマップ及び(ii)多数のフィルタリングパラメータを含む前記横フィルタマスクを利用して、少なくとも一つのマグニチュードマップ(Magnitude map)を生成させる段階;
(c)前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、前記マグニチュードマップの値を参照して前記セグメンテーションスコアマップの各行ごとの一つ以上の車線要素候補群それぞれを決定させる段階;及び
(d)前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、各前記行ごとの前記車線要素候補群それぞれに一つ以上の予測演算を適用するようにすることにより、それぞれの前記車線要素を検出させる段階;
を含むことを特徴とする方法。
【請求項2】
前記(b)段階で、
前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、前記セグメンテーションスコアマップの値を、前記横フィルタマスクを利用して変換することにより前記マグニチュードマップを生成させることを特徴とする請求項1に記載の方法。
【請求項3】
m×nのサイズを有する前記セグメンテーションスコアマップ上の第k行(kは、1以上n以下の整数(Integer)である)内に含まれた値の座標を(x,k)(xは、1以上m以下の整数である)とした場合、前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、前記マグニチュードマップ上の(x,k)の値を算出して前記セグメンテーションスコアマップと同じ大きさを有する前記マグニチュードマップを生成するようにし、
(i)xが2以上m−1以下の場合、前記横フィルタマスクに含まれた[−1,0,1]値を前記セグメンテーションスコアマップ上の(x−1,k),(x,k)及び(x+1,k)の値にそれぞれ乗じて生成されたそれぞれの要素ごとの乗算結果の要素の合計それぞれを前記マグニチュードマップ上の(x,k)のそれぞれの値とし、
(ii)xが1である場合、前記横フィルタマスクに含まれた[0,1]値をそれぞれ前記セグメンテーションスコアマップ上の(x,k)及び(x+1,k)の値にそれぞれ乗じて生成されたそれぞれの要素ごとの乗算結果の要素の合計を前記マグニチュードマップ上の(x,k)の値とし、
(iii)xがmである場合、前記横フィルタマスクに含まれた[−1,0]値を前記セグメンテーションスコアマップ上の(x−1,k)及び(x,k)の値にそれぞれ乗じて生成されたそれぞれの要素ごとの乗算結果の要素の合計を前記マグニチュードマップ上の(x,k)の値とすることを特徴とする請求項2に記載の方法。
【請求項4】
前記(c)段階で、
前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、前記セグメンテーションスコアマップの前記行それぞれに対応する前記マグニチュードマップに含まれている値それぞれの絶対値及び符号を参照して、各前記行ごとの前記車線要素候補群それぞれの初期左側境界座標及び初期右側境界座標を検出させることにより、各前記行ごとの前記車線要素候補群を決定することを特徴とする請求項1に記載の方法。
【請求項5】
前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、それぞれの調整された左側境界座標及びそれぞれの調整された右側境界座標を参照して、各前記行ごとの拡張車線要素候補群それぞれを決定するようにし、前記それぞれの調整された左側境界座標が各前記行ごとの前記車線要素候補群それぞれの中心から離れた距離が、各前記行ごとの前記車線要素候補群それぞれの前記中心からそれぞれの前記初期左側境界座標までの距離の所定の倍数に該当するものと決定し、前記それぞれの調整された右側境界座標が各前記行ごとの前記車線要素候補群それぞれの前記中心から離れた距離が、各前記行ごとの前記車線要素候補群それぞれの前記中心からそれぞれの前記初期右側境界座標までの距離の前記所定の倍数に該当すると決定することを特徴とする請求項4に記載の方法。
【請求項6】
前記(c)段階で、
前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、前記車線要素候補群それぞれの初期左側境界座標それぞれ及び初期右側境界座標それぞれを検出することにより、各前記行ごとのそれぞれの前記車線要素候補群を決定するようにし、
前記(d)段階において、
前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、各前記行ごとの前記車線要素候補群それぞれに予測演算を適用するようにし、(i)各前記行ごとに第1閾値より大きいそれぞれの前記車線要素候補群の前記セグメンテーションスコアマップ上の値の中の最も大きい値それぞれの座標が、各前記行ごとの前記車線要素候補群それぞれの基準座標に決定されるようにし、(ii)それぞれの前記基準座標の左側に、第2閾値に所定範囲内で近接する値それぞれの座標がそれぞれの最終左側境界座標に決定され、それぞれの前記基準座標の右側に、第3閾値に所定範囲内で近接する値それぞれの座標がそれぞれの最終右側境界座標に決定されるようにする、前記予測演算が遂行されることを特徴とする請求項1に記載の方法。
【請求項7】
前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、(i)前記セグメンテーションスコアマップの各前記行ごとの前記車線要素候補群それぞれの値の中の前記第1閾値よりも大きい値の座標をそれぞれの基準座標候補群に決定するようにし、(ii)それぞれの各前記基準座標候補群の値の中の各値の左側又は右側に位置している値より小さい一部の値を除去するプロセスを繰り返すことにより、それぞれの前記基準座標候補群の値の中の最も大きい値をそれぞれ検出して、前記最も大きい値それぞれに対応するそれぞれの座標を各前記行ごとの前記車線候補群それぞれの前記基準座標として決定させることを特徴とする請求項6に記載の方法。
【請求項8】
前記(c)段階で、
前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、前記車線要素候補群それぞれの初期左側境界座標それぞれ及び初期右側境界座標それぞれを検出することにより、各前記行ごとのそれぞれの前記車線要素候補群を決定するようにし、
前記(d)段階において、
前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、各前記行ごとの前記車線要素候補群それぞれに予測演算を適用するようにし、(i)予め設定された車線幅に対する情報を参照して、前記セグメンテーションスコアマップの各前記行ごとのそれぞれのサンプル幅が決定され、(ii)各前記行ごとの前記車線要素候補群それぞれの、前記セグメンテーションスコアマップ上の値を利用して、それぞれの前記サンプル幅に対応する幅を有するそれぞれのサブグループが生成され、(iii)それぞれの前記サブグループ内に含まれていない、前記セグメンテーションスコアマップ上の値の平均と、それぞれの前記サブグループ内に含まれている、前記セグメンテーションスコアマップ上の値の平均との間のそれぞれの差異が算出され、各前記行ごとのそれぞれの代表サブグループが決定され、(iv)前記代表サブグループそれぞれの左側部分内で、閾値に所定範囲内で近接する値それぞれの座標が最終左側境界座標それぞれとして決定され、前記代表サブグループそれぞれの右側部分内で、前記閾値に所定範囲内で近接する値それぞれの座標が最終右側境界座標それぞれとして決定されるようにする、前記予測演算が遂行されることを特徴とする請求項1に記載の方法。
【請求項9】
前記(c)段階で、
前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、ぞれぞれの前記車線要素候補群の初期左側境界座標それぞれ及び初期右側境界座標それぞれを検出することにより、各前記行ごとの前記車線要素候補群それぞれを決定するようにし、
前記(d)段階において、
前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、各前記行ごとの前記車線要素候補群それぞれに前記予測演算を適用するようにし、各前記行ごとのそれぞれの前記車線要素候補群の偏差値の合計それぞれが最も大きいそれぞれの最大合計サブアレイ(subarray)が決定され、それぞれの前記最大合計サブアレイ内のそれぞれの最も左側の座標及びそれぞれの最も右側の座標がそれぞれの最終左側境界座標及びそれぞれの最終右側境界座標として決定されるようにする、前記予測演算が遂行されることを特徴とする請求項1に記載の方法。
【請求項10】
前記(c)段階で、
前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、ぞれぞれの前記車線要素候補群の初期左側境界座標それぞれ及び初期右側境界座標それぞれを検出することにより、各前記行ごとの前記車線要素候補群それぞれを決定するようにし、
前記(d)段階において、
前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、前記セグメンテーションスコアマップに前記予測演算を適用して各前記行ごとの前記車線要素候補群それぞれの最終左側境界座標それぞれ及び最終右側境界座標それぞれを検出するようにし、各前記行ごとの前記車線要素候補群それぞれの前記最終左側境界座標それぞれ及び前記最終右側境界座標それぞれを参照して、それぞれの前記車線要素を生成することを特徴とする請求項1に記載の方法。
【請求項11】
少なくとも一つの横フィルタマスクを利用して、少なくとも一つの入力イメージ内に位置した一つ以上の車線のピクセルを含む一つ以上の単位領域である一つ以上の車線要素を検出するコンピューティング装置において、
インストラクションを格納する少なくとも一つのメモリ;及び
(I)CNN(Convolutional neural network)が前記入力イメージを利用して少なくとも一つのセグメンテーションスコアマップを生成すると、前記CNNの出力端でデータプロセッシングを遂行する少なくとも一つのポストプロセッシングモジュールをもって、(i)前記セグメンテーションスコアマップ及び(ii)多数のフィルタリングパラメータを含む前記横フィルタマスクを利用して、少なくとも一つのマグニチュードマップ(Magnitude map)を生成させるプロセス、(II)前記ポストプロセッシングモジュールをもって、前記マグニチュードマップの値を参照して、前記セグメンテーションスコアマップの各行ごとの一つ以上の車線要素候補群それぞれを決定させるプロセス、及び(III)前記ポストプロセッシングモジュールをもって、各前記行ごとの前記車線要素候補群それぞれに一つ以上の予測演算を適用するようにすることにより、それぞれの前記車線要素を検出させるプロセスを遂行するための前記インストラクションを遂行するように構成された少なくとも一つのプロセッサ;
を含むことを特徴とするコンピューティング装置。
【請求項12】
前記(I)プロセスで、
前記プロセッサが、前記ポストプロセッシングモジュールをもって、前記セグメンテーションスコアマップの値を、前記横フィルタマスクを利用して変換することにより前記マグニチュードマップを生成させることを特徴とする請求項11に記載のコンピューティング装置。
【請求項13】
m×nのサイズを有する前記セグメンテーションスコアマップ上の第k行(kは、1以上n以下の整数(Integer)である)内に含まれた値の座標を(x,k)(xは、1以上m以下の整数である)とした場合、前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、前記マグニチュードマップ上の(x,k)の値を算出して前記セグメンテーションスコアマップと同じ大きさを有する前記マグニチュードマップを生成するようにし、
(i)xが2以上m−1以下の場合、前記横フィルタマスクに含まれた[−1,0,1]値を前記セグメンテーションスコアマップ上の(x−1,k),(x,k)及び(x+1,k)の値にそれぞれ乗じて生成されたそれぞれの要素ごとの乗算結果の要素の合計それぞれを前記マグニチュードマップ上の(x,k)のそれぞれの値とし、
(ii)xが1である場合、前記横フィルタマスクに含まれた[0,1]値をそれぞれ前記セグメンテーションスコアマップ上の(x,k)及び(x+1,k)の値にそれぞれ乗じて生成されたそれぞれの要素ごとの乗算結果の要素の合計を前記マグニチュードマップ上の(x,k)の値とし、
(iii)xがmである場合、前記横フィルタマスクに含まれた[−1,0]値を前記セグメンテーションスコアマップ上の(x−1,k)及び(x,k)の値にそれぞれ乗じて生成されたそれぞれの要素ごとの乗算結果の要素の合計を前記マグニチュードマップ上の(x,k)の値とすることを特徴とする請求項12に記載のコンピューティング装置。
【請求項14】
前記(II)プロセスで、
前記プロセッサが、前記ポストプロセッシングモジュールをもって、前記セグメンテーションスコアマップの前記行それぞれに対応する前記マグニチュードマップに含まれている値それぞれの絶対値及び符号を参照して、各前記行ごとの前記車線要素候補群それぞれの初期左側境界座標及び初期右側境界座標を検出させることにより各前記行ごとの前記車線要素候補群を決定することを特徴とする請求項11に記載のコンピューティング装置。
【請求項15】
前記プロセッサが、前記ポストプロセッシングモジュールをもって、それぞれの調整された左側境界座標及びそれぞれの調整された右側境界座標を参照して、各前記行ごとの拡張車線要素候補群それぞれを決定するようにし、前記それぞれの調整された左側境界座標が各前記行ごとの前記車線要素候補群それぞれの中心から離れた距離が、各前記行ごとの前記車線要素候補群それぞれの前記中心からそれぞれの前記初期左側境界座標までの距離の所定の倍数に該当するものと決定し、前記それぞれの調整された右側境界座標が各前記行ごとの前記車線要素候補群それぞれの前記中心から離れた距離が、各前記行ごとの前記車線要素候補群それぞれの前記中心からそれぞれの前記初期右側境界座標までの距離の前記所定の倍数に該当すると決定することを特徴とする請求項14に記載のコンピューティング装置。
【請求項16】
前記(II)プロセスで、
前記プロセッサが、前記ポストプロセッシングモジュールをもって、前記車線要素候補群それぞれの初期左側境界座標それぞれ及び初期右側境界座標それぞれを検出することにより、各前記行ごとのそれぞれの前記車線要素候補群を決定するようにし、
前記(III)プロセスで、
前記プロセッサが、前記ポストプロセッシングモジュールをもって、各前記行ごとの前記車線要素候補群それぞれに予測演算を適用するようにし、(i)前記各前記行ごとに第1閾値より大きいそれぞれの前記車線要素候補群の前記セグメンテーションスコアマップ上の値の中の最も大きい値それぞれの座標が、各前記行ごとの前記車線要素候補群それぞれの基準座標に決定されるようにし、(ii)それぞれの前記基準座標の左側に、第2閾値に所定範囲内で近接する値それぞれの座標がそれぞれの最終左側境界座標に決定され、それぞれの前記基準座標の右側に、第3閾値に所定範囲内で近接する値それぞれの座標がそれぞれの最終右側境界座標に決定されるようにする、前記予測演算が遂行されることを特徴とする請求項11に記載のコンピューティング装置。
【請求項17】
前記プロセッサが、前記ポストプロセッシングモジュールをもって、(i)前記セグメンテーションスコアマップの各前記行ごとの前記車線要素候補群それぞれの値の中の前記第1閾値よりも大きい値の座標をそれぞれの基準座標候補群に決定するようにし、(ii)各前記基準座標候補群の値の中の各値の左側又は右側に位置している値より小さい一部の値を除去するプロセスを繰り返すことにより、それぞれの前記基準座標候補群の値の中の最も大きい値をそれぞれ検出して、前記最も大きい値それぞれに対応するそれぞれの座標を各前記行ごとの前記車線候補群それぞれの前記基準座標として決定させることを特徴とする請求項16に記載のコンピューティング装置。
【請求項18】
前記(II)プロセスで、
前記プロセッサが、前記ポストプロセッシングモジュールをもって、前記車線要素候補群それぞれの初期左側境界座標それぞれ及び初期右側境界座標それぞれを検出することにより、各前記行ごとのそれぞれの前記車線要素候補群を決定するようにし、
前記(III)プロセスで、
前記プロセッサが、前記ポストプロセッシングモジュールをもって、各前記行ごとの前記車線要素候補群それぞれに予測演算を適用するようにし、(i)予め設定された車線幅に対する情報を参照して、前記セグメンテーションスコアマップの各前記行ごとのそれぞれのサンプル幅が決定され、(ii)各前記行ごとの前記車線要素候補群それぞれの、前記セグメンテーションスコアマップ上の値を利用して、それぞれの前記サンプル幅に対応する幅を有するそれぞれのサブグループが生成され、(iii)それぞれの前記サブグループ内に含まれていない、前記セグメンテーションスコアマップ上の値の平均と、それぞれの前記サブグループ内に含まれる、前記セグメンテーションスコアマップ上の値の平均との間のそれぞれの差異が算出され、各前記行ごとのそれぞれの代表サブグループが決定され、(iv)前記代表サブグループそれぞれの左側部分内で、閾値に所定範囲内で近接する値それぞれの座標が最終左側境界座標それぞれとして決定され、前記代表サブグループそれぞれの右側部分内で、前記閾値に所定範囲内で近接する値それぞれの座標が最終右側境界座標それぞれとして決定されるようにする、前記予測演算が遂行されることを特徴とする請求項11に記載のコンピューティング装置。
【請求項19】
前記(II)プロセスで、
前記プロセッサが、前記ポストプロセッシングモジュールをもって、ぞれぞれの前記車線要素候補群の初期左側境界座標それぞれ及び初期右側境界座標それぞれを検出することにより、各前記行ごとの前記車線要素候補群それぞれを決定するようにし、
前記(III)プロセスで、
前記プロセッサが、前記ポストプロセッシングモジュールをもって、各前記行ごとの前記車線要素候補群それぞれに前記予測演算を適用するようにし、各前記行ごとのそれぞれの前記車線要素候補群の偏差値の合計それぞれが最も大きいそれぞれの最大合計サブアレイ(subarray)が決定され、それぞれの前記最大合計サブアレイ内のそれぞれの最も左側の座標及びそれぞれの最も右側の座標がそれぞれの最終左側境界座標及びそれぞれの最終右側境界座標として決定されるようにする、前記予測演算が遂行されることを特徴とする請求項11に記載のコンピューティング装置。
【請求項20】
前記(II)プロセスで、
前記プロセッサが、前記ポストプロセッシングモジュールをもって、ぞれぞれの前記車線要素候補群の初期左側境界座標それぞれ及び初期右側境界座標それぞれを検出することにより、各前記行ごとの前記車線要素候補群それぞれを決定するようにし、
前記(III)プロセスで、
前記プロセッサが、前記ポストプロセッシングモジュールをもって、前記セグメンテーションスコアマップに前記予測演算を適用して各前記行ごとの前記車線要素候補群それぞれの最終左側境界座標それぞれ及び最終右側境界座標それぞれを検出するようにし、各前記行ごとの前記車線要素候補群それぞれの前記最終左側境界座標それぞれ及び前記最終右側境界座標それぞれを参照して、それぞれの前記車線要素を生成することを特徴とする請求項11に記載のコンピューティング装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自律走行車両に利用するための方法及び装置に関し;より詳しくは、自律走行車の走行経路を計画するための、車線要素を検出する前記方法及び前記装置に関する。
【背景技術】
【0002】
ディープ・コンボリューション・ニューラル・ネットワーク(Deep Convolution Neural Networks;DeepCNN)は、ディープラーニング分野で起きた驚くべき発展の核心である。CNNは、文字の認識問題を解くために90年代にすでに使われたが、現在のように広く使われるようになったのは最近の研究結果のおかげだ。このようなディープCNNは2012年ImageNetイメージ分類コンテストで他の競争相手に勝って優勝を収めた。そして、コンボリューションニューラルネットワークはマシンラーニング(Machine Learning)分野で非常に有用なツールとなった。
【0003】
一方、イメージセグメンテーション(Image Segmentation)は、例えばトレーニングイメージあるいはテストイメージを入力として利用して、ラベルイメージを生成する方法である。最近、ディープランニング(Deep learning)技術が脚光を浴び、セグメンテーションにおいてもディープラーニングが多く利用される傾向にある。
【0004】
最近、ディープCNNにおいてポストプロセッシングがたくさん利用されている。CNNは、自律走行モジュールにおいて多くの役割を担うが、その一つは入力イメージから一つ以上の車線を検出することである。車線を検出することにより、車両が走行できる余裕空間を検出したり、車両が道路中央をうまく走行できるように適切に調節することができる。
【0005】
だが、ディープCNNからの結果だけを利用すると、車線検出の効果が低下する場合が多い。したがって、ディープCNNから導き出された結果をポストプロセッシングして、車線を検出する。ところが、各ピクセルが前記車線内に含まれているか否かを決定して車線を検出する場合は、前記車線内に含まれている少なくとも一つの単位領域を設定して車線を検出した場合と比較した際、その結果が良好ではない。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、前述した問題点を解決することを目的とする。
【0007】
本発明は、少なくとも一つの横フィルタマスクを利用して、少なくとも一つの入力イメージ内に車線のピクセルを含む一つ以上の単位領域である一つ以上の車線要素を検出することによって一つ以上の車線を容易に検出することを目的とする。
【0008】
また、本発明は、前記車線要素をより容易に検出するための一つ以上の予測方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
前記のような本発明の目的を達成し、後述する本発明の特徴的な効果を実現するための、本発明の特徴的な構成は次の通りである。
【0010】
本発明の一態様によれば、少なくとも一つの横フィルタマスクを利用して、少なくとも一つの入力イメージ内に位置した一つ以上の車線のピクセルを含む一つ以上の単位領域である一つ以上の車線要素を検出する方法において、(a)CNN(Convolutional neural network)が前記入力イメージを利用して少なくとも一つのセグメンテーションスコアマップを生成すると、コンピューティング装置がこれを取得する段階;(b)前記コンピューティング装置が、前記CNNの出力端においてデータプロセッシングを遂行する少なくとも一つのポストプロセッシング(post−processing)モジュールをもって、(i)前記セグメンテーションスコアマップ及び(ii)多数のフィルタリングパラメータを含む前記横フィルタマスクを利用して、少なくとも一つのマグニチュードマップ(Magnitude map)を生成させる段階;(c)前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、前記マグニチュードマップの値を参照して前記セグメンテーションスコアマップの各行ごとの一つ以上の車線要素候補群それぞれを決定させる段階;及び(d)前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、各前記行ごとの前記車線要素候補群それぞれに一つ以上の予測演算を適用するようにすることにより、それぞれの前記車線要素を検出させる段階;を含むことを特徴とする方法が提供される。
【0011】
一例として、前記(b)段階で、前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、前記セグメンテーションスコアマップの値を、前記横フィルタマスクを利用して変換することにより前記マグニチュードマップを生成させる。
【0012】
一例として、m×nのサイズを有する前記セグメンテーションスコアマップ上の第k行(kは、1以上n以下の整数(Integer)である)内に含まれた値の座標を(x,k)(xは、1以上m以下の整数である)とした場合、前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、前記マグニチュードマップ上の(x,k)の値を算出して前記セグメンテーションスコアマップと同じ大きさを有する前記マグニチュードマップを生成するようにし、(i)xが2以上m−1以下の場合、前記横フィルタマスクに含まれた[−1,0,1]値を前記セグメンテーションスコアマップ上の(x−1,k),(x,k)及び(x+1,k)の値にそれぞれ乗じて生成されたそれぞれの要素ごとの乗算結果の要素の合計それぞれを前記マグニチュードマップ上の(x,k)のそれぞれの値とし、(ii)xが1である場合、前記横フィルタマスクに含まれた[0,1]値をそれぞれ前記セグメンテーションスコアマップ上の(x,k)及び(x+1,k)の値にそれぞれ乗じて生成されたそれぞれの要素ごとの乗算結果の要素の合計を前記マグニチュードマップ上の(x,k)の値とし、(iii)xがmである場合、前記横フィルタマスクに含まれた[−1,0]値を前記セグメンテーションスコアマップ上の(x−1,k)及び(x,k)の値にそれぞれ乗じて生成されたそれぞれの要素ごとの乗算結果の要素の合計を前記マグニチュードマップ上の(x,k)の値とする。
【0013】
一例として、前記(c)段階で、前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、前記セグメンテーションスコアマップの前記行それぞれに対応する前記マグニチュードマップに含まれている値それぞれの絶対値及び符号を参照して、各前記行ごとの前記車線要素候補群それぞれの初期左側境界座標及び初期右側境界座標を検出させることにより、各前記行ごとの前記車線要素候補群を決定する。
【0014】
一例として、前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、それぞれの調整された左側境界座標及びそれぞれの調整された右側境界座標を参照して、各前記行ごとの拡張車線要素候補群それぞれを決定するようにし、前記それぞれの調整された左側境界座標が各前記行ごとの前記車線要素候補群それぞれの中心から離れた距離が、各前記行ごとの前記車線要素候補群それぞれの前記中心からそれぞれの前記初期左側境界座標までの距離の所定の倍数に該当するものと決定し、前記それぞれの調整された右側境界座標が各前記行ごとの前記車線要素候補群それぞれの前記中心から離れた距離が、各前記行ごとの前記車線要素候補群それぞれの前記中心からそれぞれの前記初期右側境界座標までの距離の前記所定の倍数に該当すると決定する。
【0015】
一例として、前記(c)段階で、前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、前記車線要素候補群それぞれの初期左側境界座標それぞれ及び初期右側境界座標それぞれを検出することにより、各前記行ごとのそれぞれの前記車線要素候補群を決定するようにし、前記(d)段階において、前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、各前記行ごとの前記車線要素候補群それぞれに予測演算を適用するようにし、(i)各前記行ごとに第1閾値より大きいそれぞれの前記車線要素候補群の前記セグメンテーションスコアマップ上の値の中の最も大きい値それぞれの座標が、各前記行ごとの前記車線要素候補群それぞれの基準座標に決定されるようにし、(ii)それぞれの前記基準座標の左側に、第2閾値に所定範囲内で近接する値それぞれの座標がそれぞれの最終左側境界座標に決定され、それぞれの前記基準座標の右側に、第3閾値に所定範囲内で近接する値それぞれの座標がそれぞれの最終右側境界座標に決定されるようにする、前記予測演算が遂行される。
【0016】
一例として、前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、(i)前記セグメンテーションスコアマップの各前記行ごとの前記車線要素候補群それぞれの値の中の前記第1閾値よりも大きい値の座標をそれぞれの基準座標候補群に決定するようにし、(ii)それぞれの各前記基準座標候補群の値の中の各値の左側又は右側に位置している値より小さい一部の値を除去するプロセスを繰り返すことにより、それぞれの前記基準座標候補群の値の中の最も大きい値をそれぞれ検出して、前記最も大きい値それぞれに対応するそれぞれの座標を各前記行ごとの前記車線候補群それぞれの前記基準座標として決定させる。
【0017】
一例として、前記(c)段階で、前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、前記車線要素候補群それぞれの初期左側境界座標それぞれ及び初期右側境界座標それぞれを検出することにより、各前記行ごとのそれぞれの前記車線要素候補群を決定するようにし、前記(d)段階において、前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、各前記行ごとの前記車線要素候補群それぞれに予測演算を適用するようにし、(i)予め設定された車線幅に対する情報を参照して、前記セグメンテーションスコアマップの各前記行ごとのそれぞれのサンプル幅が決定され、(ii)各前記行ごとの前記車線要素候補群それぞれの、前記セグメンテーションスコアマップ上の値を利用して、それぞれの前記サンプル幅に対応する幅を有するそれぞれのサブグループが生成され、(iii)それぞれの前記サブグループ内に含まれていない、前記セグメンテーションスコアマップ上の値の平均と、それぞれの前記サブグループ内に含まれている、前記セグメンテーションスコアマップ上の値の平均との間のそれぞれの差異が算出され、各前記行ごとのそれぞれの代表サブグループが決定され、(iv)前記代表サブグループそれぞれの左側部分内で、閾値に所定範囲内で近接する値それぞれの座標が最終左側境界座標それぞれとして決定され、前記代表サブグループそれぞれの右側部分内で、前記閾値に所定範囲内で近接する値それぞれの座標が最終右側境界座標それぞれとして決定されるようにする、前記予測演算が遂行される。
【0018】
一例として、前記(c)段階で、前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、ぞれぞれの前記車線要素候補群の初期左側境界座標それぞれ及び初期右側境界座標それぞれを検出することにより、各前記行ごとの前記車線要素候補群それぞれを決定するようにし、前記(d)段階において、前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、各前記行ごとの前記車線要素候補群それぞれに前記予測演算を適用するようにし、各前記行ごとのそれぞれの前記車線要素候補群の偏差値の合計それぞれが最も大きいそれぞれの最大合計サブアレイ(subarray)が決定され、それぞれの前記最大合計サブアレイ内のそれぞれの最も左側の座標及びそれぞれの最も右側の座標がそれぞれの最終左側境界座標及びそれぞれの最終右側境界座標として決定されるようにする、前記予測演算が遂行される。
【0019】
一例として、前記(c)段階で、前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、ぞれぞれの前記車線要素候補群の初期左側境界座標それぞれ及び初期右側境界座標それぞれを検出することにより、各前記行ごとの前記車線要素候補群それぞれを決定するようにし、前記(d)段階において、前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、前記セグメンテーションスコアマップに前記予測演算を適用して各前記行ごとの前記車線要素候補群それぞれの最終左側境界座標それぞれ及び最終右側境界座標それぞれを検出するようにし、各前記行ごとの前記車線要素候補群それぞれの前記最終左側境界座標それぞれ及び前記最終右側境界座標それぞれを参照して、それぞれの前記車線要素を生成する。
【0020】
本発明の他の態様によれば、少なくとも一つの横フィルタマスクを利用して、少なくとも一つの入力イメージ内に位置した一つ以上の車線のピクセルを含む一つ以上の単位領域である一つ以上の車線要素を検出するコンピューティング装置において、インストラクションを格納する少なくとも一つのメモリ;及び(I)CNN(Convolutional neural network)が前記入力イメージを利用して少なくとも一つのセグメンテーションスコアマップを生成すると、前記CNNの出力端でデータプロセッシングを遂行する少なくとも一つのポストプロセッシングモジュールをもって、(i)前記セグメンテーションスコアマップ及び(ii)多数のフィルタリングパラメータを含む前記横フィルタマスクを利用して、少なくとも一つのマグニチュードマップ(Magnitude map)を生成させるプロセス、(II)前記ポストプロセッシングモジュールをもって、前記マグニチュードマップの値を参照して、前記セグメンテーションスコアマップの各行ごとの一つ以上の車線要素候補群それぞれを決定させるプロセス、及び(III)前記ポストプロセッシングモジュールをもって、各前記行ごとの前記車線要素候補群それぞれに一つ以上の予測演算を適用するようにすることにより、それぞれの前記車線要素を検出させるプロセスを遂行するための前記インストラクションを遂行するように構成された少なくとも一つのプロセッサ;を含むことを特徴とするコンピューティング装置が提供される。
【0021】
一例として、前記(I)プロセスで、前記プロセッサが、前記ポストプロセッシングモジュールをもって、前記セグメンテーションスコアマップの値を、前記横フィルタマスクを利用して変換することにより前記マグニチュードマップを生成させる。
【0022】
一例として、m×nのサイズを有する前記セグメンテーションスコアマップ上の第k行(kは、1以上n以下の整数(Integer)である)内に含まれた値の座標を(x,k)(xは、1以上m以下の整数である)とした場合、前記コンピューティング装置が、前記ポストプロセッシングモジュールをもって、前記マグニチュードマップ上の(x,k)の値を算出して前記セグメンテーションスコアマップと同じ大きさを有する前記マグニチュードマップを生成するようにし、(i)xが2以上m−1以下の場合、前記横フィルタマスクに含まれた[−1,0,1]値を前記セグメンテーションスコアマップ上の(x−1,k),(x,k)及び(x+1,k)の値にそれぞれ乗じて生成されたそれぞれの要素ごとの乗算結果の要素の合計それぞれを前記マグニチュードマップ上の(x,k)のそれぞれの値とし、(ii)xが1である場合、前記横フィルタマスクに含まれた[0,1]値をそれぞれ前記セグメンテーションスコアマップ上の(x,k)及び(x+1,k)の値にそれぞれ乗じて生成されたそれぞれの要素ごとの乗算結果の要素の合計を前記マグニチュードマップ上の(x,k)の値とし、(iii)xがmである場合、前記横フィルタマスクに含まれた[−1,0]値を前記セグメンテーションスコアマップ上の(x−1,k)及び(x,k)の値にそれぞれ乗じて生成されたそれぞれの要素ごとの乗算結果の要素の合計を前記マグニチュードマップ上の(x,k)の値とする。
【0023】
一例として、前記(II)プロセスで、前記プロセッサが、前記ポストプロセッシングモジュールをもって、前記セグメンテーションスコアマップの前記行それぞれに対応する前記マグニチュードマップに含まれている値それぞれの絶対値及び符号を参照して、各前記行ごとの前記車線要素候補群それぞれの初期左側境界座標及び初期右側境界座標を検出させることにより各前記行ごとの前記車線要素候補群を決定する。
【0024】
一例として、前記プロセッサが、前記ポストプロセッシングモジュールをもって、それぞれの調整された左側境界座標及びそれぞれの調整された右側境界座標を参照して、各前記行ごとの拡張車線要素候補群それぞれを決定するようにし、前記それぞれの調整された左側境界座標が各前記行ごとの前記車線要素候補群それぞれの中心から離れた距離が、各前記行ごとの前記車線要素候補群それぞれの前記中心からそれぞれの前記初期左側境界座標までの距離の所定の倍数に該当するものと決定し、前記それぞれの調整された右側境界座標が各前記行ごとの前記車線要素候補群それぞれの前記中心から離れた距離が、各前記行ごとの前記車線要素候補群それぞれの前記中心からそれぞれの前記初期右側境界座標までの距離の前記所定の倍数に該当すると決定する。
【0025】
一例として、前記(II)プロセスで、前記プロセッサが、前記ポストプロセッシングモジュールをもって、前記車線要素候補群それぞれの初期左側境界座標それぞれ及び初期右側境界座標それぞれを検出することにより、各前記行ごとのそれぞれの前記車線要素候補群を決定するようにし、前記(III)プロセスで、前記プロセッサが、前記ポストプロセッシングモジュールをもって、各前記行ごとの前記車線要素候補群それぞれに予測演算を適用するようにし、(i)前記各前記行ごとに第1閾値より大きいそれぞれの前記車線要素候補群の前記セグメンテーションスコアマップ上の値の中の最も大きい値それぞれの座標が、各前記行ごとの前記車線要素候補群それぞれの基準座標に決定されるようにし、(ii)それぞれの前記基準座標の左側に、第2閾値に所定範囲内で近接する値それぞれの座標がそれぞれの最終左側境界座標に決定され、それぞれの前記基準座標の右側に、第3閾値に所定範囲内で近接する値それぞれの座標がそれぞれの最終右側境界座標に決定されるようにする、前記予測演算が遂行される。
【0026】
一例として、前記プロセッサが、前記ポストプロセッシングモジュールをもって、(i)前記セグメンテーションスコアマップの各前記行ごとの前記車線要素候補群それぞれの値の中の前記第1閾値よりも大きい値の座標をそれぞれの基準座標候補群に決定するようにし、(ii)各前記基準座標候補群の値の中の各値の左側又は右側に位置している値より小さい一部の値を除去するプロセスを繰り返すことにより、それぞれの前記基準座標候補群の値の中の最も大きい値をそれぞれ検出して、前記最も大きい値それぞれに対応するそれぞれの座標を各前記行ごとの前記車線候補群それぞれの前記基準座標として決定させる。
【0027】
一例として、前記(II)プロセスで、前記プロセッサが、前記ポストプロセッシングモジュールをもって、前記車線要素候補群それぞれの初期左側境界座標それぞれ及び初期右側境界座標それぞれを検出することにより、各前記行ごとのそれぞれの前記車線要素候補群を決定するようにし、前記(III)プロセスで、前記プロセッサが、前記ポストプロセッシングモジュールをもって、各前記行ごとの前記車線要素候補群それぞれに予測演算を適用するようにし、(i)予め設定された車線幅に対する情報を参照して、前記セグメンテーションスコアマップの各前記行ごとのそれぞれのサンプル幅が決定され、(ii)各前記行ごとの前記車線要素候補群それぞれの、前記セグメンテーションスコアマップ上の値を利用して、それぞれの前記サンプル幅に対応する幅を有するそれぞれのサブグループが生成され、(iii)それぞれの前記サブグループ内に含まれていない、前記セグメンテーションスコアマップ上の値の平均と、それぞれの前記サブグループ内に含まれている、前記セグメンテーションスコアマップ上の値の平均との間のそれぞれの差異が算出され、各前記行ごとのそれぞれの代表サブグループが決定され、(iv)前記代表サブグループそれぞれの左側部分内で、閾値に所定範囲内で近接する値それぞれの座標が最終左側境界座標それぞれとして決定され、前記代表サブグループそれぞれの右側部分内で、前記閾値に所定範囲内で近接する値それぞれの座標が最終右側境界座標それぞれとして決定されるようにする、前記予測演算が遂行される。
【0028】
一例として、前記(II)プロセスで、前記プロセッサが、前記ポストプロセッシングモジュールをもって、ぞれぞれの前記車線要素候補群の初期左側境界座標それぞれ及び初期右側境界座標それぞれを検出することにより、各前記行ごとの前記車線要素候補群それぞれを決定するようにし、前記(III)プロセスで、前記プロセッサが、前記ポストプロセッシングモジュールをもって、各前記行ごとの前記車線要素候補群それぞれに前記予測演算を適用するようにし、各前記行ごとのそれぞれの前記車線要素候補群の偏差値の合計それぞれが最も大きいそれぞれの最大合計サブアレイ(subarray)が決定され、それぞれの前記最大合計サブアレイ内のそれぞれの最も左側の座標及びそれぞれの最も右側の座標がそれぞれの最終左側境界座標及びそれぞれの最終右側境界座標として決定されるようにする、前記予測演算が遂行される。
【0029】
一例として、前記(II)プロセスで、前記プロセッサが、前記ポストプロセッシングモジュールをもって、ぞれぞれの前記車線要素候補群の初期左側境界座標それぞれ及び初期右側境界座標それぞれを検出することにより、各前記行ごとの前記車線要素候補群それぞれを決定するようにし、前記(III)プロセスで、前記プロセッサが、前記ポストプロセッシングモジュールをもって、前記セグメンテーションスコアマップに前記予測演算を適用して各前記行ごとの前記車線要素候補群それぞれの最終左側境界座標それぞれ及び最終右側境界座標それぞれを検出するようにし、各前記行ごとの前記車線要素候補群それぞれの前記最終左側境界座標それぞれ及び前記最終右側境界座標それぞれを参照して、それぞれの前記車線要素を生成する。
【発明の効果】
【0030】
本発明は、横フィルタマスクを利用して入力イメージ上の車線ピクセルを含む単位領域である車線要素を検出することにより、車線検出がさらに容易に行われるようにする効果がある。
【0031】
また、本発明は、車線要素をより容易に検出するための予測方法を提供する効果がある。
【図面の簡単な説明】
【0032】
本発明の実施例の説明に利用されるために添付された以下の各図面は、本発明の実施例のうちの一部に過ぎず、本発明が属する技術分野でおいて、通常の知識を有する者(以下「通常の技術者」)は、発明的作業が行われることなくこの図面に基づいて他の図面が得られ得る。
【
図1】少なくとも一つの横フィルタマスクを利用して、少なくとも一つの入力イメージ内に位置した一つ以上の車線のピクセルを含む一つ以上の単位領域である一つ以上の車線要素を検出するコンピューティング装置の構成を示した図面である。
【
図2】本発明の一例に係る前記車線要素を検出するプロセスを示すフローチャートである。
【
図3】本発明の一例に係る少なくとも一つのセグメンテーションスコアマップ、横フィルタマスク及び少なくとも一つのマグニチュードマップを示した例示図面である。
【
図4】本発明の一例に係る車線要素候補群を示した例示図面である。
【
図5】本発明の一例に係る前記車線要素を示した例示図面である。
【発明を実施するための形態】
【0033】
後述する本発明に対する詳細な説明は、本発明の各目的、技術的解決方法及び長所を明確にするために、本発明が実施され得る特定の実施例を例示として示す添付図面を参照する。これらの実施例は、通常の技術者が本発明を実施することができるように充分詳細に説明される。
【0034】
また、本発明の詳細な説明及び各請求項にわたって、「含む」という単語及びそれらの変形は、他の技術的各特徴、各付加物、構成要素又は段階を除外することを意図したものではない。通常の技術者にとって本発明の他の各目的、長所及び各特性が、一部は本説明書から、また一部は本発明の実施から明らかになるであろう。以下の例示及び図面は実例として提供され、本発明を限定することを意図したものではない。
【0035】
さらに、本発明は、本明細書に示された実施例のあらゆる可能な組合せを網羅する。本発明の多様な実施例は相互異なるが、相互排他的である必要はないことを理解されたい。例えば、ここに記載されている特定の形状、構造及び特性は一例と関連して、本発明の精神及び範囲を逸脱せず、かつ他の実施例で実装され得る。また、各々の開示された実施例内の個別構成要素の位置または配置は本発明の精神及び範囲を逸脱せずに変更され得ることを理解されたい。従って、後述する詳細な説明は限定的な意味で捉えようとするものではなく、本発明の範囲は、適切に説明されれば、その請求項が主張することと均等なすべての範囲と、併せて添付された請求項によってのみ限定される。図面で類似する参照符号はいくつかの側面にかけて同一か類似する機能を指称する。
【0036】
本発明で言及している各種イメージは、舗装または非舗装道路関連のイメージを含み得、この場合、道路環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではなく、本発明で言及している各種イメージは、道路と関係のないイメージ(例えば、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内と関連したイメージ)でもあり得、この場合、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではない。
【0037】
以下、本発明が属する技術分野で通常の知識を有する者が本発明を容易に実施することができるようにするために、本発明の好ましい実施例について添付の図面に基づいて詳細に説明する。
【0038】
図1は、少なくとも一つの横フィルタマスクを利用して、少なくとも一つの入力イメージ内に位置した一つ以上の車線のピクセルを含む一つ以上の単位領域である一つ以上の車線要素を検出するコンピューティング装置の構成を示した図面である。
【0039】
図1を参照すれば、前記コンピューティング装置100は、CNN(Convolutional neural network)200及びポストプロセッシングモジュール300を含み得る。
【0040】
前記CNN200及び前記ポストプロセッシングモジュール300の入出力過程及び演算過程はそれぞれ通信部110及びプロセッサ120によって行われ得る。ただし、
図1では、前記通信部110及び前記プロセッサ120の具体的な連結関係を省略した。また、前記学習装置は、後述されるプロセスを遂行するためのコンピュータ読取り可能な命令語を格納できるメモリ115を追加的に含み得る。一例として、プロセッサ、メモリ、媒体(medium)等は、一つのプロセッサに統合されて機能することもできる。
【0041】
以上、本発明の前記横フィルタマスクを利用して、前記入力イメージ内に含まれた前記車線の前記ピクセルを含む前記単位領域である前記車線要素を検出する方法を遂行する前記コンピューティング装置100の構成を説明したところ、本発明に係る前記車線要素を検出する前記方法について
図2を参照して説明する。
【0042】
図2は、本発明の一例に係る前記車線要素を検出するプロセスを示すフローチャートである。
【0043】
図2を参照すれば、前記CNN200が前記入力イメージから少なくとも一つのセグメンテーションスコアマップを生成すると、前記通信部110がこれを取得できる(S01)。この後、前記ポストプロセッシングモジュール300が前記セグメンテーションスコアマップ及び前記横フィルタマスクを利用して少なくとも一つのマグニチュードマップ(magnitude map)を生成することができる(S02)。その後、前記ポストプロセッシングモジュール300が、前記マグニチュードマップの値を参照して、前記セグメンテーションスコアマップの各行ごとの一つ以上の車線要素候補群それぞれを決定することができる(S03)。最後に、前記ポストプロセッシングモジュールは、各前記行ごとの前記車線要素候補群それぞれに一つ以上の予測演算を適用することにより一つ以上の車線要素を検出することができる(S04)。
【0044】
図2に示した本発明の一例に係る前記車線要素を検出する前記方法を調べたところ、これをより具体的に説明することにする。
【0045】
まず、前記CNN200が前記入力イメージから前記セグメンテーションスコアマップを生成すると、前記コンピューティング装置100がこれを取得できる。
【0046】
前記セグメンテーションスコアマップは、前記CNN200によって前記入力イメージに少なくとも一つのコンボリューション演算及び少なくとも一つのデコンボリューション演算が適用されることによって生成され得る。
【0047】
その後、前記コンピューティング装置100が、前記CNN200の出力端でデータプロセッシングを遂行する前記ポストプロセッシングモジュールをもって、前記セグメンテーションスコアマップ及び多数のフィルタリングパラメータを含む前記横フィルタマスクを利用して、前記マグニチュードマップを生成するようにすることができる。
【0048】
前記横フィルタマスクの役割は、前記セグメンテーションスコアマップに含まれている値を変換することにより、前記変換された値が含まれた前記マグニチュードマップを生成することである。前記横フィルタマスクは、[−1,0,1]の行列の形であり得るが、これに限定されるものではない。
【0049】
本発明に係る、[−1,0,1]の形の前記横フィルタマスクを利用して前記マグニチュードマップを生成するプロセスを探るために、
図3を参照する。
【0050】
図3は、本発明の一例に係る前記セグメンテーションスコアマップ、前記横フィルタマスク及び前記マグニチュードマップを示した例示図面である。
【0051】
図3を参照すれば、前記セグメンテーションスコアマップ310の値と前記マグニチュードマップ330の値が1対1対応することがわかる。例えば、前記セグメンテーションスコアマップ310上で点線長方形に表示された値である0.3558と前記マグニチュードマップ330上で点線長方形に表示された値である0.994が互いに対応することがわかる。また、前記セグメンテーションスコアマップ310に前記横フィルタマスク320を利用した一つ以上の演算を適用して前記マグニチュードマップ330が生成されることがわかる。
【0052】
前記マグニチュードマップの値を生成するプロセスを説明するために、前記セグメンテーションスコアマップはm×nのサイズを有し、前記セグメンテーションスコアマップ上の第k行(kは、1以上n以下の整数(Integer)である)内に含まれた値の座標を(x,k)(xは、1以上m以下の整数である)と想定できるであろう。
【0053】
ここで、(i)xが2以上m−1以下である場合、前記横フィルタマスクに含まれた[−1,0,1]値を前記セグメンテーションスコアマップ上の(x−1,k),(x,k)及び(x+1,k)の値にそれぞれ乗じて生成されたそれぞれの要素ごとの乗算結果の要素の合計それぞれを前記マグニチュードマップ上の(x,k)のそれぞれの値とする。(ii)xが1である場合、前記横フィルタマスクに含まれた[0,1]値をそれぞれ前記セグメンテーションスコアマップ上の(x,k)及び(x+1,k)の値にそれぞれ乗じて生成されたそれぞれの要素ごとの乗算結果の要素の合計を前記マグニチュードマップ上の(x,k)の値とする。(iii)xがmである場合、前記横フィルタマスクに含まれた[−1,0]値を前記セグメンテーションスコアマップ上の(x−1,k)及び(x,k)の値にそれぞれ乗じて生成されたそれぞれの要素ごとの乗算結果の要素の合計を前記マグニチュードマップ上の(x,k)の値とする。
【0054】
このようなプロセスを遂行することは、前記車線の境界を予測するためである。理想的な場合、前記セグメンテーションスコアマップの値は、車線ではなくピクセルで0、前記車線の前記ピクセルで1として現れるであろう。この際、前記横フィルタマスクを利用して前記マグニチュードマップの値を計算すると、前記車線の左側境界では(−1,0,1)・(0,1,1)=1で計算され得、前記車線の右側の境界では(−1,0,1)・(1,1,0)=−1で計算され得るであろう。前記マグニチュードマップの値は、前記車線の内部で(−1,0,1)・(1,1,1)=0で計算され得、前記車線の外部では(−1,0,1)・(0,0,0)=0で計算され得るであろう。結局、前記マグニチュードマップ上で絶対値の大きい値が導き出される場合、これに対応するピクセルが前記車線の境界のピクセルとして決定されるであろう。また、その符号を確認することで、左側境界であるか、それとも右側境界であるかを確認できるのである。
【0055】
図3を再び参照すれば、前記マグニチュードマップ330上で点線長方形に表示された値である0.994は、前記説明したとおり(−1,0,1)・(1.77e−04,0.3558,0.9942)=0.994のように計算されたことが分かる。この際、1に近接した前記マグニチュードマップの値は点線で表現され、−1に近接する前記マグニチュードマップの値は実線で表現された、前記マグニチュードマップ330を視覚化した図面を参照して前記車線境界がうまく検出されたことがわかる。
【0056】
前述の方式によって、前記車線の前記予測された境界を示す前記マグニチュードマップが生成されれば、前記コンピューティング装置100が、前記ポストプロセッシングモジュール300をもって、前記マグニチュードマップの値を参照して前記セグメンテーションスコアマップの各前記行ごとの前記車線要素候補群それぞれを決定するようにすることができる。
【0057】
この際、前記コンピューティング装置100が、前記ポストプロセッシングモジュール300をもって、前記セグメンテーションスコアマップの前記行それぞれに対応する前記マグニチュードマップの値それぞれの絶対値及び符号それぞれを参照して、各前記行ごとの前記車線要素候補群それぞれの初期左側境界座標及び初期右側境界座標それぞれを検出するようにすることにより、各前記行ごとの前記車線要素候補群それぞれを決定する。
【0058】
図3を例に挙げて説明すると、前記マグニチュードマップ330の真ん中の行の値は、1.76E−04,0.3558,0.994,及び0.6441である。これらの値は車線の左側境界に対応する値であるため正数(positive number)で表現され、前記マグニチュードマップ330上で1に近接する最も大きい値は前記左側境界と近いピクセルに対応する。右側境界のピクセルに対応する値の場合、絶対値はこれと似ているが、代わりにその値は負数(negative number)であろう。
【0059】
この際、前記ポストプロセッシングモジュール300は、前記マグニチュードマップの値の絶対値を順番に参照して行ごとの最大値を決定する。
図3の前記マグニチュードマップ330で0.994は、前記行ごとの最大値の一つである。前記行ごとの最大値は、前記車線要素候補群の前記初期左側境界座標及び前記初期右境界座標に対応し、その符号によって前記初期左境界座標に対応するか、それとも前記初期右側境界座標に対応するかが決定される。前記マグニチュードマップの前記行ごとの最大値が正数である場合、この行ごとの最大値は、前記初期左側境界座標に対応し、前記マグニチュードマップの前記行ごとの最大値が負数である場合、この行ごとの最大値は、前記初期右側境界座標に対応する。
図3で、0.994に対応する前記セグメンテーションスコアマップ310上の位置が前記初期左側境界座標の中の一つになるであろう。このように、それぞれの前記左側境界座標と各前記右側境界座標を検出することにより、各前記行ごとの車線要素候補群それぞれが決定され得るのである。
【0060】
一方、前記コンピューティング装置100が、前記ポストプロセッシングモジュール300をもって、それぞれの調整された左側境界座標及びそれぞれの調整された右側境界座標を参照して、各前記行ごとの拡張車線要素候補群それぞれを決定するようにし、前記それぞれの調整された左側境界座標が各前記行ごとの前記車線要素候補群それぞれの中心から離れた距離が、各前記行ごとの前記車線要素候補群それぞれの前記中心からそれぞれの前記初期左側境界座標までの距離の所定の倍数に該当するものと決定し、前記それぞれの調整された右側境界座標が各前記行ごとの前記車線要素候補群それぞれの前記中心から離れた距離が、各前記行ごとの前記車線要素候補群それぞれの前記中心からそれぞれの前記初期右側境界座標までの距離の前記所定の倍数に該当すると決定する。
図4は、このような拡張車線要素候補群の例示である。
【0061】
図4を参照すれば、実際の車線の領域よりさらに広く前記拡張車線要素候補群が決定されたことが分かる。前記車線要素候補群を決定することで、後述されるプロセスによってより正確に前記車線要素が検出することができる。
【0062】
前記車線要素候補群が決定されると、前記コンピューティング装置100が前記ポストプロセッシングモジュール300をもって、各前記行ごとの前記車線要素候補群それぞれに予測演算を適用するようにすることでそれぞれの前記車線要素を検出することができる。
【0063】
前記予測演算の場合、様々な方法が適用され得る。本文では、例示的に3つの方法が提示されるはずだが、もちろんこれに限られるものではない。
【0064】
まず、前記コンピューティング装置100が、前記ポストプロセッシングモジュール300をもって、各前記行ごとの前記車線要素候補群それぞれに前記予測演算を適用するようにし、(i)前記各前記行ごとに第1閾値より大きいそれぞれの前記車線要素候補群の前記セグメンテーションスコアマップ上の値の中の最も大きい値それぞれの座標が、各前記行ごとの前記車線要素候補群それぞれの基準座標に決定されるようにし、(ii)それぞれの前記基準座標の左側に、第2閾値に所定範囲内で近接する値それぞれの座標がそれぞれの最終左側境界座標に決定され、それぞれの前記基準座標の右側に、第3閾値に所定範囲内で近接する値それぞれの座標がそれぞれの最終右側境界座標に決定されるようにする、前記予測演算が遂行される。前記第2閾値と前記第3閾値は同一であり得るが、これに限らない。
【0065】
基本的に前記セグメンテーションスコアマップ上の前記値それぞれは、それに対応するピクセルが前記車線のピクセルの一つである確率それぞれを示す。従って、大きい確率値に対応する座標を参照して前記車線がより正確に検出され得ることが予想される。
【0066】
ただし、前記セグメンテーションスコアマップ上の値が有し得る最大値が1であるため、各前記行ごとのそれぞれの前記車線要素候補群の値の中で最も大きさが大きい値に対応する座標が複数個であり得る。この際、それぞれの前記車線要素候補群の真ん中に位置するそれぞれの座標がそれぞれの前記基準座標として検出されるであろう。
【0067】
それぞれの前記車線要素候補群のそれぞれの前記基準座標を検出するために最も大きい値を見つける方法は様々ある。前記最も大きい値を見つける例示的な方法を次に説明する。
【0068】
前記コンピューティング装置100が、前記ポストプロセッシングモジュール300をもって、前記セグメンテーションスコアマップの各前記行ごとの前記車線要素候補群それぞれの値の中の前記第1閾値よりも大きい値の座標をそれぞれの基準座標候補群に決定するようにする。その後、前記コンピューティング装置100が、前記ポストプロセッシングモジュール300をもって、それぞれの各前記基準座標候補群の値の中の各値の左側又は右側に位置している値より小さい一部の値を除去するプロセスを繰り返すことにより、それぞれの前記基準座標候補群の値の中の最も大きい値をそれぞれ検出して、前記最も大きい値それぞれに対応するそれぞれの座標を各前記行ごとの前記車線候補群それぞれの前記基準座標として決定するようにする。
【0069】
次に、前記予測演算の他の例を説明する。前記コンピューティング装置100が、前記ポストプロセッシングモジュール300をもって、予め設定された車線幅に対する情報を参照して、前記セグメンテーションスコアマップの各前記行ごとのそれぞれのサンプル幅を決定するようにする。そして、各前記行ごとの前記車線要素候補群それぞれの、前記セグメンテーションスコアマップ上の値を利用して、それぞれの前記サンプル幅に対応する幅を有するそれぞれのサブグループが生成され、それぞれの前記サブグループ内に含まれていない、前記セグメンテーションスコアマップ上の値の平均と、それぞれの前記サブグループ内に含まれている、前記セグメンテーションスコアマップ上の値の平均との間のそれぞれの差異が算出され、各前記行ごとのそれぞれの代表サブグループが決定される。また、前記代表サブグループそれぞれの左側部分内で、閾値に所定範囲内で近接する値それぞれの座標が最終左側境界座標それぞれとして決定され、前記代表サブグループそれぞれの右側部分内で、前記閾値に所定範囲内で近接する値それぞれの座標が前記最終右側境界座標それぞれとして決定される。
【0070】
それぞれの前記サブグループ内に含まれていない、前記セグメンテーションスコアマップ上の値の平均と、それぞれの前記サブグループ内に含まれている、前記セグメンテーションスコアマップ上の値の平均との間のそれぞれの差異が最も大きいグループがそれぞれの前記代表サブグループとして決定される。そのため、前記車線は、前記車線に対応する1に近接した値を、前記車線に対応しない0に近接した値から区分して、さらに正確に検出することができる。これと類似した方式で、前記代表サブグループ内に含まれる値の分散が最も小さくなるように前記代表サブグループを決定し、これにより前記車線のピクセルを前記車線ではないピクセルと区分して、前記車線が検出され得る。
【0071】
次に、前記予測演算のまた他の例を説明する。前記コンピューティング装置100が、前記ポストプロセッシングモジュール300をもって、各前記行ごとの前記車線要素候補群それぞれに前記予測演算を適用するようにし、各前記行ごとのそれぞれの前記車線要素候補群の偏差値の合計それぞれが最も大きいそれぞれの最大合計サブアレイ(subarray)が決定され、それぞれの前記最大合計サブアレイ内のそれぞれの最も左側の座標及びそれぞれの最も右側の座標がそれぞれの前記最終左側境界座標及びそれぞれの前記最終右側境界座標として決定されるようにする、前記予測演算が行われ得る。
【0072】
すなわち、それぞれの前記車線要素候補群のそれぞれの前記偏差値は、各前記行ごとの前記車線要素候補群それぞれの値から前記車線要素候補群それぞれに含まれた値の平均をそれぞれ除いた値であり、それぞれの前記最大合計サブアレイは、それぞれの前記車線要素候補群のそれぞれの前記偏差値を参照して決定される。それぞれの前記平均は、前記車線に対応する値と前記車線に対応しない値の中間値で算出されるはずなので、それぞれの前記偏差は正数である。そのため、前記車線のピクセルは、それぞれの前記最大合計サブアレイによってグルーピング(grouping)され得る。
【0073】
前記最大合計サブアレイは、カデインアルゴリズム(Kadane’s algorithm)を利用して決定できるが、これに限るものではない。
【0074】
前記のような方式により前記予測演算を適用して、各前記行ごとの前記車線要素候補群それぞれの前記最終左側境界座標それぞれ及び前記最終右側境界座標それぞれが検出されることにより、それぞれの前記車線要素が生成され得る。前記車線要素とは何かを説明するため、
図5を参照する。
【0075】
図5は、本発明の一例に係る前記車線要素を示した例示図面である。
図5を参照すれば、前記車線要素は、前記入力イメージ内の前記車線のピクセルを含む単位領域であることが分かる。さらに具体的には、それぞれの前記車線要素は入力イメージをX軸方向に切断した場合、切断された前記車線のピクセルを含むそれぞれの前記単位領域であることがわかる。
【0076】
それぞれの前記車線要素は、その中心座標、右側及び左側境界座標、幅等の情報を含む。それぞれの前記車線要素の中心座標、右側及び左側境界座標、幅等の情報は、前記最終左側境界座標それぞれ及び前記最終右側境界座標それぞれを参照して生成され得るので、前述した本発明の方式によって車線要素が検出され得るものである。
【0077】
各前記行ごとのそれぞれの前記車線要素が検出される際、これをグルーピング及びトレーシング(tracing)することで、より正確に前記車線を検出することができる。
【0078】
本発明により車線を検出することにより、走行経路を自律走行車に最適化することができる。
本発明技術分野の通常の技術者に理解され、前記で説明されたイメージ、例えば原本イメージ及び原本レーブル及び追加レーブルといったイメージデータの送受信が学習装置及びテスト装置の各通信部によって行われ得、特徴マップと演算を遂行するためのデータが学習装置及びテスト装置のプロセッサ(及び/またはメモリ)によって保有/維持され得、コンボリューション演算、デコンボリューション演算、ロス値の演算過程が主に学習装置及びテスト装置のプロセッサにより遂行され得るが、本発明はこれに限定されるものではない。
【0079】
また、以上で説明された本発明に係る実施例は、多様なコンピュータ構成要素を通じて遂行できるプログラム命令語の形態で実装されてコンピュータ読取り可能な記録媒体に記録され得る。前記コンピュータで読取り可能な記録媒体はプログラム命令語、データファイル、データ構造などを単独でまたは組み合わせて含まれ得る。前記コンピュータ読取り可能な記録媒体に記録されるプログラム命令語は、本発明のために特別に設計されて構成されたものであるか、コンピュータソフトウェア分野の当業者に公知となって使用可能なものでもよい。コンピュータで判読可能な記録媒体の例には、ハードディスク、フロッピーディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカルディスク(flopticaldisk)のような磁気−光媒体(magneto−opticalmedia)、およびROM、RAM、フラッシュメモリなどといったプログラム命令語を格納して遂行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作られるもののような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードも含まれる。前記ハードウェア装置は、本発明に係る処理を遂行するために一つ以上のソフトウェアモジュールとして作動するように構成され得、その逆も同様である。
【0080】
以上、本発明が具体的な構成要素などのような特定事項と限定された実施例及び図面によって説明されたが、これは本発明のより全般的な理解を助けるために提供されたものであるに過ぎず、本発明が前記実施例に限られるものではなく、本発明が属する技術分野において通常の知識を有する者であれば係る記載から多様な修正及び変形が行われ得る。
【0081】
従って、本発明の思想は前記説明された実施例に局限されて定められてはならず、後述する特許請求の範囲だけでなく、本特許請求の範囲と均等または等価的に変形されたものすべては、本発明の思想の範囲に属するといえる。