(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024159721
(43)【公開日】2024-11-08
(54)【発明の名称】画像の部分領域をニューラルネットワークに入力したことに基づいて外部オブジェクトを識別するための電子装置及びその方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20241031BHJP
G08G 1/04 20060101ALI20241031BHJP
G08G 1/16 20060101ALI20241031BHJP
【FI】
G06T7/00 350C
G06T7/00 650B
G08G1/04 D
G08G1/16 C
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2024072232
(22)【出願日】2024-04-26
(31)【優先権主張番号】10-2023-0054677
(32)【優先日】2023-04-26
(33)【優先権主張国・地域又は機関】KR
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
2.WCDMA
3.3GPP
(71)【出願人】
【識別番号】516082420
【氏名又は名称】シンクウェア コーポレーション
【氏名又は名称原語表記】THINKWARE CORPORATION
(74)【代理人】
【識別番号】110002789
【氏名又は名称】弁理士法人IPX
(72)【発明者】
【氏名】チュン・ヘジュン
(72)【発明者】
【氏名】パク・ヨセップ
【テーマコード(参考)】
5H181
5L096
【Fターム(参考)】
5H181AA01
5H181BB05
5H181BB20
5H181CC03
5H181CC04
5H181CC12
5H181CC14
5H181CC27
5H181DD10
5H181FF04
5H181FF33
5H181LL01
5H181LL02
5H181LL04
5H181LL07
5L096AA02
5L096AA06
5L096BA04
5L096BA17
5L096CA04
5L096CA14
5L096DA01
5L096DA03
5L096EA39
5L096FA12
5L096FA16
5L096FA54
5L096FA62
5L096FA64
5L096FA66
5L096FA69
5L096GA34
5L096GA40
5L096GA51
5L096GA55
5L096HA11
5L096KA04
(57)【要約】 (修正有)
【課題】ニューラルネットワークを用いて、外部オブジェクトを識別する電子装置及びその方法を提供する。
【解決手段】カメラ及びプロセッサを含む電子装置において、プロセッサは、カメラを介して取得した画像のFOV(field of view)に基づいて、画像を分割するために使用するウィンドウの幅を識別し、基準面に対応する視覚オブジェクトを含む第1の領域に基づいて、ウィンドウの高さを識別し、幅及び高さに基づいて、ウィンドウを使用して第1の領域を複数の部分領域に分割し、複数の部分領域のうち第1の部分領域が入力されたニューラルネットワークから、外部オブジェクトが第1の部分領域に含まれるか否かを識別し、外部オブジェクトが第1の部分領域に含まれるか否かに基づいて識別された間隔に基づいて、画像内で第1の部分領域から離隔された第2の部分領域を取得する。
【選択図】
図11
【特許請求の範囲】
【請求項1】
電子装置(electronic device)であって、
カメラと、
プロセッサとを含み、
前記プロセッサは、
前記カメラを介して取得された画像のFOV(field of view)に基づいて、前記画像の分割に使用されるウィンドウの幅(width)を識別し、
基準面(reference surface)に対応する視覚オブジェクトを含む第1の領域に基づいて、前記ウィンドウの高さ(height)を識別し、
前記幅及び前記高さに基づいて、前記ウィンドウを用いて、前記第1の領域を複数の部分領域に分割し、
前記複数の部分領域のうち第1の部分領域が入力されたニューラルネットワークから、前記第1の部分領域に外部オブジェクトが含まれるか否かを識別し、
前記外部オブジェクトが、前記第1の部分領域に含まれるか否かに基づいて識別された間隔に基づいて、前記画像内で前記第1の部分領域から離隔された第2の部分領域を取得するように構成されている、電子装置。
【請求項2】
前記プロセッサは、
前記カメラによる、第1の画像である前記画像の歪み(distortion)を識別し、
前記第1の画像とは異なり、前記歪みを補償した第2の画像に基づいて、前記外部オブジェクトを識別するように構成されている、請求項1に記載の電子装置。
【請求項3】
前記プロセッサは、
前記複数の部分領域を、前記幅の第1の比率だけ部分的に重なるように構成されている、請求項1に記載の電子装置。
【請求項4】
センサをさらに含み、
前記プロセッサは、
前記センサに基づいて、第1の基準速度以下である、前記電子装置の第1の速度を識別し、及び
前記第1の速度の識別に基づいて、前記画像の縁部を含む第1のサブ領域において、前記複数の部分領域を、前記第1の比率より小さい第2の比率だけ重なるように構成されている、請求項3に記載の電子装置。
【請求項5】
センサをさらに含み、
前記プロセッサは、
前記センサに基づいて、第2の基準速度以上である、前記電子装置の第2の速度を識別し、及び
前記第2の速度の識別に基づいて、前記画像の縁部を含む第1の部分領域とは異なる第2の部分領域において、前記複数の部分領域を、前記第1の比率よりも小さい第2の比率だけ重なるように構成されている、請求項3に記載の電子装置。
【請求項6】
スピーカをさらに含み、
前記プロセッサは、
前記外部オブジェクトを識別したことに基づいて、前記外部オブジェクトが識別されたことを知らせるためのオーディオ信号を出力するように構成されている、請求項1に記載の電子装置。
【請求項7】
ディスプレイをさらに含み、
前記プロセッサは、
前記外部オブジェクトを識別したことに基づいて、前記外部オブジェクトに対応する視覚オブジェクトを表示するように構成されている、請求項1に記載の電子装置。
【請求項8】
センサをさらに含み、
前記プロセッサは、
前記センサを用いて識別された前記カメラが向いている方向を識別し、
指定された範囲内の前記方向を識別したことに基づいて、前記高さを識別するように構成されている、請求項1に記載の電子装置。
【請求項9】
前記高さは、第1の高さであり、
前記プロセッサは、
前記第2の領域の第2の高さを識別し、
前記第2の高さと前記第1の高さとの差を識別したことに基づいて、前記画像の一部をキャプチャした前記複数の部分領域のサイズを調整するように構成されている、請求項1に記載の電子装置。
【請求項10】
前記プロセッサは、
前記第2の高さより小さい前記第1の高さを識別したことに基づいて、前記第2の領域の一頂点(vertex)を含む、第1の部分領域を識別し、
前記第1の部分領域と部分的に重なり、前記第1の部分領域と同じサイズを有する第2の部分領域を識別するように構成されている、請求項9に記載の電子装置。
【請求項11】
電子装置(electronic device)であって、
メモリと、
プロセッサとを含み、
前記プロセッサは、
前記メモリに記憶された画像において、車線(line)によって区切られた複数の車路(lanes)のうち第1の車路で、第1の車両を識別したことに基づいて、前記第1の車両に関連する第1のデータセットを取得し、
前記複数の車路のうち、前記第1の車路とは異なる第2の車路で、第2の車両を識別したことに基づいて、前記第2の車両に関連する第2のデータセットを取得し、
前記複数の車路のうち、前記第1の車路及び前記第2の車路とは異なる第3の車路で、第3の車両を識別したことに基づいて、前記第3の車両に関連する第3のデータセットを取得し、
前記第1のデータセット、前記第2のデータセット、及び及び前記第3のデータセットのそれぞれに基づくトゥルースデータ(truth data)を用いて、ニューラルネットワークをトレーニングするように構成されている、電子装置。
【請求項12】
前記ニューラルネットワークは、
前記第1のデータセット、前記第2のデータセット、及び前記第3のデータセットのそれぞれから識別された車両の形態を用いてトレーニングされた、請求項11に記載の電子装置。
【請求項13】
前記ニューラルネットワークは、
前記車両として識別された第1のバウンディングボックス内に含まれる1つ又はそれ以上のテキストを含む第1のバウンディングボックス内の車両ナンバープレートを用いてトレーニングされた、請求項11に記載の電子装置。
【請求項14】
前記ニューラルネットワークは、
前記第2の領域に含まれる1つ又はそれ以上のテキストのラベリング(labeling)を用いてトレーニングされた、請求項13に記載の電子装置。
【請求項15】
電子装置(electronic device)の方法であって、
カメラを介して取得された画像のFOV(field of view)に基づいて、前記画像の分割に使用されるウィンドウの幅(width)を識別する動作、
基準面(reference surface)に対応する視覚オブジェクトを含む第1の領域に基づいて、前記ウィンドウの高さ(height)を識別する動作、
前記幅及び前記高さに基づいて、前記画像内で互いに部分的に重なった複数の部分領域を分割する動作、
前記複数の部分領域のうち第1の部分領域が入力されたニューラルネットワークから、外部オブジェクトが前記第1の部分領域に含まれるか否かを識別する動作、及び
前記外部オブジェクトが、前記第1の部分領域に含まれるか否かに基づいて識別された間隔に基づいて、前記画像内で前記第1の部分領域から離隔された第2の部分領域を取得する動作を含む、方法。
【請求項16】
前記方法は、
前記カメラによる第1の画像である前記画像の歪み(distortion)を識別する動作、及び
前記第1の画像とは異なり、前記歪みを補償した第2の画像に基づいて、前記外部オブジェクトを識別する動作を含む、請求項15に記載の方法。
【請求項17】
前記方法は、
前記複数の部分領域を、前記幅の第1の比率だけ部分的に重なる動作を含む、請求項15に記載の方法。
【請求項18】
前記方法は、
センサに基づいて、第1の基準速度以下である、前記電子装置の第1の速度を識別する動作、及び
前記第1の速度の識別に基づいて、前記画像の縁部を含む第1の部分領域で、前記複数の部分領域を、前記第1の比率よりも小さい第2の比率だけ重なる動作を含む、請求項17に記載の方法。
【請求項19】
前記方法は、
センサに基づいて、第2の基準速度以上である、前記電子装置の第2の速度を識別する動作、及び
前記第2の速度の識別に基づいて、前記画像の縁部を含む第1の部分領域とは異なる第2の部分領域で、前記複数の部分領域を、前記第1の比率よりも小さい第2の比率だけ重なる動作を含む、請求項17に記載の方法。
【請求項20】
前記方法は、
前記外部オブジェクトを識別したことに基づいて、前記外部オブジェクトが識別されたことを知らせるためのオーディオ信号を出力する動作を含む、請求項15に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示(present disclosure)は、画像の部分領域をニューラルネットワークに入力したことに基づいて、外部オブジェクトを識別するための電子装置及びその方法に関する。
【背景技術】
【0002】
画像オブジェクト認識技術が発達するにつれて、様々な形態のサービスが出現している。これらのサービスは、自律走行(Automatic Driving)、拡張現実(Augmented Reality)、仮想現実(Virtual Reality)、メタバス(Metaverse)などに使用でき、スマートフォンなどの異なるユーザーが有する電子装置を介して提供することができる。前記サービスは、人工知能(artificial intelligence)など、ヒトの行動及び/又は思考を模倣するハードウェア及び/又はソフトウェアメカニズムに関連し得る。人工知能に関連する技術は、生物の神経網をシミュレートしたニューラルネットワークを利用する技術を含むことができる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
ニューラルネットワークを用いて、外部オブジェクトを識別するための方法が求められる場合がある。
【課題を解決するための手段】
【0004】
一実施形態(an embodiment)によれば、電子装置(electronic device)は、カメラ及びプロセッサを含むことができる。このプロセッサは、前記カメラを介して取得した画像のFOV(field of view)に基づいて、前記画像を分割するために使用されるウィンドウの幅(width)を識別することができる。前記プロセッサは、基準面(reference surface)に対応する視覚オブジェクトを含む第1の領域に基づいて、前記ウィンドウの高さ(height)を識別することができる。前記プロセッサは、前記幅及び前記高さに基づいて、前記ウィンドウを用いて、前記第1の領域を複数の部分領域に分割することができる。前記プロセッサは、前記複数の部分領域のうち第1の部分領域が入力されたニューラルネットワークから、外部オブジェクトが前記第1の部分領域に含まれるか否かを識別することができる。前記プロセッサは、前記外部オブジェクトが、前記第1の部分領域に含まれるか否かに基づいて識別された間隔に基づいて、前記画像内で、前記第1の部分領域から離隔された第2の部分領域を取得することができる。
【0005】
一実施形態によれば、電子装置(electronic device)は、メモリ及びプロセッサを含むことができる。前記プロセッサは、前記メモリに記憶された画像において、車線(line)によって区切られた複数の車路(lanes)のうち第1の車路で第1の車両を識別したことに基づいて、前記第1の車両に関連する第1のデータセットを取得することができる。前記プロセッサは、前記複数の車路のうち、前記第1の車路とは異なる第2の車路で、第2の車両を識別したことに基づいて、前記第2の車両に関連する第2のデータセットを取得することができる。前記プロセッサは、前記複数の車路のうち、前記第1の車路及び前記第2の車路とは異なる第3の車路で、第3の車両を識別したことに基づいて、前記第3の車両に関連する第3のデータセットを取得することができる。前記プロセッサは、前記第1のデータセット、前記第2のデータセット、及び前記第3のデータセットのそれぞれに基づくトゥルースデータ(truth data)を用いて、ニューラルネットワークをトレーニングすることができる。
【0006】
一実施形態によれば、電子装置(electronic device)の方法は、カメラを介して取得した画像のFOV(field of view)に基づいて、前記画像を分割するために使用されるウィンドウの幅(width)を識別する動作を含むことができる。この方法は、基準面(reference surface)に対応する視覚オブジェクトを含む第1の領域に基づいて、前記ウィンドウの高さ(height)を識別する動作を含むことができる。この方法は、前記幅と前記高さに基づいて、前記画像内で互いに部分的に重なっている複数の部分領域を分割する動作を含むことができる。この方法は、前記複数の部分領域のうち第1の部分領域が入力されたニューラルネットワークから、外部オブジェクトが前記第1の部分領域に含まれるか否かを識別する動作を含むことができる。この方法は、前記外部オブジェクトが、前記第1の部分領域に含まれるか否かに基づいて識別された間隔に基づいて、前記画像内で、前記第1の部分領域から離隔された第2の部分領域を取得する動作を含むことができる。
【発明の効果】
【0007】
本開示によれば、ニューラルネットワークを用いることで、外部オブジェクトを識別することができる。
【図面の簡単な説明】
【0008】
【
図1】一実施形態による電子装置のブロック図(block diagram)の一例を示す。
【
図2】一実施形態による、ニューラルネットワークを学習するための電子装置の一例を示す。
【
図3a】一実施形態による、ニューラルネットワークの学習のために電子装置によって識別される情報を説明するための例示的な図である。
【
図3b】一実施形態による、ニューラルネットワークの学習のために電子装置によって識別される情報を説明するための例示的な図である。
【
図4a】基準面を識別するために行われる一実施形態による電子装置の動作の一例を説明するための図である。
【
図4b】基準面を識別するために行われる一実施形態による電子装置の動作の一例を説明するための図である。
【
図4c】基準面を識別するために行われる一実施形態による電子装置の動作の一例を説明するための図である。
【
図5a】一実施形態による、外部オブジェクトを識別するための電子装置の動作を説明するための図である。
【
図5b】一実施形態による、外部オブジェクトを識別するための電子装置の動作を説明するための図である。
【
図5c】一実施形態による、外部オブジェクトを識別するための電子装置の動作を説明するための図である。
【
図5d】一実施形態による、外部オブジェクトを識別するための電子装置の一例を示す。
【
図6a】外部オブジェクトを識別するために行われる電子装置の動作の一例を示す。
【
図6b】外部オブジェクトを識別するために行われる電子装置の動作の一例を示す。
【
図6c】外部オブジェクトを識別するために行われる電子装置の動作の一例を示す。
【
図7】一実施形態による、車両の自律走行システムを示すブロック図の一例を示す。
【
図8】一実施形態による、自律走行移動体を示すブロック図の一例を示す。
【
図9】一実施形態による、自律走行移動体を示すブロック図の一例を示す。
【
図10】様々な実施形態によるユーザ装置に関連するゲートウェイの例を示す。
【
図11】一実施形態による電子装置の動作に関するフローチャートの一例を示す。
【
図12】一実施形態による電子装置の動作に関するフローチャートの一例を示す。
【
図13】学習データのセットに基づいて、ニューラルネットワークをトレーニングする電子装置の動作を説明するための図である。
【
図14】一実施形態による電子装置のブロック図である。
【発明を実施するための形態】
【0009】
本明細書に開示された様々な実施形態による電子装置は、様々な形態の装置であり得る。電子装置は、例えば、携帯用通信装置(例えば、スマートフォン)、コンピュータ装置、携帯用マルチメディア装置、携帯用医療機器、カメラ、電子装置、又は家電機器を含むことができる。本明細書の実施形態による電子装置は、前述の機器に限定されない。
【0010】
本明細書の様々な実施形態及びそれに使用される用語は、本明細書に記載された技術的特徴を、特定の実施形態に限定することを意図するものではなく、その実施形態の様々な変更、等価物、又は代替物を含むことを理解されたい。図面の説明に関して、類似又は関連する構成要素には、類似の参照番号を使用する場合がある。項目に対応する名詞の単数形は、関連する文脈上、明らかに別段の指示がない限り、項目1つ又はそれ以上を含むことができる。本明細書において、「A又はB」、「A及びBのうち少なくとも1つ」、「A又はBのうち少なくとも1つ」、「A、B又はC」「A、B及びCのうち少なくとも1つ」、及び「A、B又はCのうち少なくとも1つ」などの句の各々は、その句の対応する句に一緒に列挙された項目のいずれか、又はそれらの可能なすべての組み合わせを含むことができる。「第1」、「第2」、又は「一番目」又は「二番目」などの用語は、単にその構成要素を他の対応する構成要素と区別するために使用される場合があり、その構成要素を他の側面(例えば、重要性又は順序)に限定しない。ある(例えば、第1の)構成要素が、他の(例えば、第2の)構成要素に、「機能的に」又は「通信的に」という用語と組み合わせて、又はそのような用語なしで、「結合(coupled)」又は「接続(connected)」と言及されている場合、それは、ある構成要素が他の構成要素に直接(例えば、有線で)、無線で、又は第3の構成要素を介して接続され得ることを意味する。
【0011】
本明細書で使用される「モジュール」という用語は、ハードウェア、ソフトウェア、又はファームウェアで実装されるユニットを含むことができ、例えば、論理、論理ブロック、部品、又は回路などの用語と交換可能に使用することができる。モジュールは、一体に構成された部品又は1つ又はそれ以上の機能を実行する、部品の最小単位又はその一部であり得る。例えば、一実施形態によれば、モジュールは、ASIC(application-specific integrated circuit)の形態で実装され得る。
【0012】
本明細書の様々な実施形態は、機器(machine、例えば、電子装置101)によって読み取り可能な記憶媒体(storage medium)(内臓メモリ又は外部メモリ)に格納された1つ又はそれ以上の命令を含むソフトウェア(例えば、プログラム)として実施することができる。例えば、機器(例えば、電子装置101)のプロセッサ(例えば、プロセッサ120)は、記憶媒体から格納された1つ又はそれ以上の命令のうち少なくとも1つの命令を呼び出し、それを実行することができる。これにより、機器が、呼び出された少なくとも1つの命令に従って、少なくとも1つの機能を実行するように動作することを可能にする。1つ又はそれ以上の命令は、コンパイラによって生成されたコード又はインタプリタによって実行され得るコードを含むことができる。機器で読み取り可能な記憶媒体は、非一時的(non-transitory)記憶媒体の形態で提供されてもよい。ここで、「非一時的」とは、記憶媒体が実在(tangible)する装置であり、信号(signal、例えば、電磁波)を含まないことを意味するだけであり、この用語は、データが記憶媒体に半永久的に保存される場合と、一時的に保存される場合とを区別しない。
【0013】
一実施形態によれば、本明細書に開示された様々な実施形態による方法は、コンピュータプログラム製品(computer program product)に含まれて提供されてもよい。コンピュータプログラム製品は、商品として販売者と購入者との間で取引され得る。コンピュータプログラム製品は、機器で読み取り可能な記憶媒体(例えば、compact disc read only memory(CD-ROM))の形態で配布されるか、又はアプリケーションストア(例えば、プレイストアTM)を介して又は2つのユーザ装置(例:スマートフォン)間で直接、オンラインで配布(例えば、ダウンロード又はアップロード)されてもよい。オンライン配布の場合、コンピュータプログラム製品の少なくとも一部は、製造元のサーバ、アプリケーションストアのサーバ、又は中継サーバのメモリなどの機器で読み取り可能な記憶媒体に少なくとも一時的に保存されるか、一時的に生成され得る。
【0014】
様々な実施形態によれば、前記の構成要素の各構成要素(例えば、モジュール又はプログラム)は、単数又は複数の個体を含んでもよい。複数の個体のうち一部は、異なる構成要素に分離配置してもよい。様々な実施形態によれば、前述の該当構成要素のうち1つ又はそれ以上の構成要素又は動作を省略しても、又は1つ又はそれ以上の他の構成要素又は動作を追加してもよい。代替的又は追加的に、複数の構成要素(例えば、モジュール又はプログラム)は、1つの構成要素に統合することができる。この場合、統合された構成要素は、複数の構成要素の各構成要素の1つ又はそれ以上の機能を、統合前に複数の構成要素のうち該当構成要素によって実行されるのと同じ又は同様に実行することができる。様々な実施形態によれば、モジュール、プログラム、又は他の構成要素によって実行される動作は、順次、並列的、繰り返し、又は経験的に実行されてもよく、又は動作のうち1つ又はそれ以上が異なる順序で実行されても、省略されても、あるいは、1つ以上の他の動作が追加されてもよい。
【0015】
以下、添付の図面を参照して本明細書の様々な実施形態について説明する。
【0016】
図1は、一実施形態による電子装置のブロック図(block diagram)の一例を示す。
【0017】
図1を参照すると、一実施形態による電子装置101は、プロセッサ120、メモリ130、カメラ140、センサ150、ディスプレイ160、又はスピーカ170のうち少なくとも1つを含むことができる。プロセッサ120、メモリ130、カメラ140、センサ150、ディスプレイ160、及びスピーカ170は、通信バス(a communication bus)110などの電子部品(electronical component)によって互いに電気的及び/又は動作的に接続することができる(electronically and/or operably coupled with each other)。以下では、ハードウェアが動作的に結合されたことは、ハードウェアのうち第1のハードウェアによって第2のハードウェアが制御されるように、ハードウェア間の直接接続、又は間接的な接続が有線又は無線で確立されたことを意味することがある。異なるブロックに示されているが、実施形態は、これに限定されない。
図1のハードウェアの一部は、SoC(system on a chip)などの単一の集積回路(single integrated circuit)に含まれてもよい。電子装置101に含まれるハードウェアの種類及び/又は数は、
図1に示すものに限定されない。例えば、電子装置101は、
図1に示すハードウェアの一部のみを含むことができる。
【0018】
一実施形態によれば、電子装置101は、1つ以上の命令に基づいて、データを処理するためのハードウェアを含むことができる。データを処理するためのハードウェアは、プロセッサ120を含んでもよい。例えば、データを処理するためのハードウェアは、ALU(arithmetic and logic unit)、FPU(floating point unit)、FPGA(field programmable gate array)、CPU(central processing unit)、及び/又はAP(application processor)を含むことができる。プロセッサ120は、シングルコアプロセッサの構造を有してもよく、又はデュアルコア(dual core)、クアッドコア(quad core)、ヘキサコア(hexa core)、又はオクタコア(octa core)などのマルチコアプロセッサの構造を有してもよい。
【0019】
一実施形態によれば、電子装置101のメモリ130は、電子装置101のプロセッサ120に入力及び/又は出力されるデータ及び/又は命令を格納するためのハードウェア構成要素を含んでもよい。例えば、メモリ130は、RAM(random-access memory)などの揮発性メモリ(volatile memory)、及び/又はROM(read-only memory)などの不揮発性メモリ(non-volatile memory)を含むことができる。例えば、揮発性メモリは、DRAM(dynamic RAM)、SRAM(static RAM)、キャッシュRAM(Cache RAM)、PSRAM(pseudo SRAM)のうち少なくとも1つを含むことができる。例えば、不揮発性メモリは、PROM(programmable ROM)、EPROM(erasable PROM)、EEPROM(electrically erasable PROM)、フラッシュメモリ、ハードディスク、コンパクトディスク、SSD(solid state drive)、eMMC(embedded multi-media card)のうち少なくとも1つを含み得る。例えば、電子装置101のメモリ130は、ニューラルネットワークを含むことができる。電子装置101は、メモリ130に格納されたニューラルネットワークに基づいて、外部オブジェクトを識別することができる。例えば、電子装置101は、メモリ130に記憶された画像に基づいて、ニューラルネットワークをトレーニングすることができる。電子装置101は、前記画像で識別された外部オブジェクトに基づいて、ニューラルネットワークをトレーニングすることができる。例えば、電子装置101は、外部オブジェクトに対応し、道路(road)上を走行中の車両に対応する画像を用いて、ニューラルネットワークをトレーニングすることができる。例えば、前記道路は、車線(line)を含むことができる。例えば、この道路は、車線によって区切られた車路(lanes)を含むことができる。電子装置101は、各車路で識別された車両を用いて、ニューラルネットワークを学習することができる。ニューラルネットワークをトレーニングする動作は、
図2で後述する。
【0020】
一実施形態によれば、電子装置101のカメラ140は、レンズアセンブリ(assembly)、又は画像センサを含むことができる。このレンズアセンブリは、画像撮影の対象である被写体から放出された光を収集することができる。レンズアセンブリは、1つ又はそれ以上のレンズを含むことができる。一実施形態によれば、カメラ140は、複数のレンズアセンブリを含むことができる。例えば、カメラ140は、複数のレンズアセンブリのいくつかが同じレンズ特性(例えば、画角、焦点距離、オートフォーカス、fナンバー(f number)、又は光学ズーム)を有するか、又は少なくとも1つのレンズアセンブリは、他のレンズアセンブリのレンズ特性とは異なる1つ以上のレンズ特性を有することができる。レンズアセンブリは、広角レンズ又は望遠レンズを含んでもよい。一実施形態によれば、フラッシュは、1つ又はそれ以上の発光ダイオード(例えば、RGB(red-green-blue)LED、white LED、infrared LED、又は ultraviolet LED)、又はゼノンランプ(xenon lamp)を含むことができる。例えば、画像センサは、被写体から放射又は反射され、レンズアセンブリを介して伝達された光を、電気信号に変換することによって、被写体に対応する画像を取得することができる。一実施形態によれば、画像センサは、例えば、RGBセンサ、BW(black and white)センサ、IRセンサ、又はUVセンサなどの属性が異なる画像センサのうち選択された1つの画像センサ、同じ属性を有する複数の画像センサ、又は異なる属性を有する複数の画像センサを含むことができる。画像センサに含まれる各画像センサは、例えば、CCD(charged coupled device)センサ又はCMOS(complementary metal oxide semiconductor)センサを用いて実現することができる。
【0021】
一実施形態によれば、電子装置101は、カメラ140を用いて画像を取得することができる。電子装置101は、取得された画像内で外部オブジェクトを識別することができる。電子装置101は、画像内で視覚オブジェクトを識別することができる。例えば、電子装置101は、前記視覚オブジェクトのうち、基準面に対応する視覚オブジェクトを識別したことに基づいて、外部オブジェクトを識別するための領域を識別することができる。例えば、前記基準面は、一面に垂直な方向に、重力が作用する面を含むことができる。電子装置101は、前記領域を複数の部分領域に分割することができる。例えば、電子装置101は、カメラ140及び/又は画像のFOV(field of view)に基づいて、前記領域を分割するためのウィンドウの幅(width)を識別することができる。例えば、電子装置101は、基準面に対応する視覚オブジェクトを含む領域に基づいて、ウィンドウの高さ(height)を識別することができる。電子装置101は、前記幅と前記高さに基づいて、前記領域を複数の部分領域に分割することができる。ウィンドウの幅及び/又は高さを識別するための動作は、
図4a~
図4cで後述する。
【0022】
一実施形態によれば、電子装置101は、カメラ140に基づいて取得された画像の歪み(distortion)を識別することができる。電子装置101は、カメラ140の内部パラメータ(intrinsic parameter)を識別することができる。電子装置101は、カメラ140の内部パラメータを識別したことに基づいて、歪みを識別することができる。例えば、電子装置101は、内部パラメータに基づいて、放射歪み(radial distortion)及び/又は接線歪み(tangential distortion)を識別することができる。電子装置101は、第1の画像である画像内で歪みを識別したことに基づいて、前記歪みを補償した第2の画像を取得することができる。電子装置101は、第2の画像に基づいて、外部オブジェクトを識別することができる。例えば、電子装置101は、ニューラルネットワークに第2の画像を入力したことに基づいて、前記ニューラルネットワークを用いて、外部オブジェクトを識別することができる。
【0023】
一実施形態によれば、電子装置101のセンサ150は、IMU(inertial measurement unit)センサなどの電子装置101の慣性を測定するためのセンサを含むことができる。例えば、IMUセンサは、ジャイロセンサ、加速度センサ、及び/又は6-DOF(degree of freedom)センサを含むことができるが、これに限定されない。電子装置101は、センサ150を用いて、電子装置101と基準面(reference surface)との間の角度を識別することができる。例えば、前記基準面は、一面に垂直な方向に、重力が作用する面を含むことができる。一実施形態によれば、電子装置101は、前記基準面を用いて、外部オブジェクトを識別するための領域を分割することができる。基準面を用いて、外部オブジェクトを識別するための領域を分割する動作については、
図4a~
図4cで後述する
【0024】
一実施形態によれば、電子装置101のセンサ150は、電子装置101の速度を測定するためのセンサを含んでもよい。例えば、電子装置101の速度を測定するためのセンサは、GPS(global positioning system)センサを含むことができる。例えば、電子装置101は、GPSセンサに基づいて取得した電子装置101の位置の変更に基づいて、電子装置101の速度(velocity)及び/又は速力(speed)を識別することができる。電子装置101は、電子装置101の速度及び/又は速力に基づいて、複数の部分領域間の間隔を変更することができる。この部分領域間の間隔を調整する動作については、
図5c~
図5dで後述する。
【0025】
一実施形態によれば、電子装置101のディスプレイ160は、ユーザに視覚化された情報(visualized information)を出力することができる。例えば、ディスプレイ160は、GPU(graphic processing unit)などの回路を含むプロセッサ120によって制御され、ユーザに視覚化された情報を出力することができる。ディスプレイ160は、FPD(flat panel display)、及び/又は電子ペーパー(electronic paper)を含むことができる。FPDは、LCD(liquid crystal display)、PDP(plasma display panel)、及び/又は1つ以上のLED(light emitting diode)を含むことができる。LEDは、OLED(organic LED)を含むことができる。一実施形態によれば、電子装置101は、ディスプレイ160を介して、カメラ140によって取得された画像を表示することができる。電子装置101は、前記画像内で識別された指定のタイプの外部オブジェクトを識別したことに基づいて、指定されたタイプの外部オブジェクトを強調表示することができる。例えば、電子装置101は、指定されたタイプの外部オブジェクト上に重畳で、外部オブジェクトに対応する視覚オブジェクトを表示することができる。例えば、電子装置101は、視覚オブジェクトのアルファ値(alpha value)を変更したことに基づいて、視覚オブジェクトの透明度を変更してもよい。電子装置101は、透明度が変更された視覚オブジェクトを、外部オブジェクト上に重ねて表示することにより、外部オブジェクトを強調表示することができる。
【0026】
一実施形態によれば、電子装置101のスピーカ170は、スピーカ170内に振動板で振動を提供する少なくとも1つのボイスコイル(voice coil)、及び磁場を形成することができるマグネット(magnet)を含むことができる。少なくとも1つのボイスコイルに電流が流れると、ボイスコイルによって形成された磁場は、マグネットによって形成された磁場と相互作用(interaction)し、ボイスコイルを振動させることができる。ボイスコイルに接続された振動板は、ボイスコイルの振動に基づいて振動することができる。スピーカ170は、前記振動板の振動に基づいて、オーディオ信号を出力することができる。一実施形態によれば、電子装置101は、カメラ140を介して取得した画像内で、外部オブジェクトを識別することができる。例えば、電子装置101は、前記外部オブジェクトのタイプを識別することができる。電子装置101は、指定されたタイプの外部オブジェクトを識別したことに基づいて、スピーカ170を介して、オーディオ信号を出力することができる。例えば、指定されたタイプの外部オブジェクトは、障害物などの車両の移動を妨げるタイプに対応する外部オブジェクトを含むことができる。
【0027】
一実施形態によれば、電子装置101は、前記複数の部分領域のうち、第1の部分領域に外部オブジェクトが含まれるか否かを識別することができる。電子装置101は、第1の部分領域に外部オブジェクトが含まれるか否かに基づいて、第2の部分領域を識別することができる。例えば、電子装置101は、第1の部分領域に含まれる外部オブジェクトを識別したことに基づいて、第1の部分領域と第1の間隔で離隔された第2の部分領域を識別することができる。例えば、電子装置101は、第1の部分領域に外部オブジェクトが含まれていないことに基づいて、第1の部分領域と第2の間隔で離隔された第2の部分領域を識別することができる。例えば、第1の間隔は、第2の間隔よりも広くてもよい。電子装置101は、第1の間隔及び/又は第2の間隔で離隔された部分領域を、ニューラルネットワークに入力することができる。電子装置101は、前記部分領域が入力されたニューラルネットワークに基づいて、外部オブジェクトを識別することができる。
【0028】
前述したように、一実施形態によれば、電子装置101は、カメラを介して取得した画像のFOVに基づいて、画像を分割することができる。例えば、電子装置101は、FOVに基づいて、画像を分割するために使用されるウィンドウの幅を識別することができる。一実施形態によれば、電子装置101は、基準面(例えば、地面)に対応する視覚オブジェクトを含む第1の領域を識別することができる。電子装置101は、第1の領域を識別したことに基づいて、前記ウィンドウの高さを識別することができる。例えば、電子装置101は、前記ウィンドウの幅と高さに基づいて、前記ウィンドウを用いて、第1の領域を複数の部分領域に分割することができる。例えば、電子装置101は、第1の間隔に基づいて、第1の領域を前記複数の部分領域に分割することができる。電子装置101は、前記複数の部分領域のうち第1の部分領域を、ニューラルネットワークに入力することができる。電子装置101は、第1の部分領域が入力されたニューラルネットワークから、外部オブジェクトが第1の部分領域に含まれるか否かを識別することができる。電子装置101は、第1の部分領域に含まれるか否かに基づいて、部分領域間の間隔を識別することができる。電子装置101は、前記複数の部分領域間の間隔に基づいて、第1の部分領域から離隔された第2の部分領域を取得することができる。例えば、前記間隔は、第1の間隔及び/又は第1の間隔よりも広い第2の間隔を含むことができる。電子装置101は、第1の間隔及び/又は第1の間隔よりも広い第2の間隔に基づく複数の部分領域に基づいて、外部オブジェクトを識別することによって、プロセッサ120の使用量を減らすことができる。
【0029】
図2は、一実施形態による、ニューラルネットワークを学習するための電子装置の一例を示す。
図2の電子装置101は、
図1の電子装置101を含むことができる。
図2の動作は、
図1のプロセッサ120によって実行することができる。
【0030】
一実施形態によれば、電子装置101は、メモリ(例えば、
図1のメモリ130)内に格納された画像を識別することができる。例えば、前記画像は、電子装置101に含まれるカメラ(例えば、
図1のカメラ140)を介して取得することができる。例えば、前記画像は、外部電子装置(例えば、サーバ)から送信されてもよい。例えば、電子装置101は、前記画像内で、複数の車路(lanes)250を識別することができる。例えば、複数の車路250は、車線230によって区切られてもよい。電子装置101は、複数の車路250のそれぞれで識別された車両に基づくトゥルースデータ(truth data)を用いて、ニューラルネットワークをトレーニングすることができる。
【0031】
一実施形態によれば、電子装置101は、複数の車路250のうち1つに含まれる車両を識別することができる。例えば、電子装置101は、複数の車路250のうち左側で識別された第1の車路251で、第1の車両221を識別することができる。電子装置101は、第1の車両221を識別したことに基づいて、第1のバウンディングボックス241を識別することができる。電子装置101は、第1の車路251で第1の車両221を識別したことに基づいて、第1の車両221の形態を識別することができる。例えば、電子装置101は、第1のバウンディングボックス241内で、第1の車両221の右側面(right side)及び後面(rear side)を識別することができる。電子装置101は、第1の車両221の右側面及び後面を識別したことに基づいて、第1の車両221の形態を識別することができる。電子装置101は、第1のバウンディングボックス241を識別したことに基づいて、第1の車両221に関連する第1のデータセットを取得することができる。電子装置101は、第1のデータセットに基づくトゥルースデータを用いて、ニューラルネットワークをトレーニングすることができる。このトゥルースデータは、第1の車両221及び第1のバウンディングボックス241内で識別された車両ナンバープレート(license plate)に基づいて取得できる。
【0032】
一実施形態によれば、電子装置101は、第1のバウンディングボックス241内に、1つ以上のテキストを含む車両ナンバープレートを識別することができる。電子装置101は、前記1つ以上のテキストを含む車両ナンバープレートを用いて、ニューラルネットワークをトレーニングすることができる。例えば、電子装置101は、前記1つ以上のテキストに対して、ラベリング(labeling)を実行することができる。例えば、このラベリングは、データラベリングと呼ばれることがある。例えば、電子装置101は、前記1つ以上のテキストに対するラベリングを用いて、ニューラルネットワークをトレーニングすることができる。
【0033】
一実施形態によれば、電子装置101は、複数の車線250のうち中央車路である第2の車路252において、第2の車両222を識別することができる。例えば、第2の車路252は、第1の車線231によって第1の車路251と区別されてもよい。電子装置101は、第2の車両222を識別したことに基づいて、第2のバウンディングボックス242を識別することができる。電子装置101は、第2の車路252で第2の車両222を識別したことに基づいて、第2の車両222の形態を識別することができる。例えば、電子装置101は、第2のバウンディングボックス242内で、第2の車両222の後面を識別することができる。電子装置101は、第2の車両222の後面を識別したことに基づいて、第2の車両222の形態を識別することができる。電子装置101は、第2のバウンディングボックス242を識別したことに基づいて、第2の車両222に関連する第2のデータセットを取得することができる。電子装置101は、第2のデータセットに基づくトゥルースデータを用いて、ニューラルネットワークをトレーニングすることができる。前記トゥルースデータは、第2の車両222及び第2のバウンディングボックス242内で識別された車両ナンバープレートに基づいて取得することができる。
【0034】
一実施形態によれば、電子装置101は、第2のバウンディングボックス242内に、1つ以上のテキストを含む車両ナンバープレートを識別することができる。電子装置101は、前記1つ以上のテキストを含む車両ナンバープレートを用いて、ニューラルネットワークをトレーニングしてもよい。例えば、電子装置101は、前記1つ以上のテキストに対して、ラベリングを実行することができる。電子装置101は、第2のバウンディングボックス242内で識別された1つ以上のテキストに対するラベリングを用いて、ニューラルネットワークをトレーニングすることができる。
【0035】
一実施形態によれば、電子装置101は、複数の車路250のうち右側の車路である第3の車路253において、第3の車両223を識別することができる。例えば、第3の車路253は、第2の車線232によって第2の車路252と区別されてもよい。電子装置101は、第3の車両223を識別したことに基づいて、第3のバウンディングボックス243を識別することができる。電子装置101は、第3の車路253で第3の車両2230を識別したことに基づいて、第3の車両223の形態を識別することができる。例えば、電子装置101は、第3のバウンディングボックス243内で、第3の車両223の左側面(left side)及び後面を識別することができる。電子装置101は、第3の車両223の左側面及び後面を識別したことに基づいて、第3の車両223の形態を識別することができる。電子装置101は、第3のバウンディングボックス243を識別したことに基づいて、第3の車両223に関連する第3のデータセットを取得することができる。電子装置101は、第3のデータセットに基づくトゥルースデータを用いて、ニューラルネットワークをトレーニングすることができる。前記トゥルースデータは、第3の車両223及び第3のバウンディングボックス243内で識別された車両ナンバープレートに基づいて取得することができる。
【0036】
一実施形態によれば、電子装置101は、第1のデータセット、第2のデータセット、及び/又は第3のデータセットを取得するときに、各データセットを取得するためのバウンディングボックス240のそれぞれのサイズを同じように作成することができる。例えば、バウンディングボックス240の各々の幅w1、w2、w3は、640ピクセル(pixels)であり得る。例えば、バウンディングボックス240のそれぞれの高さh1、h2、h3は、640ピクセル(pixels)であり得る。
【0037】
例えば、バウンディングボックス240の各々の縁部(peripheries)は、車両の中心から同じ距離だけ離隔されてもよい。電子装置101は、画像内で第1の車両221の中心点に対応する点C1を中心とする第1のバウンディングボックス241を識別することができる。同様に、第2のバウンディングボックス242の中心となる点C2は、画像内で第2の車両222の中心点に対応することができる。同様に、第3のバウンディングボックス243の中心となる点C3は、画像内で第3の車両223の中心点に対応することができる。
【0038】
例えば、バウンディングボックス240の各々の縁部は、車両の中心から、320ピクセル(pixels)離れた距離に形成されてもよい。電子装置101は、バウンディングボックス240の各々内で、車両ナンバープレートのそれぞれを識別することができる。電子装置101は、車両ナンバープレート内で識別された1つ以上のテキストのそれぞれにラベリングを実行することができる。前記ラベリングに関連する動作は、
図3aで後述する。
【0039】
前述のように、一実施形態によれば、電子装置101は、複数の車路250のそれぞれで識別された車両の形態に基づくトゥルースデータを用いて、ニューラルネットワークをトレーニングすることができる。電子装置101は、複数の車路250のそれぞれで識別された車両の形態に基づくトゥルースデータを用いて、ニューラルネットワークをトレーニングすることによって、車両の位置を正確に測定するためのニューラルネットワークをトレーニングすることができる。以下の
図3aでは、バウンディングボックス内で識別された車両ナンバープレートに含まれる1つ又はそれ以上のテキストのそれぞれにラベリングする動作が後述される。
【0040】
図3aは、一実施形態による、ニューラルネットワークの学習のために電子装置によって識別される情報を説明するための例示的な図である。
【0041】
図3aを参照して説明される電子装置101の動作は、
図1、
図2の電子装置101、及び/又は
図1のプロセッサ120によって実行することができる。
【0042】
図3aを参照すると、一実施形態によれば、電子装置101は、画像300内で識別された車両に対応するバウンディングボックス(例えば、
図2の第1のバウンディングボックス241、第2のバウンディングボックス242、及び/又は第3のバウンディングボックス243)を識別することができる。電子装置101は、バウンディングボックス内で車両ナンバープレートに対応する領域310を識別することができる。電子装置101は、領域310内で1つ以上のテキスト320を識別することができる。電子装置101は、1つ以上のテキスト320を識別したことに基づいて、前記1つ以上のテキストのそれぞれにラベリングを実行することができる。このラベリングは、データラベリングと呼ばれることがある。
【0043】
例えば、電子装置101は、第1のテキスト321に対応する第1の部分領域331を識別することができる。電子装置101は、第1の部分領域331に、第1のタグをラベリングすることができる。例えば、電子装置101は、第2のテキスト322に対応する第2の部分領域332を識別することができる。例えば、電子装置101は、第2の部分領域332に、第2にタグをラベリングすることができる。電子装置101は、第3のテキスト323に対応する第3の部分領域333を識別することができる。電子装置101は、第3の部分領域333に、第3のタグをラベリングすることができる。例えば、電子装置101は、第4のテキスト324に対応する第4の部分領域334を識別することができる。電子装置101は、第4の部分領域334に、第4のタグをラベリングすることができる。例えば、電子装置101は、第5のテキスト325に対応する第5の部分領域335を識別することができる。電子装置101は、第5の部分領域335に、第5のタグをラベリングすることができる。電子装置101は、第6のテキスト326に対応する第6の部分領域336を識別することができる。電子装置101は、第6の部分領域336に、第6のタグをラベリングすることができる。例えば、電子装置101は、第7のテキスト327に対応する第7の部分領域337を識別することができる。電子装置101は、第7の部分領域337に第7のタグをラベリングすることができる。例えば、電子装置101は、第8のテキスト328に対応する第8の部分領域338を識別することができる。電子装置101は、第8の部分領域338に、第8のタグをラベリングすることができる。1つ以上のテキスト320は、ヒトによって読み取り可能な(readable)文字を含むことができる。
【0044】
一実施形態によれば、電子装置101は、1つ又はそれ以上のテキスト320に対応する部分領域330のそれぞれにラベリングした部分領域330を用いて、ニューラルネットワークをトレーニングすることができる。電子装置101は、部分領域330を含むトゥルースデータを用いて、ニューラルネットワークをトレーニングすることができる。
【0045】
前述のように、一実施形態によれば、電子装置101は、画像300に含まれる部分領域330を用いて、ニューラルネットワークをトレーニングすることができる。電子装置101は、部分領域330を用いて、ニューラルネットワークをトレーニングすることによって、前記ニューラルネットワークを実行するときに、画像内で指定された数以下のピクセルを有する外部オブジェクトを識別することができる。
【0046】
図3bは、一実施形態による、ニューラルネットワークを学習するために電子装置によって識別される情報を説明するための例示的な図である。
【0047】
図3bを参照して説明される電子装置101の動作は、
図1、
図2、及び/又は
図3aの電子装置101、及び/又は
図1のプロセッサ120によって実行され得る。
図3bを参照すると、車両ナンバープレート用のバウンディングボックスのセット360に含まれる1つのバウンディングボックス340に関連する電子装置101の動作が説明される。実施形態は、これに限定されず、電子装置101は、セット360に含まれる他のバウンディングボックスに対して、同様の動作を実行してもよい。
【0048】
図3bを参照すると、一実施形態によれば、電子装置101は、画像内で、車両ナンバープレートを含むバウンディングボックス340を識別することができる。電子装置101は、バウンディングボックス340の頂点を識別することができる。電子装置101は、バウンディングボックス340の左上の第1の頂点341を識別することができる。電子装置101は、第1の頂点341の画像内の第1の座標値を識別することができる。電子装置101は、バウンディングボックス340の右下の第2の頂点342を識別することができる。電子装置101は、第2の頂点342の画像内の第2の座標値を識別することができる。電子装置101は、第1の座標値及び第2の座標値に基づいて、前記車両ナンバープレートを含む視覚オブジェクトの車種を識別することができる。例えば、電子装置101は、前記車両ナンバープレートの画像内の位置に基づいて、前記視覚オブジェクトに対応する車種を識別することができる。前述した動作は、
図3aに示す車両ナンバープレートを識別する間に、電子装置101のプロセッサによって実行することができる。
【0049】
一実施形態によれば、電子装置101は、複数のカメラに基づいて取得した画像を用いて、車両ナンバープレートを識別することができる。例えば、電子装置101は、異なる角度で取得した画像に基づいて、車両ナンバープレートを識別することができる。例えば、電子装置101は、ホモグラフィ(homography)などの投影技法に基づいて、前記車両ナンバープレートを識別することができる。電子装置101は、投影技法によって前記車両ナンバープレートを識別したことに基づいて、前記車両ナンバープレートを含むバウンディングボックス340を識別することができる。
【0050】
一実施形態によれば、電子装置101は、画像内で車両ナンバープレートを含むバウンディングボックス340を識別することができる。電子装置101は、バウンディングボックス340内で、1つ以上のテキスト351、353及び/又は視覚オブジェクト352を識別することができる。例えば、1つ以上のテキスト351、353は、地域を区別するための第1のセットの第1のテキスト351を含むことができる。例えば、第1のセットのテキスト351は、車両ナンバープレートが取り付けられた車両の登録地域を示すためのテキストを含んでもよい。例えば、1つ以上のテキスト351、353は、車両を区別するための識別番号を含む第2のセットのテキスト353を含むことができる。例えば、第2のセットのテキスト353は、アルファベット、及び/又は数字を含むことができるが、これに限定されない。
【0051】
一実施形態によれば、電子装置101は、第1のセットの第1のテキスト351の文字を識別することができる。電子装置101は、第1のテキスト351の文字を識別したことに基づいて、第1のテキスト351が車両の登録地域を表すことを識別することができる。一実施形態によれば、電子装置101は、第2のセットの第2のテキスト353の文字を識別することができる。電子装置101は、第2のテキスト353の文字を識別したことに基づいて、第2のテキスト353が車両を区別するための識別番号を示すことを識別することができる。
【0052】
一実施形態によれば、電子装置101は、バウンディングボックス340内で視覚オブジェクト352を識別することができる。例えば、視覚オブジェクト352は、車両の登録地域を表すための視覚オブジェクトを含んでもよい。例えば、視覚オブジェクト352は、動物、及び/又は植物などの自然物を含み得る。例えば、視覚オブジェクト352は、盾、及び/又はヘルメットなどの人工物を含み得るが、これに限定されない。例えば、視覚オブジェクト352は、人工物と自然物の組み合わせを含むことができる。
【0053】
一実施形態によれば、電子装置101は、バウンディングボックス340に含まれる1つ以上のテキスト351、353及び/又は視覚オブジェクト352のそれぞれにラベリングを実行することができる。例えば、電子装置101は、1つ以上のテキスト351、353のそれぞれにタグをラベリングすることができる。前記タグをラベリングする動作は、
図3aの動作と実質的に同じであってもよい。例えば、電子装置101は、ニューラルネットワークモデルを用いて、ラベリングを実行することができる。前記ニューラルネットワークモデルは、
図3aのニューラルネットワークと呼ぶことができる。
【0054】
一実施形態によれば、電子装置101は、第1のニューラルネットワークモデルを用いて、車両ナンバープレートを含む画像を生成することができる。例えば、電子装置101は、画像内のバウンディングボックス340を、第1のニューラルネットワークモデルに入力したことに基づいて、バウンディングボックス340に含まれる車両ナンバープレートと同様の画像を生成することができる。例えば、第1のニューラルネットワークモデルは、CGAN(conditional generative adversarial nets)などの画像を生成するためのニューラルネットワークモデルを含むことができる。
【0055】
一実施形態によれば、電子装置101は、第1のニューラルネットワークモデルを介して出力された画像を、第1のニューラルネットワークモデルとは異なる第2のニューラルネットワークモデルに入力することができる。電子装置101は、第2のニューラルネットワークモデルに前記画像を入力することによって、第2のニューラルネットワークモデルを学習させることができる。例えば、第2のニューラルネットワークモデルは、画像内で車両ナンバープレートを識別するためのニューラルネットワークモデルを含んでもよい。
【0056】
前述のように、一実施形態によれば、電子装置101は、第1のニューラルネットワークモデルに基づいて取得した画像を用いて、第2のニューラルネットワークモデルを学習させることができる。電子装置101は、第1のニューラルネットワークモデルに基づいて、前記画像を取得することによって、第2のニューラルネットワークモデルを学習させるための画像を取得することができる。
【0057】
図4a~
図4cは、基準面を識別するために行われる一実施形態による電子装置101の動作の一例を説明するための図である。
図4a~
図4cを参照して説明する電子装置101の動作は、
図1、
図2、
図3a、及び/又は
図3bの電子装置101によって実行することができる。
図4a~
図4cの動作は、
図1のプロセッサ120によって実行することができる。
【0058】
図4aを参照すると、一実施形態によれば、電子装置101は、カメラ(例えば、
図1のカメラ140)、及びセンサ(例えば、
図1のセンサ150)を含むことができる。例えば、電子装置101は、前記センサを用いて、前記カメラが向いている方向を識別することができる。例えば、
図4aでは、電子装置101のカメラは、+z軸方向を向いていてもよい。例えば、+z軸方向は、第1の方向であり得る。例えば、+x軸方向は、第2の方向であってもよい。例えば、+y軸方向は、第3の方向であってもよい。例えば、第1の方向、第2の方向、及び第3の方向は、互いに垂直であってもよい。電子装置101は、カメラの方向に基づいて、画像410内の基準面を識別することができる。例えば、電子装置101は、カメラの焦点距離(focal length)を識別することができる。電子装置101は、カメラの焦点距離に基づいて、前記基準面を識別するための基準点Pを識別することができる。例えば、前記基準点(reference point)は、消失点(vanishing point)と呼ぶことがある。電子装置101は、基準点Pに基づいて、画像410を分割するためのウィンドウの高さ(height)を識別することができる。例えば、電子装置101は、基準点P及び画像410の高さに基づいて、前記ウィンドウの高さを識別することができる。
図4aにおいて、基準点Pの座標は、(x1、y1、z1)であり得る。例えば、電子装置101は、下記の数1に基づいて、前記ウィンドウの高さを識別することができる。
【数1】
数1において、hは、ウィンドウの高さを含むことができる。前記数1において、y1は、基準点のy座標に対応し得る。y座標は、画像410の左下端の頂点を原点として形成された座標系におけるy座標を含むことができる。数1において、y2は、画像410の高さを含むことができる。数1において、0.05は、指定された値であり、変更可能(changeable)であり得る。
【0059】
一実施形態によれば、電子装置101は、焦点距離及び基準点Pに基づいて、画像410の高さを得るすることができる。例えば、電子装置101は、以下の数2に基づいて、画像410の高さを識別することができる。
【数2】
数2において、y3は、画像410の高さの半分を含むことができる。数2において、fは、カメラの焦点距離を含むことができる。数2において、y1は、基準点Pのy座標に対応し得る。数2において、z1は、基準点Pのz座標に対応し得る。電子装置101は、y3に基づいて、画像410の高さを取得することができる。例えば、電子装置101は、y3*2の結果値に基づいて、画像410の高さを取得することができる。例えば、y3*2の結果値は、y2と呼ぶことがある。電子装置101は、基準点Pに基づいて識別された基準面に基づいて、画像410を分割するための領域を識別することができる。電子装置101は、前記ウィンドウを用いて、前記領域を複数の部分領域に分割することができる。例えば、前記複数の部分領域のうち第1の部分領域は、第2の部分領域と指定された間隔で離隔されてもよい。前記指定された間隔は、電子装置101の速度によって変更されてもよい。
【0060】
図4bを参照すると、一実施形態によれば、電子装置101は、画像410内で、複数の視覚オブジェクト420を識別することができる。電子装置101は、画像410内で、複数の視覚オブジェクト420が指定された数以上識別された領域を識別することができる。例えば、電子装置101は、指定された数以上の複数の視覚オブジェクト420を識別したことに基づいて、画像410を分割するための領域430を識別することができる。電子装置101は、前記ウィンドウを用いて、領域430を複数の部分領域に分割することができる。
【0061】
例えば、電子装置101は、領域430にU-netなどの画像分割(image segmentation)のためのニューラルネットワークに基づいて、複数の視覚オブジェクト420を識別することができる。電子装置101は、複数の視覚オブジェクト420を識別したことに基づいて、画像410内で、空に対応する領域を識別することができる。電子装置101は、前記空に対応する領域を識別したことに基づいて、基準面(例えば、地面)に対応する視覚オブジェクト440を識別することができる。電子装置101は、前記基準面に対応する視覚オブジェクト440を含む領域に基づいて、ウィンドウの高さを識別することができる。電子装置101は、画像410のFOVに基づいて、ウィンドウの幅を識別することができる。例えば、ウィンドウの幅は、FOVに基づいて取得することができる。例えば、前記ウィンドウの幅は、後述する数3~数5に基づいて得ることができる。
【数3】
数3を参照すると、例えば、FOVは、画像410、及び/又はカメラのFOVを含み得る。例えば、y2は、画像410の高さを含むことができる。例えば、y2は、画像410の第2の方向のピクセルの数を含むことができる。例えば、fは、カメラの焦点距離を含むことができる。そして、tan
-1は、逆タンジェント(Inverse Tangent)を表す。
【数4】
数4を参照すると、「NCI(number of total crop images)」は、画像410のx軸方向に形成される複数の部分領域の数を含むことができる。例えば、「FOV」は、数3に基づいて取得された値であり得る。例えば、数4において、「2」、及び/又は「1」は、指定された値として変更可能であり得る。数4の20は、FOVにおいて、1つの車線の水平方向内のFOVであり得る。数4の20は、経験的(heuristic)に決定された値であり、実施形態に従って他の値に置き換えることができる。
【数5】
数5を参照すると、例えば、「RCS(ROI(region of interest)crop size)」は、ウィンドウの幅を含むことができる。例えば、「input width」は、画像410の幅を含むことができる。例えば、「input width」は、画像410の第3の方向に形成されたピクセルの数を含むことができる。例えば、NCIは、数4に基づいて得られた結果値であり得る。例えば、「1」及び/又は「2」は、指定された値として変更可能であり得る。
【0062】
一実施形態によれば、電子装置101は、ウィンドウの幅及び高さに基づいて、前記ウィンドウを用いて、基準面に対応する視覚オブジェクト440を含む領域を、複数の部分領域に分割することができる。電子装置101は、前記複数の部分領域を順次にニューラルネットワークに入力することができる。電子装置101は、順次に入力された複数の部分領域に基づいて、前記部分領域内の外部オブジェクトを識別することができる。
【0063】
図4cを参照すると、一実施形態によれば、電子装置101は、画像410に対して画像処理(image processing)を実行することができる。この画像処理は、ピラミッド画像処理と呼ばれることがある。例えば、ピラミッド画像処理は、ガウシアン(Gaussian)ピラミッド、ラプラシアン(Laplacian)ピラミッド、及び/又はステアラブル(steerable)ピラミッドを含むことができる。例えば、電子装置101は、モルフォロジー(morphology)演算に基づいて、画像410に対して画像処理を実行することができる。前記モルフォロジー演算は、侵食(erosion)及び/又は膨張(dilation)を含んでもよい。
【0064】
電子装置101は、画像410に対する画像処理に基づいて、画像415を取得することができる。例えば、電子装置101は、画像410内で識別された複数の視覚オブジェクトの色を変更することができる。例えば、電子装置101は、画像410内で複数の視覚オブジェクトに対応する第1の部分を、第1の色(例えば、黒色)に変更することができる。電子装置101は、前記複数の視覚オブジェクトに対応する第1の部分を、第1の色に変更した画像415を取得することができる。電子装置101は、第1の部分と異なる第2の部分を、第2の色(例えば、白色)に変更してもよい。電子装置101は、第1の部分及び第2の部分の色を変更した画像415を取得することができる。電子装置101は、画像415内で、画像415の第3の方向に配列されたピクセルで、第1の色の比率が指定された比率以上で識別されたことに基づいて、基準面を識別することができる。例えば、電子装置101は、前記基準面を識別したことに基づいて、画像415を分割するための領域を識別することができる。電子装置101は、前記ウィンドウを用いて、前記領域を分割することができる。
【0065】
前述したように、一実施形態によれば、電子装置101は、ウィンドウに基づいて、画像を分割することができる。電子装置101は、複数の部分領域に分割された画像を、ニューラルネットワークに順次に入力することができる。電子装置101は、前記複数の部分領域をニューラルネットワークに入力したことに基づいて、前記複数の部分領域内で、外部オブジェクトを識別することができる。電子装置101は、前記分割された画像に基づいて、外部オブジェクトを識別することによって、プロセッサの使用量を減らすことができる。電子装置101は、前記分割された画像に基づいて、外部オブジェクトを識別することによって、前記部分領域内で外部オブジェクトを識別することができる。
【0066】
図5a~
図5cは、一実施形態による、外部オブジェクトを識別するための電子装置101の動作を説明するための図である。
図5a~
図5dの電子装置101は、
図1、
図2、
図3a、
図3b、
図4a、
図4b、及び/又は
図4cの電子装置101を含むことができる。
図5a~
図5dの動作は、
図1のプロセッサ120によって実行することができる。
図5a~
図5dの動作は、ニューラルネットワークを用いて、外部オブジェクトを識別する動作を含んでもよい。
【0067】
図5a~
図5bを参照すると、一実施形態によれば、電子装置101は、カメラ(例えば、
図1のカメラ140)を介して、画像500を取得することができる。一実施形態によれば、電子装置101は、画像500を分割するためのウィンドウの幅及び高さを識別することができる。前記ウィンドウの幅と高さは、
図4a~
図4cの動作に基づいて識別することができる。電子装置101は、前記幅及び高さに基づいて、前記ウィンドウを用いて、第1の領域510内の複数の部分領域520を取得することができる。例えば、部分領域520は、第1の間隔531だけ離隔して配置されてもよい。例えば、第1の間隔531は、部分領域520のそれぞれの第1の縁部(例えば、左側の端部)間の間隔を含むことができる。例えば、第1の間隔531は、部分領域520のそれぞれの第2の縁部(例えば、右側の縁部)間の間隔を含むことができる。例えば、第1の間隔531は、部分領域520のそれぞれの中心点間の間隔を含むことができる。例えば、第1の間隔531は、ウィンドウの幅の半分に対応する間隔であり得る。例えば、第1の部分領域521、第2の部分領域522、第3の部分領域523、第4の部分領域524、第5の部分領域525、第6の部分領域526、及び/又は第7の部分領域527は、同じサイズであってもよい。部分領域520の数は、限定されない。一実施形態によれば、電子装置101は、第1の部分領域521から第7の部分領域527まで、順次に(sequentially)ニューラルネットワークに入力することができる。電子装置101は、ニューラルネットワークに入力された部分領域520に基づいて、部分領域520のうち少なくとも1つに含まれる外部オブジェクト501を識別することができる。
【0068】
一実施形態によれば、電子装置101は、複数の領域520を、ニューラルネットワークに入力することができる。電子装置101は、複数の領域520をニューラルネットワークに入力したことに基づいて、複数の領域520内で、外部オブジェクト501を識別することができる。
【0069】
図5bを参照すると、一実施形態によれば、電子装置101は、ニューラルネットワークに部分領域520を入力することができる。電子装置101は、前記ニューラルネットワークから、外部オブジェクト501が第1の部分領域521に含まれるか否かを識別することができる。電子装置101は、第1の部分領域521に外部オブジェクト501が含まれるか否かに基づいて、第1の間隔531及び/又は第2の間隔532を識別することができる。例えば、電子装置101は、第1の部分領域521内で外部オブジェクト501を識別することができる。電子装置101は、第1の部分領域521で外部オブジェクト501を識別したことに基づいて、第2の間隔532を識別することができる。電子装置101は、第2の間隔532に基づいて、第4の部分領域524を取得することができる。例えば、電子装置101は、第1の部分領域521で外部オブジェクト501を識別したことに基づいて、外部オブジェクト501が識別された部分領域(例えば、第1の部分領域521、第2の部分領域522、及び第3の部分領域523)に対応する第2の間隔532を識別することができる。電子装置101は、第2の間隔532を識別したことに基づいて、第1の部分領域521から第2の間隔532だけ離隔された第4の部分領域524を取得することができる。電子装置101は、第4の部分領域524の取得に基づいて、第4の部分領域524を、ニューラルネットワークに入力することができる。
【0070】
図5c~
図5dを参照すると、一実施形態によれば、電子装置101は、センサ(例えば、
図1のセンサ150)に基づいて、電子装置101の速度を識別することができる。電子装置101は、前記速度に基づいて、部分領域(例えば、
図5a及び/又は
図5bの部分領域520)間の間隔を変更することができる。例えば、電子装置101は、前記速度に基づいて、前記部分領域のうち一部間の間隔を変更することができる。一実施形態によれば、電子装置101は、電子装置101の速度に基づいて、複数の車路250に対応する領域で、部分領域540間の間隔を変更することができる。
【0071】
一実施形態によれば、電子装置101は、複数の部分領域520を重ねて形成することができる。電子装置101は、ウィンドウの幅に基づいて、複数の部分領域520を重ねてもよい。例えば、電子装置101は、前記ウィンドウの幅の第1の比率だけ重畳してもよい。例えば、第1の比率は、約50%を含み得る。例えば、第1の比率は、「1/2」で表すことができるが、これに限定されない。
【0072】
一実施形態によれば、電子装置101は、第1の基準速度以下である、電子装置101の第1の速度を識別することができる。例えば、第1の基準速度は、約40km/hを含み得る。電子装置101は、第1の基準速度以下である第1の速度を識別したことに基づいて、前記画像の縁部を含む第1のサブ領域において、前記複数の部分領域を、第1の比率より小さい第2の比率だけ重畳してもよい。例えば、第2の比率は、第1の比率の二乗と実質的に同じであってもよい。例えば、第1の比率が「(1/n)」として提供される場合、第2の比率は、「(1/n)m」として提供されてもよい。例えば、n=m=2の場合、第1の比率は、1/2であり、第2の比率は、1/4であり得る。前記の例では、電子装置101及び/又は電子装置101を含む車両の速度が、第1の基準速度である約40km/h以上であるか、以下であるかによって、サブ領域に重畳される部分領域の数は、異なる場合がある。例えば、電子装置101の速度が第1の基準速度以上である場合、部分領域は、第1のサブ領域に第1の比率(=1/2)に従って重なってもよい。例えば、電子装置101の速度が第1の基準速度以下である場合、部分領域は、第1のサブ領域に第2の比率(=1/4)に従って重なってもよい。
【0073】
一実施形態によれば、電子装置101は、第2の基準速度を超えた、電子装置101の第2の速度を識別することができる。例えば、第2の基準速度は、約60km/hを含み得る。電子装置101は、第2の基準速度を超えた第2の速度を識別したことに基づいて、前記画像の縁部を含む第2のサブ領域において、前記複数の部分領域を、第1の比率よりも小さい第2の比率だけ重畳してもよい。例えば、第2の比率は、第1の比率の二乗と実質的に同じであってもよい。例えば、第1の割合が「(1/n)」として提供される場合、第2の割合は、「(1/n)m」として提供されてもよい。
【0074】
図5cを参照すると、一実施形態によれば、電子装置101は、センサに基づいて、電子装置101の速度を識別することができる。電子装置101は、速度に基づいて、複数の車路250のうち指定された車路に対応する複数の部分領域間の間隔を変更することができる。例えば、電子装置101は、第2の車路252を含むサブ領域内の部分領域541、542を用いて、外部オブジェクトを識別することができる。例えば、電子装置101は、第2の基準速度を超えた第2の速度を識別することができる。例えば、第2の基準速度は、約60km/hを含み得る。電子装置101は、前記複数の領域間の間隔を変更することができる。例えば、電子装置101は、第1の部分領域541と第2の部分領域542との間の間隔を、第1の間隔533に変更することができる。電子装置101は、変更された間隔の複数の部分領域内で、外部オブジェクトを識別することができる。
【0075】
図5dを参照すると、一実施形態によれば、電子装置101は、センサに基づいて、電子装置101の速度を識別することができる。電子装置101は、速度に基づいて、複数の車路250のうち指定された車路に対応する複数の部分領域間の間隔を変更することができる。例えば、前記指定された車路は、第1の車路251と第3の車路253とを含むことができる。電子装置101は、左側の縁部又は右側の縁部を含むサブ領域540内の部分領域543、544を用いて、外部オブジェクトを識別することができる。例えば、電子装置101は、第1の基準速度以下である第1の速度を識別することができる。例えば、第1の基準速度は、約60km/hを含み得る。電子装置101は、前記複数の領域間の間隔を変更してもよい。例えば、電子装置101は、第1の部分領域543と第2の部分領域544との間の間隔を、第2の間隔534に変更することができる。電子装置101は、前記変更された間隔の複数の部分領域内で、外部オブジェクトを識別することができる。
図5cの第1の間隔533及び
図5dの第2の間隔534は、実質的に同じであってもよい。
【0076】
前述のように、一実施形態によれば、電子装置101は、ニューラルネットワークに入力された画像の部分領域に基づいて、外部オブジェクトを識別することができる。電子装置101は、画像内の複数の部分領域を、ニューラルネットワークに順次入力することができる。電子装置101は、順次に入力された部分領域に基づいて、前記部分領域内の外部オブジェクトを識別することができる。電子装置101は、前記部分領域内で外部オブジェクトを識別した場合、前記部分領域を含まない異なる部分領域を、ニューラルネットワークに入力することができる。電子装置101は、前述した動作を行うことにより、プロセッサの使用量を低減することができる。
【0077】
図6a~
図6cは、外部オブジェクトを識別するために実行される電子装置の動作の一例を示す。
図6a~
図6cを参照して行われる電子装置101の動作は、
図1、
図2、
図3a、
図3b、
図4a、
図4b、
図4c、
図5a、
図5b、
図5c、及び/又は
図5dの電子装置101によって実行されてもよい。
図6a~
図6cの動作は、
図1のプロセッサ120によって実行することができる。
図6a~
図6cの動作は、ニューラルネットワークを用いて、外部オブジェクトを識別する動作を含んでもよい。
【0078】
図6a~
図6cを参照すると、一実施形態によれば、電子装置101は、カメラ(例えば、
図1のカメラ140)を介して、画像610を取得することができる。例えば、画像610は、ニューラルネットワークの入力に使用される画像とは異なるサイズの画像を含むことができる。電子装置101は、前記ニューラルネットワークの入力に用いられる画像のサイズに対応するサイズで、画像610のサイズを変更することができる。例えば、電子装置101は、第1のサイズを有する部分領域を、ニューラルネットワークに入力したことに基づいて、外部オブジェクトを識別することができる。電子装置101は、ニューラルネットワークに用いられる部分領域よりも大きいサイズを有する部分領域620を取得することができる。電子装置101は、部分領域620を取得したことに基づいて、部分領域620のサイズを変更することができる。例えば、電子装置101は、部分領域620の画像処理に基づいて、部分領域620のサイズを変更することができる。例えば、電子装置101は、部分領域620に対してダウンスケーリング(down-scaling)及び/又はアップスケーリング(up-scaling)を実行することができる。電子装置101は、ダウンスケーリング及び/又はアップスケーリングを行ったことに基づいて、部分領域620のサイズを変更することができる。
【0079】
一実施形態によれば、電子装置101は、ニューラルネットワークに用いられる部分領域よりも大きいサイズを有する部分領域620を取得したことに基づいて、第1の領域615の左上端の頂点を含む部分領域620を用いたニューラルネットワークを実行することができる。例えば、電子装置101は、第1の領域615の左上端から第1の領域615の右上端に、外部オブジェクトを識別する動作を実行することができる。
【0080】
図6bを参照すると、一実施形態によれば、電子装置101は、画像610内で、部分領域630を取得することができる。電子装置101は、部分領域630のサイズがニューラルネットワークに要求されるサイズより大きいことを識別することができる。電子装置101は、前記ニューラルネットワークに要求されるサイズよりも大きい部分領域630のサイズを識別したことに基づいて、部分領域630のサイズを縮小することができる。例えば、電子装置101は、部分領域630のダウンスケーリングに基づいて、部分領域630のサイズを縮小することができる。電子装置101は、部分領域630のサイズを縮小した部分領域635を取得することができる。電子装置101は、前記ダウンスケーリングによって処理された部分領域635を、ニューラルネットワークに入力することができる。電子装置101は、部分領域635をニューラルネットワークに入力したことに基づいて、部分領域635内で外部オブジェクトを識別することができる。
【0081】
図6cを参照すると、一実施形態によれば、電子装置101は、画像610内で、部分領域640を取得することができる。電子装置101は、部分領域640のサイズがニューラルネットワークに要求されるサイズより小さいことを識別することができる。電子装置101は、前記ニューラルネットワークに要求されるサイズよりも小さい部分領域640のサイズを識別したことに基づいて、部分領域640のサイズを拡大することができる。例えば、電子装置101は、部分領域640のアップスケーリングに基づいて、部分領域640のサイズを拡大することができる。電子装置101は、部分領域640のサイズを拡大した部分領域645を取得することができる。電子装置101は、前記アップスケーリングによって処理された部分領域645を、ニューラルネットワークに入力することができる。電子装置101は、部分領域645をニューラルネットワークに入力したことに基づいて、部分領域645内で外部オブジェクトを識別することができる。
【0082】
前述のように、一実施形態によれば、電子装置101は、ニューラルネットワークに入力された画像の部分領域に基づいて、外部オブジェクトを識別することができる。例えば、前記ニューラルネットワークは、画像の部分領域を用いて、外部オブジェクトを識別するためのニューラルネットワークを含んでもよい。電子装置101は、ニューラルネットワークに入力するための画像の部分領域のサイズを変更することができる。電子装置101は、変更されたサイズを有する部分領域を、ニューラルネットワークに入力することによって、様々なサイズの画像内で外部オブジェクトを識別することができる。電子装置101は、前記ニューラルネットワークを用いて、外部オブジェクトを識別することによって、比較的小さいサイズを有する外部オブジェクトを識別することができる。電子装置101は、前記部分領域に基づいて、外部オブジェクトを識別することによって、プロセッサの使用量を低減することができる。
【0083】
図7は、一実施形態による、車両の自律走行システムを示すブロック図の一例を示す。
【0084】
図7による車両の自律走行システム700は、センサ703、画像前処理器705、ディープラーニングネットワーク707、人工知能(AI)プロセッサ709、車両制御モジュール711、ネットワークインタフェース713、及び通信部715を含むディープラーニングネットワークであり得る。様々な実施形態では、各要素は、様々なインタフェースを介して接続することができる。例えば、センサ703によってセンシングされ、出力されたセンサデータは、画像前処理器705に供給(feed)されることができる。画像前処理器705によって処理されたセンサデータは、AIプロセッサ709で実行(run)されるディープラーニングネットワーク707に供給されてもよい。AIプロセッサ709によって実行されるディープラーニングネットワーク707の出力は、車両制御モジュール711に供給されてもよい。AIプロセッサ709で実行されるディープラーニングネットワーク707の中間結果は、AIプロセッサ709に供給することができる。様々な実施形態では、ネットワークインタフェース713は、車載電子装置と通信を実行することによって、車両の自律走行のための自律走行経路情報及び/又は自律走行制御命令を、内部ブロック構成に伝達する。一実施形態では、ネットワークインタフェース713は、センサ703を介して取得したセンサデータを、外部サーバに送信するために使用され得る。いくつかの実施形態では、自律走行制御システム700は、適切に(as appropriate)追加的な又はより少ない構成要素を含んでもよい。例えば、いくつかの実施形態では、画像前処理器705は、選択的(optional)構成要素であり得る。別の例では、後処理構成要素(図示せず)は、出力が車両制御モジュール711に提供される前に、ディープラーニングネットワーク707の出力で、後処理を実行するために、自律走行制御システム700内に含まれてもよい。
【0085】
いくつかの実施形態では、センサ703は、1つ以上のセンサを含むことができる。様々な実施形態では、センサ703は、車両の異なる位置に取り付けることができる。センサ703は、1つ以上の異なる方向に向けられてもよい。例えば、センサ703は、前面(forward-facing)、後面(rear-facing)、側面(side-facing)などの方向に向くように、車両の前(front)、側(sides)、後(rear)、及び/又はループ(roof)に取り付けることができる。いくつかの実施形態では、センサ703は、高ダイナミックレンジカメラ(high dynamic range cameras)などの画像センサであってもよい。いくつかの実施形態では、センサ703は、非視覚センサ(non-visual sensors)を含む。いくつかの実施形態では、センサ703は、画像センサに加えて、レーダ(RADAR)、LiDAR(Light Detection And Ranging)、及び/又は超音波センサを含む。いくつかの実施形態では、センサ703は、車両制御モジュール711を有する車両に取り付けられて(mounted)いない。例えば、センサ703は、センサデータをキャプチャするためのディープラーニングシステムの一部として含まれ、環境又は道路に取り付けられてもよいし、及び/又は周囲の車両に取り付けられてもよい。
【0086】
いくつかの実施形態では、画像前処理器(Image pre-processor)705は、センサ703のセンサデータを前処理するために使用することができる。例えば、画像前処理器705は、センサデータを前処理するために、1つ又はそれ以上の構成要素にセンサデータをスプリット(split)するために、及び/又は1つ又はそれ以上の構成要素を後処理するために使用することができる。いくつかの実施形態では、画像前処理器705は、グラフィック処理装置(graphics processing unit;GPU)、中央処理装置(central processing unit;CPU)、画像信号プロセッサ、又は専門化された画像プロセッサ(specialized image processor)であってもよい。様々な実施形態では、画像前処理器705は、高ダイナミックレンジデータ(high dynamic range data)を処理するためのトーンマッパー(tone-mapper)プロセッサであり得る。いくつかの実施形態では、画像前処理器705は、AIプロセッサ709の構成要素であってもよい。
【0087】
いくつかの実施形態では、ディープラーニングネットワーク(Deep learning network)707は、自律車両を制御するための制御命令を実施するためのディープラーニングネットワークであり得る。例えば、ディープラーニングネットワーク707は、センサデータを使用してトレーニングされた畳み込みニューラルネットワーク(CNN)などの人工ニューラルネットワークであり得、ディープラーニングネットワーク707の出力は、車両制御モジュール711に提供される。
【0088】
いくつかの実施形態では、人工知能(AI)プロセッサ709は、ディープラーニングネットワーク707を実行(run)するためのハードウェアプロセッサであり得る。いくつかの実施形態では、AIプロセッサ709は、センサデータに対して畳み込みニューラルネットワーク(CNN)を介して推論(inference)を実行するための専門化されたAIプロセッサである。いくつかの実施形態では、AIプロセッサ709は、センサデータのビット深さ(bit depth)のために最適化されてもよい。いくつかの実施形態では、AIプロセッサ709は、畳み込み、内積、ベクトル、及び/又は行列演算を含むニューラルネットワークの演算などのディープラーニング演算に最適化されてもよい。いくつかの実施形態では、AIプロセッサ709は、並列処理を効果的に実行できる複数のグラフィック処理装置(GPU)を介して実装されてもよい。
【0089】
様々な実施形態では、AIプロセッサ709は、AIプロセッサ709が実行されている間に、センサ703から受信されたセンサデータに対してディープラーニング分析を行い、車両を少なくとも部分的に自律的に動作させるために使用された機械学習の結果を決定するために引き起こされる命令を有するAIプロセッサを提供するように構成されたメモリに、入出力インタフェースを介してカップリングすることができる。いくつかの実施形態では、車両制御モジュール(Vehicle Control Module)711は、人工知能(AI)プロセッサ709から出力された車両制御のための命令を処理し、車両の様々なモジュールを制御するために、AIプロセッサ709の出力を、各車両のモジュールを制御するための命令に変換する(translate)ために使用することができる。いくつかの実施形態では、車両制御モジュール711は、自律走行用の車両を制御するために用いられる。いくつかの実施形態では、車両制御モジュール711は、車両のステアリング及び/又は速度を調整することができる。例えば、車両制御モジュール711は、減速、加速、ステアリング、車線変更、車線維持などの車両の走行を制御するために使用することができる。いくつかの実施形態では、車両制御モジュール711は、ブレーキライト(brake lights)、方向指示灯(turns signals)、ヘッドライト(headlights)などの車両照明(vehicle lighting)を制御するための制御信号を生成することができる。いくつかの実施形態では、車両制御モジュール711は、車両の音響システム(vehicle's sound system)、車両の音声警告(vehicle's audio warnings)、車両のマイクロホンシステム(vehicle's microphone system)、車両のホーンシステム(vehicle's horn system)などの車両オーディオ関連システムを制御するために使用することができる。
【0090】
いくつかの実施形態では、車両制御モジュール711は、意図された目的地へのアクセス又は潜在的な衝突(potential collision)などの走行イベントの乗客及び/又は運転者を知らせるための警告システムを含む通知システム(notification systems)を制御するために使用することができる。いくつかの実施形態では、車両制御モジュール711は、車両のセンサ703などのセンサを調整するために使用されてもよい。例えば、車両制御モジュール711は、センサ703の指向方向の修正(modifying the orientation)、センサ703の出力解像度及び/又はフォーマットタイプの変更、キャプチャレート(capture rate)の増加又は減少、ダイナミックレンジ(dynamic range)の調整、カメラの焦点の調整を行うことができる。さらに、車両制御モジュール711は、センサの動作を個別に又は集団的にオン/オフすることができる。
【0091】
いくつかの実施形態では、車両制御モジュール711は、フィルタの周波数の範囲を変更したり、特徴(features)及び/又はオブジェクトの検出のためのエッジ検出パラメータ(edge detection parameter)を調整したり、ビット深さ及びチャネルを調整(adjusting channels and bit depth)したりするなどの方法で、画像前処理器705のパラメータを変更するために使用することができる。様々な実施形態では、車両制御モジュール711は、車両の自律走行及び/又は車両の運転者支援(Driver assistance)機能を制御するために使用されてもよい。
【0092】
いくつかの実施形態では、ネットワークインタフェース713は、自律走行制御システム700のブロック構成と通信部715との間の内部インタフェースを担当することができる。具体的には、ネットワークインタフェース713は、音声データを含むデータを受信及び/又は発信するための通信インタフェースであり得る。様々な実施形態では、ネットワークインタフェース713は、通信部715を介して音声通話を接続するか、テキストメッセージを受信及び/又は発信するか、センサデータを送信するか、自律走行システムで車両のソフトウェアを更新するか、又は車両の自律走行システムのソフトウェアを更新するために、外部のサーバと接続することができる。
【0093】
様々な実施形態では、通信部715は、セルラー又はWiFi方式の様々な無線インタフェースを含むことができる。例えば、ネットワークインタフェース713は、通信部715を介して接続された外部サーバから、センサ703、画像前処理器705、ディープラーニングネットワーク707、AIプロセッサ709、車両制御モジュール711のための動作パラメータ及び/又は命令に対する更新を受信するために使用することができる。例えば、ディープラーニングネットワーク707の機械学習モデルは、通信部715を用いて更新することができる。さらに別の例によれば、通信部715は、画像処理パラメータなどの画像前処理器705の動作パラメータ及び/又はセンサ703のファームウェアを更新するために使用されてもよい。
【0094】
別の実施形態では、通信部715は、事故又は事故が発生する恐れのある(near-accident)イベントで、緊急サービス(emergency services)と緊急連絡(emergency contact)のための通信を活性化するために使用することができる。例えば、衝突イベントでは、通信部715は、支援のための緊急サービスを呼び出すために使用され、衝突の詳細及び車両の位置の緊急サービスを外部に通知するために使用され得る。様々な実施形態では、通信部715は、予想到着時刻及び/又は目的地の位置を更新又は取得することができる。
【0095】
一実施形態によれば、
図7に示す自律走行システム700は、車両の電子装置で構成されてもよい。一実施形態によれば、自律走行システム700のAIプロセッサ709は、車両の自律走行時に、ユーザから自律走行解除イベントが発生した場合、自律走行解除イベント関連情報を、ディープラーニングネットワークのトレーニングセットデータに入力するように制御することによって、車両の自律走行ソフトウェアを学習させるように制御することができる。
【0096】
図8及び
図9は、一実施形態による、自律走行移動体を示すブロック図の一例を示す。
図8を参照すると、本実施形態による自律走行移動体800は、制御装置900、センシングモジュール804a、804b、804c、804d、エンジン806、及びユーザインタフェース808を含むことができる。
【0097】
自律走行移動体800は、自律走行モード又はマニュアルモードを備えることができる。一例として、ユーザインタフェース808を介して受信されたユーザ入力に従って、マニュアルモードから自律走行モードに切り替えても、又は自律走行モードからマニュアルモードに切り替えてもよい。
【0098】
移動体800が自律走行モードで運行される場合、自律走行移動体800は、制御装置900の制御下で運行することができる。
【0099】
本実施形態では、制御装置900は、メモリ922とプロセッサ924とを含むコントローラ920、センサ910、通信装置930、オブジェクト検出装置940を含むことができる。
【0100】
ここで、オブジェクト検出装置940は、距離測定装置(例えば、電子装置101)の全部又は一部の機能を実行することができる。
【0101】
すなわち、本実施形態では、オブジェクト検出装置940は、移動体800の外側に位置するオブジェクを検出するための装置であり、オブジェクト検出装置940は、移動体800の外側に位置するオブジェクを検出し、検出結果に応じたオブジェクト情報を生成することができる。
【0102】
オブジェクト情報は、オブジェクトの存在の有無に関する情報、オブジェクトの位置情報、移動体とオブジェクトとの距離情報、及び移動体とオブジェクトとの相対速度情報を含むことができる。
【0103】
オブジェクトは、車線、他の車両、歩行者、交通信号、光、道路、構造物、過速度防止顎、地形物、動物など、移動体800の外側に配置する様々なオブジェクトを含むことができる。ここで、交通信号は、交通信号灯、交通標識、道路面に描かれた文様又はテキストを含む概念であり得る。そして、光は、他の車両に設けられたランプから生成された光であってもよく、街灯で生成された光であっても、太陽光であってもよい。
【0104】
そして、構造物は、道路の周りに位置し、地面に固定された物体であり得る。例えば、構造物は、街灯、街路樹、建物、電柱、信号灯、橋を含むことができる。地形物は、山、丘などを含み得る。
【0105】
そのようなオブジェクト検出装置940は、カメラモジュールを含むことができる。コントローラ920は、カメラモジュールで撮影された外部画像から、オブジェクト情報を抽出し、その情報をコントローラ920に処理させることができる。
【0106】
また、オブジェクト検出装置940は、外部環境を認識するための撮像装置をさらに含んでもよい。LIDARに加えて、RADAR、GPS装置、走行距離測定装置(Odometry)及び他のコンピュータビジョン装置、超音波センサ、赤外線センサなどを使用することができ、これらの装置は、必要に応じて、選択又は同時に動作し、より正確な感知を可能にする。
【0107】
一方、本発明の一実施形態に係る距離測定装置は、自律走行移動体800とオブジェクトとの間の距離を算出し、自律走行移動体800の制御装置900と連携して算出された距離に基づいて、移動体の動作を制御することができる。
【0108】
一例として、自律走行移動体800とオブジェクトとの間の距離に応じて追突する可能性のある場合、自律走行移動体800は、速度を低下又は停止するように、ブレーキを制御することができる。別の例として、オブジェクトが移動するオブジェクトである場合、自律走行移動体800は、オブジェクトと所定の距離以上を維持するように、自律走行移動体800の走行速度を制御することができる。
【0109】
本発明の一実施形態による距離測定装置は、自律走行移動体800の制御装置900内の一モジュールで構成することができる。すなわち、制御装置900のメモリ922とプロセッサ924とが、本発明による追突防止方法をソフトウェア的に実現させることができる。
【0110】
また、センサ910は、移動体の内部/外部環境をセンシングモジュール804a、804b、804c、804dと接続して、各種のセンシング情報を取得することができる。ここで、センサ910は、姿勢センサ(例えば、ヨーセンサ(yaw sensor)、ロールセンサ(roll sensor)、ピッチセンサ(pitch sensor)、衝突センサ、ホイールセンサ(wheel sensor)、速度センサ、傾斜センサ、重量感知センサ、ヘディングセンサ(heading sensor)、ジャイロセンサ(gyro sensor)、ポジションモジュール(position module)、移動体前進/後進センサ、バッテリセンサ、燃料センサ、タイヤセンサ、ハンドル回転によるステアリングセンサ、移動体内部温度センサ、移動体内部湿度センサ、超音波センサ、照度センサ、加速ペダルポジションセンサ、ブレーキペダルポジションセンサなどを含むことができる。
【0111】
これにより、センサ910は、移動体姿勢情報、移動体衝突情報、移動体方向情報、移動体位置情報(GPS情報)、移動体角度情報、移動体速度情報、移動体加速度情報、移動体傾き情報、移動体前進/後進情報、バッテリー情報、燃料情報、タイヤ情報、移動体ランプ情報、移動体内部温度情報、移動体内部湿度情報、ステアリングホイール回転角度、移動体外部照度、アクセルペダルにかかる圧力、ブレーキペダルにかかる圧力などに対するセンシング信号を取得することができる。
【0112】
また、センサ910は、その他、加速ペダルセンサ、圧力センサ、エンジン回転速度センサ(engine speed sensor)、空気流量センサ(AFS)、吸気温度センサ(ATS)、水温センサ(WTS)、スロットル位置センサ(TPS)、TDCセンサ、クランク角センサ(CAS)などをさらに含んでもよい。
【0113】
このように、センサ910は、センシングデータに基づいて、移動体状態情報を生成することができる。
【0114】
無線通信装置930は、自律走行移動体800間の無線通信を実施するように構成される。例えば、ユーザの携帯電話、又は他の無線通信装置930、他の移動体、中央装置(交通制御装置)、サーバなどと自律走行移動体800とが通信できるようにする。無線通信装置930は、接続無線プロトコルに従って、無線信号を送受信することができる。無線通信プロトコルは、Wi‐Fi、Bluetooth、LTE(Long-Term Evolution)、CDMA(Code Division Multiple Access)、WCDMA(Wideband Code Division Multiple Access)、GSM(Global Systems for Mobile Communications)であり、通信プロトコルは、これに限定されない。
【0115】
また、本実施形態における自律走行移動体800は、無線通信装置930を介して、移動体間の通信を実現することも可能である。すなわち、無線通信装置930は、車両対車両間(V2V)通信(vehicle-to-vehicle communication)で道路上の他の移動体や他の移動体と通信を行うことができる。自律走行移動体800は、走行警告、交通情報などの情報を、車両間通信で送受信することができ、他の移動体に情報を要求するか、要求を受信することも可能である。例えば、無線通信装置930は、V2V通信を短距離通信(DSRC、dedicated short-range communication)装置又はC-V2V(Cellular-V2V)装置で行うことができる。また、車両間の通信に加えて、車両と他の物体(例えば、歩行者が携帯する電子機器など)との間の通信(V2X、Vehicle to Everything communication)も無線通信装置930を介して実現することができる。
【0116】
また、無線通信装置930は、地上網(Terrestrial Network)ではなく、非地上網(Non-Terrestrial Network)を介して、道路上に位置するインフラ(交通信号灯、CCTV、RSU、eNode Bなど)又は他の自律走行(Autonomous Driving)/非自律走行(Non-Autonomous Driving)車両などを含む様々なモビリティ(Mobility)で生成された情報を、自律走行移動体800の自律走行を実行するための情報として取得することができる。
【0117】
例えば、無線通信装置930は、非地上網(Non-Terrestrial Network)を構成する地球低軌道(LEO、Low Earth Orbit)衛星システム、地球中軌道(MEO、Medium Earth Orbit)衛星システム、地球停止軌道(GEO、 Geostationary Orbit)衛星システム、高高度プラットフォーム(HAP、 High Altitude Platform)システムなどと、自律走行移動体800に設けられた(mounted)非地上網専用のアンテナを介して無線通信を行うことができる。
【0118】
例えば、無線通信装置930は、現在3GPP等で議論されている5G NR NTN(5th Generation New Radio Non-Terrestrial Network)標準規格に準拠した無線接続規格に従って、NTNを構成する様々なプラットフォームとの無線通信を行うことができるが、これに限定されない。
【0119】
本実施形態では、コントローラ920は、自律走行移動体800の位置、現在時刻、利用可能な電力などの様々な情報を考慮して、NTN通信を適切に行うことができるプラットフォームを選択し、選択されたプラットフォームとの無線通信を実行するように、無線通信装置930を制御することができる。
【0120】
本実施形態では、コントローラ920は、移動体800内の各ユニットの全体的な動作を制御するユニットであり、移動体の製造業者によって製造時に構成されてもよく、又は製造後に自律走行の機能を実行するためにさらに構成されてもよい。あるいは、製造時に構成されたコントローラ920のアップグレードを通じて、継続的な追加機能を実行するための構成を含むことができる。そのようなコントローラ920は、ECU(Electronic Control Unit)と呼ばれることがある。
【0121】
コントローラ920は、接続されたセンサ910、オブジェクト検出装置940、通信装置930などから各種データを収集し、収集されたデータに基づいて、制御信号を移動体内の他の構成を含むセンサ910、エンジン806、ユーザインタフェース808、通信装置930、オブジェクト検出装置940に伝達することができる。また、図示されていないが、移動体の走行に関連する加速装置、ブレーキングシステム、操舵装置、又はナビゲーション装置にも制御信号を伝達することができる。
【0122】
本実施形態では、コントローラ920は、エンジン806を制御することができ、例えば、自律走行移動体800が走行中の道路の制限速度を検出し、走行速度が制限速度を超えないように、エンジン806を制御するか、又は制限速度を超えない範囲内で、自律走行移動体800の走行速度を加速するように、エンジン806を制御することができる。
【0123】
また、コントローラ920は、自律走行移動体800の走行中に、自律走行移動体800が車線に近接するか、車線を逸脱している場合、そのような車線の近接及び離脱が正常の走行状況に応じたものか、その他の走行状況に応じたか否かを判断し、判断結果に応じて、移動体の走行を制御するように、エンジン806を制御することができる。具体的には、自律走行移動体800は、移動体が走行中の車路の両側に形成された車線を検出することができる。この場合、コントローラ920は、自律走行移動体800が車線に近接するか、車線を逸脱しているかを判断し、自律走行移動体800が車線に近接するか、車線を離脱していると判断すると、このような走行が正確な走行状況によるのか、又はその他の走行状況によるのかを判断することができる。ここで、正常の走行状況の例として、移動体の車路変更が必要な状況であり得る。そして、他の走行状況の例として、移動体の車路変更が必要でない状況であり得る。コントローラ920は、移動体の車路変更を必要としない状況で、自律走行移動体800が車線に近いか、車線を逸脱していると判断した場合、自律走行移動体800が車線を逸脱せずに、その移動体で正常に走行するように、自律走行移動体800の走行を制御することができる。
【0124】
移動体の前方に他の移動体又は妨害物が存在する場合には、走行移動体を減速するように、エンジン806又はブレーキングシステムを制御することができ、速度に加えて、軌跡、運行経路、操舵角を制御することができる。あるいは、コントローラ920は、移動体の走行車線、走行信号などの他の外部環境の認識情報に応じて、必要な制御信号を生成して、移動体の走行を制御してもよい。
【0125】
コントローラ920は、自らの制御信号の生成に加えて、周辺移動体又は中央サーバとの通信を行い、受信した情報を介して、周辺装置を制御するための命令を送信することによって、移動体の走行を制御することも可能である。
【0126】
また、コントローラ920は、カメラモジュール950の位置が変更されるか、画角が変更された場合、本実施形態による正確な移動体又は車線認識が困難な場合があるので、これを防止するために、カメラモジュール950のキャリブレーション(calibration)を実行するように制御する制御信号を生成することもできる。したがって、本実施形態では、コントローラ920は、カメラモジュール950でキャリブレーション制御信号を生成することにより、自律走行移動体800の移動に伴って発生する振動や衝撃等により、カメラモジュール950の装着位置が変更されても、カメラモジュール950の正常な装着位置、方向、画角などを継続的に維持することができる。コントローラ920は、予め記憶されたカメラモジュール920の初期装着位置、方向、画角情報と、自律走行移動体800の走行中に測定されるカメラモジュール920の初期装着位置、方向、画角情報等が、臨界値以上に変化した場合、カメラモジュール920のキャリブレーションを実行するように、制御信号を生成することができる。
【0127】
本実施形態では、コントローラ920は、メモリ922とプロセッサ924とを含むことができる。プロセッサ924は、コントローラ920の制御信号に従って、メモリ922に記憶されたソフトウェアを実行することができる。具体的には、コントローラ920は、本発明による車線検出方法を行うためのデータ及び命令をメモリ922に格納し、この命令は、本明細書に開示された1つ又はそれ以上の方法を実施するために、プロセッサ924によって実行され得る。
このとき、メモリ922は、不揮発性のプロセッサ924で実行可能な記録媒体に記憶されてもよい。メモリ922は、適切な内外部装置を介して、ソフトウェア及びデータを記憶することができる。メモリ922は、RAM(random access memory)、ROM(read only memory)、ハードディスク、及びドングルに接続されたメモリ922装置から構成することができる。
【0128】
メモリ922は、オペレーティングシステム(OS、Operating system)、ユーザアプリケーション、実行可能な命令を少なくとも記憶することができる。メモリ922は、アプリケーションデータ、配列データ構造も記憶することができる。
【0129】
プロセッサ924は、マイクロプロセッサ又は適切な電子プロセッサで、コントローラ、マイクロコントローラ、又はステートマシンであり得る。
【0130】
プロセッサ924は、コンピューティングデバイスの組み合わせで実装することができ、コンピューティングデバイスは、デジタル信号プロセッサ、マイクロプロセッサ、又はそれらの適切な組み合わせで構成することができる。
【0131】
一方、自律走行移動体800は、前述した制御装置900へのユーザの入力のためのユーザインタフェース808をさらに含んでもよい。ユーザインタフェース808は、適切な相互作用でユーザに情報を入力させることができる。例えば、タッチスクリーン、キーパッド、操作ボタンなどで実施することができる。ユーザインタフェース808は、入力又は命令をコントローラ920に送信し、コントローラ920は、入力又は命令に応答して、移動体の制御動作を実行することができる。
【0132】
また、ユーザインタフェース808は、自律走行移動体800の外部の装置で、無線通信装置930を介して、自律走行移動体800と通信を行うことができる。例えば、ユーザインタフェース808は、携帯電話、タブレット、又は他のコンピュータ装置と連動可能にすることができる。
【0133】
さらに、本実施形態では、自律走行移動体800は、エンジン806を含むものとして説明したが、他のタイプの推進システムを含むことも可能である。例えば、移動体は、電気エネルギーで運転することができ、水素エネルギー又はそれらを組み合わせたハイブリッドシステムを介して運転することができる。したがって、コントローラ920は、自律走行移動体800の推進システムによる推進メカニズムを含み、これによる制御信号を、各推進メカニズムの構成に提供することができる。
【0134】
以下、
図9を参照して、本実施形態による制御装置900の詳細構成についてより詳細に説明する。
【0135】
制御装置900は、プロセッサ924を含む。プロセッサ924は、汎用シングルチップ又はマルチチップマイクロプロセッサ、専用マイクロプロセッサ、マイクロコントローラ、プログラマブルゲートアレイなどであり得る。プロセッサは、中央処理装置(CPU)と呼ばれることがある。また、本実施形態では、プロセッサ924は、複数のプロセッサの組み合わせで使用することも可能である。
【0136】
制御装置900はまた、メモリ922を含む。メモリ922は、電子情報を記憶することができる任意の電子構成要素であり得る。メモリ922も、単一のメモリに加えて、メモリ922の組み合わせを含むことができる。
【0137】
本発明による距離測定装置の距離測定方法を実行するためのデータ及び命令922aは、メモリ922に記憶されてもよい。プロセッサ924が命令922aを実行するとき、命令922a及び命令の実行に必要なデータ922bの全部又は一部が、プロセッサ924上にロード924a、924bされてもよい。
【0138】
制御装置900は、信号の送信及び受信を可能にするための送信機930a、受信機930b、又はトランシーバ930cを含んでもよい。1つ以上のアンテナ932a、932bは、送信機930a、受信機930b、又は各トランシーバ930cに電気的に接続されてもよく、さらにアンテナを含んでもよい。
【0139】
制御装置900は、デジタル信号プロセッサ(DSP)970を含んでもよい。DSP970を介して、移動体がデジタル信号を迅速に処理できるようにすることができる。
【0140】
制御装置900は、通信インタフェース980を含んでもよい。通信インタフェース980は、他の装置を制御装置900に接続するための1つ以上のポート及び/又は通信モジュールを含んでもよい。通信インタフェース980は、ユーザと制御装置900とが相互作用することを可能にすることができる。
【0141】
制御装置900の様々な構成は、一緒に1つ以上のバス990によって接続されてもよく、バス990は、電力バス、制御信号バス、状態信号バス、データバスなどを含むこともできる。プロセッサ924の制御に応じて、構成は、バス990を介して相互情報を伝達し、所望の機能を実行させることができる。
【0142】
一方、様々な実施形態では、制御装置900は、セキュリティクラウドとの通信のために、ゲートウェイに関連付けられてもよい。例えば、
図10を参照すると、制御装置900は、車両1000の構成要素1001~1004のうち少なくとも1つから取得された情報を、セキュリティクラウド1006に提供するためのゲートウェイ1005に関連付けられてもよい。例えば、ゲートウェイ1005は、制御装置900内に含まれてもよい。別の例では、ゲートウェイ1005は、制御装置900と区別される車両1000内の別々の装置から構成されてもよい。ゲートウェイ1005は、異なるネットワークを有するソフトウェア管理クラウド1009、セキュリティクラウド1006、及び車載セキュリティソフトウェア1010によって保護された車両1000内のネットワークを通信可能に接続する。
【0143】
例えば、構成要素1001は、センサであり得る。例えば、このセンサは、車両1000の状態又は車両1000の周囲の状態のうち少なくとも1つに関する情報を取得するために用いられ得る。例えば、構成要素1001は、センサ910を含むことができる。
【0144】
例えば、構成要素1002は、ECU(electronic control unit)であってもよい。例えば、ECUは、エンジン制御、変速機の制御、エアバッグの制御、タイヤ空気圧管理に使用することができる。
【0145】
例えば、構成要素1003は、インストルメントクラスタ(instrument cluster)であり得る。例えば、インストルメントクラスタは、ダッシュボード(dashboard)のうち運転席の正面に配置されたパネルを意味することがある。例えば、インストルメントクラスタは、運転に必要な情報を運転者(又は搭乗者)に表示するように構成されてもよい。例えば、インストルメントクラスタは、エンジンの1分当たりの回転数(RPM、revolutions per minute、又は rotate per minute)を指示するための視覚要素、車両1000の速度を指示するための視覚要素、残留燃料量を指示するための視覚要素、歯車の状態を指示するための視覚要素、又は構成要素1001を介して取得された情報を指示するための視覚要素のうち少なくとも1つを表示するために使用することができる。
【0146】
例えば、構成要素1004は、テレマティクス(telematics)装置であり得る。例えば、このテレマティックス装置は、無線通信技術とGPS(global positioning system)技術とを組み合わせて、車両1000内で位置情報、安全運転などの様々な移動通信サービスを提供する装置を意味することができる。例えば、テレマティックス装置は、運転者、クラウド(例えば、セキュリティクラウド1006)、及び/又は周辺環境と車両1000とを接続するために使用することができる。例えば、前記テレマティックス装置は、5G NR規格の技術(例えば、5G NRのV2X技術、5G NRのNTN(Non-Terrestrial Network)技術)のために、高帯域幅及び低遅延をサポートするように構成されてもよい。例えば、前記テレマティックス装置は、車両1000の自律走行をサポートするように構成されてもよい。
【0147】
例えば、ゲートウェイ1005は、車両1000内のネットワークと車両外のネットワークであるソフトウェア管理クラウド1009とセキュリティクラウド1006とを接続するために使用することができる。例えば、ソフトウェア管理クラウド1009は、車両1000の走行及び管理に必要な少なくとも1つのソフトウェアを更新又は管理するために使用することができる。例えば、ソフトウェア管理クラウド1009は、車両内に設置された車内セキュリティソフトウェア(in-car security software)1010と連動することができる。例えば、車内セキュリティソフトウェア1010は、車両1000内のセキュリティ機能を提供するために使用され得る。例えば、車内セキュリティソフトウェア1010は、車内ネットワークの暗号化のために、外部の認証された(authorized)サーバから取得した暗号化キーを用いて、車内ネットワークを介して送受信されるデータを暗号化することができる。様々な実施形態において、車内セキュリティソフトウェア1010によって使用される暗号化キーは、車両の識別情報(車両ナンバープレート、車VIN(vehicle identification number))又はユーザごとに一意に付与された情報(ユーザ識別情報など)に対応して生成することができる。
【0148】
様々な実施形態では、ゲートウェイ1005は、前記暗号化キーに基づいて、車内セキュリティソフトウェア1010によって暗号化されたデータを、ソフトウェア管理クラウド1009及び/又はセキュリティクラウド1006に送信することができる。ソフトウェア管理クラウド1009及び/又はセキュリティクラウド1006は、車内セキュリティソフトウェア1010の暗号化キー(Encryption Key)によって暗号化された前記データを復号することができる復号キー(Decryption Key)を用いて復号することによって、前記データがどの車両又はどのユーザから受信したデータであるかを識別することができる。例えば、この復号キーは、前記暗号化キーに対応する固有のキーであるため、ソフトウェア管理クラウド1009及び/又はセキュリティクラウド1006は、前記復号キーを介して復号されたデータに基づいて、前記データの送信主体(例えば、車両又はユーザ)を識別することができる。
【0149】
例えば、ゲートウェイ1005は、車内セキュリティソフトウェア1010をサポートするように構成されており、制御装置2100と関連付けられてもよい。例えば、ゲートウェイ1005は、セキュリティクラウド1006に接続されたクライアント装置1007と制御装置900との間の接続をサポートするために、制御装置900に関連付けられてもよい。別の例では、ゲートウェイ1005は、セキュリティクラウド1006に接続されたサードパーティクラウド1008と制御装置900との間の接続をサポートするために、制御装置900に関連付けられてもよい。しかし、これに限定されない。
【0150】
様々な実施形態では、ゲートウェイ1005は、車両1000のオペレーティングソフトウェアを管理するためのソフトウェア管理クラウド1009と車両1000とを接続するために使用することができる。例えば、ソフトウェア管理クラウド1009は、車両1000のオペレーティングソフトウェアの更新が要求されるか否かをモニタリングし、車両1000のオペレーティングソフトウェアの更新が要求されたことをモニタリングすることに基づいて、ゲートウェイ1005を介して、車両1000のオペレーティングソフトウェアを更新するためのデータを提供することができる。別の例として、ソフトウェア管理クラウド1009は、車両1000のオペレーティングソフトウェアの更新を要求するユーザ要求を、車両1000からゲートウェイ1005を介して受信し、この受信に基づいて、車両1000のオペレーティングソフトウェアを更新するためのデータを提供することができる。しかし、これに限定されない。
【0151】
【0152】
図11を参照すると、動作1101において、一実施形態による電子装置は、カメラ(例えば、
図1のカメラ140)を介して画像を取得することができる。電子装置は、前記カメラを介して取得した画像のFOV及び/又は前記カメラのFOVに基づいて、前記画像の分割に使用されるウィンドウの幅を識別することができる。
【0153】
動作1103において、一実施形態による電子装置は、基準面に対応する視覚オブジェクト(例えば、地面)を含む第1の領域に基づいて、ウィンドウの高さを識別することができる。
【0154】
動作1105において、一実施形態による電子装置は、ウィンドウの幅及び高さに基づいて、前記ウィンドウを用いて、第1の領域を複数の部分領域に分割することができる。例えば、電子装置は、地面に対応する第1の領域を、ウィンドウのサイズと同じサイズを有する部分領域に分割することができる。
【0155】
動作1107において、一実施形態による電子装置は、複数の部分領域のうち第1の部分領域が入力されたニューラルネットワークから、外部オブジェクトが第1の部分領域に含まれるか否かを識別することができる。例えば、電子装置は、複数の部分領域を、順次にニューラルネットワークに入力することができる。電子装置は、前記複数の部分領域を順次にニューラルネットワークに入力したことに基づいて、前記複数の部分領域のうち1つに外部オブジェクトが含まれるか否かを識別することができる。例えば、電子装置は、前記複数の部分領域のうち第1の部分領域内に外部オブジェクトが含まれていることを識別することができる。電子装置は、第1の部分領域内に外部オブジェクトが含まれていることを識別することに基づいて、第1の部分領域から指定された間隔で離隔された第2の部分領域を取得することができる。
【0156】
動作1109において、一実施形態による電子装置は、外部オブジェクトが第1の部分領域に含まれるか否かに基づいて識別された間隔に基づいて、画像内で第1の部分領域から離隔された第2の部分領域を取得することができる。電子装置は、第1の部分領域内で外部オブジェクトを識別したことに基づいて、第1の部分領域を含まない第2の部分領域を、ニューラルネットワークに入力することができる。
【0157】
前述のように、一実施形態による電子装置は、ニューラルネットワークに入力された画像の部分領域に基づいて、外部オブジェクトを識別することができる。例えば、このニューラルネットワークは、画像の部分領域を用いて、外部オブジェクトを識別するためのニューラルネットワークを含んでもよい。電子装置は、前記ニューラルネットワークを用いて外部オブジェクトを識別することによって、比較的小さいサイズを有する外部オブジェクトを識別することができる。電子装置は、前記部分領域に基づいて外部オブジェクトを識別することによって、プロセッサの使用量を減らすことができる。
【0158】
【0159】
図12を参照すると、動作1201において、一実施形態による電子装置は、メモリ(例えば、
図1のメモリ130)に記憶された画像を識別することができる。電子装置は、前記メモリに記憶された画像において、車線(例えば、
図2の車線230)により区切られた複数の車路(例えば、
図2の複数の車路250)のうち第1の車路(例えば、
図2の第1の車路251)で車両を識別したことに基づいて、第1の車両に関連する第1のデータセットを取得することができる。例えば、第1の車両に関連する第1のデータセットは、第1の車両として識別された領域で識別された第1の車両の車両ナンバープレートに関連するデータを含むことができる。
【0160】
動作1203において、一実施形態による電子装置は、複数の車路のうち、第1の車路とは異なる第2の車路(例えば、
図2の第2の車路252)で、第2の車両を識別することができる。電子装置は、第2の車路で第2の車両を識別したことに基づいて、第2の車両に関連する第2のデータセットを取得することができる。例えば、第2の車両に関連する第2のデータセットは、第2の車両として識別された領域で識別された第2の車両の車両ナンバープレートに関連するデータを含むことができる。
【0161】
動作1205において、一実施形態による電子装置は、複数の車路のうち、第1の車路及び第2の車路とは異なる第3の車路(例えば、
図2の第3の車路253)で第3の車両を識別することができる。例えば、電子装置は、第3の車路で第3の車両を識別したことに基づいて、第3の車両に関連するデータセットを取得することができる。例えば、第3の車両に関連する第3のデータセットは、第3の車両として識別された領域で識別された第3の車両の車両ナンバープレートに関連するデータを含むことができる。
【0162】
動作1207において、一実施形態による電子装置は、第1のデータセット、第2のデータセット、及び第3のデータセットのそれぞれに基づくトゥルースデータを用いて、ニューラルネットワークをトレーニングすることができる。電子装置は、異なる車路で識別された車両に関連するデータセットに基づいて、ニューラルネットワークをトレーニングすることができる。例えば、前記データセットは、複数の車路の中で車両が識別された車路、及び/又は前記車両に含まれる車両ナンバープレートに関連するデータを含むことができる。
【0163】
前述のように、一実施形態によれば、電子装置は、複数の車路で車両を識別することができる。電子装置は、前記複数の車路のそれぞれで識別された車両のそれぞれに関連するデータセットを取得することができる。電子装置は、前記データセットに基づいて、ニューラルネットワークをトレーニングすることができる。電子装置は、前記データセットに基づいて、前記ニューラルネットワークをトレーニングすることによって、画像内の部分領域に含まれる外部オブジェクトを識別するためのニューラルネットワークを取得することができる。
【0164】
図13は、一実施形態による、学習データのセットに基づいて、ニューラルネットワークをトレーニングする電子装置101の動作を説明するための図である。
図13を参照して説明される動作は、
図1~
図12の電子装置によって実行することができる。
【0165】
図13を参照すると、動作1302において、一実施形態による電子装置は、学習データのセットを取得することができる。電子装置は、教師あり学習(supervised learning)のための学習データのセットを取得することができる。学習データは、入力データとこの入力データに対応する基底トゥルース(ground truth)データのペア(pair)を含むことができる。基底トゥルースデータは、この基底トゥルースデータのペアである入力データを受信したニューラルネットワークから取得しようとする出力データを表すことができる。前記基底トゥルースデータは、
図1~
図12を参照して説明した電子装置によって取得することができる。
【0166】
例えば、画像を認識するために、ニューラルネットワークをトレーニングする場合、学習データは、画像及び該画像に含まれる1つ又はそれ以上の被写体に関する情報を含むことができる。前記情報は、画像を介して識別可能な被写体の分類(category又は class)を含んでもよい。前記情報は、画像内で、被写体に対応する視覚オブジェクトの位置、幅、高さ、及び/又はサイズを含み得る。動作1302を通じて識別される学習データのセットは、複数の学習データのペアを含んでもよい。画像を認識するために、ニューラルネットワークをトレーニングする前記の例では、電子装置によって識別される学習データのセットは、複数の画像及び該複数の画像のそれぞれに対応する基底トゥルースデータを含むことができる。
【0167】
図13を参照すると、動作1304において、一実施形態による電子装置は、学習データのセットに基づいて、ニューラルネットワークのトレーニングを実行することができる。ニューラルネットワークが教師あり学習に基づいてトレーニングされる一実施形態では、電子装置は、学習データに含まれる入力データを、前記ニューラルネットワークの入力層に入力することができる。前記入力層を含むニューラルネットワークの一例を、
図14を参照して説明する。入力層を介して、前記入力データを受信したニューラルネットワークの出力層から、電子装置は、前記入力データに対応するニューラルネットワークの出力データを取得することができる。
【0168】
一実施形態では、動作1304のトレーニングは、前記出力データと、前記学習データに含まれ、前記入力データに対応する基底トゥルースデータとの間の差に基づいて実行されてもよい。例えば、電子装置は、傾斜降下アルゴリズム(gradient descent)に基づいて、前記差が減少するように、前記ニューラルネットワークに関連する1つ又はそれ以上のパラメータ(例えば、
図14を参照して後述する重み)を調整することができる。前記1つ以上のパラメータを調整する電子装置の動作は、ニューラルネットワークへのチューニングと呼ばれることがある。電子装置は、出力データに基づくニューラルネットワークのチューニングを、コスト関数(cost function)など、ニューラルネットワークの性能を評価するために定義された関数を用いて実行することができる。前述の出力データと基底トゥルースデータとの間の差は、コスト関数の一例として含まれてもよい。
【0169】
図13を参照すると、動作1306において、一実施形態による電子装置は、動作1304によってトレーニングされたニューラルネットワークから、有効な出力データが出力されたか否かを識別することができる。出力データが有効であるということは、出力データと基底トゥルースデータとの間の差(又はコスト関数)が、前記ニューラルネットワークを使用するために設定された条件を満たすことを意味することができる。例えば、出力データと基底トゥルースデータとの間の差の平均値及び/又は最大値が、指定された閾値以下である場合、電子装置は、有効な出力データがニューラルネットワークから出力されると決定することができる。
【0170】
ニューラルネットワークから有効な出力データが出力されない場合(動作1306-いいえ)、電子装置は、動作1304に基づくニューラルネットワークのトレーニングを繰り返し実行することができる。実施形態は、これに限定されず、電子装置は、動作1302、1304を繰り返し実行することができる。
【0171】
ニューラルネットワークから有効な出力データを取得した状態で(動作1306‐はい)、動作1308に基づいて、一実施形態による電子装置は、トレーニングされたニューラルネットワークを使用することができる。例えば、電子装置は、学習データとして、前記ニューラルネットワークに入力された入力データと区別された他の入力データを、ニューラルネットワークに入力することができる。前記他の入力データを受信したニューラルネットワークから取得した出力データを、電子装置は、ニューラルネットワークに基づいて、前記他の入力データの推論を行った結果として利用することができる。
【0172】
図14は、一実施形態による電子装置101のブロック図である。
図14の電子装置101は、
図1~
図13の電子装置を含んでもよい。例えば、
図13を参照して説明した動作は、
図14の電子装置101及び/又は
図14のプロセッサ1410によって実行することができる。
【0173】
図14を参照すると、電子装置101のプロセッサ1410は、メモリ1420に記憶されたニューラルネットワーク1430に関連する計算(computations)を実行することができる。プロセッサ1410は、CPU(center processing unit)、GPU(graphic processing unit)、又はNPU(neural processing unit)のうち少なくとも1つを含んでもよい。NPUは、CPUとは別のチップとして実装されてもよく、又はSoC(system on a chip)の形態でCPUなどのチップに集積され(integrated)てもよい。CPUに集積された(integrated)NPUは、ニューラルコア及び/又はAI(artificial intelligence)アクセラレータと呼ばれることがある。
【0174】
図14を参照すると、プロセッサ1410は、メモリ1420に記憶されたニューラルネットワーク1430を識別することができる。ニューラルネットワーク1430は、入力層(Input layer)1432、1つ以上の隠れ層(Hidden layers)1434(又は中間層(Intermediate layers))、及び出力層(Output layers)1436の結合を含むことができる。前述の層(例えば、入力層1432、1つ以上の隠れ層1434、及び出力層1436)は、複数のノードを含むことができる。隠れ層1434の数は、実施形態によって変わってもよく、複数の隠れ層1434を含むニューラルネットワーク1430は、ディープ(deep)ニューラルネットワークと呼ばれることがある。ディープニューラルネットワークをトレーニングする動作は、ディープラーニング(deep learning)と呼ばれることがある。
【0175】
一実施形態では、ニューラルネットワーク1430が、フィードフォワードニューラルネットワーク(feed forward neural network)の構造を有する場合、特定の層に含まれる第1のノードは、前記特定の層の以前の別の層に含まれる第2のノードのすべてに接続することができる。メモリ1420内で、ニューラルネットワーク1430のために記憶されたパラメータは、第2のノードと第1のノードとの間の接続に割り当てられた(assigned)重み付け(weight)を含むことができる。フィードフォワードニューラルネットワークの構造を有するニューラルネットワーク1430において、第1のノードの値は、第2のノードと第1のノードとを接続する接続に割り当てられた重み付けに基づく、第2のノードに割り当てられた値の重み付け合(weighted sum)に対応することができる。
【0176】
一実施形態では、ニューラルネットワーク1430が畳み込み(convolution)ニューラルネットワークの構造を有する場合、特定の層に含まれる第1のノードは、前記特定の層の以前の別の層に含まれる第2のノードの一部に対する重み付け合に対応できる。第1のノードに対応する第2のノードのいくつかは、前記特定の層に対応するフィルタによって識別されてもよい。メモリ1420内で、ニューラルネットワーク1430のために記憶されたパラメータは、前記フィルタを表す重み付けを含むことができる。フィルタは、第2のノードのうち、第1のノードの重み付け合を計算するために使用される1つ以上のノード、及び前記1つ以上のノードのそれぞれに対応する重み付けを含むことができる。
【0177】
一実施形態によれば、電子装置101のプロセッサ1410は、メモリ1420に記憶された学習データセット1440を使用して、ニューラルネットワーク1430に対してトレーニングを実行することができる。学習データセット1440に基づいて、プロセッサ1410は、
図13を参照して説明した動作を実行して、ニューラルネットワーク1430のためにメモリ1420に格納された1つ又はそれ以上のパラメータを調整することができる。
【0178】
一実施形態によれば、電子装置101のプロセッサ1410は、学習データセット1440に基づいてトレーニングされたニューラルネットワーク1430を用いて、オブジェクト検出、オブジェクト認識、及び/又はオブジェクト分類を実行することができる。プロセッサ1410は、カメラ1450を介して取得した画像(又はビデオ)を、ニューラルネットワーク1430の入力層1432に入力することができる。画像が入力された入力層1432に基づいて、プロセッサ1410は、ニューラルネットワーク1430に含まれる層のノードの値を順次取得し、出力層1436のノードの値のセット(例えば、出力データ)を取得することができる。前記出力データは、ニューラルネットワーク1430を用いて、前記画像に含まれる情報を推定した結果として使用することができる。実施形態は、これに限定されず、プロセッサ1410は、通信回路1460を介して、電子装置101に接続された外部電子装置から取得した画像(又はビデオ)を、ニューラルネットワーク1430に入力することができる。
【0179】
一実施形態では、画像を処理するためにトレーニングされたニューラルネットワーク1430は、前記画像内で、被写体に対応する領域を識別するか(オブジェクト検出)、及び/又は前記画像内でに表現された被写体のクラスを識別する(オブジェクト認識及び/又はオブジェクト分類)ために使用することができる。例えば、電子装置101は、ニューラルネットワーク1430を用いて、前記画像内で、前記被写体に対応する領域を、バウンディングボックスなどの長方形の形状に基づいて、分割(segment)することができる。例えば、電子装置101は、ニューラルネットワーク1430を用いて、複数の指定されたクラスのうち、前記被写体にマッチングする少なくとも1つのクラスを識別することができる。
【0180】
前述したように、一実施形態による電子装置(electronic device)は、カメラとプロセッサとを含むことができる。前記プロセッサは、前記カメラを介して取得した画像のFOV(field of view)に基づいて、前記画像の分割に使用されるウィンドウの幅(width)を識別し、基準面(reference surface)に対応する視覚オブジェクトを含む第1の領域に基づいて、前記ウィンドウの高さ(height)を識別し、前記幅及び高さに基づいて、前記ウィンドウを用いて、第1の領域を複数の部分領域に分割し、前記複数の部分領域のうち第1の部分領域が入力されたニューラルネットワークから、外部オブジェクトが第1の部分領域に含まれるかどうかを識別し、前記外部オブジェクトが第1の部分領域に含まれるか否かに基づいて識別された間隔に基づいて、前記画像内で、第1の部分領域から離隔された第2の部分領域を取得することができる。
【0181】
一実施形態によれば、前記プロセッサは、前記カメラによる第1の画像である画像の歪み(distortion)を識別し、第1の画像とは異なり、前記歪みを補償した第2の画像に基づいて、前記外部オブジェクトを識別することができる。
【0182】
一実施形態によれば、前記プロセッサは、前記複数の部分領域を前記幅の第1の比率だけ部分的に重ねることができる。
【0183】
一実施形態によれば、電子装置は、センサを含むことができる。前記プロセッサは、該センサに基づいて、第1の基準速度以下である、前記電子装置の第1の速度を識別し、第1の速度を識別することに基づいて、前記画像の縁部を含む第1のサブ領域で、前記複数の部分領域を、第1の比率よりも小さい第2の比率だけ重畳してもよい。
【0184】
一実施形態によれば、電子装置は、センサを含むことができる。前記プロセッサは、該センサに基づいて、第2の基準速度以上である、前記電子装置の第2の速度を識別し、第2の速度を識別することに基づいて、前記画像の縁部を含む第1の部分領域とは異なる第2の部分領域で、前記複数の部分領域を、前記第1の比率より小さい第2の比率だけ重ねることができる。
【0185】
一実施形態によれば、電子装置は、スピーカを含むことができる。前記プロセッサは、前記外部オブジェクトを識別したことに基づいて、前記外部オブジェクトが識別されたことを知らせるためのオーディオ信号を出力することができる。
【0186】
一実施形態によれば、電子装置は、ディスプレイを含んでもよい。前記プロセッサは、前記外部オブジェクトを識別したことに基づいて、前記外部オブジェクトに対応する視覚オブジェクトを表示することができる。
【0187】
一実施形態によれば、電子装置は、センサを含むことができる。前記プロセッサは、前記センサを用いて識別された前記カメラが向いている方向を識別し、指定された範囲内の前記方向を識別したことに基づいて、前記高さを識別することができる。
【0188】
一実施形態によれば、前記高さは、第1の高さを含み得る。前記プロセッサは、第2の領域の第2の高さを識別し、第2の高さと第1の高さとの差を識別したことに基づいて、前記画像の一部をキャプチャした複数の部分領域のサイズを調整することができる。
【0189】
一実施形態によれば、前記プロセッサは、第2の高さより小さい第1の高さを識別することに基づいて、第2の領域の一頂点(vertex)を含む第1の部分領域を識別し、 第1の部分領域と部分的に重なり、第1の部分領域と同じサイズを有する第2の部分領域を識別することができる。
【0190】
前述のように、一実施形態によれば、電子装置(electronic device)は、メモリ及びプロセッサを含むことができる。前記プロセッサは、前記メモリに記憶された画像において、車線(line)によって区切られた複数の車路(lanes)のうち、第1の車路で第1の車両を識別したことに基づいて、第1の車両に関連する第1のデータセットを取得し、前記複数の車路のうち、第1の車路とは異なる第2の車路で第2車両を識別したことに基づいて、第2車両に関連する第2データセットを取得し、前記複数の車路のうち、第1の車路及び第2の車路とは異なる第3の車路で、第3の車両を識別したことに基づいて、第3の車両に関連する第3のデータセットを取得し、第1のデータセット、第2のデータセット及び第3のデータセットのそれぞれに基づくトゥルースデータ(truth data)を用いて、ニューラルネットワークをトレーニングすることができる。
【0191】
一実施形態によれば、前記ニューラルネットワークは、第1のデータセット、第2のデータセット、及び第3のデータセットのそれぞれで識別された車両の形態を使用してトレーニングすることができる。
【0192】
一実施形態によれば、前記ニューラルネットワークは、第1の車両として識別された第1のバウンディングボックスに含まれる1つ又はそれ以上のテキストを含む第1のバウンディングボックス内の車両ナンバープレートを用いてトレーニングすることができる。
【0193】
一実施形態によれば、前記ニューラルネットワークは、第2の領域に含まれる1つ又はそれ以上のテキストに対するラベリング(labeling)を用いてトレーニングすることができる。
【0194】
前述のように、一実施形態によれば、電子装置(electronic device)の方法は、カメラを介して取得した画像のFOV(field of view)に基づいて、前記画像の分割に使用されるウィンドウの幅(width)を識別する動作、基準面(reference surface)に対応する視覚オブジェクトを含む第1の領域に基づいて、前記ウィンドウの高さ(height)を識別する動作、前記幅及び高さに基づいて、前記画像で互いに部分的に重畳された複数の部分領域を分割する動作、前記複数の部分領域のうち第1の部分領域が入力されたニューラルネットワークから、外部オブジェクトが第1の部分領域に含まれるか否を識別する動作、及び前記外部オブジェクトが第1の部分領域に含まれるか否に基づいて識別された間隔に基づいて、前記画像内で、第1の部分領域から離隔された第2の部分領域を取得する動作を含むことができる。
【0195】
一実施形態によれば、前記方法は、前記カメラによる第1の画像である前記画像の歪み(distortion)を識別する動作と、第1の画像とは異なり、前記歪みを補償した第2の画像に基づいて、前記外部オブジェクトを識別する動作とを含むことができる。
【0196】
一実施形態によれば、前記方法は、前記複数の部分領域を、前記幅の第1の比率だけ部分的に重畳する動作を含んでもよい。
【0197】
一実施形態によれば、前記方法は、センサに基づいて、第1の基準速度以下である、前記電子装置の第1の速度を識別する動作、及び前記第1の速度の識別に基づいて、前記画像の縁部を含む第1の部分領域で、前記複数の部分領域を、第1の比率より小さい第2の比率だけ重畳する動作を含むことができる。
【0198】
一実施形態によれば、前記方法は、センサに基づいて、第2の基準速度以上である、前記電子装置の第2の速度を識別する動作、及び第2の速度の識別に基づいて、前記画像の縁部を含む第1の部分領域とは異なる第2の部分領域で、前記複数の部分領域を、第1の比率よりも小さい第2の比率だけ重畳する動作を含むことができる。
【0199】
一実施形態によれば、前記方法は、前記外部オブジェクトを識別したことに基づいて、前記外部オブジェクトが識別されることを知らせるためのオーディオ信号を出力する方法を含むことができる。