(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0016】
以下、本発明の実施形態について図面を用いて説明する。なお、本発明の実施の形態は、下記の実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。
【0017】
[構成の説明]
学習システム1は、1又は複数の車載装置10と、無線通信回線網20を介して各車載装置10と通信を行う学習サーバ2とを有している(
図1参照)。
【0018】
車載装置10は、自車両周辺の歩行者や道路に描かれた白線等を認識する画像認識機能を有しており、カメラ11,記憶部12,車内LAN通信部13,制御部14,表示部15,操作部16,無線通信部17等を有する(
図2参照)。
【0019】
カメラ11は、CCDカメラや赤外線カメラ等として構成されており、自車両周辺を撮影する部位であり、撮影画像に基づき画像認識処理が行われる。なお、カメラ11に替えてレーダ等のセンサを備え、レーダ等を用いて歩行者等の認識処理を行うと共に、該認識処理について、後述する機械学習を行う構成としても良い。
【0020】
また、記憶部12は、記憶保持動作が不要なフラッシュメモリ等として構成されており、画像認識等に必要な各種情報(例えば、後述する機械学習により更新される、画像認識機能におけるパラメータやアルゴリズム等)が記憶されている。
【0021】
また、車内LAN通信部13は、車内LAN(図示無し)を介して他の装置と通信を行う。
また、制御部14は、CPU,ROM,RAM,I/O及びこれらを接続するバスライン等からなる周知のマイクロコンピュータを中心に構成され、ROMに記憶されたプログラムや、RAMにロードされたプログラム等に従い車載装置10を統括制御する。
【0022】
また、制御部14は、学習システム1において行われる、車載装置10の画像認識機能に関する機械学習における識別機能を有している(詳細は後述する)。
また、表示部15は、液晶ディスプレイ等として構成され、各種情報を表示する。
【0023】
また、操作部16は、キースイッチやタッチスイッチ等として構成され、各種操作を受け付ける。
また、無線通信部17は、図示しないアンテナ等により無線通信回線網20にアクセスし、学習サーバ2と通信を行う。
【0024】
なお、車載装置10は、無線通信部17を備えず、車内LANを介して通信可能な無線通信装置により無線通信回線網20にアクセスし、学習サーバ2と通信を行う構成としても良い。
【0025】
一方、学習サーバ2は、メイン学習サーバ30と、車載装置10が搭載された車両の走行地域(詳細は後述する)に対応して設けられた複数のサブ学習サーバ40等により構成されており、これらのサーバは、LANにより接続され、互いに通信可能となっている(
図3参照)。
【0026】
メイン学習サーバ30は、例えばPC等として構成されており、通信部31,記憶部32,制御部33,表示部34,操作部35等を備える(
図4参照)。
通信部31は、LANを介して無線通信回線網20にアクセスすると共に、他のサブ学習サーバ40と通信を行う部位であり、記憶部32は、HDD等といった記憶保持動作が不要なデバイスから構成されている。
【0027】
また、制御部33は、CPU,ROM,RAM,I/O及びこれらを接続するバスライン等からなる周知のコンピュータを中心に構成され、RAMにロードされたプログラム等に従い動作する。
【0028】
また、制御部33は、学習システム1において行われる、車載装置10の画像認識機能に関する機械学習における学習機能を有している(詳細は後述する)。
また、表示部34は、液晶ディスプレイ等として構成され、各種情報を表示する部位であり、操作部35は、キーボードやマウス等として構成され、各種操作を受け付ける部位である。
【0029】
なお、サブ学習サーバ40等は、メイン学習サーバ30と同様の構成を有しているため、説明を省略する。
[動作の説明]
次に、学習システム1の動作について説明する。学習システム1では、車載装置10及び学習サーバ2にて、車載装置10の画像認識機能についての機械学習を行うよう構成されている。車載装置10は該機械学習における識別機能を担当し、学習サーバ2は学習機能を担当する。
【0030】
すなわち、車載装置10は、画像認識処理を行うと、該画像認識処理に用いられたカメラ11による撮影画像データを学習データとし、学習サーバ2に送信する。
一方、学習サーバ2は、各車載装置10から受信した学習データに基づき、画像認識処理の認識精度を向上させるための学習処理を行い、画像認識処理におけるパラメータを更新するための更新データを生成し、各車載装置10に送信する。
【0031】
なお、該パラメータは、例えば、車載装置10での画像認識処理にて用いられるサポートベクタマシンやニューラルネットワークの重み付けのパラメータであっても良い。
そして、車載装置10は、学習サーバ2から受信した更新データにより、画像認識処理におけるパラメータを更新する。
【0032】
以下では、車載装置10及び学習サーバ2での処理について詳しく説明する。
(1)学習データ送信処理について
まず、車載装置10から学習サーバ2に対し、学習データ(画像認識処理に用いられたカメラ11による撮影画像データ)を送信する学習データ送信処理について、
図5に記載のフローチャートを用いて説明する。なお、本処理は、車載装置10での画像認識処理の実行時に開始される。
【0033】
S100では、制御部14は、予め定められた走行地域の中から自車両が現在走行している走行地域を特定すると共に、該走行地域を示す環境データを生成し、S105に処理を移行する。
【0034】
具体的には、制御部14は、例えば、車内LANを介して図示しないナビゲーション装置と通信を行って自車両の現在地を取得し、該現在地に基づき走行地域を特定しても良い。また、自車両による走行が予定される地域を示す情報を予め記憶部12に記憶させておき、該情報が示す地域を走行地域としても良い。
【0035】
S105では、制御部14は、自車両周辺の歩行者や道路に描かれた白線等を認識する画像認識処理を実行すると共に、画像認識処理の結果に基づき、各種処理を実行する。
ここで、画像認識処理では、各走行地域に対応するパラメータが設けられており、制御部14は、S100で特定した走行地域に対応するパラメータを記憶部12から読み出し、該パラメータとを用いて画像認識処理を実行する。
【0036】
続くS110では、制御部14は、画像認識処理に用いられたカメラ11による撮影画像データを学習データとすると共に、該学習データと環境データとを無線通信部17を介して学習サーバ2に送信し、本処理を終了する。
【0037】
(2)機械学習処理について
次に、学習サーバ2にて車載装置10から学習データを収集し、学習処理を行う機械学習処理について、
図6に記載のフローチャートを用いて説明する。なお、本処理は、学習サーバ2にて繰り返し実行される。
【0038】
S200では、学習サーバ2を構成するメイン学習サーバ30の制御部33は、車載装置10から学習データと環境データを受信し、これらを対応付けた状態で記憶部32に保存する。そして、保存した学習データ等の数が一定の水準に達すると、S205に処理を移行する。
【0039】
S205では、メイン学習サーバ30の制御部33は、S200にて収集された全ての学習データに基づき学習処理を行い、S210に処理を移行する。
なお、該学習処理においては、一例として教師なし学習を行うことが考えられ、オートエンコーダ等の手法を用いても良い。また、このほかにも、学習データに対してデータマイニング等を行うことも考えられる。
【0040】
S210では、メイン学習サーバ30の制御部33は、S200にて収集された全ての学習データを、各学習データに対応する環境データに基づき走行地域毎に分類し、同一の走行地域で生成された学習データのグループを生成する。
【0041】
そして、各グループに属する学習データを、該グループに係る走行地域に対応するサブ学習サーバ40に送信すると共に、全てのサブ学習サーバ40に対し、メイン学習サーバ30での学習結果を送信し、S215に処理を移行する。
【0042】
S215では、各サブ学習サーバ40の制御部は、メイン学習サーバ30での学習結果を初期値として受信した学習データに基づき学習処理(リファイン)を行い、自装置に対応する走行地域での画像認識処理におけるパラメータを生成し、S220に処理を移行する。
【0043】
なお、S215においては、S205と同様、教師なし学習やデータマイニング等を行うことが考えられる。
このほかにも、メイン学習サーバ30と各サブ学習サーバ40では、以下のようにして学習処理を行うことも考えられる。
【0044】
メイン学習サーバ30の制御部33は、車載装置10から収集した大量の学習データ(教師なしデータ)を用いて、教師なしフィーチャを学習する。フィーチャとは、教師なしデータを最も良く表すことができる表現(例えば、画像のピクセルの線形結合)である。そして、この結果を、メイン学習サーバ30での学習処理の結果として、サブ学習サーバ40に送信する。
【0045】
一方、サブ学習サーバ40では、対応する走行地域から収集された学習データから、比較的少数の教師ありデータを用意する。なお、教師ありデータの作成には人手が必要であり、該教師ありデータは、サブ学習サーバ40を操作するオペレータにより作成される。このため、大量の教師ありデータを用意することはできない。
【0046】
そして、サブ学習サーバ40の制御部は、対応する走行地域から収集された学習データと、教師ありデータの双方を使用して学習処理を行う。
すなわち、教師ありデータをフィーチャで処理し、その出力を用いて教師あり学習を行う。例えば、画像のピクセルをそのまま扱うのではなく、メイン学習サーバ30から送信された重みを使って線形結合を計算し(この例では線形結合の重みは固定値とする)、その結果を入力として別の教師あり学習アルゴリズム(例えばサポートベクターマシーン)を実行する。
【0047】
また、教師なしフィーチャを初期値として教師あり学習を行うことも考えられる。例えば、教師なし学習であるオートエンコーダをメイン学習サーバ30で学習して重みを求めておき、サブ学習サーバ40では、その重みを初期値としてバックプロパゲーションで微調整する。なお、この例では、線形結合の重みそのものを微調整して変更する。
【0048】
換言すれば、メイン学習サーバ30は、走行地域の区別無しに大量の学習データから学習処理を行い、画像認識処理における汎用的なパラメータを生成すると共に、そのパラメータをサブ学習サーバ40に送信する。そして、各サブ学習サーバ40は、対応する走行地域から収集された学習データを用いて、パラメータを微調整(リファイン)する。
【0049】
続くS220では、各サブ学習サーバ40の制御部は、メイン学習サーバ30に対しパラメータを送信する。そして、メイン学習サーバ30の制御部33は、各走行地域に対応するパラメータを更新データとすると共に、各車載装置10に対して更新データを送信し、本処理を終了する。
【0050】
(3)更新データ受信処理について
次に、車載装置10にて学習サーバ2から更新データを受信し、画像認識処理におけるパラメータを更新する更新データ受信処理について、
図7に記載のフローチャートを用いて説明する。なお、本処理は、車載装置10にて周期的なタイミングで実行される。
【0051】
S300では、車載装置10の制御部14は、学習サーバ2から更新データを受信する。そして、更新データを受信した場合には(S300:Yes)、S305に処理を移行すると共に、更新データを受信できなかった場合には(S300:No)、本処理を終了する。
【0052】
S305では、制御部14は、受信した更新データを記憶部12に保存することで、画像認識処理のパラメータを更新し、本処理を終了する。以後、制御部14は、新たに保存された更新データを構成するパラメータを用いて画像認識処理を行う。
【0053】
[効果]
本実施形態の学習システム1によれば、車載装置10では学習処理が行われず、学習サーバ2にて各車載装置10から提供された学習データに基づき学習処理が行われる。そして、学習サーバ2での学習処理により生成された更新データが各車載装置10に提供され、各車載装置10における処理の内容が更新される。
【0054】
このため、車載装置10は、自装置で学習処理を行うことなく画像認識機能の向上を図ることができる。
したがって、車載装置10のハードウェア性能を向上させること無く、出荷後に車載装置10の画像認識機能を向上させることができる。
【0055】
さらに、学習サーバ2には、多くの車載装置10から提供された学習データが蓄積されるため、短期間で効果的に機械学習を行うことができる。
また、例えば南国と雪国とでは、車両の走行環境等が大きく異なっており、画像認識処理にて用いられるパラメータの最適値が異なると考えられる。
【0056】
これに対し、本実施形態の学習システム1によれば、車載装置10から学習サーバ2に対し、学習データと共に走行地域を示す環境データが送信される。そして、メイン学習サーバ30にて、学習処理により汎用的なパラメータが生成され、サブ学習サーバ40では、走行地域毎に学習処理が行われ、該パラメータのリファインが行われる。
【0057】
このため、車両の走行地域毎に画像認識処理を最適化することができ、より一層、車載装置10の画像認識機能を向上させることができる。
[他の実施形態]
(1)本実施形態の学習システム1では、車載装置10での画像認識処理についての機械学習が行われるが、これに限らず、例えば音声認識処理等についての機械学習が行われても良い。
【0058】
また、学習サーバ2での機械学習処理では、学習データに基づき画像認識処理にて用いられるパラメータが更新されるが、これに限らず、学習データに基づき画像認識処理等におけるアルゴリズムを更新しても良い。
【0059】
このような場合であれば、学習サーバ2から車載装置10に対し、更新後のアルゴリズムを更新データとして送信し、更新データを受信した車載装置10は、以後、更新データをなすアルゴリズムを用いて画像認識処理等を行うことになる。
【0060】
このような場合であっても、同様の効果を得ることができる。
(2)また、本実施形態では、機械学習処理のS205,S215にて教師なし学習を行うことを例示したが、これに限らず、教師あり学習を行っても良い。
【0061】
なお、教師あり学習を行う場合、各学習データに対応する教師データ(例えば、画像認識処理により認識される白線の位置や、歩行者の有無等を示すラベル)を作成する必要がある。このような作業は、メイン学習サーバ30等を操作するオペレータにより行われる。
【0062】
このような場合であっても、同様の効果を得ることができる。
(3)また、本実施形態の学習システム1では、車載装置10から学習サーバ2に対し、学習データと共に走行地域を示す環境データが送信される。そして、メイン学習サーバ30にて、学習処理により汎用的なパラメータが生成され、サブ学習サーバ40では、走行地域毎に学習処理が行われ、該パラメータのリファインが行われる。
【0063】
しかしながら、これ以外にも、車載装置10は、例えば、天候や時間帯や季節等といった、自車両の走行環境を示す情報を環境データとして生成し、画像認識処理が実行された際の走行環境を示す環境データと学習データとを学習サーバ2に送信しても良い。
【0064】
そして、学習サーバ2では、このような環境データに基づき学習データを複数のグループに分類し、走行環境毎に学習処理を行っても良い。
また、このほかにも、車載装置10は、車両の種類や、機械学習の対象となる処理により学習データが生成された際の車両の状態(例えば、車速や舵角等)を示す情報を環境データとして生成しても良い。そして、該環境データと、該処理により生成された学習データとを学習サーバ2に送信しても良い。
【0065】
そして、学習サーバ2では、このような環境データに基づき学習データを複数のグループに分類し、車両の種類毎、或いは、車両の状態毎に学習処理を行っても良い。
このような場合であっても、同様の効果を得ることができる。
【0066】
(4)また、本実施形態の学習システム1では、学習サーバ2は、メイン学習サーバ30と、複数のサブ学習サーバ40とによる2段階の階層構造を有しているが、3段階以上の階層構造を有していても良い。
【0067】
すなわち、学習サーバ2が3段階の階層構造を有する場合であれば、メイン学習サーバ30の下位に複数の第1サブ学習サーバを設けると共に、各第1サブ学習サーバの下位に複数の第2サブ学習サーバを設けることが考えられる。
【0068】
また、例えば、各走行地域を複数のエリアに分類し、各走行地域をいずれかの第1サブ学習サーバに対応させると共に、各走行地域を構成する各エリアを、該走行地域に対応する第1サブ学習サーバの下位の第2サブ学習サーバに対応させることが考えられる。
【0069】
そして、メイン学習サーバ30では、本実施形態と同様、全ての学習データに基づき学習処理を行った後、学習データを走行地域毎に分類し、各第1サブ学習サーバに対し、学習結果と、対応する走行地域にて得られた学習データを送信する。
【0070】
また、各第1サブ学習サーバでは、メイン学習サーバ30での学習結果を初期値とし、自装置に対応する走行地域で得られた学習データに基づき学習処理(リファイン)を行う。さらに、該学習データを、自装置に対応する走行地域を構成するエリア毎に分類し、自装置の下位の各下位側サブ学習サーバに対し、学習結果と、対応するエリアにて得られた学習データを送信する。
【0071】
また、各第2サブ学習サーバでは、自装置の上位の第1サブ学習サーバでの学習結果を初期値とし、自装置に対応するエリアで得られた学習データに基づき学習処理(リファイン)を行い、パラメータを生成する。そして、該パラメータをメイン学習サーバに送信する。
【0072】
そして、メイン学習サーバ30では、各エリアに対応するパラメータを更新データとすると共に、各車載装置10に対して更新データを送信し、車載装置10では、自装置が走行しているエリアに対応するパラメータを用いて画像認識処理を実行する。
【0073】
このような構成によれば、車載装置10は、自車両の走行場所に応じてより適切な画像認識処理を行うことが可能となる。
(5)また、本実施形態では、学習サーバ2は、メイン学習サーバ30と、複数のサブ学習サーバ40から構成されているが、学習サーバ2を1台のサーバにより構成し、該サーバにより同様の機械学習処理を実行しても良い。このような場合であっても、同様の効果を得ることができる。
【0074】
(6)また、本実施形態では、各走行地域に対応してサブ学習サーバ40が設けられている。しかしながら、例えば、積雪量の多い複数の走行地域や、気温の高い複数の走行地域を1つのエリアとするといった具合に、属性の共通する複数の走行地域を1つのエリアにまとめ、各エリアに対応してサブ学習サーバ40を設けても良い。
【0075】
そして、メイン学習サーバ30にて、学習処理により汎用的なパラメータを生成し、サブ学習サーバ40は、対応するエリアについての学習処理を行い、該パラメータのリファインを行っても良い。
【0076】
このような場合であっても、同様の効果を得ることができる。
(7)また、本実施形態では、メイン学習サーバ30は、各車載装置10から収集した学習データに基づき学習処理を行った後、学習データを走行地域毎に分類し、各サブ学習サーバ40に対し、対応する走行地域に分類された学習データを送信する構成となっている。
【0077】
しかしながら、メイン学習サーバ30は、各車載装置10から学習データを受信した時点で該学習データを走行地域毎に分類しても良い。そして、該学習データを対応するサブ学習サーバ40に送信し、各走行地域から収集した学習データを、対応するサブ学習サーバ40に蓄積しておく構成としても良い。
【0078】
さらに、メイン学習サーバ30は、収集された学習データの数が一定の水準に達すると、各サブ学習サーバ40に蓄積された学習データを収集して学習処理を行い、汎用的なパラメータを生成しても良い。一方、サブ学習サーバ40は、先にメイン学習サーバ30から受信した学習データにより、該パラメータのリファインを行っても良い。
【0079】
このような場合であっても、同様の効果を得ることができる。
[特許請求の範囲との対応]
上記実施形態の説明で用いた用語と、特許請求の範囲の記載に用いた用語との対応を示す。
【0080】
学習データ送信処理のS100が環境データ生成手段の一例に、S105が実行手段の一例に、S110が学習データ提供手段の一例に相当する。
また、機械学習処理のS200が学習データ取得手段の一例に、S205,S215が学習手段の一例に、S210が分類手段の一例に、S220が更新データ提供手段の一例に相当する。
【0081】
また、更新データ受信処理のS300が更新データ取得手段の一例に、S305が更新手段の一例に相当する。