(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023053631
(43)【公開日】2023-04-13
(54)【発明の名称】注視位置分析システム及び注視位置分析方法
(51)【国際特許分類】
G06T 7/73 20170101AFI20230406BHJP
G06F 3/01 20060101ALI20230406BHJP
【FI】
G06T7/73
G06F3/01 510
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2021162786
(22)【出願日】2021-10-01
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】佐川 浩彦
(72)【発明者】
【氏名】藤原 貴之
【テーマコード(参考)】
5E555
5L096
【Fターム(参考)】
5E555AA27
5E555BA02
5E555BB02
5E555BC30
5E555CA42
5E555CB65
5E555EA22
5E555FA00
5L096CA02
5L096FA67
5L096FA69
5L096JA03
5L096JA11
(57)【要約】
【課題】注視位置分析システムにおいて、三次元空間中に存在する各物体に対応する三次元モデル上に利用者の注視位置を自動的に対応付ける。
【解決手段】撮影された複数枚の撮影画像から周囲の空間の三次元モデルである空間モデルを作成する空間モデル作成部と、前記空間モデルと前記物体モデルとをマッチングし、前記マッチングで得られた位置姿勢により前記物体モデルを前記空間モデル上に配置する物体位置姿勢推定部と、前記配置された物体モデルと前記空間モデル中における注視方向に基づいて、前記物体モデル上の前記注視位置を算出する注視位置算出部とを有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
空間モデル作成部と物体位置姿勢推定部と注視位置算出部を有し、空間中に存在する物体の三次元モデルである物体モデル上に利用者の物体モデル上の注視位置である物体モデル注視位置を自動的に対応付ける注視位置分析システムであって、
前記空間モデル作成部は、
前記利用者の視野と同様の映像である一人称映像を取得し、
前記利用者の前記一人称映像上の注視位置である一人称映像注視位置を取得し、
前記利用者が視線を向けた範囲における空間の三次元モデルである空間モデルを前記一人称映像から作成し、
前記空間モデル中における前記一人称映像の撮影位置姿勢を算出し、
前記物体位置姿勢推定部は、
前記物体モデルと前記空間モデルとをマッチングすることにより、前記空間モデル中における前記物体の位置姿勢を推定し、
前記空間モデル中における前記物体の位置姿勢を用いて、前記物体モデルを前記空間モデル中に配置し、
前記空間モデル中における前記一人称映像の前記撮影位置姿勢と前記一人称映像注視位置を用いて、前記空間モデル中における注視方向を算出し、
前記注視位置算出部は、
前記空間モデル中における前記注視方向と前記物体モデルとの交点を求めることにより、前記物体モデル注視位置を算出することを特徴とする注視位置分析システム。
【請求項2】
前記物体位置姿勢推定部は、
前記空間モデル中の前記注視方向に前記物体モデルがマッチングされていないデータが存在する場合は、前記物体モデルと前記物体モデルがマッチングされていない前記空間モデル中のデータとをマッチングすることにより、前記空間モデル中における前記物体の位置姿勢を推定することを特徴とする請求項1に記載の注視位置分析システム。
【請求項3】
前記物体位置姿勢推定部は、
前記空間モデル中におけるデータから、前記注視方向を基準として、あらかじめ定められた範囲に存在する空間モデル中のデータを選択し、
前記物体モデルと前記選択された空間モデル中のデータとをマッチングすることにより前記空間モデル中における前記物体の位置姿勢を推定することを特徴とする請求項1に記載の注視位置分析システム。
【請求項4】
前記物体位置姿勢推定部は、
あらかじめ設定された画像パターン、文字列又は記号列を前記一人称映像中から読み取り、
前記画像パターン、前記文字列又は前記記号列に対応する前記物体モデルを選択し、
前記空間モデルと前記空間モデル中における前記一人称映像の撮影位置姿勢と、前記一人称映像中の前記画像パターン、前記文字列又は前記記号列の位置とから、前記空間モデル中における前記画像パターン、前記文字列又は前記記号列の前記空間モデル中の位置を算出し、
前記空間モデル中における前記画像パターン、前記文字列又は前記記号列の前記空間モデル中の位置を基準として、前記あらかじめ定められた範囲に存在する空間モデル中のデータを選択し、
前記選択された物体モデルと前記選択された空間モデル中のデータとをマッチングすることにより前記空間モデル中における前記物体の位置姿勢を推定することを特徴とする請求項3に記載の注視位置分析システム。
【請求項5】
前記物体位置姿勢推定部は、
ある時刻における前記一人称映像から作成された空間モデルを表すデータと、既に作成されている前記空間モデルの内、同時刻における前記一人称映像に対応する範囲のデータとの差異を算出し、
前記算出された差異があらかじめ定められた閾値より大きい場合は、前記空間モデル上の該当する範囲のデータを前記一人称映像から作成された前記空間モデルを表すデータに置き換え、
前記置き換えを行った箇所のデータに対して、前記物体モデルのマッチングを行い、
前記置き換えを行う前のデータに対してマッチングされていた前記物体モデルを新たにマッチングされた前記物体モデルと置き換えることことを特徴とする請求項1に記載の注視位置分析システム。
【請求項6】
形状又は構造が変化する前記物体に対して、前記変化のそれぞれの過程に対応する前記物体モデルと、前記変化の順序関係とを保存する物体モデル保存部を更に有し、
前記物体位置姿勢推定部は、
変化する前記物体に対応する前記物体モデルがマッチングされた箇所については、前記空間モデルの変化が検出されるごとに、前記物体の変化の過程に応じた前記物体モデルを前記物体モデル保存部から選択し、前記選択された物体モデルと前記空間モデルとのマッチングを行うことを特徴とする請求項1に記載の注視位置分析システム。
【請求項7】
前記注視位置算出部は、
任意の前記物体モデルが新たに前記空間モデル上の任意の箇所にマッチングされた場合、
以前の前記物体モデル注視位置に対して、新たに前記空間モデル上にマッチングされた前記物体モデル上に前記物体モデル注視位置があるかどうかを判定することを特徴とする請求項1に記載の注視位置分析システム。
【請求項8】
前記物体位置姿勢推定部は、
前記空間モデル上において前記物体モデルがマッチングされなかった箇所に対して、前記利用者が手動で前記物体モデルをマッチングさせ、
前記注視位置算出部は、
既に取得された全ての前記物体モデル注視位置に対して、前記利用者が手動で前記空間モデル上にマッチングさせた前記物体モデル上に前記物体モデル注視位置があるかどうかを判定することを特徴とする請求項1に記載の注視位置分析システム。
【請求項9】
前記注視位置算出部は、
前記物体モデルの名称、前記空間モデル中における前記一人称映像の撮影位置姿勢、前記空間モデル中における一人称映像注視位置、前記空間モデル中における前記物体モデルの位置姿勢の内の少なくとも一つを前記物体モデル上の前記物体モデル注視位置に対応付けて保存することを特徴とする請求項1に記載の注視位置分析システム。
【請求項10】
前記物体モデル上の前記物体モデル注視位置を表示する注視位置表示部を更に有し、
前記注視位置表示部は、
前記物体モデル上の前記物体モデル注視位置を表示する際、各時刻の前記物体モデル注視位置が常に正面に表示されるように前記物体モデルの位置姿勢を調整することを特徴とする請求項1に記載の注視位置分析システム。
【請求項11】
前記空間中を前記利用者が自由に移動できる状態で、前記利用者の前記一人称映像を撮影し、前記一人称映像注視位置を計測する視線計測装置を更に有し、
前記空間モデル作成部は、
前記視線計測装置から前記一人称映像と前記一人称映像注視位置を取得することを特徴とする請求項1に記載の注視位置分析システム。
【請求項12】
前記視線計測装置は、
撮影装置を有し、
前記空間モデル作成部は、
前記撮影装置で撮影された複数枚の撮影画像から周囲の前記空間モデルを作成することを特徴とする請求項11に記載の注視位置分析システム。
【請求項13】
空間中に存在する物体の三次元モデルである物体モデル上に利用者の物体モデル上の注視位置を自動的に対応付ける注視位置分析システムであって、
撮影された複数枚の撮影画像から、周囲の空間の三次元モデルである空間モデルを作成する空間モデル作成部と、
前記空間モデルと前記物体モデルとをマッチングし、前記マッチングで得られた位置姿勢により前記物体モデルを前記空間モデル上に配置する物体位置姿勢推定部と、
前記配置された物体モデルと前記空間モデル中における注視方向に基づいて、前記物体モデル上の前記注視位置を算出する注視位置算出部と、
を有することを特徴とする注視位置分析システム。
【請求項14】
前記注視位置算出部は、
前記空間モデル中における前記注視方向と前記物体モデルとの交点を求めることにより、前記物体モデル上の前記注視位置を算出することを特徴とする請求項13に記載の注視位置分析システム。
【請求項15】
空間中に存在する物体の三次元モデルである物体モデル上に利用者の物体モデル上の注視位置である物体モデル注視位置を自動的に対応付ける注視位置分析方法であって、
前記利用者の視野と同様の映像である一人称映像を取得するステップと、
前記利用者の前記一人称映像上の注視位置である一人称映像注視位置を取得するステップと、
前記利用者が視線を向けた範囲における空間の三次元モデルである空間モデルを前記一人称映像から作成するステップと、
前記空間モデル中における前記一人称映像の撮影位置姿勢を算出するステップと、
前記物体モデルと前記空間モデルとをマッチングすることにより、前記空間モデル中における前記物体の位置姿勢を推定するステップと、
前記空間モデル中における前記物体の位置姿勢を用いて、前記物体モデルを前記空間モデル中に配置するステップと、
前記空間モデル中における前記一人称映像の前記撮影位置姿勢と前記一人称映像注視位置を用いて、前記空間モデル中における注視方向を算出するステップと、
前記空間モデル中における前記注視方向と前記物体モデルとの交点を求めることにより、前記物体モデル注視位置を算出するするステップと、
を有することを特徴とする注視位置分析方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、注視位置分析システム及び注視位置分析方法に関する。
【背景技術】
【0002】
利用者に装着する形態の視線計測装置を用いて取得した視線情報から利用者の関心や作業状況等の分析を行う場合、様々な物体が配置された三次元空間中を利用者が自由に移動することになる。このため、三次元空間中において利用者が注視した位置がどこであるか、またその遷移がどのようになっているか等を確認できることが望ましい。
【0003】
利用者に装着する形態の視線計測装置を対象として、利用者が三次元空間中を自由に移動して取得された視線情報を三次元空間中の注視位置として分析する技術は、特許文献1および特許文献2が開示されている。
【0004】
特許文献1には、複数の異なる撮影位置から撮影された画像を用いて仮想三次元空間を生成するとともに仮想三次元空間における撮影位置を算出し、画像を撮影したタイミングで取得した利用者の視線方向から仮想三次元空間における利用者の注視位置及び注視時間を算出する技術が開示されている。
【0005】
一方、特許文献2には、三次元空間中の表示装置の位置及び利用者の視線と三次元空間上の物体の位置から、利用者が着目していた物体を特定する技術が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2020-135737号公報
【特許文献2】特開2018-195319号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1では、複数の画像から生成した仮想三次元空間はそれを構成するデータが粗い場合や、部分的にしかデータを生成できない場合があり、その様な場合、何に注視していたかを判定することが困難となる。
【0008】
一方、特許文献2では、三次元空間中の利用者の視線と三次元空間上の物体の位置が常に取得可能なことが前提であるため、必要となる設備が大掛かりになるとともに適用範囲も限定されるという問題がある。また、分析の対象となる全ての物体の位置をあらかじめ明確にしておく必要もあり、事前準備に労力を要する。
【0009】
三次元空間中の注視位置を分析する場合、三次元空間全体の中をどのように注視位置が遷移したかを閲覧する他、特定の物体のみに着目し、その物体上を注視位置がどのように遷移したかを容易に閲覧できることが望ましい。
【0010】
この際、三次元空間中に存在する各物体に対する三次元モデル上に注視位置を対応付けることができると、より詳細な分析が可能になることが期待できる。また、各物体モデルは三次元空間中に自動的に配置することができれば、分析に必要な事前設定を簡略化することができると考えられる。
【0011】
本発明の目的は、注視位置分析システムにおいて、三次元空間中に存在する各物体に対応する三次元モデル上に利用者の注視位置を自動的に対応付けることにある。
【課題を解決するための手段】
【0012】
本発明の一態様の注視位置分析システムは、空間モデル作成部と物体位置姿勢推定部と注視位置算出部を有し、空間中に存在する物体の三次元モデルである物体モデル上に利用者の物体モデル上の注視位置である物体モデル注視位置を自動的に対応付ける注視位置分析システムであって、前記空間モデル作成部は、前記利用者の視野と同様の映像である一人称映像を取得し、前記利用者の前記一人称映像上の注視位置である一人称映像注視位置を取得し、前記利用者が視線を向けた範囲における空間の三次元モデルである空間モデルを前記一人称映像から作成し、前記空間モデル中における前記一人称映像の撮影位置姿勢を算出し、前記物体位置姿勢推定部は、前記物体モデルと前記空間モデルとをマッチングすることにより、前記空間モデル中における前記物体の位置姿勢を推定し、前記空間モデル中における前記物体の位置姿勢を用いて、前記物体モデルを前記空間モデル中に配置し、前記空間モデル中における前記一人称映像の前記撮影位置姿勢と前記一人称映像注視位置を用いて、前記空間モデル中における注視方向を算出し、前記注視位置算出部は、前記空間モデル中における前記注視方向と前記物体モデルとの交点を求めることにより、前記物体モデル注視位置を算出することを特徴とする。
【0013】
本発明の一態様の注視位置分析システムは、空間中に存在する物体の三次元モデルである物体モデル上に利用者の物体モデル上の注視位置を自動的に対応付ける注視位置分析システムであって、撮影された複数枚の撮影画像から、周囲の空間の三次元モデルである空間モデルを作成する空間モデル作成部と、前記空間モデルと前記物体モデルとをマッチングし、前記マッチングで得られた位置姿勢により前記物体モデルを前記空間モデル上に配置する物体位置姿勢推定部と、前記配置された物体モデルと前記空間モデル中における注視方向に基づいて、前記物体モデル上の前記注視位置を算出する注視位置算出部と、を有することを特徴とする。
【発明の効果】
【0014】
本発明の一態様によれば、注視位置分析システムにおいて、三次元空間中に存在する各物体に対応する三次元モデル上に利用者の注視位置を自動的に対応付けることができる。
【図面の簡単な説明】
【0015】
【
図1】本発明の実施例の注視位置分析システムを一般的なコンピュータによって実行させる場合のコンピュータの構成図である。
【
図2】本発明で想定している視線計測装置の基本的な構成を表す図である。
【
図3】一人称映像データのフォーマットの一例を示す図である。
【
図4】注視位置データのフォーマットの一例を示す図である。
【
図5】物体モデルデータのフォーマットの一例を示す図である。
【
図6】空間モデルデータのフォーマットの一例を示す図である。
【
図7】物体配置データのフォーマットの一例を示す図である。
【
図8】空間モデル作成プログラムで実行される処理の内容を説明する図である。
【
図9】注視位置算出プログラムで実行される処理のフローチャートの一例を示す図である。
【
図10】注視位置算出プログラムで実行される処理の内容を説明する図である。
【
図11】実際の物体上に設置されたARマーカーの一例を示す図である。
【
図12】形状や大きさが変化していく物体モデルの一例を示す図である。
【
図13】物体モデルと物体モデル上の注視位置の一例を示す図である。
【
図14】注視位置を常に利用者に正対するように表示した場合の一例を示す図である。
【
図15】物体モデルの位置姿勢の調整方法を制限して注視位置を表示した場合の一例を示す図である。
【発明を実施するための形態】
【0016】
以下、図面を用いて本発明の実施例について説明する。
【実施例0017】
図1は、本発明における実施例における注視位置分析システムを一般的なコンピュータによって実行させる場合のコンピュータの構成図である。
図1における視線計測装置101は、利用者の視野と同様の映像である一人称映像と一人称映像上の注視位置を計測し、それぞれを一人称映像データ110と注視位置データ111を格納するためのデータベースに記録するための入力装置であり、「アイトラッカー」等の名称で一般的に良く利用されている装置を使用することができる。
【0018】
特に、本発明における視線計測装置101としては、利用者に装着して用いることができる携帯型の装置を想定している。これにより、利用者が自由に空間上を移動できる状態で注視方向を計測することができる。
【0019】
図2に、利用者に装着して用いる視線計測装置101の基本的な構成を示す。
図2における201は、利用者の一人称映像を取得するための撮影装置であり、一般的にパソコン等で用いられるカメラと同等の装置を使用することができる。202は、利用者の目の動きを検知し、注視方向を計測するためのセンサが搭載されている眼鏡型の装置である。203は、取得された一人称映像データ110と注視位置データ111をデータベースに記録するための端末である。端末203は、情報処理装置102にデータを送信するようにしても良い。
【0020】
視線計測装置101としては、空間中を利用者が自由に移動できる状態での注視位置の計測が可能で、且つ、一人称映像上での注視位置の取得が可能であれば、携帯型に限らず、据え置き型の装置を用いても良い。
【0021】
図1における情報処理装置102は、注視位置分析システムにおける各プログラムを実行するための情報処理装置である。
【0022】
入力装置103には、システムの開始や終了等を制御するためのキーボード、ボタン、マウスあるいはタッチパネル等の一般的なコンピュータにおける入力装置が含まれる。
【0023】
出力装置104は、利用者に注視位置分析の結果やシステムの動作状況等を表示するための手段であり、スマートフォンやタブレット端末の画面、あるいは一般的なコンピュータ用の表示装置が含まれる。
【0024】
また、105は、注視位置分析システムにおける各プログラムを格納するための記憶装置である。記憶装置105には、空間モデル作成プログラム106、物体位置姿勢推定プログラム107、注視位置算出プログラム108および注視位置表示プログラム109が含まれる。
【0025】
ここで、情報処理装置102は、空間モデル作成プログラム106に従って処理を実行することで空間モデル部として機能する。また、情報処理装置102は、物体位置姿勢推定プログラム107に従って処理を実行することで物体位置姿勢推定部として機能する。また、情報処理装置102は、注視位置算出プログラム108に従って処理を実行することで注視位置算出部として機能する。また、情報処理装置102は、注視位置表示プログラム109に従って処理を実行することで注視位置表示部として機能する。
【0026】
一人称映像データ110のデータベースには、利用者の視野と同様の映像である一人称映像のデータが格納される。一人称映像データ110は上述のように視線計測装置101で取得されることを想定している。
【0027】
図3に、一人称映像データ110のフォーマットの一例を示す。
図3におけるデータの名称301は、一人称映像データに付与された名称であり、任意の文字および記号の列を用いることができる。また、一人称映像データ110には、あらかじめ定められた時間間隔、あるいは任意のタイミングで取得した複数枚の画像が取得された順番で含まれており、
図3におけるデータ数302は、データ中に含まれる画像の枚数を表す。
【0028】
303の時刻1は最初に画像が取得された時刻、304の画像1は最初に取得された画像、305の撮影位置姿勢1は最初の画像を撮影したカメラの位置姿勢を表す。306の時刻nはn番目の画像が取得された時刻、307の画像nはn番目の画像、308の撮影位置姿勢nはn番目の画像を撮影したカメラの位置姿勢を表す。なお、撮影位置姿勢305および308は、後述するように、空間モデル作成プログラム106によって算出されるデータであり、各画像を取得した時点では空欄である。
【0029】
また、一人称映像データ110のフォーマットとしては、一般的に用いられる動画フォーマット等、データ中の各時刻における画像が容易に取得できるフォーマットであれば、どのようなフォーマットを用いても良い。注視位置データ111のデータベースには、視線計測装置101で取得された注視位置のデータが格納される。
【0030】
図4に、注視位置データ111のフォーマットの一例を示す。
上述のように、注視位置は一人称映像データ110上における位置座標として表されることを前提とするため、注視位置データ111には対応する一人称映像データ110が存在する。このため、データの名称401に対応する一人称映像データにおけるデータの名称301と同じ名称を記述することにより、注視位置データ111と一人称映像データ110との対応関係を表す。
【0031】
また、注視位置データ111には、あらかじめ定められた時間間隔、あるいは任意のタイミングで取得した複数の位置座標が取得された順番で含まれている。
図4におけるデータ数402は、データ中に含まれる位置座標の数を表す。403は最初に注視位置の位置座標が取得された時刻、404は最初に取得された注視位置の位置座標、405は注視位置算出プログラム108により注視位置データが物体モデルに対応付けられた場合、その物体の名称を記述する。
【0032】
406はn番目に注視位置の位置座標が取得された時刻、407はn番目に取得された注視位置の位置座標、408は注視位置算出プログラム108により注視位置データが物体モデルに対応付けられた場合、その物体の名称を記述する。注視位置データが取得された時点では、対応付けられた物体モデルは無いため、405および408は空欄となる。
【0033】
また、注視位置データ111が取得された時点では、注視位置は一人称映像上の位置座標、すなわち二次元の座標データであるが、注視位置データ111が物体モデルに対応付けられた場合は物体モデル上の位置座標となり三次元の座標データに書き換えられる。
【0034】
上述した注視位置データ111では、視線計測装置101で取得された注視位置データと、物体モデルに対応付けられた注視位置データを同じデータで管理することを前提としている。しかし、視線計測装置101で取得された注視位置データと、物体モデルに対応付けられた注視位置データを別々のデータとして管理するようにしても良い。
【0035】
物体モデルデータ112のデータベースには、利用者が視線を向ける範囲内の空間に存在する物体の三次元モデルを格納する。本発明では、それぞれの物体の三次元モデルは物体の形状を表す点の集まり、すなわち点群データとして表されることを想定する。
【0036】
一般的な三次元CAD等を使用して作成される物体モデルは、多角形の集まりとして表される場合が多いが、多角形で表された物体モデルは、容易に点群モデルに変換することができる。例えば、まずそれぞれの多角形について、ある頂点とその頂点と隣り合う頂点以外を結ぶ線で多角形を三角形に分割し、それぞれの三角形については、ある頂点とそれに向かい合う辺の中点を結ぶ線で三角形を分割することを繰り返し、最終的に全ての三角形の頂点を選択することで、多角形で表されている物体モデルを点群データとして表すことができる。
【0037】
図5に、物体モデルデータ112のデータベースに格納される物体モデルのフォーマットの一例を示す。
図5における501は、物体に付与された名称であり、任意の文字および記号の列を用いることができる。502は物体モデル中に含まれる点の数、503は最初の点の位置座標、504はn番目の点の位置座標を表す。
図5に示すフォーマットでは点の位置座標のみを含めているが、例えば色に関する情報等、それぞれの点に付属する情報を含めるようにしても良い。
【0038】
空間モデルデータ113のデータベースには、利用者が視線を向ける範囲内の空間に対する三次元モデルである空間モデルを格納する。空間モデルは、一人称映像データ110を用いて空間モデル作成プログラム106によって作成されるデータであり、上述した物体モデルと同様に点群データとして表されることを想定している。
【0039】
図6に、空間モデルデータ113のデータベースに格納される空間モデルのフォーマットの一例を示す。
図6におけるモデルの名称601は、空間モデルに付与された名称であり、任意の文字および記号の列を用いることができる。602は空間モデルの作成に使用された一人称映像データの名称、603は空間モデル中に含まれる点の数、604は最初の点の位置座標、605はn番目の点の位置座標を表す。
図6に示すフォーマットでは点の位置座標のみを含めているが、例えば色に関する情報等、それぞれの点に付属する情報を含めるようにしても良い。
【0040】
物体配置データ114のデータベースには、物体位置姿勢推定プログラム107によって、空間モデルにマッチングされ、空間モデル上に配置された物体モデルに関するデータを格納する。
【0041】
図7に、物体配置データ114のデータベースに格納される物体配置データ114のフォーマットの一例を示す。
物体配置データ114は空間モデルごとに格納される想定として、
図7におけるモデルの名称701に対応する空間モデルの名称を記述する。物体の数702は、対象となっている空間モデルに配置されている物体モデルの数を表す。
【0042】
図7において、703は空間モデル上に配置されている最初の物体の名称、704は最初の物体の空間モデル上における位置姿勢、705は最初の物体が空間モデルに配置された時刻を表す。706は空間モデル上に配置されているn番目の物体の名称、707はn番目の物体の空間モデル上における位置姿勢、708はn番目の物体が空間モデルに配置された時刻を表す。
【0043】
本発明は、視線計測装置101から取得された一人称映像データ110および注視位置データ111から、空間モデル作成プログラム106、物体位置姿勢推定プログラム107および注視位置算出プログラム108によって、各物体上における注視位置の分析処理を行う。本実施例では特に、視線計測装置101から一人称映像データ110および注視位置データ111をリアルタイムに取得しながら処理を行うことを想定している。
【0044】
このためまず、空間モデル作成プログラム106では、視線計測装置101から取得され、一人称映像データ110のデータベースに保存されたデータから、新たに保存されたデータを常時読み込み、空間モデルを作成する処理を行う。
【0045】
映像データから点群データで表現される空間モデルを作成する技術としては、良く知られたSLAM(Simultaneous Localization and Mapping)およびMVS(Multi-View Stereo)法を組み合わせた技術を用いることができる。
【0046】
SLAMはカメラを移動させた場合に対応する連続した複数枚の画像を用いて、画像間の対応関係を解析することにより、粗い点群データを作成する技術である。一方、MVS法は、SLAMにおける解析結果を用いることにより、より詳細な密な点群データを作成する技術である。
【0047】
SLAMおよびMVS法を用いて点群データによる空間モデルを作成する場合のイメージを
図8に示す。
【0048】
図8において801は、利用者が視線を移動する範囲に存在している物体を表しており、簡単のため、周囲には他の物体は存在しないと想定している。802および804は一人称映像を撮影した際のカメラの位置を表しており、803および805はそれぞれのカメラの位置から一人称映像を撮影した際のカメラの視野の範囲およびカメラの姿勢を図示したものである。
【0049】
802および804に示すように、複数の箇所から撮影した同一物体あるいは同一箇所の画像を用いることにより、806に示すような点群データで表される空間モデルが作成される。
【0050】
図8では、カメラの位置は2箇所のみを示しているが、より正確な空間モデル806を作成するために、一般的には、それ以上の枚数の画像が用いられる。以上のような技術を用いることにより、利用者の注視位置の移動に応じて、空間モデル806をリアルタイムに作成することができる。空間モデル作成プログラム106で使用する技術としては、上記の技術の他、同様に点群データで表された空間モデルを作成できる技術であれば、どのような技術を用いても良い。
【0051】
また、SLAM技術を用いることにより、作成された空間モデル上における一人称映像を撮影したカメラの位置姿勢も同時に算出することができる。後述するように、カメラの位置姿勢は物体モデル上の注視位置の算出で必要となる情報である。このため、カメラの位置姿勢を算出することができない空間モデルの作成技術を使用する場合は、空間モデル上のカメラの位置姿勢を取得する手段を別途利用する必要がある。例えば、位置姿勢を取得するセンサを利用する等、空間中の位置姿勢を取得する技術であればどのような技術でも使用することができる。
【0052】
物体位置姿勢推定プログラム107は、空間モデル作成プログラム106によって作成された空間モデル中の一部の点群データに対して、物体モデルの点群データをマッチング、すなわち位置や姿勢がうまく合うように合わせ込みを行い、空間モデル中における物体モデルの位置姿勢を求めるためのプログラムである。
【0053】
物体位置姿勢推定プログラム107で使用する技術としては、良く知られたICP(Iterative Closest Point)アルゴリズムやNDT(Normal Distribution Transform)アルゴリズムと呼ばれる技術を用いることができる。あるいは、点群データ同士のマッチングを行い、空間モデル中における物体モデルの位置姿勢を求めることができる技術であればどのような技術を用いても良い。また、物体位置姿勢推定プログラム107は、後述の注視位置算出プログラム108によって、処理を行うタイミングが制御される。
【0054】
注視位置算出プログラム108は、視線計測装置101によって取得された注視位置データ111、物体モデルデータ112および空間モデル作成プログラム106によって作成された空間モデルデータ113を用いて、物体モデル上における注視位置を求めるプログラムである。
【0055】
図9のフローチャートを用いて、注視位置算出プログラム108の処理の流れを説明する。
図9におけるステップ901では、注視位置データ111のデータベースに格納されている注視位置データ111から新たな注視位置データ111を取得する。あるいは、視線計測装置101から新たな注視位置データを直接取得するようにしても良い。
【0056】
ステップ902では、新たに取得された注視位置データ111、および空間モデル作成プログラム106によって空間モデルを作成する際に算出され、一人称映像データ110に記載されている撮影位置姿勢305および308を用いて、空間モデル上の注視方向を算出する。
【0057】
また、空間モデル上の注視方向は、注視の始点となる位置とその位置からの視線方向を示すベクトルで表される。空間モデル上の注視方向の算出は、まず、新たに取得された注視位置データ111と同じ時刻の一人称映像データに対する撮影位置姿勢を一人称映像データ110から取得する。
【0058】
全く同じ時刻の撮影位置姿勢が存在しない場合は、例えば、注視位置データ111の時刻の前後の時刻に対応する一人称映像データ110に対する撮影位置姿勢を取得し、注視位置データ111の時刻との関係に基づいて補間を行うことにより求めた撮影位置姿勢を使用する、等の方法を用いれば良い。次に、取得した撮影位置姿勢を用いて、一人称映像上の注視位置を空間モデル上の注視位置に座標変換する。
【0059】
上述のように、注視位置データ111は一人称映像上の注視位置で表されるが、良く知られたピンホールカメラモデルにカメラの視野角や焦点距離等の情報を適用することにより、撮影位置、一人称映像および注視位置の位置関係を実際の空間と同一サイズで求めることができる。さらに、一人称映像データ110から取得した撮影位置姿勢により、求めた位置関係を座標変換することにより、
図10に示すように、空間モデル上におけるカメラの撮影位置、一人称映像および注視位置の位置関係を表すことができる。
【0060】
図10において、1001は空間モデル、1002は空間モデル1001上における一人称映像を撮影したカメラの撮影位置、1003は一人称映像の空間モデル1001上における撮影範囲を示しており、カメラの撮影姿勢に対応する。
【0061】
また、1004は空間モデル1001に対応付けられた一人称映像上の注視位置である。空間モデル1001上の注視方向は、
図10において、1002を始点として一人称映像上の注視位置1004を通過するベクトル1005として求めることができる。
【0062】
図9におけるステップ903では、ステップ902で求めた空間モデル1001上の注視方向に、空間モデル1001上に配置された物体モデルが存在するかどうかの判定を行い、空間モデル1001上の注視方向に空間モデル1001上に配置された物体モデルが存在すると判定された場合はステップ906に、存在しないと判定された場合は904に、それぞれ進む。
【0063】
判定を行う方法としては、まず、物体配置データ114から対象となる空間モデル1001に配置された物体モデルの情報を取得し、該当する物体モデルの点群データを物体モデルデータ112から読み込み空間モデル上に配置する。次に、空間モデル1001上の注視方向を表すベクトル(以下、注視方向ベクトル)、例えば
図10におけるベクトル1005と空間モデル1001上に配置された物体モデルの各点との距離を求め、注視方向ベクトルと最も近い距離を選択する。
【0064】
選択された距離があらかじめ定められた閾値以下であれば、対象となる物体モデルが注視方向に存在すると判定することができる。距離に対する閾値としては、例えば、物体モデルを構成する点群データにおける点間の距離において、最も大きい距離や最も大きい距離の2分の1等を選択することができる。また、判定方法としては、空間モデル上の注視方向ベクトルとの距離があらかじめ定められた閾値以下である点が、あらかじめ定められた閾値以上の個数存在する場合に、対象となる物体モデルが注視方向にあると判定するようにしても良い。
【0065】
また、物体モデルデータ112のデータベースに格納する物体モデルとして、点群データの他に多角形(ポリゴン)の集合で表された形式のデータであるポリゴンデータも格納しておき、空間モデル1001上に該当する物体モデルもポリゴンデータを配置し、空間モデル1001上に配置された各ポリゴンと空間モデル上に配置された視線方向を表すベクトルとが交差する点が存在する場合、対象となる物体モデルが注視方向に存在すると判定するようにしても良い。
【0066】
さらには、空間モデル1001上に配置された物体が複数存在する場合は、上述した注視方向ベクトル1005と最も近い距離にある点や注視方向ベクトル1005と交差するポリゴンの注視方向ベクトル上の位置を求め、注視方向ベクトル1005の始点、すなわち撮影位置に最も近い点あるいはポリゴンを含む物体モデルを注視方向に存在する物体モデルとして選択すれば良い。
【0067】
またさらには、空間モデル1001と同じ位置関係を表すことができる仮想空間を用意し、物体が空間モデル1001上に配置されるごとに、仮想空間上に物体モデルを配置し、仮想空間上で上述した判定処理を実行するようにしても良い。
【0068】
ステップ904では、物体位置姿勢推定プログラム107を用いて、空間モデル1001上の注視方向に存在する空間モデル1001上の点群データに対して、物体モデル1004をマッチングする。この処理は、
図10において、空間モデル1001に対して物体モデル1006を位置や姿勢を様々に調整することにより、対象とする物体モデル1006で空間モデル1001の一部を置き換えることを可能とするための処理である。
【0069】
視線方向に存在する空間モデル1001上の点群データとしては、例えば、注視方向ベクトル1005からの距離があらかじめ定められた距離以下である空間モデル上の点群データを選択することができる。あらかじめ定められた距離としては、マッチングを行う物体モデルの最大サイズや最大サイズの2分の1等を用いることができる。
【0070】
あるいは、注視方向ベクトル1005を中心軸とするあらかじめ定められた大きさの特定の形状の範囲内に存在する点群データとすることもできる。また、点群データ中の各点の注視方向ベクトル上での位置を求め、点群データが注視方向ベクトル上で最も集中している箇所を中心にあらかじめ定められた範囲の点を選択することもできる。以上の他にも、注視方向ベクトルを中心としてマッチングの対象とする点群データを選択できる方法であれば、どのような方法を用いても良い。
【0071】
空間モデル上の点群データにマッチングする物体モデルは、物体モデルデータ112のデータベースに格納されている全ての物体モデルを対象とすることもできるし、あるいは、実際の物体上に、良く知られたQRコード(登録商標)やARマーカー、物体の名称を表す記号や文字列等を設置し、良く知られた画像認識技術や文字認識技術を用いてそれらを読み取り、対応する物体モデルを物体モデルデータ112から選択してマッチングするようにしても良い。
【0072】
図11の1101に、実際の物体上に設置されたARマーカーの一例を示す。あるいは、空間モデル上の点群データと物体モデルの点群データから、良く知られた点群特徴量(三次元特徴量)を抽出し、空間モデル上の点群データと類似した点群特徴量を有する物体モデルを物体モデルデータ112から選択してマッチングするようにしても良い。
【0073】
また、組み立て作業を行うような場合、特定の箇所に存在する物体の形状や大きさが変化していくが、このような場合、
図12の1201、1202および1203に示すように、作業の工程ごとに物体の状態を示す物体モデルとその順序関係を物体モデルデータ112に保存しておき、順に空間モデルとマッチングを行うようにすることで、作業の工程に応じた物体モデルを空間モデルにマッチングできるようになる。
【0074】
具体的には、例えば、注視方向に存在する空間モデル上の点群データにいずれの物体モデルもマッチングされていない場合は、最初の工程に対応する物体モデルを選択してマッチングを行う。
【0075】
一方、注視方向に存在する空間モデル上の点群データに、いずれかの工程に対応する物体モデルがすでにマッチングされている場合は、次の工程に対応する物体モデルを選択し、空間モデル上の点群データとのマッチングを行い、既にマッチングされている物体モデルと空間モデルの一致度より高い一致度で次の工程に対応する物体モデルが空間モデルにマッチングされた場合、既にマッチングされている物体モデルを次の工程に対応する物体モデルで置き換えるようにすれば良い。
【0076】
一致度としては、後述するステップ905での処理において使用するものと同様のものを用いることができる。さらに、次の工程に対応する物体モデルの空間モデルへのマッチングは、既にマッチングされている物体モデル上に注視位置が移動した場合や、空間モデル作成プログラム106において空間モデルの変化が検出された場合に行うようにすれば良い。
【0077】
空間モデルの変化の検出は、空間モデル作成プログラム106において、例えば、新たに取得された一人称映像の画像とその直前のあらかじめ定められた枚数の一人称映像の画像を用いて生成された空間モデルとそれ以前に生成されていた空間モデルとを比較し、両者の差分があらかじめ定められた閾値以上の大きさであれば、空間モデルが変化したと判定すればよい。
【0078】
空間モデルと空間モデルの差分は、例えば、一方の空間モデル中の各点に対して、他方の空間モデル中の最も近い点を検索し、検索された点との距離を算出し、一方の空間モデル中の全ての点についての距離の平均を求めることにより算出することができる。あるいは、求められた距離があらかじめ定められた閾値以上である点の数を用いても良い。あるいは、点群間の差分を算出できる方法であれば、どのような方法を用いても良い。
【0079】
ステップ905では、空間モデル上の注視方向に存在する空間モデル上の点群データに物体モデルが正しくマッチングされたかどうかを判定し、正しくマッチングされた場合は物体モデルのマッチング結果を物体配置データ114のデータベースに保存した後ステップ906に、そうでない場合はステップ908に進む。
【0080】
空間モデル上の点群データに物体モデルが正しくマッチングされたかどうかを判定する方法としては、空間モデル上の点群データと、マッチング処理を行った結果に基づいて空間モデル上に配置された物体モデルとの一致度を求め、一致度があらかじめ定められた値より大きい場合、物体モデルが正しくマッチングされたと判定すれば良い。
【0081】
空間モデル上の点群データにマッチングされる物体モデルが複数存在する場合は、最も大きい一致度を選択し、選択した一致度があらかじめ定められた値より大きい場合、物体モデルが正しくマッチングされたと判定するとともに、選択された一致度に対応する物体モデルが空間モデル上の点群データにマッチングされたと判断すれば良い。
【0082】
一致度としては、例えば、マッチング結果を用いて空間モデル上に配置された物体モデル中の各点に対して、空間モデル上の点群データ中でもっとも距離が小さい点を探索し、求めた距離があらかじめ定められた閾値より小さい点の数の個数を求め、物体モデル中における点の数に対する求めた点の個数の割合を用いることができる。空間モデル上の点群データと物体モデルの一致度としては、上記の他、点群データ同士のマッチング結果の良否を判定できる指標であれば、どのような指標を用いても良い。
【0083】
ステップ906では、ステップ904でのマッチング結果を用いて空間モデル上に配置された物体モデルにおける注視位置を算出する。空間モデル上に配置された物体モデルと空間モデル上の注視方向ベクトルは、
図10における1005となるため、上述したステップ903における処理、すなわち、空間モデル上の注視方向に空間モデル上に配置された物体モデルが存在するかどうかの判定処理と同様の処理を用いることができる。
【0084】
ただしステップ903では、物体モデルが点群データの場合、注視方向ベクトル1005との距離があらかじめ定められた閾値以下の点が存在するかどうかに着目していたが、注視位置の算出では、注視方向ベクトルとの距離があらかじめ定められた閾値以下であり、かつ、撮影位置1002に最も近い点を選択し、それを注視位置とすることが異なる。
【0085】
あるいは、注視方向ベクトル1005との距離があらかじめ定められた閾値以下であり、撮影位置1002に最も近い点からあらかじめ定められた範囲内に複数の点が存在する場合は、撮影位置1002に最も近い点と、そこからあらかじめ定められた範囲内に点の平均を注視位置としても良い。
【0086】
あるいは、物体モデルが多角形の集まりとして表される場合は、注視方向ベクトルと物体モデル中の各多角形との交点を求め、撮影位置1002に最も近い交点を注視位置として求めるようにすれば良い。
【0087】
以上によって求められた注視位置は空間モデル上での注視位置であるため、ステップ906では、求められた注視位置をステップ904のマッチング結果により得られた空間モデル上における物体モデルの位置姿勢を用いて座標変換を行う。これにより、空間モデル1001上での注視位置1004を物体モデル1006上、すなわち物体モデルの座標系における注視位置1007に変換する。
【0088】
また、ステップ905において空間モデル上に物体モデルが配置された場合、ステップ906において、過去の注視位置データに対して、配置された物体モデル上における注視位置の計算を行うようにしても良い。これは、注視位置算出プログラム108の処理の初期段階等では、空間モデル上の各物体に対する点群データが少なく、空間モデル上への物体モデルの配置が行えない場合が想定されるためである。
【0089】
ステップ907では、ステップ906で求めた物体モデル上の注視位置を注視位置データ111に保存する。また、物体モデルの注視位置を保存する際、空間モデル上における一人称映像の撮影位置姿勢や、空間モデル中における注視位置、空間モデル上における物体モデルの位置姿勢等を合わせて保存するようにしても良い。
【0090】
ステップ908では、入力装置103等から終了の指示がある場合は処理を終了し、そうでなければステップ901に戻る。
【0091】
上述した注視位置算出プログラム108では、一人称映像データ110および注視位置データ111をリアルタイムに取得し、空間モデルデータ113を生成しながら物体モデルデータ112の空間モデル上への配置を行い、物体モデル上への注視位置の計算を行っていたが、対象となる一人称映像データ110および注視位置データ111の取得が一通り完了した後、一人称映像データ110および注視位置データ111に保存されているデータを順番に読み込みながら注視位置算出プログラム108の処理を実行するようにしても良い。
【0092】
その際、空間モデルの作成、あるいは、空間モデルの作成および空間モデル上への物体モデルの配置を行った後、物体モデル上への注視位置の計算を行うようにしても良い。またその際、空間モデル上に物体モデルが配置されていない箇所に対して、手動で物体モデルを配置した後、上述した処理を行うようにしても良い。
【0093】
あるいは、注視位置算出プログラム108の処理を実行した後、注視位置算出プログラム108を実行した後に生成される空間モデルデータ113および物体配置データ114を用いて、再度、注視位置算出プログラム108を実行するようにしても良い。これは、注視位置算出プログラム108の処理の初期段階等では、空間モデル上の各物体に対する点群データが少なく、空間モデル上への物体モデルの配置が行えない場合が想定される。
【0094】
このような場合、注視位置データ111に格納された注視位置の内、物体モデル上の注視位置が計算されないままになる注視位置が生じる可能性があるためである。この場合、注視位置算出プログラム108は以下の変更を行った上で実行される。
【0095】
一つ目の変更点としては、ステップ901における注視位置データの取得は注視位置データ111に保存されているデータから保存された順序でデータを読み込むことによって行う。さらに、取得された注視位置データに対して物体モデル上への注視位置の計算が行われているかどうかを判定し、行われていればステップ908に進む処理を追加する。
【0096】
二つ目の変更点としては、ステップ903において、空間モデル上の注視方向に物体モデルが配置されていない場合、ステップ904ではなくステップ908に進むようにすることである。
【0097】
三つ目の変更点は、ステップ904およびステップ905を削除することである。注視位置算出プログラム108に対して、以上の三点の変更を行うことにより、物体モデル上への注視位置の計算が行われていない注視位置に対して、物体モデル上への注視位置の計算を行うことができる。またその際、空間モデル上に物体モデルが配置されていない箇所に対して、手動で物体モデルを配置した後、上述した処理を行うようにしても良い。
【0098】
注視位置表示プログラム109は、利用者からの指示に応じて、注視位置データの表示を行うプログラムである。注視位置は、視線分析で良く知られた方法、例えば、注視位置の頻度分布であるヒートマップによる方法や、注視位置が一定範囲内にとどまっていた時間の長さを円の大きさ等で視覚的に表示する方法等により表示を行う。
【0099】
また、一人称映像上の注視位置を表示する他、物体モデル上における注視位置の表示を行う。物体モデル上における注視位置の表示方法としては、空間モデルに対応する仮想空間である仮想空間モデルを用意し、仮想空間モデル中に物体配置データ114中に保存されているデータに基づいて物体モデルを配置し、仮想空間モデル中に配置された物体モデル上に注視位置を表示する方法を用いることができる。あるいは、特定の物体モデルのみを選択し、選択された物体モデル上にのみ、注視位置を表示する方法を用いることもできる。
【0100】
さらに、物体モデル上に注視位置を表示する場合、注視位置が常に利用者に正対するように仮想空間モデルあるいは物体モデルを調整して表示するようにしても良い。
【0101】
図13の1301は物体モデルの例を、1302、1303、1304および1305は物体モデル上の注視位置の例を示す。また、
図14に、
図13で示す注視位置を常に利用者に正対するように表示した場合の一例を示す。
【0102】
図14において、1401は注視点1302を利用者に正対するように表示した物体モデル、1402は1401上に表示された注視点である。1403は注視点1303を利用者に正対するように表示した物体モデル、1404は1403上に表示された注視点である。1405は注視点1304を利用者に正対するように表示した物体モデル、1406は1405上に表示された注視点である。1407は注視点1305を利用者に正対するように表示した物体モデル、1408は1407上に表示された注視点である。
【0103】
図14に示す表示方法では、各注視位置が完全に利用者に正対するように物体モデルを調整することにより、注視位置の表示を行っている。これを行うためには、例えば、物体モデルが点群データである場合は、注視位置を含むあらかじめ定められた範囲にある点を選択し、選択された点から注視位置を含む平面の法線の向きを求め、求めた法線が利用者側に向くように物体モデルの位置姿勢を調整するようにすればよい。物体モデルが多角形の集まりで表現されている場合は、注視位置を含む多角形を物体モデルから選択し、その法線が利用者側に向くように物体モデルの位置姿勢を調整するようにすればよい。
【0104】
また、注視位置を表示する際に、表示する物体モデルの位置姿勢の調整方法に制限を設けるようにしても良い。さらに、注視位置が利用者に正対する程度を調整することにより、注視位置を表示する際に物体モデルの姿勢が大きく変化することを抑えるようにしても良い。
【0105】
例えば、最初の注視位置は利用者に正対するように表示し、それ以降の注視位置は、利用者に正対する程度があらかじめ定められた範囲を超えないように、物体モデルの位置姿勢を調整する。注視位置が利用者に正対する程度としては、注視位置を含む平面の法線方向と利用者に正対する方向、すなわち画面に垂直な方向との間の角度や内積等を用いることができる。
【0106】
図15に、上述の方法で注視位置を表示した場合の表示例を示す。
図15は、物体モデルを表示する際に、物体モデルの上下方向の座標軸を利用者側に傾けた状態で、注視位置を表示する際の位置姿勢の調整方法として、物体モデルの上下方向の座標軸周りの回転のみを許容して表示した場合を示している。物体モデル1501は最初の注視位置1502を利用者に正対するように位置姿勢を調整している。
【0107】
ただし
図15では、物体モデルの上下方向の座標軸が傾いており、注視位置を利用者に完全に正対させることはできないため、できるだけ正対するように位置姿勢の調整を行う。具体的には、上述と同様に注視位置を含む平面の法線を求め、求めた法線と利用者に正対する方向、すなわち画面に垂直な方向との差が最も小さくなるように、物体モデルの位置姿勢を調整する。物体モデル1503では、注視位置1504が利用者に正対する程度が注視位置1502より低い状態、すなわち注視位置の確認は可能であるが、利用者には正対していない状態で表示されている。物体モデル1505上の注視位置1506および物体モデル1507上の注視位置1508も注視位置1504と同じ方法で表示された場合を示している。
【0108】
以上のように、本発明に実施例における注視位置分析システムは、利用者の視野と同様の映像である一人称映像から利用者が視線を向けた範囲の空間の三次元モデルである空間モデルの生成と空間モデル中における一人称画像の撮影位置姿勢の算出を行い、空間モデル上における一人称映像の撮影位置姿勢と一人称映像上の注視位置とを用いて空間モデル上における注視方向を算出し、物体に対する三次元モデルである物体モデルと空間モデルとをマッチングすることにより推定された空間モデル上における物体の位置姿勢により物体モデルを空間モデル中に配置し、空間モデル上における注視方向と物体モデルとの交点を求めることにより、物体モデル上における注視位置を算出する。
【0109】
本発明の実施例によれば、利用者に装着する形態の視線計測装置を対象として、計測対象の空間を自由に移動して計測された利用者の視線情報から、空間中に存在する各種対象物の三次元モデル上に利用者の注視位置を自動的に対応付けることが可能となる。