(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-25
(45)【発行日】2024-12-03
(54)【発明の名称】情報処理装置、情報処理方法及び情報処理プログラム
(51)【国際特許分類】
G06N 3/02 20060101AFI20241126BHJP
G08G 1/16 20060101ALI20241126BHJP
【FI】
G06N3/02
G08G1/16 C
(21)【出願番号】P 2021555113
(86)(22)【出願日】2020-11-05
(86)【国際出願番号】 JP2020041428
(87)【国際公開番号】W WO2021090897
(87)【国際公開日】2021-05-14
【審査請求日】2023-10-16
(31)【優先権主張番号】P 2019203462
(32)【優先日】2019-11-08
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】鈴木 健二
(72)【発明者】
【氏名】小林 由幸
【審査官】真木 健彦
(56)【参考文献】
【文献】国際公開第2019/087561(WO,A1)
【文献】MORI Keisuke, et al.,Visual Explanation by Attention Branch Network for End-to-end Learning-based Self-driving,2019 IEEE Intelligent Vehicles Symposium (IV),IEEE,2019年06月09日,P.1577-1582
【文献】SELVARAJU Ramprasaath R., et al.,Grad-CAM: Visual explanations from Deep Networks via Gradient-based Localization,2017年,P.618-626,Internet: <URL: https://openaccess.thecvf.com /content_ICCV_2017/papers/Selvaraju_Grad-CAM_Visual_Explanations_ICCV_2017_paper.pdf>
【文献】RIEGER Laura, et al.,Aggregating explainability methods for neural networks stabilizes explanations,arXiv,2019年03月01日,全10頁, Internet: <URL: https://arxiv.org/pdf/1903.00519v1.pdf>
【文献】KIM Jinkyu, et al.,Interpretable Learning for Self-Driving Cars by Visualizing Causal Attention,CVF,2017年,P.2942-2943,Internet: <URL: https://openaccess.thecvf.com/content_ICCV_2017/papers/ Kim_Interpretable_Learning_for_ICCV_2017_paper.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/02
G08G 1/16
(57)【特許請求の範囲】
【請求項1】
ニューラルネットワークの構造を有
し、自律的に移動可能な移動体の制御に用いられるモデルと、前記モデルに入力される入力情報と
、前記移動体の乗車者の生体情報とを取得する取得部と、
前記モデルへの前記入力情報の入力後の前記モデルの状態を示す状態情報に基づいて、前記モデルへの前記入力情報の入力後の前記
移動体の
制御の根拠を示す根拠情報を生成する生成部と、
を備え
、
前記生成部により生成された前記移動体の制御の根拠を示す根拠情報とともに前記移動体の前記乗車者の前記生体情報を前記移動体のアクションの根拠を示す情報として出力する
情報処理装置。
【請求項2】
前記生成部は、
前記モデルの出力を用いた処理の根拠を示す前記根拠情報を生成する
請求項1に記載の情報処理装置。
【請求項3】
前記取得部は、
自律的に行動する装置の制御に用いられる前記モデルを取得し、
前記生成部は、
前記モデルへの前記入力情報の入力後の前記装置の制御の根拠を示す前記根拠情報を生成する
請求項1に記載の情報処理装置。
【請求項4】
前記取得部は、
自動運転により動作する車両である前記移動体の制御に用いられる前記モデルを取得する
請求項
1に記載の情報処理装置。
【請求項5】
前記生成部は、
前記移動体の移動方向の根拠を示す前記根拠情報を生成する
請求項
1に記載の情報処理装置。
【請求項6】
前記取得部は、
センサ情報の入力に応じて出力を行う前記モデルと、センサにより検知された前記センサ情報である前記入力情報とを取得し、
前記生成部は、
前記センサによる検知に応じて前記入力情報が入力された前記モデルの前記根拠情報を生成する
請求項1に記載の情報処理装置。
【請求項7】
前記取得部は、
画像情報の入力に応じて前記画像情報の認識結果を出力する前記モデルと、前記画像情報である前記入力情報とを取得する
請求項1に記載の情報処理装置。
【請求項8】
前記生成部は、
前記モデルの出力に関する根拠を示す画像情報を前記根拠情報として生成する
請求項1に記載の情報処理装置。
【請求項9】
前記生成部は、
前記モデルの出力に関する根拠を示すヒートマップを前記根拠情報として生成する
請求項
8に記載の情報処理装置。
【請求項10】
前記取得部は、
CNN(Convolutional Neural Network)を含む前記モデルを取得する
請求項1に記載の情報処理装置。
【請求項11】
前記生成部は、
前記モデルの畳み込み層の状態を含む前記状態情報に基づいて、前記根拠情報を生成する
請求項
10に記載の情報処理装置。
【請求項12】
前記生成部は、
Grad-CAM(Gradient-weighted Class Activation Mapping)により前記根拠情報を生成する
請求項
11に記載の情報処理装置。
【請求項13】
前記取得部は、
他のモデルが出力する出力情報の入力に応じて出力を行う前記モデルと、前記他のモデルが出力した前記出力情報である前記入力情報とを取得し、
前記生成部は、
前記他のモデルによる出力に応じて前記入力情報が入力された前記モデルの前記根拠情報を生成する
請求項1に記載の情報処理装置。
【請求項14】
前記生成部は、
前記モデルへの前記入力情報の入力後の前記モデルの出力結果を含む前記状態情報に基づいて、前記根拠情報を生成する
請求項1に記載の情報処理装置。
【請求項15】
前記生成部は、
LIME(Local Interpretable Model-agnostic Explanations)に関する処理により前記根拠情報を生成する
請求項
14に記載の情報処理装置。
【請求項16】
前記根拠情報を表示する表示部、
を備える
請求項1に記載の情報処理装置。
【請求項17】
ニューラルネットワークの構造を有
し、自律的に移動可能な移動体の制御に用いられるモデルと、前記モデルに入力される入力情報と
、前記移動体の乗車者の生体情報とを取得し、
前記モデルへの前記入力情報の入力後の前記モデルの状態を示す状態情報に基づいて、前記モデルへの前記入力情報の入力後の前記
移動体の
制御の根拠を示す根拠情報を生成
し、
生成した前記移動体の制御の根拠を示す根拠情報とともに前記移動体の前記乗車者の前記生体情報を前記移動体のアクションの根拠を示す情報として出力する、
処理を実行する情報処理方法。
【請求項18】
ニューラルネットワークの構造を有
し、自律的に移動可能な移動体の制御に用いられるモデルと、前記モデルに入力される入力情報と
、前記移動体の乗車者の生体情報とを取得し、
前記モデルへの前記入力情報の入力後の前記モデルの状態を示す状態情報に基づいて、前記モデルへの前記入力情報の入力後の前記
移動体の
制御の根拠を示す根拠情報を生成
し、
生成した前記移動体の制御の根拠を示す根拠情報とともに前記移動体の前記乗車者の前記生体情報を前記移動体のアクションの根拠を示す情報として出力する、
処理を実行させる情報処理プログラム。
【請求項19】
機械学習モデルで
自律的に移動可能な移動体の制御を行う情報処理装置において、
センサ部と、
前記
移動体の
制御の根拠情報を生成する複数の根拠生成アルゴリズムを備えた根拠情報生成部と、
を備え、
1つまたは複数の根拠生成アルゴリズムに基づいて生成された
前記移動体の制御の根拠を示す根拠情報
とともに前記センサ
部により検知された前記移動体の乗車者の生体情報
を、前記
移動体のアクションの根拠を示す情報
として出力することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【0002】
自動運転等の機械(コンピュータ)が人間の行動を支援したり、コンピュータ自体が判断等を行い動作したりする種々のシステムが提供されている(例えば、特許文献1、2参照)。また、様々な技術分野において、機械学習を利用した情報処理が活用されており、ニューラルネットワーク等のモデルを学習する技術が提供されてきている。例えば、このような学習されたモデルは、上述のような自動運転等のシステムに利用される。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2018-154140号公報
【文献】特開2019-109675号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来技術(例えば特許文献1)によれば、非常信号が受信されると運転者により予め登録された非常にとるべき挙動が発動する技術が提案されている。また、従来技術(例えば特許文献2)によれば、自動運転を支援するために運転行動のデータを集約し道路ネットワークに関連付け管理・保存する技術が提案されている。このように、従来技術では、コンピュータが非常に動作を行なったりする技術が提供されているがコンピュータがどのように判断したかについては考慮されていない。
【0005】
一方で、自動運転等のコンピュータ(情報処理装置)が判断を行うシステムがどのように判断を行ったのかの判断根拠を人間にも把握可能にすることが望まれている。特に、ニューラルネットワークの構造を有するモデルについては、その構造の複雑さにより人間が判断根拠を把握することが難しいといった課題がある。この課題は自動運転に限らず、ニューラルネットワークの構造を有するモデルを用いる分野に共通する課題である。また、このようなコンピュータが実行した処理についての根拠を示すことは、ニューラルネットワークの構造を有する場合に限らず、コンピュータにより行われる処理全般に共通する課題である。そのため、情報処理装置による処理に関する根拠を説明可能にすることが望まれている。
【0006】
そこで、本開示では、情報処理装置による処理に関する根拠を説明可能にすることができる情報処理装置、情報処理方法及び情報処理プログラムを提案する。
【課題を解決するための手段】
【0007】
上記の課題を解決するために、本開示に係る一形態の情報処理装置は、ニューラルネットワークの構造を有するモデルと、前記モデルに入力される入力情報とを取得する取得部と、前記モデルへの前記入力情報の入力後の前記モデルの状態を示す状態情報に基づいて、前記モデルへの前記入力情報の入力後の前記モデルの出力に関する根拠を示す根拠情報を生成する生成部と、を備える。
【図面の簡単な説明】
【0008】
【
図1】本開示の実施形態に係る情報処理の一例を示す図である。
【
図2】実施形態に係る情報処理の流れの一例を示す図である。
【
図3】実施形態に係る移動体装置の構成例を示す図である。
【
図4】本開示の実施形態に係るモデル情報記憶部の一例を示す図である。
【
図5】本開示の実施形態に係るログ情報記憶部の一例を示す図である。
【
図6】本開示の実施形態に係るモデルの一例を示す図である。
【
図7】実施形態に係る情報処理の手順を示すフローチャートである。
【
図8】移動体の制御処理の手順を示すフローチャートである。
【
図9】実施形態に係る情報処理の他の一例を示す図である。
【
図10】車両内システムの構成の概念図の一例を示す図である。
【
図11】本開示の変形例に係る情報処理システムの構成例を示す図である。
【
図12】本開示の変形例に係る情報処理装置の構成例を示す図である。
【
図13】本技術が適用され得る移動体制御システムの概略的な機能の構成例を示すブロック図である。
【
図14】移動体装置や情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0009】
以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、この実施形態により本願にかかる情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。また、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
【0010】
以下に示す項目順序に従って本開示を説明する。
1.実施形態
1-1.本開示の実施形態に係る情報処理の概要
1-1-1.自動運転における課題及び効果等
1-1-2.他の可視化例
1-1-2-1.複合アルゴリズムによる可視化解析手法
1-1-3.他の適用例
1-1-4.AI倫理
1-2.実施形態に係る移動体装置の構成
1-2-1.モデル例
1-3.実施形態に係る情報処理の手順
1-4.他の情報処理例
1-5.車両内システムの構成の概念図
2.その他の実施形態
2-1.その他の構成例
2-2.移動体の構成
2-3.その他
3.本開示に係る効果
4.ハードウェア構成
【0011】
[1.実施形態]
[1-1.本開示の実施形態に係る情報処理の概要]
図1は、本開示の実施形態に係る情報処理の一例を示す図である。本開示の実施形態に係る情報処理は、
図1に示す移動体装置100によって実現される。
【0012】
移動体装置100は、実施形態に係る情報処理を実行する情報処理装置である。移動体装置100は、自動運転により走行する移動体である。例えば、移動体装置100は、自動運転に関する種々の従来技術を適宜用いて自動走行する移動体である。移動体装置100は、SAE(Society of Automotive Engineers)において定義されるレベル0~5のいずれのレベルで自動化がされた車両であってもよい。
図1の例では、移動体装置100は、レベル3で自動化がされた車両である場合を示す。すなわち、
図1の例では、移動体装置100は、移動体装置100自体が自律的に走行を制御し、必要に応じて移動体装置100に乗っているユーザが操作することが可能である車両である場合を示す。なお、移動体装置100は、運転手の乗車が必要ではないレベル4以上の高度な自動化がされた車両であってもよいし、レベル2以下であってもよい。
【0013】
また、
図1の例では、自動運転により走行する車両いわゆる、自動車である移動体装置100を移動体の一例として示すが、移動体は自律的に走行するものであれば、どのような物であってもよい。例えば、移動体は、4輪であるものに限らず、2輪や3輪などの4つ以外の車輪を有する形式の移動体や、車輪を有しない移動体、ドローン、ボット等、種々の形式の移動体であってもよい。また、
図1の例では、人が乗る形式の移動体を例に示すが、移動体は人が乗せずに無人で自律的に移動する形式で合ってよいが、この点についての詳細は後述する。
【0014】
以下、
図1に示す処理の詳細を、
図2を参照しつつ説明する。
図2は、実施形態に係る情報処理の流れの一例を示す図である。
図1に示す例では、移動体装置100にはユーザ(以下「ユーザU」ともいう)が乗車しており、移動体装置100は道RD11上を走行中である場合を示す。具体的には、
図1に示す例では、移動体装置100から後述する物体OB11、OB12の方へ向かう方向が移動体装置100の前方になり、移動体装置100が前方へ走行中である場合を示す。なお、道RD11の側部は壁面等、移動体装置100が進入できない領域であるものとする。まず、移動体装置100は、センサ部14(
図3参照)により検知を行う(ステップS11)。移動体装置100は、画像センサ141(
図3参照)により画像情報(単に「画像」ともいう)を検知する。
図1の例では、移動体装置100は、画像センサ141により画像IM1を検知(撮像)する。
【0015】
そして、移動体装置100は、認識処理を行う(ステップS12)。移動体装置100は、画像センサ141により撮像された画像IM1を基に、認識処理を行う。移動体装置100は、画像IM1に含まれる物体等を認識する処理を行う。移動体装置100は、
図2に示すような画像認識用のモデルM1を用いて、認識処理を行う。例えば、移動体装置100は、画像IM1を入力情報IND1としてモデルM1に入力することにより、モデルM1に認識結果を出力させる。モデルM1は、モデルM2の入力に対応する情報を認識結果として出力する。例えば、モデルM1は、画像の入力に応じて、その画像に含まれる物体の種別(クラス)を示す情報と、その位置(領域)を示す情報を出力する。なお、上記は一例であり、モデルM1は、モデルM2の入力に対応する情報であればどのような情報を出力してもよく、例えば「信号は赤」といった撮像された画像の状況を示す情報を出力してもよい。
【0016】
ここで、モデルM1は、多層のニューラルネットワークであり、例えば
図6に示すような4層以上の深層ニューラルネット、いわゆるディープニューラルネットワーク(ディープラーニング)等の構造を有する。また、モデルM1は、CNN(Convolutional Neural Network)を含み、画像の入力に応じて、その画像に含まれる物体とその位置を示す情報を出力するモデルである。モデルM1は、ニューラルネットワークの構造を有するモデルである。例えば、モデルM1は、いわゆる畳み込み層を有するCNNの構造を有するモデルである。
【0017】
図1の例では、移動体装置100は、画像IM1をモデルM1に入力することにより、モデルM1に画像IM1の左側の位置(領域)に種別「人」である物体OB11が存在することを示す情報を出力させる。また、移動体装置100は、画像IM1をモデルM1に入力することにより、モデルM1に画像IM1の右側の位置(領域)に種別「車両」である物体OB12が存在することを示す情報を出力させる。そして、移動体装置100は、ステップS13~S16の処理を行う。なお、
図1の例では、説明の便宜上、各処理にステップS13~S16を付するが、ステップS14の後にステップS15が行われることを示すものではない。例えば、ステップS13~S14の処理と、ステップS15~S16の処理は並列して行われる。
【0018】
まず、ステップS13~S14の処理を説明する。移動体装置100は、生成処理を行う(ステップS13)。移動体装置100は、モデルM1への入力情報の入力後のモデルM1の状態を示す状態情報に基づいて、モデルへの入力情報の入力後のモデルの出力に関する根拠を示す根拠情報を生成する。移動体装置100は、モデルM1への画像IM1の入力後のモデルM1の状態を示す状態情報に基づいて、モデルM1への画像IM1の入力後のモデルM1の出力に関する根拠を示す根拠情報を生成する。
【0019】
図1の例では、移動体装置100は、Grad-CAM(Gradient-weighted Class Activation Mapping)により、画像IM1の入力後のモデルM1の出力に関する根拠を示す根拠情報を生成する。例えば、移動体装置100は、下記の文献に開示されるようなGrad-CAMに関する処理により、画像IM1の入力後のモデルM1の出力に関する根拠を示す根拠情報を生成する。移動体装置100は、CNNが含まれるネットワーク全般に適用可能な可視化手法であるGrad-CAMの技術を用いて、画像IM1の入力後のモデルM1の出力に関する根拠を示す根拠情報を生成する。例えば、移動体装置100は、CNNの最終層から各チャンネルの重みを計算し重みを掛け合わせることで各クラスに影響する部分を可視化することができる。このように、移動体装置100は、CNNを含むニューラルネットワークにおいて画像のどの部分に注目して判断がなされたかを可視化することができる。
【0020】
・Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization <https://arxiv.org/abs/1610.02391>
【0021】
なお、Grad-CAMの技術についての説明は適宜省略するが、移動体装置100は、Grad-CAM(上記文献参照)の手法により、根拠情報を生成する。例えば、移動体装置100は、対象とする種別(クラス)を指定して、指定したクラスに対応する情報(画像)を生成する。例えば、移動体装置100は、Grad-CAMの技術を用いて、逆誤差伝搬(Backpropagation)等の各種処理により、指定したクラスを対象に情報(画像)を生成する。
【0022】
図1の例では、移動体装置100は、種別「人」のクラスを指定して、種別「人」に対応する根拠情報生成部RSD1(
図2参照)において根拠情報に関する画像を生成する。根拠情報生成部RSD1は、例えば、種別「人」の認識(分類)のために注視している範囲(領域)を、いわゆるヒートマップ(カラーマップ)の形式で示す画像を生成する。
図1では、白黒での表現となるため、ハッチングが濃い程、その領域が、種別「人」の認識(分類)のために注視している領域であることを示す。このように、
図1の例では、根拠情報生成部RSD1は、画像IM1の人である物体OB11の位置が最も注視されており、人である物体OB11が認識されていることを示す画像を根拠情報RINF1として生成する。また、
図1の例では、移動体装置100は、車両である物体OB12も適切に認識しているものとする。
【0023】
そして、移動体装置100は、表示処理を行う(ステップS14)。移動体装置100は、根拠情報生成部RSD1において生成した根拠情報RINF1を表示部11(
図3参照)に表示する。
図2に示すように、移動体装置100は、根拠情報生成部RSD1で生成した根拠情報に関する表示DPにより可視化を実現する。
【0024】
上述のように、移動体装置100は、ニューラルネットワークの構造を有するモデルの出力に関する根拠を説明可能にすることができる。このように、移動体装置100は、情報処理装置である移動体装置100による処理に関する根拠を説明可能にすることができる。これにより、移動体装置100に乗車するユーザUは、モデルM1乃至M3に関する根拠情報をリアルタイムに把握することができる。例えば、移動体装置100に乗車するユーザUは、実際の状態と根拠情報生成部RSD1の根拠情報とに乖離がある場合、自動運転を中止して、ユーザU自身が移動体装置100の操作を行うことが可能となる。
図1の例では、根拠情報生成部RSD1に示すように適切に人である物体OB11が認識されているため、ユーザUは、移動体装置100の自動運転状態を維持してもよい。
【0025】
また、移動体装置100は、根拠情報生成部RSD1において生成される根拠情報をその基となる入力情報IND1である画像IM1に対応付けて記憶部12(
図3参照)に履歴として格納する。例えば、移動体装置100は、入力情報IND1と根拠情報RINF1等の根拠情報とを対応付けてログ情報記憶部122(
図3参照)に格納する。これにより、移動体装置100がどのような入力に対する判断により、その後の動作を行ったのかを検証可能となる。
【0026】
ここから、ステップS15~S16の処理を説明する。なお、ステップS15の処理は、ステップS12の処理が完了し次第行われる。
【0027】
移動体装置100は、認識処理の認識結果を基に予測処理を行う(ステップS15)。移動体装置100は、モデルM1の出力を基に、予測処理を行う。移動体装置100は、画像IM1に含まれる物体の移動等の行動(運動態様)を予測する処理を行う。移動体装置100は、
図2に示すような予測用のモデルM2を用いて、予測処理を行う。例えば、移動体装置100は、モデルM1が出力する情報(認識結果情報)をモデルM2に入力することにより、モデルM2に予測結果を出力させる。例えば、モデルM2は、認識結果情報の入力に応じて、その認識結果情報に含まれる物体の移動方向や速度を示す情報を出力する。例えば、モデルM2は、多層のニューラルネットワークであり、例えば
図6に示すような4層以上の深層ニューラルネット、いわゆるディープニューラルネットワーク(ディープラーニング)等の構造を有する。なお、モデルM2は、モデルM1が出力する情報に限らず、センサ情報等、種々の情報を入力として、予測処理を行ってもよい。
【0028】
移動体装置100は、人である物体OB11の運動態様を予測する。移動体装置100は、物体OB11の移動方向や速度を予測する。
図1の例では、移動体装置100は、物体OB11が移動体装置100の方に向かって移動していると予測する。また、移動体装置100は、車両である物体OB12の運動態様を予測する。移動体装置100は、物体OB12の移動方向や速度を予測する。
図1の例では、移動体装置100は、物体OB12が移動体装置100の方に向かって移動していると予測する。
【0029】
移動体装置100は、予測処理の予測結果を基に行動計画を決定する処理を行う(ステップS16)。移動体装置100は、モデルM2の出力を基に、行動計画を示す生成する処理を行う。移動体装置100は、予測した物体OB11や物体OB12の運動態様に基づいて、行動計画を決定する。移動体装置100は、
図2に示すような行動計画用のモデルM3を用いて、行動計画を決定する処理を行う。例えば、移動体装置100は、モデルM2が出力する情報(予測結果情報)をモデルM3に入力することにより、モデルM3に行動計画を出力させる。例えば、モデルM3は、予測結果情報の入力に応じて、移動体装置100の行動計画を示す情報を出力する。例えば、モデルM3は、多層のニューラルネットワークであり、例えば
図6に示すような4層以上の深層ニューラルネット、いわゆるディープニューラルネットワーク(ディープラーニング)等の構造を有する。なお、モデルM3は、モデルM2が出力する情報に限らず、センサ情報等、種々の情報を入力として、行動計画を生成する処理を行ってもよい。このように、移動体装置100は、機械学習により学習されたモデル(機械学習モデル)であるモデルM1~M3でアクションを行う情報処理装置である。なお、ここでいうアクションには、情報処理装置が実行する情報処理や、ロボットや移動体等による行動等の種々のアクションが含まれる。
【0030】
図1の例では、移動体装置100は、物体OB11、OB12が自身の進行方向に位置し、移動体装置100に向かってきており、物体OB11、OB12の両方を避けることができないため、物体OB11を避けるように行動計画を決定する。具体的には、移動体装置100は、進行方向の左側に位置する物体OB11への衝突を避けるために進行方向の右側へ進行する経路PP11を計画する。移動体装置100は、経路PP11を示す行動計画情報を生成する。そして、移動体装置100は、経路PP11を示す行動計画情報を基に自動運転の制御を行う。例えば、移動体装置100は、入力情報IND1に、経路PP11や経路PP11に基づく実際の移動体装置100の走行情報を対応付けてログ情報記憶部122(
図3参照)に格納する。これにより、移動体装置100がどのような入力により移動体装置100がどのような計画を行ったり、走行したりしたかを検証可能となる。
【0031】
上述のように、
図1の例では、移動体装置100は、画像センサ141により検知した画像IM1により歩行者である物体OB11を検出(認識)し、物体OB11がハイライトされたヒートマップである根拠情報生成部RSD1において生成された根拠情報を表示部11に表示する。このように、
図1の例では、自動運転でのセンサから歩行者を検出し、可視化表示装置(例えば表示部11等)により歩行者がヒートマップによってハイライト表示される。
【0032】
例えば、
図1の例では、移動体装置100は、歩行者である物体OB11を避けるため、車両である物体OB12側へ進路を取り物体OB12に接近する。このとき、移動体装置100が歩行者である物体OB11がハイライトされたヒートマップである根拠情報をリアルタイムに表示している。これにより、移動体装置100の乗車者は、移動体装置100が人を避けるために車両側へ進路を取っていると認識することができる。このように、移動体装置100の乗車者は、自動運転で走行する移動体装置100が歩行者を避けようとしていることが分かる。そのため、移動体装置100の乗車者は、非常時手動運転に切替えて、自動運転を停止し、自身でハンドル部やブレーキ部などの操作を行うことによって、対向車との事故を回避することもできる。
【0033】
また、
図1の例において移動体装置100が物体OB11である歩行者を避けるために、右方向へ進行すると自動運転が判断したために、対向車である物体OB12と衝突したとする。このような場合であっても、移動体装置100は、歩行者である物体OB11がハイライトされたヒートマップである根拠情報生成部RSD1において生成された根拠情報が記憶部12に格納しているため、物体OB12との衝突が歩行者である物体OB11を避けるためであるという理由(根拠)を示す情報を提供することができる。さらに、センサ部14によって記録された様々な情報、例えば、移動体装置100の速度、加速度、周囲の外気温、路面状況(雨による濡れ、凍結など)、さらに、社内のドライバーの身体状況(意識の有無、血圧、体温、心拍、姿勢等)などのセンサ情報も提供することができる。例えば、移動体装置100は、センサ部14により検知された速度、加速度、周囲の外気温、路面状況や社内のドライバーの身体状況などのセンサ情報を、移動体装置100のアクションの根拠を示す情報として出力してもよい。すなわち、移動体装置100は、これらの情報を総合的に考慮して、対向車との衝突事故の説明として、歩行者を避けるためであったことをログデータから証明することができる。
【0034】
ここで、
図2について詳細に説明する。移動体装置100は、アクションの根拠情報を生成する複数の根拠生成アルゴリズムを備えた根拠情報生成部RSD1を備える。例えば、根拠情報生成部RSD1は、
図3中の生成部136や複数の根拠生成アルゴリズムが記憶された記憶部12等に対応する。この場合、具体的には、記憶部12には、複数の根拠生成アルゴリズムの各々が実装された複数のコンピュータプログラム(単に「プログラム」ともいう)が記憶される。このように、アルゴリズムが実装されたプログラムをアルゴリズムと記載する場合がある。また、ここでいう複数の根拠生成アルゴリズムには、Grad-CAMや後述するLIME(Local Interpretable Model-agnostic Explanations)、TCAV(Testing with Concept Activation Vectors)等の手法を用いたアルゴリズムが含まれる。例えば、複数の根拠生成アルゴリズムには、Grad-CAMの手法に基づくアルゴリズム、LIMEの手法に基づくアルゴリズム、TCAVの手法に基づくアルゴリズムの3つのアルゴリズムが含まれる。なお、根拠生成アルゴリズムは、Grad-CAM、LIME、TCAVに限らず、種々の手法を用いたアルゴリズムであってもよい。
【0035】
移動体装置100は、複数の根拠生成アルゴリズムのうち、一の根拠生成アルゴリズムを用いてアクションの根拠情報を生成する。移動体装置100は、複数の根拠生成アルゴリズムのうち一の根拠生成アルゴリズムを選択し、選択した根拠生成アルゴリズムを用いてアクションの根拠情報を生成する。移動体装置100は、リアルタイム性を要求される処理の場合、複数の根拠生成アルゴリズムのうち、Grad-CAMの手法に基づくアルゴリズムを選択し、選択したGrad-CAMの手法に基づくアルゴリズムを用いてアクションの根拠情報を生成する。また、移動体装置100は、局所的に近似した根拠を得たい場合は、LIMEの手法に基づくアルゴリズムを選択し、選択したLIMEの手法に基づくアルゴリズムを用いてアクションの根拠情報を生成する。また、移動体装置100は、概念を有効化させる方向性を加味したい場合は、TCAVの手法に基づくアルゴリズムを選択し、選択したTCAVの手法に基づくアルゴリズムを用いてアクションの根拠情報を生成する。
【0036】
移動体装置100は、1つまたは複数の根拠生成アルゴリズムに基づいて生成された根拠情報、及び/またはセンサ情報に基づいて、アクションの根拠を示す情報を出力する。移動体装置100は、Grad-CAMの手法に基づくアルゴリズムで生成された第1根拠情報、LIMEの手法に基づくアルゴリズムで生成された第2根拠情報、及びTCAVの手法に基づくアルゴリズムで生成された第3根拠情報をアクションの根拠を示す情報として出力する。移動体装置100は、一の根拠生成アルゴリズムを選択した場合、選択した根拠生成アルゴリズムを用いて生成されたアクションの根拠情報を出力する。移動体装置100は、リアルタイム性を要求される処理の場合、Grad-CAMの手法に基づくアルゴリズムを選択し、選択したGrad-CAMの手法に基づくアルゴリズムを用いて生成されたアクションの根拠情報を出力する。
【0037】
例えば、移動体装置100は、停止機能を有する。移動体装置100は、異常を検知して、自動運転から手動運転へ緊急切替えを実行する。自動運転を行うためのAIの停止という概念は非常に重要であり、例えば、移動体装置100は、AI自身が異常を検知して、人間(乗車者等)に自動運転から手動運転への切り替えを要請する。そして、移動体装置100は、何が問題なのかを具体的に可視化することで、注意する部分に人間の関心がいくことで事故を未然に防ぐことができる。このような移動体装置100は、非常停止ボタンをAIがみずからが押し、AIが何が問題であるかを可視化によって説明するシステムに対応する。
【0038】
例えば、国によって交通事情やルールが異なる。そのため、移動体装置100は、移動体装置100が使用(運用)される地域のデータを学習データセットとして用いて学習されたモデル(ニューラルネットワーク)を用いる。例えば、日本とアメリカでの状況は異なる。そのため、移動体装置100を日本で走らせる場合、移動体装置100には、日本でデータを収集して学習したネットワークを使う。これにより、移動体装置100は、日本の左側通行や道路も狭い状況に適切に対応する自動運転を実現することができる。例えば、もし異なる地域のデータセットを用いると、右側通行の学習データ、右折や左折の交通ルールが異なるデータなど、好ましくないデータをもとにネットワークが作られてしまう。一方で、移動体装置100が用いられる地域に応じて、その地域に最適なデータセットを用いて学習されたモデルを用いることでいることが。移動体装置100の利用状況に対応した適切なモデルを用いることができる。そして、移動体装置100に用いられるモデルの学習に用いた学習データは、適切な環境に対応するデータであることを説明することができる。
【0039】
上述のように、移動体装置100は、画像に限らず、音、においなどをもとに判断根拠に加えることで、より安全な運転を実現することができる。例えば、右側からクラクションの音が聞こえたら、人間ならばその音に関心(注意)が向く。そこで、移動体装置100は、音を感知する音センサと連動し、異音等の音を検知した場合、例えば、撮像(画像センサによる検知)も、音の発生源と同じ方向へ集中し、その方向を撮像することで、特定の方向精度を向上させる。また、においによっても判断は必要である。例えば、車から変なにおいがしていることに気が付けば、車の故障を早期に発見することができる。例えば、移動体装置100においても、においセンサも自動運転の制御系にフィードバックし、その異常を人間に伝えることは有益である。このように、移動体装置100においては、ディープラーニングによる異常検知システムを音やにおいによっても判断できるようにする。すなわち、移動体装置100においては、画像(視覚)のみに限らず、音声(聴覚)、におい(嗅覚)等の種々の感覚に対応するセンサ情報、すなわちマルチモーダルな情報を用いて判断できるようにする。それによって、移動体装置100は、人間が運転する車に近づき、安心して運転することができる。
【0040】
例えば、リアルタイムにて動作するGrad-Camは、ディープラーニングの判断根拠を可視化するひとつの手段である。Grad-CamはCNNの判断根拠をヒートマップで表すが、可視化の手段はこれに限られない。例えば、他にもディープラーニングを解釈する手段は種々存在し、各手段に応じて異なる見方をするので判断根拠は異なる。例えば、LIMEは、あるカテゴリを指定して、テスト画像を大量にフォワード計算をする。Grad-Camは、あるカテゴリを指定して、バックワード計算をするのとは全く逆の方向で演算をする。それぞれにおいての解釈であるが、判定根拠をより深く理解するために、複数の根拠生成アルゴリズムが同時に動いたり、選択的に動いたりするシステムが有効である。これにより、状況に応じて、最適な説明アルゴリズム(根拠生成アルゴリズム)が選択される説明アルゴリズムということになる。ここで、事故を未然に回避するための技術は日夜研究されている。事故が起こってしまったときの原因究明という観点ではまだ途上段階である。事故が起こってしまったときは、複数の根拠生成アルゴリズムによってログから解析するシステムが有用である。そのため、移動体装置100は、複数の根拠生成アルゴリズムを用いることで、適切に根拠を説明可能にする。例えば、時間がかかる演算であっても、事故発生後における事故の原因究明の場合においては十分な時間を確保できる。
【0041】
[1-1-1.自動運転における課題及び効果等]
ここから、
図1に示すような自動運転における課題などについて説明する。人工知能による自動運転が実現されている。しかしながら、人工知能の判断根拠を知ることができず、ブラックボックスによる判断で自動運転がされている現状である。近年、自動運転での事故が発生しており、AI(Artificial Intelligence)倫理が問題となっている。例えば、なぜ自動運転で走行する車両が突然左へ回避したのかという理由は、乗車者(運転者)は知ることができないという問題がある。一方で、その理由(根拠)が分かれば、人工知能による誤判断なのかどうかが明確になり、事故の発生を事前に回避し、事故を未然に防ぐことができることが期待される。そのため、自動運転においては人工知能の判断の理由(根拠)を乗車者に可視化して提供することが望まれている。上述のSAEにおいては、例えば、自動運転レベル1、2は運転支援、レベル3は緊急時に手動運転ができることと定義されている。これらのレベルにおいて、人工知能の判断根拠がリアルタイムに可視化できれば、運転者へ有益な情報を提供することができる。
【0042】
従来まで、人工知能は高度な性能を持つが、ブラックボックスと言われてきた。例えば、ディープラーニングは、人間のニューロンを模倣した構造を持ち、非常に多くのパラメータを最適化することでモデルが形成されている。その複雑さから、説明することは不可能と言われてきた。近年、説明可能な人工知能の研究が盛んになり、判断根拠を可視化する技術が着目されている。様々なアルゴリズムが提案されているが、学術レベルでの研究に留まり、実用的なシステムへの展開が遅れている。
【0043】
そこで、移動体装置100は、ディープラーニングを含むニューラルネットワークが判断した根拠を可視化する。これにより、移動体装置100は、ニューラルネットワークによる判断の根拠をリアルタイムに可視化することで、移動体装置100の運転者へ有益な情報を提供することができる。
図1の例では、移動体装置100は、画像センサ141にて撮影した画像を入力とした場合に、ディープラーニングであるモデルM1の判断根拠となった局所的な部分をヒートマップの形式で示す根拠情報生成部RSD1において生成された根拠情報を表示することができる。移動体装置100は、画像の分類問題を解くモデルM1に含まれるコンボリューションニューラルネットワーク(CNN)における判断を可視化することができ、移動体装置100の運転者(人間)がその判断根拠を知ることができる。また、上述の可視化は、リアルタイム動作が可能である方法を含む(リアルタイムでない方法も含む)ため、移動体装置100のような自動運転システムへ適用することができるため、移動体装置100の運転者はリアルタイムに移動体装置100の動きの理由(根拠)を知ることができる。このように、車両運転システムへディープラーニングの判断根拠の可視化アルゴリズムを組み入れることによって、運転者はリアルタイムに自動運転車両の動きの理由を知ることができる。
【0044】
上述のような移動体装置100であれば、自動運転において万一事故が起こってしまって場合であっても、自動運転がどのような判断に基づいたのかをディープラーニングの可視化技術によって説明することができる。また、上述のような移動体装置100であれば、万一事故が発生してしまった場合であっても、例えばログ情報記憶部122等に保存されているログ情報と必要に応じてセンサ部14のセンサ情報を基に、自動運転車両の動作の根拠を示すことができる。このように、上述のような移動体装置100であれば、万一事故が発生してしまったときは、ログに保存されている判断根拠の可視化表示とセンサ情報から説明をすることができる。
【0045】
このように、移動体装置100は、自動運転において、ディープラーニングの判断根拠を可視化する。これにより、移動体装置100は、運転者支援、事故の回避、事故の原因究明ができる。また、移動体装置100は、センサで取得した走行画像データの解析において、ディープラーニングが判断した箇所をヒートマップによってリアルタイムで示す。これにより、移動体装置100は、リアルタイムでのディープラーニングの判断根拠の可視化によって、人間が手動運転へ切替て、事故を回避することができる。なお、根拠判断生成部RSD1から得られた根拠情報の結果によってはシステムとして、安全等を確保しつつ、移動体装置100を停止してもよい。
【0046】
[1-1-2.他の可視化例]
なお、
図1の例では、ヒートマップのような画像を根拠情報として生成する場合を示したが、根拠情報は画像に限らず、文字情報、音声情報などの種々の形式の情報であってもよい。
【0047】
また、移動体装置100は、根拠情報生成部RSD1において、根拠情報を生成する方法として、Grad-CAMに限らず、種々の技術を適宜用いて、根拠情報を生成してもよい。例えば、移動体装置100は、LIMEの技術を用いて、根拠情報を生成してもよい。例えば、移動体装置100は、下記の文献に開示されるようなLIMEに関する処理により、根拠情報を生成してもよい。
【0048】
・"Why Should I Trust You?": Explaining the Predictions of Any Classifier <https://arxiv.org/abs/1602.04938>
【0049】
なお、LIMEの技術についての説明は適宜省略するが、移動体装置100は、LIME(上記文献参照)の手法により、根拠情報を生成する。例えば、移動体装置100は、モデルがなぜそのような判断を下したのかを理由(根拠)を示すために局所近似する他のモデル(根拠用モデル)を生成する。移動体装置100は、入力情報とその入力情報に対応する出力結果との組合せを対象に、局所的に近似する根拠用モデルを生成する。そして、移動体装置100は、根拠用モデルを用いて、根拠情報を生成する。さらに、移動体装置100は、下記の文献に開示されるようなTCAVと呼ばれる”Testing with Concept Activation Vectors”(概念を有効化させる方向性を加味したテスト)などの根拠情報の算出方法(生成方法)を用いてもよい。
・Interpretability Beyond Feature Attribution: Quantitative Testing with Concept Activation Vectors (TCAV) <https://arxiv.org/pdf/1711.11279.pdf>
【0050】
例えば、移動体装置100は、画像等の基となる入力情報(対象入力情報)を複製したり、変更を加えたりした複数の入力情報を生成する。そして、移動体装置100は、根拠情報の生成対象となるモデル(説明対象モデル)に、複数の入力情報の各々を入力し、各入力情報に対応する複数の出力情報を説明対象モデルから出力させる。そして、移動体装置100は、複数の入力情報の各々と、対応する複数の出力情報の各々との組合せ(ペア)を学習用データとして、根拠用モデルを学習する。このように、移動体装置100は、対象入力情報を対象として別の解釈可能なモデル(線形モデルとか)で局所近似する根拠用モデルを生成する。
【0051】
このように、移動体装置100は、ある入力に対するモデルの出力を得た場合に、その出力の根拠(局所的な説明)を示すための根拠用モデルを生成する。
【0052】
例えば、移動体装置100は、線形モデル等の解釈可能なモデルを根拠用モデルとして生成する。移動体装置100は、線形モデル等の根拠用モデルの各パラメータなどの情報を基に根拠情報を生成する。例えば、移動体装置100は、線形モデル等の根拠用モデルの特徴量のうち、重みが大きい特徴量の影響が大きいことを示す根拠情報を生成する。
【0053】
上述のように、移動体装置100は、モデルの入力情報と出力結果とを用いて学習された根拠用モデルに基づいて、根拠情報を生成する。このように、移動体装置100は、モデルへの入力情報の入力後のモデルの出力結果を含む状態情報に基づいて、根拠情報を生成してもよい。
【0054】
また、
図1の例では、移動体装置100は、モデルM1に限らず、モデルM2、M3を対象に根拠情報を生成してもよい。例えば、移動体装置100は、モデルM2の入力情報と出力結果とを用いて学習された根拠用モデルに基づいて、モデルM2の予測の根拠情報を生成してもよい。例えば、移動体装置100は、モデルM3の入力情報と出力結果とを用いて学習された根拠用モデルに基づいて、モデルM3の行動計画の根拠情報を生成してもよい。移動体装置100は、LIMEの技術を用いて、モデルM2を対象に根拠情報を生成してもよい。移動体装置100は、LIMEの技術を用いて、モデルM1の出力を入力とするモデルであるモデルM2の予測の根拠を示す根拠情報を生成してもよい。移動体装置100は、LIMEの技術を用いて、モデルM3を対象に根拠情報を生成してもよい。移動体装置100は、LIMEの技術を用いて、モデルM2の出力を入力とするモデルであるモデルM3の行動計画の根拠を示す根拠情報を生成してもよい。
【0055】
[1-1-2-1.複合アルゴリズムによる可視化解析手法]
なお、移動体装置100は、複数のアルゴリズムを組み合わせて可視化を実現してもよい。このように、複数の可視化アルゴリズムを組み合わせて解析することで、さらに優位性がある。例えば、移動体装置100は、判断根拠を可視化する第1アルゴリズムと、第1アルゴリズムとは異なる第2アルゴリズムとを組み合わせて、判断根拠を複合的な観点から解析してもよい。
【0056】
例えば、移動体装置100は、第1アルゴリズムであるGrad-Camと、第2アルゴリズムであるLIMEなど複数のアルゴリズムを組み合わせて、その状況や特性に応じて、判断根拠を複合的な観点から解析してもよい。移動体装置100は、ディープラーニングの特徴量をもとに判断根拠を可視化するGrad-Camと、大量のサンプルデータを生成し、局所的な分類問題として、マスク画像から判断根拠を可視化するLIMEを組み合わせてもよい。Grad-Camは、着目点をコンボリューション層(畳み込み層)の特徴量から可視化することができる。また、LIMEは、大量のサンプルデータを用いて推論することによって得らえる可視化技術である。このように、移動体装置100は、異なる可視化技術を組み合わせることによって、解析精度を向上させることができる。例えば、移動体装置100は、Grad-Camにより生成した第1根拠情報と、LIMEにより生成した第2根拠情報とをユーザに提供してもよい。移動体装置100は、Grad-Camにより生成した第1根拠情報と、LIMEにより生成した第2根拠情報とを表示してもよい。
【0057】
[1-1-3.他の適用例]
なお、
図1に示す自動運転は一例であり、自動運転に限らず、種々の技術に適用されてもよい。例えば、移動体装置100は、自動車に限らず、電動自転車、オートバイ、ドローン等の他の形態の移動体であってもよい。移動体装置100がドローンである場合、画像センサ141は、全天球を広く見ている(撮像している)が、ターゲットとなる物体を認識した場合、その部分へクロップして、ズーム撮影を行ってもよい。
【0058】
また、例えば、エンターテインメントロボット、ロボット、料理ロボット、医療ロボット、ヒューマノイドなど、種々の技術に適用されてもよい。すなわち、根拠情報を生成する情報処理装置は、エンターテインメントロボット、ロボット、料理ロボット、医療ロボット、ヒューマノイド等の技術分野で用いられる装置であってもよい。エンターテインメントロボットである場合、根拠情報を生成する情報処理装置は、画像センサによりエンターテインメントロボットがどこを見て(認識して)、行動を行ったのかを示す根拠情報を生成してもよい。また、医療ロボットを対象とする場合、根拠情報を生成する情報処理装置は、画像センサにより医療ロボットが何を認識して、手術に関する行動を行ったのかを示す根拠情報を生成してもよい。この場合、根拠情報を生成する情報処理装置は、医療事故が発生した際に医療ロボットの行動の根拠を示す根拠情報を生成してもよい。これにより、医療ロボットにより生じた医療事故が医療ロボットのミスによるものかを判別することが可能となる。
【0059】
また、根拠情報を生成する情報処理装置は、移動体装置100のような移動機構を有する形態やロボット等に限らず、
図12に示すような情報処理のみを行う情報処理装置100Aであってもよい。根拠情報を生成する情報処理装置は、金融の分野に適用されてもよい。例えば、根拠情報を生成する情報処理装置は、金融に関する指標(金融指標)の予測に適用されてもよい。例えば、根拠情報を生成する情報処理装置は、金融指標の一例である株価予測に適用されてもよい。この場合、根拠情報を生成する情報処理装置は、予測した株価の根拠を示す根拠情報を生成してもよい。例えば、根拠情報を生成する情報処理装置は、気候等の気象情報や政治等の社会情報を入力として、株価の予測情報を出力するモデルに対して、LIMEの技術を用いて、予測した株価の根拠を示す根拠情報を生成してもよい。
【0060】
[1-1-4.AI倫理]
なお、上述した自動運転の処理について、AI倫理の観点で簡単に説明する。以下では、自動運転の車両(自動運転車両)が同種の物体を検出した場合を例に説明する。
【0061】
例えば、自動運転車両は、進行方向に同種(カテゴリX)の4つの物体(物体群A)を検出し、進行方向の右側にカテゴリXの2つの物体(物体群B)を検知する。なお、カテゴリXは、犬や人等の生物や、電柱や車や家等の無生物等、どのようなカテゴリであってもよい。
【0062】
そして、自動運転車両は、自動ブレーキが作動しても緊急停止が間に合わないものとする。この場合、自動運転車両は、物体群Aまたは物体群Bのいずれかへの接触が不可避となる。そのため、自動運転車両は、物体群Aまたは物体群Bのいずれかへの接触を伴う行動を選択(決定)することとなる。
【0063】
このような場合、上述のような判断根拠を示す根拠情報を生成することで、自動運転車両がどのような根拠情報を基にその行動を選択したのかを、人が認識することができる。上記の例では、自動運転車両が物体群A及び物体群Bの両方を正しく認識していたのかを可視化技術によって説明することができる。すなわち、上記の例では、自動運転車両が物体群A及び物体群Bの両方を正しく認識した上で、行動を選択(決定)したのか、物体群Aまたは物体群Bを正しく認識できていない状況で、行動を選択(決定)したのかを説明可能にすることができる。
【0064】
より一般的には、自動運転車両等のAI(人工知能)が行った行動の根拠を人が認識可能な形式で人に示すことができるため、AIが正しく認識を行った上で、その行動をとったのか、適切な認識ができていない状態で行動を行ったのかを適切に判別することができる。
【0065】
上述したように、移動体装置100は、外界を適切に認識していたのかを可視化技術によって説明することができる。具体的には、移動体装置100は、対象物の全てを正しく認識していたのかを可視化技術によって説明することができる。これにより、移動体装置100は、選択(決定)した行動が判断(意思決定)に原因があるのか、認識が不完全であり、判断ではなくその前の認識(センシング)に原因があるのかを説明可能にすることができる。例えば、移動体装置100は、移動体装置100が行った行動が倫理の観点で問題がある場合に、その行動が判断(意思決定)に原因があるのか、認識が不完全であり、判断ではなくその前の認識(センシング)に原因があるのかを説明可能にすることができる。なお、上述した例では、説明を簡単にするために同種(同一カテゴリ)の物体を例として説明したが、上述した点については異種の物体の場合も同様に適用可能である。
【0066】
[1-2.実施形態に係る移動体装置の構成]
次に、実施形態に係る情報処理を実行する情報処理装置の一例である移動体装置100の構成について説明する。
図3は、実施形態に係る移動体装置100の構成例を示す図である。
【0067】
図3に示すように、移動体装置100は、表示部11と、記憶部12と、制御部13と、センサ部14と、駆動部15とを有する。なお、移動体装置100は、ユーザU等の乗車中のユーザによる運転操作を受け付ける機能を実現する構成を有するが、通常の車両(自動車)が有する構成のため適宜説明を省略する。例えば、移動体装置100は、図示を省略するが、ユーザによる各種の運転操作を受け付けるハンドル部(操作部)やブレーキ部やアクセル部等を有する。
【0068】
なお、移動体装置100は、外部の装置との間で情報の送受信を行う場合、通信部を有してもよい。通信部は、例えば、NIC(Network Interface Card)や通信回路等によって実現される。通信部は、ネットワークN(インターネット等)と有線又は無線で接続され、ネットワークNを介して、他の装置等との間で情報の送受信を行う。
【0069】
表示部11は、各種情報を表示する。表示部11は、ディスプレイ等の表示装置(表示部)であり、各種情報を表示する。例えば、表示部11は、移動体装置100内部に配置されてもよい。表示部11は、移動体装置100内のユーザが視認可能な位置、例えば移動体装置100内部の前方側に配置されてもよい。表示部11は、移動体装置100のフロントガラス等であってもよい。この場合、表示部11は、AR(Augmented Reality:拡張現実)やMR(Mixed Reality:複合現実)に関する技術を用いて、各種情報を表示してもよい。フロントガラスである表示部11は、透過性を有する態様で根拠情報を表示する。例えば、表示部11は、画像が撮像された範囲に重畳させて、透過性を有する根拠情報を表示する。例えば、表示部11は、物体OB11の位置に、ヒートマップである根拠情報RINF1中の対応する領域を合せて根拠情報RINF1を表示する。表示部11は、認識部132により認識された情報を表示する。表示部11は、予測部133により予測された情報を表示する。表示部11は、生成部136により生成された情報を表示する。
【0070】
表示部11は、根拠情報を表示する。表示部11は、根拠情報を図として表示する。表示部11は、画像情報である根拠情報を表示する。表示部11は、ヒートマップである根拠情報を表示する。表示部11は、根拠情報を文字として表示する。表示部11は、根拠情報を数値として表示する。
【0071】
図1の例では、表示部11は、根拠情報RINF1を表示する。表示部11は、根拠情報RINF1を表示することにより、根拠情報の可視化を実現する。表示部11は、1つまたは複数の根拠生成アルゴリズムに基づいて生成された根拠情報、及び/またはセンサ情報に基づいて、アクションの根拠を示す情報を表示する。
【0072】
また、移動体装置100は、表示部11に限らず、情報を出力する機能構成を有してもよい。なお、移動体装置100は、情報を音声として出力する機能を有してもよい。例えば、移動体装置100は、音声を出力するスピーカー等の音声出力部を有してもよい。
【0073】
記憶部12は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。なお、記憶部12は、モデル情報記憶部121と、ログ情報記憶部122とを有する。なお、記憶部12は、モデル情報記憶部121と、ログ情報記憶部122に限らず、各種の情報が記憶される。例えば、記憶部12は、自動車である移動体装置100が走行する道路や地図に関する各種情報を記憶する。記憶部12は、地図に関する各種情報を記憶する地図情報記憶部を有する。
【0074】
地図情報記憶部は、地図に関する各種情報を記憶する。地図情報記憶部は、自動運転に必要な地図に関する各種情報を記憶する。
【0075】
実施形態に係るモデル情報記憶部121は、モデルに関する情報を記憶する。例えば、モデル情報記憶部121は、モデル(ネットワーク)の構造を示す情報(モデルデータ)を記憶する。
図4は、本開示の実施形態に係るモデル情報記憶部の一例を示す図である。
図4に、実施形態に係るモデル情報記憶部121の一例を示す。
図4に示した例では、モデル情報記憶部121は、「モデルID」、「用途」、「モデルデータ」といった項目が含まれる。
【0076】
「モデルID」は、モデルを識別するための識別情報を示す。「用途」は、対応するモデルの用途を示す。「モデルデータ」は、モデルのデータを示す。
図4では「モデルデータ」に「MDT1」といった概念的な情報が格納される例を示したが、実際には、モデルに含まれるネットワークに関する情報や関数等、そのモデルを構成する種々の情報が含まれる。
【0077】
図4に示す例では、モデルID「M1」により識別されるモデル(モデルM1)は、用途が「画像認識」であることを示す。また、モデルM1のモデルデータは、モデルデータMDT1であることを示す。例えば、モデルM1のモデルデータMDT1には、ディープニューラルネットワーク等のモデルM1のネットワーク構造や重み等のパラメータ等の各種情報が含まれる。
【0078】
また、モデルID「M2」により識別されるモデル(モデルM2)は、用途が「予測」であることを示す。また、モデルM2のモデルデータは、モデルデータMDT2であることを示す。例えば、モデルM2のモデルデータMDT2には、ディープニューラルネットワーク等のモデルM2のネットワーク構造や重み等のパラメータ等の各種情報が含まれる。
【0079】
また、モデルID「M3」により識別されるモデル(モデルM3)は、用途が「行動計画」であることを示す。また、モデルM3のモデルデータは、モデルデータMDT3であることを示す。例えば、モデルM3のモデルデータMDT3には、ディープニューラルネットワーク等のモデルM3のネットワーク構造や重み等のパラメータ等の各種情報が含まれる。
【0080】
なお、モデル情報記憶部121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
【0081】
実施形態に係るログ情報記憶部122は、ログ(履歴)に関する情報を記憶する。例えば、ログ情報記憶部122は、自動運転における認識や予測や行動計画に関する履歴を示す情報を記憶する。ログ情報記憶部122は、自動運転におけるモデルへの入力情報とそのモデルの出力に関する根拠情報とを対応付けた情報を記憶する。
図5は、本開示の実施形態に係るログ情報記憶部の一例を示す図である。
図5に示した例では、ログ情報記憶部122は、「ログID」、「入力情報」、「根拠情報」といった項目が含まれる。
【0082】
「ログID」は、ログ(履歴)を識別するための識別情報を示す。「入力情報」は、対応する入力情報を示す。
図5では「入力情報」に「IND1」といった概念的な情報が格納される例を示したが、実際には、入力された画像等の各種データ自体、または、その格納場所を示すファイルパス名などが格納される。
【0083】
「根拠情報」は、対応する根拠情報を示す。
図5では「根拠情報」に「RINF1」といった概念的な情報が格納される例を示したが、実際には、根拠情報として生成された画像等の各種データ自体、または、その格納場所を示すファイルパス名などが格納される。
【0084】
図5に示す例では、ログID「LG1」により識別されるログ(ログLG1)は、入力情報が「IND1」であり、根拠情報が「RINF1」であることを示す。このように、
図5の例では、入力情報IND1と根拠情報RINF1とが対応付けられている場合を示す。すなわち、ログLG1は、入力情報IND1に対応する出力に関する根拠を示す根拠情報が根拠情報RINF1であることを示す。
【0085】
なお、ログ情報記憶部122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。ログ情報記憶部122は、入力情報に根拠情報に限らず、種々の情報を対応付けて記憶する。ログ情報記憶部122は、入力情報に、その入力情報に対応する認識結果や予測結果や行動計画や移動体の走行情報等を対応付けて記憶する。例えば、ログ情報記憶部122は、入力情報IND1に、経路PP11や経路PP11に基づく実際の移動体装置100の走行情報を対応付け記憶する。
【0086】
図3に戻り、説明を続ける。制御部13は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、移動体装置100内部に記憶されたプログラム(例えば、本開示に係る情報処理プログラム)がRAM(Random Access Memory)等を作業領域として実行されることにより実現される。また、制御部13は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
【0087】
図3に示すように、制御部13は、取得部131と、認識部132と、予測部133と、行動計画部134と、実行部135と、生成部136とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部13の内部構成は、
図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【0088】
取得部131は、各種情報を取得する。取得部131は、外部の情報処理装置から各種情報を取得する。取得部131は、記憶部12から各種情報を取得する。取得部131は、モデル情報記憶部121やログ情報記憶部122から各種情報を取得する。
【0089】
取得部131は、センサ部14により検知されたセンサ情報を取得する。取得部131は、取得した情報を記憶部12に格納する。取得部131は、画像センサ141によって検知される画像情報を取得する。取得部131は、測距センサによって検知されるセンサ情報を取得する。
【0090】
取得部131は、ニューラルネットワークの構造を有するモデルと、モデルに入力される入力情報とを取得する。取得部131は、自律的に行動する装置の制御に用いられるモデルを取得する。取得部131は、自律的に移動可能な移動体の制御に用いられるモデルを取得する。取得部131は、自動運転により動作する車両である移動体の制御に用いられるモデルを取得する。
【0091】
取得部131は、センサ情報の入力に応じて出力を行うモデルと、センサにより検知されたセンサ情報である入力情報とを取得する。取得部131は、画像情報の入力に応じて画像情報の認識結果を出力するモデルと、画像情報である入力情報とを取得する。取得部131は、CNNを含むモデルを取得する。取得部131は、他のモデルが出力する出力情報の入力に応じて出力を行うモデルと、他のモデルが出力した出力情報である入力情報とを取得する。
【0092】
図1の例では、取得部131は、モデル情報記憶部121からモデルM1~M3等を取得する。取得部131は、認識処理に用いるモデルM1を取得する。取得部131は、予測処理に用いるモデルM2を取得する。取得部131は、行動計画の処理に用いるモデルM3を取得する。取得部131は、画像センサ141によって検知される画像IM1を取得する。取得部131は、取得部131は、画像IM1をモデルM1への入力情報IND1として取得する。
【0093】
認識部132は、認識処理を行う。認識部132は、各種認識を行う。認識部132は、物体の認識を行う。認識部132は、種々の情報を用いて物体の認識を行う。認識部132は、物体の認識結果に関する各種情報を生成する。認識部132は、取得部131により取得された情報に基づいて、物体の認識を行う。認識部132は、センサ部14により検知された各種のセンサ情報を用いて、物体の認識を行う。認識部132は、画像センサ141によって撮像された画像情報(センサ情報)を用いて、物体の認識を行う。認識部132は、画像情報に含まれる物体の認識を行う。認識部132は、モデル情報記憶部121やログ情報記憶部122に記憶された情報に基づいて、各種情報を認識する。
【0094】
図1の例では、認識部132は、画像センサ141により撮像された画像IM1を基に、認識処理を行う。認識部132は、画像IM1に含まれる物体等を認識する処理を行う。認識部132は、モデルM1を用いて、認識処理を行う。例えば、認識部132は、画像IM1を入力情報IND1としてモデルM1に入力することにより、モデルM1に認識結果を出力させる。
【0095】
予測部133は、予測処理を行う。予測部133は、各種情報を予測する。予測部133は、外部の情報処理装置から取得された情報に基づいて、各種情報を予測する。予測部133は、記憶部12に記憶された情報に基づいて、各種情報を予測する。予測部133は、モデル情報記憶部121やログ情報記憶部122に記憶された情報に基づいて、各種情報を予測する。
【0096】
図1の例では、予測部133は、モデルM1の出力を基に、予測処理を行う。予測部133は、画像IM1に含まれる物体の移動等の行動(運動態様)を予測する処理を行う。予測部133は、モデルM2を用いて、予測処理を行う。例えば、予測部133は、モデルM1が出力する情報(認識結果情報)をモデルM2に入力することにより、モデルM2に予測結果を出力させる。
【0097】
予測部133は、人である物体OB11の運動態様を予測する。予測部133は、物体OB11の移動方向や速度を予測する。予測部133は、物体OB11が予測部133の方に向かって移動していると予測する。また、予測部133は、車両である物体OB12の運動態様を予測する。予測部133は、物体OB12の移動方向や速度を予測する。予測部133は、物体OB12が移動体装置100の方に向かって移動していると予測する。
【0098】
行動計画部134は、各種計画を行う。行動計画部134は、行動計画を決定する。行動計画部134は、行動計画に関する各種情報を生成する。行動計画部134は、取得部131により取得された情報に基づいて、各種計画を行う。行動計画部134は、予測部133により予測された情報を用いて、各種計画を行う。行動計画部134は、行動計画に関する種々の技術を用いて、行動計画を行う。
【0099】
行動計画部134は、予測部133により予測された情報に基づいて行動計画を決定する。行動計画部134は、予測部133により予測された情報に基づいて、障害物地図に含まれる障害物を回避するように移動する行動計画を決定する。
【0100】
図1の例では、行動計画部134は、モデルM2の出力を基に、行動計画を示す生成する処理を行う。行動計画部134は、予測した物体OB11や物体OB12の運動態様に基づいて、行動計画を決定する。行動計画部134は、モデルM3を用いて、行動計画を決定する処理を行う。行動計画部134は、モデルM2が出力する情報(予測結果情報)をモデルM3に入力することにより、モデルM3に行動計画を出力させる。
【0101】
行動計画部134は、物体OB11、OB12が自身の進行方向に位置し、移動体装置100に向かってきており、物体OB11、OB12の両方を避けることができないため、物体OB11を避けるように行動計画を決定する。行動計画部134は、進行方向の左側に位置する物体OB11への衝突を避けるために進行方向の右側へ進行する経路PP11を計画する。行動計画部134は、経路PP11を示す行動計画情報を生成する。
【0102】
実行部135は、各種情報を実行する。実行部135は、外部の情報処理装置からの情報に基づいて、各種処理を実行する。実行部135は、記憶部12に記憶された情報に基づいて、各種処理を実行する。実行部135は、地図情報記憶部に記憶された情報に基づいて、各種情報を実行する。実行部135は、取得部131により取得された情報に基づいて、各種情報を決定する。
【0103】
実行部135は、予測部133により予測された情報に基づいて、各種処理を実行する。実行部135は、行動計画部134により計画された行動計画に基づいて、各種処理を実行する。実行部135は、行動計画部134により生成された行動計画の情報に基づいて、行動に関する処理を実行する。実行部135は、行動計画部134により生成された行動計画の情報に基づいて、駆動部15を制御して行動計画に対応する行動を実行する。実行部135は、行動計画の情報に基づく駆動部15の制御により、行動計画に沿って移動体装置100の移動処理を実行する。
【0104】
図1の例では、実行部135は、経路PP11を示す行動計画情報を基に自動運転の制御を行う。実行部135は、経路PP11を示す行動計画情報を基に人である物体OB11を避けるように移動体装置100の移動を制御する。
【0105】
生成部136は、各種生成を行う。生成部136は、記憶部12に記憶された情報に基づいて、各種情報を生成する。生成部136は、モデル情報記憶部121やログ情報記憶部122に記憶された情報に基づいて、各種情報を生成する。生成部136は、センサ部14により検知されたセンサ情報に基づいて、各種情報を生成する。生成部136は、画像センサ142により検知された画像情報に基づいて、各種情報を生成する。
【0106】
生成部136は、取得部131により取得された情報に基づいて、各種情報を生成する。生成部136は、認識部132による認識結果に基づいて、各種情報を生成する。生成部136は、予測部133による予測結果に基づいて、各種情報を生成する。生成部136は、行動計画部134による行動計画に基づいて、各種情報を生成する。
【0107】
生成部136は、モデルへの入力情報の入力後のモデルの状態を示す状態情報に基づいて、モデルへの入力情報の入力後のモデルの出力に関する根拠を示す根拠情報を生成する。生成部136は、モデルの出力を用いた処理の根拠を示す根拠情報を生成する。
【0108】
生成部136は、モデルへの入力情報の入力後の装置の制御の根拠を示す根拠情報を生成する。生成部136は、モデルへの入力情報の入力後の移動体の制御の根拠を示す根拠情報を生成する。生成部136は、移動体の移動方向の根拠を示す根拠情報を生成する。
【0109】
生成部136は、センサによる検知に応じて入力情報が入力されたモデルの根拠情報を生成する。生成部136は、モデルの出力に関する根拠を示す画像情報を根拠情報として生成する。生成部136は、モデルの出力に関する根拠を示すヒートマップを根拠情報として生成する。
【0110】
生成部136は、モデルの畳み込み層の状態を含む状態情報に基づいて、根拠情報を生成する。生成部136は、CAM(Class Activation Mapping)に関する処理により根拠情報を生成する。生成部136は、Grad-CAMにより根拠情報を生成する。
【0111】
生成部136は、他のモデルによる出力に応じて入力情報が入力されたモデルの根拠情報を生成する。生成部136は、モデルへの入力情報の入力後のモデルの出力結果を含む状態情報に基づいて、根拠情報を生成する。生成部136は、入力情報と出力結果とを用いて学習された根拠用モデルに基づいて、根拠情報を生成する。生成部136は、入力情報と出力結果との組合せを対象に局所的に近似する根拠用モデルを用いて、根拠情報を生成する。生成部136は、LIMEに関する処理により根拠情報を生成する。
【0112】
生成部136は、入力情報と根拠情報とを対応付けたログ情報を記憶部に格納する。生成部136は、表示部11に表示する各種情報を生成する。生成部136は、表示部11に表示する文字情報やグラフといった画像情報などの各種情報を生成する。
【0113】
なお、生成部136は、
図1に示すヒートマップである根拠情報RINF1等の画面に関する情報(画像)を画像に関連する種々の従来技術を適宜用いて生成してもよい。生成部136は、
図1に示すグラフGR11等の画像をGUIに関する種々の従来技術を適宜用いて生成する。例えば、生成部136は、CSS、JavaScript(登録商標)、HTML、あるいは、上述した情報表示や操作受付等の情報処理を記述可能な任意の言語によりヒートマップHM11等の画像を生成してもよい。
【0114】
図1の例では、生成部136は、モデルM1への入力情報の入力後のモデルM1の状態を示す状態情報に基づいて、モデルへの入力情報の入力後のモデルの出力に関する根拠を示す根拠情報を生成する。生成部136は、モデルM1への画像IM1の入力後のモデルM1の状態を示す状態情報に基づいて、モデルM1への画像IM1の入力後のモデルM1の出力に関する根拠を示す根拠情報を生成する。
【0115】
生成部136は、Grad-CAMにより、画像IM1の入力後のモデルM1の出力に関する根拠を示す根拠情報を生成する。生成部136は、上述したGrad-CAMに関する処理により、画像IM1の入力後のモデルM1の出力に関する根拠を示す根拠情報を生成する。
【0116】
生成部136は、対象とする種別(クラス)を指定して、指定したクラスに対応する情報(画像)を生成する。例えば、生成部136は、Grad-CAMの技術を用いて、逆誤差伝搬等の各種処理により、指定したクラスを対象に情報(画像)を生成する。生成部136は、種別「人」のクラスを指定して、種別「人」に対応する根拠情報RINF1である画像を生成する。
【0117】
生成部136は、種別「人」の認識(分類)のために注視している範囲(領域)をヒートマップ(カラーマップ)の形式で示す画像である根拠情報RINF1を生成する。生成部136は、画像IM1の人である物体OB11の位置が最も注視されており、人である物体OB11が認識されていることを示す根拠情報RINF1を生成する。生成部136は、複数の根拠生成アルゴリズムに基づいてアクションの根拠情報を生成する根拠情報生成部として機能する。生成部136は、Grad-CAMの手法に基づくアルゴリズム、LIMEの手法に基づくアルゴリズム、TCAVの手法に基づくアルゴリズム等の複数の根拠生成アルゴリズムに基づいてアクションの根拠情報を生成する。生成部136は、複数の根拠生成アルゴリズムのうち、一の根拠生成アルゴリズムを用いてアクションの根拠情報を生成する。生成部136は、複数の根拠生成アルゴリズムのうち一の根拠生成アルゴリズムを選択し、選択した根拠生成アルゴリズムを用いてアクションの根拠情報を生成する。生成部136は、リアルタイム性を要求される処理の場合、複数の根拠生成アルゴリズムのうち、Grad-CAMの手法に基づくアルゴリズムを選択し、選択したGrad-CAMの手法に基づくアルゴリズムを用いてアクションの根拠情報を生成する。
【0118】
センサ部14は、所定の情報を検知する。センサ部14は、画像センサ141を有する。画像センサ141は、画像を撮像する撮像手段として機能する。画像センサ141は、画像情報を検知する。
【0119】
なお、センサ部14は、画像センサ141に限らず、種々のセンサを有してもよい。例えば、センサ部14は、位置センサ、測距センサ、音センサ、加速度センサ、ジャイロセンサ、温度センサ、湿度センサ、照度センサ、圧力センサ、近接センサ、ニオイや汗や心拍や脈拍や脳波等の生体情報を取得のためのセンサ等の種々のセンサを有してもよい。
【0120】
例えば、測距センサは、被測定対象と測距センサとの間の距離を検知する。測距センサは、被測定対象と測距センサとの間の距離情報を検知する。測距センサは、光学センサであってもよい。センサ部14は、測距センサとして、LiDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)を有する。なお、測距センサは、LiDARに限らず、ToF(Time of Flight)センサやステレオカメラ等の種々のセンサであってもよい。また、測距センサは、ミリ波レーダを使った測距センサであってもよい。なお、測距センサは、LiDARに限らず、ToFセンサやステレオカメラ等の種々のセンサであってもよい。
【0121】
また、例えば、位置センサは、移動体装置100の位置を検知する。位置センサは、GPS(Global Positioning System)センサ等の種々のセンサであってもよい。また、センサ部14における上記の各種情報を検知するセンサは共通のセンサであってもよいし、各々異なるセンサにより実現されてもよい。
【0122】
駆動部15は、移動体装置100における物理的構成を駆動する機能を有する。駆動部15は、移動体装置100の位置の移動を行うための機能を有する。駆動部15は、自動車である移動体装置100の位置の移動を行うための機能を有する。駆動部15は、例えばモータ等である。駆動部15は、自動車である移動体装置100のタイヤ等を駆動する。なお、駆動部15は、移動体装置100が所望の動作を実現可能であれば、どのような構成であってもよい。駆動部15は、移動体装置100の位置の移動等を実現可能であれば、どのような構成であってもよい。例えば、駆動部15は、ユーザによる運転操作や実行部135による指示に応じて、移動体装置100の移動機構を駆動することにより、移動体装置100を移動させ、移動体装置100の位置を変更する。
【0123】
[1-2-1.モデル例]
上述したように、移動体装置100は、種々の形式のモデル(関数)を用いてもよい。例えば、移動体装置100は、SVM(Support Vector Machine)等の回帰モデルやニューラルネットワーク(neural network)等、任意の形式のモデル(関数)を用いてもよい。移動体装置100は、非線形の回帰モデルや線形の回帰モデル等、種々の回帰モデルを用いてもよい。
【0124】
この点について、
図6を用いて、モデルのネットワーク構造の一例を説明する。
図6は、本開示の実施形態に係るモデルの一例を示す図である。
図6に示すネットワークNW1は、入力層INLと出力層OUTLとの間に複数(多層)の中間層を含むニューラルネットワークを示す。ネットワークNW1は、4層以上の深層ニューラルネット、いわゆるディープニューラルネットワーク(ディープラーニング)等の構造を有する。
【0125】
図6に示すネットワークNW1は、例えばモデルM1のネットワークに対応し、画像認識に用いられるニューラルネットワーク(モデル)を示す概念的な図である。例えば、ネットワークNW1は、入力層INL側から例えば画像が入力された場合に、出力層OUTLからその認識結果を出力する。例えば、移動体装置100は、ネットワークNW1中の入力層INLに情報を入力することにより、出力層OUTLから入力に対応する認識結果を出力させる。
【0126】
なお、
図6では、モデル(ネットワーク)の一例としてネットワークNW1を示すが、ネットワークNW1は、用途等に応じて種々の形式であってもよい。また、モデルM1のみに限らず、モデルM2、M3等のついても同様のディープニューラルネットワーク(ディープラーニング)等の構造を有する。
【0127】
[1-3.実施形態に係る情報処理の手順]
次に、
図7及び
図8を用いて、実施形態に係る情報処理の手順について説明する。まず、
図7を用いて、実施形態に係る学習処理の流れについて説明する。
図7は、実施形態に係る情報処理の手順を示すフローチャートである。
【0128】
図7に示すように、移動体装置100は、ニューラルネットワークの構造を有するモデルを取得する(ステップS101)。例えば、移動体装置100は、モデル情報記憶部121(
図3参照)からモデルM1を取得する。
【0129】
移動体装置100は、モデルに入力される入力情報を取得する(ステップS102)。例えば、移動体装置100は、モデルM1に入力される入力情報IND1として画像IM1を取得する。
【0130】
そして、移動体装置100は、モデルへの入力情報の入力後のモデルの状態を示す状態情報に基づいて、モデルへの入力情報の入力後のモデルの出力に関する根拠を示す根拠情報を生成する(ステップS103)。例えば、移動体装置100は、モデルM1への入力情報IND1の入力後のモデルM1の状態を示す状態情報に基づいて、モデルM1への入力情報の入力後のモデルM1の出力に関する根拠を示す根拠情報RINF1を生成する。そして、移動体装置100は、生成した根拠情報RINF1を表示する。
【0131】
次に、
図8を用いて、移動体の制御処理の手順について説明する。
図8を用いて、移動体装置100の移動制御処理の詳細な流れについて説明する。
図8は、移動体の制御処理の手順を示すフローチャートである。
【0132】
図8に示すように、移動体装置100は、センサからの画像を取得する(ステップS201)。例えば、移動体装置100は、画像センサ141からの画像を取得する。
【0133】
そして、移動体装置100は、取得した画像をログデータとして記憶する(ステップS202)。例えば、移動体装置100は、画像をログデータとしてログ情報記憶部122に格納する。
【0134】
そして、移動体装置100は、歩行者を検出した場合(ステップS203:Yes)、歩行者にヒートマップ表示する(ステップS204)。例えば、移動体装置100は、歩行者を検出した場合、歩行者の位置を注目させる態様のヒートマップである根拠情報を生成し、表示する。
【0135】
そして、移動体装置100は、生成した根拠情報をログデータとして記憶する(ステップS202)。例えば、移動体装置100は、生成した根拠情報を生成基となる画像に対応付けてログ情報記憶部122に格納する。
【0136】
そして、移動体装置100は、歩行者を避けるハンドル操作を実行する(ステップS205)。例えば、移動体装置100は、ユーザによるハンドル操作を受け付けて、受け付けたハンドル操作に応じて移動制御を実行する。
【0137】
そして、移動体装置100は、受け付けたハンドル操作の情報をログデータとして記憶する(ステップS202)。例えば、移動体装置100は、受け付けたハンドル操作の情報を対応する画像や根拠情報に対応付けてログ情報記憶部122に格納する。
【0138】
一方、移動体装置100は、歩行者を検出しなかった場合(ステップS203:No)、ステップS204、S205の処理を行うことなく、終了する。
【0139】
[1-4.他の情報処理例]
なお、
図1の例では、移動体装置100が歩行者等の物体を適切に認識した場合を示したが、移動体装置100は物体を適切に認識できる場合に限らず、種々の条件により、移動体装置100が適切に物体を認識できない場合が生じ得る。このような場合であっても、移動体装置100が根拠情報を生成することが有用である。この点について、
図9を用いて説明する。
図9は、実施形態に係る情報処理の他の一例を示す図である。なお、
図1と同様の点については適宜説明を省略する。
【0140】
図9に示す例では、移動体装置100にはユーザ(ユーザU)が乗車しており、移動体装置100は道RD21上を走行中である場合を示す。具体的には、
図9に示す例では、移動体装置100から後述する物体OB21、OB22の方へ向かう方向が移動体装置100の前方になり、移動体装置100が前方へ走行中である場合を示す。なお、道RD21の側部は壁面等、移動体装置100が進入できない領域であるものとする。まず、移動体装置100は、センサ部14(
図3参照)により検知を行う(ステップS21)。
図9の例では、移動体装置100は、画像センサ141により画像IM21を検知(撮像)する。
【0141】
そして、移動体装置100は、認識処理を行う(ステップS22)。移動体装置100は、画像センサ141により撮像された画像IM21を基に、認識処理を行う。移動体装置100は、画像IM21に含まれる物体等を認識する処理を行う。移動体装置100は、
図1と同様にモデルM1を用いて、認識処理を行う。
【0142】
図9の例では、移動体装置100は、画像IM21をモデルM1に入力することにより、モデルM1に画像IM21の左側の位置(領域)に種別「人」である物体OB21が存在することを示す情報を出力させる。また、移動体装置100は、画像IM21をモデルM1に入力することにより、モデルM1に画像IM21の右側の位置(領域)に種別「車両」である物体OB22が存在することを示す情報を出力させる。そして、移動体装置100は、ステップS23~S26の処理を行う。なお、
図9の例では、説明の便宜上、各処理にステップS23~S26を付するが、ステップS24の後にステップS25が行われることを示すものではない。例えば、ステップS23~S24の処理と、ステップS25~S26の処理は並列して行われる。
【0143】
まず、ステップS23~S24の処理を説明する。移動体装置100は、生成処理を行う(ステップS23)。移動体装置100は、モデルM1への入力情報の入力後のモデルM1の状態を示す状態情報に基づいて、モデルへの入力情報の入力後のモデルの出力に関する根拠を示す根拠情報を生成する。移動体装置100は、モデルM1への画像IM21の入力後のモデルM1の状態を示す状態情報に基づいて、モデルM1への画像IM21の入力後のモデルM1の出力に関する根拠を示す根拠情報を生成する。
【0144】
図9の例では、移動体装置100は、Grad-CAMにより、画像IM21の入力後のモデルM1の出力に関する根拠を示す根拠情報を生成する。
図9の例では、移動体装置100は、種別「人」のクラスを指定して、種別「人」に対応する根拠情報RINF21である画像を生成する。根拠情報RINF21は、
図1の根拠情報RINF1と同様に、種別「人」の認識(分類)のために注視している範囲(領域)を、いわゆるヒートマップ(カラーマップ)の形式で示す画像である。
図9の例では、根拠情報RINF21は、画像IM21の人である物体OB21の位置が注視されておらず、人である物体OB21が適切に認識されていないことを示す。また、
図9の例では、移動体装置100は、車両である物体OB12を適切に認識しているものとする。
【0145】
そして、移動体装置100は、表示処理を行う(ステップS24)。移動体装置100は、生成した根拠情報RINF21を表示部11(
図3参照)に表示する。
図9の例では、根拠情報RINF21に示すように適切に人である物体OB21が認識されていないため、ユーザUは、移動体装置100の自動運転状態を手動運転に切り替えて、自身の操作による走行に切り替えてもよい。
【0146】
また、移動体装置100は、根拠情報RINF21をその基となる入力情報(入力情報IND21)である画像IM21に対応付けて記憶部12(
図3参照)に履歴として格納する。例えば、移動体装置100は、入力情報IND21と根拠情報RINF21とを対応付けてログ情報記憶部122(
図3参照)に格納する。これにより、移動体装置100がどのような入力に対する判断により、その後の動作を行ったのかを検証可能となる。
【0147】
ここから、ステップS25~S26の処理を説明する。なお、ステップS25の処理は、ステップS22の処理が完了し次第行われる。
【0148】
移動体装置100は、認識処理の認識結果を基に予測処理を行う(ステップS25)。移動体装置100は、モデルM1の出力を基に、予測処理を行う。移動体装置100は、画像IM21に含まれる物体の移動等の行動(運動態様)を予測する処理を行う。移動体装置100は、
図1と同様に、モデルM2を用いて、予測処理を行う。移動体装置100は、認識した車両である物体OB22の運動態様を予測する。移動体装置100は、物体OB22の移動方向や速度を予測する。
図9の例では、移動体装置100は、物体OB22が移動体装置100の方に向かって移動していると予測する。
【0149】
移動体装置100は、予測処理の予測結果を基に行動計画を決定する処理を行う(ステップS26)。移動体装置100は、モデルM2の出力を基に、行動計画を示す生成する処理を行う。移動体装置100は、予測した物体OB22の運動態様に基づいて、行動計画を決定する。移動体装置100は、
図1と同様に、モデルM3を用いて、行動計画を決定する処理を行う。
図9の例では、移動体装置100は、物体OB22が自身の進行方向に位置し、移動体装置100に向かってきているため、物体OB22を避けるように行動計画を決定する。具体的には、移動体装置100は、進行方向の右側に位置する物体OB22への衝突を避けるために進行方向の左側へ進行する経路PP21を計画する。移動体装置100は、経路PP21を示す行動計画情報を生成する。そして、移動体装置100は、経路PP21を示す行動計画情報を基に自動運転の制御を行う。例えば、移動体装置100は、入力情報IND21に、経路PP21や経路PP21に基づく実際の移動体装置100の走行情報を対応付けてログ情報記憶部122(
図3参照)に格納する。これにより、移動体装置100がどのような入力により移動体装置100がどのような計画を行ったり、走行したりしたかを検証可能となる。
【0150】
上述のように、
図9の例では、移動体装置100は、画像センサ141により検知した画像IM21により歩行者である物体OB21を検出(認識)できなかったため、物体OB21がハイライトされていないヒートマップである根拠情報RINF21を表示部11に表示する。このように、
図9の例では、自動運転でのセンサから歩行者を検出できなかったため、可視化表示装置(例えば表示部11等)により歩行者がヒートマップによってハイライト表示されない。
【0151】
例えば、
図9の例では、移動体装置100は、歩行者である物体OB21を適切に認識できていないため、車両である物体OB22を避けるため、歩行者である物体OB21側へ進路を取り物体OB21に接近する。このとき、移動体装置100が歩行者である物体OB21がハイライトされていないヒートマップである根拠情報RINF21をリアルタイムに表示している。これにより、移動体装置100の乗車者は、移動体装置100が人を認識できていないため、人側へ進路を取っていると認識することができる。このように、移動体装置100の乗車者は、自動運転で走行する移動体装置100が人を適切に認識できていないため、対向車を避けるために、人がいる方向へ進路をとろうとしていることが分かる。そのため、移動体装置100の乗車者は、非常時手動運転に切替えて、自動運転を停止し、自身でハンドル部やブレーキ部などの操作を行うことによって、人と接触する事故を回避することもできる。
【0152】
また、
図9の例において移動体装置100が物体OB22である対向車を避けるために、左方向へ進行すると自動運転が判断したために、歩行者である物体OB21と接触したとする。このような場合であっても、移動体装置100は、歩行者である物体OB21がハイライトされていないヒートマップである根拠情報RINF21が記憶部12に格納しているため、歩行者である物体OB21との接触が物体OB21を適切に認識できていなかったためであるという理由(根拠)を示す情報を提供することができる。すなわち、移動体装置100は、人との接触事故の説明として、自動運転システム(センサシステム)が歩行者を認識できていないことによって生じたことをログデータから証明することができる。
【0153】
[1-5.車両内システムの構成の概念図]
ここで、
図10を用いて、車両内システムにおける各機能やハードウェア構成や処理を概念的に示す。
図10は、車両内システムの構成の概念図の一例を示す図である。
図10に示す車両内システムFCB1は、自動運転を行うために車両(移動体)に搭載されるシステムである。例えば、移動体装置100は、
図10に示すような車両内システムFCB1が搭載された自動車である。
【0154】
図10に示す車両内システムFCB1は、センサ部、人工知能、自動運転制御部等が含まれる。また、車両内システムFCB1は、可視化表示、ログ保存、非常時手動運転といった処理を行う。
【0155】
車両内システムFCB1のセンサ部は、例えば車両外の情報を検知する。車両内システムFCB1のセンサ部は、移動体装置100のセンサ部14等に対応する。車両内システムFCB1のセンサ部は、画像を撮像する。
【0156】
車両内システムFCB1の人工知能は、認知システムと判断システムとを含む。車両内システムFCB1の認知システムは、外界認識と予測の処理を行う。車両内システムFCB1の認知システムは、移動体装置100の認識部132や予測部133等に対応する。車両内システムFCB1の認知システムは、車両内システムFCB1のセンサ部により検知された情報(センサ情報)を基に、外界認識を行う。また、車両内システムFCB1の認知システムは、外界認識の結果を基に、予測を行う。
【0157】
車両内システムFCB1の判断システムは、行動計画の処理を行う。車両内システムFCB1の判断システムは、移動体装置100の行動計画部134等に対応する。車両内システムFCB1の判断システムは、車両内システムFCB1の認知システムの予測結果を基に、行動計画を行う。
【0158】
車両内システムFCB1の自動運転制御部は、自動運転の制御を行う。車両内システムFCB1の自動運転制御部は、移動体装置100の実行部135や運転を制御する各構成等に対応する。車両内システムFCB1の自動運転制御部は、両内システムFCB1の判断システムが生成した行動計画を基に、運転を制御する。
【0159】
車両内システムFCB1の可視化表示は、各種の情報を表示する処理である。車両内システムFCB1の可視化表示は、移動体装置100の表示部11や生成部136等の機能により実現される。車両内システムFCB1の可視化表示は、センサ部や人工知能の情報を表示する。車両内システムFCB1の可視化表示は、人工知能の判断根拠を示す根拠情報を表示する。例えば、車両内システムFCB1の可視化表示は、人工知能の情報を基に、根拠情報を生成し、表示する。
【0160】
車両内システムFCB1のログ保存は、各種の情報をログとして保存する処理である。車両内システムFCB1のログ保存は、移動体装置100の記憶部12等の機能により実現される。車両内システムFCB1のログ保存は、車両内システムFCB1の可視化表示や判断システムの情報をログとして保存する。車両内システムFCB1のログ保存は、センサ情報と、そのセンサ情報に基づく外界認識、予測、行動計画の情報とを対応付けてログとして保存する。
【0161】
車両内システムFCB1の非常時手動運転は、車両内システムFCB1が搭載された車両に乗車するユーザ(乗車者)による手動運転に応じた制御を行う処理である。車両内システムFCB1の非常時手動運転は、移動体装置100のバンドル部やアクセル部やブレーキ部等のユーザによる各種の運転操作を受け付ける構成などにより実現される。例えば、車両内システムFCB1の非常時手動運転による制御が行われる場合、自動運転制御部により制御が停止され、ユーザによる手動運転に応じて、車両内システムFCB1が搭載された車両の走行等の制御が行われる。
【0162】
上述のような車両内システムFCB1は、AIによる自動運転において、ブラックボックスと言われるディープラーニングがどのような根拠に基づいて判断をしたのかを可視化する。
図10に示すように、車両内システムFCB1における人工知能部は、認知システムと判断システムから構成されている。認知システムは、外界認識や予測を行い、判断システムへの根拠となる情報を提供する。認知システムにおいて、その判断根拠となる画像をヒートマップにてハイライトすることで、可視化表示ができる。車両の運転者は、可視化表示を見て、危険な状態を察知した場合、自動運転から非常時手動運転へ切り替えることで、事故を回避することができる。また、万一事故が発生してしまったときは、ログに保存されている判断根拠の可視化表示とセンサ画像から説明をすることができる。
【0163】
上述のような車両内システムFCB1によって、自動運転における人工知能がどのような判断したのかを可視化することができる。従来までブラックボックスと言われていた人工知能の判断根拠をリアルタイムに運転者が知ることができ、安全な走行への運転支援ができる。例えば、自動運転が急に左に曲がろうとした場合、人を避けるためなのか、障害物を避けるためなのかをディープラーニングの判断根拠の可視化技術によって知ることができる。例えば、急な左への方向転換はその先に人等の物体が存在する可能性もある。もし自動運転によってハンドルを左に切らずに、障害物の方向へ進んでいたならば、物損事故で済み、人身事故が発生することを回避することもできる。また、万一事故が起こってしまったときは、自動運転での判断根拠が記録されているので、自動運転での過失について証明することができる。
【0164】
[2.その他の実施形態]
上述した各実施形態に係る処理は、上記各実施形態以外にも種々の異なる形態(変形例)にて実施されてよい。例えば、上述した例では、情報処理を行う情報処理装置が移動体装置100である例を示したが、情報処理装置は、サーバ装置であってもよい。例えば、情報処理装置は、他の装置から受信した情報を用いて根拠情報を生成するサーバ装置であってもよい。すなわち、情報処理装置は、根拠情報を生成する処理を行うために必要な構成のみを有してもよい。根拠情報を生成する情報処理装置が含まれる情報処理システムが構成されてもよい。この場合、情報処理システムは、根拠情報を生成する情報処理装置と、情報処理装置が生成した根拠情報を表示する表示装置とを含む構成であってもよい。すなわち、情報処理システムは、根拠情報を生成する装置と、根拠情報を表示する装置とを含む構成であってもよい。
【0165】
[2-1.その他の構成例]
また、上述した例では、情報処理装置と移動体装置(移動体)とが一体である場合を示したが、情報処理装置と移動体装置(移動体)とは別体であってもよい。この点について、
図11及び
図12を用いて説明する。
図11は、本開示の変形例に係る情報処理システムの構成例を示す図である。
図12は、本開示の変形例に係る情報処理装置の構成例を示す図である。
【0166】
図11に示すように、情報処理システム1は、移動体装置10と、情報処理装置100Aとが含まれる。移動体装置10及び情報処理装置100AはネットワークNを介して、有線又は無線により通信可能に接続される。なお、
図11に示した情報処理システム1には、複数台の移動体装置10や、複数台の情報処理装置100Aが含まれてもよい。この場合、情報処理装置100Aは、ネットワークNを介して移動体装置10と通信し、移動体装置10や各種センサが収集した情報を基に、移動体装置10の制御の指示を行なったりしてもよい。情報処理装置100Aは、いずれの場所に配置されてもよい。例えば、情報処理装置100Aは、移動体装置10外に配置されてもよいし、移動体装置10に搭載されてもよい。
【0167】
移動体装置10は、自動運転で走行する自動車である。移動体装置10は、画像センサ等のセンサにより検知したセンサ情報を情報処理装置100Aへ送信する。移動体装置10は、画像センサによって撮像された画像を情報処理装置100Aへ送信する。これにより、情報処理装置100Aは、画像センサによって撮像された画像を取得する。なお、移動体装置10は、情報処理装置100Aとの間で情報の送受信が可能であれば、どのような装置であってもよく、例えば、自律移動ロボットやドローン等の種々の移動体であってもよい。
【0168】
情報処理装置100Aは、移動体装置10から受信した情報を用いて、各種の情報処理を行う情報処理装置である。情報処理装置100Aは、行動計画の情報等、移動体装置10を制御するための情報を移動体装置10へ提供する。情報処理装置100Aから行動計画の情報を受信した移動体装置10は、行動計画の情報を基に制御し、移動する。情報処理装置100Aは、生成した根拠情報を移動体装置10へ提供する。情報処理装置100Aから根拠情報を受信した移動体装置10は、根拠情報を表示する。
【0169】
図12に示すように、情報処理装置100Aは、記憶部12と、制御部13Aと、通信部16とを有する。通信部16は、ネットワークN(インターネット等)と有線又は無線で接続され、ネットワークNを介して、移動体装置10との間で情報の送受信を行う。記憶部12は、移動体装置10の移動を制御するための情報や移動体装置10から受信した各種情報や移動体装置10へ送信する各種情報を記憶する。このように、情報処理装置100Aは、移動体装置10等の外部の装置との間で情報を送受信するための構成を有する。
【0170】
図12に示すように、情報処理装置100Aは、センサ部や駆動部等を有さず、移動体装置としての機能を実現するための構成を有しなくてもよい。なお、情報処理装置100Aは、情報処理装置100Aを管理する管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0171】
制御部13Aは、取得部131と、認識部132と、予測部133と、行動計画部134と、実行部135と、生成部136と、送信部137を有する。
【0172】
送信部137は、各種情報を送信する。送信部137は、各種情報の提供を行う。送信部137は、外部の情報処理装置へ各種情報を提供する。送信部137は、外部の情報処理装置へ各種情報を送信する。送信部137は、記憶部12に記憶された情報を送信する。送信部137は、生成部136により生成された情報を送信する。
【0173】
送信部137は、移動体装置10へ情報を送信する。送信部137は、行動計画部134により生成された行動計画の情報を移動体装置10へ情報を送信する。送信部137は、行動計画部134により生成された行動計画の情報を移動体装置10へ情報を送信することにより、移動体装置10の動作を制御する。送信部137は、行動計画の情報を移動体装置10へ情報を送信することにより、移動体装置10の自動運転を制御する。
【0174】
[2-2.移動体の構成]
また、上述した移動体装置100や情報処理システム1は、
図13に示すような構成を有してもよい。例えば、移動体装置100は、
図3に示した構成の他に、以下に示す構成を有してもよい。なお、以下に示す各部は、例えば、
図3に示した構成に含まれてもよい。
【0175】
すなわち、上述した移動体装置100や情報処理システム1は、以下に示す移動体制御システムとして構成することも可能である。
図13は、本技術が適用され得る移動体制御システムの概略的な機能の構成例を示すブロック図である。
【0176】
移動体制御システムの一例である車両制御システム200の自動運転制御部212や動作制御部235は、移動体装置100の実行部135に対応する。また、自動運転制御部212の検出部231や自己位置推定部232や状況分析部233は、移動体装置100の認識部132や予測部133に対応する。また、自動運転制御部212の計画部234は、移動体装置100の行動計画部134に対応する。また、自動運転制御部212は、
図13に示すブロックに加えて、制御部13の各処理部に相当するブロックを有していてもよい。
【0177】
なお、以下、車両制御システム200が設けられている車両を他の車両と区別する場合、自車又は自車両と称する。
【0178】
車両制御システム200は、入力部201、データ取得部202、通信部203、車内機器204、出力制御部205、出力部206、駆動系制御部207、駆動系システム208、ボディ系制御部209、ボディ系システム210、記憶部211、及び、自動運転制御部212を備える。入力部201、データ取得部202、通信部203、出力制御部205、駆動系制御部207、ボディ系制御部209、記憶部211、及び、自動運転制御部212は、通信ネットワーク221を介して、相互に接続されている。通信ネットワーク221は、例えば、CAN(Controller Area Network)、LIN(Local Interconnect Network)、LAN(Local Area Network)、又は、FlexRay(登録商標)等の任意の規格に準拠した車載通信ネットワークやバス等からなる。なお、車両制御システム200の各部は、通信ネットワーク221を介さずに、直接接続される場合もある。
【0179】
なお、以下、車両制御システム200の各部が、通信ネットワーク221を介して通信を行う場合、通信ネットワーク221の記載を省略するものとする。例えば、入力部201と自動運転制御部212が、通信ネットワーク221を介して通信を行う場合、単に入力部201と自動運転制御部212が通信を行うと記載する。
【0180】
入力部201は、搭乗者が各種のデータや指示等の入力に用いる装置を備える。例えば、入力部201は、タッチパネル、ボタン、マイクロフォン、スイッチ、及び、レバー等の操作デバイス、並びに、音声やジェスチャ等により手動操作以外の方法で入力可能な操作デバイス等を備える。また、例えば、入力部201は、赤外線若しくはその他の電波を利用したリモートコントロール装置、又は、車両制御システム200の操作に対応したモバイル機器若しくはウェアラブル機器等の外部接続機器であってもよい。入力部201は、搭乗者により入力されたデータや指示等に基づいて入力信号を生成し、車両制御システム200の各部に供給する。
【0181】
データ取得部202は、車両制御システム200の処理に用いるデータを取得する各種のセンサ等を備え、取得したデータを、車両制御システム200の各部に供給する。
【0182】
例えば、データ取得部202は、自車の状態等を検出するための各種のセンサを備える。具体的には、例えば、データ取得部202は、ジャイロセンサ、加速度センサ、慣性計測装置(IMU)、及び、アクセルペダルの操作量、ブレーキペダルの操作量、ステアリングホイールの操舵角、エンジン回転数、モータ回転数、若しくは、車輪の回転速度等を検出するためのセンサ等を備える。
【0183】
また、例えば、データ取得部202は、自車の外部の情報を検出するための各種のセンサを備える。具体的には、例えば、データ取得部202は、ToF(Time Of Flight)カメラ、ステレオカメラ、単眼カメラ、赤外線カメラ、及び、その他のカメラ等の撮像装置を備える。また、例えば、データ取得部202は、天候又は気象等を検出するための環境センサ、及び、自車の周囲の物体を検出するための周囲情報検出センサを備える。環境センサは、例えば、雨滴センサ、霧センサ、日照センサ、雪センサ等からなる。周囲情報検出センサは、例えば、超音波センサ、レーダ、LiDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)、ソナー等からなる。
【0184】
さらに、例えば、データ取得部202は、自車の現在位置を検出するための各種のセンサを備える。具体的には、例えば、データ取得部202は、GNSS(Global Navigation Satellite System)衛星からのGNSS信号を受信するGNSS受信機等を備える。
【0185】
また、例えば、データ取得部202は、車内の情報を検出するための各種のセンサを備える。具体的には、例えば、データ取得部202は、運転者を撮像する撮像装置、運転者の生体情報を検出する生体センサ、及び、車室内の音声を集音するマイクロフォン等を備える。生体センサは、例えば、座面又はステアリングホイール等に設けられ、座席に座っている搭乗者又はステアリングホイールを握っている運転者の生体情報を検出する。
【0186】
通信部203は、車内機器204、並びに、車外の様々な機器、サーバ、基地局等と通信を行い、車両制御システム200の各部から供給されるデータを送信したり、受信したデータを車両制御システム200の各部に供給したりする。なお、通信部203がサポートする通信プロトコルは、特に限定されるものではなく、また、通信部203が、複数の種類の通信プロトコルをサポートすることも可能である。
【0187】
例えば、通信部203は、無線LAN、Bluetooth(登録商標)、NFC(Near Field Communication)、又は、WUSB(Wireless USB)等により、車内機器204と無線通信を行う。また、例えば、通信部203は、図示しない接続端子(及び、必要であればケーブル)を介して、USB(Universal Serial Bus)、HDMI(登録商標)(High-Definition Multimedia Interface)(登録商標)、又は、MHL(Mobile High-definition Link)等により、車内機器204と有線通信を行う。
【0188】
さらに、例えば、通信部203は、基地局又はアクセスポイントを介して、外部ネットワーク(例えば、インターネット、クラウドネットワーク又は事業者固有のネットワーク)上に存在する機器(例えば、アプリケーションサーバ又は制御サーバ)との通信を行う。また、例えば、通信部203は、P2P(Peer To Peer)技術を用いて、自車の近傍に存在する端末(例えば、歩行者若しくは店舗の端末、又は、MTC(Machine Type Communication)端末)との通信を行う。さらに、例えば、通信部203は、車車間(Vehicle to Vehicle)通信、路車間(Vehicle to Infrastructure)通信、自車と家との間(Vehicle to Home)の通信、及び、歩車間(Vehicle to Pedestrian)通信等のV2X通信を行う。また、例えば、通信部203は、ビーコン受信部を備え、道路上に設置された無線局等から発信される電波あるいは電磁波を受信し、現在位置、渋滞、通行規制又は所要時間等の情報を取得する。
【0189】
車内機器204は、例えば、搭乗者が有するモバイル機器若しくはウェアラブル機器、自車に搬入され若しくは取り付けられる情報機器、及び、任意の目的地までの経路探索を行うナビゲーション装置等を含む。
【0190】
出力制御部205は、自車の搭乗者又は車外に対する各種の情報の出力を制御する。例えば、出力制御部205は、視覚情報(例えば、画像データ)及び聴覚情報(例えば、音声データ)のうちの少なくとも1つを含む出力信号を生成し、出力部206に供給することにより、出力部206からの視覚情報及び聴覚情報の出力を制御する。具体的には、例えば、出力制御部205は、データ取得部202の異なる撮像装置により撮像された画像データを合成して、俯瞰画像又はパノラマ画像等を生成し、生成した画像を含む出力信号を出力部206に供給する。また、例えば、出力制御部205は、衝突、接触、危険地帯への進入等の危険に対する警告音又は警告メッセージ等を含む音声データを生成し、生成した音声データを含む出力信号を出力部206に供給する。
【0191】
出力部206は、自車の搭乗者又は車外に対して、視覚情報又は聴覚情報を出力することが可能な装置を備える。例えば、出力部206は、表示装置、インストルメントパネル、オーディオスピーカ、ヘッドホン、搭乗者が装着する眼鏡型ディスプレイ等のウェアラブルデバイス、プロジェクタ、ランプ等を備える。出力部206が備える表示装置は、通常のディスプレイを有する装置以外にも、例えば、ヘッドアップディスプレイ、透過型ディスプレイ、AR(Augmented Reality)表示機能を有する装置等の運転者の視野内に視覚情報を表示する装置であってもよい。
【0192】
駆動系制御部207は、各種の制御信号を生成し、駆動系システム208に供給することにより、駆動系システム208の制御を行う。また、駆動系制御部207は、必要に応じて、駆動系システム208以外の各部に制御信号を供給し、駆動系システム208の制御状態の通知等を行う。
【0193】
駆動系システム208は、自車の駆動系に関わる各種の装置を備える。例えば、駆動系システム208は、内燃機関又は駆動用モータ等の駆動力を発生させるための駆動力発生装置、駆動力を車輪に伝達するための駆動力伝達機構、舵角を調節するステアリング機構、制動力を発生させる制動装置、ABS(Antilock Brake System)、ESC(Electronic Stability Control)、並びに、電動パワーステアリング装置等を備える。
【0194】
ボディ系制御部209は、各種の制御信号を生成し、ボディ系システム210に供給することにより、ボディ系システム210の制御を行う。また、ボディ系制御部209は、必要に応じて、ボディ系システム210以外の各部に制御信号を供給し、ボディ系システム210の制御状態の通知等を行う。
【0195】
ボディ系システム210は、車体に装備されたボディ系の各種の装置を備える。例えば、ボディ系システム210は、キーレスエントリシステム、スマートキーシステム、パワーウィンドウ装置、パワーシート、ステアリングホイール、空調装置、及び、各種ランプ(例えば、ヘッドランプ、バックランプ、ブレーキランプ、ウィンカ、フォグランプ等)等を備える。
【0196】
記憶部211は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disc Drive)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、及び、光磁気記憶デバイス等を備える。記憶部211は、車両制御システム200の各部が用いる各種プログラムやデータ等を記憶する。例えば、記憶部211は、ダイナミックマップ等の3次元の高精度地図、高精度地図より精度が低く、広いエリアをカバーするグローバルマップ、及び、自車の周囲の情報を含むローカルマップ等の地図データを記憶する。
【0197】
自動運転制御部212は、自律走行又は運転支援等の自動運転に関する制御を行う。具体的には、例えば、自動運転制御部212は、自車の衝突回避あるいは衝撃緩和、車間距離に基づく追従走行、車速維持走行、自車の衝突警告、又は、自車のレーン逸脱警告等を含むADAS(Advanced Driver Assistance System)の機能実現を目的とした協調制御を行う。また、例えば、自動運転制御部212は、運転者の操作に拠らずに自律的に走行する自動運転等を目的とした協調制御を行う。自動運転制御部212は、検出部231、自己位置推定部232、状況分析部233、計画部234、及び、動作制御部235を備える。
【0198】
検出部231は、自動運転の制御に必要な各種の情報の検出を行う。検出部231は、車外情報検出部241、車内情報検出部242、及び、車両状態検出部243を備える。
【0199】
車外情報検出部241は、車両制御システム200の各部からのデータ又は信号に基づいて、自車の外部の情報の検出処理を行う。例えば、車外情報検出部241は、自車の周囲の物体の検出処理、認識処理、及び、追跡処理、並びに、物体までの距離の検出処理を行う。検出対象となる物体には、例えば、車両、人、障害物、構造物、道路、信号機、交通標識、道路標示等が含まれる。また、例えば、車外情報検出部241は、自車の周囲の環境の検出処理を行う。検出対象となる周囲の環境には、例えば、天候、気温、湿度、明るさ、及び、路面の状態等が含まれる。車外情報検出部241は、検出処理の結果を示すデータを自己位置推定部232、状況分析部233のマップ解析部251、交通ルール認識部252、及び、状況認識部253、並びに、動作制御部235の緊急事態回避部271等に供給する。
【0200】
車内情報検出部242は、車両制御システム200の各部からのデータ又は信号に基づいて、車内の情報の検出処理を行う。例えば、車内情報検出部242は、運転者の認証処理及び認識処理、運転者の状態の検出処理、搭乗者の検出処理、及び、車内の環境の検出処理等を行う。検出対象となる運転者の状態には、例えば、体調、覚醒度、集中度、疲労度、視線方向等が含まれる。検出対象となる車内の環境には、例えば、気温、湿度、明るさ、臭い等が含まれる。車内情報検出部242は、検出処理の結果を示すデータを状況分析部233の状況認識部253、及び、動作制御部235の緊急事態回避部271等に供給する。
【0201】
車両状態検出部243は、車両制御システム200の各部からのデータ又は信号に基づいて、自車の状態の検出処理を行う。検出対象となる自車の状態には、例えば、速度、加速度、舵角、異常の有無及び内容、運転操作の状態、パワーシートの位置及び傾き、ドアロックの状態、並びに、その他の車載機器の状態等が含まれる。車両状態検出部243は、検出処理の結果を示すデータを状況分析部233の状況認識部253、及び、動作制御部235の緊急事態回避部271等に供給する。
【0202】
自己位置推定部232は、車外情報検出部241、及び、状況分析部233の状況認識部253等の車両制御システム200の各部からのデータ又は信号に基づいて、自車の位置及び姿勢等の推定処理を行う。また、自己位置推定部232は、必要に応じて、自己位置の推定に用いるローカルマップ(以下、自己位置推定用マップと称する)を生成する。自己位置推定用マップは、例えば、SLAM(Simultaneous Localization and Mapping)等の技術を用いた高精度なマップとされる。自己位置推定部232は、推定処理の結果を示すデータを状況分析部233のマップ解析部251、交通ルール認識部252、及び、状況認識部253等に供給する。また、自己位置推定部232は、自己位置推定用マップを記憶部211に記憶させる。
【0203】
状況分析部233は、自車及び周囲の状況の分析処理を行う。状況分析部233は、マップ解析部251、交通ルール認識部252、状況認識部253、及び、状況予測部254を備える。
【0204】
マップ解析部251は、自己位置推定部232及び車外情報検出部241等の車両制御システム200の各部からのデータ又は信号を必要に応じて用いながら、記憶部211に記憶されている各種のマップの解析処理を行い、自動運転の処理に必要な情報を含むマップを構築する。マップ解析部251は、構築したマップを、交通ルール認識部252、状況認識部253、状況予測部254、並びに、計画部234のルート計画部261、行動計画部262、及び、動作計画部263等に供給する。
【0205】
交通ルール認識部252は、自己位置推定部232、車外情報検出部241、及び、マップ解析部251等の車両制御システム200の各部からのデータ又は信号に基づいて、自車の周囲の交通ルールの認識処理を行う。この認識処理により、例えば、自車の周囲の信号の位置及び状態、自車の周囲の交通規制の内容、並びに、走行可能な車線等が認識される。交通ルール認識部252は、認識処理の結果を示すデータを状況予測部254等に供給する。
【0206】
状況認識部253は、自己位置推定部232、車外情報検出部241、車内情報検出部242、車両状態検出部243、及び、マップ解析部251等の車両制御システム200の各部からのデータ又は信号に基づいて、自車に関する状況の認識処理を行う。例えば、状況認識部253は、自車の状況、自車の周囲の状況、及び、自車の運転者の状況等の認識処理を行う。また、状況認識部253は、必要に応じて、自車の周囲の状況の認識に用いるローカルマップ(以下、状況認識用マップと称する)を生成する。状況認識用マップは、例えば、占有格子地図(Occupancy Grid Map)とされる。
【0207】
認識対象となる自車の状況には、例えば、自車の位置、姿勢、動き(例えば、速度、加速度、移動方向等)、並びに、異常の有無及び内容等が含まれる。認識対象となる自車の周囲の状況には、例えば、周囲の静止物体の種類及び位置、周囲の動物体の種類、位置及び動き(例えば、速度、加速度、移動方向等)、周囲の道路の構成及び路面の状態、並びに、周囲の天候、気温、湿度、及び、明るさ等が含まれる。認識対象となる運転者の状態には、例えば、体調、覚醒度、集中度、疲労度、視線の動き、並びに、運転操作等が含まれる。
【0208】
状況認識部253は、認識処理の結果を示すデータ(必要に応じて、状況認識用マップを含む)を自己位置推定部232及び状況予測部254等に供給する。また、状況認識部253は、状況認識用マップを記憶部211に記憶させる。
【0209】
状況予測部254は、マップ解析部251、交通ルール認識部252及び状況認識部253等の車両制御システム200の各部からのデータ又は信号に基づいて、自車に関する状況の予測処理を行う。例えば、状況予測部254は、自車の状況、自車の周囲の状況、及び、運転者の状況等の予測処理を行う。
【0210】
予測対象となる自車の状況には、例えば、自車の挙動、異常の発生、及び、走行可能距離等が含まれる。予測対象となる自車の周囲の状況には、例えば、自車の周囲の動物体の挙動、信号の状態の変化、及び、天候等の環境の変化等が含まれる。予測対象となる運転者の状況には、例えば、運転者の挙動及び体調等が含まれる。
【0211】
状況予測部254は、予測処理の結果を示すデータを、交通ルール認識部252及び状況認識部253からのデータとともに、計画部234のルート計画部261、行動計画部262、及び、動作計画部263等に供給する。
【0212】
ルート計画部261は、マップ解析部251及び状況予測部254等の車両制御システム200の各部からのデータ又は信号に基づいて、目的地までのルートを計画する。例えば、ルート計画部261は、グローバルマップに基づいて、現在位置から指定された目的地までのルートを設定する。また、例えば、ルート計画部261は、渋滞、事故、通行規制、工事等の状況、及び、運転者の体調等に基づいて、適宜ルートを変更する。ルート計画部261は、計画したルートを示すデータを行動計画部262等に供給する。
【0213】
行動計画部262は、マップ解析部251及び状況予測部254等の車両制御システム200の各部からのデータ又は信号に基づいて、ルート計画部261により計画されたルートを計画された時間内で安全に走行するための自車の行動を計画する。例えば、行動計画部262は、発進、停止、進行方向(例えば、前進、後退、左折、右折、方向転換等)、走行車線、走行速度、及び、追い越し等の計画を行う。行動計画部262は、計画した自車の行動を示すデータを動作計画部263等に供給する。
【0214】
動作計画部263は、マップ解析部251及び状況予測部254等の車両制御システム200の各部からのデータ又は信号に基づいて、行動計画部262により計画された行動を実現するための自車の動作を計画する。例えば、動作計画部263は、加速、減速、及び、走行軌道等の計画を行う。動作計画部263は、計画した自車の動作を示すデータを、動作制御部235の加減速制御部272及び方向制御部273等に供給する。
【0215】
動作制御部235は、自車の動作の制御を行う。動作制御部235は、緊急事態回避部271、加減速制御部272、及び、方向制御部273を備える。
【0216】
緊急事態回避部271は、車外情報検出部241、車内情報検出部242、及び、車両状態検出部243の検出結果に基づいて、衝突、接触、危険地帯への進入、運転者の異常、車両の異常等の緊急事態の検出処理を行う。緊急事態回避部271は、緊急事態の発生を検出した場合、急停車や急旋回等の緊急事態を回避するための自車の動作を計画する。緊急事態回避部271は、計画した自車の動作を示すデータを加減速制御部272及び方向制御部273等に供給する。
【0217】
加減速制御部272は、動作計画部263又は緊急事態回避部271により計画された自車の動作を実現するための加減速制御を行う。例えば、加減速制御部272は、計画された加速、減速、又は、急停車を実現するための駆動力発生装置又は制動装置の制御目標値を演算し、演算した制御目標値を示す制御指令を駆動系制御部207に供給する。
【0218】
方向制御部273は、動作計画部263又は緊急事態回避部271により計画された自車の動作を実現するための方向制御を行う。例えば、方向制御部273は、動作計画部263又は緊急事態回避部271により計画された走行軌道又は急旋回を実現するためのステアリング機構の制御目標値を演算し、演算した制御目標値を示す制御指令を駆動系制御部207に供給する。
【0219】
[2-3.その他]
また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0220】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0221】
また、上述してきた各実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0222】
また、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、他の効果があってもよい。
【0223】
なお、本発明は、移動体に限らず、機械学習モデルを用いて、番組推薦などの機能を提供するTV(テレビ)あるいはオートフォーカス、自動シャッター等の機能を提供するカメラ、その他、家電、スマートフォンにも適用することができる。例えば、本開示に係る情報処理を実現する情報処理装置は、移動体装置に限らず、上記のようなテレビやカメラやその他の家電製品、スマートフォンなどのデバイス装置などの種々の装置として適用することができる。
【0224】
[3.本開示に係る効果]
上述のように、本開示に係る情報処理装置(実施形態では移動体装置100、情報処理装置100A)は、取得部(実施形態では取得部131)と、生成部(実施形態では生成部136)を備える。取得部は、ニューラルネットワークの構造を有するモデルと、モデルに入力される入力情報とを取得する。生成部は、モデルへの入力情報の入力後のモデルの状態を示す状態情報に基づいて、モデルへの入力情報の入力後のモデルの出力に関する根拠を示す根拠情報を生成する。
【0225】
これにより、本開示に係る情報処理装置は、ニューラルネットワークの構造を有するモデルへ入力情報が入力された場合のモデルの出力に関する根拠を示すことが可能となり、ニューラルネットワークの構造を有するモデルの出力に関する根拠を説明可能にすることができる。すなわち、情報処理装置は、情報処理装置による処理に関する根拠を説明可能にすることができる。
【0226】
また、生成部は、モデルの出力を用いた処理の根拠を示す根拠情報を生成する。これにより、情報処理装置は、モデルの出力を用いてモデルの出力に関する根拠を示すことが可能となり、情報処理装置による処理に関する根拠を説明可能にすることができる。
【0227】
また、取得部は、自律的に行動する装置の制御に用いられるモデルを取得する。生成部は、モデルへの入力情報の入力後の装置の制御の根拠を示す根拠情報を生成する。これにより、情報処理装置は、自律的に行動する装置の制御におけるモデルの出力に関する根拠を示すことが可能となり、情報処理装置による処理に関する根拠を説明可能にすることができる。
【0228】
また、取得部は、自律的に移動可能な移動体の制御に用いられるモデルを取得する。生成部は、モデルへの入力情報の入力後の移動体の制御の根拠を示す根拠情報を生成する。これにより、情報処理装置は、自律的に移動可能な移動体の制御におけるモデルの出力に関する根拠を示すことが可能となり、情報処理装置による処理に関する根拠を説明可能にすることができる。
【0229】
また、生成部は、自動運転により動作する車両である移動体の制御に用いられるモデルを取得する。れにより、情報処理装置は、自動運転により動作する車両の制御におけるモデルの出力に関する根拠を示すことが可能となり、情報処理装置による処理に関する根拠を説明可能にすることができる。
【0230】
また、生成部は、移動体の移動方向の根拠を示す根拠情報を生成する。これにより、情報処理装置は、移動体の移動方向の根拠を示すことが可能となり、情報処理装置による処理に関する根拠を説明可能にすることができる。
【0231】
また、取得部は、センサ情報の入力に応じて出力を行うモデルと、センサにより検知されたセンサ情報である入力情報とを取得する。生成部は、センサによる検知に応じて入力情報が入力されたモデルの根拠情報を生成する。これにより、情報処理装置は、ニューラルネットワークの構造を有するモデルへセンサ情報が入力された場合のモデルの出力に関する根拠を示すことが可能となり、情報処理装置による処理に関する根拠を説明可能にすることができる。
【0232】
また、取得部は、画像情報の入力に応じて画像情報の認識結果を出力するモデルと、画像情報である入力情報とを取得する。これにより、情報処理装置は、ニューラルネットワークの構造を有するモデルへ画像情報が入力された場合のモデルの出力に関する根拠を示すことが可能となり、情報処理装置による処理に関する根拠を説明可能にすることができる。
【0233】
また、生成部は、モデルの出力に関する根拠を示す画像情報を根拠情報として生成する。これにより、情報処理装置は、モデルの出力に関する根拠を示す画像情報を生成することで、情報処理装置による処理に関する根拠を説明可能にすることができる。
【0234】
また、生成部は、モデルの出力に関する根拠を示すヒートマップを根拠情報として生成する。これにより、情報処理装置は、モデルの出力に関する根拠を示すヒートマップを生成することで、情報処理装置による処理に関する根拠を説明可能にすることができる。
【0235】
また、取得部は、CNNを含むモデルを取得する。これにより、情報処理装置は、CNNを含むモデルの出力に関する根拠を示すことが可能となり、情報処理装置による処理に関する根拠を説明可能にすることができる。
【0236】
また、生成部は、モデルの畳み込み層の状態を含む状態情報に基づいて、根拠情報を生成する。これにより、情報処理装置は、モデルの畳み込み層の状態を基にモデルの出力に関する根拠を示すことが可能となり、情報処理装置による処理に関する根拠を説明可能にすることができる。
【0237】
また、生成部は、Grad-CAMにより根拠情報を生成する。これにより、情報処理装置は、Grad-CAMの技術によりモデルの出力に関する根拠を示すことが可能となり、情報処理装置による処理に関する根拠を説明可能にすることができる。
【0238】
また、取得部は、他のモデルが出力する出力情報の入力に応じて出力を行うモデルと、他のモデルが出力した出力情報である入力情報とを取得する。生成部は、他のモデルによる出力に応じて入力情報が入力されたモデルの根拠情報を生成する。これにより、情報処理装置は、他のモデルの出力を入力とするモデルの出力に関する根拠を示すことが可能となり、情報処理装置による処理に関する根拠を説明可能にすることができる。
【0239】
また、モデルへの入力情報の入力後のモデルの出力結果を含む状態情報に基づいて、根拠情報を生成する。これにより、情報処理装置は、モデルの出力結果を基にモデルの出力を用いてモデルの出力に関する根拠を示すことが可能となり、情報処理装置による処理に関する根拠を説明可能にすることができる。
【0240】
また、生成部は、LIMEに関する処理により根拠情報を生成する。これにより、情報処理装置は、LIMEの技術によりモデルの出力に関する根拠を示すことが可能となり、情報処理装置による処理に関する根拠を説明可能にすることができる。
【0241】
また、情報処理装置は、表示部(実施形態では表示部11)を有する。表示部は、根拠情報を表示する。これにより、情報処理装置は、モデルの出力に関する根拠の適切な情報提供を行うことができる。
【0242】
また、生成部は、入力情報と根拠情報とを対応付けたログ情報を記憶部に格納する。これにより、情報処理装置は、入力とその出力に関する根拠とを対応付けて管理可能とすることで、ある入力に対する時点での出力に関する根拠を示す情報を適切に提供することができる。
【0243】
また、情報処理装置は、機械学習モデルでアクションを行う情報処理装置であり、センサ部(実施形態ではセンサ部14)と、アクションの根拠情報を生成する複数の根拠生成アルゴリズムを備えた根拠情報生成部(実施形態では根拠情報生成部RSD1)と、を備え、1つまたは複数の根拠生成アルゴリズムに基づいて生成された根拠情報、及び/またはセンサ情報に基づいて、アクションの根拠を示す情報を出力する。これにより、情報処理装置は、根拠生成アルゴリズムに基づいて生成された根拠情報、及び/またはセンサ情報に基づいて、アクションの根拠を示す情報を出力することで、情報処理装置のアクションの根拠を示すことができる。したがって、情報処理装置は、情報処理装置による処理に関する根拠を説明可能にすることができる。
【0244】
[4.ハードウェア構成]
上述してきた各実施形態に係る移動体装置100や情報処理装置100A等の情報機器は、例えば
図14に示すような構成のコンピュータ1000によって実現される。
図14は、移動体装置100や情報処理装置100A等の情報処理装置の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。以下、実施形態に係る移動体装置100を例に挙げて説明する。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス1500、及び入出力インターフェイス1600を有する。コンピュータ1000の各部は、バス1050によって接続される。
【0245】
CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、CPU1100は、ROM1300又はHDD1400に格納されたプログラムをRAM1200に展開し、各種プログラムに対応した処理を実行する。
【0246】
ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるBIOS(Basic Input Output System)等のブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0247】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、HDD1400は、プログラムデータ1450の一例である本開示に係る情報処理プログラムを記録する記録媒体である。
【0248】
通信インターフェイス1500は、コンピュータ1000が外部ネットワーク1550(例えばインターネット)と接続するためのインターフェイスである。例えば、CPU1100は、通信インターフェイス1500を介して、他の機器からデータを受信したり、CPU1100が生成したデータを他の機器へ送信したりする。
【0249】
入出力インターフェイス1600は、入出力デバイス1650とコンピュータ1000とを接続するためのインターフェイスである。例えば、CPU1100は、入出力インターフェイス1600を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、CPU1100は、入出力インターフェイス1600を介して、ディスプレイやスピーカーやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス1600は、所定の記録媒体(メディア)に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0250】
例えば、コンピュータ1000が実施形態に係る移動体装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされた情報処理プログラムを実行することにより、制御部13等の機能を実現する。また、HDD1400には、本開示に係る情報処理プログラムや、記憶部12内のデータが格納される。なお、CPU1100は、プログラムデータ1450をHDD1400から読み取って実行するが、他の例として、外部ネットワーク1550を介して、他の装置からこれらのプログラムを取得してもよい。
【0251】
なお、本技術は以下のような構成も取ることができる。
(1)
ニューラルネットワークの構造を有するモデルと、前記モデルに入力される入力情報とを取得する取得部と、
前記モデルへの前記入力情報の入力後の前記モデルの状態を示す状態情報に基づいて、前記モデルへの前記入力情報の入力後の前記モデルの出力に関する根拠を示す根拠情報を生成する生成部と、
を備える情報処理装置。
(2)
前記生成部は、
前記モデルの出力を用いた処理の根拠を示す前記根拠情報を生成する
前記(1)に記載の情報処理装置。
(3)
前記取得部は、
自律的に行動する装置の制御に用いられる前記モデルを取得し、
前記生成部は、
前記モデルへの前記入力情報の入力後の前記装置の制御の根拠を示す前記根拠情報を生成する
前記(1)または(2)に記載の情報処理装置。
(4)
前記取得部は、
自律的に移動可能な移動体の制御に用いられる前記モデルを取得し、
前記生成部は、
前記モデルへの前記入力情報の入力後の前記移動体の制御の根拠を示す前記根拠情報を生成する
前記(1)~(3)のいずれか1項に記載の情報処理装置。
(5)
前記取得部は、
自動運転により動作する車両である前記移動体の制御に用いられる前記モデルを取得する
前記(4)に記載の情報処理装置。
(6)
前記生成部は、
前記移動体の移動方向の根拠を示す前記根拠情報を生成する
前記(4)または(5)に記載の情報処理装置。
(7)
前記取得部は、
センサ情報の入力に応じて出力を行う前記モデルと、センサにより検知された前記センサ情報である前記入力情報とを取得し、
前記生成部は、
前記センサによる検知に応じて前記入力情報が入力された前記モデルの前記根拠情報を生成する
前記(1)~(6)のいずれか1項に記載の情報処理装置。
(8)
前記取得部は、
画像情報の入力に応じて前記画像情報の認識結果を出力する前記モデルと、前記画像情報である前記入力情報とを取得する
前記(1)~(7)のいずれか1項に記載の情報処理装置。
(9)
前記生成部は、
前記モデルの出力に関する根拠を示す画像情報を前記根拠情報として生成する
前記(1)~(8)のいずれか1項に記載の情報処理装置。
(10)
前記生成部は、
前記モデルの出力に関する根拠を示すヒートマップを前記根拠情報として生成する
前記(9)に記載の情報処理装置。
(11)
前記取得部は、
CNN(Convolutional Neural Network)を含む前記モデルを取得する
前記(1)~(10)のいずれか1項に記載の情報処理装置。
(12)
前記生成部は、
前記モデルの畳み込み層の状態を含む前記状態情報に基づいて、前記根拠情報を生成する
前記(11)に記載の情報処理装置。
(13)
前記生成部は、
CAM(Class Activation Mapping)に関する処理により前記根拠情報を生成する
前記(11)または(12)に記載の情報処理装置。
(14)
前記生成部は、
Grad-CAM(Gradient-weighted Class Activation Mapping)により前記根拠情報を生成する
前記(13)に記載の情報処理装置。
(15)
前記取得部は、
他のモデルが出力する出力情報の入力に応じて出力を行う前記モデルと、前記他のモデルが出力した前記出力情報である前記入力情報とを取得し、
前記生成部は、
前記他のモデルによる出力に応じて前記入力情報が入力された前記モデルの前記根拠情報を生成する
前記(1)~(14)のいずれか1項に記載の情報処理装置。
(16)
前記生成部は、
前記モデルへの前記入力情報の入力後の前記モデルの出力結果を含む前記状態情報に基づいて、前記根拠情報を生成する
前記(1)~(15)のいずれか1項に記載の情報処理装置。
(17)
前記生成部は、
前記入力情報と前記出力結果とを用いて学習された根拠用モデルに基づいて、前記根拠情報を生成する
前記(16)に記載の情報処理装置。
(18)
前記生成部は、
前記入力情報と前記出力結果との組合せを対象に局所的に近似する前記根拠用モデルを用いて、前記根拠情報を生成する
前記(17)に記載の情報処理装置。
(19)
前記生成部は、
LIME(Local Interpretable Model-agnostic Explanations)に関する処理により前記根拠情報を生成する
前記(17)または(18)に記載の情報処理装置。
(20)
前記根拠情報を表示する表示部、
を備える
前記(1)~(19)のいずれか1項に記載の情報処理装置。
(21)
前記表示部は、
前記根拠情報を図として表示する
前記(20)に記載の情報処理装置。
(22)
前記表示部は、
画像情報である前記根拠情報を表示する
前記(21)に記載の情報処理装置。
(23)
前記表示部は、
ヒートマップである前記根拠情報を表示する
前記(22)に記載の情報処理装置。
(24)
前記表示部は、
前記根拠情報を文字として表示する
前記(20)~(23)のいずれか1項に記載の情報処理装置。
(25)
前記表示部は、
前記根拠情報を数値として表示する
前記(20)~(24)のいずれか1項に記載の情報処理装置。
(26)
前記生成部は、
前記入力情報と前記根拠情報とを対応付けたログ情報を記憶部に格納する
前記(1)~(25)のいずれか1項に記載の情報処理装置。
(27)
ニューラルネットワークの構造を有するモデルと、前記モデルに入力される入力情報とを取得し、
前記モデルへの前記入力情報の入力後の前記モデルの状態を示す状態情報に基づいて、前記モデルへの前記入力情報の入力後の前記モデルの出力に関する根拠を示す根拠情報を生成する、
処理を実行する情報処理方法。
(28)
ニューラルネットワークの構造を有するモデルと、前記モデルに入力される入力情報とを取得し、
前記モデルへの前記入力情報の入力後の前記モデルの状態を示す状態情報に基づいて、前記モデルへの前記入力情報の入力後の前記モデルの出力に関する根拠を示す根拠情報を生成する、
処理を実行させる情報処理プログラム。
(29)
機械学習モデルでアクションを行う情報処理装置において、
センサ部と、
前記アクションの根拠情報を生成する複数の根拠生成アルゴリズムを備えた根拠情報生成部と、
を備え、
1つまたは複数の根拠生成アルゴリズムに基づいて生成された根拠情報、及び/またはセンサ情報に基づいて、前記アクションの根拠を示す情報を出力することを特徴とする情報処理装置。
【符号の説明】
【0252】
100 移動体装置
100A 情報処理装置
11 表示部
12 記憶部
121 モデル情報記憶部
122 ログ情報記憶部
13、13A 制御部
131 取得部
132 認識部
133 予測部
134 行動計画部
135 実行部
136 生成部
137 送信部
14 センサ部
141 画像センサ
15 駆動部
16 通信部