(57)【特許請求の範囲】
【請求項１】
少なくとも１軸を中心に回転可能なカメラと、
前記カメラの撮像画像から観測対象と推定される観測対象らしき画像の観測値を計算する画像生成部と、
観測対象の位置の過去の推定結果と現在の前記カメラの姿勢に基づいて観測対象らしき画像の予測値を計算する画像予測部と、
前記観測値と前記予測値を比較して前記観測値と前記予測値の一致度を尤度として計算する画像比較部と、
前記尤度に基づいて前記観測対象の位置を推定する位置推定部と、
前記位置推定部により推定された前記観測対象の位置の不確実さの評価に基づいて観測方針を決定する観測方針決定部と、
前記観測方針に基づいて前記カメラの前記少なくとも１軸に対する回転位置を制御する制御部を備えた、ロボット。
【請求項２】
前記カメラからの撮像画像から観測対象である人物の顔領域を抽出する顔領域検出部と、
前記カメラからの撮像画像から前景領域を抽出する前景領域抽出部を更に備え、
前記画像生成部は、抽出された顔領域及び前景領域に基づいて人物らしき画像を生成する、請求項１記載のロボット。
【請求項３】
前記前景領域抽出部は、前記前景領域を抽出する際、前記カメラの可動範囲全域において撮像画像を分割した各ブロックの特徴量を記憶部に予め記憶しておき、前記カメラの現在の撮像画像の各ブロックの特徴量と前記記憶部に予め記憶してある該当ブロックの特徴量を比較し、差異がある部分を前景領域とする、請求項２記載のロボット。
【請求項４】
少なくとも１軸を中心に回転可能なカメラの撮像画像から観測対象と推定される観測対象らしき画像の観測値を画像生成部により計算する画像生成工程と、
観測対象の位置の過去の推定結果と現在の前記カメラの姿勢に基づいて観測対象らしき画像の予測値を画像予測部により計算する画像予測工程と、
画像比較部により前記観測値と前記予測値を比較して前記観測値と前記予測値の一致度を尤度として計算する画像比較工程と、
前記尤度に基づいて前記観測対象の位置を位置推定部により推定する位置推定工程と、
前記位置推定工程により推定された前記観測対象の位置の不確実さの評価に基づいて観測方針を観測方針決定部により決定する観測方針決定工程と、
前記観測方針に基づいて前記カメラの前記少なくとも１軸に対する回転位置を制御部により制御する制御工程を含み、
前記画像生成工程は、前記カメラからの撮像画像から観測対象である人物の顔領域を顔領域検出部により抽出し、前記カメラからの撮像画像から前景領域を前景領域抽出部により抽出し、抽出された顔領域及び前景領域に基づいて前記画像生成部により人物らしき画像を生成する、位置推定方法。
【請求項５】
コンピュータに観測対象の位置を推定させる位置推定処理を実行させるプログラムであって、
少なくとも１軸を中心に回転可能なカメラの撮像画像から観測対象と推定される観測対象らしき画像の観測値を計算して記憶部に格納する画像生成手順と、
観測対象の位置の過去の推定結果と現在の前記カメラの姿勢に基づいて観測対象らしき画像の予測値を計算して前記記憶部に格納する画像予測手順と、
前記観測値と前記予測値を比較して前記観測値と前記予測値の一致度を尤度として計算して前記記憶部に記憶する画像比較手順と、
前記尤度に基づいて前記観測対象の位置を推定する位置推定手順と、
前記カメラからの撮像画像から観測対象である人物の顔領域を抽出して前記記憶部に記憶する顔領域抽出手順と、
前記カメラからの撮像画像から前景領域を抽出して前記記憶部に記憶する前景領域抽出手順と、
前記位置推定手順により推定された前記観測対象の位置の不確実さの評価に基づいて観測方針を決定する観測方針決定手順と、
前記観測方針に基づいて前記カメラの前記少なくとも１軸に対する回転位置を制御する制御手順
を前記コンピュータに実行させ、
前記画像生成手順は、抽出された顔領域及び前景領域に基づいて人物らしき画像を生成する、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パン（Pan）及びチルト（Tilt）可能なカメラを用いて人物の位置を推定するロボット、位置推定方法及びプログラムにに関する。
【背景技術】
【０００２】
人型又はペット型のコミュニケーションロボット（以下、単にロボットと言う）では、ユーザに親近感を与えるためにユーザとのアイコンタクトを取ることが望ましい。ロボットがユーザとアイコンタクトを取るためには、ロボットがユーザと目を合わせるようにロボットの首を動かす機能を設ける必要である。この機能は、例えばロボットの目や鼻の位置に設置したカメラでユーザの顔を撮像し、ユーザの顔が撮像画像の中央に位置するように首を制御する方法等で実現できる。
【０００３】
しかし、ロボットがユーザとコミュニケーションを取っている最中にロボットがある仕草をしたり、ユーザ以外の物に視線を移したり、他のタスクに首やカメラを利用したい場合がある。このような場合にも、ロボットがユーザと自然なコミュニケーションを取るためには、ロボットが適切なタイミングでユーザとアイコンタクトを取ることが望ましいが、ロボットが実行しているタスクによってはユーザがロボットの視界から外れてしまう場合もある。このような場合でもロボットがユーザとスムーズにアイコンタクトを取るためには、ユーザが視界から外れた場合や、ユーザの一部しか視界に入っていない場合等にも、ユーザを観察することでユーザの位置を推定する必要がある。
【０００４】
従来、ロボットに設けたアレイマイクによる音源検知によりユーザの位置を推定し、推定した位置に応じてロボットの首を動かしてユーザとアイコンタクトを取る方法が提案されている。しかし、この方法では、ロボットは、ユーザが発声しないと、ユーザの位置を推定できないのでアイコンタクトを取ることもできない。又、ロボットが使用される環境によっては、音の反射等のノイズによりユーザの位置を正確に推定することは難しい。
【０００５】
一方、人物のシルエット画像と、シルエット画像をシミュレートしたシミュレーション画像の一致度を尤度としたパーティクルフィルタを、観測対象であるユーザに対して構成する方法が提案されている（特許文献１）。しかし、ロボットの目や鼻の位置に設置したカメラで撮像した撮像画像に基づいてユーザの位置を推定する方法では、ロボットの首の姿勢（即ち、カメラの姿勢）によって視野が変化するので背景も変化する。このため、首の特定の姿勢でカメラが撮像して用意された背景画像と、首の異なる姿勢でカメラが撮像した観測画像との比較演算により背景差分を求めて観測画像中のユーザを追跡するのでは、背景が変化すると背景差分からユーザの位置を正確に推定することは難しい。又、ロボットの首の姿勢にかかわらずユーザの位置を推定可能にする背景差分を求めるには、予め膨大な量の背景画像を用意しておく必要があると共に、背景差分を求めるのに膨大な量の比較演算を行う必要があり、比較演算を実行するプロセッサへの負荷も大きくなる。
【０００６】
カメラが撮像した観測画像の中からユーザの顔を認識することでユーザの位置を推定する方法もあるが、顔の認識には複雑な演算が必要であり、演算を実行するプロセッサへの負荷も大きい。又、ユーザの顔は、ある角度範囲でカメラの方を向いていないと例えば目、鼻や口といった顔の顕著な特徴がカメラの撮像画像に含まれないため顔と認識されず、顔の認識結果に基づいてユーザの位置を正確に推定することは難しい。
【０００７】
例えば、色ヒストグラムを用いて対象物を追跡又は検出する技術も提案されている（特許文献２、特許文献３及び特許文献４）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第３６６４７８４号公報
【特許文献２】特開平１１−１３６６６４号公報
【特許文献３】特開２００２−２４７４４０号公報
【特許文献４】特表２００６−５０８４６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従来の位置推定方法では、比較的簡単、且つ、正確に観測対象であるユーザの位置を推定することは難しいという問題があった。
【００１０】
そこで、本発明は、比較的簡単、且つ、正確に観測対象であるユーザの位置を推定することができるロボット、位置推定方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の一観点によれば、少なくとも１軸を中心に回転可能なカメラと、前記カメラの撮像画像から観測対象と推定される観測対象らしき画像の観測値を計算する画像生成部と、観測対象の位置の過去の推定結果と現在の前記カメラの姿勢に基づいて観測対象らしき画像の予測値を計算する画像予測部と、前記観測値と前記予測値を比較して前記観測値と前記予測値の一致度を尤度として計算する画像比較部と、前記尤度に基づいて前記観測対象の位置を推定する位置推定部と、前記位置推定部により推定された前記観測対象の位置の不確実さの評価に基づいて観測方針を決定する観測方針決定部と、前記観測方針に基づいて前記カメラの前記少なくとも１軸に対する回転位置を制御する制御部を備えたロボットが提供される。
【００１２】
本発明の一観点によれば、少なくとも１軸を中心に回転可能なカメラの撮像画像から観測対象と推定される観測対象らしき画像の観測値を画像生成部により計算する画像生成工程と、観測対象の位置の過去の推定結果と現在の前記カメラの姿勢に基づいて観測対象らしき画像の予測値を画像予測部により計算する画像予測工程と、画像比較部により前記観測値と前記予測値を比較して前記観測値と前記予測値の一致度を尤度として計算する画像比較工程と、前記尤度に基づいて前記観測対象の位置を位置推定部により推定する位置推定工程と、前記位置推定工程により推定された前記観測対象の位置の不確実さの評価に基づいて観測方針を観測方針決定部により決定する観測方針決定工程と、前記観測方針に基づいて前記カメラの前記少なくとも１軸に対する回転位置を制御部により制御する制御工程を含み、前記画像生成工程は、前記カメラからの撮像画像から観測対象である人物の顔領域を顔領域検出部により抽出し、前記カメラからの撮像画像から前景領域を前景領域抽出部により抽出し、抽出された顔領域及び前景領域に基づいて前記画像生成部により人物らしき画像を生成する位置推定方法が提供される。
【００１３】
本発明の一観点によれば、コンピュータに観測対象の位置を推定させる位置推定処理を実行させるプログラムであって、少なくとも１軸を中心に回転可能なカメラの撮像画像から観測対象と推定される観測対象らしき画像の観測値を計算して記憶部に格納する画像生成手順と、観測対象の位置の過去の推定結果と現在の前記カメラの姿勢に基づいて観測対象らしき画像の予測値を計算して前記記憶部に格納する画像予測手順と、前記観測値と前記予測値を比較して前記観測値と前記予測値の一致度を尤度として計算して前記記憶部に記憶する画像比較手順と、前記尤度に基づいて前記観測対象の位置を推定する位置推定手順と、前記位置推定手順により推定された前記観測対象の位置の不確実さの評価に基づいて観測方針を決定する観測方針決定手順と、前記観測方針に基づいて前記カメラの前記少なくとも１軸に対する回転位置を制御する制御手順を前記コンピュータに実行させ、前記画像生成手順は、抽出された顔領域及び前景領域に基づいて人物らしき画像を生成するプログラムが提供される。
【発明の効果】
【００１４】
開示のロボット、位置推定方法及びプログラムによれば、比較的簡単、且つ、正確に観測対象であるユーザの位置を推定することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施例におけるロボットの一例を示すブロック図である。
【図２】パーティクルフィルタを用いた予測画像の計算を説明する図である。
【図３】顔を円形、体を楕円形で表現したテンプレートにより予測画像を生成する例を説明する図である。
【図４】顔領域とテンプレート領域の一例を示す図である。
【図５】観測画像から人物らしき画像を生成する処理を説明するフローチャートである。
【図６】２０×２０画素のブロックに対する色ヒストグラムの一例を示す図である。
【図７】色ヒストグラムを用いた前景領域の抽出において、バタチャリア距離を用いて前景らしき多値化画像を算出した結果を示す図である。
【図８】ロボットの動作を説明するフローチャートである。
【図９】図８のステップＳ１３〜Ｓ１５の処理をより詳細に説明するフローチャートである。
【図１０】図８のステップＳ２４の処理をより詳細に説明するフローチャートである。
【図１１】コンピュータシステムの一例を示すブロック図である。
【発明を実施するための形態】
【００１６】
開示のロボット、位置推定方法及びプログラムでは、少なくとも１軸を中心に回転可能なカメラの撮像画像から抽出された観測対象らしき画像（又は、人物と推定される画像）の観測値を計算し、観測対象の位置の過去の推定結果とカメラの姿勢に基づいて観測対象らしき画像の予測値を計算し、観測対象らしき画像の観測値と予測値の比較結果から計算した尤度に基づいて観測対象の位置を推定する。
【００１７】
観測対象の位置の推定結果は、不確実さ等の評価に基づいてカメラの姿勢を制御するのに使用できる。
【００１８】
以下に、開示のロボット、位置推定方法及びプログラムの各実施例を図面と共に説明する。
【実施例】
【００１９】
図１は、本発明の一実施例におけるロボットの一例を示すブロック図である。本実施例では、本発明が人型コミュニケーションロボットに適用されている。
【００２０】
コミュニケーションロボット１は、図１に示す如く接続されたロボット本体１１、顔領域検出部１２、前景領域抽出部１３、人物らしき画像を生成する画像生成部１４、人物らしき画像を予測する画像予測部１５、人物らしき画像を比較する画像比較部１６、人物の位置を推定する位置推定部１７、観測方針決定部１８、及びロボット１の首の回転を制御する首制御部１９を有する。尚、ロボット本体１１は、ロボット１を歩行可能、或いは、走行可能とする周知の移動機構（図示せず）を有しても良いことは言うまでもない。
【００２１】
ロボット本体１１は、パン（Pan）及びチルト（Tilt）可能なカメラ２１、首角度（又は、姿勢）取得部２２及び首回転駆動部２３を有する。カメラ２１は、所謂首振り可能な周知の構造を有し、例えばロボット本体１１の目や鼻の位置に設けられており、ロボット１から見える画像を撮像する。カメラ２１のパン軸を中心としたパン及びチルト軸を中心としたチルト（以下、単にパン・チルトと言う）は首回転駆動部２３により周知の方法で制御される。又、首角度取得部２２は、カメラ２１の首角度、即ち、カメラ２１の姿勢を周知の方法で取得する。カメラ２１の首角度は、パン角及びチルト角を含む。
【００２２】
顔領域検出部１２は、カメラ２１からの撮像画像から、ロボット１がコミュニケーションを取るべきユーザ（即ち、観測対象）の顔領域を抽出する。後述するように、顔領域検出部１２は、ユーザの顔らしき領域（即ち、顔領域）を検出するものであり、ユーザの顔を認識する個人認証を行うものではない。前景領域抽出部１３は、カメラ２１からの撮像画像から、前景領域を抽出する。画像生成部１４は、抽出された顔領域及び前景領域に基づいて、人物らしき画像、即ち、ユーザらしき画像を生成する。一方、画像予測部１５は、首角度取得部２２が取得した首角度と位置推定部１７からの人物の位置の過去の推定結果に基づいて、人物らしき画像、即ち、ユーザらしき画像を予測する。画像比較部１６は、画像生成部１４で生成された画像（又は、観測値）と画像予測部１５で予測された予測画像（又は、予測値）を比較して、比較結果を位置推定部１７に出力する。例えば、画像比較部１６は、比較する観測画像と予測画像の一致度を尤度とする周知のパーティクルフィルタを有し、尤度を含む比較結果を位置推定部１７に出力する。
【００２３】
パーティクルフィルタは、観測対象の状態の連続的な事後確率密度分布を離散化して、パーティクルセット（Particle Set）と呼ばれるサンプル集団の各メンバーの状態に対して、観測結果との整合性を逐次的に評価してリサンプリング（Resampling）を行う。これにより、パーティクルでシミュレーションした事後確率密度分布を、真の確率密度分布に収束させる。
【００２４】
位置推定部１７は、画像比較部１６からの比較結果に基づいて人物の位置、即ち、ユーザの位置を推定する。観測方針決定部１８は、推定されたユーザの位置の不確実さ等の評価に基づいて、ユーザの観測方針、即ち、ユーザをどのような規則（又は、ルール）に基づいて観測するかを決定する。例えば、観測方針がユーザの位置を確認する頻度に関するものであれば、推定されたユーザの位置と前回推定されたユーザの位置の間の距離が閾値以内であればユーザの位置の確認頻度を第１の時間毎に設定し、閾値を超える場合には確認頻度を第１の時間より短い第２の時間毎に設定する。首制御部１９は、観測方針決定部１８で決定された観測方針に基づいて首回転駆動部２３を制御することで、ユーザがカメラ２１の視界に入るようにカメラ２１の姿勢を制御する。
【００２５】
顔領域検出部１２、前景領域抽出部１３、画像生成部１４、画像予測部１５、画像比較部１６、位置推定部１７、観測方針決定部１８、及び首制御部１９のうち少なくとも一部はロボット１に対して外付けされていても良い。この場合、ロボット１に対して外付けされる部分は、ロボット１に設けた適切なインタフェース（図示せず）を介してロボット１と接続される。ロボット１と外付けされる部分とは、例えば無線ネットワーク（図示せず）を介して周知の方法で通信可能とすれば良い。つまり、ロボット１の首回転駆動部２３等は、リモートに制御されるものであっても良い。
【００２６】
画像予測部１５は、首角度取得部２２が取得した首角度に基づいて、例えば周知のパーティクルフィルタ（Particle Filter）を用いてユーザらしき画像を予測する予測画像を計算する。図２は、パーティクルフィルタを用いた予測画像の計算を説明する図である。図２において、ユーザ３０の位置は、図２に示すパラメータd，ｈ，θで表される。パラメータdは、ロボット１のカメラ２１（又は、首）のパン軸からユーザ３０までの最短距離を示し、この例ではユーザ３０の体３２の位置までの距離である。パラメータｈは、ロボット１のカメラ２１の基準位置から顔３１の中心までの高さを示す。パラメータθは、カメラ２１の定位置の視線ＦＹと上記最短距離dの方向がなす角度を示す。
【００２７】
図２の例では、ロボット１は熊のぬいぐるみの形をしたペット型のコミュニケーションロボットである。例えば、カメラ２１は熊の目（又は鼻）に設置されており、首回転駆動部２３は熊の首の部分に設けられており、首角度取得部２２は熊の胴体部分に設けられている。
【００２８】
予測画像は、ユーザ３０の顔３１の推定位置と、人物のシルエットを表す人型テンプレートから生成することができる。この場合、水平方向及び垂直方向の各々の１°当たりの画素数をα，βとすると、画像中の顔３１の座標（uf, vf）は、画像中心の座標を（uc, vc）、パン・チルト角を夫々pan, tilt、パン軸及びチルト軸とカメラ２１の光学中心（又は、光軸）との距離を夫々a,
b、パン軸とチルト軸の光軸方向の距離をｃで示すと、次のような式に基づいて計算することができる。この例では、パン軸はロボット１が設置される水平面に対して垂直であり、チルト軸は水平面と平行でありパン軸と直交する。
【００２９】
uf=uc+α×atan(d×sin(θ-pan)/（d×cos(θ-pan)-a））
vf=vc+β×atan(d×(atan(h/d)-tilt)/（(d-c)×cos(atan(h/d)-tilt)-b）)
【００３０】
特に、パラメータa,b,cが無視できる程度に小さい場合には、次の式のように計算を簡略化することができる。
【００３１】
uf=uc+α×(θ-pan)
vf=vc+β×(atan(h/d)-tilt)
【００３２】
図３は、顔を円形、体を楕円形で表現したテンプレートにより予測画像を生成する例を説明する図である。厳密には、チルト角によって人物の形が変化するが、この例では説明の便宜上、大まかな推定しか要求されておらず、人物の形の変化に起因する誤差は無視できるとする。図３に示す定型の人型テンプレート３０Ａは、（vf, uf）を基点としており、円形の顔テンプレート部３１Ａ及び楕円形の体テンプレート部３２Ａを有する。ここでは、ユーザ３０のカメラ２１からの距離dに応じて人型テンプレート３０Ａの大きさを変化させる。
【００３３】
カメラ２１が撮像して観測された画像から人物らしさの度合いを表す画像を生成する際には、幾つかの異なる生成方法の組み合わせを採用する。これは、カメラ２１のパン・チルトのため、顔３１等のユーザの顕著な特徴がカメラ２１の視界に入らないこともあり得るからである。例えば、以下のような指標又は判定基準ＪＲ１〜ＪＲ３の少なくとも一つに基づいて観測画像から人物らしき画像を生成するようにしても良い。
【００３４】
（ＪＲ１）顔領域３１Ｂを検出した場合、顔領域３１Ｂは人物らしさの度合い（又は、確率）が極めて高い。
【００３５】
（ＪＲ２）顔領域３１Ｂを基点とした上記と同様の人型テンプレート３０Ａの領域は人物らしさの度合い（又は、確率）が高い。
【００３６】
（ＪＲ３）前景領域抽出部１３において前景として抽出された領域（即ち、前景領域）は、背景とされた領域（即ち、背景領域）よりも人物らしさの度合い（又は、確率）が高い。
【００３７】
図４は、顔領域とテンプレート領域の一例を示す図である。図４において、顔領域３１を検出すると、顔領域３１Ｂの画像を基点とした体領域３２Ｂを含む人型領域３０Ｂは人物らしさが極めて高いことがわかる。又、体領域３２Ｂ（又は、人型領域３０Ｂ）の大きさは、検出した顔領域３１Ｂの大きさに比例する。そこで、例えば表１に従って観測画像から人物らしさを示す値を決定することができる。
【００３８】
【表１】
0005482412.tif 000002
【００３９】
図５は、観測画像から人物らしき画像を生成する処理を説明するフローチャートである。図５において、ステップＳ１は、図１の顔領域抽出部１２により実行され、カメラ２１からの撮像画像からユーザの顔を検出して、顔領域３１Ｂと体領域３２Ｂを抽出する。ステップＳ２は、図１の前景領域抽出部１３により実行され、カメラ２１からの撮像画像から前景領域を抽出する。ステップＳ３は、図１の画像生成部１４により実行され、抽出された顔領域３１Ｂ及び前景領域に基づいて各画素の値を表１に従って決定し、人物らしき画像、即ち、ユーザらしき画像を生成する。
【００４０】
ステップＳ２において前景領域を抽出する際には、ロボット１の首の可動範囲全域において、撮像画像を適切な複数のブロック（又は、区域）に分割して分割された各ブロックの特徴量を例えば前景領域抽出部１３内の記憶部（図示せず）に記憶しておき、カメラ２１が現在撮像している（即ち、現在カメラ２１から見えている）領域の各ブロックの特徴量と記憶部に記憶されている該当領域のブロックの特徴量を比較し、差異がある部分を前景領域として扱う。この場合に使用する特徴量は、領域の特徴を表し、且つ、照明変化やパン・チルトの誤差等の影響を受けにくいことが望ましい。この例では、色ヒストグラムを特徴量として使用する。色ヒストグラムとは、画像を例えばＨＳＶ画像（Hue（色相）、Saturation（彩度）、Value（明度）の画像）に変換し、各画素の色相の値に関してある範囲の値域毎に出現頻度を計測した結果である。
【００４１】
図６は、撮像画像中の２０画素×２０画素で形成された矩形ブロックに対する色ヒストグラムの一例を示す図である。図６中、（ａ）はカメラ２１からの撮像画像を示し、（ｂ）は（ａ）中の矩形ブロックについて算出した色ヒストグラムを示す。色ヒストグラムにおいて、Ｃ１〜Ｃ５は互いに異なる色成分を示す。
【００４２】
背景領域を記憶部に記憶する時には、カメラ２１はロボット１の首の可動範囲で撮像を行い、首の可動範囲全域に対して左右、上下とも一定角度毎に特徴量を記憶部に記憶する。記憶部に記憶する際の角度と撮像した画像の特徴量の対応付けは、現在のパン角及びチルト角（以下、パン・チルト角と言う）と、各ブロックの画像内の位置から決定できる。首の可動範囲に対する撮像画像を記憶するのではなく、特徴量を記憶部に格納するので、撮像画像を記憶する場合と比較すると記憶部に求められる記憶容量を大幅に削減可能となる。
【００４３】
一方、前景領域を抽出する際には、記憶部に記憶されている背景領域の特徴量とカメラ２１が現在撮像している画像の特徴量の比較に基づいて抽出する。この時、比較方法として、バタチャリア距離（Bhattacharyya Distance）や正規化相関等を用いることができる。人物らしき画像を生成する際には、この正規化相関の値やバタチャリア距離の値を利用することができる。つまり、例えば色ヒストグラムの比較で、比較に使った尺度（正規化相関やバタチャリア距離）の尺度を適切に変換した値を人物らしさの尺度に使うことができる。
【００４４】
例えば、０〜１の多値化画像を求めるには、バタチャリア距離は０〜１の値をとり、バタチャリアの値が０に近い程比較対象である特徴量が似ているため、例えばバタチャリアの値をそのまま多値化画像の画素の値として利用することができる。又、０〜１の多値化画像を求めるには、正規化相関の値は−１〜１の値を取り、１に近い程比較対象である特徴量が似ているため、例えば正規化相関の値を−０．５倍した後に１を加算した値を多値化画像の画素の値として利用することができる。
【００４５】
図７は、図６の如き色ヒストグラムを用いた前景領域の抽出において、バタチャリア距離を用いて前景らしき多値化画像を算出した結果を示す図である。図７中、（ａ）はカメラ２１からの撮像画像を示し、（ｂ）は（ａ）の撮像画像について算出した色ヒストグラムと記憶部に記憶されている背景部分の色ヒストグラムの比較の際にバタチャリア距離を用いて算出した多値化画像を示す。ここでは便宜上、多値化画像を黒画素で示している。
【００４６】
多値化した前景情報（以下、前景度と言う）から実際に人物らしき画像を決定する方法の一例を表２に示す。この場合の処理は、図５の処理と同様の手順を行えば良い。尚、説明の便宜上、表２では前景度が０〜１に正規化されているものとする。
【００４７】
【表２】
0005482412.tif 000003
【００４８】
尚、人領域の色ヒストグラムを記憶部に記憶しておき、カメラ２１からの撮像画像の各ブロック（又は、各領域）内の代表的な色が人領域ではどの程度の頻度（即ち、色頻度）であるかを示す情報を利用することも考えられる。この場合、例えば表３のように人物らしさの値、即ち、顔領域３１Ｂらしさの値及び体領域３２Ｂらしさの値を決定すれば良い。この場合の処理も、図５の処理と同様の手順を行えば良い。表３は、カメラ２１からの撮像画像から人物らしさを決定する方法の一例を示す。尚、説明の便宜上、表３では人領域（即ち、顔領域３１Ｂ及び体領域３２Ｂ）における色頻度は０〜１に正規化されているものとする。
【００４９】
【表３】
0005482412.tif 000004
【００５０】
尚、図１の顔領域抽出部１２に周知の顔識別機能が備えられている場合には、人型テンプレートを顔識別された人物毎に変更しても良い。
【００５１】
又、上記の尤度を計算する際に、顔識別が利用できる場合には、識別された顔より手前に他の人物がいる確率は低いため、その条件に当てはまるパーティクルの尤度を低くしても良い
図１の画像比較部１６における尤度計算を行う際、カメラ２１の前に手をかざした場合等には、撮像画像の全領域が前景と判断されてしまう。このため、顔領域３１Ｂが検出されておらず、且つ、撮像画像中の多くの領域が前景領域である場合には、観測結果を無効として何も観測されていないという扱いとしても良い。
【００５２】
撮像画像だけで必要な推定精度が得られない場合には、超音波センサやアレイマイク等により、ロボット１に対してどの方向に人物がいる可能性があるかを示す情報をも尤度計算に利用しても良い。例えば、超音波センサの反応がある方向のパーティクルは尤度が高い。超音波センサやアレイマイク等は、反射を受け取ることもあるが、今回の推定結果と前回までの推定結果等を併用することにより、反射による誤検知を防ぐことができる。
【００５３】
又、照明条件の大きな変化や、コミュニケーションロボットのようにカメラの姿勢が固定されていない場合は、カメラの設置位置（又は、取り付け位置）が設計位置からずれたりすることがある。このような場合には、位置推定精度が低下しないように、背景の特徴量を定期的に記憶部に記憶し直すことが有効である。このため、背景の特徴量は、人領域である確率が極めて低い領域については、記憶部に記憶し直すようにしても良い。
【００５４】
人物の存在確率がある程度ばらついてきたら、その人物にカメラを向けて確認する機能設けても良い。この場合、パーティクルの平均値（即ち、顔の予測値）に向かってロボットの首を動かす。首を動かしている途中で人物が一部カメラの視界に入ったりして推定値が変化した場合には、適宜首の動かし方を変更すれば良い。これにより、カメラの視界に入らない人物の位置の推定を定期的に行い、位置推定精度を一定レベルに保つことができる。
【００５５】
複数の人物を追跡する場合は、複数の人推定プログラムを動作させ、予測画像を複数の画像を足し合わせることにより作成しても良い。
【００５６】
コミュニケーションロボットの場合、通りすがりの人物は検出する必要がなく、コミュニケーションロボットが対面した人物のみの位置を推定すれば良い。このため、カメラの撮像画像中、人物が存在し得ない場所で顔が検出された場合には、新たな人物の推定を開始すれば良い。
【００５７】
又、パーティクルの分布が広がり、確度が落ちてきた場合には、該当する方向の様子を確認する等、確度を改善する対策を取った後に、確度が改善しないようであれば人物が立ち去ったと判断すれば良い。
【００５８】
コミュニケーションロボットによる首のかしげ動作等、首がロール軸を中心としてロール方向に回転可能なカメラの場合、適切な座標変換を行った画像を入力にする。例えば、事前に撮像画像中の回転中心を求めておき、回転中心を中心として回転させた撮像画像において予測画像を生成することにより、ロール角がある場合でも人物が追跡可能となる。
【００５９】
図８は、ロボット１の動作を説明するフローチャートである。図８において、ステップＳ１１は、例えばデフォルトの設定に応じて首制御部１９により首回転駆動部２３を制御してロボット１の首を動しながら、首の可動範囲全域に関する背景領域の特徴量（以下、背景特徴量とも言う）を算出して記憶部に記憶する。
【００６０】
ステップＳ１２は、カメラ２１からの撮像画像と首角度取得部２２からのパン・チルト角を示す角度位置情報を取得する。ステップＳ１２において、首角度取得部２２は、例えばロボット１の首（又は、カメラ２１）のパン角を制御する首回転駆動部２３内のモータ（図示せず）及びチルト角を制御する首回転駆動部２３内のモータの夫々の回転角度位置を検出する角度センサが出力する角度位置信号から首角度を取得することができる。又、パン角及びチルト角を制御するモータ自体が回転角度位置を示す角度位置信号を出力する機能を備えている場合には、各モータが出力する角度位置信号から首角度を取得すれば良い。モータに回転角度位置を問い合わせる処理を省略する場合には、モータに対する指示（目標回転角度θdistと到達時間duration）とモータ指示時の回転角度θ0、指示時刻t0、現在時刻tから線形補完により近似的に現在の回転角度を求めることもできる。この場合、現在角度θは、例えばθ＝θ0＋（θdist−θ0）×（t−t0）／durationなる式から計算可能である。
【００６１】
ステップＳ１３は、パン・チルト角から現在のカメラ２１の視野におけるブロック毎の背景特徴量を取得して記憶部に記憶する。ステップＳ１３の処理については、より詳細に後述する。ステップＳ１４は、撮像画像を複数のブロックに分割し、ブロック毎の特徴量を計算して記憶部に記憶する。ステップＳ１５は、ステップＳ１３で取得されたブロック単位の背景特徴量とステップＳ１４で計算されたブロック単位の特徴量を比較して前景領域を抽出し、記憶部に記憶する。一方、ステップＳ１６は、カメラ２１からの撮像画像から顔領域３１Ｂを抽出し、記憶部に記憶する。ステップＳ１７は、抽出した顔領域３１Ｂと抽出した前景領域に基づいて人物らしき画像を生成し、記憶部に記憶する。
【００６２】
ステップＳ１８は、人物らしき画像の仮説（又は、候補）を一つ選択し、ステップＳ１９は、首回転駆動部２３により首を駆動して所定量動かして状態遷移を発生させる。ステップＳ２０は、パン・チルト角を示す角度位置情報と位置推定部１７からの人物の位置の過去の推定結果に基づいて上記の如く予測画像を生成し、記憶部に記憶する。ステップＳ２１は、少なくとも生成された予測画像と人らしき画像に基づいて尤度を計算し、記憶部に記憶する。ステップＳ２２は、全ての仮説について尤度の計算が終了したか否かを判定し、判定結果がＮＯであると処理はステップＳ１８へ戻る。
【００６３】
一方、ステップＳ２２の判定結果がＹＥＳであると、ステップＳ２３は、上記パーティクルフィルタによるリサンプリング処理を行う。ステップＳ２４は、必要であれば首を動かす制御指示を首回転駆動部２３に出力する。ステップＳ２５は、人物がいる確率が閾値より低い、即ち、確率が極めて低い場所に関して背景領域を更新し、処理はステップＳ１２へ戻る。
【００６４】
尚、図８において、ステップＳ１６を省略した場合には、ステップＳ１７は抽出した前景領域に基づいて人物らしき画像を生成すれば良い。又、ステップＳ２５を省略しても良い。この場合、ステップＳ２４の後、処理はステップＳ１２へ戻る。
【００６５】
ところで、ステップＳ１３は、水平方向及び垂直方向の１°当たりの画素数をα、βとすると、画像中の顔３１の座標（uf, vf）は、画像中心の座標を（uc, vc）、パン・チルト角を夫々pan, tilt、パン軸とチルト軸とカメラ２１の光学中心との距離を夫々a, bで示すと、予測画像の生成時と同様に計算することができる。予測画像の生成時には予測の(θ, d, ｈ)から、画像中の点を求める必要があるが、ステップＳ１３では、背景特徴量の記憶の際には距離dが十分に遠い距離であると仮定して、パン・チルトの基準位置からのチルト方向の角度をφとし、背景の(θ, φ)の周辺に対する画像特徴量を記憶する。例えば、dθ，dφ毎に特徴量を記憶する場合、パン・チルトをdθ，dφずつ首の可動範囲内全域で行い、各回転位置（パン・チルト位置）において、撮像画像の中心付近で画像特徴量を計算して記憶部に記憶する。首の可動範囲の限界に達した場合には、可動範囲の外側についてもdθ，dφ毎に画像特徴量を計算して記憶部に記憶する。パン・チルトをdθ，dφより大きく行って複数のブロックの画像特徴量を一度に記憶部に記憶しても良いが、撮像画像の中心付近の画像特徴量を記憶する方が特徴量の比較時に誤差が生じる可能性が低くなる。
【００６６】
パン・チルト角（pan, tilt）から、撮像画像中の各ブロックの画像特徴量を取得するには、記憶部に記憶している（θ，φ）毎の特徴量と現在の撮像画像中の座標（u, v）との対応を求める必要がある。この例では、a, bを無視できるくらい十分にdが長いと仮定し、以下の式により求める。
【００６７】
u=uc+α×(θ-pan)
v=vc+β×(φ-tilt)
【００６８】
上記の式を(θ,φ)を求める式に変換すると、以下の式が得られる。
【００６９】
θ=(u-uc)/α+pan
φ=(v-vc)/β＋tilt
これにより、撮像画像内の座標（u, v）における、記憶部に記憶されている（θ,φ）の画像特徴量を取得できる。この（θ,φ）に対応する座標（u, v）付近で画像特徴量を計算して、取得した画像特徴量と比較する。（θ,φ）に対する特徴量は、隣接する（θ＋dθ,φ＋dφ）の特徴量と重複するブロックから計算しても良い。
【００７０】
図９は、撮像画像中の各ブロックの背景特徴量を取得して前景を抽出する図８のステップＳ１３〜Ｓ１５の処理をより詳細に説明するフローチャートである。ブロックの分割方法は、各座標（u, v）を中心として動的に決定しても、予めブロックに分割しておいて各座標（u, v）を含むブロックの特徴を求めるようにしても良い。
【００７１】
図９において、ステップＳ３１は、カメラ２１の視野内の（θ，φ）の範囲を求める。ステップＳ３２は、記憶部に記憶されている範囲内の離散値（θ，φ）に対応する座標（u, v）を求める。ステップＳ３３は、求めた座標（u, v）の中から一つの座標を選択する。ステップＳ３４は、選択した座標（u, v）に対する背景特徴量を対応する（θ，φ）から取得する。ステップＳ３５は、撮像画像中の座標（u, v）の周辺領域に対する特徴量を計算する。ステップＳ３６は、背景特徴量と撮像画像中の特徴量を比較して、座標（u, v）が含まれるブロックが前景領域か否かを決定するか、或いは、前景領域である確率を示す前景度を求める。ステップＳ３７は、ステップＳ３２で抽出した全ての（u, v）についての処理が終了したか否かを判定し、判定結果がＮＯであると処理はステップＳ３３へ戻る。一方、ステップＳ３７の判定結果がＹＥＳであると、処理は終了する。
【００７２】
図１０は、図８のステップＳ２４の処理をより詳細に説明するフローチャートである。図１０において、ステップＳ４１は、現在推定中の全ての人物に対して、推定値θの分散を計算する。ステップＳ４２は、全ての人物の中で最も推定値θの分散が大きい人物とその分散を求める。ステップＳ４３は、推定値θの分散が閾値より大きいか否かを判定する。ステップＳ４３の判定結果がＹＥＳであると、ステップＳ４４は、観測対象である人物の推定値（平均推定値）の（θ，d，ｈ）を求める。ステップＳ４５は、パン・チルト角を夫々θ，atan(h/d)に制御するように制御指示を首回転駆動部２３に出力する。ステップＳ４５の後、或いは、ステップＳ４３の判定結果がＮＯであると、処理は終了する。
【００７３】
尚、ロボット１の目を向けてアイコンタクトを取らせる観測対象であるユーザの決定方法については、必ずしも推定値θの分散が最大のユーザに決定するではなく、別の注目するユーザを優先する等、ロボット１の用途や使用環境に応じて適切に決定すれば良い。上記の例では、推定値θの分散が閾値より大きいか否かに応じてロボット１にパン・チルトを行わせるか否かを決定しているが、例えば最後に顔領域３１Ｂが検出されてからの経過時間等、様々な条件に応じてロボット１のパン・チルトを制御可能である。
【００７４】
図１１は、コンピュータシステムの一例を示すブロック図である。図１１に示すコンピュータシステム１００は、ＣＰＵ１０１、記憶部１０２、インタフェース（Ｉ／Ｆ）１０３、入力装置１０４、及び表示部１０５がバス１０６により接続された構成を有する。ＣＰＵ１０１は、記憶部１０２に格納されたプログラムを実行することによりコンピュータシステム１００全体を制御する。記憶部１０２は、半導体記憶装置、磁気記録媒体、光記録媒体、光磁気記録媒体等で形成可能であり、上記のプログラムや各種データを格納すると共に、ＣＰＵ１０１が実行する演算の中間結果や演算結果等を一時的に格納する一時メモリとしても機能する。Ｉ／Ｆ１０３は、カメラからの撮像画像を受信したり、記憶部１０２に格納するデータをネットワーク（図示せず）から受信することができる。入力装置１０４は、キーボード等により形成可能である。表示部１０５は、ディスプレイ等により形成可能である。入力装置１０４及び表示部１０５は、タッチパネルのように入力装置と表示部の両方の機能を有する入出力装置で形成しても良い。入力装置１０４は、ユーザがロボット１に指示等を入力する必要がない場合には省略可能であり、表示部１０５は、ロボット１がユーザに対してメッセージ等を表示する必要がない場合には省略可能である。又、表示部１０５の代わりに、音声出力部（図示せず）を設けてユーザに対するメッセージ等を音声で出力するようにしても良いことは言うまでもない。
【００７５】
ＣＰＵ１０１は、記憶部１０２に格納されたプログラムを実行することにより、コンピュータシステム１００をロボットとして機能させる。つまり、プログラムは、ＣＰＵ１０１にロボットの各部の機能を実現させる。言い換えると、プログラムは、ＣＰＵ１０１に少なくともロボットの位置推定処理の手順を実行させるものであり、記憶部１０２を含む適切なコンピュータ読み取り可能な記憶媒体に格納されていても良い。従って、ＣＰＵ１０１は、図８乃至図１０の処理を実行可能である。
【００７６】
上記実施例によれば、コミュニケーションロボットは任意のタイミングで任意のユーザとアイコンタクトを取れるので、コミュニケーションロボットとユーザ間のコミュニケーションがスムーズに行え、より自然な対人動作（Interactive Operation）が可能となる。ここで、コミュニケーションとは、言語による対話に限らない。ユーザの推定位置の確度を保つために、コミュニケーションロボットが時々ユーザに視線を向ける動作も、例えば幼児が遊びながら時折母親の存在を確認する動作に似た動作となり、ロボットの動作が非常に自然になる。又、コミュニケーションロボットの動作に対するユーザの表情等をすぐ確認することができる等、コミュニケーションに必要なセンシング（Sensing）性能が向上し、コミュニケーションロボットの基本性能の大幅な向上につながる。
【００７７】
ところで、上記実施例では、カメラはパン・チルト可能であるため、直交する２軸（例えば、ｘｙ座標系のｘ軸及びｙ軸）を中心に回転可能であるか、或いは、パン・チルト・ロール可能であるため、互いに直交する３軸（例えば、ｘｙｚ座標系のｘ軸、ｙ軸及びｚ軸）を中心に回転可能である。しかし、ユーザの位置を推定できるのであれば、カメラは少なくとも１軸を中心に回転可能であれば良い。
【００７８】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
少なくとも１軸を中心に回転可能なカメラと、
前記カメラの撮像画像から観測対象と推定される観測対象らしき画像の観測値を計算する画像生成部と、
観測対象の位置の過去の推定結果と現在の前記カメラの姿勢に基づいて観測対象らしき画像の予測値を計算する画像予測部と、
前記観測値と前記予測値を比較して前記観測値と前記予測値の一致度を尤度として計算する画像比較部と、
前記尤度に基づいて前記観測対象の位置を推定する位置推定部を備えた、ロボット。
（付記２）
前記カメラからの撮像画像から観測対象である人物の顔領域を抽出する顔領域検出部と、
前記カメラからの撮像画像から前景領域を抽出する前景領域抽出部を更に備え、
前記画像生成部は、抽出された顔領域及び前景領域に基づいて人物らしき画像を生成する、付記１記載のロボット。
（付記３）
前記前景領域抽出部は、前記前景領域を抽出する際、前記カメラの可動範囲全域において撮像画像を分割した各ブロックの特徴量を記憶部に予め記憶しておき、前記カメラの現在の撮像画像の各ブロックの特徴量と前記記憶部に予め記憶してある該当ブロックの特徴量を比較し、差異がある部分を前景領域とする、付記２記載のロボット。
（付記４）
前記前景領域抽出部は、前記記憶部に記憶されている背景領域の特徴量と前記カメラの現在の撮像画像の特徴量の比較に基づいて前記前景領域を抽出する際に、バタチャリア距離（Bhattacharyya Distance）又は正規化相関を用い、人物らしき画像を生成する際には前記正規化相関の値又はバタチャリア距離の値をそのまま多値化画像の画素の値として利用する、付記３記載のロボット。
（付記５）
前記位置推定部により推定された前記観測対象の位置の不確実さの評価に基づいて観測方針を決定する観測方針決定部を更に備えた、付記１乃至４のいずれか１項記載のロボット。
（付記６）
前記観測方針に基づいて前記カメラの前記少なくとも１軸に対する回転位置を制御する制御部を更に備えた、付記５記載のロボット。
（付記７）
人物の存在確率がある程度ばらついてきたら、前記制御部を制御することで顔の予測値に向かって前記カメラを動かす、付記６記載のロボット。
（付記８）
少なくとも１軸を中心に回転可能なカメラの撮像画像から観測対象と推定される観測対象らしき画像の観測値を画像生成部により計算する画像生成工程と、
観測対象の位置の過去の推定結果と現在の前記カメラの姿勢に基づいて観測対象らしき画像の予測値を画像予測部により計算する画像予測工程と、
画像比較部により前記観測値と前記予測値を比較して前記観測値と前記予測値の一致度を尤度として計算する画像比較工程と、
前記尤度に基づいて前記観測対象の位置を位置推定部により推定する位置推定工程を含み、
前記画像生成工程は、前記カメラからの撮像画像から観測対象である人物の顔領域を顔領域検出部により抽出し、前記カメラからの撮像画像から前景領域を前景領域抽出部により抽出し、抽出された顔領域及び前景領域に基づいて前記画像生成部により人物らしき画像を生成する、位置推定方法。
（付記９）
前記前景領域を抽出する際、前記カメラの可動範囲全域において撮像画像を分割した各ブロックの特徴量を記憶部に予め記憶しておき、前記カメラの現在の撮像画像の各ブロックの特徴量と前記記憶部に予め記憶してある該当ブロックの特徴量を比較し、差異がある部分を前景領域とする、付記８記載の位置推定方法。
（付記１０）
前記記憶部に記憶されている背景領域の特徴量と前記カメラの現在の撮像画像の特徴量の比較に基づいて前記前景領域を抽出する際に、バタチャリア距離（Bhattacharyya Distance）又は正規化相関を用い、人物らしき画像を生成する際には前記正規化相関の値又はバタチャリア距離の値をそのまま多値化画像の画素の値として利用する、付記９記載の位置推定方法。
（付記１１）
前記位置推定工程により推定された前記観測対象の位置の不確実さの評価に基づいて観測方針を観測方針決定部により決定する観測方針決定工程を更に含む、付記８乃至１０のいずれか１項記載の位置推定方法。
（付記１２）
前記観測方針に基づいて前記カメラの前記少なくとも１軸に対する回転位置を制御部により制御する制御工程を更に含む、付記１１記載の位置推定方法。
（付記１３）
コンピュータに観測対象の位置を推定させる位置推定処理を実行させるプログラムであって、
少なくとも１軸を中心に回転可能なカメラの撮像画像から観測対象と推定される観測対象らしき画像の観測値を計算して記憶部に格納する画像生成手順と、
観測対象の位置の過去の推定結果と現在の前記カメラの姿勢に基づいて観測対象らしき画像の予測値を計算して前記記憶部に格納する画像予測手順と、
前記観測値と前記予測値を比較して前記観測値と前記予測値の一致度を尤度として計算して前記記憶部に記憶する画像比較手順と、
前記尤度に基づいて前記観測対象の位置を推定する位置推定手順と、
前記カメラからの撮像画像から観測対象である人物の顔領域を抽出して前記記憶部に記憶する顔領域抽出手順と、
前記カメラからの撮像画像から前景領域を抽出して前記記憶部に記憶する前景領域抽出手順
を前記コンピュータに実行させ、
前記画像生成手順は、抽出された顔領域及び前景領域に基づいて人物らしき画像を生成する、プログラム。
（付記１４）
前記前景領域抽出手順は、前記前景領域を抽出する際、前記カメラの可動範囲全域において撮像画像を分割した各ブロックの特徴量を記憶部に予め記憶しておき、前記カメラの現在の撮像画像の各ブロックの特徴量と前記記憶部に予め記憶してある該当ブロックの特徴量を比較し、差異がある部分を前景領域とする、付記１３記載のプログラム。
（付記１５）
前記前景領域抽出手順は、前記記憶部に記憶されている背景領域の特徴量と前記カメラの現在の撮像画像の特徴量の比較に基づいて前記前景領域を抽出する際に、バタチャリア距離（Bhattacharyya Distance）又は正規化相関を用い、人物らしき画像を生成する際には前記正規化相関の値又はバタチャリア距離の値をそのまま多値化画像の画素の値として利用する、付記１４記載のプログラム。
（付記１６）
前記位置推定手順により推定された前記観測対象の位置の不確実さの評価に基づいて観測方針を決定する観測方針決定手順
を更に前記コンピュータに実行させる、付記１３乃至１５のいずれか１項記載のプログラム。
（付記１７）
前記観測方針に基づいて前記カメラの前記少なくとも１軸に対する回転位置を制御する制御手順
を更に前記コンピュータに実行させる、付記１６記載のプログラム。
【００７９】
以上、開示の位置推定方法、ロボット及びプログラムを実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。
【符号の説明】
【００８０】
１      コミュニケーションロボット
１１      ロボット本体
１２      顔領域検出部
１３      前景領域抽出部
１４      画像生成部
１５      画像予測部
１６      画像比較部
１７      位置推定部
１８      観測方針決定部
１９      首制御部
２１      カメラ
２２      首角度取得部
２３      首回転駆動部
１０１      ＣＰＵ
１０２      記憶部
【図１】
0005482412.tif 000005
【図２】
0005482412.tif 000006
【図３】
0005482412.tif 000007
【図４】
0005482412.tif 000008
【図５】
0005482412.tif 000009
【図６】
0005482412.tif 000010
【図７】
0005482412.tif 000011
【図８】
0005482412.tif 000012
【図９】
0005482412.tif 000013
【図１０】
0005482412.tif 000014
【図１１】
0005482412.tif 000015