(57)【要約】  ロボットは、全天球カメラにより天球画像１７０を取得し、天球画像１７０を多面体画像１９０に画像変換する。天球画像１７０の画素は多面体画像１９０を構成するいずれかの拡大平行面１６８に投影される。多面体画像１９０に含まれる複数の拡大平行面１６８を対象とした画像認識処理によりロボットは外界を認識し、認識結果に応じてその行動特性を変化させる。ロボットの画像変換部は、ロボット上方を覆う斜方立方八面体を撮像面とした画像の集合を多面体画像１９０として設定する。
2018216710.tif 000002
【特許請求の範囲】
【請求項１】
カメラを中心とする天球面の撮像画像として天球画像を取得する画像取得部と、
前記カメラに対して異なる角度にて対向する複数の平面に対して、前記天球画像の画素を投影することにより、複数の投影画像を取得する画像変換部と、を備えることを特徴とする画像処理装置。
【請求項２】
第１の投影画像と第２の投影画像の双方に投影される単一の外部物体を、前記第１の投影画像および第２の投影画像それぞれの画像認識処理により検出する認識部、を更に備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記複数の投影画像それぞれについて画像認識処理を定期的に実行することにより、外部物体を画像認識する認識部、を更に備え、
前記認識部は、第１の時点において第１の投影画像から前記外部物体を検出したときには、前記第１の時点の次の処理タイミングである第２の時点において前記第１の投影画像に対する画像認識処理を他の投影画像よりも優先して実行することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記複数の平面は、前記カメラを覆う多面体を形成することを特徴とする請求項１から３のいずれかに記載の画像処理装置。
【請求項５】
前記画像変換部は、更に、前記複数の平面の前記カメラに対する相対角度を時系列的に変化させることにより、複数の相対角度それぞれに対応して前記複数の投影画像を取得することを特徴とする請求項１に記載の画像処理装置。
【請求項６】
カメラを中心とする天球面の撮像画像として天球画像を取得する画像取得部と、
前記カメラに対して異なる角度にて前記カメラを包囲する複数の円筒画像に対して、前記天球画像の画素を投影することにより、複数の投影画像を取得する画像変換部と、を備えることを特徴とする画像処理装置。
【請求項７】
カメラを中心とする天球面の撮像画像として天球画像を取得する機能と、
前記カメラに対して異なる角度にて対向する複数の平面に対して、前記天球画像の画素を投影することにより、複数の投影画像を取得する機能と、をコンピュータに発揮させることを特徴とする画像処理プログラム。
【請求項８】
カメラを中心とする天球面の撮像画像として天球画像を取得する機能と、
前記カメラに対して異なる角度にて前記カメラを包囲する複数の円筒画像に対して、前記天球画像の画素を投影することにより、複数の投影画像を取得する機能と、をコンピュータに発揮させることを特徴とする画像処理プログラム。
【請求項９】
ロボット上方の略全域を同時に撮像可能なカメラと、
ロボット上方を覆う天球面の撮像画像である天球画像を前記カメラから取得し、前記天球画像を多面体画像に変換する画像変換部と、
前記多面体画像から外部物体を画像認識する認識部と、
前記外部物体に対応して、ロボットのモーションを選択する動作制御部と、
前記動作制御部により選択されたモーションを実行する駆動機構と、を備え、
前記画像変換部は、ロボット上方を覆う多面体を撮像面とした画像を前記多面体画像として設定し、前記天球画像の画素を前記多面体のいずれかの面に投影することにより、前記天球画像を前記多面体画像に変換することを特徴とする自律行動型ロボット。
【請求項１０】
前記画像変換部は、前記多面体の複数の面をそれぞれ平行に拡大させることにより複数の拡大平行面を設定し、前記天球画像の画素を２以上の拡大平行面に多重投影させることを特徴とする請求項９に記載の自律行動型ロボット。
【請求項１１】
前記多面体は、前記天球面の中心と天頂を結ぶ軸に対して垂直な平面を含むことを特徴とする請求項９または１０に記載の自律行動型ロボット。
【請求項１２】
前記画像変換部は、前記天頂画像に含まれる複数の画素それぞれの投影処理を同時実行することを特徴とする請求項９に記載の自律行動型ロボット。
【請求項１３】
ロボット上方の略全域を同時に撮像可能なカメラと、
ロボット上方を覆う天球面の撮像画像である天球画像を前記カメラから取得し、前記天球画像を多重円筒画像に変換する画像変換部と、
前記多重円筒画像から外部物体を画像認識する認識部と、
前記外部物体に対応して、ロボットのモーションを選択する動作制御部と、
前記動作制御部により選択されたモーションを実行する駆動機構と、を備え、
前記画像変換部は、ロボットを包囲する円筒の側面に前記天球画像の画素を投影することにより円筒画像を形成し、円筒と天球の複数の相対角度に対応する複数の円筒画像の集合を前記多重円筒画像として設定することにより、前記天球画像を前記多重円筒画像に変換することを特徴とする自律行動型ロボット。
【請求項１４】
前記画像変換部は、更に、前記複数の円筒画像それぞれの中央から抽出された複数の部分画像の集合を前記多重円筒画像として設定することを特徴とする請求項１３に記載の自律行動型ロボット。
【請求項１５】
ロボット上方を覆う天球面の撮像画像である天球画像を取得する機能と、
ロボット上方を覆う多面体を撮像面とした画像を多面体画像として設定し、前記天球画像の画素を前記多面体のいずれかの面に投影することにより、前記天球画像を前記多面体画像に変換する機能と、
前記多面体画像から外部物体を画像認識する機能と、
前記外部物体に対応して、ロボットのモーションを選択する機能と、をコンピュータに発揮させることを特徴とする自律行動型ロボットの行動制御プログラム。
【請求項１６】
ロボット上方を覆う天球面の撮像画像である天球画像を前記カメラから取得する機能と、
ロボットを包囲する円筒の側面に前記天球画像の画素を投影することにより円筒画像を形成し、円筒と天球の複数の相対角度に対応する複数の円筒画像の集合を前記多重円筒画像として設定することにより、前記天球画像を前記多重円筒画像に変換する機能と、
前記多重円筒画像から外部物体を画像認識する機能と、
前記外部物体に対応して、ロボットのモーションを選択する機能と、をコンピュータに発揮させることを特徴とする自律行動型ロボットの行動制御プログラム。
【請求項１７】
カメラを中心とする天球画像を撮像可能な第１および第２のカメラと、
前記天球画像を前記第１および第２のカメラそれぞれから取得し、カメラに対して異なる角度にて対向する複数の平面に対して、天球画像の画素を投影することにより、複数の投影画像を取得する画像変換部と、
前記複数の投影画像から外部物体を画像認識する認識部と、
前記外部物体が含まれる前記第１のカメラによる天球画像に基づいて生成された第１の投影画像と、同一の外部物体が含まれる前記第２のカメラによる天球画像に基づいて生成された第２の投影画像とに基づく三角測距により、前記外部物体までの距離を測定する測距部と、を備えることを特徴とする測定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、天球画像に基づく画像認識を支援する技術、に関する。
【背景技術】
【０００２】
人間は、癒やしを求めてペットを飼う。その一方、ペットの世話をする時間を十分に確保できない、ペットを飼える住環境にない、アレルギーがある、死別がつらい、といったさまざまな理由により、ペットをあきらめている人は多い。もし、ペットの役割が務まるロボットがあれば、ペットを飼えない人にもペットが与えてくれるような癒やしを与えられるかもしれない（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−３２３２１９号公報
【特許文献２】特開２０１３−１９８０６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
生物の行動の前提は、外界の認知である。ロボットにおいても人間的・生物的な行動を実現するためには、ロボットに外界を正確に認識させる必要がある。本発明者らは、ユーザを中心とした天球面を一度に撮像可能な全天球カメラ（特許文献２参照）をロボットに搭載すれば、ロボットの認知能力を飛躍的に拡大できると想到した。しかし、全天球カメラによる天球画像は歪みが大きいため、天球画像を対象とした画像認識処理は難しい。【０００５】
本発明は、本発明者らの上記着想とそれにともなう課題認識に基づいて完成された発明であり、その主たる目的は、天球画像の歪みを補正する技術、特に、天球画像の歪みを補正することによりロボットの天球画像に基づく外界認識を支援するための技術、を提供することにある。
【課題を解決するための手段】
【０００６】
本発明のある態様における画像処理装置は、カメラを中心とする天球面の撮像画像として天球画像を取得する画像取得部と、カメラに対して異なる角度にて対向する複数の平面に対して、天球画像の画素を投影することにより、複数の投影画像を取得する画像変換部と、を備える。【０００７】
本発明の別の態様における画像処理装置は、カメラを中心とする天球面の撮像画像として天球画像を取得する画像取得部と、カメラに対して異なる角度にてカメラを包囲する複数の円筒画像に対して、天球画像の画素を投影することにより、複数の投影画像を取得する画像変換部と、を備える。【０００８】
本発明のある態様における自律行動型ロボットは、ロボット上方の略全域を同時に撮像可能なカメラと、ロボット上方を覆う天球面の撮像画像である天球画像をカメラから取得し、天球画像を多面体画像に変換する画像変換部と、多面体画像から外部物体を画像認識する認識部と、外部物体に対応して、ロボットのモーションを選択する動作制御部と、動作制御部により選択されたモーションを実行する駆動機構と、を備える。
画像変換部は、ロボット上方を覆う多面体を撮像面とした画像を多面体画像として設定し、天球画像の画素を多面体のいずれかの面に投影することにより、天球画像を多面体画像に変換する。【０００９】
本発明の別の態様における自律行動型ロボットは、ロボット上方の略全域を同時に撮像可能なカメラと、ロボット上方を覆う天球面の撮像画像である天球画像をカメラから取得し、天球画像を多重円筒画像に変換する画像変換部と、多重円筒画像から外部物体を画像認識する認識部と、外部物体に対応して、ロボットのモーションを選択する動作制御部と、動作制御部により選択されたモーションを実行する駆動機構と、を備える。
画像変換部は、ロボットを包囲する円筒の側面に天球画像の画素を投影することにより円筒画像を形成し、円筒と天球の複数の相対角度に対応する複数の円筒画像の集合を前記多重円筒画像として設定することにより、天球画像を多重円筒画像に変換する。【００１０】
本発明のある態様における測定装置は、カメラを中心とする天球画像を撮像可能な第１および第２のカメラと、天球画像を第１および第２のカメラそれぞれから取得し、カメラに対して異なる角度にて対向する複数の平面に対して、天球画像の画素を投影することにより、複数の投影画像を取得する画像変換部と、複数の投影画像から外部物体を画像認識する認識部と、外部物体が含まれる第１のカメラによる天球画像に基づいて生成された第１の投影画像と、同一の外部物体が含まれる第２のカメラによる天球画像に基づいて生成された第２の投影画像に基づく三角測距により、外部物体までの距離を測定する測距部と、を備える。
【発明の効果】
【００１１】
本発明によれば、天球画像に対して、画像認識を行う上で好適な補正を施すことできる。
【図面の簡単な説明】
【００１２】
【図１（ａ）】ロボットの正面外観図である。
【図１（ｂ）】ロボットの側面外観図である。
【図２】ロボットの構造を概略的に表す断面図である。
【図３】ロボットシステムの構成図である。
【図４】感情マップの概念図である。
【図５】ロボットのハードウェア構成図である。
【図６】ロボットシステムの機能ブロック図である。
【図７】天球画像の生成方法を説明するための模式図である。
【図８】天球画像の模式図である。
【図９】正距円筒図法における円筒面と天球面の関係を説明するための模式図である。
【図１０】正距円筒図法による天球画像から単一円筒画像への画像投影方法を説明するための模式図である。
【図１１】斜方立法八面体の斜視図である。
【図１２】斜方立法八面体の展開図である。
【図１３】斜方立法八面体と天球面の側断面図である。
【図１４】拡大平方面の部分切り出しを説明するための模式図である。
【図１５】多面体投影法を説明するための模式図である。
【図１６】第１実施形態における画像処理過程を示すフローチャートである。
【図１７】多重円筒投影法を説明するための第１の模式図である。
【図１８】多重円筒投影法を説明するための第２の模式図である。
【図１９】多重円筒投影法により生成される多重円筒画像の概念図である。
【図２０】第２実施形態における画像処理過程を示すフローチャートである。
【図２１（ａ）】第３実施形態におけるロボットの正面外観図である。
【図２１（ｂ）】第３実施形態におけるロボットの側面外観図である。
【図２２】ロボットから外部物体までの距離を測定する方法を説明するための模式図である。
【図２３】五角錐台の斜視図である。
【図２４】五角錐台（ｔ１）を上から見たときの模式図である。
【図２５】五角錐台（ｔ２）を上から見たときの模式図である。
【図２６】五角錐台の展開図である。
【図２７】拡大天頂面の回転を説明するための模式図である。
【図２８】複数の拡大側面のつなぎ合わせを示す模式図である。
【発明を実施するための形態】
【００１３】
図１（ａ）は、ロボット１００の正面外観図である。図１（ｂ）は、ロボット１００の側面外観図である。
本実施形態におけるロボット１００は、外部環境および内部状態に基づいて行動や仕草（ジェスチャー）を決定する自律行動型のロボットである。外部環境は、カメラやサーモセンサなど各種のセンサにより認識される。内部状態はロボット１００の感情を表現するさまざまなパラメータとして定量化される。これらについては後述する。
【００１４】
ロボット１００は、原則として、オーナー家庭の家屋内を行動範囲とする。以下、ロボット１００に関わる人間を「ユーザ」とよび、特に、ロボット１００が所属する家庭の構成員となるユーザのことを「オーナー」とよぶ。
【００１５】
ロボット１００のボディ１０４は、全体的に丸みを帯びた形状を有し、ウレタンやゴム、樹脂、繊維などやわらかく弾力性のある素材により形成された外皮を含む。ロボット１００に服を着せてもよい。丸くてやわらかく、手触りのよいボディ１０４とすることで、ロボット１００はユーザに安心感とともに心地よい触感を提供する。
【００１６】
ロボット１００は、総重量が１５キログラム以下、好ましくは１０キログラム以下、更に好ましくは、５キログラム以下である。生後１３ヶ月までに、赤ちゃんの過半数は一人歩きを始める。生後１３ヶ月の赤ちゃんの平均体重は、男児が９キログラム強、女児が９キログラム弱である。このため、ロボット１００の総重量が１０キログラム以下であれば、ユーザは一人歩きできない赤ちゃんを抱きかかえるのとほぼ同等の労力でロボット１００を抱きかかえることができる。生後２ヶ月未満の赤ちゃんの平均体重は男女ともに５キログラム未満である。したがって、ロボット１００の総重量が５キログラム以下であれば、ユーザは乳児を抱っこするのと同等の労力でロボット１００を抱っこできる。
【００１７】
適度な重さと丸み、柔らかさ、手触りのよさ、といった諸属性により、ユーザがロボット１００を抱きかかえやすく、かつ、抱きかかえたくなるという効果が実現される。同様の理由から、ロボット１００の身長は１．２メートル以下、好ましくは、０．７メートル以下であることが望ましい。本実施形態におけるロボット１００にとって、抱きかかえることができるというのは重要なコンセプトである。
【００１８】
ロボット１００は、３輪走行するための３つの車輪を備える。図示のように、一対の前輪１０２（左輪１０２ａ，右輪１０２ｂ）と、一つの後輪１０３を含む。前輪１０２が駆動輪であり、後輪１０３が従動輪である。前輪１０２は、操舵機構を有しないが、回転速度や回転方向を個別に制御可能とされている。後輪１０３は、いわゆるオムニホイールからなり、ロボット１００を前後左右へ移動させるために回転自在となっている。左輪１０２ａよりも右輪１０２ｂの回転数を大きくすることで、ロボット１００は左折したり、左回りに回転できる。右輪１０２ｂよりも左輪１０２ａの回転数を大きくすることで、ロボット１００は右折したり、右回りに回転できる。
【００１９】
前輪１０２および後輪１０３は、駆動機構（回動機構、リンク機構）によりボディ１０４に完全収納できる。走行時においても各車輪の大部分はボディ１０４に隠れているが、各車輪がボディ１０４に完全収納されるとロボット１００は移動不可能な状態となる。すなわち、車輪の収納動作にともなってボディ１０４が降下し、床面Ｆに着座する。この着座状態においては、ボディ１０４の底部に形成された平坦状の着座面１０８（接地底面）が床面Ｆに当接する。
【００２０】
ロボット１００は、２つの手１０６を有する。手１０６には、モノを把持する機能はない。手１０６は上げる、振る、振動するなど簡単な動作が可能である。２つの手１０６も個別制御可能である。
【００２１】
目１１０は、液晶素子または有機ＥＬ素子による画像表示が可能である。ロボット１００は、音源方向を特定可能なマイクロフォンアレイや超音波センサなどさまざまなセンサを搭載する。また、スピーカーを内蔵し、簡単な音声を発することもできる。
【００２２】
ロボット１００の頭部にはツノ１１２が取り付けられる。上述のようにロボット１００は軽量であるため、ユーザはツノ１１２をつかむことでロボット１００を持ち上げることも可能である。ツノ１１２には全天球カメラが取り付けられ、ロボット１００の上部全域を一度に撮像可能である。
【００２３】
図２は、ロボット１００の構造を概略的に表す断面図である。
図２に示すように、ロボット１００のボディ１０４は、ベースフレーム３０８、本体フレーム３１０、一対の樹脂製のホイールカバー３１２および外皮３１４を含む。ベースフレーム３０８は、金属からなり、ボディ１０４の軸芯を構成するとともに内部機構を支持する。ベースフレーム３０８は、アッパープレート３３２とロアプレート３３４とを複数のサイドプレート３３６により上下に連結して構成される。複数のサイドプレート３３６間には通気が可能となるよう、十分な間隔が設けられる。ベースフレーム３０８の内方には、バッテリー１１８、制御回路３４２および各種アクチュエータが収容されている。
【００２４】
本体フレーム３１０は、樹脂材からなり、頭部フレーム３１６および胴部フレーム３１８を含む。頭部フレーム３１６は、中空半球状をなし、ロボット１００の頭部骨格を形成する。胴部フレーム３１８は、段付筒形状をなし、ロボット１００の胴部骨格を形成する。胴部フレーム３１８は、ベースフレーム３０８と一体に固定される。頭部フレーム３１６は、胴部フレーム３１８の上端部に相対変位可能に組み付けられる。
【００２５】
頭部フレーム３１６には、ヨー軸３２０、ピッチ軸３２２およびロール軸３２４の３軸と、各軸を回転駆動するためのアクチュエータ３２６が設けられる。アクチュエータ３２６は、各軸を個別に駆動するための複数のサーボモータを含む。首振り動作のためにヨー軸３２０が駆動され、頷き動作のためにピッチ軸３２２が駆動され、首を傾げる動作のためにロール軸３２４が駆動される。
【００２６】
頭部フレーム３１６の上部には、ヨー軸３２０を支持するプレート３２５が固定されている。プレート３２５には、上下間の通気を確保するための複数の通気孔３２７が形成される。
【００２７】
頭部フレーム３１６およびその内部機構を下方から支持するように、金属製のベースプレート３２８が設けられる。ベースプレート３２８は、クロスリンク機構３２９（パンタグラフ機構）を介してプレート３２５と連結される一方、ジョイント３３０を介してアッパープレート３３２（ベースフレーム３０８）と連結されている。
【００２８】
胴部フレーム３１８は、ベースフレーム３０８と車輪駆動機構３７０を収容する。車輪駆動機構３７０は、回動軸３７８およびアクチュエータ３７９を含む。胴部フレーム３１８の下半部は、ホイールカバー３１２との間に前輪１０２の収納スペースＳを形成するために小幅とされている。
【００２９】
外皮３１４は、ウレタンゴムからなり、本体フレーム３１０およびホイールカバー３１２を外側から覆う。手１０６は、外皮３１４と一体成形される。外皮３１４の上端部には、外気を導入するための開口部３９０が設けられる。
【００３０】
図３は、ロボットシステム３００の構成図である。
ロボットシステム３００は、ロボット１００、サーバ２００および複数の外部センサ１１４を含む。家屋内にはあらかじめ複数の外部センサ１１４（外部センサ１１４ａ、１１４ｂ、・・・、１１４ｎ）が設置される。外部センサ１１４は、家屋の壁面に固定されてもよいし、床に載置されてもよい。サーバ２００には、外部センサ１１４の位置座標が登録される。位置座標は、ロボット１００の行動範囲として想定される家屋内においてｘ，ｙ座標として定義される。
【００３１】
サーバ２００は、家屋内に設置される。本実施形態におけるサーバ２００とロボット１００は、通常、１対１で対応する。ロボット１００の内蔵するセンサおよび複数の外部センサ１１４から得られる情報に基づいて、サーバ２００がロボット１００の基本行動を決定する。
外部センサ１１４はロボット１００の感覚器を補強するためのものであり、サーバ２００はロボット１００の頭脳を補強するためのものである。
【００３２】
外部センサ１１４は、定期的に外部センサ１１４のＩＤ（以下、「ビーコンＩＤ」とよぶ）を含む無線信号（以下、「ロボット探索信号」とよぶ）を送信する。ロボット１００はロボット探索信号を受信するとビーコンＩＤを含む無線信号（以下、「ロボット返答信号」とよぶ）を返信する。サーバ２００は、外部センサ１１４がロボット探索信号を送信してからロボット返答信号を受信するまでの時間を計測し、外部センサ１１４からロボット１００までの距離を測定する。複数の外部センサ１１４とロボット１００とのそれぞれの距離を計測することで、ロボット１００の位置座標を特定する。
もちろん、ロボット１００が自らの位置座標を定期的にサーバ２００に送信する方式でもよい。
【００３３】
図４は、感情マップ１１６の概念図である。
感情マップ１１６は、サーバ２００に格納されるデータテーブルである。ロボット１００は、感情マップ１１６にしたがって行動選択する。図４に示す感情マップ１１６は、ロボット１００の場所に対する好悪感情の大きさを示す。感情マップ１１６のｘ軸とｙ軸は、二次元空間座標を示す。ｚ軸は、好悪感情の大きさを示す。ｚ値が正値のときにはその場所に対する好感が高く、ｚ値が負値のときにはその場所を嫌悪していることを示す。
【００３４】
図４の感情マップ１１６において、座標Ｐ１は、ロボット１００の行動範囲としてサーバ２００が管理する屋内空間のうち好感情が高い地点（以下、「好意地点」とよぶ）である。好意地点は、ソファの陰やテーブルの下などの「安全な場所」であってもよいし、リビングのように人が集まりやすい場所、賑やかな場所であってもよい。また、過去にやさしく撫でられたり、触れられたりした場所であってもよい。
ロボット１００がどのような場所を好むかという定義は任意であるが、一般的には、小さな子どもや犬や猫などの小動物が好む場所を好意地点として設定することが望ましい。
【００３５】
座標Ｐ２は、悪感情が高い地点（以下、「嫌悪地点」とよぶ）である。嫌悪地点は、テレビの近くなど大きな音がする場所、お風呂や洗面所のように濡れやすい場所、閉鎖空間や暗い場所、ユーザから乱暴に扱われたことがある不快な記憶に結びつく場所などであってもよい。
ロボット１００がどのような場所を嫌うかという定義も任意であるが、一般的には、小さな子どもや犬や猫などの小動物が怖がる場所を嫌悪地点として設定することが望ましい。
【００３６】
座標Ｑは、ロボット１００の現在位置を示す。複数の外部センサ１１４が定期的に送信するロボット探索信号とそれに対するロボット返答信号により、サーバ２００はロボット１００の位置座標を特定する。たとえば、ビーコンＩＤ＝１の外部センサ１１４とビーコンＩＤ＝２の外部センサ１１４がそれぞれロボット１００を検出したとき、２つの外部センサ１１４からロボット１００の距離を求め、そこからロボット１００の位置座標を求める。
【００３７】
図４に示す感情マップ１１６が与えられた場合、ロボット１００は好意地点（座標Ｐ１）に引き寄せられる方向、嫌悪地点（座標Ｐ２）から離れる方向に移動する。
【００３８】
感情マップ１１６は動的に変化する。ロボット１００が座標Ｐ１に到達すると、座標Ｐ１におけるｚ値（好感情）は時間とともに低下する。これにより、ロボット１００は好意地点（座標Ｐ１）に到達して、「感情が満たされ」、やがて、その場所に「飽きてくる」という生物的行動をエミュレートできる。同様に、座標Ｐ２における悪感情も時間とともに緩和される。時間経過とともに新たな好意地点や嫌悪地点が生まれ、それによってロボット１００は新たな行動選択を行う。ロボット１００は、新しい好意地点に「興味」を持ち、絶え間なく行動選択する。
【００３９】
感情マップ１１６は、ロボット１００の内部状態として、感情の起伏を表現する。ロボット１００は、好意地点を目指し、嫌悪地点を避け、好意地点にしばらくとどまり、やがてまた次の行動を起こす。このような制御により、ロボット１００の行動選択を人間的・生物的なものにできる。
【００４０】
なお、ロボット１００の行動に影響を与えるマップ（以下、「行動マップ」と総称する）は、図４に示したようなタイプの感情マップ１１６に限らない。たとえば、好奇心、恐怖を避ける気持ち、安心を求める気持ち、静けさや薄暗さ、涼しさや暖かさといった肉体的安楽を求める気持ち、などさまざまな行動マップを定義可能である。そして、複数の行動マップそれぞれのｚ値を重み付け平均することにより、ロボット１００の目的地点を決定してもよい。
【００４１】
ロボット１００は、行動マップとは別に、さまざまな感情や感覚の大きさを示すパラメータを有する。たとえば、寂しさという感情パラメータの値が高まっているときには、安心する場所を評価する行動マップの重み付け係数を大きく設定し、目標地点に到達することでこの感情パラメータの値を低下させる。同様に、つまらないという感覚を示すパラメータの値が高まっているときには、好奇心を満たす場所を評価する行動マップの重み付け係数を大きく設定すればよい。
【００４２】
図５は、ロボット１００のハードウェア構成図である。
ロボット１００は、内部センサ１２８、通信機１２６、記憶装置１２４、プロセッサ１２２、駆動機構１２０およびバッテリー１１８を含む。駆動機構１２０は、上述した車輪駆動機構３７０を含む。プロセッサ１２２と記憶装置１２４は、制御回路３４２に含まれる。各ユニットは電源線１３０および信号線１３２により互いに接続される。バッテリー１１８は、電源線１３０を介して各ユニットに電力を供給する。各ユニットは信号線１３２により制御信号を送受する。バッテリー１１８は、リチウムイオン二次電池であり、ロボット１００の動力源である。
【００４３】
内部センサ１２８は、ロボット１００が内蔵する各種センサの集合体である。具体的には、カメラ（全天球カメラ）、マイクロフォンアレイ、測距センサ（赤外線センサ）、サーモセンサ、タッチセンサ、加速度センサ、ニオイセンサなどである。タッチセンサは、外皮３１４と本体フレーム３１０の間に設置され、ユーザのタッチを検出する。ニオイセンサは、匂いの元となる分子の吸着によって電気抵抗が変化する原理を応用した既知のセンサである。
【００４４】
通信機１２６は、サーバ２００や外部センサ１１４、ユーザの有する携帯機器など各種の外部機器を対象として無線通信を行う通信モジュールである。記憶装置１２４は、不揮発性メモリおよび揮発性メモリにより構成され、コンピュータプログラムや各種設定情報を記憶する。プロセッサ１２２は、コンピュータプログラムの実行手段である。駆動機構１２０は、内部機構を制御するアクチュエータである。このほかには、表示器やスピーカーなども搭載される。
【００４５】
プロセッサ１２２は、通信機１２６を介してサーバ２００や外部センサ１１４と通信しながら、ロボット１００の行動選択を行う。内部センサ１２８により得られるさまざまな外部情報も行動選択に影響する。駆動機構１２０は、主として、車輪（前輪１０２）と頭部（頭部フレーム３１６）を制御する。駆動機構１２０は、２つの前輪１０２それぞれの回転速度や回転方向を変化させることにより、ロボット１００の移動方向や移動速度を変化させる。また、駆動機構１２０は、車輪（前輪１０２および後輪１０３）を昇降させることもできる。車輪が上昇すると、車輪はボディ１０４に完全に収納され、ロボット１００は着座面１０８にて床面Ｆに当接し、着座状態となる。また、駆動機構１２０は、ワイヤ１３５を介して、手１０６を制御する。
【００４６】
図６は、ロボットシステム３００の機能ブロック図である。
上述のように、ロボットシステム３００は、ロボット１００、サーバ２００および複数の外部センサ１１４を含む。ロボット１００およびサーバ２００の各構成要素は、ＣＰＵ（Central Processing Unit）および各種コプロセッサなどの演算器、メモリやストレージといった記憶装置、それらを連結する有線または無線の通信線を含むハードウェアと、記憶装置に格納され、演算器に処理命令を供給するソフトウェアによって実現される。コンピュータプログラムは、デバイスドライバ、オペレーティングシステム、それらの上位層に位置する各種アプリケーションプログラム、また、これらのプログラムに共通機能を提供するライブラリによって構成されてもよい。以下に説明する各ブロックは、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
ロボット１００の機能の一部はサーバ２００により実現されてもよいし、サーバ２００の機能の一部または全部はロボット１００により実現されてもよい。
【００４７】
（サーバ２００）
サーバ２００は、通信部２０４、データ処理部２０２およびデータ格納部２０６を含む。
通信部２０４は、外部センサ１１４およびロボット１００との通信処理を担当する。データ格納部２０６は各種データを格納する。データ処理部２０２は、通信部２０４により取得されたデータおよびデータ格納部２０６に格納されるデータに基づいて各種処理を実行する。データ処理部２０２は、通信部２０４およびデータ格納部２０６のインタフェースとしても機能する。
【００４８】
データ格納部２０６は、モーション格納部２３２、マップ格納部２１６および個人データ格納部２１８を含む。
ロボット１００は、複数の動作パターン（モーション）を有する。手１０６を震わせる、蛇行しながらオーナーに近づく、首をかしげたままオーナーを見つめる、などさまざまなモーションが定義される。
【００４９】
モーション格納部２３２は、モーションの制御内容を定義する「モーションファイル」を格納する。各モーションは、モーションＩＤにより識別される。モーションファイルは、ロボット１００のモーション格納部１６０にもダウンロードされる。どのモーションを実行するかは、サーバ２００で決定されることもあるし、ロボット１００で決定されることもある。
【００５０】
ロボット１００のモーションの多くは、複数の単位モーションを含む複合モーションとして構成される。たとえば、ロボット１００がオーナーに近づくとき、オーナーの方に向き直る単位モーション、手を上げながら近づく単位モーション、体を揺すりながら近づく単位モーション、両手を上げながら着座する単位モーションの組み合わせとして表現されてもよい。このような４つのモーションの組み合わせにより、「オーナーに近づいて、途中で手を上げて、最後は体をゆすった上で着座する」というモーションが実現される。モーションファイルには、ロボット１００に設けられたアクチュエータの回転角度や角速度などが時間軸に関連づけて定義される。モーションファイル（アクチュエータ制御情報）にしたがって、時間経過とともに各アクチュエータを制御することで様々なモーションが表現される。
【００５１】
先の単位モーションから次の単位モーションに変化するときの移行時間を「インターバル」とよぶ。インターバルは、単位モーション変更に要する時間やモーションの内容に応じて定義されればよい。インターバルの長さは調整可能である。
以下、いつ、どのモーションを選ぶか、モーションを実現する上での各アクチュエータの出力調整など、ロボット１００の行動制御に関わる設定のことを「行動特性」と総称する。ロボット１００の行動特性は、モーション選択アルゴリズム、モーションの選択確率、モーションファイル等により定義される。
【００５２】
モーション格納部２３２は、モーションファイルのほか、各種のイベントが発生したときに実行すべきモーションを定義するモーション選択テーブルを格納する。モーション選択テーブルにおいては、イベントに対して１以上のモーションとその選択確率が対応づけられる。
【００５３】
マップ格納部２１６は、複数の行動マップのほか、椅子やテーブルなどの障害物の配置状況を示すマップも格納する。個人データ格納部２１８は、ユーザ、特に、オーナーの情報を格納する。具体的には、ユーザに対する親密度とユーザの身体的特徴・行動的特徴を示すマスタ情報を格納する。年齢や性別などの他の属性情報を格納してもよい。
【００５４】
ロボット１００は、ユーザごとに親密度という内部パラメータを有する。ロボット１００が、自分を抱き上げる、声をかけてくれるなど、自分に対して好意を示す行動を認識したとき、そのユーザに対する親密度が高くなる。ロボット１００に関わらないユーザや、乱暴を働くユーザ、出会う頻度が低いユーザに対する親密度は低くなる。
【００５５】
データ処理部２０２は、位置管理部２０８、マップ管理部２１０、認識部２１２、動作制御部２２２、親密度管理部２２０および状態管理部２４４を含む。
位置管理部２０８は、ロボット１００の位置座標を、図３を用いて説明した方法にて特定する。位置管理部２０８はユーザの位置座標もリアルタイムで追跡してもよい。
【００５６】
状態管理部２４４は、充電率や内部温度、プロセッサ１２２の処理負荷などの各種物理状態など各種内部パラメータを管理する。状態管理部２４４は、感情管理部２３４を含む。
感情管理部２３４は、ロボット１００の感情（寂しさ、好奇心、承認欲求など）を示すさまざまな感情パラメータを管理する。これらの感情パラメータは常に揺らいでいる。感情パラメータに応じて複数の行動マップの重要度が変化し、行動マップによってロボット１００の移動目標地点が変化し、ロボット１００の移動や時間経過によって感情パラメータが変化する。
【００５７】
たとえば、寂しさを示す感情パラメータが高いときには、感情管理部２３４は安心する場所を評価する行動マップの重み付け係数を大きく設定する。ロボット１００が、この行動マップにおいて寂しさを解消可能な地点に至ると、感情管理部２３４は寂しさを示す感情パラメータを低下させる。また、後述の応対行為によっても各種感情パラメータは変化する。たとえば、オーナーから「抱っこ」をされると寂しさを示す感情パラメータは低下し、長時間にわたってオーナーを視認しないときには寂しさを示す感情パラメータは少しずつ増加する。
【００５８】
マップ管理部２１０は、複数の行動マップについて図４に関連して説明した方法にて各座標のパラメータを変化させる。マップ管理部２１０は、複数の行動マップのいずれかを選択してもよいし、複数の行動マップのｚ値を加重平均してもよい。たとえば、行動マップＡでは座標Ｒ１、座標Ｒ２におけるｚ値が４と３であり、行動マップＢでは座標Ｒ１、座標Ｒ２におけるｚ値が−１と３であるとする。単純平均の場合、座標Ｒ１の合計ｚ値は４−１＝３、座標Ｒ２の合計ｚ値は３＋３＝６であるから、ロボット１００は座標Ｒ１ではなく座標Ｒ２の方向に向かう。
行動マップＡを行動マップＢの５倍重視するときには、座標Ｒ１の合計ｚ値は４×５−１＝１９、座標Ｒ２の合計ｚ値は３×５＋３＝１８であるから、ロボット１００は座標Ｒ１の方向に向かう。
【００５９】
認識部２１２は、外部環境を認識する。外部環境の認識には、温度や湿度に基づく天候や季節の認識、光量や温度に基づく物陰（安全地帯）の認識など多様な認識が含まれる。ロボット１００の認識部１５６は、内部センサ１２８により各種の環境情報を取得し、これを一次処理した上でサーバ２００の認識部２１２に転送する。
【００６０】
具体的には、ロボット１００の認識部１５６は、画像から移動物体、特に、人物や動物に対応する画像領域を抽出し、抽出した画像領域から移動物体の身体的特徴や行動的特徴を示す特徴量の集合として「特徴ベクトル」を抽出する。特徴ベクトル成分（特徴量）は、各種身体的・行動的特徴を定量化した数値である。たとえば、人間の目の横幅は０〜１の範囲で数値化され、１つの特徴ベクトル成分を形成する。人物の撮像画像から特徴ベクトルを抽出する手法については、既知の顔認識技術の応用である。ロボット１００は、特徴ベクトルをサーバ２００に送信する。
【００６１】
サーバ２００の認識部２１２は、更に、人物認識部２１４と応対認識部２２８を含む。
人物認識部２１４は、ロボット１００の内蔵カメラによる撮像画像から抽出された特徴ベクトルと、個人データ格納部２１８にあらかじめ登録されているユーザ（クラスタ）の特徴ベクトルと比較することにより、撮像されたユーザがどの人物に該当するかを判定する（ユーザ識別処理）。人物認識部２１４は、表情認識部２３０を含む。表情認識部２３０は、ユーザの表情を画像認識することにより、ユーザの感情を推定する。
なお、人物認識部２１４は、人物以外の移動物体、たとえば、ペットである猫や犬についてもユーザ識別処理を行う。
【００６２】
応対認識部２２８は、ロボット１００になされたさまざまな応対行為を認識し、快・不快行為に分類する。応対認識部２２８は、また、ロボット１００の行動に対するオーナーの応対行為を認識することにより、肯定・否定反応に分類する。
快・不快行為は、ユーザの応対行為が、生物として心地よいものであるか不快なものであるかにより判別される。たとえば、抱っこされることはロボット１００にとって快行為であり、蹴られることはロボット１００にとって不快行為である。肯定・否定反応は、ユーザの応対行為が、ユーザの快感情を示すものか不快感情を示すものであるかにより判別される。たとえば、抱っこされることはユーザの快感情を示す肯定反応であり、蹴られることはユーザの不快感情を示す否定反応である。
【００６３】
サーバ２００の動作制御部２２２は、ロボット１００の動作制御部１５０と協働して、ロボット１００のモーションを決定する。サーバ２００の動作制御部２２２は、マップ管理部２１０による行動マップ選択に基づいて、ロボット１００の移動目標地点とそのための移動ルートを作成する。動作制御部２２２は、複数の移動ルートを作成し、その上で、いずれかの移動ルートを選択してもよい。
【００６４】
動作制御部２２２は、モーション格納部２３２の複数のモーションからロボット１００のモーションを選択する。各モーションには状況ごとに選択確率が対応づけられている。たとえば、オーナーから快行為がなされたときには、モーションＡを２０％の確率で実行する、気温が３０度以上となったとき、モーションＢを５％の確率で実行する、といった選択方法が定義される。
行動マップに移動目標地点や移動ルートが決定され、後述の各種イベントによりモーションが選択される。
【００６５】
親密度管理部２２０は、ユーザごとの親密度を管理する。上述したように、親密度は個人データ格納部２１８において個人データの一部として登録される。快行為を検出したとき、親密度管理部２２０はそのオーナーに対する親密度をアップさせる。不快行為を検出したときには親密度はダウンする。また、長期間視認していないオーナーの親密度は徐々に低下する。
【００６６】
（ロボット１００）
ロボット１００は、通信部１４２、データ処理部１３６、データ格納部１４８、内部センサ１２８および駆動機構１２０を含む。
通信部１４２は、通信機１２６（図５参照）に該当し、外部センサ１１４、サーバ２００および他のロボット１００との通信処理を担当する。データ格納部１４８は各種データを格納する。データ格納部１４８は、記憶装置１２４（図５参照）に該当する。データ処理部１３６は、通信部１４２により取得されたデータおよびデータ格納部１４８に格納されているデータに基づいて各種処理を実行する。データ処理部１３６は、プロセッサ１２２およびプロセッサ１２２により実行されるコンピュータプログラムに該当する。データ処理部１３６は、通信部１４２、内部センサ１２８、駆動機構１２０およびデータ格納部１４８のインタフェースとしても機能する。
【００６７】
データ格納部１４８は、ロボット１００の各種モーションを定義するモーション格納部１６０と画像格納部１７２を含む。
ロボット１００のモーション格納部１６０には、サーバ２００のモーション格納部２３２から各種モーションファイルがダウンロードされる。モーションは、モーションＩＤによって識別される。前輪１０２を収容して着座する、手１０６を持ち上げる、２つの前輪１０２を逆回転させることで、あるいは、片方の前輪１０２だけを回転させることでロボット１００を回転行動させる、前輪１０２を収納した状態で前輪１０２を回転させることで震える、ユーザから離れるときにいったん停止して振り返る、などのさまざまなモーションを表現するために、各種アクチュエータ（駆動機構１２０）の動作タイミング、動作時間、動作方向などがモーションファイルにおいて時系列定義される。
【００６８】
データ格納部１４８には、マップ格納部２１６および個人データ格納部２１８からも各種データがダウンロードされてもよい。画像格納部１７２は、全天球カメラ１３４により取得される天球画像（後述）およびその処理過程における各種画像を一時的に格納する。
【００６９】
内部センサ１２８は、全天球カメラ１３４を含む。本実施形態における全天球カメラ１３４は、ツノ１１２に取り付けられる。
【００７０】
データ処理部１３６は、認識部１５６、動作制御部１５０、画像取得部１５２、画像変換部１５４および測距部１５８を含む。
ロボット１００の動作制御部１５０は、サーバ２００の動作制御部２２２と協働してロボット１００のモーションを決める。一部のモーションについてはサーバ２００で決定し、他のモーションについてはロボット１００で決定してもよい。また、ロボット１００がモーションを決定するが、ロボット１００の処理負荷が高いときにはサーバ２００がモーションを決定するとしてもよい。サーバ２００においてベースとなるモーションを決定し、ロボット１００において追加のモーションを決定してもよい。モーションの決定処理をサーバ２００およびロボット１００においてどのように分担するかはロボットシステム３００の仕様に応じて設計すればよい。
【００７１】
ロボット１００の動作制御部１５０は、サーバ２００の動作制御部２２２とともにロボット１００の移動方向を決める。行動マップに基づく移動をサーバ２００で決定し、障害物をよけるなどの即時的移動をロボット１００の動作制御部１５０により決定してもよい。駆動機構１２０は、動作制御部１５０の指示にしたがって前輪１０２を駆動することで、ロボット１００を移動目標地点に向かわせる。
【００７２】
ロボット１００の動作制御部１５０は選択したモーションを駆動機構１２０に実行指示する。駆動機構１２０は、モーションファイルにしたがって、各アクチュエータを制御する。
【００７３】
動作制御部１５０は、親密度の高いユーザが近くにいるときには「抱っこ」をせがむ仕草として両方の手１０６をもちあげるモーションを実行することもできるし、「抱っこ」に飽きたときには左右の前輪１０２を収容したまま逆回転と停止を交互に繰り返すことで抱っこをいやがるモーションを表現することもできる。駆動機構１２０は、動作制御部１５０の指示にしたがって前輪１０２や手１０６、首（頭部フレーム３１６）を駆動することで、ロボット１００にさまざまなモーションを表現させる。
【００７４】
画像取得部１５２は、全天球カメラ１３４から天球画像を取得する。画像変換部１５４は、天球画像を各種の投影画像に変換する（詳細後述）。測距部１５８は、ロボット１００が複数の全天球カメラ１３４を搭載するとき、三角測距の原理により外部物体までの距離を測定する（第３実施形態に関連して後述）。
【００７５】
ロボット１００の認識部１５６は、内部センサ１２８から得られた外部情報を解釈する。認識部１５６は、視覚的な認識（視覚部）、匂いの認識（嗅覚部）、音の認識（聴覚部）、触覚的な認識（触覚部）が可能である。
【００７６】
認識部１５６は、全天球カメラ１３４による天球画像に基づいて、人やペットなどの移動物体を検出する。認識部１５６は、特徴抽出部１４６を含む。特徴抽出部１４６は、移動物体の撮像画像から特徴ベクトルを抽出する。上述したように、特徴ベクトルは、移動物体の身体的特徴と行動的特徴を示すパラメータ（特徴量）の集合である。移動物体を検出したときには、ニオイセンサや内蔵の集音マイク、温度センサ等からも身体的特徴や行動的特徴が抽出される。これらの特徴も定量化され、特徴ベクトル成分となる。
【００７７】
ロボットシステム３００は、大量の画像情報やその他のセンシング情報から得られる身体的特徴および行動的特徴に基づいて、高い頻度で出現するユーザを「オーナー」としてクラスタリングする。
たとえば、ひげが生えている移動物体（ユーザ）は早朝に活動すること（早起き）が多く、赤い服を着ることが少ないのであれば、早起きでひげが生えていて赤い服をあまり着ないクラスタ（ユーザ）、という第１のプロファイルができる。一方、メガネをかけている移動物体はスカートを履いていることが多いが、この移動物体にはひげが生えていない場合、メガネをかけていてスカートを履いているが絶対ひげは生えていないクラスタ（ユーザ）、という第２のプロファイルができる。
以上は、簡単な設例であるが、上述の方法により、父親に対応する第１のプロファイルと母親に対応する第２のプロファイルが形成され、この家には少なくとも２人のユーザ（オーナー）がいることをロボット１００は認識する。
【００７８】
ただし、ロボット１００は第１のプロファイルが「父親」であると認識する必要はない。あくまでも、「ひげが生えていて早起きすることが多く、赤い服を着ることはめったにないクラスタ」という人物像を認識できればよい。プロファイルごとに、プロファイルを特徴づける特徴ベクトルが定義される。
【００７９】
このようなクラスタ分析が完了している状態において、ロボット１００が新たに移動物体（ユーザ）を認識したとする。
このとき、サーバ２００の人物認識部２１４は、新たな移動物体の特徴ベクトルに基づいてユーザ識別処理を実行し、移動物体がどのプロファイル（クラスタ）に該当するかを判断する。たとえば、ひげが生えている移動物体を検出したとき、この移動物体は父親である確率が高い。この移動物体が早朝行動していれば、父親に該当することはいっそう確実である。一方、メガネをかけている移動物体を検出したときには、この移動物体は母親である可能性もある。この移動物体にひげが生えていれば、母親ではなく父親でもないので、クラスタ分析されていない新しい人物であると判定する。
【００８０】
特徴抽出によるクラスタ（プロファイル）の形成（クラスタ分析）と、特徴抽出にともなうクラスタへの当てはめは同時並行的に実行されてもよい。
【００８１】
検出・分析・判定を含む一連の認識処理のうち、ロボット１００の認識部１５６は認識に必要な情報の取捨選択や抽出を行い、判定等の解釈処理はサーバ２００の認識部２１２により実行される。認識処理は、サーバ２００の認識部２１２だけで行ってもよいし、ロボット１００の認識部１５６だけで行ってもよいし、上述のように双方が役割分担をしながら上記認識処理を実行してもよい。
【００８２】
ロボット１００に対する強い衝撃が与えられたとき、認識部１５６は内蔵の加速度センサによりこれを認識し、サーバ２００の応対認識部２２８は、近隣にいるユーザによって「乱暴行為」が働かれたと認識する。ユーザがツノ１１２を掴んでロボット１００を持ち上げるときにも、乱暴行為と認識してもよい。ロボット１００に正対した状態にあるユーザが特定音量領域および特定周波数帯域にて発声したとき、サーバ２００の応対認識部２２８は、自らに対する「声掛け行為」がなされたと認識してもよい。また、体温程度の温度を検知したときにはユーザによる「接触行為」がなされたと認識し、接触認識した状態で上方への加速度を検知したときには「抱っこ」がなされたと認識する。ユーザがボディ１０４を持ち上げるときの物理的接触をセンシングしてもよいし、前輪１０２にかかる荷重が低下することにより抱っこを認識してもよい。
まとめると、ロボット１００は内部センサ１２８によりユーザの行為を物理的情報として取得し、サーバ２００の応対認識部２２８は快・不快を判定し、サーバ２００の認識部２１２は特徴ベクトルに基づくユーザ識別処理を実行する。
【００８３】
サーバ２００の応対認識部２２８は、ロボット１００に対するユーザの各種応対を認識する。各種応対行為のうち一部の典型的な応対行為には、快または不快、肯定または否定が対応づけられる。一般的には快行為となる応対行為のほとんどは肯定反応であり、不快行為となる応対行為のほとんどは否定反応となる。快・不快行為は親密度に関連し、肯定・否定反応はロボット１００の行動選択に影響する。
【００８４】
認識部１５６により認識された応対行為に応じて、サーバ２００の親密度管理部２２０はユーザに対する親密度を変化させる。原則的には、快行為を行ったユーザに対する親密度は高まり、不快行為を行ったユーザに対する親密度は低下する。
【００８５】
サーバ２００の認識部２１２は、応対に応じて快・不快を判定し、マップ管理部２１０は「場所に対する愛着」を表現する行動マップにおいて、快・不快行為がなされた地点のｚ値を変化させてもよい。たとえば、リビングにおいて快行為がなされたとき、マップ管理部２１０はリビングに好意地点を高い確率で設定してもよい。この場合、ロボット１００はリビングを好み、リビングで快行為を受けることで、ますますリビングを好む、というポジティブ・フィードバック効果が実現する。
【００８６】
移動物体（ユーザ）からどのような行為をされるかによってそのユーザに対する親密度が変化する。
【００８７】
ロボット１００は、よく出会う人、よく触ってくる人、よく声をかけてくれる人に対して高い親密度を設定する。一方、めったに見ない人、あまり触ってこない人、乱暴な人、大声で叱る人に対する親密度は低くなる。ロボット１００はセンサ（視覚、触覚、聴覚）によって検出するさまざまな外界情報にもとづいて、ユーザごとの親密度を変化させる。
【００８８】
実際のロボット１００は行動マップにしたがって自律的に複雑な行動選択を行う。ロボット１００は、寂しさ、退屈さ、好奇心などさまざまなパラメータに基づいて複数の行動マップに影響されながら行動する。ロボット１００は、行動マップの影響を除外すれば、あるいは、行動マップの影響が小さい内部状態にあるときには、原則的には、親密度の高い人に近づこうとし、親密度の低い人からは離れようとする。
【００８９】
ロボット１００の行動は親密度に応じて以下に類型化される。
（１）親密度が非常に高いユーザ
ロボット１００は、ユーザに近づき（以下、「近接行動」とよぶ）、かつ、人に好意を示す仕草としてあらかじめ定義される愛情仕草を行うことで親愛の情を強く表現する。
（２）親密度が比較的高いユーザ
ロボット１００は、近接行動のみを行う。
（３）親密度が比較的低いユーザ
ロボット１００は特段のアクションを行わない。
（４）親密度が特に低いユーザ
ロボット１００は、離脱行動を行う。
【００９０】
以上の制御方法によれば、ロボット１００は、親密度が高いユーザを見つけるとそのユーザに近寄り、逆に親密度が低いユーザを見つけるとそのユーザから離れる。このような制御方法により、いわゆる「人見知り」を行動表現できる。また、来客（親密度が低いユーザＡ）が現れたとき、ロボット１００は、来客から離れて家族（親密度が高いユーザＢ）の方に向かうこともある。この場合、ユーザＢはロボット１００が人見知りをして不安を感じていること、自分を頼っていること、を感じ取ることができる。このような行動表現により、ユーザＢは、選ばれ、頼られることの喜び、それにともなう愛着の情を喚起される。
【００９１】
一方、来客であるユーザＡが頻繁に訪れ、声を掛け、タッチをするとロボット１００のユーザＡに対する親密度は徐々に上昇し、ロボット１００はユーザＡに対して人見知り行動（離脱行動）をしなくなる。ユーザＡも自分にロボット１００が馴染んできてくれたことを感じ取ることで、ロボット１００に対する愛着を抱くことができる。
【００９２】
なお、以上の行動選択は、常に実行されるとは限らない。たとえば、ロボット１００の好奇心を示す内部パラメータが高くなっているときには、好奇心を満たす場所を求める行動マップが重視されるため、ロボット１００は親密度に影響された行動を選択しない可能性もある。また、玄関に設置されている外部センサ１１４がユーザの帰宅を検知した場合には、ユーザのお出迎え行動を最優先で実行するかもしれない。
【００９３】
［天球画像からの一般的な投影処理］
以下においては、まず、全天球カメラ１３４による撮像画像である天球画像を正距円筒図法に基づいて円筒面に投影することにより、投影画像を生成する一般的な方法について説明する。次に、正距円筒図法の問題点を指摘した上で、ロボットシステム３００において新たに採用した投影方法について説明する。
以下、「投影画像」とは、天球画像を画像変換することにより生成され、画像認識の直接的な対象となることが予定される画像を意味するものとする。
【００９４】
図７は、天球画像の生成方法を説明するための模式図である。
天球面１４０は、中心点Ｏに全天球カメラ１３４を設置したときの概念的な撮像面である。全天球カメラ１３４は、天球面１４０（撮像面）の上の座標点を結像面１３８に投影する。結像面１３８は全天球カメラ１３４を含む水平面である。天球面１４０は上半分側の上天球１４０ａと下半分側の下半球１４０ｂに分けることができる。図７においては、上天球１４０ａの座標点Ｐ１は、結像面１３８の座標点Ｑ１に投影される。同様にして、上天球１４０ａの座標点Ｐ２、Ｐ３、ＰＺ（天頂）は、結像面１３８（表面）の座標点Ｑ２、Ｑ３、Ｏ（中心点）に投影される。
【００９５】
下半球１４０ｂも同様の方式にて結像面１３８に投影される。下半球１４０ｂの座標点Ｐ４、Ｐ５、Ｐ６、ＰＮ（天底）は、結像面１３８（裏面）の座標点Ｑ１、Ｑ２、Ｑ３、Ｏ（中心点）に投影される。
【００９６】
上天球１４０ａのすべての座標点は結像面１３８の表面側に投影され、下半球１４０ｂのすべての座標点は結像面１３８の裏面側に投影される。３次元の天球面１４０上の座標点（画素）を二次元の結像面１３８に投影することにより、二次元の「天球画像」を生成する。このような天球画像の生成方法は魚眼レンズなどでよく知られている。
【００９７】
図８は、天球画像１７０の模式図である。
天球画像１７０は、真円形状の上天球画像１７０ａと下天球画像１７０ｂを含む。上天球画像１７０ａは上天球１４０ａ（上部撮像面）を結像面１３８の表面へ投影した画像である。下天球画像１７０ｂは下半球１４０ｂ（下部撮像面）を結像面１３８の裏面へ投影した画像である。上天球画像１７０ａの中心点Ｏは上天球１４０ａの天頂ＰＺに対応し、下天球画像１７０ｂの中心点Ｏは下半球１４０ｂの天底ＰＮに対応する。天球中央線１７４は、上天球１４０ａと下半球１４０ｂの境界線である。
【００９８】
なお、ロボット１００の全天球カメラ１３４は上天球１４０ａのみを撮像対象としてもよい。その場合には、天球画像１７０は上天球画像１７０ａのみから構成される。天球画像１７０は、天球面１４０の一部、少なくとも、天球面１４０の表面積の３５％以上をカバーする撮像画像であればよい。天球画像１７０は、ロボット１００の上方、すなわち、天球面１４０の天頂ＰＺを含む範囲を対象とした撮像画像であることが望ましい。
【００９９】
図９は、正距円筒図法における円筒面１６２と天球面１４０の関係を説明するための模式図である。
まず、天球面１４０に外接する円筒面１６２を想定する。円筒面１６２は天球面１４０を環囲し、かつ、上面と下面を有さない。正距円筒図法においては、天球面１４０の座標点を円筒面１６２に投影する。いいかえれば、天球画像１７０の座標点に対応する円筒面１６２の座標点を特定する。
【０１００】
円筒中央線１８０は、円筒面１６２の中心を通る線である。正距円筒図法では、天球中央線１７４と円筒中央線１８０は一致する。したがって、円筒中央線１８０（天球中央線１７４）の近辺においては、天球面１４０と円筒面１６２はほとんど一致している。しかし、天頂ＰＺまたは天底ＰＮ（以下、まとめていうときには「極点」とよぶ）に近づくほど、天球面１４０と円筒面１６２の乖離が大きくなる。正距円筒図法は、球体の緯度・経度を平面（円筒の側面）のＸ座標とＹ座標に読み替える投影法である。このため、円筒面１６２に天球面１４０の画像を投影すると、極点付近においては、投影画像が横方向に大きく引き伸ばされてしまうという欠点がある。
【０１０１】
図１０は、天球画像１７０から単一円筒画像１６４への正距円筒図法に基づく画像投影方法を説明するための模式図である。
単一円筒画像１６４は、天球面１４０から円筒面１６２への投影画像である。単一円筒画像１６４は、図９の円筒面１６２を展開した画像である。図１０においては、天球面１４０の座標点Ａ１と座標点Ａ２をそれぞれ単一円筒画像１６４に投影する方法について説明する。
【０１０２】
点Ａ１は点Ａ２よりも天球中央線１７４に近い。天球面１４０の点Ａ１は天球画像１７０においては点Ｂ１に対応し、単一円筒画像１６４においては点Ｃ１に対応する。点Ａ２は天球画像１７０においては点Ｂ２に対応し、単一円筒画像１６４においては点Ｃ２に対応する。実際には、天球画像１７０の点Ｂ１の単一円筒画像１６４における対応点Ｃ１を求めるときには、まず、点Ｂ１に対応する天球面１４０の点Ａ１の座標を求め、次に、天球面１４０から円筒面１６２への座標変換により、単一円筒画像１６４の点Ｃ１の座標を計算する。
【０１０３】
正距円筒図法は、極点付近（図中の斜線部）において、単一円筒画像１６４が大きく歪む。このため、天球画像１７０の点Ｂ２は、単一円筒画像１６４においては横方向に引き伸ばされてしまう。いいかえれば、点Ｂ２に対応する点Ｃ２は、横方向に引き伸ばされる。
【０１０４】
撮像画像から外部物体を検出するための画像認識プログラムとしては、さまざまな製品が提供されている。一般的な画像認識プログラムは、解析対象となる撮像画像（投影画像）に歪みがないことを前提としている。したがって、天球画像１７０は言うまでもなく、正距円筒図法による単一円筒画像１６４を対象として画像認識を行うことは困難である。この問題に対する第１の対策は天球画像１７０や単一円筒画像１６４の歪みを考慮に入れて画像認識が可能なプログラムを新たに開発することである。第２の対策は、正距円筒図法にこだわらず、天球画像１７０から歪みのない、または、歪みの少ない投影画像を生成する画像補正プログラムを開発することである。第２の対策には、既存のさまざまな画像認識プログラムを利用できるメリットがある。本実施形態においては、第２の対策を採用し、天球画像１７０の歪みを補正する方法を２種類示す。
【０１０５】
天球画像１７０の歪みを補正する方法として、第１の実施形態において斜方立方八面体への投影方法（以下、「多面体投影法」とよぶ）について説明する。次に、第２の実施形態として多重円筒への投影方法（以下、「多重円筒投影法」とよぶ）について説明する。
【０１０６】
（第１実施形態：多面体投影法）
図１１は、斜方立法八面体１６６の斜視図である。図１２は、斜方立法八面体１６６の展開図である。
第１実施形態においては、全天球カメラ１３４を包囲する斜方立法八面体１６６を想定する。斜方立法八面体１６６は天球面１４０と中心を同じくする多面体である。斜方立法八面体１６６は、１８面の正方形の面（以下、「正方形面」ともよぶ）と８面の正三角形の面（以下、「正三角形面」ともよぶ）の合計２６面を有する。１８面の正方形面の内訳は、上面Ｔと下面Ｂ、中央部にある８枚の中央側面Ｆ、ＦＲ、Ｒ、ＢＲ、Ｂ、ＢＬ、Ｌ、ＦＬ、上面Ｔと中央側面をつなぐ４面の上側面ＴＦ、ＴＲ、ＴＢ、ＴＬ、下面Ｂと中央側面をつなぐ４枚の下側面ＢＦ、ＢＲ、ＢＢ、ＢＬである。
【０１０７】
上面Ｔは、中心Ｏと天頂ＰＺをつなぐ軸に対して垂直な水平面である。同様に、下面Ｂは中心Ｏと天底ＰＮをつなぐ軸に対して垂直な水平面である。第１実施形態においては、すべての正方形面に対して、平行方向に拡大させた拡大平行面１６８を想定する。拡大平行面１６８は互いに交差する。図１１に示す拡大平行面１６８（ＴＦ）は上側面ＴＦを縦横方向に平行拡大させた面である。また、拡大平行面１６８（Ｆ）は中央側面Ｆを縦横方向に平行拡大させた面である。拡大平行面１６８（ＴＦ）と拡大平行面１６８（Ｆ）は互いに交差している。同様にして、図１２に示す拡大平行面１６８（Ｂ）は中央側面Ｂを縦横方向に平行拡大させた面である。
第１実施形態においては、天球画像１７０上の座標点（画素）を合計１８面の拡大平行面１６８に投影する。すなわち、１８面の拡大平行面１６８の集合体が天球画像１７０の投影画像となる。
【０１０８】
図１３は、斜方立法八面体１６６と天球面１４０の側断面図である。
天球面１４０の座標点Ａから拡大平行面１６８（ＴＦ）に垂線を引いたときの交点が点Ｓ（ＴＦ）である。天球面１４０の座標点Ａから拡大平行面１６８（Ｆ）に垂線を引いたときの交点が点Ｓ（Ｆ）である。結像面１３８（天球画像１７０）において、点Ａに対応するのは点Ｑであるとする。
【０１０９】
画像変換部１５４は、拡大平行面１６８（ＴＦ）および拡大平行面１６８（Ｆ）それぞれにおいて点Ａ（点Ｑ）に対応する点Ｓ（ＴＦ）と点Ｓ（Ｆ）を特定する。より具体的には、拡大平行面１６８（ＴＦ）における点Ｓ（ＴＦ）の座標を計算するための変換関数ｆＴＦ、拡大平行面１６８（Ｆ）における点Ｓ（Ｆ）の座標を計算するための変換関数ｆＦがあらかじめ用意されている。画像変換部１５４は、複数の拡大平行面１６８に対応する複数の変換関数により、各拡大平行面１６８における投影点の座標を計算する。
【０１１０】
画像変換部１５４は、天球画像１７０において座標点Ａの画素（撮像情報）を拡大平行面１６８（ＴＦ）の点Ｓ（ＴＦ）および拡大平行面１６８（Ｆ）の点Ｓ（Ｆ）にコピーすることにより、天球画像１７０を拡大平行面１６８に投影する。すなわち、天球画像１７０の座標点Ｑの画素は、拡大平行面１６８（ＴＦ）の座標点Ｓ（ＴＦ）における画素となり、かつ、拡大平行面１６８（Ｆ）の座標点Ｓ（Ｆ）における画素となる。多面体投影法の場合、天球画像１７０の１つの画素（座標点）が複数の拡大平行面１６８に多重投影されることもある。
【０１１１】
図１３においては、点Ｓ（ＴＦ）よりも点Ｓ（Ｆ）の方が天球面１４０から近い。このため、Ｓ（Ｆ）の方が点Ｓ（ＴＦ）よりも画像の歪みが少ない。また、点Ｓ（ＴＦ）は拡大平行面１６８（ＴＦ）の端部に近く、点Ｓ（Ｆ）は拡大平行面１６８（Ｆ）の中央に近いため、点Ａ付近の画像は拡大平行面１６８（ＴＦ）よりも拡大平行面１６８（Ｆ）の方が好適に投影されている可能性が高い。点Ａは拡大平行面１６８（ＴＦ）と点Ａは拡大平行面１６８（Ｆ）の双方に投影されるが、このほかにも図示しない拡大平行面１６８（ＦＲ）にも投影されているかもしれない。この場合には、３枚の拡大平行面１６８により多角的にオブジェクトを認識できる。なお、図１２において示した正三角形面に対しても拡大平行面１６８を設定してもよい。この場合には、単一のオブジェクトを更に多くの拡大平行面１６８に同時投影できる。
【０１１２】
多面体投影法では、天球面１４０に沿って想定される複数の拡大平行面１６８により中心点Ｏ（全天球カメラ１３４）を包囲する。天頂ＰＺは拡大平行面１６８（Ｔ）に投影される。図９の円筒面１６２と異なり、拡大平行面１６８（Ｔ）は天頂ＰＺにおいて天球面１４０と一致するため、天頂ＰＺ付近における投影画像（拡大平行面１６８（Ｔ））の歪みは正距円筒図法に比べると格段に小さくなる。天底ＰＮについても同様である。
【０１１３】
図１４は、拡大平行面１６８の部分切り出しを説明するための模式図である。
画像変換部１５４は、拡大平行面１６８の全部ではなくその一部分を切り出してもよい。図１４においては、拡大平行面１６８（Ｆ）の範囲は０≦ｘ≦ｘ（Ｆ）、０≦ｙ≦ｙ（Ｆ）である。画像変換部１５４は、このうち、ｘ１≦ｘ≦ｘ２（０＜ｘ１，ｘ２＜ｘ（Ｆ））、ｙ１≦ｙ≦ｙ２（０＜ｙ１，ｙ２＜ｙ（Ｆ））を切り出している。画像変換部１５４は、拡大平行面１６８のうち歪みが大きいことがあらかじめわかっている部分を変換対象外として、拡大平行面１６８の一部のみを画像処理の対象としてもよい。あるいは、画像変換部１５４は拡大平行面１６８のうち、重要な情報が映っていない部分、たとえば、所定範囲以上にわたって同一色しか映っていない単調な部分を画像処理の対象から除外してもよい。
【０１１４】
図１５は、多面体投影法を説明するための模式図である。
多面体画像１９０（投影画像）は、１８面の拡大平行面１６８の集合体である。すなわち、多面体画像１９０は、天球面１４０から１８面の拡大平行面１６８への投影画像である。図１５においては、天球面１４０の座標点Ａ１と座標点Ａ２をそれぞれ多面体画像１９０に投影するとして説明する。
【０１１５】
点Ａ１は点Ａ２よりも天球中央線１７４に近い。天球面１４０の点Ａ１は天球画像１７０においては点Ｂ１に対応し、多面体画像１９０においては点Ｓ１、Ｓ１２に対応する。点Ａ２は天球画像１７０においては点Ｂ２に対応し、多面体画像１９０においては点Ｓ２１、Ｓ２２に対応する。天球画像１７０の点Ｂ１の多面体画像１９０における対応点Ｓ１１、Ｓ１２を求めるときには、まず、点Ｂ１に対応する天球面１４０の点Ａ１の座標を求め、次に、天球面１４０から拡大平行面１６８への座標変換により、拡大平行面１６８（多面体画像１９０）の点Ｓ１１、Ｓ１２の座標を計算する。点Ａ２も同様である。多面体投影法の場合、単一の外部物体の一部が、複数の拡大平行面１６８に重複投影されることもある。
【０１１６】
図１６は、第１実施形態における画像処理過程を示すフローチャートである。
画像取得部１５２は定期的に天球画像１７０を取得する。図１６に示す画像処理は、天球画像１７０が取得されるごとに繰り返し実行される。
【０１１７】
まず、画像取得部１５２は、全天球カメラ１３４から天球画像１７０を取得する（Ｓ１０）。画像変換部１５４は、天球画像１７０を多面体画像１９０、すなわち、１８面の拡大平行面１６８に画像変換する（Ｓ１２）。上述のように拡大平行面１６８ごとに変換関数が定義されており、画像変換部１５４は１８種類の変換関数により天球画像１７０上の点を１以上の拡大平行面１６８に投影する。多面体画像１９０に含まれる拡大平行面１６８それぞれについて画像認識処理を実行する前に、認識部１５６は画像認識の処理順を決める（Ｓ１４）。
【０１１８】
たとえば、処理時点ｔ１において拡大平行面１６８（Ｒ）においてオーナーＸが検出され、次回の処理時点ｔ２において再度画像処理を実行するときには、認識部１５６は拡大平行面１６８（Ｒ）の画像認識を最優先に設定する。これは、処理時点ｔ２においても、拡大平行面１６８（Ｒ）においてオーナーＸが検出される可能性が高いためである。ロボット１００はオーナーＸの位置や動き、表情等に基づいて行動特性を変化させるため、認識部１５６はオーナーＸの視認を最優先させる。認識部１５６は、拡大平行面１６８（Ｒ）の次には、拡大平行面１６８（Ｒ）に隣接する拡大平行面１６８（ＴＲ）等に処理順位を割り当てる。
【０１１９】
処理順を決定したあと、認識部１５６は、サーバ２００と連携して画像認識を実行する（Ｓ１６）。具体的には、認識部１５６は処理順位１位の拡大平行面１６８からユーザなどの移動物体を抽出し、この拡大平行面１６８に移動物体が映っていれば特徴抽出部１４６は特徴ベクトルを抽出する。通信部１４２は特徴ベクトルをサーバ２００に送信し、サーバ２００のユーザ識別処理等を実行する。識別結果に応じて、ロボット１００はモーション選択等を決定する。未処理の拡大平行面１６８が残っている限り（Ｓ１８のＮ）、他の拡大平行面１６８についても同様の画像認識が実行される。すべての拡大平行面１６８について確認すると（Ｓ１８のＹ）、処理は終了する。
【０１２０】
オーナーＸが拡大平行面１６８（ＴＦ）と拡大平行面１６８（Ｆ）の両方に映り込むときには、拡大平行面１６８（ＴＦ）と拡大平行面１６８（Ｆ）の双方に基づいて、オーナーＸに関する画像処理が可能である。たとえば、拡大平行面１６８（Ｆ）にはオーナーＸの口元が映っており、拡大平行面１６８（ＴＦ）にはオーナーＸの顔全体が映っている状態を想定する。この場合には、認識部１５６は拡大平行面１６８（Ｆ）からオーナーＸを抽出できず、拡大平行面１６８（ＴＦ）からオーナーＸを抽出できる。認識部１５６は、各拡大平行面１６８から抽出した結果を総合して認識をおこなう。また、各拡大平行面１６８の配置関係は既知なので、オーナーＸの抽出に成功した拡大平行面１６８（ＴＦ）からオーナーＸが存在する方向も特定可能である。斜方立法八面体１６６は天球画像１７０を完全に包囲するため、多面体画像１９０に対して外界を死角なく投影できる。更に、拡大平行面１６８は、斜方立法八面体１６６の各正方形面を拡大しているため、天球画像１７０の画素によっては、複数の拡大平行面１６８に多重投影される。このため、外部物体を画像認識に好適なアングルから撮像（キャプチャ）しやすくなる。
【０１２１】
（第２実施形態：多重円筒投影法）
図１７は、多重円筒投影法を説明するための第１の模式図である。
多重円筒投影法においては、図１０に関連して説明した正距円筒図法と同様にして、天球画像１７０を単一円筒画像１６４に投影する。多重円筒投影法では、１つの天球画像１７０に対して複数の円筒面１６２を設定することにより、複数の単一円筒画像１６４を生成する。図１７においては、図１０と同様、円筒面１６２の円筒中央線１８０と天球面１４０の天球中央線１７４が一致している。多重円筒投影法においては、円筒中央線１８０の付近は歪みが少なく、円筒中央線１８０から離れるほど歪みが大きくなる点に着目する。
【０１２２】
図１７において、天球面１４０の点Ａ１は点Ａ２よりも円筒中央線１８０に近い。天球面１４０の点Ａ１は天球画像１７０においては点Ｂ１に対応し、単一円筒画像１６４ａにおいては点Ｓ１に対応する。点Ａ２は天球画像１７０においては点Ｂ２に対応するが、単一円筒画像１６４ａへの投影はなされない。上述したように、円筒中央線１８０と天球中央線１７４を一致させた状態で正距円筒図法による画像変換を行うと、円筒中央線１８０から遠い点Ａ２付近では単一円筒画像１６４ａが大きく歪んでしまうためである。そこで、多重円筒投影法においては、画像変換部１５４は円筒中央線１８０を含む所定幅の中央部分画像１７６ａ（歪みの小さい部分）だけを対象として画像変換を実行する。すなわち、円筒中央線１８０と天球中央線１７４が一致するときには、多重円筒投影法では極点付近の画像変換を行わない。
【０１２３】
多重円筒投影法では、円筒中央線１８０と天球中央線１７４の相対角度を変化させながら、円筒中央線１８０を含む中央部分画像１７６だけを対象として画像変換を行う。いいかえれば、画像変換部１５４は、画像変換時の歪みの少ない部分だけを対象として画像変換を行う。そして、複数の中央部分画像１７６の集合体として、後述の多重円筒画像４００（投影画像）が形成される。
【０１２４】
図１８は、多重円筒投影法を説明するための第２の模式図である。
図１８においては、円筒面１６２の円筒中央線１８０と天球面１４０の天球中央線１７４は垂直交差している。このため、天球面１４０の極点は、円筒中央線１８０上に位置する。
【０１２５】
図１８において、天球面１４０の点Ａ３は円筒中央線１８０の上に位置する。天球面１４０の点Ａ３は天球画像１７０においては点Ｂ３に対応し、単一円筒画像１６４ｂにおいては点Ｓ３に対応する。一方、円筒中央線１８０から遠い点Ａ４は天球画像１７０においては点Ｂ４に対応するが、単一円筒画像１６４ｂへの投影はされない。図１８においても、画像変換部１５４は円筒中央線１８０を含む所定幅の中央部分画像１７６ｂだけを対象として画像変換を実行する。
【０１２６】
図１９は、多重円筒投影法により生成される多重円筒画像４００の概念図である。
画像変換部１５４は、天球面１４０と円筒面１６２の相対角度を変更しながら、いいかえれば、円筒中央線１８０と天球中央線１７４の相対角度を変化させながら複数の中央部分画像１７６を生成する。第２実施形態においては、円筒中央線１８０と天球中央線１７４の相対角度が０（度）、３０（度）、６０（度）および９０（度）の４回について、４つの中央部分画像１７６（中央部分画像１７６ａ〜１７６ｄ）を生成する。このように、歪みの小さな中央部分画像１７６を集めることにより、歪みの小さな投影画像としての多重円筒画像４００を生成できる。多重円筒投影法の場合にも、単一の外部物体の一部が、複数の中央部分画像１７６に重複投影されることもある。
【０１２７】
図２０は、第２実施形態における画像処理過程を示すフローチャートである。
第２実施形態においても、画像取得部１５２は定期的に天球画像１７０を取得する。図２０に示す画像処理は、天球画像１７０が取得されるごとに繰り返し実行される。
【０１２８】
まず、画像取得部１５２は、全天球カメラ１３４から天球画像１７０を取得する（Ｓ２０）。画像変換部１５４は、円筒面１６２と天球面１４０（円筒中央線１８０と天球中央線１７４）の相対角度を設定する（Ｓ２２）。画像変換部１５４は、指定された相対角度にて、天球画像１７０を中央部分画像１７６に画像変換する（Ｓ２４）。上述した４つの相対角度について画像変換が完了していなければ（Ｓ２６のＮ）、処理はＳ２２に戻り、次の相対角度が設定される（Ｓ２２）。４つの相対角度すべてについて画像変換が完了すると（Ｓ２６のＹ）、認識部１５６は各中央部分画像１７６について画像認識の処理順を決める（Ｓ２８）。処理順の決定方法は、多面体投影法に関連して説明した方法と同様である。
【０１２９】
処理順を決定したあと、認識部１５６は、サーバ２００と連携して画像認識を実行する（Ｓ３０）。認識結果に応じて、ロボット１００はモーション選択等を決定する。未処理の中央部分画像１７６が残っている限り（Ｓ３２のＮ）、他の中央部分画像１７６についても同様の画像認識が実行される。すべての中央部分画像１７６について確認すると（Ｓ３２のＹ）、処理は終了する。
【０１３０】
中央部分画像１７６は部分的に重複するため、天球画像１７０の画素によっては、複数の中央部分画像１７６に多重投影される。このため、多面体投影法と同様、多重円筒投影法においても外部物体を画像認識に好適なアングルから撮像（キャプチャ）しやすくなる。
【０１３１】
（第３実施形態：三角測距）
第３実施形態においては、複数の全天球カメラ１３４により三角測距方式にて外部物体までの距離を測定する方法について説明する。２台のカメラを用いた三角測距は広く知られている。しかし、歪みのない画像を前提とした一般的な三角測距方式をそのまま天球画像１７０に適用することはできない。第１実施形態では、天球画像１７０を斜方立法八面体１６６に投影することで、歪みの小さな１８枚の投影画像を得た。これは、実質的には、１８枚の投影画像（拡大平行面１６８）を１８台のカメラによって撮影したと見なすことができる。したがって、２台の全天球カメラ１３４を用いれば、１８方向を１８×２台のカメラで撮影したペア画像を得ていると考えることができる。各方向についてペアになる投影画像の視差をもとめることで、全天球カメラ１３４に基づく三角測距が可能になる。
【０１３２】
図２１（ａ）は、第３実施形態におけるロボット１００の正面外観図である。図２１（ｂ）は、第３実施形態におけるロボット１００の側面外観図である。
第３実施形態におけるロボット１００は、２本のツノ１１２（ツノ１１２ａおよびツノ１１２ｂ）を有する。ツノ１１２ａおよびツノ１１２ｂにはそれぞれ全天球カメラ１３４（全天球カメラ１３４ａと全天球カメラ１３４ｂ）が内蔵される。全天球カメラ１３４ａと全天球カメラ１３４ｂの間の距離は既知である。
【０１３３】
図２２は、ロボット１００から外部物体２５０までの距離を測定する方法を説明するための模式図である。
図２２においては、座標Ｚ１に外部物体２５０ａがある。外部物体２５０ａはユーザやペットであってもよいし、家具や窓などの固定物であってもよい。ツノ１１２ｂに内蔵される全天球カメラ１３４ｂの場合、外部物体２５０ａは拡大平行面１６８（Ｆ）に映る。このとき、拡大平行面１６８（Ｆ）における投影点の座標（空間座標）をＸ１（Ｆ）とする。また、ツノ１１２ａに内蔵される全天球カメラ１３４ａの場合も、外部物体２５０ａは拡大平行面１６８（Ｆ）に映る。このときの拡大平行面１６８（Ｆ）における投影点の座標（空間座標）をＸ２（Ｆ）とする。Ｘ１（Ｆ）とＸ２（Ｆ）の距離は既知であり、この距離をｒとする。Ｘ１（Ｆ）、Ｘ２（Ｆ）は、ツノ１１２ｂ、１１２ａの位置座標により代用してもよい。以上は、ツノ１１２ｂに位置し、拡大平行面１６８（Ｆ）を撮像方向とするカメラＢ１と、ツノ１１２ａに位置し、拡大平行面１６８（Ｆ）を撮像方向とするカメラＡ１により、外部物体２５０ａを多重撮像したのと同じである。直線Ｘ１（Ｆ）−Ｘ２（Ｆ）と直線Ｘ１（Ｆ）−Ｚ１が形成する角度をＰとする。直線Ｘ２（Ｆ）―Ｘ１（Ｆ）と直線Ｘ２（Ｆ）−Ｚ１が形成する角度をＱとする。線分Ｘ１（Ｆ）―Ｘ２（Ｆ）とその両端の角度Ｐ、Ｑを定義できれば三角形Ｘ１（Ｆ）−Ｘ２（Ｆ）−Ｚ１が定まるため、測距部１５８はこれらのデータから、ロボット１００から２５０ａまでの距離ｄを算出できる。
【０１３４】
外部物体２５０ｂは座標Ｚ２にある。全天球カメラ１３４ｂの拡大平行面１６８（ＦＲ）に外部物体２５０ｂは映る。また、全天球カメラ１３４ａの拡大平行面１６８（ＦＲ）に外部物体２５０ｂが映る。以上は、ツノ１１２ｂに位置し、拡大平行面１６８（ＦＲ）を撮像方向とするカメラＢ２と、ツノ１１２ａに位置し、拡大平行面１６８（ＦＲ）を撮像方向とするカメラＡ１により、外部物体２５０ａを多重撮像したのと同じである。したがって、上記と同様にして、ロボット１００から外部物体２５０ｂまでの距離を測定できる。このような手法により、少ない機材でロボット１００の周囲の３次元計測が可能となる。オブジェクトの抽出に距離情報を用いることができ、オブジェクトの認識精度が向上する。
【０１３５】
以上、実施形態に基づいてロボット１００およびロボット１００を含むロボットシステム３００について説明した。
上述したように、三次元の天球面１４０を二次元の天球画像１７０に投影した場合、天球画像１７０は部分的に歪みが大きくなってしまう。天球画像１７０を正距円筒図法により単一円筒画像１６４に更に投影した場合には、単一円筒画像１６４は極点付近で大きく歪む。第１の実施形態（多角形投影法）においては、天球面１４０を覆う斜方立法八面体１６６を想定し、斜方立法八面体１６６の側面（拡大平行面１６８）に天球面１４０（天球画像１７０）の画素を投影している。斜方立法八面体１６６は、円筒面１６２に比べると天球面１４０からの乖離が小さいため、いいかえれば、天球面１４０から極端に乖離する座標がないため、歪みの少ない多面体画像１９０（投影画像）を取得できる。
【０１３６】
歪みの少ない投影画像があれば、既存の画像認識プログラムを適用できる。多角形投影法によれば、ロボット１００を覆う天球面１４０の撮像画像を複数の拡大平行面１６８（投影画像）に映すことができるため、ロボット１００は多面体画像１９０に基づいて周辺環境を広域的に視認できる。画像認識プログラムを歪みのある天球画像１７０等に対応させるよりも、天球画像１７０の歪みを補正する方が、既存の画像認識プログラムを有効活用しやすい。
【０１３７】
第１実施形態においては、斜方立法八面体１６６の側面を拡大させた複数の拡大平行面１６８を設定することにより、外部物体を複数の拡大平行面１６８に重複投影させることができる。このため、１つの拡大平行面１６８では映りが悪くても、別の拡大平行面１６８では好適に画像認識できる可能性があるため、画像認識の精度を高めることができる。
【０１３８】
第２の実施形態（多重円筒投影法）においては、天球面１４０と円筒面１６２の相対角度をさまざまに変化させることにより、複数の中央部分画像１７６を取得する。正距円筒図法であっても、円筒中央線１８０付近は画像の歪みが小さい。そこで、円筒中央線１８０近辺の所定幅の中央部分画像１７６を複数の相対角度に対応して複数生成することにより、全体として歪みの少ない多重円筒画像４００（投影画像）を生成できる。
【０１３９】
天球画像１７０から拡大平行面１６８や中央部分画像１７６への画像変換は、ＧＰＵ（Graphics Processing Unit）を用いて並列的に実行されてもよい。また、複数のＧＰＵを用いることで、更に高速に画像変換が可能になる。たとえば、第１〜第４ＧＰＵそれぞれが中央部分画像１７６ａ〜１７６ｄの画像変換処理を並列実行してもよい。また、拡大平行面１６８ごとに用意される変換関数とＧＰＵを一対一にて対応付け、複数のＧＰＵにより画像変換処理を並列実行してもよい。ＧＰＵは画像変換などの単純作業は高速実行可能であるため、ロボット１００に複数のＧＰＵを搭載させることで画像処理速度を高速化させやすい。
【０１４０】
第３実施形態において説明したように、ロボット１００に複数の全天球カメラ１３４を搭載することにより、全方位にて外部物体２５０からロボット１００までの距離を測定できる。通常のカメラは全天球カメラ１３４よりも画角が狭いため、２つのカメラによって距離測定可能な範囲が限定される。一方、全天球カメラ１３４は実質的に死角がない。このため、ロボット１００に２つの全天球カメラ１３４を搭載することにより、ロボット１００の周辺にあるほとんどの外部物体２５０を距離測定対象とすることができる。この結果、ロボット１００は、周辺環境をより精緻に把握しやすくなる。
【０１４１】
なお、本発明は上記実施形態や変形例に限定されるものではなく、要旨を逸脱しない範囲で構成要素を変形して具体化することができる。上記実施形態や変形例に開示されている複数の構成要素を適宜組み合わせることにより種々の発明を形成してもよい。また、上記実施形態や変形例に示される全構成要素からいくつかの構成要素を削除してもよい。
【０１４２】
１つのロボット１００と１つのサーバ２００、複数の外部センサ１１４によりロボットシステム３００が構成されるとして説明したが、ロボット１００の機能の一部はサーバ２００により実現されてもよいし、サーバ２００の機能の一部または全部がロボット１００に割り当てられてもよい。１つのサーバ２００が複数のロボット１００をコントロールしてもよいし、複数のサーバ２００が協働して１以上のロボット１００をコントロールしてもよい。
【０１４３】
ロボット１００やサーバ２００以外の第３の装置が、機能の一部を担ってもよい。図６において説明したロボット１００の各機能とサーバ２００の各機能の集合体は大局的には１つの「ロボット」として把握することも可能である。１つまたは複数のハードウェアに対して、本発明を実現するために必要な複数の機能をどのように配分するかは、各ハードウェアの処理能力やロボットシステム３００に求められる仕様等に鑑みて決定されればよい。
【０１４４】
上述したように、「狭義におけるロボット」とはサーバ２００を含まないロボット１００のことであるが、「広義におけるロボット」はロボットシステム３００のことである。サーバ２００の機能の多くは、将来的にはロボット１００に統合されていく可能性も考えられる。
【０１４５】
第１実施形態（多面体投影法）においては、天球面１４０を斜方立法八面体１６６に投影するとして説明した。多面体投影法は、斜方立法八面体１６６に限らず、さまざまな多面体に対して適用可能である。たとえば、天球面１４０は６面体に投影されてもよいし、２０面体に投影されてもよい。投影面が多くなるほど、いいかえれば、多面体が球体に近づくほど、天球面１４０と多面体の乖離が小さくなるため、投影画像の歪みを抑制しやすい。
【０１４６】
多面体投影法は、更に、多角形以外にも応用可能である。全天球カメラ１３４に対して異なる角度にて対向する複数の平面（投影面）を想定し、天球面１４０（天球画像１７０）の画素をこれらの平面に投影することにより、複数の投影画像を取得できる。このとき、複数の平面が多面体を構成することは必須ではない。たとえば、ロボット１００の後方に投影面を設定しない場合には、全天球カメラ１３４によって後方を撮像できるけれども視認できなくなる。このような設定によれば、ロボット１００は、視野は広くても死角を有することになる。死角を有するロボット１００の方が生物性を感じられるかもしれない。したがって、ロボット１００が全方位を視認できる必須はない。一方、複数の投影面により天球面１４０を覆うとき、すなわち、複数の投影面が多面体を形成するときには、ロボット１００は全方位を視認できる。
【０１４７】
認識部１５６は、複数の拡大平行面１６８のうち、所定の拡大平行面１６８の処理を優先してもよい。たとえば、認識部１５６は、上部側面に対応する拡大平行面１６８に対して他の拡大平行面１６８よりも高い処理順位を設定してもよい。ロボット１００は人間よりも背が低いため、ユーザなどの認識すべき外部物体は、通常、上部側面方向（ロボット１００の斜め上方）に視認される可能性が高いと考えられる。このため、拡大平行面１６８（ＴＦ）等の上部側面に対応する拡大平行面１６８の処理順位を優先することにより、認識すべきユーザを検出しやすくなる。複数の中央部分画像１７６に処理順位を設定するときも同様である。
【０１４８】
多重円筒投影法においては、人の特性が現れる部分、たとえば、顔を示す肌色の画素を多重円筒画像４００が多く含むように、円筒中央線１８０と天球中央線１７４の相対角度を任意に調整してもよい。このような制御方法によれば、画像認識の対象となりやすい人の顔を中央部分画像１７６に収めやすくなる。
【０１４９】
本実施形態においては、ロボット１００を対象として説明したが、画像取得部１５２、画像変換部１５４および認識部１５６の機能は、画像認識装置として部品化されてもよい。
【０１５０】
ロボットシステム３００は、多面体投影法や多重円筒投影法等の画像補正機能を工場出荷の段階から備える必要はない。ロボットシステム３００の出荷後に、画像補正機能を実現する画像処理プログラムをロボット１００にインストールすることにより、ロボットシステム３００の機能強化が実現されてもよい。
【０１５１】
（第４実施形態：回転式多面体投影法）
第４実施形態においては、第１実施形態において説明した多面体投影法を改良した「回転式多面体投影法」について説明する。
回転式多面体投影法（第４実施形態）においては、多面体投影法（第１実施形態）と同様、天球画像１７０を多面体の各面に投影する。第４実施形態においては、天球画像１７０が投影される多面体の面を「展開面」、多面体の展開面に投影される撮影画像を「展開画像」とよぶ。多面体投影法（第１実施形態）においては、展開画像（投影画像）と展開画像のつなぎ目が画像認識上の死角になりやすいため、展開面を拡大して拡大平行面１６８を生成した。いわば、大きな拡大平行面１６８により、天球面１４０を大きく漏れなく包み込む方式である。
【０１５２】
回転式多面体投影法（第４実施形態）においては、大きな拡大平行面１６８により死角を無くすのではなく、多面体を動かすことで展開画像と展開画像のつなぎ目の位置を変化させる。展開画像と展開画像のつなぎ目（死角）を時系列にてずらせば、たとえば、ある時点の画像変換時（投影時）にはつなぎ目（死角）に投影された物体を、次の時点の画像変換時には展開画像の中央に投影させることができる。多面体を回転させることで死角をなくす方式であるため、大きな拡大平行面１６８を用意する必要がない。このため、拡大平行面１６８に生じていた重複部分、いわば、「のりしろ部分」を無くす、または、小さくすることができる。
第４実施形態においては、斜方立法八面体１６６（図１１参照）ではなく、五角錐台４０２に対して天球画像１７０を投影する。
【０１５３】
図２３は、五角錐台４０２の斜視図である。
五角錐台４０２は、五角錐の上部を切り取った形状の立体である。五角錐台４０２は５枚の側面４０４（台形）と、１枚の天頂面４０６（正五角形）の合計６枚の面を有する。底面は想定しない。側面４０４（台形）を含む正方形の拡大側面４０８と、天頂面４０６（正五角形）を含む正方形の拡大天頂面４１０を想定する。この５枚の拡大側面４０８と１枚の天頂面４０６が展開面となる。第４実施形態においても、第１実施形態に示した多面体投影法により天球画像１７０を５枚の拡大側面４０８と１枚の拡大天頂面４１０に投影する。
【０１５４】
第４実施形態の画像取得部１５２（全天球カメラ１３４）は、１秒あたり、３０〜５０枚程度の天球画像１７０を取得する。画像取得部１５２が１秒あたりに取得する天球画像１７０の枚数を「天球画像レート」とよぶ。取得タイミングｔｃ１、ｔｃ２・・・ｔｃｎにおいて連続的に取得される天球画像１７０をそれぞれ天球画像１７０（ｔｃ１）、天球画像１７０（ｔｃ２）・・・天球画像１７０（ｔｃｎ）のように表記する。天球画像レートは、ＣＰＵなど計算リソースの状況に応じて変動してもよい。
【０１５５】
画像変換部１５４は、画像取得部１５２が取得したすべての天球画像１７０を画像変換するのではなく、連続的に取得される複数の天球画像１７０から一部を変換対象として選択する。たとえば、画像変換部１５４は、天球画像１７０（ｔｃ１）、天球画像１７０（ｔｃ５）、天球画像１７０（ｔｃ９）のように、５回に１回のペースで変換対象とすべき天球画像１７０をピックアップしてもよい。この場合、天球画像１７０（ｔｃ２）等は画像変換処理および画像認識処理の対象外となる。
【０１５６】
以下、画像変換部１５４が変換対象とすべき天球画像１７０をピックアップするタイミングを「ｔ１，ｔ２，ｔ３・・・」と表記する。上記設例の場合、ｔ１＝ｔｃ１，ｔ２＝ｔｃ５，ｔ３＝ｔｃ９である。画像取得部１５２が天球画像１７０を取得するよりも、天球画像１７０の画像変換および画像認識処理は時間がかかる。また、間引き率を高めるほど、画像変換および画像認識の処理負荷を抑制できる。以下、時刻ｔ１（ｔｃ１）に取得された天球画像１７０を「天球画像１７０（ｔ１）」のように表記する。
以下、画像変換部１５４が、１秒間に天球画像１７０を画像変換する回数を「画像変換レート」とよぶ。画像変換は、画像取得部１５２が取得した天球画像１７０を間引きながらおこなうので、画像変換レートは天球画像レートより小さい。
【０１５７】
図２４は、五角錐台４０２（ｔ１）を上から見たときの模式図である。
五角錐台４０２は、中心点Ｏにある全天球カメラ１３４を囲むように５つの拡大側面４０８（展開面）を有する。図２４においては、拡大側面４０８（Ｆ）と拡大側面４０８（ＦＬ）の境界線４１４の先に外部物体４１２（たとえば、人物）が存在する。このため、時刻ｔ１においては、外部物体４１２は拡大側面４０８（Ｆ）と拡大側面４０８（ＦＬ）の双方の撮影画像の境界付近に映る。
【０１５８】
画像変換部１５４は、五角錐台４０２を３６度ずつ回転させる。具体的には、まず、画像変換部１５４は、時刻ｔ１において五角錐台４０２（ｔ１）の６枚の展開面に対して天球画像１７０（ｔ１）を投影する。五角錐台４０２（ｔ１）の５枚の拡大側面４０８と１枚の拡大天頂面４１０に投影された計６枚の展開画像が画像認識処理の対象となる。１枚の天球画像１７０に基づいて生成された６枚の展開画像をまとめて「展開画像群」とよぶ。
【０１５９】
次に、画像変換部１５４は、時刻ｔ２において、五角錐台４０２（ｔ１）の全天球カメラ１３４に対する相対角度を３６度だけ変化させる。いいかえれば、五角錐台４０２を中心点Ｏに対して３６度だけ自転させる。これにより、ある時点の展開画像群において展開画像の境界に投影された物体は、時系列的に隣り合う展開画像群に含まれるいずれかの展開画像では境界以外の領域に投影される。五角錐台４０２を３６度ずつ回転させるため（以下、「部分回転」とよぶ）、１０回の部分回転により五角錐台４０２は一回転する。したがって、時刻ｔ１１の五角錐台４０２（ｔ１１）は五角錐台４０２（ｔ１）と再度一致する。
【０１６０】
図２５は、五角錐台４０２（ｔ２）を上から見たときの模式図である。
上述したように、五角錐台４０２（ｔ２）は五角錐台４０２（ｔ１）よりも３６度だけ反時計回りに部分回転している。画像変換レートは、一般的な物体の移動を鑑みれば、比較的高速（短時間の周期）であるため、時刻ｔ１から時刻ｔ２に至る間に外部物体４１２はほとんど動かない。五角形の中心角は７２度であるため、五角錐台４０２（ｔ２）の拡大側面４０８（Ｆ）は外部物体４１２に正対する。このため、五角錐台４０２（ｔ２）においては、外部物体４１２は拡大側面４０８（Ｆ）に投影される。
【０１６１】
図２６は、五角錐台４０２の展開図である。
図２６においては、五角錐台４０２（ｔ１）の５枚の拡大側面４０８と五角錐台４０２（ｔ２）の５枚の拡大側面４０８を並べて表示している。五角錐台４０２（ｔ１）と五角錐台４０２（ｔ２）は３６度だけ回転角（中心点Ｏに対する相対角度）がずれているため、時刻ｔ１と時刻ｔ２では境界線４１４の位置が異なる。
【０１６２】
五角錐台４０２（ｔ１）においては、外部物体４１２は拡大側面４０８（Ｆ）と拡大側面４０８（ＦＬ）の境界線４１４の上に映っている。第１実施形態に関連して説明したように、拡大側面４０８はその端部において投影画像が歪みやすい。また、拡大側面４０８（Ｆ）および拡大側面４０８（ＦＬ）の２つの展開画像に基づいて画像認識をする必要があり、処理負担が大きい。いいかえれば、境界線４１４付近は、画像処理上の死角になりやすい。第１実施形態（多面体投影法）においては、大きな拡大平行面１６８を設定し、複数の拡大平行面１６８に外部物体４１２を多重投影させることで死角をカバーした。第１実施形態の多面体投影法は、第４実施形態の回転式多面体投影法に比べると重複部分が多くなるため、画像処理の対象となる撮影画像（展開画像）のサイズが大きくなりやすい。
【０１６３】
これに対して、第４実施形態（回転型多面体投影法）の五角錐台４０２（ｔ２）においては、外部物体４１２は拡大側面４０８（Ｆ）の中央に映る。このため、死角をカバーするために大きな拡大平行面１６８を用意しなくても、五角錐台４０２（ｔ２）の投影画像により外部物体４１２を好適に画像認識できる。いいかえれば、五角錐台４０２（ｔ１）においては外部物体４１２を好適に投影できなくても、次回の五角錐台４０２（ｔ２）においては外部物体４１２を好適に投影できる。図２６に示す例の場合、五角錐台４０２（ｔ１）に対する展開画像（投影画像）では外部物体４１２を画像認識できなくても、五角錐台４０２（ｔ２）に対する展開画像（投影画像）では外部物体４１２を画像認識できる。
【０１６４】
図２７は、拡大天頂面４１０の回転を説明するための模式図である。
本実施形態におけるロボット１００は、人間に比べて背が低い。ユーザがロボット１００を上方からのぞき込む機会が多くなるため、全天球カメラ１３４が拡大天頂面４１０（天頂面４０６）においてユーザの顔画像を取得する機会も多くなる。
【０１６５】
一般的な画像認識プログラムは、人物が逆さまに映る画像における顔認識処理が苦手である。ユーザは後部上方からロボット１００をのぞき込む機会も多いため、拡大天頂面４１０においてもユーザが逆さまに映りやすい。図２７においては、拡大天頂面４１０（ｔ１）においてユーザが逆さまに映っている。上述したように、画像変換部１５４は五角錐台４０２を３６度ずつ回転させる。このため、拡大天頂面４１０（ｔ１）では逆さまであっても、拡大天頂面４１０（ｔ６）においては、ユーザは上下適正にて撮影される。
【０１６６】
五角錐台４０２（ｔ１）から五角錐台４０２（ｔ１０）までで１０種類の角度にて１０枚の拡大天頂面４１０を取得できる。画像変換部１５４は、１０枚の拡大天頂面４１０のそれぞれに対して画像認識処理を実行し、上下適正な拡大天頂面４１０（ｔ６）を対象としたときに顔を認識できる。五角錐台４０２を回転させることは、拡大天頂面４１０において上下適正な被写体画像を取得する上でも有効である。いいかえれば、画像認識のために取得済みの展開画像（投影画像）を回転させるのではなく、拡大天頂面４１０を部分回転させ続けることで多様な角度にて多数の拡大天頂面４１０を取得し、それぞれに対して画像認識処理をおこなえば、その中のいずれかが好適な条件を満たし画像認識処理により被写体を正しく認識できる。
【０１６７】
図２８は、複数の拡大側面４０８のつなぎ合わせを示す模式図である。
第１実施形態（多面体投影法）においては、拡大平行面１６８を作るため、１つの被写体が複数の拡大平行面１６８に同時に投影されることも多い。いいかえれば、複数の拡大平行面１６８には重複部分が多い。これに対して、第４実施形態（回転型多面体投影法）は五角錐台４０２の回転によって死角をカバーするため、大きな拡大側面４０８、拡大天頂面４１０を用意する必要がなく、したがって、重複も少ない。
【０１６８】
そこで、第４実施形態においては、画像変換部１５４は、ロボット１００の上方にあたる拡大天頂面４１０（Ｔ）と正面にあたる拡大側面４０８（Ｆ）、左右にあたる拡大側面４０８（ＦＬ）と拡大側面４０８（ＦＲ）をつなぎ合わせて合成画像４２０を作ることができる。各投影画像に重複部分が少ないため、合成画像４２０はロボット１００から実際に見える画像に近くなる。
【０１６９】
認識部１５６は、実質的には、拡大側面４０８（ＲＬ）、拡大側面４０８（ＲＲ）および合成画像４２０の３つの展開画像を対象として画像認識を実行すればよい。回転型多面体投影法の場合、各撮影画像における重複部分が小さいため、シームレスな合成画像４２０を作りやすい。６枚の展開画像であっても、実質的に３枚の展開画像として処理できるため画像認識処理にともなう処理コストを抑制できる。
【０１７０】
第４実施形態として示した回転型多面体投影法は、五角錐台４０２を部分回転させることにより大きな拡大平行面１６８を作らなくても五角錐台４０２の死角（境界線４１４）をカバーできる。大きな拡大平行面１６８を作らなくてもよいため、いいかえれば、複数の撮影画像における重複部分が少ないため、画像認識にともなう処理コストを抑制できる。また、重複部分が少ないことにより、図２８に示したような比較的シームレスな合成画像４２０を作ることができる。大きな合成画像４２０を作ることにより、画像認識処理の対象となる展開画像の枚数を減らすことも処理コスト削減に寄与する。
また、拡大天頂面４１０を回転させることにより、ロボット１００の上方に存在する物体、特に、人物を画像認識に好適な向きにて撮像できる。
【０１７１】
第４実施形態においては、拡大側面４０８は側面４０４を含む正方形の展開面であるとして説明した。これに限らず、台形の側面４０４や正五角形の天頂面４０６に天球画像１７０を投影してもよい。投影先は五角錐台４０２である必要はなく、五角錐や五角柱であってもよい。回転式多面体投影法において使用する多角形は複数面を有する多角形であればよいため、斜方立法八面体でもよい。第４実施形態のように底面など、一部の面に欠ける多角形でもよい。画像変換部１５４は、所定の画像変換レートで展開画像群を作成するごとに、投影先の多面体を、直前に投影した際の多面体の位置に対して所定角度だけ回転させ、展開画像に変換すればよい。
【０１７２】
本発明者らによる検討の結果、側面を４面以下とした場合には展開画像（投影画像）の歪みが大きくなる。６面以上の側面を用意してもよいが、５面でも十分な画像認識精度を得られることがわかったため、画像認識精度と処理コストのバランスから現段階では５面がベストと考えられる。
【０１７３】
展開面は、正方形面として説明したが、長方形面として形成されてもよい。また、第４実施形態においては３６度単位で五角錐台４０２を部分回転させるとしたが、回転角は任意である。ただし、中心角の約数となる角度にて回転させることが望ましい。たとえば、五角形なら中心角は７２度であるから、３６度（１／２）、２４度（１／３）、１８度（１／４）、１２度（１／６）等、「７２度」の約数にあたる角度にて部分回転させることが望ましい。五角錐台４０２の回転方向も任意であり、横方向回転に限らず、縦方向の回転であってもよい。
【０１７４】
五角錐台４０２は、３６度ずつ自転させてもよいし、中心点Ｏに対する相対角度を０度と３６度の間で繰り返し変化させてもよい。この場合には、五角錐台４０２は回転型の振動をする。このような振動方式においても、展開画像における画像処理上の死角をカバーできる。振動方式の場合にも、拡大天頂面４１０については回転させるとしてもよい。
【０１７５】
五角錐台４０２の部分回転の角度が一定である必要はない。たとえば、一定の画像変換レートで五角錐台４０２を一定の角度で部分回転する場合、ロボット１００の周囲を同一の角速度で動いている人が居たとしたら、その人は常に展開画像の同じ領域に位置してしまう。その領域が展開画像の中央部であれば常に認識できるが、境界に位置してしまうと部分回転の効果が得られない。そこで、部分回転の角度を変動させることにより、たとえば、３６度を中央値として、３０度から４２度の範囲でランダムに角速度を変化させることにより、等速で移動する外部物体が展開画像の境界、つまり画像処理上の死角に継続的に位置する状態を避けるようにしてもよい。
【図１】
2018216710.tif 000003
【図２】
2018216710.tif 000004
【図３】
2018216710.tif 000005
【図４】
2018216710.tif 000006
【図５】
2018216710.tif 000007
【図６】
2018216710.tif 000008
【図７】
2018216710.tif 000009
【図８】
2018216710.tif 000010
【図９】
2018216710.tif 000011
【図１０】
2018216710.tif 000012
【図１１】
2018216710.tif 000013
【図１２】
2018216710.tif 000014
【図１３】
2018216710.tif 000015
【図１４】
2018216710.tif 000016
【図１５】
2018216710.tif 000017
【図１６】
2018216710.tif 000018
【図１７】
2018216710.tif 000019
【図１８】
2018216710.tif 000020
【図１９】
2018216710.tif 000021
【図２０】
2018216710.tif 000022
【図２１】
2018216710.tif 000023
【図２２】
2018216710.tif 000024
【図２３】
2018216710.tif 000025
【図２４】
2018216710.tif 000026
【図２５】
2018216710.tif 000027
【図２６】
2018216710.tif 000028
【図２７】
2018216710.tif 000029
【図２８】
2018216710.tif 000030
【手続補正書】
【提出日】平成30年9月7日(2018.9.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
カメラを中心とする天球面の撮像画像として天球画像を取得する画像取得部と、
前記カメラに対して異なる角度にて対向する複数の平面に対して、前記天球画像の画素を投影することにより、複数の投影画像を取得する画像変換部と、を備え、
前記画像変換部は、更に、前記複数の平面の前記カメラに対する相対角度を時系列的に変化させることにより、複数の相対角度それぞれに対応して前記複数の投影画像を取得することを特徴とする請求項１に記載の画像処理装置。
【請求項２】
第１の投影画像と第２の投影画像の双方に投影される単一の外部物体を、前記第１の投影画像および第２の投影画像それぞれの画像認識処理により検出する認識部、を更に備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記複数の投影画像それぞれについて画像認識処理を定期的に実行することにより、外部物体を画像認識する認識部、を更に備え、
前記認識部は、第１の時点において第１の投影画像から前記外部物体を検出したときには、前記第１の時点の次の処理タイミングである第２の時点において前記第１の投影画像に対する画像認識処理を他の投影画像よりも優先して実行することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記複数の平面は、前記カメラを覆う多面体を形成することを特徴とする請求項１から３のいずれかに記載の画像処理装置。
【請求項５】
（削除）
【請求項６】
カメラを中心とする天球面の撮像画像として天球画像を取得する画像取得部と、
前記カメラに対して異なる角度にて前記カメラを包囲する複数の円筒画像に対して、前記天球画像の画素を投影することにより、複数の投影画像を取得する画像変換部と、を備えることを特徴とする画像処理装置。
【請求項７】
カメラを中心とする天球面の撮像画像として天球画像を取得する機能と、
前記カメラに対して異なる角度にて対向する複数の平面に対して、前記天球画像の画素を投影することにより、複数の投影画像を取得する機能と、
前記複数の平面の前記カメラに対する相対角度を時系列的に変化させることにより、複数の相対角度それぞれに対応して前記複数の投影画像を取得する機能と、をコンピュータに発揮させることを特徴とする画像処理プログラム。
【請求項８】
カメラを中心とする天球面の撮像画像として天球画像を取得する機能と、
前記カメラに対して異なる角度にて前記カメラを包囲する複数の円筒画像に対して、前記天球画像の画素を投影することにより、複数の投影画像を取得する機能と、をコンピュータに発揮させることを特徴とする画像処理プログラム。
【請求項９】
ロボット上方の略全域を同時に撮像可能なカメラと、
ロボット上方を覆う天球面の撮像画像である天球画像を前記カメラから取得し、前記天球画像を多面体画像に変換する画像変換部と、
前記多面体画像から外部物体を画像認識する認識部と、
前記外部物体に対応して、ロボットのモーションを選択する動作制御部と、
前記動作制御部により選択されたモーションを実行する駆動機構と、を備え、
前記画像変換部は、ロボット上方を覆う多面体を撮像面とした画像を前記多面体画像として設定し、前記天球画像の画素を前記多面体のいずれかの面に投影することにより、前記天球画像を前記多面体画像に変換し、更に、前記多面体の前記カメラに対する相対角度を時系列的に変化させることにより、複数の相対角度それぞれに対応して前記多面体画像を取得することを特徴とする自律行動型ロボット。
【請求項１０】
前記画像変換部は、前記多面体の複数の面をそれぞれ平行に拡大させることにより複数の拡大平行面を設定し、前記天球画像の画素を２以上の拡大平行面に多重投影させることを特徴とする請求項９に記載の自律行動型ロボット。
【請求項１１】
前記多面体は、前記天球面の中心と天頂を結ぶ軸に対して垂直な平面を含むことを特徴とする請求項９または１０に記載の自律行動型ロボット。
【請求項１２】
前記画像変換部は、前記天頂画像に含まれる複数の画素それぞれの投影処理を同時実行することを特徴とする請求項９に記載の自律行動型ロボット。
【請求項１３】
ロボット上方の略全域を同時に撮像可能なカメラと、
ロボット上方を覆う天球面の撮像画像である天球画像を前記カメラから取得し、前記天球画像を多重円筒画像に変換する画像変換部と、
前記多重円筒画像から外部物体を画像認識する認識部と、
前記外部物体に対応して、ロボットのモーションを選択する動作制御部と、
前記動作制御部により選択されたモーションを実行する駆動機構と、を備え、
前記画像変換部は、ロボットを包囲する円筒の側面に前記天球画像の画素を投影することにより円筒画像を形成し、円筒と天球の複数の相対角度に対応する複数の円筒画像の集合を前記多重円筒画像として設定することにより、前記天球画像を前記多重円筒画像に変換することを特徴とする自律行動型ロボット。
【請求項１４】
前記画像変換部は、更に、前記複数の円筒画像それぞれの中央から抽出された複数の部分画像の集合を前記多重円筒画像として設定することを特徴とする請求項１３に記載の自律行動型ロボット。
【請求項１５】
ロボット上方を覆う天球面の撮像画像である天球画像を取得する機能と、
ロボット上方を覆う多面体を撮像面とした画像を多面体画像として設定し、前記天球画像の画素を前記多面体のいずれかの面に投影することにより、前記天球画像を前記多面体画像に変換する機能と、
前記多面体のカメラに対する相対角度を時系列的に変化させることにより、複数の相対角度それぞれに対応して前記多面体画像を取得する機能と、
前記多面体画像から外部物体を画像認識する機能と、
前記外部物体に対応して、ロボットのモーションを選択する機能と、をコンピュータに発揮させることを特徴とする自律行動型ロボットの行動制御プログラム。
【請求項１６】
ロボット上方を覆う天球面の撮像画像である天球画像を前記カメラから取得する機能と、
ロボットを包囲する円筒の側面に前記天球画像の画素を投影することにより円筒画像を形成し、円筒と天球の複数の相対角度に対応する複数の円筒画像の集合を前記多重円筒画像として設定することにより、前記天球画像を前記多重円筒画像に変換する機能と、
前記多重円筒画像から外部物体を画像認識する機能と、
前記外部物体に対応して、ロボットのモーションを選択する機能と、をコンピュータに発揮させることを特徴とする自律行動型ロボットの行動制御プログラム。
【請求項１７】
カメラを中心とする天球画像を撮像可能な第１および第２のカメラと、
前記天球画像を前記第１および第２のカメラそれぞれから取得し、カメラに対して異なる角度にて対向する複数の平面に対して、天球画像の画素を投影することにより、複数の投影画像を取得する画像変換部と、
前記複数の投影画像から外部物体を画像認識する認識部と、
前記外部物体が含まれる前記第１のカメラによる天球画像に基づいて生成された第１の投影画像と、同一の外部物体が含まれる前記第２のカメラによる天球画像に基づいて生成された第２の投影画像とに基づく三角測距により、前記外部物体までの距離を測定する測距部と、を備えることを特徴とする測定装置。
【国際調査報告】
2018216710.tif 000031
2018216710.tif 000032
2018216710.tif 000033
2018216710.tif 000034