IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特開2023-180453情報処理装置、制御方法及びプログラム
<>
  • 特開-情報処理装置、制御方法及びプログラム 図1
  • 特開-情報処理装置、制御方法及びプログラム 図2
  • 特開-情報処理装置、制御方法及びプログラム 図3
  • 特開-情報処理装置、制御方法及びプログラム 図4
  • 特開-情報処理装置、制御方法及びプログラム 図5
  • 特開-情報処理装置、制御方法及びプログラム 図6
  • 特開-情報処理装置、制御方法及びプログラム 図7
  • 特開-情報処理装置、制御方法及びプログラム 図8
  • 特開-情報処理装置、制御方法及びプログラム 図9
  • 特開-情報処理装置、制御方法及びプログラム 図10
  • 特開-情報処理装置、制御方法及びプログラム 図11
  • 特開-情報処理装置、制御方法及びプログラム 図12
  • 特開-情報処理装置、制御方法及びプログラム 図13
  • 特開-情報処理装置、制御方法及びプログラム 図14
  • 特開-情報処理装置、制御方法及びプログラム 図15
  • 特開-情報処理装置、制御方法及びプログラム 図16
  • 特開-情報処理装置、制御方法及びプログラム 図17
  • 特開-情報処理装置、制御方法及びプログラム 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023180453
(43)【公開日】2023-12-21
(54)【発明の名称】情報処理装置、制御方法及びプログラム
(51)【国際特許分類】
   G06T 17/20 20060101AFI20231214BHJP
   H04N 23/60 20230101ALI20231214BHJP
【FI】
G06T17/20
H04N5/232 220
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022093795
(22)【出願日】2022-06-09
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【弁理士】
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100124442
【弁理士】
【氏名又は名称】黒岩 創吾
(72)【発明者】
【氏名】金子 千晶
【テーマコード(参考)】
5B080
5C122
【Fターム(参考)】
5B080AA13
5B080AA17
5B080BA00
5B080CA00
5B080FA02
5B080GA22
5C122DA13
5C122EA01
5C122EA42
5C122FA06
5C122FA11
5C122GE25
5C122GE27
5C122HA13
5C122HA88
5C122HB01
5C122HB05
5C122HB10
(57)【要約】
【課題】 形状推定精度を評価するためのデータセットを簡便に得る。
【解決手段】 3次元空間の空間領域を表す領域情報を取得する第一の取得手段と、被写体に関する属性情報を取得する第二の取得手段と、前記領域情報と前記属性情報とに基づいて、被写体の形状と配置とを表す被写体データを複数生成する生成手段と、を有し、前記生成手段によって生成された前記複数の被写体データは、前記空間領域に対応する領域において、前記被写体に対応する形状モデルが占める割合の和集合が所定の割合以上になることを特徴とする情報処理装置。
【選択図】 図1
【特許請求の範囲】
【請求項1】
3次元空間の空間領域を表す領域情報を取得する第一の取得手段と、
被写体に関する属性情報を取得する第二の取得手段と、
前記領域情報と前記属性情報とに基づいて、被写体の形状と配置とを表す被写体データを複数生成する生成手段と、を有し、
前記生成手段によって生成された前記複数の被写体データは、前記空間領域に対応する領域において、前記被写体に対応する形状モデルが占める割合の和集合が所定の割合以上になる
ことを特徴とする情報処理装置。
【請求項2】
前記領域情報は、前記3次元空間の範囲を示す情報と、前記3次元空間に対応する領域を構成する単位体積要素であるボクセルの大きさを示す情報とから成ることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記生成手段は、前記被写体の形状の内部に含まれる前記ボクセルの個数に基づいて、前記空間領域に占める割合を算出することを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記生成手段は、前記被写体の形状の表面と交わる前記ボクセルの個数に基づいて、前記空間領域に占める割合を算出することを特徴とする請求項2に記載の情報処理装置。
【請求項5】
前記被写体は人物であり、前記属性情報は少なくとも人数、身長、および身幅に関する情報を含むことを特徴とする請求項1に記載の情報処理装置。
【請求項6】
前記生成手段は、前記属性情報に基づき前記被写体の形状を表す形状データを取得し、前記領域情報と前記形状データとに基づいて複数パターンの被写体の配置を決定することを特徴とする請求項1に記載の情報処理装置。
【請求項7】
前記生成手段は、配置された被写体の位置の分散に基づいて、前記被写体データに優先順位を付与することを特徴とする請求項1に記載の情報処理装置。
【請求項8】
前記第二の取得手段は、前記被写体の移動速度を取得し、
前記生成手段は、前記被写体データを時刻と対応付け、時間的に隣り合う前記被写体データ間における前記被写体の位置の変化量が、前記移動速度と前記被写体データとにおける経過時間とに応じた変化量と略一致するように、前記被写体データを生成する
ことを特徴とする請求項に記載の情報処理装置。
【請求項9】
前記空間領域に配置された被写体の撮像に用いるカメラパラメータを設定するカメラパラメータ設定手段と、
前記被写体データと前記カメラパラメータとを用いて撮像シミュレーション画像を生成するレンダリング手段と、
前記撮像シミュレーション画像を用いて前記被写体の3次元形状を推定する形状推定手段と、
前記被写体データが示す形状と前記推定手段により推定された推定形状とに基づいて、形状推定精度を評価する評価手段と
をさらに有することを特徴とする請求項1に記載の情報処理装置。
【請求項10】
前記空間領域に配置された被写体の撮像に用いるカメラパラメータを設定するカメラパラメータ設定手段と、
前記被写体データと前記カメラパラメータとを用いて撮像シミュレーション画像を生成するレンダリング手段と、
前記撮像シミュレーション画像を用いて前記被写体の3次元形状を推定する形状推定手段と、
前記被写体データが示す形状と前記推定手段により推定された推定形状とに基づいて、形状推定精度を評価する評価手段と
をさらに有することを特徴とする請求項1に記載の情報処理装置。
【請求項11】
3次元空間の空間領域を表す領域情報を取得する第一の取得工程と、
被写体に関する属性情報を取得する第二の取得工程と、
前記領域情報と前記属性情報とに基づいて、被写体の形状と配置とを表す被写体データを複数生成する生成工程と、を有し、
前記生成工程によって生成された前記複数の被写体データは、前記空間領域に対応する領域において、前記被写体に対応する形状モデルが占める割合の和集合が所定の割合以上になる
ことを特徴とする情報装置の制御方法。
【請求項12】
3次元空間の空間領域を表す領域情報を取得する第一の取得工程と、
被写体に関する属性情報を取得する第二の取得工程と、
前記領域情報と前記属性情報とに基づいて、被写体の形状と配置とを表す被写体データを複数生成する生成工程と、を情報処理装置に実行させるためのプログラムであって、
前記生成工程によって生成された前記複数の被写体データは、前記空間領域に対応する領域において、前記被写体に対応する形状モデルが占める割合の和集合が所定の割合以上になる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は3次元形状データを生成する技術に関する。
【背景技術】
【0002】
従来、被写体を撮像した2次元画像に基づいて被写体の3次元形状を推定する形状推定技術が知られている。また、形状推定の精度を評価する技術として、特許文献1では、被写体の3次元形状モデルを用いる評価技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2013-160602号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
一般に、形状推定の精度は、撮像システムを構成する撮像装置と被写体との位置関係に依存する。例えば、位置や向きの異なる複数のデジタルカメラから成る撮像システムを用いて人物などの被写体の形状を推定する場合、被写体の位置によって被写体が画角内に写るデジタルカメラの台数が変化する。そして、被写体を撮像するデジタルカメラの台数が多いほど精度が高くなる傾向にあり、少ないほど精度が低い傾向にある。このような撮像システム内において被写体の位置が変化する場合において、被写体の位置に応じた被写体の形状推定の精度を評価できると便利である。その評価方法として、被写体の3次元形状モデルを様々な位置に配置したデータセットを用いて評価する方法がある。しかしながら、データセットを手作業で大量に作成するには多大な労力が必要となるという課題があった。
【0005】
そこで本発明では、形状推定の精度を評価するための複数のデータセットを簡便に得るようにすることを目的とする。
【課題を解決するための手段】
【0006】
本発明の情報処理装置の一つは、3次元空間の空間領域を表す領域情報を取得する第一の取得手段と、被写体に関する属性情報を取得する第二の取得手段と、前記領域情報と前記属性情報とに基づいて、被写体の形状と配置とを表す被写体データを複数生成する生成手段と、を有し、前記生成手段によって生成された前記複数の被写体データは、前記空間領域に対応する領域において、前記被写体に対応する形状モデルが占める割合の和集合が所定の割合以上になる。
【発明の効果】
【0007】
本発明により、形状推定精度を評価するためのデータセットを簡便に得ることができる。
【図面の簡単な説明】
【0008】
図1】情報処理装置のハードウェア構成を示すブロック図。
図2】第1実施形態における情報処理装置の論理構成を示すブロック図。
図3】ボクセルとキャプチャ空間領域を説明する模式図。
図4】被写体の例を示す模式図。
図5】第1実施形態における情報処理装置が実行する処理の全体の流れを示すフローチャート。
図6】第1実施形態におけるGUIの例を示す図。
図7】第1実施形態における被写体データの生成処理の流れを示すフローチャート。
図8】被写体の配置を説明する模式図。
図9】配置の組み合わせの例を示す模式図。
図10】第1実施形態におけるその他のGUIの例を示す図。
図11】第2実施形態における情報処理装置の論理構成を示すブロック図。
図12】第2実施形態における情報処理装置が実行する処理の全体の流れを示すフローチャート。
図13】第2実施形態におけるGUIの例を示す図。
図14】第3実施形態におけるGUIの例を示す図。
図15】第3実施形態における被写体データの生成処理の流れを示すフローチャート。
図16】第3実施形態における被写体データの例を示す模式図。
図17】第4実施形態における情報処理装置が実行する処理の全体の流れを示すフローチャート。
図18】被写体データの並び替えの例を示す模式図。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
【0010】
(第1実施形態)
<ハードウェア構成>
図1は、本実施形態における情報処理装置のハードウェア構成の一例を示す図である。この図において、情報処理装置100は、CPU101と、RAM102と、ROM103と、SATA(シリアルATA)I/F(インタフェース)104と、VC(ビデオカード)105と、汎用I/F106と、を有する。
【0011】
CPU101は、RAM102をワークメモリとして、ROM103、外部記憶装置111などに格納されたOS(オペレーティングシステム)や各種プログラムを実行するためのプロセッサである。なお、OSや各種プログラムは、内部の記憶装置内に格納されていても良い。また、CPU101は、システムバス107を介して各構成を制御するための。なお、後述するフローチャートによる処理は、ROM103や外部記憶装置111などに格納されたプログラムコードがRAM102に展開され、CPU101によって実行される。
【0012】
SATAI/F104には、シリアルバス108を介して、外部記憶装置111が接続される。外部記憶装置111は、HDD(ハードディスクドライブ)やSSD(ソリッドステートドライブ)である。VC105には、シリアルバス109を介して、ディスプレイ112が接続される。汎用I/F106には、シリアルバス110を介して、マウスやキーボードなどの入力デバイス113が接続される。
【0013】
CPU101は、プログラムによって提供されるGUI(グラフィカルユーザインタフェース)をディスプレイ112に表示し、入力デバイス113を介して得られたユーザの指示を表す入力情報を受信する。情報処理装置100は、例えば、デスクトップ型のPC(パーソナルコンピュータ)によって実現される。あるいは、ディスプレイ112と一体となったノート型PCやタブレットPCなどによって実現されてもよい。また、外部記憶装置111は、メディア(記録媒体)と、当該メディアへのアクセスを行うための外部記憶ドライブとによっても実現される。メディアには、FD(フレキシブルディスク)、CD-ROM、DVD、USBメモリ、MO、フラッシュメモリなどを用いることができる。
【0014】
<論理構成>
図2は、本実施形態における情報処理装置100の論理構成を示すブロック図である。情報処理装置100は、RAM102をワークメモリとして、CPU101がROM103に格納されたプログラムを実行することによって、図2に示す論理構成として機能する。なお、以下に示す処理の全てが必ずしもCPU101によって実行される必要はなく、処理の一部または全てがCPU101以外の一つまたは複数の処理回路によって行われるように情報処理装置100が構成されていてもよい。
【0015】
情報処理装置100は、空間領域取得部201、被写体属性取得部202、生成部203を有する。
【0016】
空間領域取得部201は、入力デバイス113を介して入力されたユーザの指示に基づき、3次元空間を構成する単位体積要素であるボクセルの大きさと、キャプチャ空間領域の範囲とを領域情報として取得する。キャプチャ空間領域とは、形状を推定する対象(すなわち、被写体)が存在し得る領域である。ボクセルとキャプチャ空間領域の例を図3に示す。この図の例では、ボクセル301は一辺の長さがdunitの立方体である。また、キャプチャ空間領域302はxyz空間中におけるx0≦x≦x1かつy0≦y≦y1かつz0≦z≦z1の範囲の領域である。取得された領域情報は、生成部203へ送られる。
【0017】
被写体属性取得部202は、入力デバイス113を介して入力されたユーザの指示に基づき、被写体に関する属性情報を取得する。属性情報とは、被写体の個数や形状の特徴を示す情報である。本実施形態では人物を想定被写体とし、被写体の人数、身長、身幅を属性情報として取得する。なお、身長や身幅に代えて(あるいは加えて)性別や年齢といった被写体の形状の特徴を間接的に示す情報を属性情報に含めてもよい。また、想定被写体は人物以外の物体であってもよく、その場合、物体の個数やサイズを属性情報とすればよい。取得された属性情報は、生成部203へ送られる。
【0018】
生成部203は、領域情報と属性情報とに基づいて、3次元空間における被写体の形状と配置とを表す被写体データを複数パターン生成する。本実施形態における被写体データは、個々の被写体人物の形状をポリゴンメッシュで表現した形状モデルと、各被写体人物の位置座標および向き(回転角度)とから成るものとする。また、形状モデルは、ポリゴンメッシュを構成する頂点の3次元座標のリストから成るものとする。形状モデルおよび被写体データの例を図4に示す。
【0019】
図4(a)は、形状モデルにより示される被写体形状を表している。この図において、形状モデル401は被写体の表面形状を表すポリゴンメッシュである。点402および方向403は、それぞれ、この形状モデルの基準点と正面方向である。この図の例では、形状モデル401の重心404からxz平面に下した垂線の足を基準点402とし、x軸方向を正面方向403としている。
【0020】
図4(b)は、被写体データにより示される3次元空間に配置された被写体を表している。この図の例では2体の形状モデル405、408が配置されており、点406、方向407は、それぞれ、形状モデル405の基準点と向きを表す。点409、方向410は、それぞれ、形状モデル408の基準点と向きを表している。この図において、座標(px,py,pz)および、座標(px,py,pz)が、それぞれ、形状モデル405および形状モデル408の位置座標である。θおよびφは形状モデル405の向きを表す回転角度である。θおよびφは形状モデル408の向きを表す回転角度である。
【0021】
なお、形状モデルはポリゴンメッシュを構成する頂点のxyz座標に対応するuv座標(所謂テクスチャ座標)や、各頂点に関する色情報を含んでいてもよい。被写体データ生成の詳細は後述する。生成された複数パターンの被写体データは、被写体データセットとして外部記憶装置111などに出力されて記憶される。
【0022】
<実行する処理>
図5は、情報処理装置100が実行する処理の全体の流れを示すフローチャートである。
【0023】
ステップS501において、空間領域取得部201は、ユーザの指示に基づいてボクセルの大きさとキャプチャ空間領域の範囲を取得する。また、ステップS502において、被写体属性取得部202は、ユーザの指示に基づいて被写体の人数、身長、身幅を取得する。被写体属性取得部202は、ユーザの指示を、例えば図6に示すような、ディスプレイ112に表示したGUI601を介して受け付ける。
【0024】
ここで、図6において、設定欄602は、ボクセルの大きさとして、ボクセルの一辺の長さを入力するための欄である。設定欄603、604、605、606、607、608は、それぞれキャプチャ空間領域のx軸方向の始点x0と終点x1、y軸方向の始点y0と終点y1、z軸方向の始点z0と終点z1を入力する欄である。被写体属性設定リスト609、610、611は、それぞれ想定する被写体の人数、身長、身幅を選択するプルダウンリストである。ボタン612は、後述する被写体データの生成処理の実行をユーザが指示するためのボタンである。表示領域613は、生成された被写体データに関する画像を表示する領域である。スライダ614は、表示領域613に表示する被写体データの識別番号を指定するスライダである。ボタン615は、生成された被写体データの保存をユーザが指示するためのボタンである。ユーザによりボタン612が押下されるとステップS501およびステップS502が実行される。
【0025】
ステップS501およびステップS502で取得された情報は、領域情報と被写体の属性情報に相当する。
【0026】
ステップS503において、生成部203は、ステップS501およびステップS502で取得された領域情報とステップS5被写体の属性情報とに基づいて、被写体データを複数生成する。ここで、生成部203は、被写体がキャプチャ空間領域に占める割合の和集合(以下、空間網羅率と呼ぶ)が所定の割合以上となるまで、被写体の配置を変えて被写体データを生成し続ける。本ステップの処理の詳細については、空間網羅率の例も含めて、図7を用いて後述する。なお、本実施形態では、被写体の形状表面がキャプチャ空間領域に占める割合をボクセル単位で求め、これを空間網羅率として用いる。また、本実施形態では、所定の割合を目標空間網羅率Thと記載して説明する。目標空間網羅率Thは予め定めておいてもよいし、別途ユーザの指示に基づいて設定してもよい。
【0027】
ステップS504において、生成部203は、ステップS503で生成された複数の被写体データをデータセット(被写体データセット)として外部記憶装置111などに保存し、処理を終了する。なお、図6の表示領域613に示すように、生成された被写体データに基づくレンダリング画像をGUI上に表示してもよい。レンダリング画像の生成には、公知のコンピュータグラフィックス技術を用いることができる。図6の例では、スライダ614で指定された番号の被写体データに基づくレンダリング画像が表示されている。ここで、図6では、スライダ614で指定された被写体データが示す被写体は間隔を空けて配置された2人の人物である。ユーザはスライダ614を操作することで、表示領域613に表示される被写体データの画像を切り替えることができる。そして、ユーザは、表示領域613に表示された被写体データの画像を参照することで、どのような被写体データが生成されたかを視覚的に確認することができる。
【0028】
<ステップS503における被写体データの生成処理の詳細>
生成部203が行う被写体データの生成処理の詳細を、図7に示すフローチャートを用いて説明する。以下、ステップS502で取得された被写体の人数をM(Mは1以上の整数)として説明する。
【0029】
ステップS701において、生成部203は、ステップS502で取得された被写体の身長と身幅に基づいて、被写体の形状モデルを取得する。例えば、生成部203は、被写体について作成された様々な形状モデルと属性とが対応付けられたデータベースから、ステップS502で取得された身長、身幅に対応する形状モデルを取得する。あるいは、生成部203は、外部記憶装置111から取得した形状モデルを、ステップS502で取得された身長と身幅に基づいて変形することで被写体の形状モデルを取得してもよい。本実施形態では、生成部203は、M人の被写体(人物)に対して共通の形状モデルを1つ取得する。
【0030】
ステップS702において、生成部203は、被写体であるM人の被写体(人物)のうちの1人を指し示すインデックスmを1に設定する。
【0031】
ステップS703において、生成部203は、キャプチャ空間領域を構成する各ボクセルv(ix,iy,iz)に対応するカウンタfCOUNT(ix,iy,iz)の値をそれぞれ0で初期化する。ここで、ix、iy、izはボクセルの位置を示すインデックスである。
【0032】
ステップS704において、生成部203は、インデックスmの被写体に関する何通り目の配置であるかを示すインデックスkを1に設定する。
【0033】
ステップS705において、生成部203は、キャプチャ空間領域内から1点の位置座標(xP(m,k),yP(m,k),zP(m,k))を選び、この位置にステップS701で取得された形状モデルを配置する。ここで、位置座標(xP(m,k),yP(m,k),zP(m,k))および形状モデルの向き(すなわち、基準点を中心とした回転角度)はそれぞれランダムに決めてもよいし、予め定めた任意の規則に則って決めてもよい。例えば、一般的な人物の動き方を考慮して、y軸方向(鉛直方向)の座標yP(m,k)を一定とし、向きの変化をy軸中心の回転だけに限定してもよい。以下、形状モデルの位置座標と向きをまとめて「配置」と呼び、インデックスmの被写体の形状モデルに関するk通り目の配置をP(m,k)で表す。
【0034】
ステップS706において、生成部203は、キャプチャ空間領域を構成するボクセルのうち、ステップS705で配置された形状モデルの表面が交わるボクセルを判定する。生成部203は、ステップS705で配置された形状モデルの表面が交わるボクセルに対応するカウンタの値に+1を加える。
【0035】
ステップS707において、生成部203は、カウンタの値に基づいて空間網羅率FCOVERを算出する。本実施形態では、空間網羅率FCOVERは次の式で表される。
COVER=VNUM/VNUMALL・・・式(1)
【0036】
ここで、VNUMはカウンタの値が1以上であるボクセルの個数、VNUMALLはキャプチャ空間領域を構成するボクセルの総数である。カウンタfCOUNT(ix,iy,iz)の値は、ボクセルv(ix,iy,iz)がインデックスm被写体の形状モデルの配置P(m,1)、P(m,2)、・・・、P(m,k)のいずれかにおいて形状モデルの表面となる場合に、1以上の値となる。したがって、式(1)で表される空間網羅率FCOVERは、k通りの配置のいずれか1通り以上において被写体表面となるボクセルの、キャプチャ空間領域に占める割合の和集合を表している。
【0037】
ステップS708において、生成部203は、ステップS707で得られた空間網羅率FCOVERが目標空間網羅率ThCOVER以上であるか否かを判定する。空間網羅率FCOVERが目標空間網羅率ThCOVER以上である場合、これまでの処理で決定したk通りの配置によるインデックスm被写体の形状モデルの配置がキャプチャ空間領域を十分に網羅すると考えられる。したがって、空間網羅率FCOVERが目標空間網羅率ThCOVER以上である場合、ステップS710の処理が実行される。空間網羅率FCOVERが目標空間網羅率ThCOVER未満である場合、ステップS709において、生成部203は、インデックスkに+1を加え、ステップS705の処理へ戻る。
【0038】
ここで、図8を用いてステップS705~ステップS707の処理で決定される配置とカウンタの値、および、空間網羅率の例を説明する。この図では、説明を簡単にするために、キャプチャ空間領域801が2次元の平面状に並んだボクセルで構成される空間領域であるとして説明する。図8(a)はステップS705で決定された配置P(m,k)(m=1,k=1,2,・・・,5)の例である。この図において、矩形802はボクセル、形状803は形状モデルにより示される形状、点804は形状モデルの基準点、方向805は形状モデルの正面方向である。斜線部は配置された形状モデルの表面と交わるボクセルを示す。図8(b)は、図8(a)のように配置が決定された場合における、ステップS706で更新されたカウンタの値とステップS707で算出された空間網羅率FCOVERを示している。この図において、矩形806内の数字は矩形802のボクセルに対応するカウンタ、斜線部は図8(a)の斜線部のボクセル(すなわち、配置された形状モデルの表面と交わるボクセル)に対応する。目標空間網羅率ThCOVERが例えば100%である場合、k=5のときに初めて空間網羅率FCOVERが目標空間網羅率ThCOVER以上になる。この場合、空間網羅率FCOVERが100%になったことに応じて、ステップS710の処理が実行される。
【0039】
ステップS710では、生成部203は、被写体人物のインデックスmに+1を加える。ステップS711では、生成部203は、インデックスmがMより大きいか否かを判定する。インデックスmがMより大きい場合、ステップS712の処理が実行される。インデックスmがM以下の場合、ステップS703の処理へ戻る。
【0040】
ステップS712において、生成部203は、ステップS702~ステップS711で決定された配置を組み合わせてM人の被写体(人物)を含む被写体データを生成し、被写体データの生成処理を終了する。具体的には、生成部203は、各インデックスm(=1,2,・・・,M)における1つの配置を、それぞれ組み合わせた被写体データを生成して記憶する。なお、本実施形態では、生成部203は、上記の被写体データの生成を全ての配置の組み合わせについて行う。ここで、M=2の場合の例を図9に示す。
【0041】
図9(a)は、インデックスmが1の被写体901の配置P(1,k)(k=1,2,・・・,5)の例を示す図である。図9(b)は、インデックスmが2の被写体902の配置P(2,k)(k=1,2,3,4)の例を示す図である。図9(c)は、配置P(1,k)と配置P(2,k)のすべての組み合わせの例を示す図である。上述したステップS702~ステップS711の処理により、配置P(1,k)およびP(2,k)に対応する空間網羅率FCOVERは、それぞれ目標空間網羅率ThCOVER以上になるように決定されている。したがって、配置P(1,k)およびP(2,k)を組み合わせることで、2人の人物の様々な位置関係のパターンを含む被写体データセットを網羅的に生成できる。なお、複数の人物が重なって存在することは非現実的であることを考慮し、被写体の形状モデルが重なるように配置された被写体データについては、生成されなくともよい。例えば、図9(c)のP(1,5)+P(2,1)、P(1,2)+P(2,2)、P(1,1)+P(2,3)、P(1,3)+P(2,4)は、被写体データとして生成されなくともよい。
【0042】
以上のように説明した処理制御を行うことで、撮像システムに関して形状推定の精度を評価するための被写体データのデータセットを簡便に得ることができる。
【0043】
なお、本実施形態では、図6に示すGUIを介してユーザにより入力された範囲をキャプチャ空間領域の範囲として取得する例を説明したが、キャプチャ空間領域の範囲の取得方法はこれに限らない。例えば、キャプチャ空間の空間範囲とキャプチャ空間に対応する名称とを対応付けたLUTを参照することで、GUIを介してユーザにより入力された名称に対応する範囲を取得してもよい。図10(a)は、この場合におけるGUIの例を示す図である。なお、この場合、LUTは予め作成して外部記憶装置111などに格納されている。
【0044】
また、被写体が複数人である場合、図10(b)に示すように、属性情報である身長や身幅を個々に指定するようにしてもよい。その場合、生成部203は、ステップS701において被写体ごとに形状モデルを取得する。
【0045】
また、ボクセルの個数に基づき式(1)に従って算出される値を空間網羅率とする例を説明したが、空間網羅率はキャプチャ空間領域に占める被写体の割合を表すものであればよく、他の方法で算出してもよい。例えば、キャプチャ空間領域の体積に対する被写体の形状モデルの体積の和集合の割合を空間網羅率としてもよい。その場合、ステップS706において形状モデルの表面が交わるボクセルに加えて形状モデルの内部に含まれるボクセルも求め、それらに対応するカウンタの値を1増やせばよい。
【0046】
(第2実施形態)
第1実施形態では、被写体データのデータセット(被写体データセット)を生成する方法について説明した。本実施形態においては、生成されたデータセットを用い、撮像システムに関して形状推定の推定精度を評価する例について説明する。
【0047】
本実施形態における情報処理装置100のハードウェア構成は、第1実施形態のものと同等であるため説明を省略する。以下では、本実施形態と第1実施形態とで異なる部分を主に説明する。なお、第1実施形態と同一の構成については、同一の符号を付して説明する。
【0048】
図11は、本実施形態における情報処理装置100の論理構成を示すブロック図である。情報処理装置100は、空間領域取得部201、被写体属性取得部202、生成部203、カメラパラメータ設定部1101、レンダリング部1102、形状推定部1103、評価部1104を有する。空間領域取得部201、被写体属性取得部202、生成部203は、第1実施形態と同じであるため説明を省略する。ただし、本実施形態では生成部203で生成された複数パターンの被写体データから成る被写体データセットは、レンダリング部1102および評価部1104に送られる。
【0049】
カメラパラメータ設定部1101は、入力デバイス113を介して入力されたユーザの指示に基づき、評価対象である撮像システムのカメラパラメータを設定する。本実施形態におけるカメラパラメータは、撮像システムに含まれる各デジタルカメラの内部パラメータ、外部パラメータ、および、歪曲パラメータから成る。内部パラメータは、デジタルカメラの主点の位置とレンズの焦点距離を表すパラメータである。外部パラメータは、デジタルカメラの位置と向きを表すパラメータである。歪曲パラメータは、デジタルカメラのレンズの歪曲を表すパラメータである。設定されたカメラパラメータは、レンダリング部1102へ送られる。
【0050】
レンダリング部1102は、カメラパラメータと被写体データセットに基づき、撮像システムで被写体を撮像する場合のシミュレーション画像を生成する。本実施形態では、この生成されたシミュレーション画像を撮像シミュレーション画像ともいう。詳細は後述する。生成された撮像シミュレーション画像は、形状推定部1103へ送られる。
【0051】
形状推定部1103は、所定の形状推定アルゴリズムを撮像シミュレーション画像に適用し、被写体の形状を推定する。所定の形状推定アルゴリズムは、公知の視体積交差法やステレオマッチングを用いた方法など、被写体を撮像した2次元画像に基づいて被写体の3次元形状を推定するものであればよい。以下、推定の結果として得られる3次元形状を表すデータを推定形状データと呼ぶ。得られた推定形状データは、評価部1104へ送られる。
【0052】
評価部1104は、被写体データと推定形状データとに基づいて形状推定の推定精度(形状推定精度)を評価し、その結果をGUI上に表示する。詳細は後述する。
【0053】
図12は、本実施形態における情報処理装置100が実行する処理の全体の流れを示すフローチャートである。
【0054】
ステップS1201において、空間領域取得部201は、ユーザの指示に基づいて領域情報を取得する。また、ステップS1202において、被写体属性取得部202は、ユーザの指示に基づいて被写体の属性情報を取得する。
【0055】
ステップS1203において、カメラパラメータ設定部1101は、ユーザの指示に基づいてカメラパラメータファイルを外部記憶装置111などから取得し、カメラパラメータを設定する。ユーザの指示は、図13に示すようなGUI1301を介して受け付ける。図13において、カメラパラメータ設定欄1302は、カメラパラメータファイルのパスを入力するための欄である。ボタン1303は、評価の実行を指示する場合に押下(選択)されるボタンである。表示領域1304および表示領域1305は、評価結果を表示する領域である。ユーザによりボタン1303が押下されると、ステップS1201~ステップS1203が実行され、ステップS1204に進む。以下、ステップS1202で取得された被写体の人数を第1実施形態と同じくM(Mは1以上の整数)として説明する。
【0056】
ステップS1204において、生成部203は、ステップS1201で取得された領域情報と、ステップS1202で取得された被写体の属性情報とに基づいて、被写体データを生成する。ここで、本実施形態では、生成部203は、NDATA個の被写体データData(i)(i=1,2,・・・,NDATA)を生成する。本ステップの処理は第1実施形態の図5のステップS503と同じであるため説明を省略する。
【0057】
ステップS1205では、レンダリング部1102は、ステップS1204で生成されたNDATA個の被写体データにより示される被写体(すなわち、3次元空間中に配置された形状モデル)をレンダリングし、撮像シミュレーション画像を生成する。ここで、レンダリング部1102は、ステップS1203で取得されたカメラパラメータを用いてレンダリングする。本実施形態では、レンダリング部1102によるレンダリングのアルゴリズムには公知のコンピュータグラフィックス技術を用いる。なお、本実施形態における撮像シミュレーション画像は第1実施形態の撮像シミュレーション画像と同様である。
【0058】
ここで、撮像システムに含まれるデジタルカメラの台数をNCAMとすると、撮像シミュレーション画像は1個の被写体データにつきNCAM個生成される。以下、被写体データData(i)により示される被写体が撮像システムに含まれるc番目のデジタルカメラで撮像された場合における、撮像シミュレーション画像をImg(c)(c=1,2,・・・,NCAM)と表す。撮像シミュレーション画像Img(c)は、被写体データData(i)に従って配置されたM人の被写体(人物)を写した画像となる。
【0059】
ステップS1206では、形状推定部1103は、NDATA個の被写体データのそれぞれについて、ステップS1205で生成された撮像シミュレーション画像Img(c)に所定の形状推定アルゴリズムを適用し、推定形状データEData(i)を得る。
【0060】
ステップS1207において、評価部1104は、ステップS1204で生成された被写体データを用いてステップS1206で得られた推定形状の精度を評価し、その結果をGUI上に表示して処理を終了する。具体的には、評価部1104は、i=1,2,・・・,NDATAのそれぞれで、被写体データData(i)により示される3次元形状と推定形状データEData(i)により示される3次元形状との間のハウスドルフ距離d(i)を評価値として算出する。さらに、評価部1104は、ハウスドルフ距離d(i)の平均値や最大値を求め、これらの値をGUI上に表示する。例えば図13に示すように、スライダ614で指定された識別番号に対応する被写体データ(すなわち、表示領域613に表示された被写体データ)から算出された評価値が、表示領域1304に表示される。また、撮像システムに対する評価結果として、表示領域1305に評価値の平均値や最大値が表示される。なお、評価値はハウスドルフ距離に限らず、2つの形状間における差異や類似度を表す指標や値であればよい。
【0061】
以上説明した処理制御を行うことで、第2実施形態によれば撮像システムに関して想定被写体の形状推定精度を網羅的に評価することができる。
【0062】
なお、デジタルカメラ台数や設置可能な場所といった撮影システムの制約条件を別途取得し、その制約条件を満たす撮影システムのカメラパラメータを複数作成して上述した評価を行ってもよい。
【0063】
(第3実施形態)
本実施形態においては、被写体データセットを被写体の動きを表す一連の時系列データと見なした場合に、被写体が指定された速度で移動するような被写体データセットを生成する例について説明する。
【0064】
本実施形態における情報処理装置100のハードウェア構成および論理構成は、第1実施形態のものと同等であるため説明を省略する。
【0065】
本実施形態における情報処理装置100が実行する処理の全体の流れを示すフローチャートは、第1実施形態で説明した図5のフローチャートとおおむね同じである。本実施形態における処理の相違点は次のとおりである。ステップS502において、被写体属性取得部202は、被写体に関する属性情報として被写体の移動速度を取得する。また、ステップS503における生成部203の被写体データの生成処理の内容が異なる。なお、ステップS501、ステップS504における処理は、第1実施形態と同じであるため説明を省略する。
【0066】
ステップS502において、被写体属性取得部202は、GUIを介したユーザの指示に基づいて被写体の人数、身長、身幅と移動速度を取得する。
【0067】
ステップS503において、生成部203は、ステップS501およびステップS502で取得された領域情報と属性情報とに基づいて、被写体がステップS502で取得された移動速度で移動するように被写体データを生成する。ここで、第1実施形態と同様に、生成部203は、被写体がキャプチャ空間領域に占める割合の和集合が所定の目標空間網羅率以上となるまで、被写体の配置を変えて被写体データを生成し続ける。
【0068】
本実施形態における被写体データの生成処理の詳細を、図15に示すフローチャートを用いて説明する。なお、S1501、S1502における処理は、それぞれ、第1実施形態の図7のステップS701、ステップS703と同じであるため説明を省略する。以下、ステップS502で取得された被写体の移動速度をα[cm/秒]、被写体の人数を第1実施形態と同じくM(Mは1以上の整数)として説明する。
【0069】
S1503において、生成部203は、時刻tを0に初期化する。
【0070】
S1504において、生成部203は、時刻tに対応する被写体データData(t)を生成する。
【0071】
時刻t=0の場合には、生成部203は、キャプチャ空間領域内からM点を選び、これを時刻t=0におけるM人の被写体の位置座標p(0)(m=1,2,・・・,M)として、S1501で取得された形状モデルを配置する。このとき、位置座標はランダムで選ばれてもよいし、例えばxz平面上で等間隔となるように選ばれてもよい。また、被写体の向きは任意の向きであってよく、個々の被写体人物ごとにランダムに決められてもよいし、全員一律に同じ向きとされてもよい。以下、時刻tにおけるm番目の被写体の位置座標をp(t)で表す。
【0072】
時刻t>0の場合には、生成部203は、被写体人物ごとに位置座標p(t-Δt)を中心とする半径r=α*Δtの円上からランダムに1点を選び、これを位置座標p(t)として形状モデルを配置する。ここで、Δtは予め定められた、時間的に隣り合う被写体データ間における経過時間であり、例えばΔt=1/30[秒]である。また、半径rは速度αでΔt間移動したときの移動距離(変化量)に相当する。配置される被写体の向きは任意の向きであってよい。例えば、3次元ベクトルp(t)-p(t-Δt)が示す向きと略一致させれば、進行方向を向いて移動しているような配置となる。
【0073】
生成部203は、以上のようにして配置されたM人分の形状モデルを、時刻tにおける被写体データData(t)として記憶する。M=2の場合に生成される被写体データの例を図16に示す。
【0074】
S1505において、生成部203は、S1504で配置された形状モデルについて図7のステップS706と同様にして表面が交わるボクセルを求め、カウンタの値を1増やす。
【0075】
S1506において、生成部203は、第1実施形態の式(1)に従い空間網羅率FCOVERを算出する。
【0076】
S1507において、生成部203は、S1506で得られた空間網羅率FCOVERが目標空間網羅率ThCOVER以上であれば、被写体データの生成処理を終了する。空間網羅率FCOVERが目標空間網羅率ThCOVER未満であれば、生成部203は、S1508へ進んで時刻tにΔtを加え、S1504へ戻る。
【0077】
図14に、本実施形態におけるGUI1401の例を示す。この図において、速度設定欄1402は被写体の移動速度を入力する欄である。ボタン1403は、生成された被写体データセットを一連の時系列データとして再生する際に押下されるボタンである。ユーザによりボタン1403が押下されると、上述したΔt[秒]間隔で表示領域613に表示される被写体データが切り替わる。
【0078】
以上説明した処理制御を行うことで、第3実施形態によれば動物体に対する形状推定精度を評価するための被写体データセットを得ることができる。
【0079】
(第4実施形態)
本実施形態においては、評価に用いる際にユーザが使いやすいように、配置された被写体の位置の分散に応じて被写体データセット内で被写体データを並べ替える例について説明する。
【0080】
本実施形態における情報処理装置100のハードウェア構成および論理構成は、第1実施形態のものと同等であるため説明を省略する。
【0081】
図17は、本実施形態における情報処理装置100が実行する処理の全体の流れを示すフローチャートである。S1701~S1703における処理は、それぞれ、第1実施形態の図5のステップS501~ステップS503と同じであるため説明を省略する。
【0082】
S1704において、生成部203は、S1703で生成されたNDATA個の被写体データData(i)(i=1,2,・・・,NDATA)に優先順位を付与する。本実施形態では、生成部203は、n=1からn=NDATAまで順に、優先順位を付与されていない被写体データの中から次式で算出される被写体位置の分散σ(i’)が最大となる被写体データData(i’)を求め、これに優先順位n位を付与する。
【0083】
【数1】
【0084】
ここで、Iorderは優先順位を付与済みの被写体データを示すn-1個のインデックスの集合であり、o(i,m)は被写体データData(i)に含まれるm番目の被写体人物の位置座標である。このとき、優先順位の高いn-1個の被写体データと組み合わせたときに被写体人物の位置座標の分散が最大となるものが、優先順位n位の被写体データとして選ばれる。
【0085】
S1705において、生成部203は、S1704で付与された優先順位に従い並び替えた被写体データを被写体データセットとして外部記憶装置111などに保存し、処理を終了する。図18(a)に並び替え前のデータセットの例を、図18(b)に並び替え後のデータセットの例を示す。図18(b)では、優先順位の高いものから順に左から右へ被写体データが並んでいる。優先順位の高い被写体データから順に第2実施形態で説明したステップS1205~ステップS1207の処理を適用すれば、配置の似た被写体に対する評価を後回しにすることができる。また、全被写体データについて評価を完了し終えずとも、撮像システムに関するおおよその形状推定精度を把握することができる。
【0086】
以上説明した処理制御を行うことで、第4実施形態によれば被写体データを被写体の位置の分散に応じた順で並べた被写体データセットを得ることができる。
【0087】
なお、被写体データに含まれる被写体の位置の分散が小さい順に並べ替えてもよい。その場合、図18(c)に示すように、被写体人物の密集度が高い(すなわち、形状推定の難易度が高い)被写体データに高い優先度が付与される。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18