特許第6856957号(P6856957)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ストラッドビジョンの特許一覧

特許6856957写真スタイル変換を使用してランタイム入力の変換によりリアル世界で使用されるバーチャル世界で学習されたCNNを許容するための学習方法及び学習装置、そしてこれを利用したテスト方法及びテスト装置
<>
  • 特許6856957-写真スタイル変換を使用してランタイム入力の変換によりリアル世界で使用されるバーチャル世界で学習されたCNNを許容するための学習方法及び学習装置、そしてこれを利用したテスト方法及びテスト装置 図000002
  • 特許6856957-写真スタイル変換を使用してランタイム入力の変換によりリアル世界で使用されるバーチャル世界で学習されたCNNを許容するための学習方法及び学習装置、そしてこれを利用したテスト方法及びテスト装置 図000003
  • 特許6856957-写真スタイル変換を使用してランタイム入力の変換によりリアル世界で使用されるバーチャル世界で学習されたCNNを許容するための学習方法及び学習装置、そしてこれを利用したテスト方法及びテスト装置 図000004
  • 特許6856957-写真スタイル変換を使用してランタイム入力の変換によりリアル世界で使用されるバーチャル世界で学習されたCNNを許容するための学習方法及び学習装置、そしてこれを利用したテスト方法及びテスト装置 図000005
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6856957
(24)【登録日】2021年3月23日
(45)【発行日】2021年4月14日
(54)【発明の名称】写真スタイル変換を使用してランタイム入力の変換によりリアル世界で使用されるバーチャル世界で学習されたCNNを許容するための学習方法及び学習装置、そしてこれを利用したテスト方法及びテスト装置
(51)【国際特許分類】
   G06N 3/08 20060101AFI20210405BHJP
   G06T 7/00 20170101ALI20210405BHJP
【FI】
   G06N3/08
   G06T7/00 350C
   G06T7/00 650Z
【請求項の数】26
【全頁数】28
(21)【出願番号】特願2020-8618(P2020-8618)
(22)【出願日】2020年1月22日
(65)【公開番号】特開2020-123344(P2020-123344A)
(43)【公開日】2020年8月13日
【審査請求日】2020年1月22日
(31)【優先権主張番号】62/798,837
(32)【優先日】2019年1月30日
(33)【優先権主張国】US
(31)【優先権主張番号】16/731,080
(32)【優先日】2019年12月31日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】517038176
【氏名又は名称】株式会社ストラドビジョン
(74)【代理人】
【識別番号】100121728
【弁理士】
【氏名又は名称】井関 勝守
(74)【代理人】
【識別番号】100165803
【弁理士】
【氏名又は名称】金子 修平
(72)【発明者】
【氏名】キム ゲヒョン
(72)【発明者】
【氏名】キム ヨンジュン
(72)【発明者】
【氏名】キム ハクギョン
(72)【発明者】
【氏名】ナム ウンヒョン
(72)【発明者】
【氏名】ブ ソクフン
(72)【発明者】
【氏名】ソン ミョンチョル
(72)【発明者】
【氏名】シン ドンス
(72)【発明者】
【氏名】ヨ ドンフン
(72)【発明者】
【氏名】リュ ウジュ
(72)【発明者】
【氏名】イ ミョンチユン
(72)【発明者】
【氏名】イ ヒョンス
(72)【発明者】
【氏名】ジャン テウン
(72)【発明者】
【氏名】ジョン ギョンジュン
(72)【発明者】
【氏名】ジェ ホンモ
(72)【発明者】
【氏名】ジョ ホジン
【審査官】 久保 光宏
(56)【参考文献】
【文献】 Leon A. Gatys, et al.,"Image Style Transfer Using Convolutional Neural Networks",Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2016年 6月30日,Pages 2414-2423,ISBN:978-1-4673-8851-1, <DOI: 10.1109/CVPR.2016.265>.
【文献】 Mengshi Zhang, et al.,"DeepRoad: GAN-Based Metamorphic Testing and Input Validation Framework for Autonomous Driving Systems",Proceedings of the 2018 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE),2018年 9月 7日,Pages 132-142,ISBN: 978-1-4503-5937-5, <DOI: 10.1145/3238147.3238187>.
【文献】 松原 崇,「敵対的生成ネットワークとその応用」,映像情報メディア学会誌,日本,一般社団法人 映像情報メディア学会,2018年 9月 1日,Vol.72, No.5,第709〜714頁,ISSN: 1342-6907.
【文献】 太田 満久(外3名),「現場で使える! TensorFlow開発入門」,日本,株式会社 翔泳社,2018年 4月19日,初版,第217〜246頁,ISBN: 978-4-7981-5412-1.
【文献】 Francois Chollet(外1名)著, 瀬戸山 雅人 監訳,「RとKerasによるディープラーニング」,日本,株式会社オライリー・ジャパン,2018年10月11日,初版,第297〜307頁,ISBN: 978-4-87311-857-4.
【文献】 丹野 良介(外2名),「複数スタイルの融合と部分的適用を可能とするMulti-style Feed-forward Networkの提案」,人工知能学会第31回全国大会講演論文集, [DVD-ROM],日本,一般社団法人 人工知能学会,2017年 5月23日,Session ID: 2L3-OS-09b-3in1,Pages 1-4.
(58)【調査した分野】(Int.Cl.,DB名)
G06N3/00−99/00
G06T7/00
CSDB(日本国特許庁)
IEEEXplore(IEEE)
(57)【特許請求の範囲】
【請求項1】
少なくとも一つの仮想イメージ及び少なくとも一つのスタイル変換リアルイメージ(前記スタイル変換リアルイメージは、少なくとも一つのリアルイメージを予め設定されたバーチャル世界のイメージスタイルに変換したものである)を使用して、自律走行を遂行するために使用されるメインCNN(Convolutional Neural Network)を学習する方法において、
(a)学習装置が、予め設定されたバーチャル世界における仮想車両のバーチャル走行に対応する一つ以上の第1学習イメージの少なくとも一部を取得する段階;及び
(b)前記学習装置が、(b1)(i)前記メインCNNに含まれている、メインコンボリューションレイヤ及び出力レイヤをもって、前記第1学習イメージを参照して一つ以上の第1予測自律走行ソース情報を生成させ、(ii)前記メインCNNに含まれているメインロスレイヤをもって、(ii−1)前記第1予測自律走行ソース情報及びこれに対応する第1原本正解(Ground−Truth)自律走行ソース情報を参照して、一つ以上の第1メインロスを生成させた後、(ii−2)前記第1メインロスを使用してバックプロパゲーションを遂行することによって、前記メインCNNのパラメータの少なくとも一部を学習させる第1学習プロセス;及び(b2)(i)支援CNNをもって、前記第1学習イメージに対応する少なくとも一つの第1ベースイメージ及びリアル世界における実際車両のリアル走行に対応する一つ以上の第2ベースイメージを参照して、一つ以上の第2学習イメージを生成させ、(ii)前記メインCNNに含まれている、前記メインコンボリューションレイヤ及び前記出力レイヤをもって、前記第2学習イメージを参照して、一つ以上の第2予測自律走行ソース情報を生成させた後、(iii)前記メインCNNに含まれている前記メインロスレイヤをもって、(iii−1)前記第2予測自律走行ソース情報及びこれに対応する第2原本正解自律走行ソース情報を参照して、一つ以上の第2メインロスを生成させた後、(iii−2)前記第2メインロスを使用してバックプロパゲーションを遂行することによって、前記メインCNNのパラメータの少なくとも一部を学習させる第2学習プロセスを遂行させる段階;
を含むことを特徴とする方法。
【請求項2】
前記(b2)段階は、
(b21)前記学習装置が、前記支援CNNに含まれている支援コンボリューションレイヤをもって、(i)前記第1ベースイメージに少なくとも一つの支援CNN演算を適用することによって一つ以上の特定スタイル特徴マップを生成し、(ii)前記第2ベースイメージのうち特定の第2ベースイメージに前記支援CNN演算を適用することによって一つ以上の特定コンテンツ特徴マップを生成する段階;
(b22)前記学習装置が、(i)前記支援CNNに含まれている前記支援コンボリューションレイヤをもって、ノイズイメージに前記支援CNN演算を適用することによって一つ以上の第1アップデート特徴マップを生成させた後、(ii)前記支援CNNに含まれている支援ロスレイヤをもって、(ii−1)前記特定スタイル特徴マップ及び前記特定コンテンツ特徴マップとともに前記第1アップデート特徴マップを使用して、少なくとも一つの第1アップデートロスを生成させ、(ii−2)前記第1アップデートロスを通じて前記ノイズイメージをアップデートすることによって少なくとも一つの第1アップデートイメージを生成させる段階;
(b23)前記学習装置が、(i)前記支援CNNに含まれている前記支援コンボリューションレイヤをもって、第(K−1)アップデートイメージに前記支援CNN演算を適用することによって一つ以上の第Kアップデート特徴マップを生成させた後、(ii)前記支援CNNに含まれている前記支援ロスレイヤをもって、(ii−1)前記特定スタイル特徴マップ及び前記特定コンテンツ特徴マップとともに前記第Kアップデート特徴マップを使用して、少なくとも一つの第Kアップデートロスを生成させ、(ii−2)前記第Kアップデートロスを通じて前記第(K−1)イメージをアップデートすることによって少なくとも一つの第Kアップデートイメージを生成させる段階;及び
(b24)前記学習装置が、前記(b22)段階及び前記(b23)段階を遂行して生成された第Nアップデートイメージを特定の第2学習イメージとして出力する段階;
を含み、ここでKは1ないしNの整数(integer)であることを特徴とする請求項1に記載の方法。
【請求項3】
前記(b22)段階は、前記学習装置が、前記支援ロスレイヤをもって、(i)前記第1アップデート特徴マップと前記特定スタイル特徴マップとを使用して一つ以上の第1スタイルロスを生成するプロセス、及び(ii)前記第1アップデート特徴マップと前記特定コンテンツ特徴マップとを使用して一つ以上の第1コンテンツロスを生成するプロセスを遂行させることによって、前記第1スタイルロス及び前記第1コンテンツロスを含む前記第1アップデートロスを生成させることを特徴とする請求項2に記載の方法。
【請求項4】
前記(b22)段階は、
前記学習装置が、前記支援ロスレイヤをもって、最急降下法(gradient−descent scheme)で前記第1アップデートロスを使用して前記ノイズイメージをアップデートさせることによって、(i)前記第1アップデートイメージのスタイル特性を前記ノイズイメージのスタイル特性より前記特定の第1ベースイメージのスタイル特性とさらに類似させ、(ii)前記第1アップデートイメージのコンテンツ特性を前記ノイズイメージのコンテンツ特性より前記特定の第2ベースイメージのコンテンツ特性とさらに類似させることを特徴とする請求項2に記載の方法。
【請求項5】
前記(b)段階は、
前記学習装置が、(i)前記メインCNNをもって、前記第1学習イメージの特定の個数と、これに対応する前記第1原本正解自律走行ソース情報とを使用して前記パラメータを学習することによって前記第1学習プロセスを遂行し、(ii)前記メインCNNをもって、前記第2学習イメージと、これに対応する前記第2原本正解自律走行ソース情報とを使用して前記パラメータを微調整することによって前記第2学習プロセスを遂行することを特徴とする請求項1に記載の方法。
【請求項6】
前記(b)段階は、
前記学習装置が、(i)前記メインCNNをもって、(i−1)管理者により予め設定された特定の数に対する特定の第1学習イメージの数の割合による前記第1学習イメージのうち一つ以上の特定の第1学習イメージ、及び(i−2)これに対応する前記第1原本正解自律走行ソース情報の一部を使用して、前記パラメータを初期に学習することによって前記第1学習プロセスを遂行させた後、
前記学習装置が、(ii)前記メインCNNをもって、前記第1学習イメージ及びこれに対応する前記第1原本正解自律走行ソース情報とともに前記第2学習イメージ及びこれに対応する前記第2原本正解自律走行ソース情報を共に使用して、前記パラメータを再学習することによって前記第2学習プロセスを遂行させることを特徴とする請求項1に記載の方法。
【請求項7】
前記(b2)段階は、
前記第1ベースイメージは、前記第1学習イメージの中から選択されたイメージであり、前記第2ベースイメージは、前記リアル車両に搭載されている少なくとも一つのカメラを介して前記リアル車両に対応するリアル走行状況を撮影したイメージであり、前記少なくとも一つの第1ベースイメージが一つである場合、前記第2学習イメージそれぞれは、前記第2ベースイメージそれぞれに対応するように生成されることを特徴とする請求項1に記載の方法。
【請求項8】
前記(b1)段階は、
前記学習装置が、(i)前記メインCNNに含まれている前記メインコンボリューションレイヤの一つ以上のメインコンボリューションニューロンをもって、(i−1)それ自体のパラメータを使用して、入力された値に少なくとも一つのメインコンボリューションを適用し、(i−2)この出力をそれ自体の次の自律走行ニューロンに伝達するプロセスを繰り返させることによって第1自律走行特徴マップを生成させた後、(ii)前記メインCNNに含まれている前記出力レイヤをもって、前記第1自律走行特徴マップに少なくとも一つの出力演算を適用して前記第1予測自律走行ソース情報を生成させることによって、前記メインCNN演算を前記第1学習イメージに適用することを特徴とする請求項1に記載の方法。
【請求項9】
少なくとも一つの仮想イメージ及び少なくとも一つのスタイル変換リアルイメージ(前記スタイル変換リアルイメージは、少なくとも一つのリアルイメージを予め設定されたバーチャル世界のイメージスタイルに変換したものである)を使用して、自律走行を遂行するために使用されるメインCNN(Convolutional Neural Network)をテストする方法において、
(a)(1)学習装置が、予め設定されたバーチャル世界における仮想車両のバーチャル走行に対応する一つ以上の第1学習イメージの少なくとも一部を取得し、(2)前記学習装置が、(2−1)(i)前記メインCNNに含まれている、メインコンボリューションレイヤ及び出力レイヤをもって、前記第1学習イメージを参照して一つ以上の第1予測自律走行ソース情報を生成させ、(ii)前記メインCNNに含まれているメインロスレイヤをもって、(ii−1)前記第1予測自律走行ソース情報及びこれに対応する第1原本正解(Ground−Truth)自律走行ソース情報を参照して、一つ以上の第1メインロスを生成させた後、(ii−2)前記第1メインロスを使用してバックプロパゲーションを遂行することによって、前記メインCNNのパラメータの少なくとも一部を学習させる第1学習プロセス;及び(2−2)(i)支援CNNをもって、前記第1学習イメージに対応する少なくとも一つの第1ベースイメージ及びリアル世界における実際車両のリアル走行に対応する一つ以上の第2ベースイメージを参照して、一つ以上の第2学習イメージを生成させ、(ii)前記メインCNNに含まれている、前記メインコンボリューションレイヤ及び前記出力レイヤをもって、前記第2学習イメージを参照して、一つ以上の第2予測自律走行ソース情報を生成させた後、(iii)前記メインCNNに含まれている前記メインロスレイヤをもって、(iii−1)前記第2予測自律走行ソース情報及びこれに対応する第2原本正解自律走行ソース情報を参照して、一つ以上の第2メインロスを生成させた後、(iii−2)前記第2メインロスを使用してバックプロパゲーションを遂行することによって、前記メインCNNのパラメータの少なくとも一部を学習させる第2学習プロセスを遂行して学習が完了した状態で、テスト装置が、前記支援CNNをもって、(i)テスト用バーチャル世界におけるテスト用仮想車両のテスト用バーチャル走行に対応する少なくとも一つのテスト用第1ベースイメージ、及び(ii)前記テスト装置と連動して作動するテスト用リアル車両に搭載された少なくとも一つのテスト用カメラを介して取得された少なくとも一つのテスト用第2ベースイメージを参照してテストイメージを生成させる段階;及び
(b)前記テスト装置が、前記メインCNNに含まれている前記メインコンボリューションレイヤ及び前記出力レイヤをもって、前記テストイメージを参照してテスト用予測自律走行ソース情報を生成させる段階;
を含むことを特徴とする方法。
【請求項10】
(c)前記テスト装置が、前記テスト用予測自律走行ソース情報を自律走行アプリケーションモジュールに伝達して、前記テスト用リアル車両の自律走行を支援する段階;
をさらに含むことを特徴とする請求項9に記載の方法。
【請求項11】
前記(a)段階は、
(a1)前記テスト装置が、前記支援CNNに含まれている支援コンボリューションレイヤをもって、(i)前記テスト用第1ベースイメージに少なくとも一つの支援CNN演算を適用することによって一つ以上のテスト用特定スタイル特徴マップを生成するプロセス、及び(ii)前記テスト用第2ベースイメージのうち特定の第2ベースイメージに前記支援CNN演算を適用することによって一つ以上のテスト用特定コンテンツ特徴マップを生成するプロセスを遂行させる段階;
(a2)前記テスト装置が、(i)前記支援CNNに含まれている前記支援コンボリューションレイヤをもって、テスト用ノイズイメージに前記支援CNN演算を適用することによって一つ以上のテスト用第1アップデート特徴マップを生成させた後、(ii)前記支援CNNに含まれている支援ロスレイヤをもって、(ii−1)前記テスト用特定スタイル特徴マップ及び前記テスト用特定コンテンツ特徴マップとともに前記テスト用第1アップデート特徴マップを使用して、少なくとも一つのテスト用第1アップデートロスを生成させ、(ii−2)前記テスト用第1アップデートロスを通じて前記ノイズイメージをアップデートすることによって少なくとも一つのテスト用第1アップデートイメージを生成させる段階;
(a3)前記テスト装置が、(i)前記支援CNNに含まれている前記支援コンボリューションレイヤをもって、テスト用第(K−1)アップデートイメージに前記支援CNN演算を適用することによって一つ以上のテスト用第Kアップデート特徴マップを生成させた後、(ii)前記支援CNNに含まれている前記支援ロスレイヤをもって、(ii−1)前記テスト用特定スタイル特徴マップ及び前記テスト用特定コンテンツ特徴マップとともに前記テスト用第Kアップデート特徴マップを使用して、少なくとも一つのテスト用第Kアップデートロスを生成させ、(ii−2)前記テスト用第Kアップデートロスを通じて前記テスト用第(K−1)イメージをアップデートすることによって少なくとも一つのテスト用第Kアップデートイメージを生成させる段階;
(a4)前記テスト装置が、前記(a2)段階及び前記(a3)段階を遂行して生成されたテスト用第Nアップデートイメージを前記テストイメージとして出力する段階;
を含み、ここでKは1ないしNの整数であることを特徴とする請求項9に記載の方法。
【請求項12】
前記(b)段階以後に、
(d)前記テスト用第2ベースイメージが取得された際に第Tタイミング以後である第T+1タイミングに前記テスト用カメラを介してテスト用追加第2ベースイメージが取得されると、前記テスト装置が、前記支援CNNをもって、(i)前記テスト用第1ベースイメージ及び前記テスト用追加第2ベースイメージを参照して追加テストイメージを生成した後、(ii)前記追加テストイメージを使用してテスト用追加予測自律走行ソース情報を生成させる段階;
をさらに含むことを特徴とする請求項9に記載の方法。
【請求項13】
前記(b)段階は、
前記テスト装置が、(i)前記メインCNNの前記メインコンボリューションレイヤに含まれている一つ以上のメインコンボリューションニューロンをもって、(i−1)それ自体に入力された少なくとも一つの値にそれ自体のパラメータを利用して少なくとも一つのメインコンボリューション演算を適用した後、(i−2)それ自体の次の自律走行コンボリューションニューロンに伝達するプロセスを繰り返させることによってテスト用自律走行特徴マップを生成させた後、(ii)前記メインCNNの前記出力レイヤをもって、前記テスト用自律走行特徴マップに少なくとも一つの出力演算を適用させて前記テスト用予測自律走行ソース情報を生成させることによって前記メインCNN演算を前記テストイメージに適用させることを特徴とする請求項9に記載の方法。
【請求項14】
少なくとも一つの仮想イメージ及び少なくとも一つのスタイル変換リアルイメージ(前記スタイル変換リアルイメージは、少なくとも一つのリアルイメージを予め設定されたバーチャル世界のイメージスタイルに変換したものである)を使用して、自律走行を遂行するために使用されるメインCNN(Convolutional Neural Network)を学習する装置において、
各インストラクションを格納する少なくとも一つのメモリと、
前記各インストラクションを遂行するように設定された少なくとも一つのプロセッサとを含み、前記プロセッサは、(I)予め設定されたバーチャル世界における仮想車両のバーチャル走行に対応する一つ以上の第1学習イメージの少なくとも一部を取得し、(II)(II−1)(i)前記メインCNNに含まれている、メインコンボリューションレイヤ及び出力レイヤをもって、前記第1学習イメージを参照して一つ以上の第1予測自律走行ソース情報を生成させ、(ii)前記メインCNNに含まれているメインロスレイヤをもって、(ii−1)前記第1予測自律走行ソース情報及びこれに対応する第1原本正解(Ground−Truth)自律走行ソース情報を参照して、一つ以上の第1メインロスを生成させた後、(ii−2)前記第1メインロスを使用してバックプロパゲーションを遂行することによって、前記メインCNNのパラメータの少なくとも一部を学習させる第1学習プロセス;及び(II−2)(i)支援CNNをもって、前記第1学習イメージに対応する少なくとも一つの第1ベースイメージ及びリアル世界における実際車両のリアル走行に対応する一つ以上の第2ベースイメージを参照して、一つ以上の第2学習イメージを生成させ、(ii)前記メインCNNに含まれている、前記メインコンボリューションレイヤ及び前記出力レイヤをもって、前記第2学習イメージを参照して、一つ以上の第2予測自律走行ソース情報を生成させた後、(iii)前記メインCNNに含まれている前記メインロスレイヤをもって、(iii−1)前記第2予測自律走行ソース情報及びこれに対応する第2原本正解自律走行ソース情報を参照して、一つ以上の第2メインロスを生成させた後、(iii−2)前記第2メインロスを使用してバックプロパゲーションを遂行することによって、前記メインCNNのパラメータの少なくとも一部を学習させる第2学習プロセスを遂行することを特徴とする装置。
【請求項15】
前記(II−2)プロセスは、
(II−2−1)前記支援CNNに含まれている支援コンボリューションレイヤをもって、(i)前記第1ベースイメージに少なくとも一つの支援CNN演算を適用することによって一つ以上の特定スタイル特徴マップを生成し、(ii)前記第2ベースイメージのうち特定の第2ベースイメージに前記支援CNN演算を適用することによって一つ以上の特定コンテンツ特徴マップを生成するプロセス;
(II−2−2)(i)前記支援CNNに含まれている前記支援コンボリューションレイヤをもって、ノイズイメージに前記支援CNN演算を適用することによって一つ以上の第1アップデート特徴マップを生成させた後、(ii)前記支援CNNに含まれている支援ロスレイヤをもって、(ii−1)前記特定スタイル特徴マップ及び前記特定コンテンツ特徴マップとともに前記第1アップデート特徴マップを使用して、少なくとも一つの第1アップデートロスを生成させ、(ii−2)前記第1アップデートロスを通じて前記ノイズイメージをアップデートすることによって少なくとも一つの第1アップデートイメージを生成させるプロセス;
(II−2−3)(i)前記支援CNNに含まれている前記支援コンボリューションレイヤをもって、第(K−1)アップデートイメージに前記支援CNN演算を適用することによって一つ以上の第Kアップデート特徴マップを生成させた後、(ii)前記支援CNNに含まれている前記支援ロスレイヤをもって、(ii−1)前記特定スタイル特徴マップ及び前記特定コンテンツ特徴マップとともに前記第Kアップデート特徴マップを使用して、少なくとも一つの第Kアップデートロスを生成させ、(ii−2)前記第Kアップデートロスを通じて前記第(K−1)イメージをアップデートすることによって少なくとも一つの第Kアップデートイメージを生成させるプロセス;及び
(II−2−4)前記(II−2−2)プロセス及び前記(II−2−3)プロセスを遂行して生成された第Nアップデートイメージを特定の第2学習イメージとして出力するプロセス;
を含み、ここでKは1ないしNの整数であることを特徴とする請求項14に記載の装置。
【請求項16】
前記(II−2−2)プロセスは、
前記プロセッサが、前記支援ロスレイヤをもって、(i)前記第1アップデート特徴マップと前記特定スタイル特徴マップとを使用して一つ以上の第1スタイルロスを生成するプロセス、及び(ii)前記第1アップデート特徴マップと前記特定コンテンツ特徴マップとを使用して一つ以上の第1コンテンツロスを生成するプロセスを遂行させることによって前記第1スタイルロス及び前記第1コンテンツロスを含む前記第1アップデートロスを生成させることを特徴とする請求項15に記載の装置。
【請求項17】
前記(II−2−2)プロセスは、
前記プロセッサが、前記支援ロスレイヤをもって、最急降下法(gradient−descent scheme)で前記第1アップデートロスを使用して前記ノイズイメージをアップデートさせることによって、(i)前記第1アップデートイメージのスタイル特性を前記ノイズイメージのスタイル特性より前記特定の第1ベースイメージのスタイル特性とさらに類似させ、(ii)前記第1アップデートイメージのコンテンツ特性を前記ノイズイメージのコンテンツ特性より前記特定の第2ベースイメージのコンテンツ特性とさらに類似させることを特徴とする請求項15に記載の装置。
【請求項18】
前記(II)プロセスは、
前記プロセッサが、(i)前記メインCNNをもって、前記第1学習イメージの特定の個数と、これに対応する前記第1原本正解自律走行ソース情報とを使用して前記パラメータを学習することによって前記第1学習プロセスを遂行し、(ii)前記メインCNNをもって、前記第2学習イメージと、これに対応する前記第2原本正解自律走行ソース情報とを使用して前記パラメータを微調整することによって前記第2学習プロセスを遂行することを特徴とする請求項14に記載の装置。
【請求項19】
前記(II)プロセスは、
前記プロセッサが、(i)前記メインCNNをもって、(i−1)管理者により予め設定された特定の数に対する特定の第1学習イメージの数の割合による前記第1学習イメージのうち一つ以上の特定の第1学習イメージ、及び(i−2)これに対応する前記第1原本正解自律走行ソース情報の一部を使用して、前記パラメータを初期に学習することによって前記第1学習プロセスを遂行させた後、
前記プロセッサが、(ii)前記メインCNNをもって、前記第1学習イメージ及びこれに対応する前記第1原本正解自律走行ソース情報とともに前記第2学習イメージ及びこれに対応する前記第2原本正解自律走行ソース情報を共に使用して、前記パラメータを再学習することによって前記第2学習プロセスを遂行させることを特徴とする請求項14に記載の装置。
【請求項20】
前記(II−2)プロセスは、
前記第1ベースイメージは、前記第1学習イメージの中から選択されたイメージであり、前記第2ベースイメージは、前記リアル車両に搭載された少なくとも一つのカメラを介して前記リアル車両に対応するリアル走行状況を撮影したイメージであり、前記少なくとも一つの第1ベースイメージが一つである場合、前記第2学習イメージそれぞれは、前記第2ベースイメージそれぞれに対応するように生成されることを特徴とする請求項14に記載の装置。
【請求項21】
前記(II−1)プロセスは、
前記プロセッサが、(i)前記メインCNNに含まれている前記メインコンボリューションレイヤの一つ以上のメインコンボリューションニューロンをもって、(i−1)それ自体のパラメータを使用して、入力された値に少なくとも一つのメインコンボリューションを適用し、(i−2)この出力をそれ自体の次の自律走行ニューロンに伝達するプロセスを繰り返させることによって第1自律走行特徴マップを生成させた後、(ii)前記メインCNNに含まれている前記出力レイヤをもって、前記第1自律走行特徴マップに少なくとも一つの出力演算を適用して前記第1予測自律走行ソース情報を生成させることによって、前記メインCNN演算を前記第1学習イメージに適用することを特徴とする請求項14に記載の装置。
【請求項22】
少なくとも一つの仮想イメージ及び少なくとも一つのスタイル変換リアルイメージ(前記スタイル変換リアルイメージは、少なくとも一つのリアルイメージを予め設定されたバーチャル世界のイメージスタイルに変換したものである)を使用して、自律走行を遂行するために使用されるメインCNN(Convolutional Neural Network)をテストする装置において、
各インストラクションを格納する少なくとも一つのメモリと、
前記各インストラクションを遂行するように設定された少なくとも一つのプロセッサとを含み、前記プロセッサは、(I)(1)予め設定されたバーチャル世界における仮想車両のバーチャル走行に対応する一つ以上の第1学習イメージの少なくとも一部を取得し、(2)(2−1)(i)前記メインCNNに含まれている、メインコンボリューションレイヤ及び出力レイヤをもって、前記第1学習イメージを参照して一つ以上の第1予測自律走行ソース情報を生成させ、(ii)前記メインCNNに含まれているメインロスレイヤをもって、(ii−1)前記第1予測自律走行ソース情報及びこれに対応する第1原本正解(Ground−Truth)自律走行ソース情報を参照して、一つ以上の第1メインロスを生成させた後、(ii−2)前記第1メインロスを使用してバックプロパゲーションを遂行することによって、前記メインCNNのパラメータの少なくとも一部を学習させる第1学習プロセス;及び(2−2)(i)支援CNNをもって、前記第1学習イメージに対応する少なくとも一つの第1ベースイメージ及びリアル世界における実際車両のリアル走行に対応する一つ以上の第2ベースイメージを参照して、一つ以上の第2学習イメージを生成させ、(ii)前記メインCNNに含まれている、前記メインコンボリューションレイヤ及び前記出力レイヤをもって、前記第2学習イメージを参照して、一つ以上の第2予測自律走行ソース情報を生成させた後、(iii)前記メインCNNに含まれている前記メインロスレイヤをもって、(iii−1)前記第2予測自律走行ソース情報及びこれに対応する第2原本正解自律走行ソース情報を参照して、一つ以上の第2メインロスを生成させた後、(iii−2)前記第2メインロスを使用してバックプロパゲーションを遂行することによって、前記メインCNNのパラメータの少なくとも一部を学習させる第2学習プロセスを遂行して学習が完了した状態で、テスト装置が、前記支援CNNをもって、(i)テスト用バーチャル世界におけるテスト用仮想車両のテスト用バーチャル走行に対応する少なくとも一つのテスト用第1ベースイメージ、及び(ii)前記テスト装置と連動して作動するテスト用リアル車両に搭載された少なくとも一つのテスト用カメラを介して取得された少なくとも一つのテスト用第2ベースイメージを参照してテストイメージを生成させるプロセス;及び(II)前記メインCNNに含まれている前記メインコンボリューションレイヤ及び前記出力レイヤをもって、前記テストイメージを参照してテスト用予測自律走行ソース情報を生成させるプロセス;
を遂行することを特徴とする装置。
【請求項23】
前記プロセッサが、(III)前記テスト用予測自律走行ソース情報を自律走行アプリケーションモジュールに伝達して前記テスト用リアル車両の自律走行を支援するプロセス;
をさらに遂行することを特徴とする請求項22に記載の装置。
【請求項24】
前記(I)プロセスは、
(I−1)前記支援CNNに含まれている支援コンボリューションレイヤをもって、(i)前記テスト用第1ベースイメージに少なくとも一つの支援CNN演算を適用することによって一つ以上のテスト用特定スタイル特徴マップを生成するプロセス、及び(ii)前記テスト用第2ベースイメージのうち特定の第2ベースイメージに前記支援CNN演算を適用することによって一つ以上のテスト用特定コンテンツ特徴マップを生成するプロセス;
(I−2)(i)前記支援CNNに含まれている前記支援コンボリューションレイヤをもって、テスト用ノイズイメージに前記支援CNN演算を適用することによって一つ以上のテスト用第1アップデート特徴マップを生成させた後、(ii)前記支援CNNに含まれている支援ロスレイヤをもって、(ii−1)前記テスト用特定スタイル特徴マップ及び前記テスト用特定コンテンツ特徴マップとともに前記テスト用第1アップデート特徴マップを使用して、少なくとも一つのテスト用第1アップデートロスを生成させ、(ii−2)前記テスト用第1アップデートロスを通じて前記ノイズイメージをアップデートすることによって少なくとも一つのテスト用第1アップデートイメージを生成させるプロセス;
(I−3)(i)前記支援CNNに含まれている前記支援コンボリューションレイヤをもって、テスト用第(K−1)アップデートイメージに前記支援CNN演算を適用することによって一つ以上のテスト用第Kアップデート特徴マップを生成させた後、(ii)前記支援CNNに含まれている前記支援ロスレイヤをもって、(ii−1)前記テスト用特定スタイル特徴マップ及び前記テスト用特定コンテンツ特徴マップとともに前記テスト用第Kアップデート特徴マップを使用して、少なくとも一つのテスト用第Kアップデートロスを生成させ、(ii−2)前記テスト用第Kアップデートロスを通じて前記テスト用第(K−1)イメージをアップデートすることによって少なくとも一つのテスト用第Kアップデートイメージを生成させるプロセス;
(I−4)前記(I−2)プロセス及び前記(I−3)プロセスを遂行して生成されたテスト用第Nアップデートイメージを前記テストイメージとして出力するプロセス;
を含み、ここでKは1ないしNの整数であることを特徴とする請求項22に記載の装置。
【請求項25】
前記(II)プロセス以後に、
前記プロセッサが、(IV)前記テスト用第2ベースイメージが取得された際に第Tタイミング以後である第T+1タイミングに前記テスト用カメラを介してテスト用追加第2ベースイメージが取得されると、前記支援CNNをもって、(i)前記テスト用第1ベースイメージ及び前記テスト用追加第2ベースイメージを参照して追加テストイメージを生成した後、(ii)前記追加テストイメージを使用してテスト用追加予測自律走行ソース情報を生成させるプロセスをさらに遂行することを特徴とする請求項22に記載の装置。
【請求項26】
前記(II)プロセスは、
前記プロセッサが、(i)前記メインCNNの前記メインコンボリューションレイヤに含まれている一つ以上のメインコンボリューションニューロンをもって、(i−1)それ自体に入力された少なくとも一つの値にそれ自体のパラメータを利用して少なくとも一つのメインコンボリューション演算を適用した後、(i−2)それ自体の次の自律走行コンボリューションニューロンに伝達するプロセスを繰り返させることによってテスト用自律走行特徴マップを生成させた後、(ii)前記メインCNNの前記出力レイヤをもって、前記テスト用自律走行特徴マップに少なくとも一つの出力演算を適用させて前記テスト用予測自律走行ソース情報を生成させることによって前記メインCNN演算を前記テストイメージに適用させることを特徴とする請求項22に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自律走行車両とともに使用するための方法及び装置に関し、より具体的にバーチャル世界で学習されたCNNがリアル世界で使用され得るようにする学習方法及び学習装置、そしてこれを利用したテスト装置に関する。
【背景技術】
【0002】
ディープコンボリューションニューラルネットワーク(Deep Convolution Neural Network or Deep CNN)は、ディープラーニング分野で起きた驚くべき発展の核心である。CNNは、文字の認識問題を解決するために90年代にも使用されていたが、近年になって機械学習(Machine Learning)分野で広く使用されるようになった。例えば、CNNは、2012年にイメージ認識コンテスト(ImageNet Large Scale Visual Recognition Challenge)で他の競争相手に勝って優勝を収めた。その後、CNNは、機械学習分野で非常に有用なツールとして使用されるようになった。
【0003】
最近、CNNは自律走行分野で多様に使用されている。CNNは、自律走行分野でそれ自体の入力イメージを処理することによって、物体検出、セマンティックセグメンテーション、余裕空間の検出などを遂行することができる。ここで、CNNがこのような機能を遂行するためには、莫大な量の学習セットが必要である。
【0004】
このような方式の問題点は、自律走行分野でCNNを使用して前述した学習セットを作成するのに費用がかなりかかるということである。また、学習セットを生成するためには、学習イメージは自動的に取得され得るが、これに対応する原本正解は人によって手動で生成されなければならないため、費用がかなりかかるのである。
【0005】
このような問題点を克服するための代案が仮想運転である。プログラミングされたコンピュータを利用してバーチャル世界をシミュレーションし、学習イメージとそれに対応する原本正解とをいずれも自動的に取得することができるので、費用をかなり節減し得る長所がある。
【0006】
しかしながら、この方法もやはり、バーチャル世界で取得した学習イメージがリアル世界のイメージと異なるため、バーチャル世界で学習されたCNNに対する信頼性が担保されない問題がある。
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明は、前述した問題点を解決することを目的とする。
【0008】
本発明は、写真スタイル変換を使用してランタイム入力変換のための学習方法を提供することによって、バーチャル世界で学習されたCNNがリアル世界で使用され得るようにすることを他の目的とする。
【0009】
本発明は、バーチャル世界から取得した仮想イメージとテストに使用されるイメージとして同一のスタイルのリアルイメージとを学習イメージとして使用する学習方法を提供することをまた他の目的とする。
【課題を解決するための手段】
【0010】
前記のような本発明の目的を達成し、後述する本発明の特徴的な効果を実現するための本発明の特徴的な構成は以下の通りである。
【0011】
本発明の一態様によると、少なくとも一つの仮想イメージ及び少なくとも一つのスタイル変換リアルイメージ(前記スタイル変換リアルイメージは、少なくとも一つのリアルイメージを予め設定されたバーチャル世界のイメージスタイルに変換したものである)を使用して、自律走行を遂行するために使用されるメインCNN(Convolutional Neural Network)を学習する方法において、(a)学習装置が、予め設定されたバーチャル世界における仮想車両のバーチャル走行に対応する一つ以上の第1学習イメージの少なくとも一部を取得する段階;及び(b)前記学習装置が、(b1)(i)前記メインCNNに含まれている、メインコンボリューションレイヤ及び出力レイヤをもって、前記第1学習イメージを参照して一つ以上の第1予測自律走行ソース情報を生成させ、(ii)前記メインCNNに含まれているメインロスレイヤをもって、(ii−1)前記第1予測自律走行ソース情報及びこれに対応する第1原本正解(Ground−Truth)自律走行ソース情報を参照して、一つ以上の第1メインロスを生成させた後、(ii−2)前記第1メインロスを使用してバックプロパゲーションを遂行することによって、前記メインCNNのパラメータの少なくとも一部を学習させる第1学習プロセス;及び(b2)(i)支援CNNをもって、前記第1学習イメージに対応する少なくとも一つの第1ベースイメージ及びリアル世界における実際車両のリアル走行に対応する一つ以上の第2ベースイメージを参照して、一つ以上の第2学習イメージを生成させ、(ii)前記メインCNNに含まれている、前記メインコンボリューションレイヤ及び前記出力レイヤをもって、前記第2学習イメージを参照して、一つ以上の第2予測自律走行ソース情報を生成させた後、(iii)前記メインCNNに含まれている前記メインロスレイヤをもって、(iii−1)前記第2予測自律走行ソース情報及びこれに対応する第2原本正解自律走行ソース情報を参照して、一つ以上の第2メインロスを生成させた後、(iii−2)前記第2メインロスを使用してバックプロパゲーションを遂行することによって、前記メインCNNのパラメータの少なくとも一部を学習させる第2学習プロセスを遂行させる段階;を含むことを特徴とする方法が提供される。
【0012】
一実施例において、前記(b2)段階は、(b21)前記学習装置が、前記支援CNNに含まれている支援コンボリューションレイヤをもって、(i)前記第1ベースイメージに少なくとも一つの支援CNN演算を適用することによって一つ以上の特定スタイル特徴マップを生成し、(ii)前記第2ベースイメージのうち特定の第2ベースイメージに前記支援CNN演算を適用することによって一つ以上の特定コンテンツ特徴マップを生成する段階;(b22)前記学習装置が、(i)前記支援CNNに含まれている前記支援コンボリューションレイヤをもって、ノイズイメージに前記支援CNN演算を適用することによって一つ以上の第1アップデート特徴マップを生成させた後、(ii)前記支援CNNに含まれている支援ロスレイヤをもって、(ii−1)前記特定スタイル特徴マップ及び前記特定コンテンツ特徴マップとともに前記第1アップデート特徴マップを使用して、少なくとも一つの第1アップデートロスを生成させ、(ii−2)前記第1アップデートロスを通じて前記ノイズイメージをアップデートすることによって少なくとも一つの第1アップデートイメージを生成させる段階;(b23)前記学習装置が、(i)前記支援CNNに含まれている前記支援コンボリューションレイヤをもって、第(K−1)アップデートイメージに前記支援CNN演算を適用することによって一つ以上の第Kアップデート特徴マップを生成させた後、(ii)前記支援CNNに含まれている前記支援ロスレイヤをもって、(ii−1)前記特定スタイル特徴マップ及び前記特定コンテンツ特徴マップとともに前記第Kアップデート特徴マップを使用して、少なくとも一つの第Kアップデートロスを生成させ、(ii−2)前記第Kアップデートロスを通じて前記第(K−1)イメージをアップデートすることによって少なくとも一つの第Kアップデートイメージを生成させる段階;及び(b24)前記学習装置が、前記(b22)段階及び前記(b23)段階を遂行して生成された第Nアップデートイメージを特定の第2学習イメージとして出力する段階;を含み、ここでKは1ないしNの整数(integer)であることを特徴とする方法が提供される。
【0013】
一実施例において、前記(b22)段階は、前記学習装置が、前記支援ロスレイヤをもって、(i)前記第1アップデート特徴マップと前記特定スタイル特徴マップとを使用して一つ以上の第1スタイルロスを生成するプロセス、及び(ii)前記第1アップデート特徴マップと前記特定コンテンツ特徴マップとを使用して一つ以上の第1コンテンツロスを生成するプロセスを遂行させることによって、前記第1スタイルロス及び前記第1コンテンツロスを含む前記第1アップデートロスを生成させることを特徴とする方法が提供される。
【0014】
一実施例において、前記(b22)段階は、前記学習装置が、前記支援ロスレイヤをもって、最急降下法(gradient−descent scheme)で前記第1アップデートロスを使用して前記ノイズイメージをアップデートさせることによって、(i)前記第1アップデートイメージのスタイル特性を前記ノイズイメージのスタイル特性より前記特定の第1ベースイメージのスタイル特性とさらに類似させ、(ii)前記第1アップデートイメージのコンテンツ特性を前記ノイズイメージのコンテンツ特性より前記特定の第2ベースイメージのコンテンツ特性とさらに類似させることを特徴とする方法が提供される。
【0015】
一実施例において、前記(b)段階は、前記学習装置が、(i)前記メインCNNをもって、前記第1学習イメージの特定の個数と、これに対応する前記第1原本正解自律走行ソース情報とを使用して前記パラメータを学習することによって前記第1学習プロセスを遂行し、(ii)前記メインCNNをもって、前記第2学習イメージと、これに対応する前記第2原本正解自律走行ソース情報とを使用して前記パラメータを微調整することによって前記第2学習プロセスを遂行することを特徴とする方法が提供される。
【0016】
一実施例において、前記(b)段階は、前記学習装置が、(i)前記メインCNNをもって、(i−1)管理者により予め設定された特定の数に対する特定の第1学習イメージの数の割合による前記第1学習イメージのうち一つ以上の特定の第1学習イメージ、及び(i−2)これに対応する前記第1原本正解自律走行ソース情報の一部を使用して、前記パラメータを初期に学習することによって前記第1学習プロセスを遂行させた後、前記学習装置が、(ii)前記メインCNNをもって、前記第1学習イメージ及びこれに対応する前記第1原本正解自律走行ソース情報とともに前記第2学習イメージ及びこれに対応する前記第2原本正解自律走行ソース情報を共に使用して、前記パラメータを再学習することによって前記第2学習プロセスを遂行させることを特徴とする方法が提供される。
【0017】
一実施例において 前記(b2)段階は、前記第1ベースイメージは、前記第1学習イメージの中から選択されたイメージであり、前記第2ベースイメージは、前記リアル車両に搭載されている少なくとも一つのカメラを介して前記リアル車両に対応するリアル走行状況を撮影したイメージであり、前記少なくとも一つの第1ベースイメージが一つである場合、前記第2学習イメージそれぞれは、前記第2ベースイメージそれぞれに対応するように生成されることを特徴とする方法が提供される。
【0018】
一実施例において、前記(b1)段階は、前記学習装置が、(i)前記メインCNNに含まれている前記メインコンボリューションレイヤの一つ以上のメインコンボリューションニューロンをもって、(i−1)それ自体のパラメータを使用して、入力された値に少なくとも一つのメインコンボリューションを適用し、(i−2)この出力をそれ自体の次の自律走行ニューロンに伝達するプロセスを繰り返させることによって第1自律走行特徴マップを生成させた後、(ii)前記メインCNNに含まれている前記出力レイヤをもって、前記第1自律走行特徴マップに少なくとも一つの出力演算を適用して前記第1予測自律走行ソース情報を生成させることによって、前記メインCNN演算を前記第1学習イメージに適用することを特徴とする方法が提供される。
【0019】
本発明の他の態様によると、少なくとも一つの仮想イメージ及び少なくとも一つのスタイル変換リアルイメージ(前記スタイル変換リアルイメージは、少なくとも一つのリアルイメージを予め設定されたバーチャル世界のイメージスタイルに変換したものである)を使用して、自律走行を遂行するために使用されるメインCNN(Convolutional Neural Network)をテストする方法において、(a)(1)学習装置が、予め設定されたバーチャル世界における仮想車両のバーチャル走行に対応する一つ以上の第1学習イメージの少なくとも一部を取得し、(2)前記学習装置が、(2−1)(i)前記メインCNNに含まれている、メインコンボリューションレイヤ及び出力レイヤをもって、前記第1学習イメージを参照して一つ以上の第1予測自律走行ソース情報を生成させ、(ii)前記メインCNNに含まれているメインロスレイヤをもって、(ii−1)前記第1予測自律走行ソース情報及びこれに対応する第1原本正解(Ground−Truth)自律走行ソース情報を参照して、一つ以上の第1メインロスを生成させた後、(ii−2)前記第1メインロスを使用してバックプロパゲーションを遂行することによって、前記メインCNNのパラメータの少なくとも一部を学習させる第1学習プロセス;及び(2−2)(i)支援CNNをもって、前記第1学習イメージに対応する少なくとも一つの第1ベースイメージ及びリアル世界における実際車両のリアル走行に対応する一つ以上の第2ベースイメージを参照して、一つ以上の第2学習イメージを生成させ、(ii)前記メインCNNに含まれている、前記メインコンボリューションレイヤ及び前記出力レイヤをもって、前記第2学習イメージを参照して、一つ以上の第2予測自律走行ソース情報を生成させた後、(iii)前記メインCNNに含まれている前記メインロスレイヤをもって、(iii−1)前記第2予測自律走行ソース情報及びこれに対応する第2原本正解自律走行ソース情報を参照して、一つ以上の第2メインロスを生成させた後、(iii−2)前記第2メインロスを使用してバックプロパゲーションを遂行することによって、前記メインCNNのパラメータの少なくとも一部を学習させる第2学習プロセスを遂行して学習が完了した状態で、テスト装置が、前記支援CNNをもって、(i)テスト用バーチャル世界におけるテスト用仮想車両のテスト用バーチャル走行に対応する少なくとも一つのテスト用第1ベースイメージ、及び(ii)前記テスト装置と連動して作動するテスト用リアル車両に搭載された少なくとも一つのテスト用カメラを介して取得された少なくとも一つのテスト用第2ベースイメージを参照してテストイメージを生成させる段階;及び(b)前記テスト装置が、前記メインCNNに含まれている前記メインコンボリューションレイヤ及び前記出力レイヤをもって、前記テストイメージを参照してテスト用予測自律走行ソース情報を生成させる段階;を含むことを特徴とする方法が提供される。
【0020】
一実施例において、(c)前記テスト装置が、前記テスト用予測自律走行ソース情報を自律走行アプリケーションモジュールに伝達して、前記テスト用リアル車両の自律走行を支援する段階;をさらに含むことを特徴とする方法が提供される。
【0021】
一実施例において、前記(a)段階は、(a1)前記テスト装置が、前記支援CNNに含まれている支援コンボリューションレイヤをもって、(i)前記テスト用第1ベースイメージに少なくとも一つの支援CNN演算を適用することによって一つ以上のテスト用特定スタイル特徴マップを生成するプロセス、及び(ii)前記テスト用第2ベースイメージのうち特定の第2ベースイメージに前記支援CNN演算を適用することによって一つ以上のテスト用特定コンテンツ特徴マップを生成するプロセスを遂行させる段階;(a2)前記テスト装置が、(i)前記支援CNNに含まれている前記支援コンボリューションレイヤをもって、テスト用ノイズイメージに前記支援CNN演算を適用することによって一つ以上のテスト用第1アップデート特徴マップを生成させた後、(ii)前記支援CNNに含まれている支援ロスレイヤをもって、(ii−1)前記テスト用特定スタイル特徴マップ及び前記テスト用特定コンテンツ特徴マップとともに前記テスト用第1アップデート特徴マップを使用して、少なくとも一つのテスト用第1アップデートロスを生成させ、(ii−2)前記テスト用第1アップデートロスを通じて前記ノイズイメージをアップデートすることによって少なくとも一つのテスト用第1アップデートイメージを生成させる段階;(a3)前記テスト装置が、(i)前記支援CNNに含まれている前記支援コンボリューションレイヤをもって、テスト用第(K−1)アップデートイメージに前記支援CNN演算を適用することによって一つ以上のテスト用第Kアップデート特徴マップを生成させた後、(ii)前記支援CNNに含まれている前記支援ロスレイヤをもって、(ii−1)前記テスト用特定スタイル特徴マップ及び前記テスト用特定コンテンツ特徴マップとともに前記テスト用第Kアップデート特徴マップを使用して、少なくとも一つのテスト用第Kアップデートロスを生成させ、(ii−2)前記テスト用第Kアップデートロスを通じて前記テスト用第(K−1)イメージをアップデートすることによって少なくとも一つのテスト用第Kアップデートイメージを生成させる段階;(a4)前記テスト装置が、前記(a2)段階及び前記(a3)段階を遂行して生成されたテスト用第Nアップデートイメージを前記テストイメージとして出力する段階;を含み、ここでKは1ないしNの整数であることを特徴とする方法が提供される。
【0022】
一実施例において、前記(b)段階以後に、(d)前記テスト用第2ベースイメージが取得された際に第Tタイミング以後である第T+1タイミングに前記テスト用カメラを介してテスト用追加第2ベースイメージが取得されると、前記テスト装置が、前記支援CNNをもって、(i)前記テスト用第1ベースイメージ及び前記テスト用追加第2ベースイメージを参照して追加テストイメージを生成した後、(ii)前記追加テストイメージを使用してテスト用追加予測自律走行ソース情報を生成させる段階;をさらに含むことを特徴とする方法が提供される。
【0023】
一実施例において、前記(b)段階は、前記テスト装置が、(i)前記メインCNNの前記メインコンボリューションレイヤに含まれている一つ以上のメインコンボリューションニューロンをもって、(i−1)それ自体に入力された少なくとも一つの値にそれ自体のパラメータを利用して少なくとも一つのメインコンボリューション演算を適用した後、(i−2)それ自体の次の自律走行コンボリューションニューロンに伝達するプロセスを繰り返させることによってテスト用自律走行特徴マップを生成させた後、(ii)前記メインCNNの前記出力レイヤをもって、前記テスト用自律走行特徴マップに少なくとも一つの出力演算を適用させて前記テスト用予測自律走行ソース情報を生成させることによって前記メインCNN演算を前記テストイメージに適用させることを特徴とする方法が提供される。
【0024】
本発明のまた他の態様によると、少なくとも一つの仮想イメージ及び少なくとも一つのスタイル変換リアルイメージ(前記スタイル変換リアルイメージは、少なくとも一つのリアルイメージを予め設定されたバーチャル世界のイメージスタイルに変換したものである)を使用して、自律走行を遂行するために使用されるメインCNN(Convolutional Neural Network)を学習する装置において、各インストラクションを格納する少なくとも一つのメモリと、前記各インストラクションを遂行するように設定された少なくとも一つのプロセッサとを含み、前記プロセッサは、(I)予め設定されたバーチャル世界における仮想車両のバーチャル走行に対応する一つ以上の第1学習イメージの少なくとも一部を取得し、(II)(II−1)(i)前記メインCNNに含まれている、メインコンボリューションレイヤ及び出力レイヤをもって、前記第1学習イメージを参照して一つ以上の第1予測自律走行ソース情報を生成させ、(ii)前記メインCNNに含まれているメインロスレイヤをもって、(ii−1)前記第1予測自律走行ソース情報及びこれに対応する第1原本正解(Ground−Truth)自律走行ソース情報を参照して、一つ以上の第1メインロスを生成させた後、(ii−2)前記第1メインロスを使用してバックプロパゲーションを遂行することによって、前記メインCNNのパラメータの少なくとも一部を学習させる第1学習プロセス;及び(II−2)(i)支援CNNをもって、前記第1学習イメージに対応する少なくとも一つの第1ベースイメージ及びリアル世界における実際車両のリアル走行に対応する一つ以上の第2ベースイメージを参照して、一つ以上の第2学習イメージを生成させ、(ii)前記メインCNNに含まれている、前記メインコンボリューションレイヤ及び前記出力レイヤをもって、前記第2学習イメージを参照して、一つ以上の第2予測自律走行ソース情報を生成させた後、(iii)前記メインCNNに含まれている前記メインロスレイヤをもって、(iii−1)前記第2予測自律走行ソース情報及びこれに対応する第2原本正解自律走行ソース情報を参照して、一つ以上の第2メインロスを生成させた後、(iii−2)前記第2メインロスを使用してバックプロパゲーションを遂行することによって、前記メインCNNのパラメータの少なくとも一部を学習させる第2学習プロセスを遂行することを特徴とする装置が提供される。
【0025】
一実施例において、前記(II−2)プロセスは、(II−2−1)前記支援CNNに含まれている支援コンボリューションレイヤをもって、(i)前記第1ベースイメージに少なくとも一つの支援CNN演算を適用することによって一つ以上の特定スタイル特徴マップを生成し、(ii)前記第2ベースイメージのうち特定の第2ベースイメージに前記支援CNN演算を適用することによって一つ以上の特定コンテンツ特徴マップを生成するプロセスと、(II−2−2)(i)前記支援CNNに含まれている前記支援コンボリューションレイヤをもって、ノイズイメージに前記支援CNN演算を適用することによって一つ以上の第1アップデート特徴マップを生成させた後、(ii)前記支援CNNに含まれている支援ロスレイヤをもって、(ii−1)前記特定スタイル特徴マップ及び前記特定コンテンツ特徴マップとともに前記第1アップデート特徴マップを使用して、少なくとも一つの第1アップデートロスを生成させ、(ii−2)前記第1アップデートロスを通じて前記ノイズイメージをアップデートすることによって少なくとも一つの第1アップデートイメージを生成させるプロセスと、(II−2−3)(i)前記支援CNNに含まれている前記支援コンボリューションレイヤをもって、第(K−1)アップデートイメージに前記支援CNN演算を適用することによって一つ以上の第Kアップデート特徴マップを生成させた後、(ii)前記支援CNNに含まれている前記支援ロスレイヤをもって、(ii−1)前記特定スタイル特徴マップ及び前記特定コンテンツ特徴マップとともに前記第Kアップデート特徴マップを使用して、少なくとも一つの第Kアップデートロスを生成させ、(ii−2)前記第Kアップデートロスを通じて前記第(K−1)イメージをアップデートすることによって少なくとも一つの第Kアップデートイメージを生成させるプロセスと、(II−2−4)前記(II−2−2)プロセス及び前記(II−2−3)プロセスを遂行して生成された第Nアップデートイメージを特定の第2学習イメージとして出力するプロセスと、を含み、ここでKは1ないしNの整数であることを特徴とする装置が提供される。
【0026】
一実施例において、前記(II−2−2)プロセスは、前記プロセッサが、前記支援ロスレイヤをもって、(i)前記第1アップデート特徴マップと前記特定スタイル特徴マップとを使用して一つ以上の第1スタイルロスを生成するプロセス、及び(ii)前記第1アップデート特徴マップと前記特定コンテンツ特徴マップとを使用して一つ以上の第1コンテンツロスを生成するプロセスを遂行させることによって前記第1スタイルロス及び前記第1コンテンツロスを含む前記第1アップデートロスを生成させることを特徴とする装置が提供される。
【0027】
一実施例において、前記(II−2−2)プロセスは、前記プロセッサが、前記支援ロスレイヤをもって、最急降下法(gradient−descent scheme)で前記第1アップデートロスを使用して前記ノイズイメージをアップデートさせることによって、(i)前記第1アップデートイメージのスタイル特性を前記ノイズイメージのスタイル特性より前記特定の第1ベースイメージのスタイル特性とさらに類似させ、(ii)前記第1アップデートイメージのコンテンツ特性を前記ノイズイメージのコンテンツ特性より前記特定の第2ベースイメージのコンテンツ特性とさらに類似させることを特徴とする装置が提供される。
【0028】
一実施例において、前記(II)プロセスは、前記プロセッサが、(i)前記メインCNNをもって、前記第1学習イメージの特定の個数と、これに対応する前記第1原本正解自律走行ソース情報とを使用して前記パラメータを学習することによって前記第1学習プロセスを遂行し、(ii)前記メインCNNをもって、前記第2学習イメージと、これに対応する前記第2原本正解自律走行ソース情報とを使用して前記パラメータを微調整することによって前記第2学習プロセスを遂行することを特徴とする装置が提供される。
【0029】
一実施例において、前記(II)プロセスは、前記プロセッサが、(i)前記メインCNNをもって、(i−1)管理者により予め設定された特定の数に対する特定の第1学習イメージの数の割合による前記第1学習イメージのうち一つ以上の特定の第1学習イメージ、及び(i−2)これに対応する前記第1原本正解自律走行ソース情報の一部を使用して、前記パラメータを初期に学習することによって前記第1学習プロセスを遂行させた後、前記プロセッサが、(ii)前記メインCNNをもって、前記第1学習イメージ及びこれに対応する前記第1原本正解自律走行ソース情報とともに前記第2学習イメージ及びこれに対応する前記第2原本正解自律走行ソース情報を共に使用して、前記パラメータを再学習することによって前記第2学習プロセスを遂行させることを特徴とする装置が提供される。
【0030】
一実施例において、前記(II−2)プロセスは、前記第1ベースイメージは、前記第1学習イメージの中から選択されたイメージであり、前記第2ベースイメージは、前記リアル車両に搭載された少なくとも一つのカメラを介して前記リアル車両に対応するリアル走行状況を撮影したイメージであり、前記少なくとも一つの第1ベースイメージが一つである場合、前記第2学習イメージそれぞれは、前記第2ベースイメージそれぞれに対応するように生成されることを特徴とする装置が提供される。
【0031】
一実施例において、前記(II−1)プロセスは、前記プロセッサが、(i)前記メインCNNに含まれている前記メインコンボリューションレイヤの一つ以上のメインコンボリューションニューロンをもって、(i−1)それ自体のパラメータを使用して、入力された値に少なくとも一つのメインコンボリューションを適用し、(i−2)この出力をそれ自体の次の自律走行ニューロンに伝達するプロセスを繰り返させることによって第1自律走行特徴マップを生成させた後、(ii)前記メインCNNに含まれている前記出力レイヤをもって、前記第1自律走行特徴マップに少なくとも一つの出力演算を適用して前記第1予測自律走行ソース情報を生成させることによって、前記メインCNN演算を前記第1学習イメージに適用することを特徴とする装置が提供される。
【0032】
本発明のまた他の態様によると、少なくとも一つの仮想イメージ及び少なくとも一つのスタイル変換リアルイメージ(前記スタイル変換リアルイメージは、少なくとも一つのリアルイメージを予め設定されたバーチャル世界のイメージスタイルに変換したものである)を使用して、自律走行を遂行するために使用されるメインCNN(Convolutional Neural Network)をテストする装置において、各インストラクションを格納する少なくとも一つのメモリと、前記各インストラクションを遂行するように設定された少なくとも一つのプロセッサとを含み、前記プロセッサは、(I)(1)予め設定されたバーチャル世界における仮想車両のバーチャル走行に対応する一つ以上の第1学習イメージの少なくとも一部を取得し、(2)(2−1)(i)前記メインCNNに含まれている、メインコンボリューションレイヤ及び出力レイヤをもって、前記第1学習イメージを参照して一つ以上の第1予測自律走行ソース情報を生成させ、(ii)前記メインCNNに含まれているメインロスレイヤをもって、(ii−1)前記第1予測自律走行ソース情報及びこれに対応する第1原本正解(Ground−Truth)自律走行ソース情報を参照して、一つ以上の第1メインロスを生成させた後、(ii−2)前記第1メインロスを使用してバックプロパゲーションを遂行することによって、前記メインCNNのパラメータの少なくとも一部を学習させる第1学習プロセスと、(2−2)(i)支援CNNをもって、前記第1学習イメージに対応する少なくとも一つの第1ベースイメージ及びリアル世界における実際車両のリアル走行に対応する一つ以上の第2ベースイメージを参照して、一つ以上の第2学習イメージを生成させ、(ii)前記メインCNNに含まれている、前記メインコンボリューションレイヤ及び前記出力レイヤをもって、前記第2学習イメージを参照して、一つ以上の第2予測自律走行ソース情報を生成させた後、(iii)前記メインCNNに含まれている前記メインロスレイヤをもって、(iii−1)前記第2予測自律走行ソース情報及びこれに対応する第2原本正解自律走行ソース情報を参照して、一つ以上の第2メインロスを生成させた後、(iii−2)前記第2メインロスを使用してバックプロパゲーションを遂行することによって、前記メインCNNのパラメータの少なくとも一部を学習させる第2学習プロセスを遂行して学習が完了した状態で、テスト装置が、前記支援CNNをもって、(i)テスト用バーチャル世界におけるテスト用仮想車両のテスト用バーチャル走行に対応する少なくとも一つのテスト用第1ベースイメージ、及び(ii)前記テスト装置と連動して作動するテスト用リアル車両に搭載された少なくとも一つのテスト用カメラを介して取得された少なくとも一つのテスト用第2ベースイメージを参照してテストイメージを生成させるプロセスと、(II)前記メインCNNに含まれている前記メインコンボリューションレイヤ及び前記出力レイヤをもって、前記テストイメージを参照してテスト用予測自律走行ソース情報を生成させるプロセスと、を遂行することを特徴とする装置が提供される。
【0033】
一実施例において、前記プロセッサが、(III)前記テスト用予測自律走行ソース情報を自律走行アプリケーションモジュールに伝達して前記テスト用リアル車両の自律走行を支援するプロセスをさらに遂行することを特徴とする装置が提供される。
【0034】
一実施例において、前記(I)プロセスは、(I−1)前記支援CNNに含まれている支援コンボリューションレイヤをもって、(i)前記テスト用第1ベースイメージに少なくとも一つの支援CNN演算を適用することによって一つ以上のテスト用特定スタイル特徴マップを生成するプロセス、及び(ii)前記テスト用第2ベースイメージのうち特定の第2ベースイメージに前記支援CNN演算を適用することによって一つ以上のテスト用特定コンテンツ特徴マップを生成するプロセスと、(I−2)(i)前記支援CNNに含まれている前記支援コンボリューションレイヤをもって、テスト用ノイズイメージに前記支援CNN演算を適用することによって一つ以上のテスト用第1アップデート特徴マップを生成させた後、(ii)前記支援CNNに含まれている支援ロスレイヤをもって、(ii−1)前記テスト用特定スタイル特徴マップ及び前記テスト用特定コンテンツ特徴マップとともに前記テスト用第1アップデート特徴マップを使用して、少なくとも一つのテスト用第1アップデートロスを生成させ、(ii−2)前記テスト用第1アップデートロスを通じて前記ノイズイメージをアップデートすることによって少なくとも一つのテスト用第1アップデートイメージを生成させるプロセスと、(I−3)(i)前記支援CNNに含まれている前記支援コンボリューションレイヤをもって、テスト用第(K−1)アップデートイメージに前記支援CNN演算を適用することによって一つ以上のテスト用第Kアップデート特徴マップを生成させた後、(ii)前記支援CNNに含まれている前記支援ロスレイヤをもって、(ii−1)前記テスト用特定スタイル特徴マップ及び前記テスト用特定コンテンツ特徴マップとともに前記テスト用第Kアップデート特徴マップを使用して、少なくとも一つのテスト用第Kアップデートロスを生成させ、(ii−2)前記テスト用第Kアップデートロスを通じて前記テスト用第(K−1)イメージをアップデートすることによって少なくとも一つのテスト用第Kアップデートイメージを生成させるプロセスと、(I−4)前記(I−2)プロセス及び前記(I−3)プロセスを遂行して生成されたテスト用第Nアップデートイメージを前記テストイメージとして出力するプロセスと、を含み、ここでKは1ないしNの整数であることを特徴とする装置が提供される。
【0035】
一実施例において、前記(II)プロセス以後に、前記プロセッサが、(IV)前記テスト用第2ベースイメージが取得された際に第Tタイミング以後である第T+1タイミングに前記テスト用カメラを介してテスト用追加第2ベースイメージが取得されると、前記支援CNNをもって、(i)前記テスト用第1ベースイメージ及び前記テスト用追加第2ベースイメージを参照して追加テストイメージを生成した後、(ii)前記追加テストイメージを使用してテスト用追加予測自律走行ソース情報を生成させるプロセスをさらに遂行することを特徴とする装置が提供される。
【0036】
一実施例において、前記(II)プロセスは、前記プロセッサが、(i)前記メインCNNの前記メインコンボリューションレイヤに含まれている一つ以上のメインコンボリューションニューロンをもって、(i−1)それ自体に入力された少なくとも一つの値にそれ自体のパラメータを利用して少なくとも一つのメインコンボリューション演算を適用した後、(i−2)それ自体の次の自律走行コンボリューションニューロンに伝達するプロセスを繰り返させることによってテスト用自律走行特徴マップを生成させた後、(ii)前記メインCNNの前記出力レイヤをもって、前記テスト用自律走行特徴マップに少なくとも一つの出力演算を適用させて前記テスト用予測自律走行ソース情報を生成させることによって前記メインCNN演算を前記テストイメージに適用させることを特徴とする装置が提供される。
【発明の効果】
【0037】
本発明は、写真スタイル変換を使用してランタイム入力変換のための学習方法を提供することによって、バーチャル世界で学習されたCNNを実際の自律走行に使用され得るようにする効果がある。
【0038】
また、本発明は、バーチャル世界から取得された仮想イメージとテストに使用されるイメージとして同一のスタイルのリアルイメージとを学習イメージとして使用する学習方法を提供することができる効果がある。
【0039】
また、本発明は、リアル世界で自律走行を十分に遂行し得るCNNを、少ない費用でも効率的に学習し得るようにする効果がある。
【図面の簡単な説明】
【0040】
本発明の実施例の説明に利用されるために添付された以下の各図面は、本発明の実施例のうち単に一部であるに過ぎず、本発明の属する技術分野において通常の知識を有する者(以下「通常の技術者」)にとっては、発明的作業が行われずにこれらの図面に基づいて他の各図面が得られ得る。
図1図1は、本発明の一実施例にしたがって、写真スタイル変換を使用してランタイム入力の変換によりリアル世界で使用されるバーチャル世界で学習された自律走行用CNNを許容するための学習方法を遂行する学習装置の構成を示した図面である。
図2図2は、本発明の一実施例にしたがって、写真スタイル変換を使用してランタイム入力の変換によりリアル世界で使用されるバーチャル世界で学習された自律走行用CNNを許容するための学習方法を示したチャート図である。
図3図3は、本発明の一実施例にしたがって、写真スタイル変換を使用してランタイム入力の変換によりリアル世界で使用されるバーチャル世界で学習された自律走行用CNNを許容するための学習方法に使用される第2学習イメージを生成する方式を示した図面である。
図4図4は、本発明の一実施例にしたがって、写真スタイル変換を使用してランタイム入力の変換によりリアル世界で使用されるバーチャル世界で学習された自律走行用CNNを許容するためのテスト方法を示したチャート図である。
【発明を実施するための形態】
【0041】
後述する本発明に関する詳細な説明は、本発明が実施され得る特定の実施例を例示として示す添付図面を参照する。これらの実施例は、当業者が本発明を実施することができるように十分詳細に説明される。本発明の多様な実施例は互いに異なるが、相互に排他的である必要はないことが理解されるべきである。例えば、ここに記載されている特定の形状、構造及び特性は、一実施例に関連して本発明の精神及び範囲を逸脱せず、かつ他の実施例で具現され得る。また、それぞれの開示された実施例内の個別の構成要素の位置又は配置は、本発明の精神及び範囲を逸脱せず、かつ変更され得ることが理解されるべきである。したがって、後述する詳細な説明は、限定的な意味として受け取ろうとするものではなく、本発明の範囲は適切に説明されるのであれば、その請求項が主張することと均等な全ての範囲とともに添付された請求項によってのみ限定される。図面において類似の参照符号は、様々な側面にわたって同一であるか、又は類似の機能を指す。
【0042】
また、本発明の詳細な説明及び各請求項にわたって、「含む」という単語及びそれらの変形は、他の技術的各特徴、各付加物、構成要素又は段階を除外することを意図したものではない。通常の技術者にとって本発明の他の各目的、長所及び各特性が、一部は本説明書から、また一部は本発明の実施から明らかになるであろう。以下の例示及び図面は実例として提供され、本発明を限定することを意図したものではない。
【0043】
本発明で言及している各種イメージは、舗装または非舗装道路関連のイメージを含み得、この場合、道路環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではなく、本発明で言及している各種イメージは、道路と関係のないイメージ(例えば、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内と関連したイメージ)でもあり得、この場合、非舗装道路、路地、空き地、海、湖、川、山、森、砂漠、空、室内環境で登場し得る物体(例えば、自動車、人、動物、植物、物、建物、飛行機やドローンのような飛行体、その他の障害物)を想定し得るが、必ずしもこれに限定されるものではない。
【0044】
以下、本発明の属する技術分野において通常の知識を有する者が本発明を容易に実施し得るようにするために、本発明の好ましい実施例について添付された図面を参照して詳細に説明することにする。
【0045】
図1は、本発明の一実施例にしたがって、写真スタイル変換を使用してランタイム入力の変換によりリアル世界で使用されるバーチャル世界で学習された自律走行用CNNを許容するための学習方法を遂行する学習装置の構成を示した図面である。
【0046】
図1を参照すると、学習装置100は、追って詳細に説明する自律走行に使用されるメインCNN130及び支援CNN140を含むことができる。メインCNN130及び支援CNN140の入出力及び演算過程は、それぞれ少なくとも一つの通信部110及び少なくとも一つのプロセッサ120により行われ得る。ただし、図1では、通信部110及びプロセッサ120の具体的な連結関係を省略した。この場合、メモリ115は、後述する様々なインストラクションを格納した状態であり得、プロセッサ120は前記メモリ115に格納された各インストラクションを遂行するように設定され、プロセッサ120は、追って説明する各インストラクションを遂行することによって本発明を遂行することができる。このように、学習装置100が描写されたからといって、学習装置100が本発明を実施するためのミディアム、プロセッサ、及びメモリが統合された形態である統合プロセッサを含む場合を排除するわけではない。
【0047】
以上、本発明の一実施例によって遂行される学習装置100の構成について考察してみたところ、以下では、学習装置100が遂行する学習方法について説明する。
【0048】
図2は、本発明の一実施例にしたがって、写真スタイル変換を使用してランタイム入力の変換によりリアル世界で使用されるバーチャル世界で学習された自律走行用CNNを許容するための学習方法を示したチャート図である。
【0049】
図2を参照すると、学習装置100は、一つ以上の第1学習イメージのうち少なくとも一部を取得することができる(S01)。以後、学習装置100は、二つのプロセスを並列して遂行することができる。
【0050】
まず、学習装置100は、メインCNN130をもって、各第1学習イメージを参照して第1予測自律走行ソース情報を生成させることができる(S02−1)。以後、学習装置100は、メインCNN130をもって、第1予測自律走行ソース情報及びこれに対応する第1原本正解自律走行ソース情報を参照して第1自律走行ロスを生成させることができる(S02−2)。そして、学習装置100は、メインCNN130をもって、メインCNNのパラメータの少なくとも一部を学習させる第1学習プロセスを遂行することができる(S02−3)。
【0051】
第二に、学習装置100は、支援CNN140をもって、少なくとも一つの第1ベースイメージ及び一つ以上の第2ベースイメージを参照して一つ以上の第2学習イメージを生成させることができる(S03−1)。そして、学習装置100は、支援CNN140をもって、各第2学習イメージを参照して第2予測自律走行ソース情報を生成させることができる(S03−2)。以後、学習装置100は、支援CNN140をもって、第2予測自律走行ソース情報及びこれに対応する第2原本正解自律走行ソース情報を参照して第2自律走行ロスを生成させることができる(S03−3)。そして、学習装置100は、支援CNN140をもって、第2自律走行ロスを使用してメインCNN130のパラメータのうち少なくとも一部を学習させる第2学習プロセスを遂行することができる(S03−4)。
【0052】
以下、前述した第1学習プロセス及び第2学習プロセスについてさらに具体的に説明することにする。
【0053】
第1学習プロセスと関連して、学習装置100は、メインCNN130に含まれている、メインコンボリューションレイヤ及び出力レイヤをもって、予め設定されたバーチャル世界における仮想車両のバーチャル走行に対応する各第1学習イメージを参照して一つ以上の第1予測自律走行ソース情報を生成させることができる。ここで、各第1学習イメージは、プログラミングされたコンピュータによりシミュレーションされたバーチャル世界をバーチャル走行中である仮想車両の観点から撮影することによって取得され得る。したがって、これらのイメージは、前記各リアルイメージに比べて彩度が高く、対比が大きく、物体のディテールが相対的に省略されており、光線の経路が多少非現実的である特性を有するイメージであり得る。第1予測自律走行ソース情報は、追って説明するテスト段階における自律走行アプリケーションモジュールに伝達される情報であって、自律走行を行うにおいて基本となるリファレンス情報を意味し得る。一例として、自律走行ソース情報は、第1学習イメージに対するセグメンテーション情報を含むことができ、また、その他の例として、第1学習イメージに対する物体検出情報を含むことができる。ただし、本発明は、これに限定されるわけではない。
【0054】
このような第1予測自律走行ソース情報を生成するために、学習装置100は、メインCNN130のコンボリューションレイヤに含まれている一つ以上の自律走行コンボリューションニューロンをもって、(i−1)それ自体のパラメータを使用して、入力された値に少なくとも一つのメインコンボリューションを適用し、(i−2)この出力をそれ自体の次の自律走行ニューロンに伝達するプロセスを繰り返させることによって、第1自律走行特徴マップを生成させることができる。以後、学習装置100は、前記メインCNNに含まれている前記出力レイヤをもって、前記第1自律走行特徴マップに少なくとも一つの出力演算を適用して前記第1予測自律走行ソース情報を生成させることができる。ここで、前述した一例にしたがって、第1予測自律走行ソース情報がセグメンテーション情報を含む場合、出力レイヤは、デコンボリューションレイヤの形態をし、出力演算はデコンボリューション演算であり得る。前述したその他の例にしたがって、第1予測自律走行ソース情報が物体検出情報を含む場合、出力レイヤはプーリングレイヤ及びFC(Fully−Connected)レイヤを含むことができ、出力演算はプーリング演算及びFC演算であり得る。
【0055】
以上、第1学習プロセスについて説明したところ、以下において第2学習プロセスについて説明することにする。
【0056】
第2学習プロセスは、第2学習イメージと関連がある。そして、第2学習イメージは、第1ベースイメージ及び第2ベースイメージを使用して支援CNN140により生成されるようになる。ここで、第1ベースイメージとは、第1学習イメージに対応するもの、つまりバーチャル世界のイメージであり得、第2ベースイメージは、リアル世界における実際車両のリアル走行の間に取得されたイメージに対応し得る。一例として、第1ベースイメージは、第1学習イメージの中から選択されたものであり得、第2ベースイメージは、リアル車両に搭載されたカメラを介して取得した各リアル走行状況に対するイメージのうち一つが選択されたものであり得る。ここで、第1ベースイメージが一つのみ選択された場合、第2学習イメージそれぞれは第2ベースイメージそれぞれに対応し得る。
【0057】
このような第1ベースイメージ及び第2ベースイメージが取得された後、学習装置100は、支援CNN140に含まれている支援コンボリューションレイヤをもって、(i)前記第1特定ベースイメージに少なくとも一つの支援CNN演算を適用することによって一つ以上の特定スタイル特徴マップを生成し、(ii)前記第2ベースイメージのうち特定の第2ベースイメージに前記支援CNN演算を適用することによって一つ以上の特定コンテンツ特徴マップを生成するプロセスを遂行させることができる。ここで、両プロセスは独立したものであって、並列して遂行され得る。特定スタイル特徴マップ及び特定コンテンツ特徴マップそれぞれは追って説明するが、それぞれ生成される特定の第2学習イメージのスタイル及びその内容に対するリファレンスとなる特徴マップであり得る。
【0058】
以後、学習装置100は、支援CNN140に含まれている支援コンボリューションレイヤをもって、ノイズイメージに前記支援CNN演算を適用することによって一つ以上の第1アップデート特徴マップを生成させた後、前記支援CNNに含まれている支援ロスレイヤをもって、前記特定スタイル特徴マップ及び前記特定コンテンツ特徴マップとともに前記第1アップデート特徴マップを使用して、少なくとも一つの第1アップデートロスを生成させることができる。ここで、ノイズイメージは、特定の第2学習イメージを生成するために使用される背景イメージであり得る。つまり、絵を描く際に使用するキャンバスのようなイメージである。
【0059】
具体的に、学習装置100は、支援ロスレイヤをもって、(i)前記第1アップデート特徴マップと前記特定スタイル特徴マップとを使用して一つ以上の第1スタイルロスを生成するプロセス、及び(ii)前記第1アップデート特徴マップと前記特定コンテンツ特徴マップとを使用して一つ以上の第1コンテンツロスを生成するプロセスを遂行させることができる。以後、学習装置100は、前記第1スタイルロス及び前記第1コンテンツロスを合わせて、前記第1アップデートロスを生成させることができる。ここで、第1スタイルロスを生成するために、支援ロスレイヤは、第1アップデート特徴マップにスタイル演算を適用して第1変形アップデート特徴マップを生成した後、第1変形アップデート特徴マップと特定スタイル特徴マップとの間の差を計算することができる。また、第1コンテンツロスを生成するために、支援ロスレイヤは、第1アップデート特徴マップと特定コンテンツ特徴マップとの間の差を計算することができる。
【0060】
以後、学習装置100は、支援ロスレイヤをもって、第1アップデートロスを使用してノイズイメージをアップデートすることによって少なくとも一つの第1アップデートイメージを生成させることができる。具体的には、支援ロスレイヤをもって、最急降下法(gradient−descent scheme)で前記第1アップデートロスを使用して前記ノイズイメージをアップデートすることができる。このようなアップデートプロセスを遂行することによって、前記第1アップデートイメージのスタイル特性は、前記ノイズイメージのスタイル特性より前記特定の第1ベースイメージのスタイル特性とさらに類似するようになり得る。また、前記第1アップデートイメージのコンテンツ特性は、前記ノイズイメージのコンテンツ特性より前記特定の第2ベースイメージのコンテンツ特性とさらに類似するようになり得る。
【0061】
支援CNNにより遂行される前記プロセスをより具体的に説明するために、図3を参照することにする。
【0062】
図3は、本発明の一実施例にしたがって、写真スタイル変換を使用してランタイム入力の変換によりリアル世界で使用されるバーチャル世界で学習された自律走行用CNNを許容するための学習方法に使用される第2学習イメージを生成する方式を示した図面である。
【0063】
図3を参照すると、第1アップデート特徴マップのうち一つ301と特定スタイル特徴マップのうち一つ302との間の差が計算されることによって、第1スタイルロスのうち一つが生成されたことが分かり、第1アップデート特徴マップのうち一つ301と特定コンテンツ特徴マップのうち一つ303との間の差が計算されることによって第1コンテンツロスのうちの一つが生成されたことが分かる。また、第1アップデートロスを利用してノイズイメージがアップデートされたことを確認することができる。
【0064】
以上と同一の過程を遂行して、第1アップデートイメージをアップデートして第2アップデートイメージが生成され得、第2アップデートイメージをアップデートして第3アップデートイメージが生成され得、さらには第Nアップデートイメージが生成され得、これを特定の第2学習イメージとして出力することができる。ここで、Nは予め設定された整数(integer)である。より具体的に、学習装置100が、(i)前記支援CNNに含まれている前記支援コンボリューションレイヤをもって、第(K−1)アップデートイメージに前記支援CNN演算を適用することによって一つ以上の第Kアップデート特徴マップを生成させた後、(ii)前記支援CNNに含まれている前記支援ロスレイヤをもって、(ii−1)前記特定スタイル特徴マップ及び前記特定コンテンツ特徴マップとともに前記第Kアップデート特徴マップを使用して、少なくとも一つの第Kアップデートロスを生成させ、(ii−2)前記第Kアップデートロスを通じて前記第(K−1)イメージをアップデートすることによって少なくとも一つの第Kアップデートイメージを生成させることができる。ここで、Kは1ないしNの整数である。
【0065】
このような特定の第2学習イメージの生成方式は、一般的である絵をゴッホの絵画スタイルに変えた実験結果として有名になったGatys et al.の2016年の論文「Image Style Transfer Using Convolutional Neural Networks」と類似しているところ、通常の技術者は、当該論文を参照して前記説明を容易に理解することができるであろう。
【0066】
このように特定の第2学習イメージを含む第2学習イメージが生成されると、第1学習イメージと同様にメインCNN130を学習するのに使用され得る。簡略に第2学習プロセスとして、学習装置100は、(i)前記メインCNNに含まれている、前記メインコンボリューションレイヤ及び前記出力レイヤをもって、前記第2学習イメージを参照して、一つ以上の第2予測自律走行ソース情報を生成させた後、(ii)前記メインCNNに含まれている前記メインロスレイヤをもって、(ii−1)前記第2予測自律走行ソース情報及びこれに対応する第2原本正解自律走行ソース情報を参照して、一つ以上の第2メインロスを生成させた後、(ii−2)前記第2メインロスを使用してバックプロパゲーションを遂行することによって、前記メインCNNのパラメータの少なくとも一部を学習させる。このような第2学習プロセスは、第1学習プロセスと類似するため、さらに詳細な説明は省略することにする。
【0067】
以上、第1学習プロセス及び第2学習プロセスについて説明したところ、以下、第1学習プロセスと第2学習プロセスとがどのような方式で互いに連動して遂行され得るのかについて説明することにする。
【0068】
まず、一実施例によると、第1学習プロセス及び第2学習プロセスは同時に行われ得る。すなわち、第1学習イメージが取得された後、第2学習イメージが生成されると、この二種類の学習イメージはメインCNN130のパラメータのうち少なくとも一部を学習するのに使用され得る。
【0069】
その他の実施例によると、第1学習プロセスを先に遂行してメインCNN130のパラメータのうち少なくとも一部を学習した後、第2学習プロセスを遂行することによってパラメータを微調整することもできる。つまり、学習装置100は、(i)前記メインCNNをもって、前記第1学習イメージの特定の個数と、これに対応する前記第1原本正解自律走行ソース情報とを使用して前記パラメータを学習することによって前記第1学習プロセスを遂行し、(ii)前記メインCNNをもって、前記第2学習イメージと、これに対応する前記第2原本正解自律走行ソース情報とを使用して、前記パラメータを微調整することによって前記第2学習プロセスを遂行させることができる。
【0070】
または、さらに他の実施例によると、第1学習プロセスは、第1学習イメージを一部使用してパラメータのうち少なくとも一部を初期に学習した後、そして第2学習プロセスは、第1学習イメージ及び第2学習イメージをともに使用してパラメータのうち少なくとも一部を再学習することもできる。すなわち、学習装置100が、メインCNN130をもって、前記第1学習イメージのうち一つ以上の特定の第1学習イメージ及びこれに対応する前記第1原本正解自律走行ソース情報の一部を使用して、前記パラメータを初期に学習することによって前記第1学習プロセスを遂行させた後、前記メインCNNをもって、前記第1学習イメージ及びこれに対応する前記第1原本正解自律走行ソース情報とともに前記第2学習イメージ及びこれに対応する前記第2原本正解自律走行ソース情報を共に使用して、前記パラメータを再学習することによって前記第2学習プロセスを遂行させることができる。
【0071】
以上の過程を経て学習が完了したメインCNN130がどのようにテストされるのかについて、以下に図4を参照して説明することにする。
【0072】
図4は、本発明の一実施例にしたがって、写真スタイル変換を使用してランタイム入力の変換によりリアル世界で使用されるバーチャル世界で学習された自律走行用CNNを許容するためのテスト方法を示したチャート図である。
【0073】
図4を参照すると、本発明のテスト方法は、(i)バーチャル走行に対応する少なくとも一つのテスト用第1ベースイメージ及びリアルタイムに取得された少なくとも一つのテスト用第2ベースイメージを参照してテストイメージを生成させる段階;及び(ii)テストイメージを学習されたメインCNN130に入力して、その出力、すなわちテスト用予測自律走行ソース情報を自律走行アプリケーションモジュールに伝達する構成であることを確認することができる。以下、これについてさらに具体的に説明することにする。
【0074】
すなわち、(1)学習装置が、予め設定されたバーチャル世界における仮想車両のバーチャル走行に対応する一つ以上の第1学習イメージの少なくとも一部を取得し、(2)前記学習装置が、(2−1)(i)前記メインCNNに含まれている、メインコンボリューションレイヤ及び出力レイヤをもって、前記第1学習イメージを参照して一つ以上の第1予測自律走行ソース情報を生成させ、(ii)前記メインCNNに含まれているメインロスレイヤをもって、(ii−1)前記第1予測自律走行ソース情報及びこれに対応する第1原本正解(Ground−Truth)自律走行ソース情報を参照して、一つ以上の第1メインロスを生成させた後、(ii−2)前記第1メインロスを使用してバックプロパゲーションを遂行することによって、前記メインCNNのパラメータの少なくとも一部を学習させる第1学習プロセス;及び(2−2)(i)支援CNNをもって、前記第1学習イメージに対応する少なくとも一つの第1ベースイメージ及びリアル世界における実際車両のリアル走行に対応する一つ以上の第2ベースイメージを参照して、一つ以上の第2学習イメージを生成させ、(ii)前記メインCNNに含まれている、前記メインコンボリューションレイヤ及び前記出力レイヤをもって、前記第2学習イメージを参照して、一つ以上の第2予測自律走行ソース情報を生成させた後、(iii)前記メインCNNに含まれている前記メインロスレイヤをもって、(iii−1)前記第2予測自律走行ソース情報及びこれに対応する第2原本正解自律走行ソース情報を参照して、一つ以上の第2メインロスを生成させた後、(iii−2)前記第2メインロスを使用してバックプロパゲーションを遂行することによって、前記メインCNNのパラメータの少なくとも一部を学習させる第2学習プロセスを遂行して学習が完了した状態で、テスト装置が、前記支援CNNをもって、(i)テスト用バーチャル世界におけるテスト用仮想車両のテスト用バーチャル走行に対応する少なくとも一つのテスト用第1ベースイメージ、及び(ii)前記テスト装置と連動して作動するテスト用リアル車両に搭載された少なくとも一つのテスト用カメラを介して取得された少なくとも一つのテスト用第2ベースイメージを参照してテストイメージを生成させることができる。
【0075】
以後、前記テスト装置が、前記メインCNNに含まれている前記メインコンボリューションレイヤ及び前記出力レイヤをもって、前記テストイメージを参照してテスト用予測自律走行ソース情報を生成させることができる。
【0076】
そして、テスト装置が、テスト用予測自律走行ソース情報を自律走行アプリケーションモジュールに伝達することによって、前記テスト用リアル車両の自律走行を支援することができる。この際、自律走行アプリケーションモジュールは、テストイメージに対するイメージセグメンテーション情報または物体検出情報を使用して自律走行を使用するモジュールであり得るが、これは本発明の主たる範囲にあるものではないので、詳細な説明は省略することにする。
【0077】
テスト方法を遂行する場合は、学習方法を遂行する場合とは異なり、そのレイテンシ(latency)が非常に重要である。したがって、単数であるテスト用第1ベースイメージは固定され得、リアルタイムでテスト用カメラを介してイメージが取得されるたびにこれをテスト用第2ベースイメージとして支援CNN140に入力することができる。つまり、テスト装置は、前記テスト用第2ベースイメージが取得された際に第Tタイミング以後である第T+1タイミングに前記テスト用カメラを介してテスト用追加第2ベースイメージが取得されると、前記テスト装置が、前記支援CNNをもって、(i)前記テスト用第1ベースイメージ及び前記テスト用追加第2ベースイメージを参照して追加テストイメージを生成した後、(ii)前記追加テストイメージを使用してテスト用追加予測自律走行ソース情報を生成させることができる。
【0078】
以上の方法により、本発明は、ラベリング費用を節減しながらも、高い自律走行性能を示す自律走行車両を提供することが可能となる。
【0079】
以上にて説明された本発明による各実施例は、多様なコンピュータの構成要素を通じて遂行することができるプログラム命令語の形態で具現されて、コンピュータ読取り可能な記録媒体に格納され得る。前記コンピュータ読取り可能な記録媒体は、プログラム命令語、データファイル、データ構造などを単独で又は組み合わせて含むことができる。前記コンピュータ読取り可能な記録媒体に格納されるプログラム命令語は、本発明のために特別に設計され、構成されたものであるか、コンピュータソフトウェア分野の当業者に公知にされて使用可能なものであり得る。コンピュータ読取り可能な記録媒体の例には、ハードディスク、フロッピーディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカルディスク(Floptical Disk)のような磁気−光メディア(Magneto−Optical Media)、及びROM、RAM、フラッシュメモリなどのようなプログラム命令語を格納して遂行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作られるもののような機械語コードだけでなく、インタープリターなどを使用してコンピュータによって実行され得る高級言語コードも含まれる。前記ハードウェア装置は、本発明による処理を実行するために一つ以上のソフトウェアモジュールとして作動するように構成され得、その反対も同様である。
【0080】
以上、本発明が具体的な構成要素などのような特定事項と限定された実施例及び図面によって説明されたが、これは本発明のより全般的な理解の一助とするために提供されたものであるに過ぎず、本発明が前記実施例に限られるものではなく、本発明が属する技術分野において通常の知識を有する者であれば、かかる記載から多様な修正及び変形が行われ得る。
【0081】
従って、本発明の思想は、前記説明された実施例に局限されて定められてはならず、後述する特許請求の範囲だけでなく、本特許請求の範囲と均等または等価的に変形されたものすべては、本発明の思想の範囲に属するといえる。
図1
図2
図3
図4