【解決手段】サーバ装置100は、車両3の車室内を撮影した撮影画像から、車両3に搭乗した乗員の顔画像を検出する検出部131と、複数の顔画像が検出された場合に、検出された複数の顔画像の面積を判定しきい値と比較して、複数の顔画像の各々に対応する乗員の着座位置の前後を判定する判定部133と、を備え、判定部133は、撮影画像を、車両3の長手方向に平行な方向で、運転席を含む第1領域31と、助手席を含む第2領域33とに分割し、第1領域31又は第2領域33で複数の顔画像が検出された場合に、複数の顔画像の面積を判定しきい値と比較して、複数の顔画像の各々に対応する乗員の着座位置の前後を判定する。
前記設定部は、前記判定しきい値として、前記車両の第1列のシートに着座した乗員の顔画像と、第2列のシートに着座した乗員の顔画像とを判定する第1判定しきい値と、前記第2列のシートに着座した乗員の顔画像と、第3列のシートに着座した乗員の顔画像とを判定する第2判定しきい値とを設定し、
前記記憶部は、1の前記撮影画像から検出された3つの顔画像を、前記顔画像の面積の大小関係に基づき、前記前列である第1列と、前記後列である第2列及び第3列に分類して記憶し、
前記設定部は、
前記第1列に分類された顔画像の面積の平均値及び標準偏差に基づき、前記第1列に分類された顔画像の面積の第1正規分布を生成し、
前記第2列に分類された顔画像の面積の平均値及び標準偏差に基づき、前記第2列に分類された顔画像の面積の第2正規分布を生成し、
前記第3列に分類された顔画像の面積の平均値及び標準偏差に基づき、前記第3列に分類された顔画像の面積の第3正規分布を生成し、
生成した前記第1正規分布、前記第2正規分布及び前記第3正規分布に基づいて前記第1判定しきい値と前記第2判定しきい値とを設定する、ことを特徴とする請求項3記載の情報処理装置。
【発明を実施するための形態】
【0009】
図1は、本発明を適用した情報通信システム1のシステム構成を示す図である。
情報通信システム1は、車両3に搭載された車載装置10と、車載装置10にサービスを提供するサーバ装置100とを備え、これらの装置が通信ネットワーク網5を介して相互にデータ通信可能な構成である。サーバ装置100は、本発明の情報処理装置に相当する。通信ネットワーク網5は、例えば、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)専用通信回線、基地局等を含む移動体通信網等によって構築される。
【0010】
図2は、車載装置10の構成を示す図である。
車載装置10は、無線通信部11、カメラ13、操作部15、電装装置17及び制御部20を備える。車載装置10は、車両3の車室内を撮影したカメラ13の撮影画像をサーバ装置100に送信し、サーバ装置100から受信した情報に基づいて電装装置17を制御する。
【0011】
無線通信部11は、制御部20の制御に従ってサーバ装置100と通信を行い、各種のデータを送受信する。
【0012】
図3は、車両3のシート配列の一例を示す図である。
ここで車両3が備えるシートのシート配列の一例について説明する。本実施形態の車両3は、第1列51、第2列53及び第3列55の3列からなる3列シートを備える。第1列51は、シート51a及びシート51bの2つのシートを有する。第2列53は、シート53a、シート53b及びシート53cの3つのシートを有する。第3列55は、シート55a及びシート55bの2つのシートを有する。本実施形態において、第1列51は、本発明の前列に相当する。また、第2列53は、本発明の後列に相当する。
【0013】
カメラ13は、車両3の車室内を撮影する。本実施形態のカメラ13は、第1列51及び第2列53に着座した乗員の顔を撮影可能なように向き、画角、設置位置等が設定されている。カメラ13は、例えば、ダッシュボード、ルームミラー、天井等に設置可能である。本実施形態では、車室内に1つのカメラ13を設置した場合について説明するが、複数のカメラ13を車室内に設置してもよい。カメラ13は、制御部20の制御に従って車室内を撮影し、生成した撮影画像を制御部20に出力する。
【0014】
操作部15は、乗員の操作を受け付ける受付部として機能する。操作部15は、スイッチやボタン等のハードウェアを備え、操作を受け付けたハードウェアに対応した操作信号を制御部20に出力する。
【0015】
電装装置17は、車両3に搭載された電子装置であり、例えば、車室内の空調を制御する空気調和装置や、オーディオ装置、パワーシート等が含まれる。
電装装置17は、制御部20の制御に従って動作する。例えば、空気調和装置は、制御部20により設定された温度及び風量で動作し、オーディオ装置は、制御部20により選択された音楽を再生する。また、パワーシートは、シート位置や、背もたれの角度を、制御部20の制御に従って変更する。
【0016】
制御部20は、記憶部21と、プロセッサ23とを備えるコンピュータである。
記憶部21は、ROM(Read Only Memory)、RAM(Random access memory)、フラッシュメモリ等のメモリにより構成される。プロセッサ23は、CPU(Central Processing Unit)や、MPU(Micro-processing unit)により構成される。
【0017】
記憶部21は、プロセッサ23が実行するコンピュータプログラムと、車載装置10を識別する識別情報である車載装置IDと、車両3を運転する乗員のユーザIDとを記憶する。車両3を複数の乗員が運転する場合、記憶部21は、複数のユーザIDを記憶する。
【0018】
制御部20は、予め設定された条件が成立した場合に、カメラ13に撮影を実行させ、車室内を撮影した撮影画像を取得する。制御部20は、取得した撮影画像を含む識別要求を、通信ネットワーク網5を介してサーバ装置100に送信する。識別要求は、撮影画像に撮影された乗員を識別し、識別した乗員に関する情報を取得する要求である。また、識別要求には、撮影画像の他に、車載装置IDが含まれる。また、予め設定された条件には、例えば、操作部15が操作を受け付けた場合、ドアロックが解除され、ドアロックの解除から所定時間を経過した場合等が挙げられる。また、車両3のシートに乗員の着座を検出するセンサを設け、このセンサにより乗員がシートに着座したことが検出された場合を予め設定された条件に含めてもよい。
【0019】
図4は、サーバ装置100の構成を示す図である。
サーバ装置100は、通信部101と、サーバ制御部110とを備え、車載装置10に対してサービスを提供する。サーバ装置100が提供するサービスには、例えば、車載装置10から撮影画像を受信し、受信した撮影画像に撮影された乗員を特定するサービスが含まれる。また、サービスには、特定した乗員の好みの音楽や、シート位置や、背もたれの角度、空気調和装置の温度等を車載装置10に通知するサービスが含まれる。
【0020】
通信部101は、通信ネットワーク網5に接続され、サーバ制御部110の制御に従い、車載装置10と相互にデータ通信を行う。
【0021】
サーバ制御部110は、記憶部120と、プロセッサ130とを備えるコンピュータである。記憶部120は、ROMやRAM等のメモリと、HDD(Hard Disk Drive)やSSD(Solid State Drive)等のストレージ装置とを備える。
【0022】
記憶部120は、プロセッサ130が実行するコンピュータプログラムの他に、ユーザ情報テーブル121、顔画像テーブル123及び補正係数125を記憶する。
【0023】
図5は、ユーザ情報テーブル121の構成を示す図である。
ユーザ情報テーブル121は、車両3を運転する運転者の個人識別情報と、運転者の顔画像である登録顔画像とを、車両3を識別する車載装置IDに対応づけて登録したテーブルである。個人識別情報と登録顔画像とを総称してユーザ情報という。個人識別情報には、ユーザIDと、パスワードとが含まれる。
本システムの利用者は、例えば、スマートフォン等の携帯端末を利用して、個人識別情報であるユーザIDやパスワード、携帯端末で撮影した顔画像をサーバ装置100に送信して登録する。
【0024】
図6は、顔画像テーブル123の構成を示す図である。
顔画像テーブル123には、カメラ13の撮影画像から検出された顔画像が、このカメラ13を搭載した車両3の車載装置IDに対応づけて登録されている。顔画像テーブル123には、顔画像として第1列顔画像と、第2列顔画像とが登録される。サーバ制御部110は、カメラ13の撮影画像を第1領域31と第2領域33との2つの領域に分割する。サーバ制御部110は、車両3の長手方向に平行な方向で、撮影画像を第1領域31と第2領域33とに分割する。第1領域31は、
図3に示すように、運転席を含む領域であり、第2領域33は、
図3に示すように、助手席を含む領域である。サーバ制御部110は、第1領域31及び第2領域33で顔画像を検出し、1つの領域に2つの顔画像が検出された場合、これらの顔画像を顔画像テーブル123に登録する。サーバ制御部110は、2つ検出した顔画像のうち、面積が大きい顔画像を第1列顔画像に分類して顔画像テーブル123に登録し、面積が小さい顔画像を第2列顔画像に分類して顔画像テーブル123に登録する。
また、顔画像テーブル123には、登録された顔画像の面積を示す画素数が、顔画像に対応づけて登録される。
【0025】
補正係数125は、撮影画像に撮影された顔画像の面積を補正する係数である。
記憶部120は、撮影画像に撮影された乗員の性別や、年齢、撮影された顔の向きに応じた補正係数125をそれぞれ記憶する。
撮影された顔画像が女性の顔であった場合に、顔画像の面積を増加させる補正係数125として、例えば、「1.2」が用意されている。サーバ制御部110は、検出した顔画像に含まれる毛髪の長さに基づいて乗員の性別を判定してもよいし、顔画像から、左目端点、右目端点、鼻頂点、口左端、口右端、顎の先等の特徴点を検出して乗員の性別を判定してもよい。
【0026】
また、撮影された顔画像の年齢が設定値以下(例えば、10歳以下)であると判定される場合に、顔画像の面積を増加させる補正係数125として、例えば、「1.5」が用意されている。サーバ制御部110は、検出した顔画像のサイズ(画素数)が所定値よりも小さい場合、検出した顔画像の乗員の年齢が設定値以下であると判定する。
【0027】
また、撮影された顔画像の向き、例えば、ロール角、ピッチ角及びヨー角の少なくとも1つが設定角度以上である場合の補正係数125が用意されている。例えば、サーバ制御部110は、検出した顔画像から、左目端点、右目端点、鼻頂点、口左端、口右端、顎の先等の特徴点を検出し、検出した特徴点の位置関係に基づいてロール角、ピッチ角及びヨー角を判定してもよい。
【0028】
プロセッサ130は、CPUやMPUにより構成される。サーバ制御部110は、記憶部120が記憶するコンピュータプログラムをプロセッサ130が実行することで各種の機能的構成を実現する。サーバ制御部110は、機能的構成として検出部131、判定部133及び設定部135を備える。
【0029】
検出部131は、車載装置10から識別要求を受信すると、受信した識別要求に含まれる撮影画像を取得する。検出部131は、取得した撮影画像を、第1領域31と第2領域33との2つの領域に分割する。検出部131は、第1領域31と、第2領域33とのそれぞれの領域に対して顔画像の検出を行う。
【0030】
顔画像の検出方法は任意であり、例えば、検出部131は、撮像画像に含まれる目、眉毛、鼻、口等の特徴点を検出することで顔画像を検出してもよい。また、検出部131は、予め用意されたテンプレート画像を撮影画像上で動かし、テンプレート画像との一致度がしきい値以上の領域を顔画像として検出するテンプレートマッチングを行ってもよい。
【0031】
検出部131は、撮影画像から、検出した乗員の顔を含む所定範囲の画像を、顔画像として抽出する。本実施形態では、検出部131は、乗員の顔を含む矩形の画像を顔画像として抽出する。検出部131は、抽出した顔画像を判定部133に出力する。
【0032】
判定部133は、検出部131により顔画像が検出された場合、検出された顔画像の乗員が第1列51のシートに着座しているのか、第2列53のシートに着座しているのかを判定する。判定部133は、設定部135が設定した判定しきい値を用いて、顔画像の乗員が第1列51のシートに着座しているのか、第2列53のシートに着座しているのかを判定する。
【0033】
まず、判定部133は、検出部131が検出した顔画像の面積を算出する。具体的には、判定部133は、顔画像の画素数を計数し、計数結果の画素数を顔画像の面積として使用する。
【0034】
次に、判定部133は、算出した顔画像の乗員の性別や、年齢、顔の向き等を判定する。判定部133は、判定した顔画像の乗員が女性である場合や、年齢が設定値以下である場合、顔の向きを示すロール角、ピッチ角及びヨー角の少なくとも1つが設定角度以上である場合、対応する補正係数125により顔画像の面積を示す画素数を補正する。
【0035】
次に、判定部133は、算出した顔画像の面積を判定しきい値と比較する。判定部133は、顔画像の面積を示す画素数が、判定しきい値以下である場合、顔画像に対応する乗員は、第3列55に着座していると判定する。また、判定部133は、顔画像の面積を示す画素数が、判定しきい値よりも大きい場合、顔画像に対応する乗員は、第1列51に着座していると判定する。
【0036】
また、判定部133は、設定部135が判定しきい値を生成していない場合、学習中である旨を車載装置10に通知する。学習とは、顔画像の面積から、乗員が第2列53に着座しているのか、第3列55に着座しているのかを判定する判定しきい値を生成するための学習を意味する。
【0037】
設定部135は、判定しきい値を設定する。判定しきい値は、撮影画像から検出した顔画像の乗員が、第1列51のシートに着座しているのか、第2列53のシートに着座しているのかを、顔画像の面積に基づいて判定するしきい値である。
【0038】
第1列51に着座した乗員の顔画像の面積と、第2列53に着座した乗員の顔画像の面積とは、カメラ13からの距離の二乗に反比例する。カメラ13と、乗員との距離は、カメラ13の取り付け位置や車種によって異なり、カメラ13の撮影画像から乗員までの距離を推測するためには、事前のキャリブレーションが必要になり、ユーザには手間のかかる作業となる。
このため、本実施形態では、設定部135が、以下に示す手順により、第1列51に着座した乗員の顔画像と、第2列53に着座した乗員の顔画像とを判別する判定しきい値を設定する。そして、判定部133が、設定部135が設定した判定しきい値を用いて、撮影画像から検出した顔画像の乗員が第1列51に着座しているのか、第2列53に着座しているのかを判定する。
【0039】
まず、設定部135は、識別要求に含まれる撮影画像に2つの顔画像が検出された場合、検出された顔画像の面積を示す画素数をそれぞれ求める。設定部135は、2つの顔画像の画素数を比較し、画素数が多い顔画像と、この顔画像の画素数とを第1列顔画像に分類して顔画像テーブル123に登録する。設定部135は、識別要求に含まれる車載装置IDに対応づけて顔画像と、画素数とを顔画像テーブル123に登録する。
また、設定部135は、2つの顔画像のうち、画素数が少ない顔画像と、この顔画像の画素数とを第2列顔画像に分類して顔画像テーブル123に登録する。設定部135は、識別要求に含まれる車載装置IDに対応づけて顔画像と、画素数とを顔画像テーブル123に登録する。
【0040】
次に、設定部135は、判定しきい値を設定する。設定部135は、第1列顔画像の面積の分布と、第2列顔画像の面積の分布とに基づいて判定しきい値を設定する。
まず、設定部135は、識別要求から取得した車載装置IDに対応づけて顔画像テーブル123に登録された第1列顔画像の画素数の平均値と、標準偏差とを求める。同様に、設定部135は、識別要求から取得した車載装置IDに対応づけて顔画像テーブル123に登録された第2列顔画像の画素数の平均値と、標準偏差とを求める。
【0041】
設定部135は、生成した第1列顔画像の画素数の平均値と、標準偏差とに基づいて確率密度関数を算出する。設定部135は、算出した確率密度関数に基づいて、第1列顔画像の面積の正規分布を示す曲線71を、記憶部120が備えるメモリに展開する。第1列顔画像の面積の正規分布は、本発明の第1正規分布に対応する。
また、設定部135は、生成した第2列顔画像の画素数の平均値と、標準偏差とに基づいて確率密度関数を算出する。設定部135は、算出した確率密度関数に基づいて、第2列顔画像の面積の正規分布を示す曲線73を、記憶部120が備えるメモリに展開する。第2列顔画像の面積の正規分布は、本発明の第2正規分布に対応する。
【0042】
図7は、顔画像の面積の正規分布を示す図である。
図7において、破線で示す曲線71は、第1列51に分類された顔画像の面積の正規分布を示す。また、
図7において実線で示す曲線73は、第2列53に分類された顔画像の面積の正規分布を示す。
図7において、縦軸は乗員数を示し、横軸は顔画像の画素数(ピクセル)を示す。
【0043】
図8は、第1列51に分類された顔画像の面積の正規分布と、第2列53に分類された顔画像の面積の正規分布との和の曲線75を示す図である。
図8に示す曲線75は、第1列51に分類された顔画像の面積の正規分布と、第2列53に分類された顔画像の面積の正規分布との和を示す。すなわち、
図7に示す曲線71と曲線73との和を示す。
【0044】
設定部135は、2つの正規分布の和を求めると、求めた正規分布の和を示す曲線75において、乗員数が極小値となる画素数を判定する。設定部135は、乗員数が極小値を取る画素数を検出できなかった場合、エラーを出力する。また、設定部135は、乗員数が極小値を取る画素数を検出した場合、この画素数を判定しきい値に設定する。
【0045】
次に、設定部135は、設定した判定しきい値に対する信頼度C(T)を算出する。
設定部135は、下記に示す式(1)により信頼度C(T)を算出する。
式(1)において、Tは判定しきい値を示す。μ
Fは、第1列51における顔画像の面積の平均値を示す。σ
Fは、第1列51における顔画像の面積の標準偏差を示す。μ
Rは、第2列53における顔画像の平均値を示す。σ
Rは、第2列53における顔画像の標準偏差を示す。また、f(x)は、第1列51に分類された顔画像の面積の正規分布と、第2列53に分類された顔画像の面積の正規分布との和を示す確率密度関数であり、xは画素数を示す。
【0047】
設定部135は、生成したC(T)の値を、予め設定した基準値と比較し、C(T)の値が基準値よりも小さい場合、判定しきい値に基づいて第1列51に着座した乗員の顔画像と、第2列53に着座した乗員の顔画像とを区別することはできないと判定する。この場合、設定部135は、学習中である旨を車載装置10に通知する。
【0048】
図9は、サーバ装置100の動作を示すフローチャートである。
図9に示すフローチャートを参照しながらサーバ装置100の動作について説明する。
まず、サーバ制御部110は、車載装置10から識別要求を受信したか否かを判定する(ステップS1)。サーバ制御部110は、識別要求を受信していない場合(ステップS1/NO)、処理を開始せずに識別要求を受信するまで待機する。
【0049】
また、サーバ制御部110は、識別要求を受信した場合(ステップS1/YES)、識別要求に含まれる車載装置IDを取得する(ステップS2)。サーバ制御部110は、取得した車載装置IDに対応づけて記憶部120に記憶させた信頼度を取得し、取得した信頼度の数値が基準値よりも大きいか否かを判定する(ステップS3)。
【0050】
サーバ制御部110は、取得した信頼度の数値が基準値よりも大きい場合(ステップS3/YES)、識別要求に含まれる撮影画像を取得し、取得した撮影画像を解析して顔画像を検出する(ステップS4)。ステップS4は、本発明の検出手順及び検出ステップに相当する。サーバ制御部110は、撮影画像から顔画像を検出できなかった場合(ステップS4/NO)、識別要求を受信した車載装置10に、撮影画像の再送を要求する(ステップS5)。
【0051】
また、サーバ制御部110は、撮影画像から顔画像を検出した場合(ステップS4/YES)、検出した顔画像の面積である画素数を算出する(ステップS6)。ここで、サーバ制御部110は、撮影画像から複数の顔画像を検出した場合、検出した複数の顔画像の面積をそれぞれ算出する。
【0052】
次に、サーバ制御部110は、撮影画像の第1領域31又は第2領域33から2つの顔画像が検出されたか否かを判定する(ステップS7)。サーバ制御部110は、車室の運転席側の領域である第1領域31、又は助手席側の座席である第2領域33から2つの2つの顔画像が検出されたか否かを判定する。サーバ制御部110は、撮影画像の第1領域31又は第2領域33から2つの顔画像が検出されなかった場合(ステップS7/NO)、ステップS4で検出した顔画像から特徴量を抽出し、抽出した特徴量に基づいて乗員を特定する(ステップS10)。サーバ制御部110は、特定した乗員のユーザIDを車載装置10に通知する(ステップS11)。
【0053】
また、サーバ制御部110は、撮影画像の第1領域31又は第2領域33から2つの顔画像が検出された場合(ステップS7/YES)、検出された複数の顔画像の面積を判定しきい値とそれぞれ比較し、顔画像の前後を判定する(ステップS8)。すなわち、サーバ制御部110は、面積が判定しきい値以下の顔画像を、第2列53に着座した乗員の顔画像と判定する。また、サーバ制御部110は、面積が判定しきい値よりも大きい顔画像を、第1列51に着座した乗員の顔画像と判定する。ステップS8は、本発明の判定手順及び判定ステップに相当する。
【0054】
次に、サーバ制御部110は、顔画像の前後の判定に成功したか否かを判定する(ステップS9)。サーバ制御部110は、例えば、2つの顔画像を第1列51に着座した乗員の顔画像であると判定した場合や、2つの顔画像を第2列53に着座した乗員の顔画像であると判定した場合には、判定失敗と判定する(ステップS9/NO)。また、サーバ制御部110は、2つの顔画像を、第1列51に着座した乗員の顔画像と、第2列53に着座した乗員の顔画像とに分離した場合、判定成功と判定する(ステップS9/YES)。
【0055】
サーバ制御部110は、判定成功と判定した場合、それぞれの顔画像から特徴量を抽出し、抽出した特徴量に基づいて乗員を特定する(ステップS10)。サーバ制御部110は、特定した乗員のユーザIDと、このユーザIDの乗員が第1列51のシートに着座しているのか、第2列53のシートに着座しているのかを示す情報とを車載装置10に通知する(ステップS11)。また、サーバ制御部110は、判定失敗と判定した場合(ステップS9/NO)、ステップS15の処理に移行し、判定しきい値を再設定する。ステップS15以降の処理については後述する。
【0056】
また、サーバ制御部110は、ステップS3の判定において、信頼度が基準値以下であると判定した場合(ステップS3/NO)、識別要求に含まれる撮影画像を取得し、取得した撮影画像から顔画像を検出する(ステップS12)。サーバ制御部110は、撮影画像から顔画像を検出すると、撮影画像の第1領域31又は第2領域33から2つの顔画像が検出されたか否かを判定する(ステップS13)。
【0057】
サーバ制御部110は、撮影画像の第1領域31又は第2領域33から2つの顔画像が検出されなかった場合(ステップS13/NO)、判定しきい値の学習中である旨を車載装置10に通知し(ステップS20)、この処理フローを終了する。
【0058】
また、サーバ制御部110は、撮影画像の第1領域31又は第2領域33から2つの顔画像を検出した場合(ステップS13/YES)、検出した顔画像の面積である画素数をそれぞれ算出する(ステップS14)。サーバ制御部110は、顔画像の面積をそれぞれ算出すると、算出した顔画像の面積や、顔画像テーブル123に登録された顔画像等に基づいて判定しきい値を設定する(ステップS15)。ステップS15の詳細については、
図10に示すフローチャートを参照しながら説明する。
【0059】
次に、サーバ制御部110は、ステップS15の処理により判定しきい値を設定することができず、ステップS15の処理の結果がエラー出力となったか否かを判定する(ステップS16)。サーバ制御部110は、ステップS15の処理の結果がエラー出力である場合(ステップS16/YES)、判定しきい値の学習中である旨を車載装置10に通知し(ステップS20)、この処理フローを終了する。
【0060】
また、サーバ制御部110は、ステップS15の処理の結果がエラー出力ではない場合(ステップS16/NO)、すなわち、判定しきい値を設定することができた場合、ステップS8の判定に用いる判定しきい値を、設定した判定しきい値に更新する(ステップS17)。その後、サーバ制御部110は、上述した式(1)により信頼度を算出し(ステップS18)、算出した信頼度を車載装置IDに対応づけて記憶部120に記憶させる(ステップS19)。その後、サーバ制御部110は、判定しきい値の学習中である旨を車載装置10に通知し(ステップS20)、この処理フローを終了する。
【0061】
図10は、
図9のステップS15の詳細な手順を示すフローチャートである。
図10に示すフローチャートを参照しながらステップS15の詳細な手順について説明する。
まず、サーバ制御部110は、ステップS2で取得した車載装置IDに対応づけて顔画像テーブル123に登録した顔画像、及び顔画像の面積を示す画素数を取得する(ステップS151)。
【0062】
サーバ制御部110は、第1列51に分類された顔画像の面積の平均値、及び標準偏差を算出し、第2列53に分類された顔画像の面積の平均値、及び標準偏差を算出する(ステップS152)。
【0063】
次に、サーバ制御部110は、算出した顔画像の面積の平均値及び標準偏差に基づき、確率密度関数を、第1列51及び第2列53でそれぞれ算出する(ステップS153)。サーバ制御部110は、算出した確率密度関数に基づいて、第1列51に分類された顔画像の面積の正規分布を示す曲線71と、第2列53に分類された顔画像の面積の正規分布を示す曲線73とを記憶部120のメモリにそれぞれ展開する(ステップS154)。
【0064】
次に、サーバ制御部110は、第1列51に分類された顔画像の面積の正規分布を示す曲線71と、第2列53に分類された顔画像の面積の正規分布を示す曲線73との和を求め、求めた和を示す曲線75を記憶部120のメモリに展開する(ステップS155)。
サーバ制御部110は、正規分布を示す曲線71及び曲線73の和を示す曲線75を生成すると、この曲線75において、乗員数が極小値となる画素数を検出する(ステップS156)。
【0065】
次に、サーバ制御部110は、乗員数が極小値となる画素数が検出できたか否かを判定する(ステップS157)。サーバ制御部110は、乗員数が極小値となる画素数を検出できなかった場合(ステップS157/NO)、エラーを出力する(ステップS159)。また、サーバ制御部110は、乗員数が極小値となる画素数を検出できた場合(ステップS157/YES)、検出した画素数を判定しきい値に設定する(ステップS158)。
【0066】
上述した説明では、第1列51に着座した乗員の顔画像と、第2列53に着座した乗員の顔画像との前後を判定する場合について説明したが、第2列53に着座した乗員の顔画像と、第3列55に着座した乗員の顔画像とを対象として、顔画像の前後を判定してもよい。この場合、第2列53は、本発明の前列に相当する。また、第3列55は、本発明の後列に相当する。
【0067】
以上説明したように本実施形態のサーバ装置100は、検出部131と、判定部133とを備える。
検出部131は、車両3の車室内を撮影した撮影画像から、車両に搭乗した乗員の顔画像を検出する。
判定部133は、検出部131により複数の顔画像が検出された場合に、検出された複数の顔画像の面積を判定しきい値と比較して、複数の顔画像の各々に対応する乗員の着座位置の前後を判定する。
【0068】
また、判定部133は、撮影画像を、車両3の長手方向に平行な方向で、運転席を含む第1領域31と、助手席を含む第2領域33とに分割する。判定部133は、第1領域31又は第2領域33で複数の顔画像が検出された場合に、複数の顔画像の面積を判定しきい値と比較して、複数の顔画像の各々に対応する乗員の着座位置の前後を判定する。
従って、検出された複数の顔画像の面積を判定しきい値と比較することで、検出された顔画像に対応する乗員の着座位置が前列であるのか、後列であるのかを判定することができる。このため、乗員が着座した位置の前後関係の判定精度を向上させることができる。
【0069】
また、サーバ装置100は、判定しきい値を設定する設定部135を備える。設定部135は、検出された複数の顔画像の面積と、判定しきい値との比較の結果、複数の顔画像の各々に対応する乗員の着座位置の前後を判定することができない場合に、判定しきい値を再設定する。
従って、乗員の着座位置の前後を判定することができない場合に、判定しきい値を再設定することで、乗員の着座位置の前後の判定精度を高めることができる。
【0070】
また、サーバ装置100は、複数の撮影画像から検出された複数の顔画像を記憶する記憶部120を備える。
サーバ装置100は、1の撮影画像から検出された複数の顔画像を、複数の顔画像の面積の大小関係に基づいて、前列と後列とに分類して記憶部120に記憶させる。
設定部135は、前列に分類された顔画像の面積の分布と、後列に分類された顔画像の面積の分布とに基づいて判定しきい値を設定する。
従って、顔画像の面積を判定しきい値と比較することにより、検出された顔画像に対応する乗員の着座位置が前列であるのか、後列であるのかを判定する精度を高めることができる。
【0071】
設定部135は、前列に分類された顔画像の面積の平均値及び標準偏差に基づき、前列に分類された顔画像の面積の第1正規分布を生成し、後列に分類された顔画像の面積の平均値及び標準偏差に基づき、後列に分類された顔画像の面積の第2正規分布を生成する。
また、設定部135は、生成した第1正規分布及び第2正規分布に基づいて判定しきい値を生成する。
従って、精度の高い判定しきい値を生成することができ、乗員の着座位置の前後の判定精度をさらに高めることができる。
【0072】
[変形例1]
変形例1では、判定しきい値を上述した実施形態とは異なる方法により算出する。変形例1において、サーバ制御部110は、撮影画像から2つの顔画像を検出すると、検出した2つの顔画像の面積をそれぞれ求め、求めた顔画像の面積を顔画像テーブル123に登録する。このとき、サーバ制御部110は、検出された2つの顔画像を第1列51と第2列53とに分類することなく顔画像テーブル123に登録する。そして、サーバ制御部110は、登録された顔画像の面積の平均値を求め、求めた顔画像の面積の平均値を判定しきい値に設定する。この変形例1では、判定しきい値の算出が容易になり、判定しきい値を設定する時間を短縮することができる。
【0073】
[変形例2]
変形例2は、撮影画像に撮影された顔画像が、第1列51、第2列53及び第3列55のいずれに着座した乗員の顔画像であるかを判定する実施例である。すなわち、この変形例では、サーバ制御部110は、第1列51に着座した乗員の顔画像と、第2列53に着座した乗員との顔画像とを判定する第1判定しきい値と、第2列53に着座した乗員の顔画像と、第3列55に着座した乗員の顔画像とを判定する第2判定しきい値とを生成する。この変形例2において、第1列51は、本発明の前列に相当する。また、第2列53及び第3列55は、本発明の後列に相当する。
【0074】
この変形例2では、カメラ13が、第1列51、第2列53及び第3列55を撮影可能なように向き、画角、設置位置等が設定されている。
【0075】
サーバ制御部110は、
図9及び
図10のフローチャートに示す手順に従い、撮影画像の第1領域31又は第2領域33から3つの顔画像を検出した場合、検出した顔画像を
図6に示す顔画像テーブル123に登録する。すなわち、顔画像テーブル123には、第1列顔画像と、第2列顔画像と、第3列顔画像とが、顔画像の画素数に対応づけてそれぞれ登録される。
【0076】
サーバ制御部110は、
図10に示すフローチャートに従い、第1列51に分類した顔画像と、第2列53に分類した顔画像と、第3列55に分類した顔画像との画素数の平均値と標準偏差とをそれぞれ求める。そして、サーバ制御部110は、求めた顔画像の画素数の平均値と標準偏差とに基づいて確率密度関数をそれぞれ算出する。
サーバ制御部110は、第1列51に分類した顔画像の画素数の平均値及び標準偏差から求めた確率密度関数により第1正規分布を示す曲線71を記憶部120のメモリに生成する。また、サーバ制御部110は、第2列53に分類した顔画像の画素数の平均値及び標準偏差から求めた確率密度関数により第2正規分布を示す曲線73を記憶部120のメモリに生成する。また、サーバ制御部110は、第3列55に分類した顔画像の画素数の平均値及び標準偏差から求めた確率密度関数により第3正規分布を示す曲線を記憶部120のメモリに生成する。
【0077】
また、サーバ制御部110は、第1正規分布、第2正規分布及び第3正規分布の3つの曲線の和を求め、求めた和の曲線において、乗員数が極小値をとる画素数を判定する。ここでは、極小値として、第1列51に分類した顔画像の画素数と、第2列53に分類した顔画像の画素数との境界値となる極小値と、第2列53に分類した顔画像の画素数と、第3列55に分類した顔画像の画素数との境界値となる極小値とが検出される。サーバ制御部110は、第1列51に分類した顔画像の画素数と、第2列53に分類した顔画像の画素数との境界値となる極小値を、第1判定しきい値に設定する。また、サーバ制御部110は、第2列53に分類した顔画像の画素数と、第3列55に分類した顔画像の画素数との境界値となる極小値を、第2判定しきい値に設定する。
【0078】
また、ユーザの家族構成によっては、車両3の3列すべてに乗員が着座するケースが少ない場合もある。例えば、ユーザが第1列51と第2列53、又は第1列51と第3列55とに着座するケースが想定される。このような場合、サーバ制御部110は、上述した実施形態と同様に、撮影画像から2つの顔画像が検出された場合に、検出された顔画像の面積である画素数を算出し、顔画像と、算出した画素数とを顔画像テーブル123に登録してもよい。
【0079】
この場合、サーバ制御部110によって生成される判定しきい値は、第1列51に着座した乗員の顔画像と、第2列53に着座した乗員の顔画像とを判定するしきい値、又は第1列51に着座した乗員の顔画像と、第3列55に着座した乗員の顔画像とを判定するしきい値となる。すなわち、ユーザが車両3の第1列51と第2列53に着座するケースが、第1列51と第3列55に着座するケースよりも多い場合、第1列51に着座した乗員の顔画像と、第2列53に着座した乗員の顔画像とを判定する判定しきい値が生成される。また、ユーザが車両3の第1列51と第3列55に着座するケースが、第1列51と第2列53に着座するケースよりも多い場合、第1列51に着座した乗員の顔画像と、第3列55に着座した乗員の顔画像とを判定する判定しきい値が生成される。
【0080】
[変形例3]
変形例3では、
図9に示すフローチャートのステップS8において顔画像の前後を判定するときに、車両3の座席情報を加味して判定を行う。
車両3の座席情報とは、車両3に搭載されたシートの列数、及び各列におけるシートの数を示す情報である。例えば、
図3に示すシート配列の場合、車両3が、第1列51、第2列53及び第3列55の3列シートを有し、第1列51は、シート数が2、第2列53はシート数が3、第3列55は、シート数が2である。車両3の座席情報は、車載装置10の車両3への設置時等に、ユーザが操作部15を操作して入力してもよいし、車載装置10が他のサーバ装置からダウンロードしてもよい。車載装置10の制御部20は、取得した車両3の座席情報を記憶部21に記憶させる。制御部20は、サーバ装置100に識別要求を送信するときに、車両3の座席情報を記憶部21から読み出し、識別要求と共に座席情報をサーバ装置100に送信する。
【0081】
また、車両3の座席情報に代えて、車両3の車種を識別する車種情報を車載装置10の記憶部21に記憶させておいてもよい。車載装置10は、サーバ装置100に識別要求を送信するときに、識別要求と共に車種情報をサーバ装置100に送信する。サーバ装置100は、受信した車種情報に基づいて座席情報を、他のサーバ装置から取得する、又は記憶部120から読み出す。
【0082】
例えば、車両3の第1列51のシート51a、51bと、第2列53のシート53a、53bと、に乗員が着座していると仮定する。この場合、
図9の示すフローチャートのステップS4で検出される顔画像の数は4つである。
【0083】
変形例3では、サーバ制御部110が、検出された顔画像の数と車両3の座席情報とを組み合わせて判定する。
例えば、サーバ制御部110が、判定しきい値に基づき、第1列51に着座したした乗員の顔画像の数を1つと判定し、第2列53に着座した乗員の顔画像の数を2つと判定したと仮定する。この場合、サーバ制御部110は、車両3の座席情報が示す第2列53のシート数が3つであることから、第1領域31において、第2列53に分類される顔画像の最大数を2と判定する。このため、サーバ制御部110は、第2列に着座した乗員の顔画像を2つと判定した場合であっても、顔画像の前後の判定は、判定成功と判定する。
【0084】
また、サーバ制御部110は、2つの顔画像を第1列51に着座した乗員の顔画像と判定したと仮定する。この場合、サーバ制御部110は、車両3の座席情報が示す第1列51のシート数が2つであることから、第1領域31において、第1列51に分類される顔画像の最大数を1と判定する。このため、サーバ装置100は、第1列に着座した乗員の顔画像を2つと判定した場合、顔画像の前後の判定は、判定失敗と判定する。
【0085】
上述した実施形態は、あくまでも本発明の一態様を例示するものであって、本発明の要旨を逸脱しない範囲で任意に変形、及び応用が可能である。例えば、上述した実施形態では、第1列顔画像に分類された顔画像の面積の正規分布を示す曲線71と、第2列顔画像に分類された顔画像の面積の正規分布を示す曲線73とが交差する交差点の画素数を、判定しきい値に設定してもよい。
【0086】
また、
図2に示す車載装置10、及び
図4に示すサーバ装置100の構成は、これらの装置が備える機能を主な処理内容に応じて分類して示した概略図である。車載装置10及びサーバ装置100の構成は、処理内容に応じて、さらに多くのブロックに分割することもできる。また、この機能ブロックは、
図2及び
図4に示す1つのブロックによりさらに多くの処理を実行するように構成しても良い。また、各ブロックの処理は、1つのハードウェアで実行してもよいし、複数のハードウェアで実行してもよい。また、各ブロックの処理は、1つのプログラムで実現してもよいし、複数のプログラムで実現してもよい。
【0087】
また、車載装置10の構成は、
図11に示す構成であってもよい。
図11に示す車載装置10は、無線通信部11、操作部15及び制御部20を備え、カメラ13及び電装装置17を備えていない。しかし、カメラ13及び電装装置17は、制御部20に接続され、制御部20の制御により動作する。
【0088】
また、
図9及び
図10に示すフローチャートの処理単位は、サーバ装置100のサーバ制御部110の処理を理解容易にするために、主な処理内容に応じて分割したものであり、処理単位の分割の仕方や名称によって本発明が制限されることはない。
また、サーバ制御部110の処理は、処理内容に応じて、さらに多くの処理単位に分割することもできるし、1つの処理単位がさらに多くの処理を含むように分割することもできる。また、上記のフローチャートの処理順序も、図示した例に限られるものではない。
【0089】
また、本発明の情報処理方法をコンピュータにより実現する場合、このコンピュータに実行させるプログラムを記録媒体、又はプログラムを伝送する伝送媒体の態様で構成することも可能である。記録媒体には、磁気的、光学的記録媒体又は半導体メモリーデバイスを用いることができる。具体的には、記録媒体には、フレキシブルディスク、HDD(Hard Disk Drive)、CD−ROM(Compact Disk Read Only Memory)、DVD、Blu−ray(登録商標) Disc、光磁気ディスクが挙げられる。また、記録媒体として、フラッシュメモリ、カード型記録媒体等の可搬型、或いは固定式の記録媒体を挙げることもできる。また、上記記録媒体は、表示装置が備える内部記憶装置であるRAM、ROM、HDD等の不揮発性記憶装置であってもよい。