(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-10
(45)【発行日】2024-10-21
(54)【発明の名称】物体認識方法および飛行時間型物体認識回路
(51)【国際特許分類】
G06T 7/00 20170101AFI20241011BHJP
G06T 7/20 20170101ALI20241011BHJP
【FI】
G06T7/00 350C
G06T7/20 300A
(21)【出願番号】P 2023541742
(86)(22)【出願日】2022-01-13
(86)【国際出願番号】 EP2022050645
(87)【国際公開番号】W WO2022152792
(87)【国際公開日】2022-07-21
【審査請求日】2023-08-22
(32)【優先日】2021-01-15
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】316005926
【氏名又は名称】ソニーセミコンダクタソリューションズ株式会社
(74)【代理人】
【識別番号】110003339
【氏名又は名称】弁理士法人南青山国際特許事務所
(72)【発明者】
【氏名】アール マルテ
(72)【発明者】
【氏名】ダル ゾット デイビッド
(72)【発明者】
【氏名】アローラ バルン
【審査官】伊知地 和之
(56)【参考文献】
【文献】特表2016-503220(JP,A)
【文献】米国特許出願公開第2014/0204013(US,A1)
【文献】特開2018-169690(JP,A)
【文献】特許第6719168(JP,B1)
【文献】Kim Wonjik et al.,“Automatic Labeled LiDAR Data Generation based on Precise Human Model”,2019 International Conference on Robotics and Automation (ICRA)[online],IEEE,2019年,pp.43-49,[検索日 2024.5.15], インターネット:<URL:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8793916>,DOI: 10.1109/ICRA.2019.8793916
【文献】平松侑樹 外1名,クラスの観点からのAttention機構を用いたセマンティックセグメンテーション,SSII2019 [USB],画像センシング技術研究会,2019年12月31日
【文献】笠原亮介,PART1 画像認識技術の基礎と機械学習による外観検査技術 2章 画像認識を用いた外観検査の開発方法,機械設計,日刊工業新聞社,2020年09月01日,第64巻 第10号,pp.11~16
【文献】石田裕太郎 外1名,ホームサービスロボットの物体検出・認識のための深層ニューラルネットワーク,電子情報通信学会技術研究報告,一般社団法人電子情報通信学会,2020年02月27日,第119巻 第458号,pp.45~50
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
G06V 10/00 - 20/90
G06V 30/418
G06V 40/16
G06V 40/20
CSDB(日本国特許庁)
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
飛行時間型カメラデータの物体認識方法であって、
予め訓練されたアルゴリズムに基づいて実際の物体を認識し、
前記予め訓練されたアルゴリズムは、
飛行時間型信頼度データを表す飛行時間型訓練データに基づいて訓練され、
前記飛行時間型訓練データは、背景を示す実際の飛行時間型データと、シミュレートされた物体を表す合成オーバーレイ画像データに対して当該合成オーバーレイ画像データに基づいて生成されるマスクを適用することによって生成されるシミュレートされた飛行時間型データとの組み合わせに基づいて生成されることによって、マスクおよびシミュレートされた物体を生成する
物体認識方法。
【請求項2】
請求項1に記載の物体認識方法であって、
前記マスクは、前記シミュレートされた物体の2値化、前記シミュレートされた物体の収縮、および前記シミュレートされた物体のぼかしのうちの少なくとも1つに基づく
物体認識方法。
【請求項3】
請求項1に記載の物体認識方法であって、
前記マスクは、ランダム明るさ変化、均一な明るさノイズ、および前記背景に基づく前記合成オーバーレイ画像データのバランシングのうちの少なくとも1つの前記シミュレートされた物体に対する適用に基づく
物体認識方法。
【請求項4】
請求項1に記載の物体認識方法であって、
前記予め訓練されたアルゴリズムは、敵対的生成ネットワーク、畳み込みニューラルネットワーク、回帰型ニューラルネットワーク、および、長・短期記憶を有するニューラルネットワークと組み合わせた畳み込みニューラルネットワークのうちの少なくとも1つに基づく
物体認識方法。
【請求項5】
請求項1に記載の物体認識方法であって、
前記飛行時間型訓練データは、さらに、バウンディングボックス情報および画素精密マスキング情報のうちの少なくとも一方を含む
物体認識方法。
【請求項6】
請求項1に記載の物体認識方法であって、
前記飛行時間型訓練データは、さらに、ランダムデータ拡張およびハイパーパラメータチューニングのうちの少なくとも一方に基づくものである
物体認識方法。
【請求項7】
請求項1に記載の物体認識方法であって、
前記予め訓練されたアルゴリズムは、さらに、アーリーストッピングに基づいて訓練される
物体認識方法。
【請求項8】
請求項1に記載の物体認識方法であって、
前記実際の物体には、手が含まれる
物体認識方法。
【請求項9】
請求項8に記載の物体認識方法であって、さらに、
前記手のジェスチャを認識する
物体認識方法。
【請求項10】
飛行時間型カメラデータ上の物体を認識する飛行時間型物体認識回路であって、予め訓練されたアルゴリズムに基づいて実際の物体を認識するように構成され、
前記予め訓練されたアルゴリズムは、
飛行時間型信頼度データを表す飛行時間型訓練データに基づいて訓練され、
前記飛行時間型訓練データは、背景を示す実際の飛行時間型データと、シミュレートされた物体を表す合成オーバーレイ画像データに対して当該合成オーバーレイ画像データに基づいて生成されるマスクを適用することによって生成されるシミュレートされた飛行時間型データとの組み合わせに基づいて生成されることによって、マスクおよびシミュレー
トされた物体を生成する
飛行時間型物体認識回路。
【請求項11】
請求項10に記載の飛行時間型物体認識回路であって、
前記マスクは、前記シミュレートされた物体の2値化、前記シミュレートされた物体の収縮、および前記シミュレートされた物体のぼかしのうちの少なくとも1つに基づく
飛行時間型物体認識回路。
【請求項12】
請求項10に記載の飛行時間型物体認識回路であって、
前記マスクは、ランダム明るさ変化、均一な明るさノイズ、および前記背景に基づく前記合成オーバーレイ画像データのバランシングのうちの少なくとも1つの前記シミュレートされた物体に対する適用に基づく
飛行時間型物体認識回路。
【請求項13】
請求項10に記載の飛行時間型物体認識回路であって、
前記予め訓練されたアルゴリズムは、敵対的生成ネットワーク、畳み込みニューラルネットワーク、回帰型ニューラルネットワーク、および、長・短期記憶を有するニューラルネットワークと組み合わせた畳み込みニューラルネットワークのうちの少なくとも1つに基づく
飛行時間型物体認識回路。
【請求項14】
請求項10に記載の飛行時間型物体認識回路であって、
前記飛行時間型訓練データは、さらに、バウンディングボックス情報および画素精密マスキング情報のうちの少なくとも一方を含む
飛行時間型物体認識回路。
【請求項15】
請求項10に記載の飛行時間型物体認識回路であって、
前記飛行時間型訓練データは、さらに、ランダムデータ拡張およびハイパーパラメータチューニングのうちの少なくとも一方に基づくものである
飛行時間型物体認識回路。
【請求項16】
請求項10に記載の飛行時間型物体認識回路であって、
前記予め訓練されたアルゴリズムは、さらに、アーリーストッピングに基づいて訓練される
飛行時間型物体認識回路。
【請求項17】
請求項10に記載の飛行時間型物体認識回路であって、
前記実際の物体には、手が含まれる
飛行時間型物体認識回路。
【請求項18】
請求項17に記載の飛行時間型物体認識回路であって、さらに、
前記手のジェスチャを認識するように構成される
飛行時間型物体認識回路。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、飛行時間型カメラデータの物体認識方法、および、飛行時間型カメラデータ上の物体を認識する飛行時間型物体認識回路に関する。
【背景技術】
【0002】
一般的に、奥行き画像に基づいて物体を認識する方法が知られている。
【0003】
係る物体認識方法では、畳み込みニューラルネットワーク(CNN)等のニューラルネットワーク(NN)が訓練データによって訓練される場合がある。物体を認識するためにNNによって生成されるアルゴリズムのロバスト性を確保するために、訓練データは多様なものとする必要があり得る。
【0004】
例えば、人物を認識する場合、訓練データは、複数の異なる人物または複数の異なる姿勢を表すべきであり、常に同一人物を表すとは限らない。
【0005】
訓練データは、さらに、広範なものとすることで、所定量(大量)の訓練データが訓練に用いられ、その結果、効率的且つロバストな訓練を実行することができる。
【0006】
奥行き画像に基づいて物体を認識する場合、飛行時間型(ToF)カメラの奥行きデータを用いることができる。
【0007】
ToFカメラは、(シーン(例えば、物体)により反射する)出射光の奥行き、すなわち、当該シーンに対する距離を示すことができるラウンドトリップ遅延を測定することができる。
【0008】
このラウンドトリップ遅延は、タイミングヒストグラムに基づいてラウンドトリップ遅延の時間を直接測定する直接的な飛行時間型(dToF)等の様々な手法によって算出することができる。dToFは、一般的に知られているように、SPAD(Single Photon Avalanche Diode)技術に基づくものとすることができる。
【0009】
また、飛行時間型奥行き画像は、変調された出射光とその反射光間の位相偏移を算出する直接的なToF(iToF)に基づくものとすることができる。ここで、当該光は、画像センサで(典型的には、複数のCAPD(Current Assisted Photonic Demodulator)に基づいて)復調することができる。
【先行技術文献】
【非特許文献】
【0010】
【文献】Zanuttigh Pietro著「Time-of-Flight and Structured Light Depth Cameras: Technology and Applications」, page 99-107, 01 January 2016(2016-01-01), Springer
【文献】PLANCHE BENJAMIN他著「DepthSynth: Real-Time Realistic Synthetic Data Generation from CAD Models for 2.5D Recognition」, 2017 INTERNATIONAL CONFERENCE ON 3DVISION(3DV), IEEE,10 October 2017(2017-10-10), page 1-10
【発明の概要】
【発明が解決しようとする課題】
【0011】
物体を認識する手法は既に複数存在しているが、新たな物体認識方法および物体認識回路を提供することが一般的に望ましい。
【課題を解決するための手段】
【0012】
本発明の第1の態様によれば、本開示は、飛行時間型カメラデータの物体認識方法であって、予め訓練されたアルゴリズムに基づいて実際の物体を認識し、前記予め訓練されたアルゴリズムは、飛行時間型訓練データに基づいて訓練され、前記飛行時間型訓練データは、背景を示す実際の飛行時間型データと、シミュレートされた物体を表す合成オーバーレイ画像データに対して当該合成オーバーレイ画像データに基づいて生成されるマスクを適用することによって生成されるシミュレートされた飛行時間型データとの組み合わせに基づいて生成されることによって、マスクおよびシミュレートされた物体を生成する飛行時間型カメラデータの物体認識方法を提供する。
【0013】
本発明の第2の態様によれば、本開示は、飛行時間型カメラデータ上の物体を認識する飛行時間型物体認識回路であって、予め訓練されたアルゴリズムに基づいて実際の物体を認識するように構成され、前記予め訓練されたアルゴリズムは、飛行時間型訓練データに基づいて訓練され、前記飛行時間型訓練データは、背景を示す実際の飛行時間型データと、シミュレートされた物体を表す合成オーバーレイ画像データに対して当該合成オーバーレイ画像データに基づいて生成されるマスクを適用することによって生成されるシミュレートされた飛行時間型データとの組み合わせに基づいて生成されることによって、マスクおよびシミュレートされた物体を生成する飛行時間型物体認識回路を提供する。
【0014】
さらなる複数の態様が、従属請求項、以下の説明および図面に示されている。
【0015】
本開示における実施形態は、添付の図面を参照して例として説明される。
【図面の簡単な説明】
【0016】
【
図1】シミュレートされた物体をマスクする方法に関する方法の本開示の一実施形態を示す。
【
図2】本開示の飛行時間型訓練データを生成する方法を示す。
【
図3a】運転手または搭乗者によって行われるミュートジェスチャを認識する2値CNN分類器を訓練するのに用いられる飛行時間型奥行き画像を示す。
【
図3b】運転手または搭乗者によって行われるミュートジェスチャを認識する2値CNN分類器を訓練するのに用いられる飛行時間型奥行き画像を示す。
【
図4a】正しく装着されたシートベルトを検出する2値CNN分類器を訓練するのに用いられる飛行時間型信頼度画像を示す。
【
図4b】正しく装着されたシートベルトを検出する2値CNN分類器を訓練するのに用いられる飛行時間型信頼度画像を示す。
【
図5】本開示の物体認識訓練回路の実施形態をブロック図で示す。
【
図6】本開示の物体認識訓練方法をブロック図で示す。
【
図7】本開示の飛行時間型カメラデータの物体認識方法をブロック図で示す。
【
図8】本開示の飛行時間型カメラデータの物体認識方法のさらなる実施形態をブロック図で示す。
【
図9】本開示に係るToF撮像装置の一実施形態を示す。
【
図10】車両制御システムの概略構成の一例を示すブロック図である。
【
図11】車外情報検出部および撮像部の設置位置の一例を説明する際のアシストの図である。
【
図12】本開示の物体認識訓練方法をブロック図で示す。
【発明を実施するための形態】
【0017】
図1を参照して実施形態を詳細に説明する前に、一般的な説明をする。
【0018】
上述したように、飛行時間型データに基づいて物体認識を行うことが一般的に知られている。
【0019】
また、上述したように、訓練データは、十分に多様且つ広範なものとする必要があり得る。例えば、ジェスチャを認識する場合、十分なダイバーシティを有するデータセットを生成するのに一定数の人材が必要とされ得る。さらに、データは、手動でラベル付けされる必要があり得る。
【0020】
したがって、既存の方法は、時間がかかり、非効率的であるとされている。
【0021】
しかし、多様且つ広範な訓練データセットは、物体認識を正常に実行する上で(またはロバストな物体認識アルゴリズム/モデルを生成する上で)必要不可欠なものと考えられ得る。
【0022】
新たなデータセットを(例えば、手で何らかのジェスチャしている間に踏み込まれるペダルを用いて、または手指、手、腕、頭部等に対する位置センサを有するより進んだハードウェアシステムを用いて)生成するために、ラベル付けを簡略化することができるハードウェア機器を用いることが知られている。
【0023】
しかし、係る機器は、セットアップに手間暇がかかり、高価であり、且つ入手や共有、持ち運びが困難な場合がある(つまり、在宅勤務に望ましくない場合がある)。したがって、訓練データは、合成(シミュレートされた)物体データの組み合わせに基づいて、且つ、実際のToF(カメラ)データに基づいて生成することができ、合成データは、訓練データに対して高いダイバーシティおよび拡張性を実現するために作為的に変更することができるとされている。
【0024】
また、既知の方法は、バイアスによって制限され得るとされている。例えば、訓練データセットが黄色いサバンナを背景にしたシマウマしか含まず、緑の草原を背景としたシマウマは、既知の物体認識方法によって上手く検出/認識できない場合がある。
【0025】
本開示は、この例に限定されない。同様に、シートベルト検出器の訓練用の実際のToFデータが、シートベルトに干渉するまたはシートベルトを調節する自動車のユーザの情報を含む場合、当該ユーザの胸元の手に締められたシートベルトを示し得ることが学習され得る。しかし、このような方法では、ユーザが例えば上着を脱ぎ着するために胸元に手をやるだけでも、その都度、シートベルトとして検出してしまう。合成訓練データを用いれば、このような学習ミスを回避することが可能である。
【0026】
したがって、合成データを用いる場合、任意の背景を背にした任意の対象物(例えば、緑、黄色、または他の任意の背景を背にしたシマウマ)を生成することができ、ロバストな物体認識を実現することができるとされている。
【0027】
それゆえ、いくつかの実施形態は、飛行時間型カメラデータの物体認識方法であって、予め訓練されたアルゴリズムに基づいて実際の物体を認識し、予め訓練されたアルゴリズムは、飛行時間型訓練データに基づいて訓練され、飛行時間型訓練データ背景を示す実際の飛行時間型データと、シミュレートされた物体を表す合成オーバーレイ画像データに、合成オーバーレイ画像データに基づいて生成されるマスクを適用することによって生成されるシミュレートされた飛行時間型データとの組み合わせに基づいて生成されることによって、マスクおよびシミュレートされた物体を生成する、飛行時間型カメラデータの物体認識方法に関する。
【0028】
以下で詳述するように、当該物体認識方法は、本開示の物体認識回路を用いて実行することができる。
【0029】
飛行時間型カメラデータは、dToF、iToF等の飛行時間型取得処理において飛行時間型カメラから取得されるデータを含んでもよい。したがって、飛行時間型カメラデータは、シーン(例えば、物体)の奥行きを示し得る。
【0030】
本開示の物体認識方法によれば、任意の所定の対象物を認識することができる。例えば、当該物体認識方法を、運転手がシートベルトをしているか否か等の1つの対象物(すなわち、この対象物は、安全ベルト等と組み合わされた人物と定義することができる)を認識するためだけに用いてもよい。いくつかの実施形態において、手の様々なジェスチャ等の複数の所定の対象物を互いに区別するのに当該物体認識方法を用いてもよい。例えば、様々なジェスチャは、(例えば、ホームオートメーション、ゲームのプレイ、戦略または軍事等のコンテキストで)様々な所定のコマンドを示し得る。
【0031】
当該物体認識方法は、実際の物体を認識してもよい。この実際の物体は、上述したように任意の対象物としてもよく、飛行時間型カメラデータによって表してもよい。
【0032】
上述の認識することは、予め訓練されたアルゴリズムに基づいてもよく、これは、飛行時間型訓練データに基づいてもよい。
【0033】
この飛行時間型訓練データは、機械学習処理等において、例えば、人工知能によって予め訓練されたアルゴリズムを訓練するのに用いられるデータを指し得る。したがって、予め訓練されたアルゴリズムは、異なるシーンおよび物体に基づいて物体認識が訓練されるように、認識対象である異なるシーンおよび物体の複数の組み合わせを有することによって算出されてもよい。
【0034】
飛行時間型訓練データは、実際の飛行時間型データとシミュレートされた飛行時間型データとの組み合わせに基づいて生成されてもよい。例えば、実際の飛行時間型データは、実際の飛行時間型取得から導出され、実際のシーンを表してもよい。いくつかの実施形態において、実際の飛行時間型データは、飛行時間型訓練データで表される画像の背景として用いられてもよく、または当該画像の背景を示してもよい。
【0035】
実際の飛行時間型データを背景として用いる場合、当該実際の飛行時間型データは、(ToFカメラ等のハードウェア撮像(vision)機器による)背景(奥行き)画像の記録にしか必要とされず、当該背景(奥行き)画像は、新たなToF訓練データに再利用することができる。さらに、既存の(奥行き)画像を用いてもよい。したがって、本開示によれば、必要な人的資源およびハードウェアが削減されるため、物体検出アルゴリズムを訓練するための安価な手段を提供することができる。
【0036】
シミュレートされた飛行時間型データは、シミュレートされた飛行時間型測定値から導出され、実際の飛行時間型データに適合するように純粋にシミュレートおよび生成されてもよい。シミュレートされた飛行時間型データは、例えば、飛行時間型訓練データで表されるシーンの前景におけるシミュレートされた物体を示してもよい。
【0037】
また、いくつかの実施形態において、シミュレートされた飛行時間型データは、シミュレートされた物体を表す合成オーバーレイ画像データにマスクを適用することによって生成される。
【0038】
この合成オーバーレイ画像データは、当該シミュレートされた物体の、すなわち、理想的な物体を表し得るシミュレートされた生の奥行きデータに基づいた第1のインスタンスに関することができる合成オーバーレイを表すものとすることができる。理想的な物体を用いると物体認識アルゴリズムにエラーが生じ得ることが認められているため、この合成オーバーレイ画像データに対してマスクを適用することができる。
【0039】
一般的に、マスクは、シミュレートされた物体がよりリアルに見えるようにしてもよく、シミュレートされた物体は、マスクに基づいて適応可能であってもよい。
【0040】
これによって、マスクおよびシミュレートされた物体が生成されてもよい。
【0041】
また、マスクは、合成オーバーレイ画像データに基づいてもよい。合成オーバーレイ画像データは、マスクを生成することができるように、且つ、シミュレートされた物体/合成オーバーレイの特徴(例えば、エッジ、距離/奥行き、輪郭等)に基づいて合成オーバーレイを変更または修正することができるように、適応させてもよい。
【0042】
マスクは、合成オーバーレイ(例えば、認識される可能性があるまたは認識される必要があるジェスチャ、シートベルト、または、他の任意の対象物)が良好に背景画像に埋め込まれ、且つ、合成オーバーレイのテクスチャが依然として保持されることを可能とすることができる。
【0043】
例えば、2値化画像(2値化マスク)は、例えば、2値のうち0(例えば、黒色で表示され得る)に(合成オーバーレイの)背景を割り当て、且つ2値のうち1(例えば、白色で表示され得る)に前景(すなわち、シミュレートされた物体)を割り当てることによって生成(演算)することができる。これによって、2値化合成オーバーレイを生成することができる。
【0044】
別の例では、収縮(erosion)(例えば、エッジ除去、平滑化等)が合成オーバーレイ(これにより、収縮された合成オーバーレイが生成される)に対して、またはマスクされた2値化合成オーバーレイ(これにより、収縮およびマスクされた2値化合成オーバーレイが生成される)に対して適用されてもよい。
【0045】
さらなる例では、合成オーバーレイ、2値化合成オーバーレイ、収縮された合成オーバーレイ、または、収縮された2値化合成オーバーレイのぼかし(例えば、ガウシアンぼかし、平均ぼかし、ボックスぼかし、レンズぼかし、動き放射状ぼかし、シェイプぼかし、詳細ぼかし、表面ぼかし、フィールドぼかし、虹彩絞りぼかし、チルトシフト等)が適用されてもよい。
【0046】
したがって、互いに組み合わせることができるそれぞれ異なるマスク方法を想定してもよい。さらに、当該それぞれ異なるマスク方法の適用の順序付けによって、それぞれ異なるマスクおよびシミュレートされた物体を生成してもよい。例えば、先に収縮を行ってから2値化することで、2値化してから収縮するのとは異なるマスクおよびシミュレートされた物体を生成してもよい。
【0047】
したがって、いくつかの実施形態において、マスクは、シミュレートされた物体の2値化、シミュレートされた物体の収縮、およびシミュレートされた物体のぼかしのうちの少なくとも1つに基づく。
【0048】
マスクは、付加的または代替的に、ランダム明るさ変化、均一な明るさノイズ、および背景に基づく合成オーバーレイ画像データのバランシングのうちの少なくとも1つのシミュレートされた物体に対する適用に基づいてもよい。いくつかの実施形態において、ランダム明るさ変化、均一な明るさノイズ、および/またはバランシングは、マスク処理の任意の段階で、すなわち、合成オーバーレイに直接、2値化合成オーバーレイ等に対して適用されてもよい。
【0049】
ランダム明るさ変化は、当業者に既知の任意のランダム処理に基づいてもよい。
【0050】
また、均一な明るさノイズは、一般的に知られているように、1/fノイズ(ピンクノイズ)、1/Fノイズ(ブラウニアンノイズ)、ホワイトノイズ等の任意のノイズ、または、任意のノイズパワースペクトルによって表される他の任意の種類のノイズに基づいてもよい。
【0051】
上述したように、マスク(例えば、ぼかし処理後のマスク)を用いて、合成オーバーレイのテクスチャを保持しながら、結果として得られる(飛行時間型訓練データの)(出力)画像の画素毎に背景画像および合成オーバーレイの「量」のバランスを調整してもよい。
【0052】
本開示によると、背景および合成オーバーレイの奥行きおよび/またはテクスチャ情報がマスクの生成によって改ざんされるまたは劣化することがないようにすることができる。
【0053】
また、合成オーバーレイの奥行きがランダムに変更される場合、ToFカメラに対して異なる距離に存在する各物体を検出することができるようにモデルを訓練してもよい。
【0054】
合成オーバーレイにを適用する場合、ToFカメラの奥行きチャンネル画像にノイズが含まれる場合であっても物体を検出することができるようにモデルを訓練してもよい。
【0055】
いくつかの実施形態において、予め訓練されたアルゴリズムは、敵対的生成ネットワーク、畳み込みニューラルネットワーク、回帰型ニューラルネットワーク、および、長・短期記憶を有するニューラルネットワークと組み合わせた畳み込みニューラルネットワークのうちの少なくとも1つに基づく。
【0056】
したがって、予め訓練されたアルゴリズムは、人工知能の適用によって訓練されてもよい。
【0057】
敵対的生成ネットワーク(GAN)の場合、生成ネットワーク部は、飛行時間型訓練データセット(アルゴリズムを訓練するのに用いることができる)をさらに増加させるのに用いられてもよい。一般的に知られているように、GANは、生成ネットワークと、識別ネットワークとを有することができる。これらのネットワークは両方とも同時ループで訓練されてもよく、生成ネットワークは、新たなToF訓練データを生成するように学習し、識別ネットワークは、生成ネットワークによって生成されたデータを拒否するように学習することができる。各訓練ループにおいて、生成ネットワークは、新たに生成された画像または実際の画像のいずれか一方を識別ネットワークに提供することができる。これらのネットワークの両方が向上しなくなった場合、当該訓練は停止され、この生成ネットワークを用いて、当該訓練前より良好な(合成)ToF訓練データを生成することができ、ToF訓練データは、本開示のアルゴリズムを訓練するのに用いることができる。畳み込みニューラルネットワーク(CNN)の場合、(実際の飛行時間型tデータの)奥行きチャンネル画像は、1つのステレオカメラの1枚の視差画像を用いるCNN検出部を訓練するために、複数のステレオカメラからの視差マップに置き換えてもよい。
【0058】
いくつかの実施形態において、CNNを用いる場合、画像シークエンスは、含まれる動き情報を用いて3D畳み込みによって当該CNNを訓練するために、単一画像ではなく、明確には画像シークエンスとして記憶され得る。係る処理は、回帰型ニューラルネットワーク(RNN)によって、または、連続画像から動き情報を用いるのに適したCNNまたは他の任意の種類の人工知能と組み合わせた長・短期記憶(LSTM)を有するネットワーク上で同様に実行されてもよい。
【0059】
いくつかの実施形態において、飛行時間型訓練データは、さらに、バウンディングボックス情報および画素精密マスキング(pixel precise masking)情報のうちの少なくとも1つを含む。
【0060】
係る飛行時間型訓練データは、オブジェクト位置決め用のバウンディングボックスおよび/またはオブジェクトセグメンテーション用のオブジェクトマスクを予測するようにニューラルネットワークを訓練するのに用いられてもよい。
【0061】
いくつかの実施形態において、飛行時間型訓練データは、飛行時間型画像データおよび飛行時間型信頼度データのうちの少なくとも一方を表す。
【0062】
一般的に知られているように、信頼度データは、飛行時間型(奥行き)画像(飛行時間型画像データによって表される)とは異なる情報を含み得る信頼度画像を示すことができる。例えば、iToFにおいて、信頼度は、I値およびQ値(当該I値およびQ値はそれぞれ、それ自体が当業者に既知である)の(単純な)加算、ピタゴラス加算、二乗加算(squared addition)等に基づいて算出されてもよい。
【0063】
したがって、画像データではなく、信頼度データが複数の異なる物体を認識するのに用いられてもよい。これは、実際の使用例に依り得る。例えば、奥行きコントラストが低いシーンでは、信頼度データが実際の物体を認識するのにより適している場合があり、これらのデータは、係るシーンを訓練するのに用いることができる。
【0064】
例えば、車両のユーザがシートベルトを装着しているか否かを認識する場合、シートベルトはユーザの衣類と概ね同一の奥行きを有するため、信頼度データがより適している場合がある。つまり、ToF装置の奥行き分解能では、ユーザがシートベルトを装着しているか否かを認識するのに不十分である場合がある。
【0065】
十分な奥行き分解能が見込まれる他の実施形態では、例えば、ジェスチャ認識の場合等は画像データを用いてもよい。
【0066】
一般的に、本開示によると、飛行時間型訓練データに基づいてニューラルネットワークを訓練して、飛行時間型カメラデータに適用するためにモデルを良好に汎用化してもよい。この訓練を実行するために、いくつかの実施形態では、ラベル付き奥行きチャンネル検証群が想定される。
【0067】
奥行きチャンネル検証群は、奥行きチャンネル画像群(実際の飛行時間型データおよび/または飛行時間型カメラデータに基づく)を指し得る。これには、本開示の物体認識方法によって検出されることになっている画像(すなわち、実際の物体)の内容に関する情報が(例えば、手動または自動で)付される。
【0068】
奥行きチャンネル検証群のラベル付けは、予測に誤りがない(すなわち、理想的なケースの)完璧なモデル出力を指し得る。
【0069】
訓練の際、飛行時間型カメラデータに対してロバストな推論が実現されるように、適した構成およびパラメータの選択を予め選択または確定してもよい。
【0070】
したがって、いくつかの実施形態において、飛行時間型訓練データは、さらに、ランダムデータ拡張およびハイパーパラメータチューニングのうちの少なくとも一方に基づくものである。
【0071】
ニューラルネットワークを最適化するためにランダムデータ拡張が想定され得る。これは、例えば、確率的勾配降下法(SGD:Stochastic Gradient Descent)、適応学習率最適化アルゴリズム(Adam:Adaptive Learning Rate Optimization)等の最適化アルゴリズムに基づいて選択される。
【0072】
確率的勾配降下法アルゴリズムが、勾配降下法を実行するために、飛行時間型訓練データの小サイズのサブセット(当該小サイズのサブセットを「バッチ」と称する)を選択してもよい。
【0073】
ランダムデータ拡張では、結果的に、最適化アルゴリズムによって要求されるバッチの各画像が、当該最適化アルゴリズムが当該画像を用いて勾配降下法を実行する前に変換されることになる。したがって、ランダムデータ拡張は、最適化アルゴリズムが飛行時間型訓練データを処理する前に飛行時間型訓練データに対して適用される処理を指し得る。換言すると、ランダムデータ拡張は、勾配降下法を実行するための画像変換演算を指し得る。
【0074】
いくつかの実施形態において、ランダムデータ拡張は、(新たな飛行時間型訓練データを生成することができるような、飛行時間型訓練データによって表される訓練画像の)水平シフト、垂直シフト、回転、および拡大/縮小のうちの少なくとも1つを含む。
【0075】
ランダムデータ拡張によって、訓練画像の不定形な空き空間がもたらされ得る。この空間は、例えば、画素を反復する処理によって埋め合わせることができる。
【0076】
ランダムデータ拡張は、例示的に、係数0.3の垂直および水平シフト、45度の回転範囲、および倍率1.5の拡大/縮小とすることができる。
【0077】
いくつかの実施形態において、ランダムデータ拡張を実行する場合、合成オーバーレイは処理対象の画像の中央位置に生成される。いくつかの実施形態において、ランダムデータ拡張は、飛行時間型訓練データが既に生成された後に新たな飛行時間型訓練データが生成されるように適用されてもよい。いくつかの実施形態において、ランダムデータ拡張は、訓練中に飛行時間型訓練データに対して適用される。
【0078】
予め訓練されたアルゴリズムのパラメータは、ハイパーパラメータと称される場合があり、これらは、以下に係るハイパーパラメータチューニングにおいてチューニングすることができる。
【0079】
CNNが訓練に用いられる場合、第1の2つの畳み込みレイヤのカーネルサイズ、Denseレイヤのサイズ、および/または、最適化アルゴリズムが使用する学習率が、飛行時間型カメラデータに対する予め訓練されたアルゴリズムの適用のロバスト性に影響を及ぼし得るとされている。
【0080】
このロバスト性を向上させるために、学習済みハイパーパラメータを変更してもよい。
【0081】
例えば、同一のモデル(すなわち、同一のアルゴリズム)についての異なるバージョン群が、所定の範囲の所定のハイパーパラメータから異なる値を選択することによって生成される、多腕バンディットアルゴリズム等のグローバルサーチアルゴリズムを用いてもよい。
【0082】
訓練時において、当該モデルの或るバージョンが一定のエポック数の間訓練されるように選択されてもよい、または、訓練を再開するために当該モデルの予め選択されたバージョンを選択してもよい。
【0083】
係る方法によれば、奥行きチャンネル検証群を用いるメトリックが算出されてもよい。
【0084】
換言すると、ハイパーパラメータチューニング部は、当該訓練を続行するためにいずれのモデルを選択するかを決定するために目標またはフィードバック機能を必要とする場合がある。メトリックとして、各モデルの検証精度は、フィードバック機能についてのメトリックとして用いることができる(本開示はこれに限定されない)。検証精度を算出する場合、検証群が必要とされる場合がある。この検証群は、実際のToFデータに対して良好に作用するモデルを優先させるための、記録された実際のToF画像に基づくものとすることができる。
【0085】
ハイパーパラメータチューニングは、さらに、(以下で詳述するように、)同一のメトリックおよび同一の奥行きチャンネル検証群を用いてアーリーストッピングを用いてもよい。
【0086】
本開示に基づき、奥行き画像だけでなく、信頼度画像(上述)、グレイスケール画像、カラー画像、ステレオカメラからの視差マップ、およびToFセンサの異なる波長(複数の光源を用いる場合)で受信された画像を訓練することができる。
【0087】
いくつかの実施形態において、予め訓練されたアルゴリズムは、さらに、アーリーストッピングに基づいて訓練される。
【0088】
アーリーストッピングの場合、ラベル付き奥行きチャンネル検証群(上述)が必要とされ得る。訓練時において、モデルの性能は、メトリックを用いて奥行きチャンネル検証群に対して検証することができる。奥行きチャンネル検証群に対するモデルの性能が所定の閾値内で向上しなかった場合、当該訓練は停止され、その時点で最良の性能を実現しているモデルのバージョンを最終的なモデルとして用いることができる。
【0089】
したがって、飛行時間型カメラデータに対するロバストな推論を実現することができる。
【0090】
いくつかの実施形態において、本明細書で説明するように、実際の物体には、手が含まれる。
【0091】
いくつかの実施形態において、本明細書で説明するように、当該方法は、さらに、手のジェスチャを認識する。
【0092】
本開示によると、組み込まれるシステム(例えば、CPU)上で十分な性能を発揮することができる(既知の物体認識モデルと比較して)少ない数のレイヤおよびパラメータを有する小サイズのモデルを提供することが可能である。
【0093】
訓練時において、合成オーバーレイおよび背景画像は、入力データのダイバーシティが出力データセットにおいて確実に良好に得られるように、入力データセット全体(すなわち、ToF訓練データ)にわたってランダムに選択されてもよい。
【0094】
また、訓練済モデル(すなわち、アルゴリズム)のロバスト性がさらに向上されるように、少なくとも1つの勾配フィルタが、合成オーバーレイに対するランダム深度変化の適用、または、合成オーバーレイに対する均一な深度ノイズの適用のうちの少なくとも一方に適用されることが想定され得る。
【0095】
また、合成オーバーレイは、既に実際のデータおよび合成データの組み合わせ(例えば、馬を示す実際のデータと鞍を示す合成/シミュレートされたデータ)であるため、純粋合成物(例えば、純粋に人工的に生成された画像/物体データ)に限定されない。いくつかの実施形態では、ToF訓練データは、ラベル付けされた実際のToFデータを用いて拡張させることができる。
【0096】
いくつかの実施形態は、本明細書で説明するように、飛行時間型カメラデータ上の物体を認識する飛行時間型物体認識回路であって、予め訓練されたアルゴリズムに基づいて実際の物体を認識するように構成され、予め訓練されたアルゴリズムは、飛行時間型訓練データに基づいて訓練され、飛行時間型訓練データ背景を示す実際の飛行時間型データと、シミュレートされた物体を表す合成オーバーレイ画像データに、合成オーバーレイ画像データに基づいて生成されるマスクを適用することによって生成されるシミュレートされた飛行時間型データとの組み合わせに基づいて生成されることによって、マスクおよびシミュレートされた物体を生成する、飛行時間型物体認識回路に関する。
【0097】
回路は、プロセッサ(例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit))、FPGA(フィールド・プログラマブル・ゲート・アレイ)、カメラ(例えば、飛行時間型カメラ)、コンピュータ、サーバ等の論理要素間の任意の有線または無線接続に関するものとすることができる。本開示は、飛行時間型カメラデータを取得するカメラで物体認識を行う例に限定されず、(例えば、携帯電話、自動車等の)外部プロセッサ、(遠隔)サーバ等、外部で物体認識を行うこともできる。
【0098】
いくつかの実施形態において、本明細書で説明するように、マスクは、シミュレートされた物体の2値化、シミュレートされた物体の収縮、およびシミュレートされた物体のぼかしのうちの少なくとも1つに基づく。いくつかの実施形態において、本明細書で説明するように、マスクは、ランダム明るさ変化、均一な明るさノイズ、および背景に基づく合成オーバーレイ画像データのバランシングのうちの少なくとも1つのシミュレートされた物体に対する適用に基づく。いくつかの実施形態において、本明細書で説明するように、予め訓練されたアルゴリズムは、敵対的生成ネットワーク、畳み込みニューラルネットワーク、回帰型ニューラルネットワーク、および、長・短期記憶を有するニューラルネットワークと組み合わせた畳み込みニューラルネットワークのうちの少なくとも1つに基づく。いくつかの実施形態において、本明細書で説明するように、飛行時間型訓練データは、さらに、バウンディングボックス情報および画素精密マスキング情報のうちの少なくとも一方を含む。いくつかの実施形態において、本明細書で説明するように、飛行時間型訓練データは、飛行時間型画像データおよび飛行時間型信頼度データのうちの少なくとも一方を表す。いくつかの実施形態において、本明細書で説明するように、飛行時間型訓練データは、さらに、ランダムデータ拡張およびハイパーパラメータチューニングのうちの少なくとも一方に基づくものである。いくつかの実施形態において、本明細書で説明するように、予め訓練されたアルゴリズムは、さらに、アーリーストッピングに基づいて訓練される。いくつかの実施形態において、本明細書で説明するように、実際の物体には、手が含まれる。いくつかの実施形態において、本明細書で説明するように、物体認識回路は、さらに、手のジェスチャを認識するように構成される。
【0099】
いくつかの実施形態は、本明細書で説明するように、飛行時間型カメラデータの物体認識訓練方法であって、背景を示す実際の飛行時間型データと、シミュレートされた物体を表す合成オーバーレイ画像データに、合成オーバーレイ画像データに基づいて生成されるマスクを適用することによって生成されるシミュレートされた飛行時間型データとの組み合わせに基づいて飛行時間型訓練データを生成することによって、マスクおよびシミュレートされた物体を生成する、物体認識訓練方法に関する。
【0100】
上述の生成することは、任意の種類のプロセッサ、サーバ、コンピュータ等、人工知能の訓練を実行するのに適した任意の回路で実行してもよい。当該生成することは、外部エンティティにおいて、また、アルゴリズムを訓練する同一のエンティティで実行してもよい。当該生成することは、分けて行うこともできる。例えば、合成オーバーレイ画像データを1つのエンティティで生成し、マスキングを別のエンティティで実行してもよい。
【0101】
いくつかの実施形態において、当該方法は、さらに、実際の飛行時間型データを取得する。一般的に、本開示のデータは、例えば、プロセッサ、記憶部、飛行時間型カメラ、サーバから取得してもよいし、本開示の方法を実施する回路で生成してもよく、または、上述したものの任意の組み合わせに基づくものとしてもよい。
【0102】
これによって、いくつかの実施形態において、本明細書で説明するように、物体認識訓練方法は、さらに、合成オーバーレイ画像データを取得する。いくつかの実施形態において、本明細書で説明するように、物体認識は、さらに、合成オーバーレイ画像データに基づいてマスクを生成する。いくつかの実施形態において、本明細書で説明するように、物体認識訓練方法は、さらにシミュレートされた物体の2値化、シミュレートされた物体の収縮、およびシミュレートされた物体のぼかしのうちの少なくとも1つに基づいてマスクを生成する。いくつかの実施形態において、本明細書で説明するように、物体認識訓練方法は、さらに、ランダム明るさ変化、均一な明るさノイズ、および背景に基づく合成オーバーレイ画像データのバランシングのうちの少なくとも1つのシミュレートされた物体に対する適用に基づいてマスクを生成する。いくつかの実施形態において、本明細書で説明するように、物体認識訓練方法は、さらに、マスクを合成オーバーレイ画像データに適用することで、シミュレートされた飛行時間型データを生成する。いくつかの実施形態において、本明細書で説明するように、物体認識訓練方法は、さらに、実際の飛行時間型データとシミュレートされた飛行時間型データとを組み合わせることによって、飛行時間型訓練データを生成する。いくつかの実施形態において、本明細書で説明するように、物体認識訓練方法は、さらに、敵対的生成ネットワーク、畳み込みニューラルネットワーク、回帰型ニューラルネットワーク、および、長・短期記憶を有するニューラルネットワークと組み合わせた畳み込みニューラルネットワークのうちの少なくとも1つに基づいて、飛行時間型訓練データに基づいて実際の物体を認識するアルゴリズムを生成する。いくつかの実施形態において、本明細書で説明するように、飛行時間型訓練データは、さらに、バウンディングボックス情報および画素精密マスキング情報のうちの少なくとも一方を含む。いくつかの実施形態において、本明細書で説明するように、飛行時間型訓練データは、飛行時間型画像データおよび飛行時間型信頼度データのうちの少なくとも一方を表す。いくつかの実施形態において、本明細書で説明するように、物体認識訓練方法は、さらに、さらに、ランダムデータ拡張およびハイパーパラメータチューニングのうちの少なくとも一方に基づいて飛行時間型訓練データを生成する。いくつかの実施形態において、本明細書で説明するように、物体認識訓練方法は、さらに、アーリーストッピングに基づいて、実際の物体を認識するアルゴリズムを生成する。いくつかの実施形態において、本明細書で説明するように、実際の物体には、手が含まれる。いくつかの実施形態において、本明細書で説明するように、物体認識訓練方法は、さらに、手のジェスチャを認識する。
【0103】
いくつかの実施形態は、三次元物体または奥行き画像を、例えば、3Dアニメーションソフトウェアを用いて作成する飛行時間型訓練データ生成方法に関する。係る方法において、さらに、3D物体を様々な視点で視聴するために、例えば、3Dアニメーションソフトウェアのバーチャルカメラを用いてアニメーションシークエンスが作成されてもよい。
【0104】
アニメーションシークエンスは、アルファチャンネルからの黒背景を有する奥行きチャンネルフォーマットの単一画像として記憶されてもよい。
【0105】
これらの単一画像は、「合成オーバーレイ」と称することができる。
【0106】
実際のToFカメラの場合、奥行きチャンネル画像(背景用)を記録してもよい。この場合、これらの画像が、アプリケーションコンテキストに関する多様性を表すために色々な内容を確実に有するようにすることができる。
【0107】
一般的に、いくつかの実施形態において、全ての訓練データは、シミュレートされたデータに基づくものとされてもよい。すなわち、背景もシミュレートされたものとしてもよく、必ずしも実際の飛行時間型データを用いる必要はない。他方、オーバーレイ画像は、同様に、実際のToF取得物に基づくものとしてもよく、その結果、訓練データは、純粋に実際のToFデータに基づくものとすることができる。係る実施形態では、実際のオーバーレイは、合成オーバーレイ(例えば、2値化、収縮等)について上述したものと同様に変更してもよい。
【0108】
また本明細書に記載する方法は、コンピュータおよび/またはプロセッサに、この方法を実施させるコンピュータプログラムとして、コンピュータおよび/またはプロセッサ上で実行されるときに、いくつかの実施形態において実装される。いくつかの実施形態では、上述のプロセッサのようなプロセッサによって実行されると、本明細書に記載の方法を実施させるコンピュータプログラム製品を記憶する非一時的なコンピュータ可読記録媒体も提供される。
【0109】
図1に戻ると、合成オーバーレイ画像データに基づくシミュレートされた物体2(合成(奥行き)オーバーレイとも称する)をマスクする方法、すなわち、マスクおよびシミュレートされた物体を生成する方法、または、マスクを生成する方法についての本開示の方法の一実施形態が示されている。
【0110】
本明細書で説明するように、シミュレートされた物体2は2値化され、2値化マスク3(または2値化シミュレートされた物体)が生成される。本明細書で説明するように、2値化マスク2は、収縮され、収縮マスク4が生成される(収縮された2値化シミュレートされた物体とも称する)。収縮マスク4は、ガウシアンぼかしを用いてぼかし処理され、ぼかし処理済マスク5が生成される(ぼかし処理済の収縮された2値化シミュレートされた物体とも称する)。
【0111】
図2は、本開示の飛行時間型訓練データを生成する方法10を示す。合成オーバーレイ画像データに基づく合成オーバーレイ11が処理されて、深度がランダムに変更される(12)。さらに、均一な深度ノイズが適用され(13)、ぼかし処理済マスク14が生成される。本明細書で説明するように、ぼかし処理済マスク14は合成オーバーレイ11(図示せず)に適用され、シミュレートされた飛行時間型データが生成される。
【0112】
また、実際の飛行時間型データに基づく背景画像15がマスクおよびシミュレートされた物体14と合成されることによって、実際の飛行時間型データとシミュレートされた飛行時間型データとが合成される。
【0113】
これによって、飛行時間型訓練データが生成される。当該飛行時間型訓練データは、飛行時間型画像16として
図2に示されている。
【0114】
図3aは、運転手または搭乗者によって実行されるミュートジェスチャを認識する2値CNN分類器を訓練するのに用いられる飛行時間型奥行き画像20を示す。
【0115】
ミュートジェスチャは、或る人物が自然な会話の中で相手に話を止めるように合図するときに行うようなジェスチャに基づく。
【0116】
本実施形態では、ToFカメラが車内天井に設置される。CNNは、ToFカメラの奥行きチャンネル画像を用いて、ユーザがラジオの音楽を止めるためにミュートジェスチャを行ったか否かを検出する。
【0117】
一般的に知られているように、画像20は、PositiveクラスおよびNegativeクラスに分割される。
【0118】
クラス毎に、合成オーバーレイが生成される。本明細書で説明するように、合成オーバーレイに基づいて飛行時間型訓練データ(または飛行時間型訓練画像)が生成される。
【0119】
訓練については、検証データが存在し、当該検証データに対して、オブジェクト(本実施形態では、所定のジェスチャ)が認識される(Positiveクラス)または示されていないものとして(Negativeクラス)認識される。
【0120】
図3bは、
図3aの奥行き画像20に対応する奥行き画像25の概略図であるため、重複する説明は省略する。
【0121】
図4aは、正しく装着されたシートベルトを検出する2値CNN分類器を訓練するのに用いられる飛行時間型信頼度画像30を示す。
【0122】
図3aおよび3bと同様に、画像30は、PositiveクラスおよびNegativeクラスに分割される。
【0123】
クラス毎に、合成オーバーレイ(例えば、シートベルトありのコート(Positiveクラス)およびシートベルトなしのコート(Negativeクラス)等の様々なファブリック)が生成される。本明細書で説明するように、合成オーバーレイに基づいて飛行時間型訓練データ(または飛行時間型訓練画像)が生成される。
【0124】
合成オーバーレイに関する数値を示すために、以下に非制限的な例を挙げる。
【0125】
40種類の合成ファブリックを用いて、シートベルトがある場合とない場合の異なるアセンブリで11200枚の合成オーバーレイを生成してもよい。これらの合成オーバーレイを用いて、実際のToF画像を背景として、クラス毎に42000枚の合成画像を生成してもよい。Negativeクラスでは、オーバーレイがないこれらの画像のうち50%を用いて、得られるモデルのロバスト性を向上させてもよい。さらに、8000枚の実際のToF画像を各クラスに付加してもよく、その結果、クラス毎に5万枚の画像が存在する、すなわち、合計10万枚の画像がToF訓練データを構成することができる。さらに、クラス毎の8000枚の実際のToF画像(ラベル付き)を検証に用いてもよい。しかし、これらの検証画像は、訓練画像としては用いることはできず、例えば、事前に当該ToF訓練データに対して付加された他方の8000枚の画像とは異なる複数の人物およびファブリックを含む異なる環境(例えば、異なる自動車)から導出されてもよい。
【0126】
図4aに戻ると、本実施形態では、
図4aの検証データは、車両のユーザがシートベルトを締めている車内の飛行時間型画像を表す。当該飛行時間型画像に対して、物体(本実施形態では、ユーザに重なったシートベルト)が認識される(Positiveクラス)または存在しないものとして(Negativeクラス)認識される。
【0127】
本実施形態では、信頼度チャンネル画像を用いて、ToFカメラ用のCNNベースのシートベルト検出器が図示されている。このToFカメラは車内天井に設置される。
【0128】
CNN(すなわち、アルゴリズム)は、当該カメラの信頼度チャンネル画像を用いて、運転手または搭乗者がシートベルトを正しく装着しているか否かを検出する。
【0129】
図4bは、
図3aの信頼度画像30に対応する信頼度画像35の概略図であるため、重複する説明は省略する。
【0130】
図5は、本開示の物体認識訓練回路40の一実施形態をブロック図で示す。
【0131】
この物体認識回路は、訓練対象であるニューラルネットワーク(NN)41を有する。
【0132】
当該ニューラルネットワークのレイヤ42が、合成データ(すなわち、シミュレートされたToFデータ)を生成するように構成される合成データ生成モジュール43と、本明細書で説明するようにランダムデータ拡張を適用するように構成されるランダムデータ拡張モジュール44と、本明細書で説明するようにアーリーストッピングを実行するように構成されるアーリーストッピングモジュール45と、本明細書で説明するようにハイパーパラメータチューニングを実行するように構成されるハイパーパラメータチューニングモジュールとを有する。本明細書で説明するように、アーリーストッピングモジュール45およびハイパーパラメータチューニングモジュール46によって、ラベル付き奥行きチャンネル検証群47が構成される。
【0133】
NN41の出力として、検証された訓練済モデル48が生成される。
【0134】
図6は、本開示の物体認識訓練方法50のブロック図であり、当該物体認識訓練方法50は、物体認識訓練回路40によって実行される。
【0135】
51において、本明細書で説明するように、シミュレートされた物体がマスクされることによって合成データ(すなわち、シミュレートされたToFデータ)が生成される。
【0136】
52において、本明細書で説明するように、ランダムデータ拡張が実行される。
【0137】
53において、本明細書で説明するように、適宜、アーリーストッピングが実行される。
【0138】
54において、本明細書で説明するように、適宜、ハイパーパラメータチューニングが実行される。
【0139】
これによって、55において、ラベル付き奥行きチャンネル検証群が取得され、56において訓練用モデルが取得される。
【0140】
57において、検証された訓練済モデルが生成される。
【0141】
図7は、本開示の飛行時間型カメラデータの物体認識方法60をブロック図で示す。
【0142】
61において、実際の物体が、予め訓練されたアルゴリズムに基づいて認識される。この予め訓練されたアルゴリズムは、飛行時間型訓練データに基づいて訓練される。本明細書で説明するように、当該飛行時間型訓練データは、背景を示す実際の飛行時間型データと、シミュレートされた物体を表す合成オーバーレイ画像データに、合成オーバーレイ画像データに基づいて生成されたマスクを適用することによって生成されるシミュレートされた飛行時間型データとの組み合わせに基づいて生成されることによって、マスクおよびシミュレートされた物体を生成する。
【0143】
図8は、本開示の飛行時間型カメラデータの物体認識方法70のさらなる実施形態をブロック図で示す。
【0144】
71において、本明細書で説明するように、手のジェスチャ(オブジェクト)が、予め訓練されたアルゴリズムに基づいて認識される。
【0145】
図11を参照すると、奥行き感知または距離測定の提供に使用可能な飛行時間型(ToF)撮像装置80の一実施形態が図示されており、特に、本明細書で論じられるような技術のために、ToF撮像装置80がiToFカメラとして構成される。
ToF撮像装置80は、本明細書に記載する方法を実施するように構成され、ToF撮像装置80の制御を構成する飛行時間型物体認識回路147を有する(そして、図示しないが、当業者には一般的に知られているような、対応するプロセッサ、メモリおよび記憶装置を含む)。
【0146】
このToF撮像装置80は、変調光源81と、発光素子(レーザダイオードに基づく)とを備えており、本実施形態では、発光素子は狭帯域レーザ素子である。
【0147】
光源81は、光を反射するシーン82(注目領域またはオブジェクト)に対して、本明細書で説明するように、光、すなわち変調された光を発する。反射された光は、光学スタック83によって光検出器84に集束される。
【0148】
光検出器84は、飛行時間型撮像部分を有し、これは、ピクセルのアレイに形成された複数のCAPD(Current Assisted Photonic Demodulator)と、シーン82から反射された光を飛行時間型撮像部分85に(イメージセンサ85の各画素に)集束させるマイクロレンズアレイ86と、に基づいて実装される。
【0149】
この光発光時間および変調情報は、飛行時間型計測部88を含む飛行時間型物体認識回路または制御部87に送られ、これはまた飛行時間型撮像部85からそれぞれの情報を受信し、この光がシーン82から反射されて検出される。光源81から受光された変調光に基づいて、飛行時間計測部88は、光源81から出射され、シーン82で反射された受光変調光の位相シフトを計算し、それに基づいて、イメージセンサ85とシーン82との距離d(奥行き情報)を計算する。
【0150】
奥行き情報は、飛行時間計測部88から飛行時間型イメージセンサ回路87の3D画像再構成ユニット89に供給され、奥行きデータに基づいてシーン82の3D画像を再構成(生成)する。さらに、本明細書で説明するように、オブジェクトROI検出、画像ラベル付け、モルフォロジー演算の適用、および携帯電話認識が実行される。
【0151】
本開示の一実施形態による技術は、様々な製品に適用可能である。例えば、本開示の一実施形態に係る技術は、自動車、電気自動車、ハイブリッド電気自動車、自動二輪車、自転車、パーソナルモビリティービークル、飛行機、ドローン、船舶、ロボット、建設機械、農業機械(トラクタ)等の任意の種類である移動体に含まれる装置として実施することができる。
【0152】
図10は、本開示の一実施形態に係る技術を適用可能な移動体制御システムの一例としての車両制御システム7000の概略構成例を示すブロック図である。
車両制御システム7000は、通信ネットワーク7010を介して接続された複数の電子制御ユニットを備える。
図10に示した例では、車両制御システム7000は、駆動系制御ユニット7100、ボディ系制御ユニット7200、バッテリ制御ユニット7300、車外情報検出ユニット7400、車内情報検出ユニット7500、および統合制御ユニット7600を備える。これらの複数の制御ユニットを接続する通信ネットワーク7010は、例えば、CAN(Controller Area Network)、LIN(Local Interconnect Network)、LAN(Local Area Network)またはFlexRay(登録商標)等の任意の規格に準拠した車載通信ネットワークであってよい。
【0153】
各制御ユニットは、各種プログラムにしたがって演算処理を行うマイクロコンピュータと、マイクロコンピュータにより実行されるプログラムまたは各種演算に用いられるパラメータ等を記憶する記憶部と、各種制御対象の装置を駆動する駆動回路とを備える。
各制御ユニットは、通信ネットワーク7010を介して他の制御ユニットとの間で通信を行うためのネットワークI/Fを備えるとともに、車内外の装置またはセンサ等との間で、有線通信または無線通信により通信を行うための通信I/Fを備える。
図10では、統合制御ユニット7600の機能構成として、マイクロコンピュータ7610、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660、音声画像出力部7670、車載ネットワークI/F7680および記憶部7690が図示されている。他の制御ユニットも同様に、マイクロコンピュータ、通信I/Fおよび記憶部等を備える。
【0154】
駆動系制御ユニット7100は、各種プログラムにしたがって車両の駆動系に関連する装置の動作を制御する。例えば、駆動系制御ユニット7100は、内燃機関または駆動用モータ等の車両の駆動力を発生させるための駆動力発生装置、駆動力を車輪に伝達するための駆動力伝達機構、車両の舵角を調節するステアリング機構、および、車両の制動力を発生させる制動装置等の制御装置として機能する。
駆動系制御ユニット7100は、ABS(Antilock Brake System)またはESC(Electronic Stability Control)等の制御装置としての機能を有してもよい。
【0155】
駆動系制御ユニット7100には、車両状態検出部7110が接続される。車両状態検出部7110には、例えば、車体の軸回転運動の角速度を検出するジャイロセンサ、車両の加速度を検出する加速度センサ、あるいは、アクセルペダルの操作量、ブレーキペダルの操作量、ステアリングホイールの操舵角、エンジン回転または車輪の回転速度等を検出するためのセンサのうちの少なくとも一つが含まれる。
駆動系制御ユニット7100は、車両状態検出部7110から入力される信号を用いて演算処理を行い、内燃機関、駆動用モータ、電動パワーステアリング装置またはブレーキ装置等を制御する。
【0156】
ボディ系制御ユニット7200は、各種プログラムにしたがって車体に装備された各種装置の動作を制御する。例えば、ボディ系制御ユニット7200は、キーレスエントリシステム、スマートキーシステム、パワーウィンドウ装置、あるいは、ヘッドランプ、バックランプ、ブレーキランプ、ウィンカーまたはフォグランプ等の各種ランプの制御装置として機能する。
この場合、ボディ系制御ユニット7200には、鍵を代替する携帯機から発信される電波または各種スイッチの信号が入力され得る。ボディ系制御ユニット7200は、これらの電波または信号の入力を受け付け、車両のドアロック装置、パワーウィンドウ装置、ランプ等を制御する。
【0157】
バッテリ制御ユニット7300は、各種プログラムにしたがって駆動用モータの電力供給源である二次バッテリ7310を制御する。例えば、バッテリ制御ユニット7300には、二次バッテリ7310を備えたバッテリ装置から、バッテリ温度、バッテリ出力電圧またはバッテリの残存容量等の情報が入力される。バッテリ制御ユニット7300は、これらの信号を用いて演算処理を行い、二次バッテリ7310の温度調節制御またはバッテリ装置に備えられた冷却装置等の制御を行う。
【0158】
車外情報検出ユニット7400は、車両制御システム7000を搭載した車両の外部の情報を検出する。例えば、車外情報検出ユニット7400には、撮像部7410および車外情報検出部7420のうちの少なくとも一方が接続される。撮像部7410は、ToF(time-of-flight)カメラ、ステレオカメラ、単眼カメラ、赤外線カメラ、その他のカメラのうちの少なくとも1つを含む。
車外情報検出部7420には、例えば、現在の天候または気象を検出するための環境センサ、もしくは、車両制御システム7000を搭載した車両の周囲の他の車両、障害物または歩行者等を検出するための周囲情報検出センサのうちの少なくとも1つが含まれる。
【0159】
環境センサは、例えば、雨天を検出する雨滴センサ、霧を検出する霧センサ、日照度合いを検出する日照センサ、および降雪を検出する雪センサのうちの少なくとも一つであってよい。周囲情報検出センサは、超音波センサ、レーダ装置およびLIDAR(Light detection and Ranging deviceまたはLaser imaging detection and ranging device)装置のうちの少なくとも1であってよい。これらの撮像部7410および車外情報検出部7420は、それぞれ独立したセンサないし装置として備えられてもよいし、複数のセンサないし装置が統合された装置として備えられてもよい。
【0160】
図11は、撮像部7410および車外情報検出部7420の設置位置の例を示す。
撮像部7910、7912、7914、7916、および7918は、例えば、前ノーズ、サイドビューミラー、リアバンパ、および車両7900のバックドア上の位置と、車両内部のフロントガラスの上部分の位置とのうちの少なくとも1つに配置される。フロントノーズに備えられる撮像部7910および車室内のフロントガラスの上部に備えられる撮像部7918は、主として車両7900の前方の画像を取得する。
サイドミラーに備えられる撮像部7912,7914は、主として車両7900の側方の画像を取得する。リアバンパまたはバックドアに備えられる撮像部7916は、主として車両7900の後方の画像を取得する。車室内のフロントガラスの上部に備えられる撮像部7918は、主として先行車両、歩行者、障害物、信号機、交通標識または車線等の検出に用いられる。
【0161】
なお、
図11には、それぞれの撮像部7910,7912,7914,7916の撮影範囲の一例が示されている。撮像範囲aは、フロントノーズに設けられた撮像部7910の撮像範囲を示し、撮像範囲b,cは、それぞれサイドミラーに設けられた撮像部7912,7914の撮像範囲を示し、撮像範囲dは、リアバンパまたはバックドアに設けられた撮像部7916の撮像範囲を示す。
例えば、撮像部7910,7912,7914,7916で撮像された画像データが重ね合わせられることにより、車両7900を上方から見た俯瞰画像が得られる。
【0162】
車両7900のフロント、リア、サイド、コーナおよび車室内のフロントガラスの上部に設けられる車外情報検出部7920,7922,7924,7926,7928,7930は、例えば超音波センサまたはレーダ装置であってよい。車両7900のフロントノーズ、リアバンパ、バックドアおよび車室内のフロントガラスの上部に設けられる車外情報検出部7920,7926,7930は、例えばLIDAR装置であってよい。これらの車外情報検出部7920~7930は、主として先行車両、歩行者または障害物等の検出に用いられる。
【0163】
図10に戻って説明を続ける。車外情報検出ユニット7400は、撮像部7410に車外の画像を撮像させるとともに、撮像された画像データを受信する。また、車外情報検出ユニット7400は、接続されている車外情報検出部7420から検出情報を受信する。車外情報検出部7420が超音波センサ、レーダ装置またはLIDAR装置である場合には、車外情報検出ユニット7400は、超音波または電磁波等を発信させるとともに、受信された反射波の情報を受信する。
車外情報検出ユニット7400は、受信した情報に基づいて、人、車、障害物、標識または路面上の文字等の物体検出処理または距離検出処理を行ってもよい。車外情報検出ユニット7400は、受信した情報に基づいて、降雨、霧または路面状況等を認識する環境認識処理を行ってもよい。車外情報検出ユニット7400は、受信した情報に基づいて、車外の物体までの距離を算出してもよい。
【0164】
また、車外情報検出ユニット7400は、受信した画像データに基づいて、人、車、障害物、標識または路面上の文字等を認識する画像認識処理または距離検出処理を行ってもよい。車外情報検出ユニット7400は、受信した画像データに対して歪補正または位置合わせ等の処理を行うとともに、異なる撮像部7410により撮像された画像データを合成して、俯瞰画像またはパノラマ画像を生成してもよい。車外情報検出ユニット7400は、異なる撮像部7410により撮像された画像データを用いて、視点変換処理を行ってもよい。
【0165】
車両情報検出部7500は、車内の情報を検出する。さらに、車載情報検出部7500には、例えば、ドライバの状態を検出するドライバ状態検出部7510が接続されている。運転者状態検出部7510は、運転者を撮像するカメラ、運転者の生体情報を検出する生体センサまたは車室内の音声を集音するマイク等を含んでもよい。
生体センサは、例えば、座面またはステアリングホイール等に設けられ、座席に座った搭乗者またはステアリングホイールを握る運転者の生体情報を検出する。車内情報検出ユニット7500は、運転者状態検出部7510から入力される検出情報に基づいて、運転者の疲労度合いまたは集中度合いを算出してもよいし、運転者が居眠りをしていないかを判別してもよい。
車内情報検出ユニット7500は、集音された音声信号に対してノイズキャンセリング処理等の処理を行ってもよい。
【0166】
統合制御ユニット7600は、各種プログラムにしたがって車両制御システム7000内の動作全般を制御する。統合制御ユニット7600には、入力部7800が接続されている。入力部7800は、例えば、タッチパネル、ボタン、マイクロフォン、スイッチまたはレバー等、搭乗者によって入力操作され得る装置によって実現される。統合制御ユニット7600には、マイクロフォンにより入力される音声を音声認識することにより得たデータが入力されてもよい。
入力部7800は、例えば、赤外線または他の電波を使用する遠隔制御装置、あるいは、移動電話、携帯情報端末(PDA)などの外部接続装置であって、車両制御システム7000の動作をサポートするものであってもよい。入力部7800は、例えばカメラであってもよく、その場合搭乗者はジェスチャにより情報を入力することができる。あるいは、搭乗者が装着したウェアラブル装置の動きを検出することで得られたデータが入力されてもよい。
また、入力部7800は、例えば、の入力部7800を用いて搭乗者等により入力された情報に基づいて入力信号を生成し、統合制御ユニット7600に出力する入力制御回路などを含んでもよい。搭乗者等は、この入力部7800を操作することにより、車両制御システム7000に対して各種のデータを入力したり処理動作を指示したりする。
【0167】
記憶部7690は、マイクロコンピュータによって実行される様々な種類のプログラムを記憶する読み出し専用メモリと、様々な種類のパラメータ、動作結果、センサ値等を記憶するランダムアクセスメモリとを備えてもよい。また、記憶部7690は、HDD(Hard Disc Drive)のような磁気記憶デバイス、半導体記憶デバイス、光記憶デバイスまたは光磁気記憶デバイス等によって実現してもよい。
【0168】
汎用通信I/F7620は、外部環境7750に存在する様々な機器との間の通信を仲介する汎用的な通信I/Fである。汎用通信I/F7620は、モバイル通信のためのグローバル・システム(GSM(登録商標))、マイクロ波アクセスのための世界規模の相互運用性(WiMAX(登録商標))、長期進化(LTE(登録商標))、LTE-advanced(LTE-A)などのセルラ通信プロトコル、または、無線LAN(無線フィデリティ(Wi-Fi(登録商標)とも呼ばれる)、Bluetooth(登録商標)などの別の無線通信プロトコルを実装してもよい。
汎用通信I/F7620は、例えば、基地局またはアクセスポイントを介して、外部ネットワーク(例えば、インターネット、クラウドネットワークまたは事業者固有のネットワーク)上に存在する機器(例えば、アプリケーションサーバまたは制御サーバ)へ接続してもよい。また、汎用通信I/F7620は、例えばP2P(Peer to Peer)技術を用いて、車両の近傍に存在する端末(例えば、運転者、歩行者若しくは店舗の端末、またはMTC(Machine Type Communication)端末)と接続してもよい。
【0169】
専用通信I/F7630は、車両における使用を目的として策定された通信プロトコルをサポートする通信I/Fである。専用通信I/F7630は、例えば、車両環境における無線アクセス(WAVE)のような標準プロトコルを実装してもよく、これは、下レイヤとしての電気・電子技術者研究所(IEEE)802.11pと、上位レイヤとしてのIEEE 1609、専用短距離通信(DSRC)、またはセルラ通信プロトコルの組み合わせである。
専用通信I/F7630は、典型的には、車車間(Vehicle to Vehicle)通信、路車間(Vehicle to Infrastructure)通信、車両と家との間(Vehicle to Home)の通信および歩車間(Vehicle to Pedestrian)通信のうちの1つ以上を含む概念であるV2X通信を遂行する。
【0170】
測位部7640は、例えば、GNSS(Global Navigation Satellite System)衛星からのGNSS信号(例えば、GPS(Global Positioning System)衛星からのGPS信号)を受信して測位を実行し、車両の緯度、経度および高度を含む位置情報を生成する。なお、測位部7640は、無線アクセスポイントとの信号の交換により現在位置を特定してもよく、もしくは測位機能を有する携帯電話、PHSまたはスマートフォンといった端末から位置情報を取得してもよい。
【0171】
ビーコン受信部7650は、例えば、道路上に設置された無線局から発信される電波あるいは電磁波を受信し、現在位置、渋滞、通行止めまたは所要時間等の情報を取得する。なお、ビーコン受信部7650の機能は、上述した専用通信I/F7630に含まれてもよい。
【0172】
車内機器I/F7660は、マイクロコンピュータ7610と車内に存在する様々な車内機器7760との間の接続を仲介する通信インターフェースである。車内機器I/F7660は、無線LAN、Bluetooth(登録商標)、NFC(Near Field Communication)またはWUSB(Wireless USB)といった無線通信プロトコルを用いて無線接続を確立してもよい。
また、車内機器I/F7660は、図示しない接続端子(および、必要であればケーブル)を介して、USB(Universal Serial Bus)、HDMI(登録商標)(High-Definition Multimedia Interface、またはMHL(Mobile High-Definition Link)等の有線接続を確立してもよい。車内機器7760は、例えば、搭乗者が有するモバイル機器またはウェアラブル機器、もしくは車両に搬入されまたは取り付けられる情報機器のうちの少なくとも1つを含んでいてもよい。
また、車内機器7760は、任意の目的地までの経路探索を行うナビゲーション装置を含んでいてもよい。車内機器I/F7660は、これらの車内機器7760との間で、制御信号またはデータ信号を交換する。
【0173】
車載ネットワークI/F7680は、マイクロコンピュータ7610と通信ネットワーク7010との間の通信を仲介するインターフェースである。車載ネットワークI/F7680は、通信ネットワーク7010によりサポートされる所定のプロトコルに則して、信号等を送受信する。
【0174】
統合制御ユニット7600のマイクロコンピュータ7610は、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660および車載ネットワークI/F7680のうちの少なくとも1つを介して取得される情報に基づき、各種プログラムにしたがって、車両制御システム7000を制御する。
例えば、マイクロコンピュータ7610は、取得される車内外の情報に基づいて、駆動力発生装置、ステアリング機構または制動装置の制御目標値を演算し、駆動系制御ユニット7100に対して制御指令を出力してもよい。例えば、マイクロコンピュータ7610は、車両の衝突回避または衝撃緩和、車間距離に基づく追従走行、車速維持走行、車両の衝突警告、もしくは車両のレーン逸脱警告等を含むADAS(Advanced Driver Assistance System)の機能実現を目的とした協調制御を行ってもよい。
また、マイクロコンピュータ7610は、取得される車両の周囲の情報に基づいて駆動力発生装置、ステアリング機構または制動装置等を制御することにより、運転者の操作に拠らずに自律的に走行する自動運転等を目的とした協調制御を行ってもよい。
【0175】
マイクロコンピュータ7610は、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受付部7650、車載装置I/F7660、車両搭載ネットワークI/F7680の少なくとも1つを介して取得した情報に基づいて、車両と周囲構造や人物などの物体との間の三次元距離情報を生成し、車両の現在位置に関する情報を含むローカルマップ情報を生成してもよい。
また、マイクロコンピュータ7610は、取得される情報に基づき、車両の衝突、歩行者等の近接または通行止めの道路への進入等の危険を予測し、警告用信号を生成してもよい。警告用信号は、例えば、警告音を発生させたり、警告ランプを点灯させたりするための信号であってよい。
【0176】
音声画像出力部7670は、車両の搭乗者または車外に対して、視覚的または聴覚的に情報を通知することが可能な出力装置へ音声および画像のうちの少なくとも一方の出力信号を送信する。
図10の例では、出力装置として、オーディオスピーカ7710、表示部7720およびインストルメントパネル7730が例示されている。
表示部7720は、例えば、オンボードディスプレイおよびヘッドアップディスプレイの少なくとも1つを含んでいてもよい。表示部7720は、AR(Augmented Reality)表示機能を有していてもよい。出力装置は、これらの装置以外の、ヘッドホン、搭乗者が装着する眼鏡型ディスプレイのようなウェアラブルデバイス、プロジェクタまたはランプ等の他の装置であってもよい。
出力装置が表示装置の場合、表示装置は、マイクロコンピュータ7610が行った各種処理により得られた結果または他の制御ユニットから受信された情報を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。また、出力装置が音声出力装置の場合、音声出力装置は、再生された音声データまたは音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。
【0177】
なお、
図10に示した例の通信ネットワーク7010を介して互いに接続された少なくとも2つの制御部を1つの制御部に統合してもよい。あるいは、個々の制御ユニットが、複数の制御ユニットにより構成されてもよい。さらに、車両制御システム7000が、図示されていない別の制御ユニットを備えてもよい。
また、の説明において、いずれかの制御ユニットが担う機能の一部または全部を、他の制御ユニットに持たせてもよい。つまり、通信ネットワーク7010を介して情報の送受信がされるようになっていれば、所定の演算処理が、いずれかの制御ユニットで行われるようになってもよい。同様に、いずれかの制御ユニットに接続されているセンサまたは装置が、他の制御ユニットに接続されるとともに、複数の制御ユニットが、通信ネットワーク7010を介して相互に検出情報を送受信してもよい。
【0178】
なお、本開示に係る物体認識回路または物体認識訓練回路の機能を実現するためのコンピュータプログラムは、いずれかの制御部等に実装することができる。また、このようなコンピュータプログラムを記憶したコンピュータ読み取り可能な記録媒体も設けることができる。
記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ等である。また、上述したコンピュータプログラムを、例えば記録媒体を使用せずに、ネットワークを介して配布してもよい。
【0179】
なお、上述した車両制御システム7000において、本開示に係る物体認識回路は、
図10に示した応用例における統合制御ユニット7600に適用することができる。
【0180】
また、物体認識回路の構成要素の少なくとも一部を、
図10に示す統合制御ユニット7600用のモジュール(例えば、単一のダイで構成された集積回路モジュール)に実装することができる。あるいは、物体認識回路は、
図10に示す車両制御システム7000の複数の制御ユニットによって実現されてもよい。
図12は、本開示の物体認識訓練方法100をブロック図で示す。
【0181】
101において、複数の奥行き画像を記憶した記憶部から実際のToFデータを取得する。
【0182】
102において、シミュレートされた物体を示す合成オーバーレイ画像データを記憶した記憶部から合成オーバーレイ画像データ102を取得する
【0183】
103において、本明細書で説明するように、2値化、収縮、およびぼかしに基づいてマスクを生成する。さらに、本明細書で説明するように、ランダム明るさ変化、均一な明るさノイズの適用に基づいて、且つ、背景に基づく合成オーバーレイ画像データのバランシングに基づいてマスクを生成する。
【0184】
104において、このマスクを合成オーバーレイ画像データに適用する。
【0185】
105において、本明細書で説明するように、結果として得られるToFデータが、(シミュレートされたToFデータに基づいて)認識対象の物体と、(実際のToFデータに基づいて)背景とを示すように、実際のToFデータと合成ToFデータとを合成する。
【0186】
これによって、106において、ToF訓練データが生成される。当該ToF訓練データは、バウンディングボックス情報と画素精密マスキング情報とをさらに含む。当該ToF訓練データは、奥行き画像データと信頼度データの両方を含む。
【0187】
106において、本明細書で説明するように、ランダムデータ拡張およびハイパーパラメータチューニングに基づいてToF訓練データをさらに生成する。ここでは、アーリーストッピングを適用する。
【0188】
107において、本明細書で説明するように、CNNにおいてToF訓練データに基づいて実際の物体を認識するためにアルゴリズムを生成する。このアルゴリズムを、本明細書で説明するように、アーリーストッピングに基づいてさらに生成する。
【0189】
108において、実際の物体としての手のジェスチャを認識し、当該アルゴリズムが検証される。
【0190】
上述した実施形態は、方法ステップの例示的な順序付けを伴う方法を説明していることを理解されたい。しかしながら、方法ステップの特定の順序付けは、例示のみを目的として与えられており、結合力のあるものとして解釈されるべきではない。例えば、
図2の実施形態における12と13の順序付けを交換してもよい。また、
図12の実施形態における101と102の順序付けを交換してもよい。方法ステップの順序の他の変更も、当業者には明らかであろう。
【0191】
なお、物体検出回路87を各部88および89に分割するのは、例示の目的のみであり、本開示は特定のユニットにおける機能の特定の分割に限定されない。例えば、物体検出回路87は、それぞれのプログラムされたプロセッサ、フィールド・プログラマブル・ゲート・アレイ等によって実現されてもよい。本明細書に記載され、添付の特許請求の範囲に請求されるすべてのユニットおよびエンティティは別段の記載がない限り、例えばチップ上の集積回路ロジックとして実装することができ、そのようなユニットおよびエンティティによって提供される機能は、別段の記載がない限り、ソフトウェアによって実装することができる。
【0192】
上述の開示の実施形態が少なくとも部分的に、ソフトウェア制御されたデータ処理装置を使用して実施される限り、そのようなソフトウェア制御を提供するコンピュータプログラム、およびそのようなコンピュータプログラムが提供される伝送、記憶、または他の媒体が、本開示の態様として想定されることが理解される。
【0193】
なお、本技術は以下のような構成も取ることができる。
【0194】
(1) 飛行時間型カメラデータの物体認識方法であって、予め訓練されたアルゴリズムに基づいて実際の物体を認識し、
前記予め訓練されたアルゴリズムは、飛行時間型訓練データに基づいて訓練され、
前記飛行時間型訓練データは、背景を示す実際の飛行時間型データと、シミュレートされた物体を表す合成オーバーレイ画像データに対して当該合成オーバーレイ画像データに基づいて生成されるマスクを適用することによって生成されるシミュレートされた飛行時間型データとの組み合わせに基づいて生成されることによって、マスクおよびシミュレートされた物体を生成する
物体認識方法。
【0195】
(2) (1)に記載の物体認識方法であって、
前記マスクは、前記シミュレートされた物体の2値化、前記シミュレートされた物体の収縮、および前記シミュレートされた物体のぼかしのうちの少なくとも1つに基づく
物体認識方法。
【0196】
(3) (1)または(2)に記載の物体認識方法であって、
前記マスクは、ランダム明るさ変化、均一な明るさノイズ、および前記背景に基づく前記合成オーバーレイ画像データのバランシングのうちの少なくとも1つの前記シミュレートされた物体に対する適用に基づく
物体認識方法。
【0197】
(4) (1)~(3)のいずれか1つに記載の物体認識方法であって、
前記予め訓練されたアルゴリズムは、敵対的生成ネットワーク、畳み込みニューラルネットワーク、回帰型ニューラルネットワーク、および、長・短期記憶を有するニューラルネットワークと組み合わせた畳み込みニューラルネットワークのうちの少なくとも1つに基づく
物体認識方法。
【0198】
(5) (1)~(4)のいずれか1つに記載の物体認識方法であって、
前記飛行時間型訓練データは、さらに、バウンディングボックス情報および画素精密マスキング情報のうちの少なくとも一方を含む
物体認識方法。
【0199】
(6) (1)~(5)のいずれか1つに記載の物体認識方法であって、
前記飛行時間型訓練データは、飛行時間型画像データおよび飛行時間型信頼度データのうちの少なくとも一方を表す
物体認識方法。
【0200】
(7) (1)~(6)のいずれか1つに記載の物体認識方法であって、
前記飛行時間型訓練データは、さらに、ランダムデータ拡張およびハイパーパラメータチューニングのうちの少なくとも一方に基づくものである
物体認識方法。
(8) (1)~(7)のいずれか1つに記載の物体認識方法であって、
前記予め訓練されたアルゴリズムは、さらに、アーリーストッピングに基づいて訓練される
物体認識方法。
【0201】
(9) (1)~(8)のいずれか1つに記載の物体認識方法であって、
前記実際の物体には、手が含まれる
物体認識方法。
【0202】
(10) (1)~(9)のいずれか1つに記載の物体認識方法であって、さらに、
前記手のジェスチャを認識する
物体認識方法。
【0203】
(11) コンピュータ上で実行されるときに、コンピュータに(1)~(10)のいずれか1つに記載の方法を実施させるプログラムコードを具備するコンピュータプログラム。
【0204】
(12) コンピュータプログラム製品を記憶し、プロセッサによって実行されると、(1)~(10)のいずれか1つに記載の方法を実施させる非一時的なコンピュータ読取可能な記録媒体。
【0205】
(13) 飛行時間型カメラデータ上の物体を認識する飛行時間型物体認識回路であって、予め訓練されたアルゴリズムに基づいて実際の物体を認識するように構成され、
前記予め訓練されたアルゴリズムは、飛行時間型訓練データに基づいて訓練され、
前記飛行時間型訓練データは、背景を示す実際の飛行時間型データと、シミュレートされた物体を表す合成オーバーレイ画像データに対して当該合成オーバーレイ画像データに基づいて生成されるマスクを適用することによって生成されるシミュレートされた飛行時間型データとの組み合わせに基づいて生成されることによって、マスクおよびシミュレートされた物体を生成する
飛行時間型物体認識回路。
【0206】
(14) (13)に記載の飛行時間型物体認識回路であって、
前記マスクは、前記シミュレートされた物体の2値化、前記シミュレートされた物体の収縮、および前記シミュレートされた物体のぼかしのうちの少なくとも1つに基づく
飛行時間型物体認識回路。
【0207】
(15) (13)または(14)に記載の飛行時間型物体認識回路であって、
前記マスクは、ランダム明るさ変化、均一な明るさノイズ、および前記背景に基づく前記合成オーバーレイ画像データのバランシングのうちの少なくとも1つの前記シミュレートされた物体に対する適用に基づく
飛行時間型物体認識回路。
【0208】
(16) (13)~(15)のいずれか1つに記載の飛行時間型物体認識回路であって、
前記予め訓練されたアルゴリズムは、敵対的生成ネットワーク、畳み込みニューラルネットワーク、回帰型ニューラルネットワーク、および、長・短期記憶を有するニューラルネットワークと組み合わせた畳み込みニューラルネットワークのうちの少なくとも1つに基づく
飛行時間型物体認識回路。
【0209】
(17) (13)~(16)のいずれか1つに記載の飛行時間型物体認識回路であって、
前記飛行時間型訓練データは、さらに、バウンディングボックス情報および画素精密マスキング情報のうちの少なくとも一方を含む
飛行時間型物体認識回路。
(18) (13)~(17)のいずれか1つに記載の飛行時間型物体認識回路であって、
前記飛行時間型訓練データは、飛行時間型画像データおよび飛行時間型信頼度データのうちの少なくとも一方を表す
飛行時間型物体認識回路。
【0210】
(19) (13)~(18)のいずれか1つに記載の飛行時間型物体認識回路であって、
前記飛行時間型訓練データは、さらに、ランダムデータ拡張およびハイパーパラメータチューニングのうちの少なくとも一方に基づくものである
飛行時間型物体認識回路。
【0211】
(20) (13)~(19)のいずれか1つに記載の飛行時間型物体認識回路であって、
前記予め訓練されたアルゴリズムは、さらに、アーリーストッピングに基づいて訓練される
飛行時間型物体認識回路。
【0212】
(21) (13)~(20)のいずれか1つに記載の飛行時間型物体認識回路であって、
前記実際の物体には、手が含まれる
飛行時間型物体認識回路。
【0213】
(22) (21)に記載の飛行時間型物体認識回路であって、さらに、
前記手のジェスチャを認識するように構成される
飛行時間型物体認識回路。
【0214】
(23) 飛行時間型カメラデータの物体認識訓練方法であって、
背景を示す実際の飛行時間型データと、シミュレートされた物体を表す合成オーバーレイ画像データに対して当該合成オーバーレイ画像データに基づいて生成されるマスクを適用することによって生成されるシミュレートされた飛行時間型データとの組み合わせに基づいて飛行時間型訓練データを生成することによって、マスクおよびシミュレートされた物体を生成する
物体認識訓練方法。
【0215】
(24) (23)に記載の物体認識訓練方法であって、さらに、
前記実際の飛行時間型データを取得する
物体認識訓練方法。
【0216】
(25) (23)または(24)に記載の物体認識方法であって、さらに、
合成オーバーレイ画像データを取得する
物体認識訓練方法。
【0217】
(26) (25)に記載の物体認識訓練方法であって、さらに、
前記合成オーバーレイ画像データに基づいてマスクを生成する
物体認識訓練方法。
【0218】
(27) (26)に記載の物体認識訓練方法であって、さらに、
前記シミュレートされた物体の2値化、前記シミュレートされた物体の収縮、および前記シミュレートされた物体のぼかしのうちの少なくとも1つに基づいて前記マスクを生成する
物体認識訓練方法。
【0219】
(28) (26)または(27)に記載の物体認識訓練方法であって、さらに、
ランダム明るさ変化、均一な明るさノイズ、および前記背景に基づく前記合成オーバーレイ画像データのバランシングのうちの少なくとも1つの前記シミュレートされた物体に対する適用に基づいて前記マスクを生成する
物体認識訓練方法。
【0220】
(29) (26)~(28)のいずれか1つに記載の物体認識訓練方法であって、さらに、
前記マスクを前記合成オーバーレイ画像データに適用することで、前記シミュレートされた飛行時間型データを生成する
物体認識訓練方法。
【0221】
(30) (23)~(29)のいずれか1つに記載の物体認識訓練方法であって、さらに、
前記実際の飛行時間型データと前記シミュレートされた飛行時間型データとを組み合わせることによって、前記飛行時間型訓練データを生成する
物体認識訓練方法。
【0222】
(31) (23)~(30)のいずれか1つに記載の物体認識訓練方法であって、さらに、
敵対的生成ネットワーク、畳み込みニューラルネットワーク、回帰型ニューラルネットワーク、および、長・短期記憶を有するニューラルネットワークと組み合わせた畳み込みニューラルネットワークのうちの少なくとも1つに基づいて、前記飛行時間型訓練データに基づいて前記実際の物体を認識するアルゴリズムを生成する
物体認識訓練方法。
【0223】
(32) (23)~(31)のいずれか1つに記載の物体認識訓練方法であって、
前記飛行時間型訓練データは、さらに、バウンディングボックス情報および画素精密マスキング情報のうちの少なくとも一方を含む
物体認識訓練方法。
【0224】
(33) (23)~(32)のいずれか1つに記載の物体認識訓練方法であって、
前記飛行時間型訓練データは、飛行時間型画像データおよび飛行時間型信頼度データのうちの少なくとも一方を表す
物体認識訓練方法。
【0225】
(34) (23)~(33)のいずれか1つに記載の物体認識訓練方法であって、さらに、
ランダムデータ拡張およびハイパーパラメータチューニングのうちの少なくとも一方にさらに基づいて前記飛行時間型訓練データを生成する
物体認識訓練方法。
【0226】
(35) (23)~(34)のいずれか1つに記載の物体認識訓練方法であって、さらに、
アーリーストッピングに基づいて、前記実際の物体を認識するアルゴリズムを生成する
物体認識訓練方法。
【0227】
(36) (23)~(35)のいずれか1つに記載の物体認識訓練方法であって、
前記実際の物体には、手が含まれる
物体認識訓練方法。
【0228】
(37) (36)に記載の物体認識訓練方法であって、さらに、
前記手のジェスチャを認識する
物体認識訓練方法。
【0229】
(38) コンピュータ上で実行されるときに、コンピュータに(21)~(37)のいずれか1つに記載の方法を実施させるプログラムコードを具備するコンピュータプログラム。
【0230】
(39) コンピュータプログラム製品を記憶し、プロセッサによって実行されると、(21)~(37)のいずれか1つに記載の方法を実施させる非一時的なコンピュータ読取可能な記録媒体。