以下に、本技術を実施するための形態(以下、実施の形態という)について説明する。
<車両制御システムの構成例>
図1は、本技術が適用される移動装置制御システムの一例である車両制御システム11の構成例を示すブロック図である。
車両制御システム11は、車両1に設けられ、車両1の走行支援及び自動運転に関わる処理を行う。
車両制御システム11は、プロセッサ21、通信部22、地図情報蓄積部23、GNSS(Global Navigation Satellite System)受信部24、外部認識センサ25、車内センサ26、車両センサ27、記録部28、走行支援・自動運転制御部29、DMS(Driver Monitoring System)30、HMI(Human Machine Interface)31、及び、車両制御部32を備える。
プロセッサ21、通信部22、地図情報蓄積部23、GNSS受信部24、外部認識センサ25、車内センサ26、車両センサ27、記録部28、走行支援・自動運転制御部29、ドライバモニタリングシステム(DMS)30、ヒューマンマシーンインタフェース(HMI)31、及び、車両制御部32は、通信ネットワーク41を介して相互に接続されている。通信ネットワーク41は、例えば、CAN(Controller Area Network)、LIN(Local Interconnect Network)、LAN(Local Area Network)、FlexRay(登録商標)、イーサネット(登録商標)等の任意の規格に準拠した車載通信ネットワークやバス等により構成される。なお、車両制御システム11の各部は、通信ネットワーク41を介さずに、例えば、近距離無線通信(NFC(Near Field Communication))やBluetooth(登録商標)等により直接接続される場合もある。
なお、以下、車両制御システム11の各部が、通信ネットワーク41を介して通信を行う場合、通信ネットワーク41の記載を省略するものとする。例えば、プロセッサ21と通信部22が通信ネットワーク41を介して通信を行う場合、単にプロセッサ21と通信部22とが通信を行うと記載する。
プロセッサ21は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、ECU(Electronic Control Unit)等の各種のプロセッサにより構成される。プロセッサ21は、車両制御システム11全体の制御を行う。
通信部22は、車内及び車外の様々な機器、他の車両、サーバ、基地局等と通信を行い、各種のデータの送受信を行う。車外との通信としては、例えば、通信部22は、車両制御システム11の動作を制御するソフトウエアを更新するためのプログラム、地図情報、交通情報、車両1の周囲の情報等を外部から受信する。例えば、通信部22は、車両1に関する情報(例えば、車両1の状態を示すデータ、認識部73による認識結果等)、車両1の周囲の情報等を外部に送信する。例えば、通信部22は、eコール等の車両緊急通報システムに対応した通信を行う。
なお、通信部22の通信方式は特に限定されない。また、複数の通信方式が用いられてもよい。
車内との通信としては、例えば、通信部22は、無線LAN、Bluetooth(登録商標)、NFC、WUSB(Wireless USB)等の通信方式により、車内の機器と無線通信を行う。例えば、通信部22は、図示しない接続端子(及び、必要であればケーブル)を介して、USB(Universal Serial Bus)、HDMI(High-Definition Multimedia Interface、登録商標)、又は、MHL(Mobile High-definition Link)等の通信方式により、車内の機器と有線通信を行う。
ここで、車内の機器とは、例えば、車内において通信ネットワーク41に接続されていない機器である。例えば、運転者等の搭乗者が所持するモバイル機器やウェアラブル機器、車内に持ち込まれ一時的に設置される情報機器等が想定される。
例えば、通信部22は、4G(第4世代移動通信システム)、5G(第5世代移動通信システム)、LTE(Long Term Evolution)、DSRC(Dedicated Short Range Communications)等の無線通信方式により、基地局又はアクセスポイントを介して、外部ネットワーク(例えば、インターネット、クラウドネットワーク、又は、事業者固有のネットワーク)上に存在するサーバ等と通信を行う。
例えば、通信部22は、P2P(Peer To Peer)技術を用いて、自車の近傍に存在する端末(例えば、歩行者若しくは店舗の端末、又は、MTC(Machine Type Communication)端末)と通信を行う。例えば、通信部22は、V2X通信を行う。V2X通信とは、例えば、他の車両との間の車車間(Vehicle to Vehicle)通信、路側器等との間の路車間(Vehicle to Infrastructure)通信、家との間(Vehicle to Home)の通信、及び、歩行者が所持する端末等との間の歩車間(Vehicle to Pedestrian)通信等である。
例えば、通信部22は、電波ビーコン、光ビーコン、FM多重放送等の道路交通情報通信システム(VICS(Vehicle Information and Communication System)、登録商標)により送信される電磁波を受信する。
地図情報蓄積部23は、外部から取得した地図及び車両1で作成した地図を蓄積する。例えば、地図情報蓄積部23は、3次元の高精度地図、高精度地図より精度が低く、広いエリアをカバーするグローバルマップ等を蓄積する。
高精度地図は、例えば、ダイナミックマップ、ポイントクラウドマップ、ベクターマップ(ADAS(Advanced Driver Assistance System)マップともいう)等である。ダイナミックマップは、例えば、動的情報、準動的情報、準静的情報、静的情報の4層からなる地図であり、外部のサーバ等から提供される。ポイントクラウドマップは、ポイントクラウド(点群データ)により構成される地図である。ベクターマップは、車線や信号の位置等の情報をポイントクラウドマップに対応付けた地図である。ポイントクラウドマップ及びベクターマップは、例えば、外部のサーバ等から提供されてもよいし、レーダ52、LiDAR53等によるセンシング結果に基づいて、後述するローカルマップとのマッチングを行うための地図として車両1で作成され、地図情報蓄積部23に蓄積されてもよい。また、外部のサーバ等から高精度地図が提供される場合、通信容量を削減するため、車両1がこれから走行する計画経路に関する、例えば数百メートル四方の地図データがサーバ等から取得される。
GNSS受信部24は、GNSS衛星からGNSS信号を受信し、走行支援・自動運転制御部29に供給する。
外部認識センサ25は、車両1の外部の状況の認識に用いられる各種のセンサを備え、各センサからのセンサデータを車両制御システム11の各部に供給する。外部認識センサ25が備えるセンサの種類や数は任意である。
例えば、外部認識センサ25は、カメラ51、レーダ52、LiDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)53、及び、超音波センサ54を備える。カメラ51、レーダ52、LiDAR53、及び、超音波センサ54の数は任意であり、各センサのセンシング領域の例は後述する。
なお、カメラ51には、例えば、ToF(Time Of Flight)カメラ、ステレオカメラ、単眼カメラ、赤外線カメラ等の任意の撮影方式のカメラが、必要に応じて用いられる。
また、例えば、外部認識センサ25は、天候、気象、明るさ等を検出するための環境センサを備える。環境センサは、例えば、雨滴センサ、霧センサ、日照センサ、雪センサ、照度センサ等を備える。
さらに、例えば、外部認識センサ25は、車両1の周囲の音や音源の位置の検出等に用いられるマイクロフォンを備える。
車内センサ26は、車内の情報を検出するための各種のセンサを備え、各センサからのセンサデータを車両制御システム11の各部に供給する。車内センサ26が備えるセンサの種類や数は任意である。
例えば、車内センサ26は、カメラ、レーダ、着座センサ、ステアリングホイールセンサ、マイクロフォン、生体センサ等を備える。カメラには、例えば、ToFカメラ、ステレオカメラ、単眼カメラ、赤外線カメラ等の任意の撮影方式のカメラを用いることができる。生体センサは、例えば、シートやステアリングホイール等に設けられ、運転者等の搭乗者の各種の生体情報を検出する。
車両センサ27は、車両1の状態を検出するための各種のセンサを備え、各センサからのセンサデータを車両制御システム11の各部に供給する。車両センサ27が備えるセンサの種類や数は任意である。
例えば、車両センサ27は、速度センサ、加速度センサ、角速度センサ(ジャイロセンサ)、及び、慣性計測装置(IMU(Inertial Measurement Unit))を備える。例えば、車両センサ27は、ステアリングホイールの操舵角を検出する操舵角センサ、ヨーレートセンサ、アクセルペダルの操作量を検出するアクセルセンサ、及び、ブレーキペダルの操作量を検出するブレーキセンサを備える。例えば、車両センサ27は、エンジンやモータの回転数を検出する回転センサ、タイヤの空気圧を検出する空気圧センサ、タイヤのスリップ率を検出するスリップ率センサ、及び、車輪の回転速度を検出する車輪速センサを備える。例えば、車両センサ27は、バッテリの残量及び温度を検出するバッテリセンサ、及び、外部からの衝撃を検出する衝撃センサを備える。
記録部28は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disc Drive)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、及び、光磁気記憶デバイス等を備える。記録部28は、車両制御システム11の各部が用いる各種プログラムやデータ等を記録する。例えば、記録部28は、自動運転に関わるアプリケーションプログラムが動作するROS(Robot Operating System)で送受信されるメッセージを含むrosbagファイルを記録する。例えば、記録部28は、EDR(Event Data Recorder)やDSSAD(Data Storage System for Automated Driving)を備え、事故等のイベントの前後の車両1の情報を記録する。
走行支援・自動運転制御部29は、車両1の走行支援及び自動運転の制御を行う。例えば、走行支援・自動運転制御部29は、分析部61、行動計画部62、及び、動作制御部63を備える。
分析部61は、車両1及び周囲の状況の分析処理を行う。分析部61は、自己位置推定部71、センサフュージョン部72、及び、認識部73を備える。
自己位置推定部71は、外部認識センサ25からのセンサデータ、及び、地図情報蓄積部23に蓄積されている高精度地図に基づいて、車両1の自己位置を推定する。例えば、自己位置推定部71は、外部認識センサ25からのセンサデータに基づいてローカルマップを生成し、ローカルマップと高精度地図とのマッチングを行うことにより、車両1の自己位置を推定する。車両1の位置は、例えば、後輪対車軸の中心が基準とされる。
ローカルマップは、例えば、SLAM(Simultaneous Localization and Mapping)等の技術を用いて作成される3次元の高精度地図、占有格子地図(Occupancy Grid Map)等である。3次元の高精度地図は、例えば、上述したポイントクラウドマップ等である。占有格子地図は、車両1の周囲の3次元又は2次元の空間を所定の大きさのグリッド(格子)に分割し、グリッド単位で物体の占有状態を示す地図である。物体の占有状態は、例えば、物体の有無や存在確率により示される。ローカルマップは、例えば、認識部73による車両1の外部の状況の検出処理及び認識処理にも用いられる。
なお、自己位置推定部71は、GNSS信号、及び、車両センサ27からのセンサデータに基づいて、車両1の自己位置を推定してもよい。
センサフュージョン部72は、複数の異なる種類のセンサデータ(例えば、カメラ51から供給される画像データ、及び、レーダ52から供給されるセンサデータ)を組み合わせて、新たな情報を得るセンサフュージョン処理を行う。異なる種類のセンサデータを組合せる方法としては、統合、融合、連合等がある。
認識部73は、車両1の外部の状況の検出処理及び認識処理を行う。
例えば、認識部73は、外部認識センサ25からの情報、自己位置推定部71からの情報、センサフュージョン部72からの情報等に基づいて、車両1の外部の状況の検出処理及び認識処理を行う。
具体的には、例えば、認識部73は、車両1の周囲の物体の検出処理及び認識処理等を行う。物体の検出処理とは、例えば、物体の有無、大きさ、形、位置、動き等を検出する処理である。物体の認識処理とは、例えば、物体の種類等の属性を認識したり、特定の物体を識別したりする処理である。ただし、検出処理と認識処理とは、必ずしも明確に分かれるものではなく、重複する場合がある。
例えば、認識部73は、LiDAR又はレーダ等のセンサデータに基づくポイントクラウドを点群の塊毎に分類するクラスタリングを行うことにより、車両1の周囲の物体を検出する。これにより、車両1の周囲の物体の有無、大きさ、形状、位置が検出される。
例えば、認識部73は、クラスタリングにより分類された点群の塊の動きを追従するトラッキングを行うことにより、車両1の周囲の物体の動きを検出する。これにより、車両1の周囲の物体の速度及び進行方向(移動ベクトル)が検出される。
例えば、認識部73は、カメラ51から供給される画像データに対してセマンティックセグメンテーション等の物体認識処理を行うことにより、車両1の周囲の物体の種類を認識する。
なお、検出又は認識対象となる物体としては、例えば、車両、人、自転車、障害物、構造物、道路、信号機、交通標識、道路標示等が想定される。
例えば、認識部73は、地図情報蓄積部23に蓄積されている地図、自己位置の推定結果、及び、車両1の周囲の物体の認識結果に基づいて、車両1の周囲の交通ルールの認識処理を行う。この処理により、例えば、信号の位置及び状態、交通標識及び道路標示の内容、交通規制の内容、並びに、走行可能な車線等が認識される。
例えば、認識部73は、車両1の周囲の環境の認識処理を行う。認識対象となる周囲の環境としては、例えば、天候、気温、湿度、明るさ、及び、路面の状態等が想定される。
行動計画部62は、車両1の行動計画を作成する。例えば、行動計画部62は、経路計画、経路追従の処理を行うことにより、行動計画を作成する。
なお、経路計画(Global path planning)とは、スタートからゴールまでの大まかな経路を計画する処理である。この経路計画には、軌道計画と言われ、経路計画で計画された経路において、車両1の運動特性を考慮して、車両1の近傍で安全かつ滑らかに進行することが可能な軌道生成(Local path planning)の処理も含まれる。
経路追従とは、経路計画により計画した経路を計画された時間内で安全かつ正確に走行するための動作を計画する処理である。例えば、車両1の目標速度と目標角速度が計算される。
動作制御部63は、行動計画部62により作成された行動計画を実現するために、車両1の動作を制御する。
例えば、動作制御部63は、ステアリング制御部81、ブレーキ制御部82、及び、駆動制御部83を制御して、軌道計画により計算された軌道を車両1が進行するように、加減速制御及び方向制御を行う。例えば、動作制御部63は、衝突回避あるいは衝撃緩和、追従走行、車速維持走行、自車の衝突警告、自車のレーン逸脱警告等のADASの機能実現を目的とした協調制御を行う。例えば、動作制御部63は、運転者の操作によらずに自律的に走行する自動運転等を目的とした協調制御を行う。
DMS30は、車内センサ26からのセンサデータ、及び、HMI31に入力される入力データ等に基づいて、運転者の認証処理、及び、運転者の状態の認識処理等を行う。認識対象となる運転者の状態としては、例えば、体調、覚醒度、集中度、疲労度、視線方向、酩酊度、運転操作、姿勢等が想定される。
なお、DMS30が、運転者以外の搭乗者の認証処理、及び、当該搭乗者の状態の認識処理を行うようにしてもよい。また、例えば、DMS30が、車内センサ26からのセンサデータに基づいて、車内の状況の認識処理を行うようにしてもよい。認識対象となる車内の状況としては、例えば、気温、湿度、明るさ、臭い等が想定される。
HMI31は、各種のデータや指示等の入力に用いられ、入力されたデータや指示等に基づいて入力信号を生成し、車両制御システム11の各部に供給する。例えば、HMI31は、タッチパネル、ボタン、マイクロフォン、スイッチ、及び、レバー等の操作デバイス、並びに、音声やジェスチャ等により手動操作以外の方法で入力可能な操作デバイス等を備える。なお、HMI31は、例えば、赤外線若しくはその他の電波を利用したリモートコントロール装置、又は、車両制御システム11の操作に対応したモバイル機器若しくはウェアラブル機器等の外部接続機器であってもよい。
また、HMI31は、搭乗者又は車外に対する視覚情報、聴覚情報、及び、触覚情報の生成及び出力、並びに、出力内容、出力タイミング、出力方法等を制御する出力制御を行う。視覚情報は、例えば、操作画面、車両1の状態表示、警告表示、車両1の周囲の状況を示すモニタ画像等の画像や光により示される情報である。聴覚情報は、例えば、ガイダンス、警告音、警告メッセージ等の音声により示される情報である。触覚情報は、例えば、力、振動、動き等により搭乗者の触覚に与えられる情報である。
視覚情報を出力するデバイスとしては、例えば、表示装置、プロジェクタ、ナビゲーション装置、インストルメントパネル、CMS(Camera Monitoring System)、電子ミラー、ランプ等が想定される。表示装置は、通常のディスプレイを有する装置以外にも、例えば、ヘッドアップディスプレイ、透過型ディスプレイ、AR(Augmented Reality)機能を備えるウエアラブルデバイス等の搭乗者の視界内に視覚情報を表示する装置であってもよい。
聴覚情報を出力するデバイスとしては、例えば、オーディオスピーカ、ヘッドホン、イヤホン等が想定される。
触覚情報を出力するデバイスとしては、例えば、ハプティクス技術を用いたハプティクス素子等が想定される。ハプティクス素子は、例えば、ステアリングホイール、シート等に設けられる。
車両制御部32は、車両1の各部の制御を行う。車両制御部32は、ステアリング制御部81、ブレーキ制御部82、駆動制御部83、ボディ系制御部84、ライト制御部85、及び、ホーン制御部86を備える。
ステアリング制御部81は、車両1のステアリングシステムの状態の検出及び制御等を行う。ステアリングシステムは、例えば、ステアリングホイール等を備えるステアリング機構、電動パワーステアリング等を備える。ステアリング制御部81は、例えば、ステアリングシステムの制御を行うECU等の制御ユニット、ステアリングシステムの駆動を行うアクチュエータ等を備える。
ブレーキ制御部82は、車両1のブレーキシステムの状態の検出及び制御等を行う。ブレーキシステムは、例えば、ブレーキペダル等を含むブレーキ機構、ABS(Antilock Brake System)等を備える。ブレーキ制御部82は、例えば、ブレーキシステムの制御を行うECU等の制御ユニット、ブレーキシステムの駆動を行うアクチュエータ等を備える。
駆動制御部83は、車両1の駆動システムの状態の検出及び制御等を行う。駆動システムは、例えば、アクセルペダル、内燃機関又は駆動用モータ等の駆動力を発生させるための駆動力発生装置、駆動力を車輪に伝達するための駆動力伝達機構等を備える。駆動制御部83は、例えば、駆動システムの制御を行うECU等の制御ユニット、駆動システムの駆動を行うアクチュエータ等を備える。
ボディ系制御部84は、車両1のボディ系システムの状態の検出及び制御等を行う。ボディ系システムは、例えば、キーレスエントリシステム、スマートキーシステム、パワーウインドウ装置、パワーシート、空調装置、エアバッグ、シートベルト、シフトレバー等を備える。ボディ系制御部84は、例えば、ボディ系システムの制御を行うECU等の制御ユニット、ボディ系システムの駆動を行うアクチュエータ等を備える。
ライト制御部85は、車両1の各種のライトの状態の検出及び制御等を行う。制御対象となるライトとしては、例えば、ヘッドライト、バックライト、フォグライト、ターンシグナル、ブレーキライト、プロジェクション、バンパーの表示等が想定される。ライト制御部85は、ライトの制御を行うECU等の制御ユニット、ライトの駆動を行うアクチュエータ等を備える。
ホーン制御部86は、車両1のカーホーンの状態の検出及び制御等を行う。ホーン制御部86は、例えば、カーホーンの制御を行うECU等の制御ユニット、カーホーンの駆動を行うアクチュエータ等を備える。
図2は、図1の外部認識センサ25のカメラ51、レーダ52、LiDAR53、及び、超音波センサ54によるセンシング領域の例を示す図である。
センシング領域101F及びセンシング領域101Bは、超音波センサ54のセンシング領域の例を示している。センシング領域101Fは、車両1の前端周辺をカバーしている。センシング領域101Bは、車両1の後端周辺をカバーしている。
センシング領域101F及びセンシング領域101Bにおけるセンシング結果は、例えば、車両1の駐車支援等に用いられる。
センシング領域102F乃至センシング領域102Bは、短距離又は中距離用のレーダ52のセンシング領域の例を示している。センシング領域102Fは、車両1の前方において、センシング領域101Fより遠い位置までカバーしている。センシング領域102Bは、車両1の後方において、センシング領域101Bより遠い位置までカバーしている。センシング領域102Lは、車両1の左側面の後方の周辺をカバーしている。センシング領域102Rは、車両1の右側面の後方の周辺をカバーしている。
センシング領域102Fにおけるセンシング結果は、例えば、車両1の前方に存在する車両や歩行者等の検出等に用いられる。センシング領域102Bにおけるセンシング結果は、例えば、車両1の後方の衝突防止機能等に用いられる。センシング領域102L及びセンシング領域102Rにおけるセンシング結果は、例えば、車両1の側方の死角における物体の検出等に用いられる。
センシング領域103F乃至センシング領域103Bは、カメラ51によるセンシング領域の例を示している。センシング領域103Fは、車両1の前方において、センシング領域102Fより遠い位置までカバーしている。センシング領域103Bは、車両1の後方において、センシング領域102Bより遠い位置までカバーしている。センシング領域103Lは、車両1の左側面の周辺をカバーしている。センシング領域103Rは、車両1の右側面の周辺をカバーしている。
センシング領域103Fにおけるセンシング結果は、例えば、信号機や交通標識の認識、車線逸脱防止支援システム等に用いられる。センシング領域103Bにおけるセンシング結果は、例えば、駐車支援、及び、サラウンドビューシステム等に用いられる。センシング領域103L及びセンシング領域103Rにおけるセンシング結果は、例えば、サラウンドビューシステム等に用いられる。
センシング領域104は、LiDAR53のセンシング領域の例を示している。センシング領域104は、車両1の前方において、センシング領域103Fより遠い位置までカバーしている。一方、センシング領域104は、センシング領域103Fより左右方向の範囲が狭くなっている。
センシング領域104におけるセンシング結果は、例えば、緊急ブレーキ、衝突回避、歩行者検出等に用いられる。
センシング領域105は、長距離用のレーダ52のセンシング領域の例を示している。センシング領域105は、車両1の前方において、センシング領域104より遠い位置までカバーしている。一方、センシング領域105は、センシング領域104より左右方向の範囲が狭くなっている。
センシング領域105におけるセンシング結果は、例えば、ACC(Adaptive Cruise Control)等に用いられる。
なお、各センサのセンシング領域は、図2以外に各種の構成をとってもよい。具体的には、超音波センサ54が車両1の側方もセンシングするようにしてもよいし、LiDAR53が車両1の後方をセンシングするようにしてもよい。
<情報処理装置の構成例>
図3は、本技術を適用した情報処理装置の一実施の形態の構成を示す図である。情報処理装置110は、例えば車両1に車載され、撮像された画像を解析して、人や車といった所定の物体を認識する装置として用いることができる。本実施の形態における情報処理装置110は、認識処理を実行するときに、機械学習などの学習モデルが適用された認識器を用いて認識を行い、誤検出が少なくなるように、認識器を更新する機能を有する。
図3に示した情報処理装置110は、画像取得部121、認識処理部122、抽出部123、認識対象追跡部124、ラベル付与部125、再学習部126、および認識器更新部127を備えている。
画像取得部121は、画像を撮像する撮像部(不図示)により撮像された画像の画像データを取得する。画像取得部121は、例えば、カメラ51(図1)により撮像された画像を取得する。認識処理部122は、画像取得部121で取得された画像を解析し、人や車といった所定の物体を、認識器(学習モデル)を用いて認識する。認識処理部122は、入力データに対して認識処理を行う学習モデルが適用された認識器を用いた認識処理を実行する。
情報処理装置110が、例えば車載に搭載されているような場合、情報処理装置110で認識された認識結果を、認識された物体を避けるためのハンドル操作やブレーキ操作を補助したりするための半自動運転に用いることができる。
情報処理装置110の認識処理部122からの認識結果は、抽出部123に供給される。抽出部123は、後述する認識器の更新を行う条件が満たされている認識結果を抽出する。抽出部123からの抽出結果は、認識対象追跡部124に供給される。認識対象追跡部124は、抽出された認識結果を、複数フレームにわたって追跡する。この複数フレームは、時系列的に逆向きの方向(過去の方向)で撮像されたフレームであり、認識対象追跡部124は、時系列に逆向きの方向に認識対象を追跡する処理を実行する。
認識対象追跡部124による追跡結果は、ラベル付与部125に供給される。ラベル付与部125は、追跡された認識対象にラベルを付与する。ラベルが付与された認識対象は、再学習部126に供給される。再学習部126は、ラベルが付与されている認識対象を用いて認識器の再学習を行う。再学習により生成された新たな認識器は、認識器更新部127に供給される。認識器更新部127は、認識処理部122の認識器を、再学習部126により再学習された認識器に更新する。
再学習部126は、認識処理部122の認識器が有するパラメータ(モデルパラメータと称されることがあるパラメータ)の学習を実行する機能を有する。学習には、例えば、RNN(Recurrent Neural Network:再帰型ニューラルネットワーク)、CNN(Convolutional Neural Network:畳み込みニューラルネットワーク)等のニューラルネットワークを用いた各種の機械学習技術が用いることができる。
学習処理について、図4を参照して説明を加える。認識器には、画像に写されている複数の被写体を分類するラベルが予め作成されているラベル有り画像が入力される。例えば、認識器は、ラベル有り画像に対する画像認識を行って、そのラベル有り画像に写されている複数の被写体を認識し、それぞれの被写体を分類した認識結果を出力する。
認識器から出力される認識結果と、ラベル有り画像についての正解ラベルとの比較が行われ、認識結果を正解ラベルに近づけるように認識器に対するフィードバックが行われる。このように、正解ラベルを用いて、認識器(の学習モデル)がより正確な認識を行うように学習が行われる。学習済みの学習モデルを用いて、認識処理部122が認識処理を行うように構成することができる。
なおここで示した学習処理は、一例であり、他の学習処理により学習が行われたり、他の学習処理により得られた認識器が用いられたりする場合にも本技術を適用することはできる。学習処理として、ラベル有り画像や正解ラベルを用いない学習処理を、本技術に適用することも可能である。
再学習部126は、図4に示したような学習処理により認識器(学習モデル)を再学習する。例えば、認識処理部122からの認識結果を、ラベル有り画像として用い、ラベル付与部125によりラベルが付与された画像を、正解ラベルとして用いて、認識器の再学習を行う。
再学習は、所定の時刻に撮像されたフレームを基準として、その基準とされたフレームより前の時点で撮像されている数フレームが用いられて再学習が行われる。再学習は、誤検出が少なくなる認識器を生成するために行われるが、誤検出としては、認識対象、例えば人や車といった物体が、画像に写っているにもかかわらず検出されなかった場合や、検出はされたが誤った物体として検出された場合、例えば、人であるのに車であると検出された場合などがある。
このような誤検出と再学習について、以下に撮像された画像例を参照しながら説明を加える。ここでは、車載カメラにより撮像された画像を処理する場合を例に挙げて説明を行う。
図5乃至図9は、時刻t1、時刻t2、時刻t3、時刻t4、時刻t5にそれぞれ撮像された画像(フレーム)の一例を示す図である。図5乃至図9には、フレームF1乃至F5がそれぞれ認識処理部122で処理されることにより認識(検出)された物体に対して表示される検出枠も図示してある。時刻t1、時刻t2、時刻t3、時刻t4、時刻t5の順に時間が経過する、換言すれば、時刻t1が最も古く(過去)、時刻t5が最も新しい(現時点)として説明を続ける。
図5に示したフレームF1の左側には、車C11と車C12が撮像され、前方には車C13が撮像されている。また、右側には、人H11が撮像されている。フレームF1が認識処理部122(図3)で処理されることで、車C11、車C12、および車C13が検出される。検出された物体は、四角形状の検出枠で囲まれる。
図5では、車C11は、検出枠BC11で囲まれ、車C12は、検出枠BC12で囲まれ、車C13は、検出枠BC13で囲まれている。図5に示した例では、人H11は撮像されているが、検出されていないため、検出枠は表示されていない。
車や人といった所定の物体を検出する方法として、セマンティックセグメンテーション(Semantic Segmentation)、インスタンスセグメンテーション(Instance Segmentation)、パノプティックセグメンテーション(Panoptic Segmentation)などを適用することができる。
セマンティックセグメンテーションは、画像上の全てのピクセルをクラスに分類し、ピクセル毎にラベルを付ける方法である。インスタンスセグメンテーションは、物体毎の領域を分割し、物体の種類を認識する方法である。パノプティックセグメンテーションは、セマンティックセグメンテーションとインスタンスセグメンテーションを組み合わせた方法であり、物体の種類を認識することができ、全てのピクセルに対してラベルが付けを行うことができる方法である。
ここでは、パノプティックセグメンテーションを適用しているとして説明を続けるが、本技術はパノプティックセグメンテーション以外の上記した方法や、ここでは例示していない認識方法であっても、本技術に適用できる。
なお、パノプティックセグメンテーションにより認識を行った場合、その結果を、図5に示したような画像として表示した場合、同一ラベルが付けられたピクセルを同一色で表示することができる。例えば、車C11とのラベルが付けられたピクセルを赤色で表し、車C12とのラベルが付けられたピクセルを青色で表しといったように、異なる物体は、異なる色で表示することができる。図5乃至図9においては、色は図示していないが、異なる物体は異なる物体として検出され、それぞれ異なる色で表示されている。
図5に示したフレームF1では、人H11が撮像されているが、人H11は検出されていないという誤検出が発生している。
図6は、時刻t1よりも後の時刻(所定の時間が経過した時刻)の時刻t2において撮像されたフレームF2の一例を示す図である。車が前進したため、フレームF1(図5)に撮像されていた車C11と車C12は、撮像範囲外になり、フレームF2には撮像されていない状態である。車C23は、フレームF1における車C13に該当し、フレーム2においても検出され、検出枠BC23で囲まれている。
フレームF2では、人H11(図5)に該当する人H21も撮像されているが、検出されていない状態である。フレームF2では、新たに、人H22と人H23が検出され、それぞれ検出枠BH22と検出枠BH23で囲まれている。
検出枠は、ラベルにより異なる色や線種で表示することができる。図6では、車というラベルが付けられた認識結果には、実線の検出枠が表示され、人というラベルが付けられた認識結果には、点線の検出枠が表示される例を示している。
図7は、時刻t2よりも後の時刻の時刻t3において撮像されたフレームF3の一例を示す図である。フレームF3には、人H11(図5)、人H21(図6)に該当する人H31と、人H22(図6)に該当する人H32が撮像されている。人H31と人H32は、それぞれ検出されている。人H31は、誤って車として検出されたため、車のラベルが付けられ、車のときに表示される検出枠BC31が人H31を囲むように表示されている。人H32は、正しく人として検出されたため、人のときに表示される検出枠BH32が人H32を囲むように表示されている。
図8は、時刻t3よりも後の時刻の時刻t4において撮像されたフレームF4の一例を示す図である。フレームF4には、人H11(図5)、人H21(図6)、人H31(図7)に該当する人H41と、人H44が撮像されている。人H41と人H44は、それぞれ人として正しく検出されているため、人のときに表示される検出枠BH41と検出枠BH44がそれぞれ表示されている。
図9は、時刻t4よりも後の時刻の時刻t5において撮像されたフレームF5の一例を示す図である。フレームF5には、人H11(図5)、人H21(図6)、人H31(図7)、人H41(図8)に該当する人H51と、人H44(図9)に該当する人H54が撮像されている。人H51と人H54は、それぞれ人として正しく検出されているため、人のときに表示される検出枠BH51と検出枠BH54がそれぞれ表示されている。
このようにフレームF1乃至F5が撮像され、認識処理結果が出された場合について考える。図10は、フレームF1とフレームF5を並べて図示した図である。図10では人H11と人H51に注目する。フレームF1では、人H11は撮像されているが、検出はされていない状態である。フレームF5では、人H51は撮像され、検出されている状態である。
フレームF1において撮像されている人H11は、フレームF1の時点では検出されていない。換言すれば、フレームF1においては、検出されるべき人H11が検出されていないという誤検出が発生している。
人H11は、フレームF5においては、人H51として検出されている。人H11は、人H21(フレームF2)、人H31(フレームF3)、人H41(フレームF4)、および人H51(フレームH5)として撮像されている。すなわち人H11は、フレームF1からF5まで連続的に撮像されている。このようなとき、フレームF5、フレームF4、フレームF3、フレームF2、フレームF1の順で人H51をトラッキングした場合、人H51、人H41、人H31、人H21、人H11の順で検出(トラッキング)することができる。
過去にさかのぼるトラッキングを行うことで、各フレームで人H51に該当する人に対して、ラベルを付けることができる。例えば、フレームF1において、人H11にラベルを付けることができる。このラベルを付けたフレームF1を用いた学習を行うことで、フレームF1のような画像から人H11を検出して、ラベルを付けることができる認識器を生成することができる。
フレームF3(図7)において、人H31は、車として検出されるという誤検出が発生しているが、フレームF3に対しても、フレームF5、フレームF4からのトラッキングが行われることで、人H51、人H41、人H31とトラッキングが行われるため、人H31は、人というラベルが付けられる。人H31に対して人というラベルが付けられたフレームF3を用いた学習を行うことで、フレームF3のような画像から人H31を検出し、人という正しいラベルを付けることができる認識器を生成することができる。
フレームF5では、人H51と人H54が撮像されている。人H54に該当する人は、フレームF3乃至F1では検出されていない。仮に、フレームF3乃至F1においても、人H54に該当する人が撮像されていた場合、人H54に該当する人を過去方向にトラッキングすることで、人H54に該当する人を、フレームF3乃至F1において検出し、ラベルを付けることができる。トラッキングの結果、フレームF3乃至F1においても、人H54に該当する人にラベルが付けられれば、そのフレームF3乃至F1を用いた学習を行うことで、フレームF3乃至F1のような画像においても、人H54に該当する人を検出できる認識器を生成することができる。
このように、時間方向で逆向きにたどることで、検出されていなかった物体を検出したり、誤った認識が行われた物体を正しい認識で検出したりすることができる。そのような時間方向で逆向きにたどることで新たにラベル付けがされた画像を用いた学習を行うことができる。その結果、誤検出が少ない認識器(学習モデル)を生成することができる。
<情報処理装置の処理について>
情報処理装置110は、このような学習(再学習)に係わる処理を実行する。図11に示したフローチャートを参照し、情報処理装置110(図3)の処理について説明する。
ステップS111において、画像取得部121は、画像データ(フレーム)を取得する。ステップS112において、認識処理部122は、画像取得部121で取得された画像データに基づく画像を解析することで、認識処理を行う学習モデルが適用された認識器を用いた認識処理を実行する。認識処理部122が行う認識処理は、人や車といった所定の物体を認識する認識器を用いた処理であり、例えば、図5を参照して説明したように、フレームF1から、車C11を検出し、車というラベルを付与する処理である。
ステップS113において、抽出部123は、更新基準を満たす認識結果を抽出する。更新基準とは、認識器の更新が必要なデータか否かを判定する基準である。更新基準とは、認識結果のうち、以下に説明する基準を満たす認識結果があった場合、再学習を行うと判定するための基準である。
ここでは、認識処理部122の認識処理で検出された物体を認識結果と記載し、抽出部123で抽出された認識結果を、認識対象と記載する。後述するように、認識対象は、トラッキングの対象となる認識結果である。更新基準について図12を参照して説明する。
図12のAに示すように、第1の更新基準として、認識結果のサイズBxが、画像Fxの面積のx%以上の認識結果があった場合、その認識結果を認識対象として抽出するという基準を設ける。認識結果のサイズとは、例えば、フレームF1(図5)において、車C11の検出枠BC11で囲まれている領域の面積とすることができる。面積ではなく、高さや幅であっても良く、車C11の検出枠BC11の高さまたは幅とし、高さや幅が、所定の大きさ以上であれば、認識対象として抽出するようにしても良い。画像Fxの面積とは、例えば、フレームF1の画像サイズである。
第1の更新基準は、ある程度の大きさで検出された物体があった場合、その物体をトラッキング対象、すなわちこの場合認識対象として設定する基準である。一般的に、所定の物体として検出されたサイズが小さい場合よりも、大きい場合の方が、検出結果に対する信頼性が高く、誤検出である可能性が低い。よって、そのような精度が高い状態で検出されている物体を、認識対象として再学習が行われるようにするために、第1の更新基準を設ける。
なお、第1の更新基準は、認識結果により、x%の値が異なるようにしても良い。例えば、認識結果が人である場合と、車である場合とで、同じx%の値を用いた場合、車の方が人よりも大きいため、認識結果が車のときには、第1の更新基準を満たしやすいが、認識結果が人の場合には、第1の更新基準を満たしづらいと考えられる。そこで、x%の値は、認識結果のラベルにより可変値とし、認識結果毎に、異なるxを用いて第1の更新基準を満たすか否かが判定されるようにしても良い。
図12のBに示すように第2の更新基準として、画像Fyの辺からの距離がy%以上のところまである認識結果があった場合、その認識結果を認識対象として抽出するという基準を設ける。画像Fyは、1フレームのことであり、フレームの一辺とは、例えば、図12のBに示したように、左辺や右辺のことである。辺からの距離がy%以上とは、例えば、フレームの横方向の長さ(右辺から左辺までの距離)を100%としたときの割合である。
例えば、フレームF1(図5)を参照するに、車C11は、見切れた状態で撮像されている。このような見切れた状態で撮像されている物体は、認識対象としないようにするための基準が、第2の更新基準である。
なお、図12のBでは、横方向の距離(左辺および右辺からの距離)を例に挙げて説明したが、縦方向の距離(上辺および下辺からの距離)であっても良い。横方向の距離と縦方向の距離の両方に基準を設けても良い。また第1の更新基準と同じく、ラベルにより、異なるy%が用いられるようにしても良い。
第1の更新基準、または/および、第2の更新基準を満たす認識結果を、抽出部123は抽出し、抽出された場合、その認識結果を、トラッキングの対象とする認識対象として設定する。認識対象が設定された場合、その認識対象が抽出されたフレームを基準として、過去の数フレームが、トラッキング対象のフレームとして設定される。
図13を参照するに、例えば、時刻T0において、第1の更新基準、または/および、第2の更新基準を満たす認識結果が抽出された場合、時刻T0より前の時刻T0-mまでの間に撮像されたmフレームが処理対象のフレームとして設定される。
第3の更新基準は、mフレーム連続して検出された認識結果があった場合、その認識結果を認識対象として抽出するという基準を設ける。mフレームに渡って、検出されているということは、その物体は精度が高い状態で検出されているといえる。そのような精度が高い状態で検出されている認識結果があった場合、その認識結果が認識対象として抽出される。
第3の更新基準を満たすか否かを判定するために、抽出部123は、複数フレーム記憶する記憶部(不図示)を有する。抽出部123により、第3の更新基準を満たす認識結果を抽出された場合、図13に示したように、mフレームより過去に撮像されたnフレームが処理対象のフレームとして設定される。図13を参照するに、例えば、時刻T0において第3の更新基準を満たす認識結果が抽出された場合、時刻T0より前の時刻T0-mまでの間に撮像されたmフレームに連続して検出された認識結果があったことになる。このような場合、時刻T0-mより前の時刻T0-m-nまでの間に撮像されたnフレームが、処理対象のフレームとして設定される。
なお、第3の更新基準におけるmフレーム(フレーム数)は、固定値であっても良いし、可変値であっても良い。フレーム数を可変値とした場合、例えば、車速、フレームレート、認識結果のサイズなどから、mが設定されるようにしても良い。これらの情報から、認識結果のサイズが高さhmin、幅wminになるフレームを推定し、そのサイズになるまでのフレーム数がmとして設定されるようにしても良い。
例えば、車速が早ければ、単位時間内に進む距離は長くなり、撮像されていた物体の入れ替わりも多くなるため、複数フレームに写り続ける物体は少なくなる。車速が早い場合、mフレームのmを小さくしないと、認識対象となる物体が抽出されづらくなる可能性がある。一方で、車速が遅い場合、複数フレームに写り続ける物体が多くなり、mフレームのmを大きくしないと、認識対象となる物体が多く抽出され、その結果、再学習が頻繁に実行される可能性がある。
このようなことを考慮し、上記したように車速やフレームレートなどに応じて、mフレームのmが設定されるようにしても良い。
認識結果のサイズが高さhmin、幅wminとは、所定の認識結果が、最初に撮像または検出されたときのサイズである。このようなサイズになるのは何フレーム前であるのか、換言すれば、何フレーム前に所定の認識結果が認識されたかが推定され、その推定されたフレーム数が、mとして設定されるようにしても良い。このmは、車速、フレームレート、認識結果のサイズといった情報から推定することができる。
mフレームのmは、認識対象のサイズに対してmを与える対応表が参照されることで設定されたり、所定の関数により算出されたりするようにしても良い。
第4の更新基準は、上記した第1乃至第3の更新基準を組み合わせた基準である。
第1の更新基準と第2の更新基準を組み合わせ、認識結果のサイズが、フレームのサイズのx%以上であり、かつ、フレームの辺からの距離がy%以上の認識結果を、認識対象として抽出するという第4の更新基準を設けても良い。この場合、ある程度の大きさで検出され、見切れていない状態で撮像されている可能性が高い物体が抽出される。
第1の更新基準と第3の更新基準を組み合わせ、認識結果のサイズが、フレームのサイズのx%以上の認識結果が、mフレーム連続して検出されているとき、その認識結果を、認識対象として抽出するという第4の更新基準を設けても良い。この場合、ある程度の大きさで検出され、数フレームに渡り安定して検出されている物体が抽出される。
第2の更新基準と第3の更新基準を組み合わせ、フレームの辺からの距離がy%以上の認識結果が、mフレーム連続して検出されているとき、その認識結果を、認識対象として抽出するという第4の更新基準を設けても良い。この場合、見切れていない状態で撮像されている可能性が高く、数フレームに渡り安定して検出されている物体が抽出される。
第1乃至第3の更新基準を組み合わせ、フレームのサイズのx%以上であり、かつ、フレームの辺からの距離がy%以上の認識結果が、mフレーム連続して検出されているとき、その認識結果を、認識対象として抽出するという第4の更新基準を設けても良い。この場合、ある程度の大きさで検出され、見切れていない状態で撮像され、数フレームに渡り安定して検出されている物体が抽出される。
このような更新基準を設け、抽出部123(図3)は、更新基準を満たす認識結果を抽出する。ステップS113(図11)において、抽出部123により、更新基準を満たす認識結果を抽出する処理が実行されると、その処理結果を用いて、ステップS114の判定が行われる。ステップS114において、更新基準を満たす認識結果があったか否かが判定される。
ステップS114において、更新基準を満たす認識結果はなかったと判定された場合、ステップS111に処理が戻され、それ以降の処理が繰り返される。
一方、ステップS114において、更新基準を満たす認識結果があったと判定された場合、ステップS115に処理は進められる。抽出部123は、更新基準を満たす認識結果があった場合、その認識結果に係わる情報、すなわち認識対象に係わる情報を、認識対象追跡部134に出力する。認識対象に係わる情報とは、例えば、認識対象の座標、サイズ、ラベルなどの情報である。
ステップS115において、認識対象追跡部124は、一番古いフレームを選択する。一番古いフレームとは、第1乃至第4の更新基準のうち、どの更新基準を用いているかにより異なる。第1または第2の更新基準、または、第4の更新基準として第1と第2の更新基準を組み合わせた基準を用いている場合、抽出の処理対象とされていたフレーム、換言すれば、認識対象が抽出されたフレームが一番古いフレームとされる。例えば、時刻T0において、更新基準を満たす認識結果があったと判定された場合、その認識結果を含むフレームが一番古いフレームとして設定される。
第3の更新基準を用いている場合、または第4の更新基準として、第1の更新基準と第3の更新基準を組み合わせた基準、第2の更新基準と第3の更新基準を組み合わせた基準、または第1乃至第3の更新基準を組み合わせた基準を用いている場合、図13を参照して説明したように、時刻T0-mから時刻T0の間のmフレームで連続して検出された認識結果が認識対象とされるため、一番古いフレームは、時刻T0-mのときに撮像されたフレームとなる。
ステップS116において、選択された認識対象の過去Nフレームを対象としたトラッキングが行われる。選択された認識対象とは、複数の認識対象が抽出された場合、そのうちの1つを選択して、トラッキングの対象としたときの認識対象のことである。過去Nフレームとは、ステップS115において選択された一番古いフレームを含み、その一番古いフレームよりも過去に撮像された(N-1)枚のフレームのことである。
例えば、図9に示したフレームF5が一番古いフレームとして設定されたとする。またフレームF5から認識対象として人H51と人H54が抽出され、人H51が選択された認識対象とされたとする。この場合、過去NフレームのNが5である場合、フレームF5を含め、フレームF4、フレームF3、フレームF2、およびフレームF1の5フレームが、過去Nフレームとされる。
フレームF5からフレームF1まで、人H51が順にトラッキングされることで、フレームF5乃至F1のそれぞれのフレームで人H51に該当する人が検出され、人というラベルが付けられる。すなわち、この例の場合、フレームF5の人H51、フレームF4の人H41、フレームF3の人H31、フレームF2の人H21、フレームF1の人H11の順でトラッキングされ、それぞれ人というラベルが付与される。
ステップS116において、認識対象追跡部124により、時系列的に逆向きの方向のトラッキングが行われ、そのトラッキングの結果に対して、ステップS117において、ラベル付与部125によりラベルが付与される。このようなトラッキングとラベルの付与は、認識対象毎に行われる。
ステップS118において、再学習部126は認識器の学習モデルを再学習する。再学習部126は、画像(フレーム)とラベルの組を教師データとして認識器(学習モデル)を学習する。この学習の仕方は、図4を参照して説明したように、ラベル付与部125によるラベルが付与されたフレームを正解ラベルとして用いた学習が行われるようにすることができる。また、ラベル付与部125によるラベルが付与されたフレームを教師データとした他の学習の仕方により学習が行われるようにしても良い。
再学習部126は、Nフレームをデータセットとして用いた学習を行っても良いし、Nフレームの処理が複数回行われることで蓄積されたNよりも多いフレーム数のデータセットを用いた学習を行っても良い。ここでの学習の仕方により本技術の適用範囲が限定されることはない。
上記した例の場合、フレームF3(図7)では、人H31は車として検出されているが、トラッキングとラベル付けが行われることで、人H31に人というラベルを付けることができる。このような正確なラベルが付けられたフレームを用いた学習を行うことで、フレームF3のような画像を処理したときに、誤って人H31を車として認識してしまうようなことを低減することができる認識器を生成することができる。
また、フレームF2(図6)や、フレームF1(図5)では、人H21や人H11は、検出されていないが、トラッキングとラベル付けが行われることで、人H21や人H11に人というラベルを付けることができる。このようなラベルが付けられたフレームを用いた学習を行うことで、フレームF2やフレームF1のような画像を処理したときに、人H21や人H11を検出できないといったようなことを低減することができる認識器を生成することができる。
ステップS119において、認識器更新部127は、認識処理部122で用いられている認識器(の学習モデル)を、再学習部126で学習された認識器(学習モデル)で更新する。更新は、認識器(学習モデル)を置き換えることで行われても良いし、学習モデルの一部のパラメータを置き換えるようにしても良い。
生成された認識器(学習モデル)の精度を評価する仕組みを設けても良い。生成された認識器の精度を評価し、認識性能が向上していると判定されるときだけ、認識器が更新されるようにしても良い。
このように、精度が高い状態で検出が行われているフレームから、時間を過去の方向にさかのぼるトラッキングを行うことでラベル付けを行う。ラベル付けが行われたフレームを用いた学習を行うことで、認識器が更新される。このような学習が行われることで、誤検出されていた物体に正しいラベル付けを行ったフレームと、未検出であった物体を検出し、ラベル付けを行ったフレームとを用いた学習を行うことができるため、認識精度を高めた認識器を生成することができる。
<情報処理システムの構成>
上記した実施の形態において情報処理装置110が行っていた処理を、複数の装置で分担して行うようにすることもできる。
上記した実施における情報処理装置110は、情報処理装置110自体が、再学習を行う学習装置を含む構成とされていた場合であるが、学習装置は他の装置に含まれる構成としても良い。
ここでは、情報処理装置とサーバの2台で処理を分担して行う場合を例に挙げて説明を続ける。
図15は、情報処理システムの一実施の形態の構成を示す図である。情報処理システム200は、情報処理装置211とサーバ212から構成される。情報処理装置211は、例えば車載される装置である。サーバ212は、情報処理装置211と、所定のネットワークを介してデータの授受を行う装置である。
情報処理装置211は、画像取得部221、認識処理部222,抽出部223、データ送信部224、認識器受信部225、および認識器更新部226を備える。サーバ212は、データ受信部231、認識対象追跡部232、ラベル付与部233、再学習部234、および認識器送信部235を備える。
情報処理装置211の画像取得部221、認識処理部222、抽出部223、および認識器更新部226は、情報処理装置110(図3)の画像取得部121、認識処理部122、抽出部123、および認識器更新部127にそれぞれ該当する機能である。サーバ212の認識対象追跡部232、ラベル付与部233、および再学習部234は、情報処理装置110(図3)の認識対象追跡部124、ラベル付与部125、および再学習部126にそれぞれ該当する機能である。
<情報処理システムの処理について>
図14に示した情報処理システム200の処理について、図15と図16に示したフローチャートを参照して説明する。情報処理システム200が行う処理は、基本的に、情報処理装置110が行う処理と同様の処理であり、情報処理装置110が行う処理については、図11に示したフローチャートを参照して既に説明したため、同様の処理については、適宜説明を省略する。
図15は、情報処理装置211の処理について説明するためのフローチャートである。ステップS211乃至S215の処理は、ステップS111乃至S115(図11)の処理と同様のため、その説明は省略する。
ステップS216において、画像と認識対象が、サーバ212に対して送信される。情報処理装置211のデータ送信部224は、抽出部223で抽出された認識対象に関するデータ、一番古いフレーム、および一番古いフレームから過去のNフレームのデータを、少なくとも送信する。車速やフレームレートなども必要に応じて送信されるようにしても良い。
サーバ212は、再学習を行い、再学習後の認識器を、情報処理装置211に送信する。情報処理装置211の認識器受信部225は、ステップS217において、サーバ212から送信されてきた認識器を受信し、認識器更新部226は、受信された認識器で認識処理部222の認識器を更新する。
図16は、サーバ212の処理について説明するためのフローチャートである。
ステップS231において、サーバ212のデータ受信部231は、情報処理装置211のデータ送信部224が送信した画像(フレーム)と認識対象のデータを受信する。ステップS232乃至S234は、ステップS116乃至S118(図11)の処理と同様のため、その詳細な説明は省略する。
サーバ212は、情報処理装置110が行っていた過去方向にフレームをさかのぼることによるトラッキングを行い、ラベル付けを行い、認識器の再学習を行うという処理を行う。このようにして再学習された認識器は、ステップS235において、サーバ212の認識器送信部245から、情報処理装置211に送信される。
このように、情報処理装置211とサーバ212で処理を分担して行う構成としても良い。
<情報処理システムの他の構成>
図17は、情報処理システムの他の構成例を示す図である。図17に示した情報処理システム300は、情報処理装置311とサーバ312から構成されている。
情報処理装置311は、画像取得部321、認識処理部322、データ送信部323、認識器受信部324、および認識器更新部325を備える。サーバ312は、データ受信部331、抽出部332、認識対象追跡部333、ラベル付与部334、再学習部335、および認識器送信部336を備える。
情報処理装置311の画像取得部321、認識処理部322、および認識器更新部325は、情報処理装置110(図3)の画像取得部121、認識処理部122、および認識器更新部127にそれぞれ該当する機能である。サーバ312の抽出部332、認識対象追跡部333、ラベル付与部334、および再学習部335は、情報処理装置110(図3)の抽出部123、認識対象追跡部124、ラベル付与部125、および再学習部126にそれぞれ該当する機能である。
図17に示した情報処理システム300と、図14に示した情報処理システム200と比較した場合、情報処理システム200の情報処理装置211の抽出部223を、サーバ212側に持たせた構成が、情報処理システム300の構成となる。
<情報処理システムの他の処理について>
図17に示した情報処理システム300の処理について、図18と図19に示したフローチャートを参照して説明する。情報処理システム300が行う処理は、基本的に、情報処理装置110が行う処理と同様の処理であり、情報処理装置110が行う処理については、図11に示したフローチャートを参照して既に説明したため、同様の処理については、適宜説明を省略する。
図17は、情報処理装置311の処理について説明するためのフローチャートである。ステップS311,S312の処理は、ステップS111,S112(図11)の処理と同様のため、その説明は省略する。
ステップS313において、情報処理装置311のデータ送信部323は、サーバ312に対して画像と認識結果を送信する。情報処理装置311のデータ送信部323は、認識処理部322で認識された認識結果に関するデータとフレームを、少なくとも送信する。車速やフレームレートなども必要に応じ送信される仕組みとしても良い。
なお、画像や認識結果は、1フレーム処理される毎に送信されるようにしても良いし、数フレームまとめて送信されるようにしても良い。
サーバ312側は、再学習を行い、再学習後の認識器を、情報処理装置311に送信する。情報処理装置311の認識器受信部324は、ステップS314において、サーバ312から送信されてきた認識器を受信し、認識器更新部325は、受信された認識器で認識処理部322の認識器を更新する。
図19は、サーバ312の処理について説明するためのフローチャートである。
ステップS331において、サーバ312のデータ受信部331は、情報処理装置311のデータ送信部323が送信した画像(フレーム)と認識結果のデータを受信する。ステップS332において、抽出部332は、更新基準を満たす認識対象を抽出する。ステップS332乃至S337の処理は、ステップS113乃至S118(図11)の処理と同様のため、その詳細な説明は省略する。
サーバ312は、情報処理装置110が行っていた、認識対象を抽出し、過去方向にフレームをさかのぼることによるトラッキングを行い、ラベル付けを行い、認識器の再学習を行うという処理を行う。このようにして再学習された認識器は、ステップS338において、サーバ312の認識器送信部336から、情報処理装置311に送信される。
このように、情報処理装置311とサーバ312で処理を分担して行う構成としても良い。
情報処理システム200や情報処理システム300のように、学習処理をサーバ212(312)で行うように構成することで、情報処理装置211(311)の処理を軽減することができる。
サーバ212(312)は、複数の情報処理装置211(311)からのデータを収集し、複数の情報処理装置211(311)からのデータを用いて、認識器を生成する(認識器を再学習する)ように構成しても良い。多くのデータを扱い、認識器の学習を行うことで、より早い段階で、精度を向上させた認識器とすることができる。
上記した実施の形態においては、車両に車載されるカメラからの画像を処理する情報処理装置を例に挙げて説明したが、監視カメラからの画像を処理する情報処理装置などにも適用できる。
上述した実施の形態では、カメラで撮像された画像を処理する場合を例に挙げて説明したが、画像としては、ToF(Time-of-Flight)方式で取得された測距画像であっても良い。熱センサを用いて、熱センサから得られるデータを画像として扱い、人や車といった所定の物体が認識されるようにしても良い。本技術は、センサから得られるデータを用いて、所定の物体を認識する場合に、広く適用することができる。
本技術は、NICE(Network of Intelligent Camera Ecosystem)Allianceで規定されている仕様を適用した場合にも適用できる。
<記録媒体について>
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図50は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。コンピュータにおいて、CPU(Central Processing Unit)501、ROM(Read Only Memory)502、RAM(Random Access Memory)503は、バス504により相互に接続されている。バス504には、さらに、入出力インタフェース505が接続されている。入出力インタフェース505には、入力部506、出力部507、記憶部508、通信部509、及びドライブ510が接続されている。
入力部506は、キーボード、マウス、マイクロフォンなどよりなる。出力部507は、ディスプレイ、スピーカなどよりなる。記憶部508は、ハードディスクや不揮発性のメモリなどよりなる。通信部509は、ネットワークインタフェースなどよりなる。ドライブ510は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア511を駆動する。
以上のように構成されるコンピュータでは、CPU501が、例えば、記憶部508に記憶されているプログラムを、入出力インタフェース505及びバス504を介して、RAM503にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU501)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア511に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブルメディア511をドライブ510に装着することにより、入出力インタフェース505を介して、記憶部508にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部509で受信し、記憶部508にインストールすることができる。その他、プログラムは、ROM502や記憶部508に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
なお、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
なお、本技術は以下のような構成も取ることができる。
(1)
入力データに対して認識処理を行う学習モデルが適用された認識器を用いた認識処理により認識された対象物を、時系列的に逆向きの方向にトラッキングし、
前記トラッキングの結果に基づいて生成されたデータを用いて、前記学習モデルを再学習する
学習モデルの生成方法。
(2)
前記データは、時系列的に逆向きの方向に、前記対象物をトラッキングし、トラッキングされた前記対象物にラベルを付与することで生成される
前記(1)に記載の学習モデルの生成方法。
(3)
第1の時刻に撮像されたフレームに対する認識処理による認識結果のうち、所定の基準を満たす認識結果を、前記トラッキングの対象とする前記対象物とし、
前記第1の時刻より前の時刻に撮像された複数枚のフレームに撮像されている前記対象物をトラッキングし、
前記トラッキングの結果、フレームに前記対象物が検出された場合、その対象物に、ラベルを付与する
前記(1)または(2)に記載の学習モデルの生成方法。
(4)
前記フレームのサイズに対する前記認識結果のサイズが、所定の割合以上の大きさで検出された前記認識結果を、前記所定の基準を満たす認識結果として前記対象物とする
前記(3)に記載の学習モデルの生成方法。
(5)
前記割合は、前記認識結果に付与されているラベルにより異なる
前記(4)に記載の学習モデルの生成方法。
(6)
前記フレームの辺から所定の距離以上離れた位置にある前記認識結果を、前記所定の基準を満たす認識結果として前記対象物とする
前記(3)乃至(5)のいずれかに記載の学習モデルの生成方法。
(7)
前記第1の時刻に撮像されたフレームを含め、前記第1の時刻から、前記第1の時刻より前の第2の時刻の間に撮像されたフレームを、前記トラッキングの対象とする
前記(3)乃至(6)のいずれかに記載の学習モデルの生成方法。
(8)
複数フレームにわたって検出されている前記認識結果を、前記所定の基準を満たす認識結果として前記対象物とする
前記(3)乃至(6)のいずれかに記載の学習モデルの生成方法。
(9)
前記第1の時刻から、前記第1の時刻より前の第2の時刻までに撮像されたフレームにおいて検出された前記認識結果を前記対象物とした場合、前記第2の時刻から、前記第2の時刻より前の第3の時刻までに撮像されたフレームを、前記トラッキングの対象とする
前記(3)乃至(6)、(8)のいずれかに記載の学習モデルの生成方法。
(10)
前記複数フレームは、車速により異なる枚数に設定される
前記(8)に記載の学習モデルの生成方法。
(11)
前記再学習された前記学習モデルを他の装置に送信する
前記(1)乃至(10)のいずれかに記載の学習モデルの生成方法。
(12)
前記学習モデルは、機械学習により学習されたものである
前記(1)乃至(11)のいずれかに記載の学習モデルの生成方法。
(13)
認識器を用いた認識処理により認識された対象物を、時系列的に逆向きの方向にトラッキングし、前記トラッキングの結果に基づいて生成された、前記認識器を再学習するための学習データに基づいて前記認識器の学習モデルを再学習する再学習部
を備える情報処理装置。
(14)
前記学習データは、トラッキングされた前記対象物にラベルを付与することで生成されたデータである
前記(13)に記載の情報処理装置。
(15)
所定の時刻に撮像されたフレームに対する認識処理による認識結果のうち、所定の基準を満たす認識結果を、前記トラッキングの対象とする前記対象物として抽出する
前記(13)または(14)に記載の情報処理装置。
(16)
再学習された前記学習モデルで、前記認識器を更新する
前記(13)乃至(14)のいずれかに記載の情報処理装置。
(17)
入力データに対して認識処理を行う学習モデルが適用された認識器を用いた認識処理を行う認識処理部と、
前記認識処理部により認識された認識結果のうち、所定の基準を満たす認識結果を抽出する抽出部と、
前記抽出部により抽出された前記認識結果を対象物とし、前記対象物を、時系列的に逆向きの方向にトラッキングする追跡部と、
前記追跡部によりトラッキングされた前記対象物にラベルを付与するラベル付与部と、
前記ラベル付与部により付与されたラベルを用いて、前記学習モデルを再学習する再学習部と、
前記再学習部で再学習された前記学習モデルで、前記認識処理部の前記認識器を更新する更新部と
を備える情報処理システム。
(18)
第1の装置と第2の装置から構成され、
前記第1の装置は、前記認識処理部と前記更新部を備え、
前記第2の装置は、前記抽出部、前記追跡部、前記ラベル付与部、および前記再学習部を備える
前記(17)に記載の情報処理システム。
(19)
前記第2の装置は、複数の前記第1の装置からのデータを受信し、複数のデータを用いて、前記認識器の再学習を行う
前記(18)に記載の情報処理システム。