JP6847463B2 - CNN(Convolutional Neural Network)を利用して車線を検出するための学習方法及び学習装置そしてこれを利用したテスト方法及びテスト装置{LEARNING METHOD, LEARNING DEVICE FOR DETECTING LANE USING CNN AND TEST METHOD, TEST DEVICE USING THE SAME} - Google Patents

CNN(Convolutional Neural Network)を利用して車線を検出するための学習方法及び学習装置そしてこれを利用したテスト方法及びテスト装置{LEARNING METHOD, LEARNING DEVICE FOR DETECTING LANE USING CNN AND TEST METHOD, TEST DEVICE USING THE SAME} Download PDF

Info

Publication number
JP6847463B2
JP6847463B2 JP2019160025A JP2019160025A JP6847463B2 JP 6847463 B2 JP6847463 B2 JP 6847463B2 JP 2019160025 A JP2019160025 A JP 2019160025A JP 2019160025 A JP2019160025 A JP 2019160025A JP 6847463 B2 JP6847463 B2 JP 6847463B2
Authority
JP
Japan
Prior art keywords
cluster
lane
learning
test
predicted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019160025A
Other languages
English (en)
Other versions
JP2020038660A (ja
Inventor
キム、ケヒョン
キム、ヨンジョン
キム、インス
キム、ハキョン
ナム、ウンヒュン
ボ、シュクフン
スン、ミュンチュル
ヨー、ドンフン
リュウ、ウージュ
ジャン、テウォン
ジョン、キュンジョン
ジェ、ホンモ
チョ、ホジン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Stradvision Inc
Original Assignee
Stradvision Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Stradvision Inc filed Critical Stradvision Inc
Publication of JP2020038660A publication Critical patent/JP2020038660A/ja
Application granted granted Critical
Publication of JP6847463B2 publication Critical patent/JP6847463B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/77Determining position or orientation of objects or cameras using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • G06V10/763Non-hierarchical techniques, e.g. based on statistics of modelling distributions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30256Lane; Road marking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Image Analysis (AREA)

Description

本発明は、CNN(Convolutional Neural Network)を利用して少なくとも一つの車線を検出するための学習方法及び学習装置そしてこれを利用したテスト方法及びテスト装置に関する。より詳しくは、(a)学習装置が、一つのコンボリューションレイヤをもって、少なくとも一つのイメージデータセットから選択された入力イメージに対して一回以上コンボリューション演算を適用して少なくとも一つの特徴マップを生成する段階;(b)前記学習装置が、FC(Fully Connected)レイヤをもって、前記コンボリューションレイヤから出力された前記特徴マップの中から特定の特徴マップを前記FCレイヤに提供し、前記入力イメージ内の前記車線のクラスターID分類の予測結果ベクトルを生成する段階;及び(c)前記学習装置が、ロスレイヤをもって、前記クラスターID分類の前記予測結果ベクトル及びクラスターIDGTベクトルを参照にして、少なくとも一つの分類ロスを生成し、前記分類ロスをバックプロパゲーションし、前記CNNの装置パラメータ(device parameters)を最適化する段階;を含み、前記クラスターIDGTベクトルは、前記入力イメージ内の前記車線の情報をもとに取得された関数パラメータをクラスタリングし、車線モデリング関数の前記関数パラメータに付与されたクラスターグループそれぞれのクラスターIDである確率に対するGT(Ground Truth)情報であることを特徴とする学習方法及び学習装置そしてこれを利用したテスト方法及びテスト装置に関する。
ディープラーニング(Deep Learning)は、モノやデータを群集化・分類するのに用いられる技術である。例えば、コンピュータは写真だけで犬と猫を区別することができない。しかし、人はとても簡単に区別できる。このため「機械学習(Machine Learning)」という方法が考案された。多くのデータをコンピュータに入力し、類似したものを分類するようにする技術である。格納されている犬の写真と似たような写真が入力されると、これを犬の写真だとコンピュータが分類するようにしたのである。
データをいかに分類するかをめぐり、すでに多くの機械学習アルゴリズムが登場した。「決定木」や「ベイジアンネットワーク」「サポートベクターマシン(SVM)」「人工神経網」などが代表的だ。このうち、ディープラーニングは人工神経網の後裔だ。
ディープコンボリューションニューラルネットワーク(Deep Convolution Neural Networks;DeepCNNs)は、ディープラーニング分野で起きた驚くべき発展の核心である。CNNsは、文字の認識問題を解くために90年代にすでに使われたが、現在のように広く使われるようになったのは最近の研究結果のおかげだ。このようなディープCNNは2012年ImageNetイメージ分類コンテストで他の競争相手に勝って優勝を収めた。そして、コンボリューションニューラルネットワークは機械学習分野で非常に有用なツールとなった。
図1は従来技術でディープCNNを利用して、写真から取得しようとする多様な出力の例を示す。
具体的に、分類(Classification)は、写真から識別しようとするクラス(Class)の種類、例えば、図1に示されているように、取得された物体が人か、羊か、犬かを識別する検出方法であり、検出(Detection)は写真から検出しようとするすべてのクラスの物体を、それぞれバウンディングボックス(Bounding Box)に囲まれた形態で表示する方法であり、セグメンテーション(Segmentation)は、写真で特定の物体の領域を他の物体と区分する方法である。最近、ディープラーニング(Deep learning)技術が脚光を浴び、分類、検出、セグメンテーションもディープラーニングを多く利用する傾向にある。
図2は、CNNを利用した従来の車線検出方法を簡略的に示した図面であり、図3は、一般的なCNNセグメンテーションプロセスを簡略的に示した図面である。
まず、図3を参照すれば、従来の車線検出方法では、学習装置が、入力イメージの入力を受けて、複数のコンボリューションレイヤでコンボリューション演算とReLUなどの非線形演算を複数回遂行して特徴マップを取得し、この特徴マップに対してデコンボリューションレイヤでデコンボリューション演算を複数回行い、ソフトマックス(SoftMax)演算を行ってセグメンテーションの結果を得る。
また、図2を参照すれば、従来技術での車線の検出のためのセグメンテーションラベルの結果は、図2の中間に図示されているように、車線(lane)と背景(background)2つで構成される。このような車線に対するセグメンテーション結果は、確率推定(Probability Estimation)と出る。このように算出された車線候補ピクセルの中から車線である確率の高いピクセルをサンプリングして車線を探した後、探した車線ピクセルを基に取得された車線モデル関数を利用して最終的な車線を決定する。
しかし、このような従来の車線検出方法は、入力イメージ内の全てのピクセルにおいて該当ピクセルが車線であるか否かを区別しなければならず、演算量が多いという問題点がある。
本発明は、前述した全ての問題点を解決することを目的とする。
本発明の他の目的は、入力イメージから車線を検出する際に従来技術の方法より演算量の少ない方法を提供することを目的とする。
また、本発明のまた他の目的は、車線モデルを学習し得るCNN学習方法を提供することを目的とする。
また、本発明のまた他の目的は、車線モデルを利用して車線を正確に検出する方法を提供することを目的とする。
本発明の一態様によれば、 CNN(Convolutional Neural Network)を利用して少なくとも一つの車線を検出するための学習方法において、(a)学習装置が、一つのコンボリューションレイヤをもって、少なくとも一つのイメージデータセットから選択された入力イメージに対して一回以上コンボリューション演算を適用して少なくとも一つの特徴マップを生成する段階;(b)前記学習装置が、FC(Fully Connected)レイヤをもって、前記コンボリューションレイヤから出力された前記特徴マップの中の特定の特徴マップを前記FCレイヤに提供して、前記入力イメージ内の前記車線のクラスターID分類の予測結果ベクトルを生成する段階;及び(c)前記学習装置が、ロスレイヤをもって、前記クラスターID分類の前記予測結果ベクトル及びクラスターIDGTベクトルを参照にして、少なくとも一つの分類ロスを生成し、前記分類ロスをバックプロパゲーションして、前記CNNの装置パラメータ(device parameters)を最適化する段階;を含み、前記クラスターIDGTベクトルは、前記入力イメージ内の前記車線の情報をもとに取得された関数パラメータをクラスタリングして、車線モデリング関数の前記関数パラメータに付与されたクラスターグループそれぞれのクラスターIDである確率に対するGT(Ground Truth)情報であることを特徴とする学習方法が提供される。
一例として、前記クラスターIDGTベクトルは、K+1ディメンションを有するベクトルであり、(i)前記入力イメージ上に前記車線が存在すると判断された場合、前記入力イメージの前記車線の中で、前記K個のクラスターIDの中の特定クラスターIDであるCに属する特定車線が存在すれば、前記クラスターIDGTベクトルのk番目のディメンションは1が割り当てられ、前記クラスターIDの中で前記入力イメージに存在しない他のクラスターIDそれぞれに対応する前記クラスターIDGTベクトルの他のディメンションは0が割り当てられ、前記クラスターIDGTベクトルのK+1番目のディメンションは0が割り当てられ、(ii)前記入力イメージ上に前記車線が存在しないと判断されれば、前記クラスターIDGTベクトルの1ないしK番目のディメンションは0が割り当てられ、前記クラスターIDGTベクトルの前記K+1番目のディメンションは1が割り当てられ、kは1ないしKの整数であり、前記(c)段階で、前記クラスターID分類の前記予測結果ベクトルは、K+1ディメンションを有するベクトルであることを特徴とする学習方法が提供される。
一例として、前記それぞれの車線(Li,j)が前記クラスターグループの中で自身と対応する一つのクラスターグループ(C)にそれぞれ含まれ、前記車線(Li,j)それぞれと対応する前記クラスターIDに含まれたそれぞれのクラスターIDをkと表示した状態で、前記各クラスターグループは、前記各クラスターグループに含まれる前記各車線の前記関数パラメータに対するそれぞれの平均値
Figure 0006847463
を各クラスターグループ代表値(θ)として有し、前記学習方法は、(d)前記学習装置が、予測されたクラスターIDそれぞれに対応する前記クラスターグループ代表値(θ 各々を生成するか、他の装置をもって生成するように支援し、前記クラスターグループ代表値(θ)それぞれによって表現された予測車線それぞれを決定するか、他の装置をもって決定するように支援する段階;をさらに含むことを特徴とする学習方法が提供される。
一例として、前記クラスターグループ代表値それぞれは、前記予測されたクラスターIDの中の少なくとも一部を利用して算出され、前記予測されたクラスターIDの前記少なくとも一部は、前記予測結果ベクトルの各ベクトル成分が予め設定された値より大きいか否かに対する情報を参照にして決定されることを特徴とする学習方法が提供される。
一例として、(e)前記学習装置が、GT車線のいずれか一つの車線の座標が、前記予測車線の各々の座標からx軸に平行な両方の任意の方向へ所定のピクセル数以内の領域に存在するか否かを基に、前記それぞれの予測車線の周囲に、前記GT車線のいずれかが存在するかを示す、少なくとも一つのイグジステンスロス(existence loss)を算出するか、他の装置をもって算出するように支援する段階;(f)前記学習装置が、前記予測車線の周辺それぞれに前記GT車線のいずれかが識別される場合、前記各予測車線の各々のピクセル(f(y|θ),y)と前記各予測車線にそれぞれ対応する前記GT車線の各々のピクセル(xGT,y)との各距離の差(xGT−f(y|θ))を参照して、少なくとも一つの距離リグレッションロスを算出するか、他の装置をもって獲得するように支援する段階;(g)前記学習装置が、前記イグジステンスロス及び前記距離リグレッションロスをバックプロパゲーションするか、他の装置をもってバックプロパゲーションするように支援して、前記CNNの前記装置パラメータを最適化する段階;をさらに含むことを特徴とする学習方法が提供される。
一例として、 前記(e)段階以前に、(e0)前記学習装置が、前記それぞれの予測車線の前記ピクセル(f(y|θ),y)周辺のそれぞれの領域を示す、少なくとも一つの領域フィーチャー(areal features)それぞれを前記特定の特徴マップから抽出するか、他の装置をもって抽出するよう支援する段階;をさらに含み、前記抽出された領域フィーチャーを基に前記イグジステンスロス及び前記距離リグレッションロスを算出することを特徴とする学習方法が提供される。
一例として、前記(e)段階で、前記イグジステンスロスは、クロスエントロピーを利用して算出し、前記(f)段階で、前記距離リグレッションロスは、少なくとも一つのユークリッド距離リグレッションロスを利用して算出することを特徴とする学習方法が提供される。
本発明のまたの態様によれば、 車線モデル(lane model)を利用して少なくとも一つの車線を検出し得るCNN(Convolutional Neural Network)のテスト方法において、(a)前記CNNを利用する学習装置が、(i)一つ以上のコンボリューションレイヤをもって、少なくとも一つの学習用イメージデータセットから選択された学習用入力イメージに対して一回以上のコンボリューション演算を適用して、一つ以上の学習用特徴マップを生成するプロセス;(ii)FCレイヤをもって、前記コンボリューションレイヤから出力された前記学習用特徴マップの中の学習用特定特徴マップを前記FCレイヤに提供して、前記学習用入力イメージ内の前記車線の学習用クラスターID分類の予測結果ベクトルを生成し、ロスレイヤをもって前記学習用クラスターID分類の前記予測結果ベクトル及びクラスターIDGTベクトルを参照にして、少なくとも一つの分類ロスを生成するプロセス;(iii)予測された学習用クラスターIDそれぞれに対応する学習用クラスターグループ代表値(θ)それぞれを生成し、前記学習用クラスターグループ代表値それぞれによって表現された学習用予測車線それぞれを決定するプロセス;(iv)GT車線のいずれか一つの車線の座標が、前記学習用予測車線の各々の座標からx軸に平行な両方の任意の方向へ所定のピクセル数以内の領域に存在するか否かを基に、前記それぞれの学習用予測車線の周囲に前記GT車線のいずれかが存在するかを示す、少なくとも一つのイグジステンスロス(existence loss)を算出するプロセス;(v)前記学習用予測車線のそれぞれの周辺に前記GT車線のいずれかが識別される場合、前記学習用予測車線のそれぞれのピクセル(f(y|θ),y)と前記各学習用予測車線にそれぞれ対応する前記GT車線のそれぞれのピクセル(xGT,y)との各距離の差(xGT−f(y|θ))を参照して少なくとも一つの距離リグレッションロスを算出するプロセス;(vi) 前記分類ロス、前記イグジステンスロス及び前記距離リグレッションロスをバックプロパゲーションして、前記CNNの装置パラメータを最適化するプロセス;を経て学習された学習装置のパラメータが取得された状態で、前記学習装置のパラメータを利用したテスト装置が、テストイメージを取得するか、他の装置をもって取得するように支援する段階;(b)前記テスト装置が、前記テストイメージに対して、コンボリューション演算を適用して、少なくとも一つのテスト用特徴マップを生成するか、他の装置をもって取得するように支援する段階;(c)前記テスト装置が、前記テスト用特徴マップの中の特定のテスト用特徴マップを前記FC(Fully Connected)レイヤに提供して、前記FCレイヤをもって、前記テストイメージ内の前記車線のテスト用クラスターID分類の結果ベクトル(前記テスト用クラスターID分類の結果ベクトルは、前記車線それぞれに対して予測されたテスト用クラスターIDを少なくとも一つ以上含むものである)を生成する段階;及び(d)前記テスト装置が、前記予測されたテスト用クラスターIDそれぞれに対応するテスト用クラスターグループ代表値(θ)それぞれを生成し、前記テスト用クラスターグループ代表値(θ それぞれによって前記車線の各形状が表現された前記予測されたテスト用車線それぞれを決定する段階;を含み、前記クラスターIDGTベクトルは、前記学習用入力イメージ内の前記車線の情報を基に取得された関数パラメータをクラスタリングして、車線モデリング関数の前記関数パラメータに付与されたクラスターグループそれぞれの学習用クラスターIDである確率に対するGT情報であり、前記それぞれの車線(Li,j)は、テスト用クラスターグループの中の自身と対応する一つのテスト用クラスターグループ(C)にそれぞれ含まれ、前記車線(Li,j)それぞれと対応する前記テスト用クラスターIDをそれぞれk(kは、1ないしKの間の値)と示した状態で、前記それぞれのテスト用クラスターグループは、前記テスト用各クラスターグループに含まれている前記各車線の前記関数パラメータに対するそれぞれの平均値
Figure 0006847463
前記各テスト用クラスターグループ代表値(θ)として有することを特徴とするテスト方法が提供される。
一例として、(e)前記テスト装置が、それぞれのテスト用予測車線の前記ピクセル(f(y|θ),y)周辺のそれぞれの領域を示す少なくとも一つの領域フィーチャー(areal features)それぞれを前記特定のテスト用特徴マップから抽出するか、他の装置をもって抽出するように支援する段階;(f)前記テスト装置が、前記テスト用予測車線のそれぞれの座標からx軸に平行な方向へ所定ピクセル数以内の領域に実際の車線の座標が存在するかを基に、前記実際の車線の中の一つが前記それぞれのテスト用予測車線周辺に存在するかを判断し、前記実際の車線の中の一つが周りに存在するならば、前記実際の車線の中の一つの座標と前記テスト用予測車線座標との間の距離それぞれを計算するか、他の装置をもって計算するように支援する段階;及び(g)前記テスト装置が、前記テスト用予測車線を前記距離のそれぞれの分だけ移動して、移動したテスト用予測車線を決定するか、他の装置をもって決定するように支援する段階;をさらに含むことを特徴とする方法が提供される。
一例として、前記(d)段階は、前記テスト用クラスターグループ代表値それぞれは、前記予測されたテスト用クラスターID分類の前記結果ベクトルのうち、各ベクトル成分が予め設定してある値より大きいか否かに対する情報を参照にして決定された、前記予測されたテスト用クラスターIDの少なくとも一部を利用して、前記テスト用クラスターグループ代表値それぞれを取得することを特徴とするテスト方法が提供される。
本発明のまた他の態様によれば、CNN(Convolutional Neural Network)を利用して少なくとも一つの車線を検出するための学習装置において、少なくとも一つのイメージデータセットから選択された入力イメージを獲得するか、他の装置をもって獲得するように支援する通信部;及び(i)一つのコンボリューションレイヤをもって、前記入力イメージに対して一回以上のコンボリューション演算を適用して少なくとも一つの特徴マップを生成するプロセス、(ii)FCレイヤをもって、前記コンボリューションレイヤから出力された特定の特徴マップを前記FCレイヤに提供して、前記入力イメージ内の前記車線のクラスターID分類の予測結果ベクトルを生成にするプロセス、(iii)ロスレイヤをもって、前記クラスターID分類の前記予測結果ベクトル及びクラスターIDGTベクトルを参照にして、少なくとも一つの分類ロスを生成し、前記分類ロスをバックプロパゲーションして、前記CNNの装置パラメータ(device parameters)を最適化するプロセスを遂行するプロセッサ;を含み、前記クラスターIDGTベクトルは、前記入力イメージ内の前記車線の情報を基に取得された関数パラメータをクラスタリングして、車線モデリング関数の前記関数パラメータに付与されたクラスターグループそれぞれのクラスターIDである確率に対するGT情報であることを特徴とする学習方法が提供される。
一例として、前記クラスターIDGTベクトルは、K+1ディメンションを有するベクトルであり、(I)前記入力イメージ上に前記車線が存在すると判断された場合、前記入力イメージの前記車線の中で、前記K個のクラスターIDの中の特定クラスターIDであるCに属する特定車線が存在すれば、前記クラスターIDGTベクトルのk番目のディメンションは1が割り当てられ、前記クラスターIDの中で、前記入力イメージに存在しない他のクラスターIDそれぞれに対応する前記クラスターIDGTベクトルの他のディメンションは0が割り当てられ、前記クラスターIDGTベクトルのK+1番目のディメンションは0が割り当てられ、(II)前記入力イメージ上に前記車線が存在しないと判断されれば、前記クラスターIDGTベクトルの1ないしK番目のディメンションは0が割り当てられ、前記クラスターIDGTベクトルの前記K+1番目のディメンションは1が割り当てられ、kは1ないしKの整数であり、前記(iii)プロセスで、前記クラスターID分類の前記予測結果ベクトルは、K+1ディメンションを有するベクトルであることを特徴とする学習方法が提供される。
一例として、前記それぞれの車線(Li,j)が前記クラスターグループの中で自身と対応する一つのクラスターグループ(Ck)にそれぞれ含まれ、前記車線(Li,j)それぞれと対応する前記クラスターIDに含まれたそれぞれのクラスターIDをkと表示した状態で、前記各クラスターグループは、前記各クラスターグループに含まれる前記各車線の前記関数パラメータに対するそれぞれの平均値
Figure 0006847463
を各クラスターグループ代表値(θ)として有し、前記プロセッサは、(iv)予測されたクラスターIDそれぞれに対応する前記クラスターグループ代表値(θ 各々を生成するか、他の装置をもって生成するように支援し、前記クラスターグループ代表値(θ)それぞれによって表現された予測車線それぞれを決定するか、他の装置をもって決定するように支援するプロセスをさらに遂行することを特徴とする学習方法が提供される。
一例として、前記クラスターグループ代表値それぞれは、前記予測されたクラスターIDの中の、少なくとも一部を利用して算出され、前記予測されたクラスターIDの前記少なくとも一部は、前記予測結果ベクトルの各ベクトル成分が予め設定された値より大きいか否かに対する情報を参照して決定されることを特徴とする学習方法が提供される。
一例として、 前記プロセッサは、(v)GT車線のいずれか一つの車線の座標が、前記予測車線の各々の座標からx軸に平行な両方の任意の方向へ所定のピクセル数以内の領域に存在するか否かを基に、前記それぞれの予測車線の周囲に、前記GT車線のいずれかが存在するかを示す、少なくとも一つのイグジステンスロス(existence loss)を算出するか、他の装置をもって算出するように支援するプロセス;(vi)前記予測車線それぞれの周辺に前記GT車線のいずれかが識別される場合、前記各予測車線の各々のピクセル(f(y|θ),y)と前記各予測車線にそれぞれ対応する前記GT車線の各々のピクセル(xGT,y)との各距離の差(xGT−f(y|θ))を参照して、少なくとも一つの距離リグレッションロスを算出するか、他の装置をもって獲得するように支援するプロセス;(vii)前記イグジステンスロス及び前記距離リグレッションロスをバックプロパゲーションするか、他の装置をもってバックプロパゲーションするように支援して、前記CNNの前記装置パラメータを最適化するプロセス;をさらに遂行することを特徴とする学習方法が提供される。
一例として、前記(v)プロセス以前に、(v0)前記それぞれの予測車線の前記ピクセル(f(y|θ),y)周辺のそれぞれの領域を示す、少なくとも一つの領域フィーチャー(areal features)それぞれを前記特定の特徴マップから抽出するか、他の装置をもって抽出できるよう支援するプロセスをさらに遂行し、前記抽出された領域フィーチャーを基に前記イグジステンスロス及び前記距離リグレッションロスを算出することを特徴とする学習方法が提供される。
一例として、 前記(v)プロセスで、前記イグジステンスロスは、クロスエントロピーを利用して算出し、前記(vi)プロセスで、前記距離リグレッションロスは、少なくとも一つのユークリッド距離リグレッションロスを利用して算出することを特徴とする学習方法が提供される。
本発明のまた他の態様によれば、車線モデル(lane model)を利用して少なくとも一つの車線を検出し得るCNN(Convolutional Neural Network)のテスト装置において、(I)前記CNNを利用する学習装置が、(i)一つ以上のコンボリューションレイヤをもって、少なくとも一つの学習用イメージデータセットから選択された学習用入力イメージに対して一回以上のコンボリューション演算を適用して、一つ以上の学習用特徴マップを生成するプロセス;(ii)FCレイヤをもって、前記コンボリューションレイヤから出力された前記学習用特徴マップの中の学習用特定の特徴マップを前記FCレイヤに提供して、前記学習用入力イメージ内の前記車線の学習用クラスターID分類の予測結果ベクトルを生成し、ロスレイヤをもって、前記学習用クラスターID分類の前記予測結果ベクトル及びクラスターIDGTベクトルを参照にして、少なくとも一つの分類ロスを生成するプロセス;(iii)予測された学習用クラスターIDそれぞれに対応する学習用クラスターグループ代表値(θ)それぞれを生成し、前記学習用クラスターグループ代表値それぞれによって表現された学習用予測車線それぞれを決定するプロセス;(iv)GT車線のいずれか一つの車線の座標が、前記学習用予測車線の各々の座標からx軸に平行な両方の任意の方向へ所定のピクセル数以内の領域に存在するか否かをもとに、前記それぞれの学習用予測車線の周囲に前記GT車線のいずれかが存在するかを示す、少なくとも一つのイグジステンスロス(existence loss)を算出するプロセス;(v)前記学習用予測車線のそれぞれの周辺に前記GT車線のいずれかが識別される場合、前記学習用予測車線のそれぞれのピクセル(f(y|θ),y)と前記各学習用予測車線にそれぞれ対応する前記GT車線のそれぞれのピクセル(xGT,y)との各距離の差(xGT−f(y|θ))を参照して少なくとも一つの距離リグレッションロスを算出するプロセス;(vi) 前記分類ロス、前記イグジステンスロス及び前記距離リグレッションロスをバックプロパゲーションして、前記CNNの装置パラメータを最適化するプロセス;を経て学習された学習装置のパラメータが取得された状態で、テストイメージを取得するか、他の装置をもって取得するように支援する通信部;及び(II)前記テストイメージに対して、コンボリューション演算を適用して、少なくとも一つのテスト用特徴マップを生成するか、他の装置をもって取得するように支援するプロセス、(III)前記テスト用特徴マップの中の特定のテスト用特徴マップを前記FC(Fully Connected)レイヤに提供して、前記FCレイヤをもって、テスト用前記テストイメージ内の前記車線のテスト用クラスターID分類の結果ベクトル(前記テスト用クラスターID分類の結果ベクトルは、前記車線それぞれに対して予測されたテスト用クラスターIDを少なくとも一つ以上含むものである)を生成するプロセス、及び(IV)前記予測されたテスト用クラスターIDそれぞれに対応するテスト用クラスターグループ代表値(θ)それぞれを生成し、前記テスト用クラスターグループ代表値(θ それぞれによって前記車線の各形状が表現された前記予測されたテスト用車線それぞれを決定するプロセッサ;を含み、 前記クラスターIDGTベクトルは、前記学習用入力イメージ内の前記車線の情報を基に取得された関数パラメータをクラスタリングして、車線モデリング関数の前記関数パラメータに付与されたクラスターグループそれぞれの学習用クラスターIDである確率に対するGT情報であり、前記それぞれの車線(Li,j)は、テスト用クラスターグループの中の自身と対応する一つのテスト用クラスターグループ(C)にそれぞれ含まれ、前記車線(Li,j)それぞれと対応する前記テスト用クラスターIDをそれぞれk(kは、1ないしKの間の値)と示した状態で、前記それぞれのテスト用クラスターグループは、前記テスト用各クラスターグループに含まれている前記各車線の前記関数パラメータに対するそれぞれの平均値
Figure 0006847463
前記各テスト用クラスターグループ代表値(θ)として有することを特徴とするテスト装置が提供される。
一例として、前記プロセッサは、(V)それぞれのテスト用予測車線の前記ピクセル(f(y|θ),y)周辺のそれぞれの領域を示す少なくとも一つの領域フィーチャー(areal features)それぞれを前記特定のテスト用特徴マップから抽出するか、他の装置をもって抽出できるよう支援するプロセス;(VI)前記テスト用予測車線のそれぞれの座標からx軸に平行な方向へ所定ピクセル数以内の領域に実際の車線の座標が存在するかを基に、前記実際の車線の中の一つが前記それぞれのテスト用予測車線周辺に存在するかを判断し、前記実際の車線の中の一つが周りに存在するならば、前記実際の車線の中の一つの座標と前記テスト用予測車線座標との間の距離それぞれを計算するか、他の装置をもって計算するように支援するプロセス;及び(VII)前記テスト用予測車線を前記距離のそれぞれの分だけ移動して、移動したテスト用予測車線を決定するか、他の装置をもって決定するように支援するプロセス;をさらに遂行することを特徴とするテスト装置が提供される。
一例として、前記(IV)プロセスで、前記テスト用クラスターグループ代表値それぞれは、前記予測されたテスト用クラスターID分類の前記結果ベクトルのうち、各ベクトル成分が予め設定してある値より大きいか否かに対する情報を参照にして決定された、前記予測されたテスト用クラスターIDの少なくとも一部を利用して、前記テスト用クラスターグループ代表値それぞれを取得することを特徴とするテスト装置が提供される。
本発明によれば、学習データから車線に対するモデル化及びクラスタリングにより車線モデル学習のためのデータを生成し、これを基に入力イメージに対する車線に対する車線モデル関数のクラスターIDを参照に車線モデル関数のパラメータを求める学習を遂行し得る。
また本発明によれば、CNN学習によって入力イメージから車線モデル関数を探し、これを基に車線を検出し得る効果を提供する。
また本発明によれば、検出された車線モデルの周辺特徴マップのみ演算に利用するため、従来技術の方法より少ない演算量で車線を検出し得る。
本発明の実施例の説明に利用されるために添付された以下の各図面は、本発明の実施例のうちの一部に過ぎず、本発明が属する技術分野でおいて、通常の知識を有する者(以下「通常の技術者」)は、発明的作業が行われることなくこの図面に基づいて他の図面が得られ得る。
図1は、従来の技術でディープCNNを利用し写真から検出しようとする多様な出力の例を示す図面である。 図2は、従来のCNNを利用した従来の車線検出方法を簡略的に示した図面である。 図3は、従来のCNNを利用した一般的なセグメンテーションの従来のプロセスを簡略的に示した図面である。 図4は、本発明に係る車線モデルを利用して少なくとも一つの車線を検出し得るCNNの学習方法を示すフローチャートである。 図5は、本発明によって少なくとも一つのイメージデータセットから車線モデリング関数及びクラスターIDを求める過程を示した図面である。 図6は、本発明に係る車線検出のためのCNNの学習方法を概略的に示した図面である。 図7は、本発明に係る学習装置を通じて検出した車線のクラスターID分類結果ベクトルの例を概略的に示した図面である。 図8は、本発明によって取得された予測車線を基に予測車線座標のx軸に平行な両方の任意方向へGT車線の座標が存在するか否かを確認する過程を概略的に示した図面である。 図9は、本発明によって特徴マップから予測された車線の該当ピクセル周辺の一定領域だけを抽出することを概略的に示した図面である。 図10は、本発明によって予測車線の該当ピクセルとGT車線の該当ピクセルとの距離を参照して少なくとも一つの距離リグレッションロスを算出する過程を概略的に示した図面である。 図11は、本発明に係る車線検出のためのテスト装置で、車線をモデル検出によって車線検出過程を概略的に示した図面である。
後述する本発明に対する詳細な説明は、本発明が実施され得る特定の実施例を例示として示す添付図面を参照する。これらの実施例は当業者が本発明を実施することができるように充分詳細に説明される。本発明の多様な実施例は相互異なるが、相互排他的である必要はないことを理解されたい。例えば、ここに記載されている特定の形状、構造及び特性は一実施例と関連して、本発明の精神及び範囲を逸脱せず、かつ他の実施例で具現され得る。また、各々の開示された実施例内の個別構成要素の位置または配置は、本発明の精神及び範囲を逸脱せずに変更され得ることを理解されたい。従って、後述する詳細な説明は限定的な意味で捉えようとするものではなく、本発明の範囲は、適切に説明されれば、その請求項が主張することと均等なすべての範囲と、併せて添付された請求項によってのみ限定される。図面において類似する参照符号は、いくつかの側面にわたって同一であるか、類似する機能を指す。
本発明で言及している各種イメージは、舗装または非舗装道路関連のイメージを含み得、この場合、道路環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではなく、本発明で言及している各種イメージは、道路と関係のないイメージ(例えば、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内と関連したイメージ)でもあり得り、この場合、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではない。
また、本発明の詳細な説明及び各請求項にわたって、「含む」という単語及びそれらの変形は、他の技術的各特徴、各付加物、構成要素又は段階を除外することを意図したものではない。通常の技術者にとって本発明の他の各目的、長所及び各特性が、一部は本説明書から、また一部は本発明の実施から明らかになるであろう。以下の例示及び図面は、実例として提供され、本発明を限定することを意図したものではない。
以下、本発明が属する技術分野で通常の知識を有する者が本発明を容易に実施することができるようにするために、本発明の好ましい実施例について添付の図面に基づいて詳細に説明する。
図4は、本発明に係る車線モデルを利用して少なくとも一つの車線を検出し得るCNNの学習方法を示すフローチャートである。
図4を参照すれば、本発明に係るCNNを利用して車線モデルによって車線を検出する学習方法は、イメージデータセットから車線に対する情報を取得する段階S01、車線の中点座標のピクセル情報を利用して各車線の車線モデリング関数の関数パラメータを算出する段階S02、クラスタリングアルゴリズムを利用して車線モデリング関数の関数パラメータをK個のクラスターグループに分類して、少なくとも一つのイメージデータセット内のそれぞれの入力イメージに存在する車線のタイプに対応する一つ以上のクラスターID情報を示すクラスターIDGTベクトルを生成する段階S03、入力イメージに対してコンボリューション演算を一回以上随行して少なくとも一つの特徴マップを生成する段階S04、特定の特徴マップをFCレイヤに提供してクラスターID分類の結果ベクトルを生成し、クラスターID分類の結果ベクトルやクラスターIDGTベクトルを参照にして、少なくとも一つの分類ロスを算出する段階S05、予測されたクラスターID(すなわち、クラスターID分類結果ベクトル)に対応するクラスターグループ代表値を生成して、クラスターグループ代表値(θ)で表現された予測車線を決定する段階S06、取得された予測車線の周辺にGT車線のいずれかが存在するかを示すイグジステンスロスを算出する段階S07、予測車線周辺にGT車線が存在する場合、予測車線の該当ピクセルと、これに対応するGT車線の該当ピクセルとの距離の差を参照して、少なくとも一つの街リグレッションロスを算出する段階S08、及び分類ロス、イグジステンスロス及び距離リグレッションロスをバックプロパゲーションしてCNNの装置パラメータを最適化する段階S09を含む。ただし、本発明のS01ないしS09までの段階が必ず存在しなければならないわけではなく、S01からS03までによってクラスターIDGTベクトルを生成する発明だけでも構成され得、クラスターIDGTのベクトルが如何なる方法によってでも(すなわち、必ずS01〜S03の方法によらなくても)求められた状態で、S04からS09までによって学習する発明だけで構成されることもあるだろう。
本発明に係る車線モデルを利用して車線を検出し得るCNNの学習方法は、少なくとも一つのイメージデータセットから(i)車線の中点座標に対する情報と(ii)これらのから取得した車線モデリング関数の関数パラメータをクラスタリングしたクラスターIDGTベクトルを得る。その後、学習装置によって入力イメージ入力イメージから車線モデリング関数を予測し、これを利用して入力イメージ内に存在する各車線の各中点座標を探す方法を提案する。
図5は、少なくとも一つのイメージデータセットから車線モデリング関数及びクラスターIDを求める過程を示した図面である。
図5を参照すれば、S01段階で、少なくとも一つのイメージデータセットから車線を成すピクセルの各座標の集合として表現される車線の情報を取得し得る。
例えば、図5の少なくとも一つのイメージデータセット内の特定入力のイメージ510から車線に対するピクセル情報を取得して、車線ピクセルの中点座標に対する情報を取得する。この際、車線の中点座標は(x,y)と表示され得、車線は、車線各中点座標の集合と定義される。車線Li,j={(x,y)|(x,y)は、i番目の入力イメージのj番目の車線の中点座標}で表され得る。
そして、S02段階では、車線の各中点座標のピクセル情報を利用して各車線の車線モデリング関数の関数パラメータを計算するか、前記パラメータを計算して車線モデリング関数を算出するが、車線集合(Li,j)に含まれている各中点座標(x,y)を表現する車線モデリング関数は、次の数式で表される。
[数式1]
x=f(y;θi,j
ここで、Li,j={(x,y)|(x,y)は、i番目の入力イメージのj番目の車線の中点座標}={(x,y)|x=f(y;θi,j)}であり、θi,jはi番目の入力イメージのj番目の車線の各関数パラメータを示す。
図5の特定入力のイメージ510の車線情報(ピクセル情報)を利用してx=f(y;θi,j)で表され得る関数パラメータを探した結果が、図5の真ん中の写真520のように例示的に示される。このような過程を通じて与えられたピクセル情報を利用して、各車線の車線モデルのパラメータが計算され得る。すなわち、車線の集合(Li,j)に含まれている中点を最もよく表現する関数を定義して車線を示すことができる。
この際、車線モデリング関数は、パラメータ化された関数であり、前記関数パラメータは、リグレッションアルゴリズムを利用して求られ得る。一方、このリグレッションアルゴリズムとして、前記車線モデリング関数によって異なるアルゴリズムが利用され得る。
また、車線モデリング関数は多項式関数で実装され得、前記リグレッションアルゴリズムでは最小二乗誤差アルゴリズムを利用し得る。
S03段階は、クラスタリングアルゴリズムを利用して、関数パラメータをK個のクラスターのグループに分類し、少なくとも一つのイメージデータセット内のそれぞれのイメージに存在する各車線のタイプに対応するクラスターID情報を示すクラスターIDGTベクトルを生成し得る。この段階は、学習データを生成するために車線のクラスターIDを定義する過程である。この段階は、具体的に、関数パラメータに対してクラスタリングアルゴリズムを適用してK個のクラスターグループに分類でき、それぞれのクラスターグループごとにそれぞれのクラスターIDを付与し車線のタイプに対応するクラスターIDである正確な確率に対するGT情報を示すクラスターIDGTベクトルを生成し得る。
すなわち、クラスタリングアルゴリズムを利用してすべてのイメージから車線モデリング関数の全ての関数パラメータをK個のクラスターグループに分類し、学習装置は、CNNの装置パラメータを学習して入力イメージ内にある車線がどのクラスターIDに該当するかを予測するように学習する。
クラスタリングは、N個のデータをK個のクラスター(グループ)に分ける方法である。(この際、N≧Kになる)。代表的なクラスタリングには、k−meansクラスタリング、spectralクラスタリングなどの方法があり、本発明では、任意のクラスタリング方法が利用され得る。また、クラスタリングとは、同じような形をしたデータを同じクラスターにグループ化することである。
学習用データに含まれている少なくとも一つのイメージデータセットのイメージに存在する車線のN個のパラメータθi,jをK個のクラスターに区別するが、この際、各車線Li,jは必ず一つだけのクラスターCに含まれる(1≦k≦K)。つまり、そのいかなる二つのクラスターも、それらの要素(element)として車線を共有はしない。ここで、車線Li,jを示すクラスターIDはkとなる。
各クラスターは、含んでいる車線の関数パラメータの平均値
Figure 0006847463
を代表値(θ)として有する。もしこれにより、学習によって或る入力イメージに存在する車線が属するクラスターIDが分かれば、クラスターの代表的な値で車線を大まかに示すことができる。
図5のイメージ530を参照すれば、各実線は、GT車線の関数パラメータを利用して描いた車線であり、点線はクラスターに対応するGT車線の関数パラメータが含まれた当該クラスターの代表クラスターグループ値を利用して描いた車線を例示的に示す。図5のイメージ530のように、クラスターの代表クラスターグループ値がGT車線を完璧に示してはいないが、GT車線と非常に類似した形を示すことになる。
特徴マップ内の特徴(Feature)を利用して、入力イメージから関数パラメータを直接予測することは容易ではないが、車線を検出するための関数パラメータ又は装置パラメータの学習はこのようなプロセスに基づいて遂行され得る。従って、本発明では、入力イメージから車線のクラスターIDを予測することを目標とする。クラスターIDが分かれば、対応する関数パラメータを有する大まかな車線モデリング関数を見つけることができ、これを利用して車線をより正確に探し得る。
図6は、本発明に係る車線検出のためのCNNの学習方法を概略的に示した図面である。
図4及び図6を参照すれば、S04段階で、学習装置が、少なくとも一つのイメージデータセットから取得された入力イメージに対して、入力イメージ内の少なくとも一つの車線に対応する少なくとも一つのクラスターIDを予測し得るCNNの装置パラメータ(device parameters)を学習するために、学習装置は、少なくとも一つのコンボリューションレイヤ610をもって、入力イメージに対してコンボリューション演算を一回以上随行し、少なくとも一つの特徴マップ620を生成する。
S05段階では、図6に示したように、特徴マップからクラスターID分類の結果ベクトルを生成し、クラスターID分類の結果ベクトルとクラスターIDGTベクトルとを参照にして分類ロスを算出する。つまり、学習装置が、コンボリューションレイヤから出力された特定の特徴マップ620をFC(Fully Connected)レイヤ630に提供し、FCレイヤ630をもって、入力イメージ内の車線のクラスターID分類の結果ベクトル640を生成し、クラスターID分類の結果ベクトル及びクラスターIDGTベクトルを参照にして少なくとも一つの分類ロスを算出する。ここで算出されたクラスターID分類ロスはバックプロパゲーションすることにより、CNNの装置パラメータの最適化に利用される。
一方、クラスターIDGTベクトルは、少なくとも一つのイメージデータセットの各イメージに存在する車線のクラスターIDを含むK+1ディメンションを有するベクトルであり、(i)入力イメージ上に車線が存在すると判断された場合、入力イメージの車線の中にK個のクラスターIDのうち特定クラスターIDであるCに属する特定車線が存在すれば、クラスターIDGTベクトルのk番目のディメンションは1が割り当てられ、クラスターIDのうち入力イメージに存在していない他のクラスターIDそれぞれに対応するクラスターIDGTベクトルの他のディメンションは0が割り当てられ、クラスターIDGTベクトルのK+1番目のディメンションは0が割り当てられて、(ii)入力イメージ上に車線が存在していないものと判断される場合は、クラスターIDGTベクトルの1ないしK番目のディメンションは0が割り当てられ、クラスターIDGTベクトルのK+1番目のディメンションは1が割り当てられる。
例えば、図5に示されたイメージ530に対応するクラスターIDGTベクトルは、K+1ディメンションの中のi番目、j番目、k番目のディメンションは1を割り当て、残りのディメンションは(k+1番目のディメンション含む)0が割り当てられる。もし、入力されたイメージに車線が存在しなければ、クラスターIDGTベクトルは0、0、…、0、1が割り当てられる。
図7は、本発明に係る学習装置を通じて検出した車線のクラスターID分類結果ベクトルの例を概略的に示した図面である。
図6及び図7を参照すると、特徴マップ620をFCレイヤ630に入力して、クラスターID分類結果ベクトル640が出力され、クラスターID分類結果ベクトルはクラスターIDGTベクトルと対応するようにK+1ディメンションのベクトルで算出される。図7の例で、算出されたクラスターID分類結果ベクトルは(0.60、0.01、0.30、…、0.03)で表現されるベクトルだ。つまり、図7の例では、入力されたイメージにはクラスターIDがCやCに該当する車線が存在する確率が高いものと算出された。もし入力されたイメージのクラスターIDGTのベクトルがクラスターIDC1やC3を含むものと確認される場合、つまり、クラスターIDGTベクトルが(1、0、1、0、…、0)である場合、算出されたクラスターID分類結果ベクトルである(0.60、0.01、0.30、…、0.03)で表示されるベクトルとクラスターIDGTベクトルである(1、0、1、0、…、0)で表示されるベクトルを参照にして、クラスターID分類ロスを算出する。このクラスターID分類ロス(l)は、クラスターID分類の結果ベクトル及びクラスターIDGTベクトル間のクロスエントロピーロスとして算出され得る。
S06段階では、予測されたクラスターIDに対応するクラスターグループ代表値を取得し、予測車線としてのクラスターグループ代表値(θ)を取得する。先にS03段階で説明したとおり、それぞれのクラスターグループは、自身のクラスターグループに含まれた各車線の関数パラメータの平均値
Figure 0006847463
を各クラスターグループ代表値(θ)として有するので、学習装置は、S05段階で予測されたクラスターIDに対応するクラスターグループ代表値(θ)を取得して、予測されたクラスターグループ代表値(θ)(すなわち、平均パラメータ)によって表現された予測車線を決定するか、他の装置をもって決定するように支援し得る。
この場合、予測されたクラスターIDの少なくとも一部を利用して各クラスターグループ代表値を取得し、クラスターID分類の結果ベクトルの各ベクトル成分が所定の閾値より大きいか否かに対する情報を参照にして予測されたクラスターIDの少なくとも一部が選択される。そして、求められたクラスターCの取得されたパラメータ代表値θを利用して、x=f(y|θ)を演算することにより、車線の形を示す車線モデルを利用して予測車線を取得し得る。
その後、再び図6を参照すれば、上のプロセスを進めた後、予測された車線の中点座標とGT車線の中点座標との間の距離の差を学習する過程を遂行し得る。学習装置は、クラスターID分類結果ベクトルの中で所定の閾値より大きい値を有するクラスターであるプロポーズドクラスター(Proposed Cluster)それぞれに対して各y値ごとに二つの出力(イグジステンスロスおよび距離リグレッションロス)を生成するか、他の装置をもって生成するように支援し得る。
まず、S07段階では、取得された予測車線の周辺にGT車線が存在するかを示すイグジステンスロスを算出するのだが、図6に示したように特徴マップ620と算出されたクラスターID分類結果ベクトル640をROI(Region Of Interest)プーリングレイヤ650に入力した後、車線の存在を検出するためのFCレイヤ660に通過させると、取得された予測車線周辺にGT車線が存在するかを示すイグジステンスロス(l)が算出され得る。
図8は、取得された予測車線を基に予測車線座標のx軸に平行な両方の任意方向へGT車線の座標が存在するか否かを確認する過程を示すが、図8を参照すれば、点線で表示される各線は、予測されたクラスターIDを用いて取得された予測車線を示す。学習装置は、各点線の各ピクセルのy値に対して周辺にGT車線の座標があるか否かを示す値を算出するのだが、例えば、予測車線のそれぞれの座標からx軸に平行な両方の任意方向に所定のピクセル数以内の領域にGT車線の座標が存在するか否かを基に、前記それぞれの予測車線の周辺にGT車線のいずれかが存在するかを示す少なくとも一つのイグジステンスロスを算出する。イグジステンスロスは、周辺のGT車線のいずれかが近いかを示すラベル(label)であり、2ディメンションベクトルで表され得る。例えば、取得された予測車線の周辺にGT車線のいずれかが近くに存在する場合には[1,0]、取得された予測車線の周辺にGT車線が存在しない場合には[0,1]で表現され得る。
この場合、前述のとおり、取得された予測車線の各y値に対してf(y|θ)を演算して得られた各座標のx軸方向に一定のピクセル数以内の周辺領域にGT車線のいずれかの中点が存在するかを確認する方法が利用され得る。この際、周辺領域は、
Figure 0006847463
で表現され、GT車線のいずれかの中点座標は(xGT,y)で表され得る。
再び図4及び図6を参照すると、S08段階では、予測車線の周辺にGT車線が存在する場合、予測車線の当該ピクセルとGT車線の当該ピクセルとの距離の差である距離リグレッションロスを算出するが、図6に図示されているように、特徴マップ620とクラスターID分類の結果ベクトル640とをROIプーリングレイヤ650に入力して、GT車線と検出された予測車線との間の距離を検出するための、FCレイヤ670に通過させると、予測車線の周辺にGT車線が存在する場合、予測車線の当該ピクセルとGT車線の当該ピクセルとの距離の差である距離リグレッションロス(l)が算出され得る。
図10は、予測車線の該当ピクセルとGT車線の該当ピクセルとの距離を参照して少なくとも一つの距離リグレッションロスを算出する過程を示すが、図10に例示的に示しているように、予測車線の周辺にGT車線が存在する場合、予測車線の各ピクセル(f(y|θ),y)とそれに対応するGT車線のピクセル(xGT,y)1010との距離の差xGT−f(y|θ)1020を算出し、距離リグレッションロス(l)を算出する。
図8の例で、実線で表示された所定の領域810のように、各予測車線のピクセルにおいてx軸方向に左右の一定の距離を探した際、予測車線ピクセル座標のx軸の+方向に存在する実線上のピクセルのようにGT車線が存在すれば、最初の出力、つまりイグジステンスロスは[1,0]になり、二番目の出力、つまり距離リグレッションロスは二つのピクセルのx座標値の差異を参考に取得し得る。しかし、図8の所定の領域820のように予測車線ピクセル座標においてx軸方向に左右の一定距離を探した時、実線で表示された各予測車線のピクセル周辺にGT車線が存在しなければ、最初の出力、つまりイグジステンスロスは[0,1]、二番目の出力、つまり距離リグレッションロスは「ドントケア」で生成される。「ドントケア」は学習に利用されない。
一方、ROIプーリングレイヤ650は、予測車線の該当ピクセル周辺の領域フィーチャー(areal features)を特徴マップから抽出する形を示した、図9に示されているように、予測車線の該当(f(y|θ),y)ピクセル920周辺の一定領域910を示すフィーチャーを特徴マップから抽出する機能を果たす。学習装置は、ROIプーリングレイヤ650を通じて抽出された特徴マップを利用して、二つの出力(イグジステンスロス及び距離リグレッションロス)を計算するか、他の装置をもって計算するように支援し得る。この際、学習装置は、予測車線の該当ピクセル920周辺の一定領域910を示す領域フィーチャーを前記特徴マップから抽出する段階をさらに含み、抽出された領域のフィーチャーを基にイグジステンスロス及び距離リグレッションロスを算出する過程を遂行し得る。
すなわち、本発明では、入力イメージのすべての特徴マップのピクセルを基準で周辺に車線があるか否かを計算する方法を利用せず、図9に図示したように、予測された車線の該当ピクセル周辺の一定領域のみを抽出して演算を遂行するため、演算量が大幅に減り得る。
そして、分類ロス、イグジステンスロス及び距離リグレッションロスをバックプロパゲーションして、学習装置のパラメータを最適化する段階S09を遂行する。
一方、イグジステンスロスは、周辺に車線が存在するか存在しないかを区別するのに用いられるロスを利用するため、分類としてみなし得る。従って、イグジステンスロスは、クロスエントロピーなどを利用して算出され得る。そして距離リグレッションロスは、学習によって出された座標値と実際のGT座標との距離の差をロスとして利用するため、リグレッションロスとみなし得る。従って、距離リグレッションロスは、ユークリッド距離ロスなどを利用して算出され得る。
図4ないし図10によって説明した学習過程を通じて学習装置のパラメータを最適化すると、このようなパラメータを利用したテスト装置を利用して実際の道路走行をしながら入力されたイメージから車線を検出する。
図11は、本発明に係る車線検出のためのテスト装置で、車線モデル検出による車線検出過程を概略的に示した図面である。
図11を参照すれば、学習された学習装置のパラメータを利用したテスト装置が、テストイメージを取得すると、取得されたテストイメージに対してコンボリューションレイヤ1110は、コンボリューション演算を一回以上随行して少なくとも一つのテスト用特徴マップ1120を生成し、テスト用特徴マップ1120をFCレイヤ1130に入力してテストイメージから車線のクラスターグループのクラスターIDの予測値を示すベクトル形態のテスト用クラスターID分類結果ベクトル1140を取得する。
その後、テスト装置は、前記予測されたテスト用クラスターID分類の結果ベクトル1140のうち、各ベクトルの成分が予め設定してある値より大きいか否かに対する情報を参照にして、前記予測されたテスト用クラスターIDの少なくとも一部を利用して、前記テスト用クラスターグループ代表値それぞれを取得し、前記テスト用クラスターグループ代表値(θ)で前記車線の各形状が表現されたテスト用予測の車線を決定し得る。ここで、各車線(Li,j)は、テスト用クラスターグループの中で自分と対応される一つのテスト用クラスターグループ(C)(ここでkは1ないしKの間の値)にそれぞれ含まれ、前記車線(Li、j)それぞれと対応するテスト用クラスターIDをkと示す際、それぞれのテスト用クラスターグループはテスト用各クラスターグループに含まれている前記各車線の前記関数パラメータに対するそれぞれの平均値
Figure 0006847463
を、テスト用各クラスターグループの代表値(θ)として有する。
その後、テスト装置は、各クラスターグループ代表値と表現される車線を利用して次のプロセスを遂行する。つまり、テスト装置は(i)代表値モデルパラメータから数式({(x,y)|x=f(y;θi,j)})を利用して各y値に対してx値を求め(ii)予測された車線の該当ピクセル位置からROIプーリング1150によって特徴を抽出した後、(iii)FCレイヤ1160を通じて抽出された特徴であり周辺には車線が存在するかどうかを区別し、(iv)車線が存在するなら、FCレイヤ1170によって、実際の車線とクラスター代表値の車線の位置の差を計算した後、(v)該当の差の分だけクラスター代表値で求めた点を移動させ、実際の車線を求める。つまり、テスト装置は、予測車線の当該ピクセル周辺の一定領域を示す領域フィーチャーを特徴マップから抽出する段階;取得されたテスト用予測車線を基にテスト用予測車線座標のx軸方向に所定のピクセル数以内の領域に実際の車線が存在するか区別し、実際の車線が存在すれば、実際の車線とテスト用予測車線座標の位置差を計算する段階;及びテスト用予測車線を位置の違い値だけ移動して移動したテスト用予測車線を算出する段階を行い、予測車線を決定する。テスト段階での実際の車線はGT車線を意味するものではなく、テスト用入力イメージ内にある実際の車線を意味する。(iii)プロセスのイグジステンス分類過程によって、当該ROIに車線が存在するか否かを区別でき、実際の車線とクラスター代表値から予測した車線の間の差は(iv)プロセスの距離リグレッション過程を通じてROI内のイメージ特徴を利用して予測し得るため、このような位置の差異の値を反映して予測車線を決定し得る。
これにより、本発明によれば、学習データから車線に対するモデル化及びクラスタリングによって車線モデル学習のためのデータを取得し、これを基に入力イメージから車線に対する車線モデル関数のパラメータを求める学習を行い、入力イメージから車線モデル関数を見つけ、これに基づいて車線を検出し得る方法を提示し得る。併せて、検出された車線周辺の特徴マップだけ演算に利用するため、従来の方法より少ない演算量で車線を検出し得る。
本発明技術分野の通常の技術者に理解され、前記で説明されたイメージ、例えばトレーニングイメージ、テストイメージといったイメージデータの送受信が学習装置及びテスト装置の各通信部によって行われ得、特徴マップと演算を遂行するためのデータが学習装置及びテスト装置のプロセッサ(及び/またはメモリ)によって保有/維持でき得、コンボリューション演算、デコンボリューション演算、ロス値の演算過程が主に学習装置及びテスト装置のプロセッサにより遂行され得るが、本発明はこれに限定されるものではない。
また、以上で説明された本発明に係る実施例は、多様なコンピュータ構成要素を通じて遂行できるプログラム命令語の形態で具現されてコンピュータで判読可能な記録媒体に記録され得る。前記コンピュータで判読可能な記録媒体はプログラム命令語、データファイル、データ構造などを単独でまたは組み合わせて含まれ得る。前記コンピュータ判読可能な記録媒体に記録されるプログラム命令語は、本発明のために特別に設計されて構成されたものか、コンピュータソフトウェア分野の当業者に公知となって使用可能なものでもよい。コンピュータで判読可能な記録媒体の例には、ハードディスク、フロッピィディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカルディスク(flopticaldisk)のような磁気−光媒体(magneto−opticalmedia)、およびROM、RAM、フラッシュメモリなどといったプログラム命令語を格納して遂行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作られるもののような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードも含まれる。前記ハードウェア装置は、本発明に係る処理を遂行するために一つ以上のソフトウェアモジュールとして作動するように構成され得、その逆も同様である。
以上、本発明が具体的な構成要素などのような特定事項と限定された実施例及び図面によって説明されたが、これは本発明のより全般的な理解を助けるために提供されたものであるに過ぎず、本発明が前記実施例に限られるものではなく、本発明が属する技術分野において通常の知識を有する者であれば係る記載から多様な修正及び変形が行われ得る。
従って、本発明の思想は前記説明された実施例に局限されて定められてはならず、後述する特許請求の範囲だけでなく、本特許請求の範囲と均等または等価的に変形されたものすべては、本発明の思想の範囲に属するといえる。

Claims (20)

  1. CNN(Convolutional Neural Network)を利用して少なくとも一つの車線を検出するための学習方法において、
    (a)学習装置が、一つのコンボリューションレイヤをもって、少なくとも一つのイメージデータセットから選択された入力イメージに対して一回以上コンボリューション演算を適用して少なくとも一つの特徴マップを生成する段階;
    (b)前記学習装置が、FC(Fully Connected)レイヤをもって、前記コンボリューションレイヤから出力された前記特徴マップの中の特定の特徴マップを前記FCレイヤに提供して、前記入力イメージ内の前記車線のクラスターID分類の予測結果ベクトルを生成する段階;及び
    (c)前記学習装置が、ロスレイヤをもって、前記クラスターID分類の前記予測結果ベクトル及びクラスターIDGTベクトルを参照にして、少なくとも一つの分類ロスを生成し、前記分類ロスをバックプロパゲーションして、前記CNNの装置パラメータ(device parameters)を最適化する段階;
    を含み、
    前記クラスターIDGTベクトルは、前記入力イメージ内の前記車線の情報をもとに取得された関数パラメータをクラスタリングして、車線モデリング関数の前記関数パラメータに付与されたクラスターグループそれぞれのクラスターIDである確率に対するGT(Ground Truth)情報であることを特徴とする学習方法。
  2. 前記クラスターIDGTベクトルは、K+1ディメンションを有するベクトルであり、(i)前記入力イメージ上に前記車線が存在すると判断された場合、前記入力イメージの前記車線の中で、前記K個のクラスターIDの中の特定クラスターIDであるCkに属する特定車線が存在すれば、前記クラスターIDGTベクトルのk番目のディメンションは1が割り当てられ、前記クラスターIDの中で、前記入力イメージに存在しない他のクラスターIDそれぞれに対応する前記クラスターIDGTベクトルの他のディメンションは0が割り当てられ、前記クラスターIDGTベクトルのK+1番目のディメンションは0が割り当てられ、(ii)前記入力イメージ上に前記車線が存在しないと判断されれば、前記クラスターIDGTベクトルの1ないしK番目のディメンションは0が割り当てられ、前記クラスターIDGTベクトルの前記K+1番目のディメンションは1が割り当てられ、
    kは1ないしKの整数であり、
    前記(c)段階で、
    前記クラスターID分類の前記予測結果ベクトルは、K+1ディメンションを有するベクトルであることを特徴とする請求項1に記載の学習方法。
  3. 前記それぞれの車線(Li,j)が前記クラスターグループの中で自身と対応する一つのクラスターグループ(C)にそれぞれ含まれ、前記車線(Li,j)それぞれと対応する前記クラスターIDに含まれたそれぞれのクラスターIDをkと表示した状態で、
    前記各クラスターグループは、前記各クラスターグループに含まれる前記各車線の前記関数パラメータに対するそれぞれの平均値
    Figure 0006847463
    を各クラスターグループ代表値(θ)として有し、
    前記学習方法は、
    (d)前記学習装置が、予測されたクラスターIDそれぞれに対応する前記クラスターグループ代表値(θ 各々を生成するか、他の装置をもって生成するように支援し、前記クラスターグループ代表値(θ)それぞれによって表現された予測車線それぞれを決定するか、他の装置をもって決定するように支援する段階;
    をさらに含むことを特徴とする請求項2に記載の学習方法。
  4. 前記クラスターグループ代表値それぞれは、前記予測されたクラスターIDの中の少なくとも一部を利用して算出され、前記予測されたクラスターIDの前記少なくとも一部は、前記予測結果ベクトルの各ベクトル成分が予め設定された値より大きいか否かに対する情報を参照にして決定されることを特徴とする請求項3に記載の学習方法。
  5. (e)前記学習装置が、GT車線のいずれか一つの車線の座標が、前記予測車線の各々の座標からx軸に平行な両方の任意の方向へ所定のピクセル数以内の領域に存在するか否かを基に、前記それぞれの予測車線の周囲に、前記GT車線のいずれかが存在するかを示す、少なくとも一つのイグジステンスロス(existence loss)を算出するか、他の装置をもって算出するように支援する段階;
    (f)前記学習装置が、前記予測車線の周辺それぞれに前記GT車線のいずれかが識別される場合、前記各予測車線の各々のピクセル(f(y|θ),y)と前記各予測車線にそれぞれ対応する前記GT車線の各々のピクセル(xGT,y)との各距離の差(xGT−f(y|θ))を参照して、少なくとも一つの距離リグレッションロスを算出するか、他の装置をもって獲得するように支援する段階;
    (g)前記学習装置が、前記イグジステンスロス及び前記距離リグレッションロスをバックプロパゲーションするか、他の装置をもってバックプロパゲーションするように支援して、前記CNNの前記装置パラメータを最適化する段階;
    をさらに含むことを特徴とする請求項3に記載の学習方法。
  6. 前記(e)段階以前に、
    (e0)前記学習装置が、前記それぞれの予測車線の前記ピクセル(f(y|θ),y)周辺のそれぞれの領域を示す、少なくとも一つの領域フィーチャー(areal features)それぞれを前記特定の特徴マップから抽出するか、他の装置をもって抽出するよう支援する段階;
    をさらに含み、
    前記抽出された領域フィーチャーを基に前記イグジステンスロス及び前記距離リグレッションロスを算出することを特徴とする請求項5に記載の学習方法。
  7. 前記(e)段階で、
    前記イグジステンスロスは、クロスエントロピーを利用して算出し、
    前記(f)段階で、
    前記距離リグレッションロスは、少なくとも一つのユークリッド距離リグレッションロスを利用して算出することを特徴とする請求項5に記載の学習方法。
  8. 車線モデル(lane model)を利用して少なくとも一つの車線を検出し得るCNN(Convolutional Neural Network)のテスト方法において、
    (a)前記CNNを利用する学習装置が、(i)一つ以上のコンボリューションレイヤをもって、少なくとも一つの学習用イメージデータセットから選択された学習用入力イメージに対して一回以上のコンボリューション演算を適用して、一つ以上の学習用特徴マップを生成するプロセス;(ii)FCレイヤをもって、前記コンボリューションレイヤから出力された前記学習用特徴マップの中の学習用特定特徴マップを前記FCレイヤに提供して、前記学習用入力イメージ内の前記車線の学習用クラスターID分類の予測結果ベクトルを生成し、ロスレイヤをもって前記学習用クラスターID分類の前記予測結果ベクトル及びクラスターIDGTベクトルを参照にして、少なくとも一つの分類ロスを生成するプロセス;(iii)予測された学習用クラスターIDそれぞれに対応する学習用クラスターグループ代表値(θ)それぞれを生成し、前記学習用クラスターグループ代表値それぞれによって表現された学習用予測車線それぞれを決定するプロセス;(iv)GT車線のいずれか一つの車線の座標が、前記学習用予測車線の各々の座標からx軸に平行な両方の任意の方向へ所定のピクセル数以内の領域に存在するか否かを基に、前記それぞれの学習用予測車線の周囲に前記GT車線のいずれかが存在するかを示す、少なくとも一つのイグジステンスロス(existence loss)を算出するプロセス;(v)前記学習用予測車線のそれぞれの周辺に前記GT車線のいずれかが識別される場合、前記学習用予測車線のそれぞれのピクセル(f(y|θ),y)と前記各学習用予測車線にそれぞれ対応する前記GT車線のそれぞれのピクセル(xGT,y)との各距離の差(xGT−f(y|θ))を参照して少なくとも一つの距離リグレッションロスを算出するプロセス;(vi) 前記分類ロス、前記イグジステンスロス及び前記距離リグレッションロスをバックプロパゲーションして、前記CNNの装置パラメータを最適化するプロセス;を経て学習された学習装置のパラメータが取得された状態で、前記学習装置のパラメータを利用したテスト装置が、テストイメージを取得するか、他の装置をもって取得するように支援する段階;
    (b)前記テスト装置が、前記テストイメージに対して、コンボリューション演算を適用して、少なくとも一つのテスト用特徴マップを生成するか、他の装置をもって取得するように支援する段階;
    (c)前記テスト装置が、前記テスト用特徴マップの中の特定のテスト用特徴マップを前記FC(Fully Connected)レイヤに提供して、前記FCレイヤをもって、前記テストイメージ内の前記車線のテスト用クラスターID分類の結果ベクトル(前記テスト用クラスターID分類の結果ベクトルは、前記車線それぞれに対して予測されたテスト用クラスターIDを少なくとも一つ以上含むものである)を生成する段階;及び
    (d)前記テスト装置が、前記予測されたテスト用クラスターIDそれぞれに対応するテスト用クラスターグループ代表値(θ)それぞれを生成し、前記テスト用クラスターグループ代表値(θ それぞれによって前記車線の各形状が表現された前記予測されたテスト用車線それぞれを決定する段階;
    を含み、
    前記クラスターIDGTベクトルは、前記学習用入力イメージ内の前記車線の情報を基に取得された関数パラメータをクラスタリングして、車線モデリング関数の前記関数パラメータに付与されたクラスターグループそれぞれの学習用クラスターIDである確率に対するGT情報であり、
    前記それぞれの車線(Li,j)は、テスト用クラスターグループの中の自身と対応する一つのテスト用クラスターグループ(C)にそれぞれ含まれ、前記車線(Li,j)それぞれと対応する前記テスト用クラスターIDをそれぞれk(kは、1ないしKの間の値)と示した状態で、前記それぞれのテスト用クラスターグループは、前記テスト用各クラスターグループに含まれている前記各車線の前記関数パラメータに対するそれぞれの平均値
    Figure 0006847463
    前記各テスト用クラスターグループ代表値(θ)として有することを特徴とするテスト方法。
  9. (e)前記テスト装置が、それぞれのテスト用予測車線の前記ピクセル(f(y|θ),y)周辺のそれぞれの領域を示す少なくとも一つの領域フィーチャー(areal features)それぞれを前記特定のテスト用特徴マップから抽出するか、他の装置をもって抽出するように支援する段階;
    (f)前記テスト装置が、前記テスト用予測車線のそれぞれの座標からx軸に平行な方向へ所定ピクセル数以内の領域に実際の車線の座標が存在するかを基に、前記実際の車線の中の一つが前記それぞれのテスト用予測車線周辺に存在するかを判断し、前記実際の車線の中の一つが周りに存在するならば、前記実際の車線の中の一つの座標と前記テスト用予測車線座標との間の距離それぞれを計算するか、他の装置をもって計算するように支援する段階;及び
    (g)前記テスト装置が、前記テスト用予測車線を前記距離のそれぞれの分だけ移動して、移動したテスト用予測車線を決定するか、他の装置をもって決定するように支援する段階;
    をさらに含むことを特徴とする請求項8に記載のテスト方法。
  10. 前記(d)段階は、
    前記テスト用クラスターグループ代表値それぞれは、前記予測されたテスト用クラスターID分類の前記結果ベクトルのうち、各ベクトル成分が予め設定してある値より大きいか否かに対する情報を参照にして決定された、前記予測されたテスト用クラスターIDの少なくとも一部を利用して、前記テスト用クラスターグループ代表値それぞれを取得することを特徴とする請求項8に記載のテスト方法。
  11. CNN(Convolutional Neural Network)を利用して少なくとも一つの車線を検出するための学習装置において、
    少なくとも一つのイメージデータセットから選択された入力イメージを獲得するか、他の装置をもって獲得するように支援する通信部;及び
    (i)一つのコンボリューションレイヤをもって、前記入力イメージに対して一回以上のコンボリューション演算を適用して少なくとも一つの特徴マップを生成するプロセス、(ii)FCレイヤをもって、前記コンボリューションレイヤから出力された前記特徴マップの中の特定の特徴マップを前記FCレイヤに提供して、前記入力イメージ内の前記車線のクラスターID分類の予測結果ベクトルを生成にするプロセス、(iii)ロスレイヤをもって、前記クラスターID分類の前記予測結果ベクトル及びクラスターIDGTベクトルを参照にして、少なくとも一つの分類ロスを生成し、前記分類ロスをバックプロパゲーションして、前記CNNの装置パラメータ(device parameters)を最適化するプロセスを遂行するプロセッサ;を含み、
    前記クラスターIDGTベクトルは、前記入力イメージ内の前記車線の情報を基に取得された関数パラメータをクラスタリングして、車線モデリング関数の前記関数パラメータに付与されたクラスターグループそれぞれのクラスターIDである確率に対するGT情報であることを特徴とする学習装置。
  12. 前記クラスターIDGTベクトルは、K+1ディメンションを有するベクトルであり、(I)前記入力イメージ上に前記車線が存在すると判断された場合、前記入力イメージの前記車線の中で、前記K個のクラスターIDの中の特定クラスターIDであるCに属する特定車線が存在すれば、前記クラスターIDGTベクトルのk番目のディメンションは1が割り当てられ、前記クラスターIDの中で、前記入力イメージに存在しない他のクラスターIDそれぞれに対応する前記クラスターIDGTベクトルの他のディメンションは0が割り当てられ、前記クラスターIDGTベクトルのK+1番目のディメンションは0が割り当てられ、(II)前記入力イメージ上に前記車線が存在しないと判断されれば、前記クラスターIDGTベクトルの1ないしK番目のディメンションは0が割り当てられ、前記クラスターIDGTベクトルの前記K+1番目のディメンションは1が割り当てられ、
    kは1ないしKの整数であり、
    前記(iii)プロセスで、
    前記クラスターID分類の前記予測結果ベクトルは、K+1ディメンションを有するベクトルであることを特徴とする請求項11に記載の学習装置。
  13. 前記それぞれの車線(Li,j)が前記クラスターグループの中で自身と対応する一つのクラスターグループ(C)にそれぞれ含まれ、前記車線(Li,j)それぞれと対応する前記クラスターIDに含まれたそれぞれのクラスターIDをkと表示した状態で、
    前記各クラスターグループは、前記各クラスターグループに含まれる前記各車線の前記関数パラメータに対するそれぞれの平均値
    Figure 0006847463
    を各クラスターグループ代表値(θ)として有し、
    前記プロセッサは、
    (iv)予測されたクラスターIDそれぞれに対応する前記クラスターグループ代表値(θ 各々を生成するか、他の装置をもって生成するように支援し、前記クラスターグループ代表値(θ)それぞれによって表現された予測車線それぞれを決定するか、他の装置をもって決定するように支援するプロセス
    をさらに遂行することを特徴とする請求項12に記載の学習装置。
  14. 前記クラスターグループ代表値それぞれは、前記予測されたクラスターIDの中の、少なくとも一部を利用して算出され、前記予測されたクラスターIDの前記少なくとも一部は、前記予測結果ベクトルの各ベクトル成分が予め設定された値より大きいか否かに対する情報を参照して決定されることを特徴とする請求項13に記載の学習装置。
  15. 前記プロセッサは、
    (v)GT車線のいずれか一つの車線の座標が、前記予測車線の各々の座標からx軸に平行な両方の任意の方向へ所定のピクセル数以内の領域に存在するか否かを基に、前記それぞれの予測車線の周囲に、前記GT車線のいずれかが存在するかを示す、少なくとも一つのイグジステンスロス(existence loss)を算出するか、他の装置をもって算出するように支援するプロセス;
    (vi)前記予測車線それぞれの周辺に前記GT車線のいずれかが識別される場合、前記各予測車線の各々のピクセル(f(y|θ),y)と前記各予測車線にそれぞれ対応する前記GT車線の各々のピクセル(xGT,y)との各距離の差(xGT−f(y|θ))を参照して、少なくとも一つの距離リグレッションロスを算出するか、他の装置をもって獲得するように支援するプロセス;
    (vii)前記イグジステンスロス及び前記距離リグレッションロスをバックプロパゲーションするか、他の装置をもってバックプロパゲーションするように支援して、前記CNNの前記装置パラメータを最適化するプロセス;
    をさらに遂行することを特徴とする請求項13に記載の学習装置。
  16. 前記(v)プロセス以前に、
    (v0)前記それぞれの予測車線の前記ピクセル(f(y|θ),y)周辺のそれぞれの領域を示す、少なくとも一つの領域フィーチャー(areal features)それぞれを前記特定の特徴マップから抽出するか、他の装置をもって抽出できるよう支援するプロセスをさらに遂行し、
    前記抽出された領域フィーチャーを基に前記イグジステンスロス及び前記距離リグレッションロスを算出することを特徴とする請求項15に記載の学習装置。
  17. 前記(v)プロセスで、
    前記イグジステンスロスは、クロスエントロピーを利用して算出し、
    前記(vi)プロセスで、
    前記距離リグレッションロスは、少なくとも一つのユークリッド距離リグレッションロスを利用して算出することを特徴とする請求項15に記載の学習装置。
  18. 車線モデル(lane model)を利用して少なくとも一つの車線を検出し得るCNN(Convolutional Neural Network)のテスト装置において、
    (I)前記CNNを利用する学習装置が、(i)一つ以上のコンボリューションレイヤをもって、少なくとも一つの学習用イメージデータセットから選択された学習用入力イメージに対して一回以上のコンボリューション演算を適用して、一つ以上の学習用特徴マップを生成するプロセス;(ii)FCレイヤをもって、前記コンボリューションレイヤから出力された前記学習用特徴マップの中の学習用特定の特徴マップを前記FCレイヤに提供して、前記学習用入力イメージ内の前記車線の学習用クラスターID分類の予測結果ベクトルを生成し、ロスレイヤをもって、前記学習用クラスターID分類の前記予測結果ベクトル及びクラスターIDGTベクトルを参照にして、少なくとも一つの分類ロスを生成するプロセス;(iii)予測された学習用クラスターIDそれぞれに対応する学習用クラスターグループ代表値(θ)それぞれを生成し、前記学習用クラスターグループ代表値それぞれによって表現された学習用予測車線それぞれを決定するプロセス;(iv)GT車線のいずれか一つの車線の座標が、前記学習用予測車線の各々の座標からx軸に平行な両方の任意の方向へ所定のピクセル数以内の領域に存在するか否かをもとに、前記それぞれの学習用予測車線の周囲に前記GT車線のいずれかが存在するかを示す、少なくとも一つのイグジステンスロス(existence loss)を算出するプロセス;(v)前記学習用予測車線のそれぞれの周辺に前記GT車線のいずれかが識別される場合、前記学習用予測車線のそれぞれのピクセル(f(y|θ),y)と前記各学習用予測車線にそれぞれ対応する前記GT車線のそれぞれのピクセル(xGT,y)との各距離の差(xGT−f(y|θ))を参照して少なくとも一つの距離リグレッションロスを算出するプロセス;(vi) 前記分類ロス、前記イグジステンスロス及び前記距離リグレッションロスをバックプロパゲーションして、前記CNNの装置パラメータを最適化するプロセス;を経て学習された学習装置のパラメータが取得された状態で、テストイメージを取得するか、他の装置をもって取得するように支援する通信部;及び
    (II)前記テストイメージに対して、コンボリューション演算を適用して、少なくとも一つのテスト用特徴マップを生成するか、他の装置をもって取得するように支援するプロセス、(III)前記テスト用特徴マップの中の特定のテスト用特徴マップを前記FC(Fully Connected)レイヤに提供して、前記FCレイヤをもって、テスト用前記テストイメージ内の前記車線のテスト用クラスターID分類の結果ベクトル(前記テスト用クラスターID分類の結果ベクトルは、前記車線それぞれに対して予測されたテスト用クラスターIDを少なくとも一つ以上含むものである)を生成するプロセス、及び(IV)前記予測されたテスト用クラスターIDそれぞれに対応するテスト用クラスターグループ代表値(θ)それぞれを生成し、前記テスト用クラスターグループ代表値(θ それぞれによって前記車線の各形状が表現された前記予測されたテスト用車線それぞれを決定するプロセッサ;
    を含み、
    前記クラスターIDGTベクトルは、前記学習用入力イメージ内の前記車線の情報を基に取得された関数パラメータをクラスタリングして、車線モデリング関数の前記関数パラメータに付与されたクラスターグループそれぞれの学習用クラスターIDである確率に対するGT情報であり、
    前記それぞれの車線(Li,j)は、テスト用クラスターグループの中の自身と対応する一つのテスト用クラスターグループ(C)にそれぞれ含まれ、前記車線(Li,j)それぞれと対応する前記テスト用クラスターIDをそれぞれk(kは、1ないしKの間の値)と示した状態で、前記それぞれのテスト用クラスターグループは、前記テスト用各クラスターグループに含まれている前記各車線の前記関数パラメータに対するそれぞれの平均値
    Figure 0006847463
    前記各テスト用クラスターグループ代表値(θ)として有することを特徴とするテスト装置。
  19. 前記プロセッサは、
    (V)それぞれのテスト用予測車線の前記ピクセル(f(y|θ),y)周辺のそれぞれの領域を示す少なくとも一つの領域フィーチャー(areal features)それぞれを前記特定のテスト用特徴マップから抽出するか、他の装置をもって抽出できるよう支援するプロセス;
    (VI)前記テスト用予測車線のそれぞれの座標からx軸に平行な方向へ所定ピクセル数以内の領域に実際の車線の座標が存在するかを基に、前記実際の車線の中の一つが前記それぞれのテスト用予測車線周辺に存在するかを判断し、前記実際の車線の中の一つが周りに存在するならば、前記実際の車線の中の一つの座標と前記テスト用予測車線座標との間の距離それぞれを計算するか、他の装置をもって計算するように支援するプロセス;及び
    (VII)前記テスト用予測車線を前記距離のそれぞれの分だけ移動して、移動したテスト用予測車線を決定するか、他の装置をもって決定するように支援するプロセス;
    をさらに遂行することを特徴とする請求項18に記載のテスト装置。
  20. 前記(IV)プロセスで、
    前記テスト用クラスターグループ代表値それぞれは、前記予測されたテスト用クラスターID分類の前記結果ベクトルのうち、各ベクトル成分が予め設定してある値より大きいか否かに対する情報を参照にして決定された、前記予測されたテスト用クラスターIDの少なくとも一部を利用して、前記テスト用クラスターグループ代表値それぞれを取得することを特徴とする請求項18に記載のテスト装置。
JP2019160025A 2018-09-05 2019-09-03 CNN(Convolutional Neural Network)を利用して車線を検出するための学習方法及び学習装置そしてこれを利用したテスト方法及びテスト装置{LEARNING METHOD, LEARNING DEVICE FOR DETECTING LANE USING CNN AND TEST METHOD, TEST DEVICE USING THE SAME} Active JP6847463B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/121,670 2018-09-05
US16/121,670 US10262214B1 (en) 2018-09-05 2018-09-05 Learning method, learning device for detecting lane by using CNN and testing method, testing device using the same

Publications (2)

Publication Number Publication Date
JP2020038660A JP2020038660A (ja) 2020-03-12
JP6847463B2 true JP6847463B2 (ja) 2021-03-24

Family

ID=66098465

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019160025A Active JP6847463B2 (ja) 2018-09-05 2019-09-03 CNN(Convolutional Neural Network)を利用して車線を検出するための学習方法及び学習装置そしてこれを利用したテスト方法及びテスト装置{LEARNING METHOD, LEARNING DEVICE FOR DETECTING LANE USING CNN AND TEST METHOD, TEST DEVICE USING THE SAME}

Country Status (5)

Country Link
US (1) US10262214B1 (ja)
EP (1) EP3620980B1 (ja)
JP (1) JP6847463B2 (ja)
KR (1) KR102279376B1 (ja)
CN (1) CN110889318B (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10783393B2 (en) * 2017-06-20 2020-09-22 Nvidia Corporation Semi-supervised learning for landmark localization
CN110287817B (zh) * 2019-06-05 2021-09-21 北京字节跳动网络技术有限公司 目标识别及目标识别模型的训练方法、装置和电子设备
CN110363160B (zh) * 2019-07-17 2022-09-23 河南工业大学 一种多车道线识别方法及装置
CN112446266B (zh) * 2019-09-04 2024-03-29 北京君正集成电路股份有限公司 一种适合前端的人脸识别网络结构
US11836992B2 (en) * 2021-01-29 2023-12-05 General Motors Llc Identification and clustering of lane lines on roadways using reinforcement learning
CN113221643B (zh) * 2021-04-06 2023-04-11 中国科学院合肥物质科学研究院 一种采用级联网络的车道线分类方法及系统
KR102531838B1 (ko) * 2021-05-06 2023-05-12 대한민국 극자외선 태양 영상을 사용하여 지자기 교란 지수를 예측하는 학습 방법 및 학습 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치
CN113469239B (zh) * 2021-06-29 2023-01-31 展讯通信(上海)有限公司 线损值评估模型生成方法、系统、设备及介质
KR102632773B1 (ko) 2021-09-30 2024-02-06 고려대학교 산학협력단 의료데이터 스플릿 학습 시스템과 이의 제어방법 및 그 방법을 수행하기 위한 기록매체
CN114399828B (zh) * 2022-03-25 2022-07-08 深圳比特微电子科技有限公司 用于图像处理的卷积神经网络模型的训练方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09223218A (ja) * 1996-02-15 1997-08-26 Toyota Motor Corp 走路検出方法及び装置
KR19990059238A (ko) * 1997-12-30 1999-07-26 정몽규 무인자율주행차량용 차선검출방법 및 조향제어장치
KR101225626B1 (ko) * 2010-07-19 2013-01-24 포항공과대학교 산학협력단 차선 인식 시스템 및 방법
CN106688011B (zh) * 2014-09-10 2018-12-28 北京市商汤科技开发有限公司 用于多类别物体检测的方法和系统
CN106157283A (zh) * 2015-04-01 2016-11-23 株式会社理光 道路分割物的检测方法和装置
CN105354568A (zh) * 2015-08-24 2016-02-24 西安电子科技大学 基于卷积神经网络的车标识别方法
CN105868691B (zh) * 2016-03-08 2019-05-21 青岛邃智信息科技有限公司 基于快速区域卷积神经网络的城市车辆追踪方法
EP3507773A1 (en) * 2016-09-02 2019-07-10 Artomatix Ltd. Systems and methods for providing convolutional neural network based image synthesis using stable and controllable parametric models, a multiscale synthesis framework and novel network architectures
KR102628654B1 (ko) * 2016-11-07 2024-01-24 삼성전자주식회사 차선을 표시하는 방법 및 장치
KR101879207B1 (ko) * 2016-11-22 2018-07-17 주식회사 루닛 약한 지도 학습 방식의 객체 인식 방법 및 장치
JP6798860B2 (ja) * 2016-11-29 2020-12-09 株式会社Soken 境界線推定装置
CN106778668B (zh) * 2016-12-30 2019-08-09 明见(厦门)技术有限公司 一种联合ransac和cnn的鲁棒的车道线检测方法
KR101869266B1 (ko) * 2017-05-08 2018-06-21 경북대학교 산학협력단 극한 심층학습 기반 차선 검출 시스템 및 그 방법
KR102400017B1 (ko) * 2017-05-17 2022-05-19 삼성전자주식회사 객체를 식별하는 방법 및 디바이스
CN107730904A (zh) * 2017-06-13 2018-02-23 银江股份有限公司 基于深度卷积神经网络的多任务车辆逆向行驶视觉检测系统
CN107688823B (zh) * 2017-07-20 2018-12-04 北京三快在线科技有限公司 一种图像特征获取方法及装置,电子设备
US10007865B1 (en) * 2017-10-16 2018-06-26 StradVision, Inc. Learning method and learning device for adjusting parameters of CNN by using multi-scale feature maps and testing method and testing device using the same
CN108009524B (zh) * 2017-12-25 2021-07-09 西北工业大学 一种基于全卷积网络的车道线检测方法

Also Published As

Publication number Publication date
EP3620980B1 (en) 2023-11-01
KR20200027889A (ko) 2020-03-13
CN110889318B (zh) 2024-01-19
JP2020038660A (ja) 2020-03-12
KR102279376B1 (ko) 2021-07-21
US10262214B1 (en) 2019-04-16
CN110889318A (zh) 2020-03-17
EP3620980C0 (en) 2023-11-01
EP3620980A1 (en) 2020-03-11

Similar Documents

Publication Publication Date Title
JP6847463B2 (ja) CNN(Convolutional Neural Network)を利用して車線を検出するための学習方法及び学習装置そしてこれを利用したテスト方法及びテスト装置{LEARNING METHOD, LEARNING DEVICE FOR DETECTING LANE USING CNN AND TEST METHOD, TEST DEVICE USING THE SAME}
JP6980289B2 (ja) 車線モデルを利用して車線を検出し得る学習方法及び学習装置そしてこれを利用したテスト方法及びテスト装置{learning method, learning device for detecting lane using lane model and test method, test device using the same}
JP6875021B2 (ja) 有用な学習データを取捨選別するためのcnn基盤の学習方法及び学習装置、そしてこれを利用したテスト方法及びテスト装置
JP6820030B2 (ja) 異なるラベルセットを有する複数のラベリングされたデータベースを用いて学習する方法及び装置、そしてこれを利用したテスト方法及び装置{learning method and learning device using multiple labeled databases with different label sets and testing method and testing device using the same}
EP3620956B1 (en) Learning method, learning device for detecting lane through classification of lane candidate pixels and testing method, testing device using the same
KR102337376B1 (ko) 레인 마스크(Lane Mask)를 사용하여 후처리 없이 입력 이미지에 포함된 하나 이상의 차선을 검출하는 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치
JP6869565B2 (ja) 危険要素検出に利用される学習用イメージデータセットの生成方法及びコンピューティング装置、そしてこれを利用した学習方法及び学習装置{method and computing device for generating image data set to be used for hazard detection and learning method and learning device using the same}
JP2020038658A (ja) エッジイメージを利用して物体を検出する学習方法及び学習装置、並びにそれを利用したテスト方法及びテスト装置
JP6867054B2 (ja) マルチカメラシステム内のダブルエンベディング構成を利用して、道路利用者イベントを検出するために用いられるセグメンテーション性能向上のための学習方法及び学習装置、そしてこれを利用したテスティング方法及びテスティング装置。{learning method and learning device for improving segmentation performance to be used for detecting road user events using double embedding configuration in multi−camera system and testing method and testing device using the same}
JP6856952B2 (ja) 複数のビデオフレームを利用してcnnのパラメータを最適化するための学習方法及び学習装置、そしてこれを利用したテスト方法及びテスト装置
US10303981B1 (en) Learning method and testing method for R-CNN based object detector, and learning device and testing device using the same
JP6910081B2 (ja) 協調走行を遂行する各車両から取得された各走行イメージを統合する方法及びこれを利用した走行イメージ統合装置
JP6892157B2 (ja) V2x情報融合技術によって取得された、各物体に対する深さ予測情報及び各物体に対するクラス情報を利用して3d空間を再構築することによりhdマップをアップデートする学習方法及び学習装置、そしてこれを利用したテスティング方法及びテスティング装置
JP6865342B2 (ja) Cnn基盤車線検出のための学習方法及び学習装置、そしてこれを利用したテスト方法及びテスト装置
JP6903352B2 (ja) 非最大値抑制を学習する併合ネットワークを利用した異種センサ融合のための学習方法及び学習装置{learning method and learning device for heterogeneous sensor fusion by using merging network which learns non−maximum suppression}

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190903

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201020

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210118

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210224

R150 Certificate of patent or registration of utility model

Ref document number: 6847463

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250