JP2023094692A - 情報処理装置、情報処理方法及びプログラム - Google Patents
情報処理装置、情報処理方法及びプログラム Download PDFInfo
- Publication number
- JP2023094692A JP2023094692A JP2021210140A JP2021210140A JP2023094692A JP 2023094692 A JP2023094692 A JP 2023094692A JP 2021210140 A JP2021210140 A JP 2021210140A JP 2021210140 A JP2021210140 A JP 2021210140A JP 2023094692 A JP2023094692 A JP 2023094692A
- Authority
- JP
- Japan
- Prior art keywords
- frame
- shape data
- time
- series
- information processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
【課題】空間内の複数のオブジェクトについて経時的に収集された形状データに対する時系列処理の負荷を低減する。【解決手段】時系列形状データを構成するフレーム群の中から設定されたフレーム範囲を対象として所定の時系列処理を行う場合において、設定されたフレーム範囲の各フレームに属する形状データのうち一部の形状データを除外する。【選択図】図4
Description
本開示は、オブジェクトの三次元形状を表す形状データの時系列処理に関する。
仮想視点映像や3Dプリンティングなどの分野において利用されるオブジェクトの形状データは、オブジェクトが存在する空間にオブジェクトの数だけ配置されることになる。このとき、オブジェクトが存在する空間が広大であるほど、形状データの基礎的な単位要素(例えば形状データがボリュームデータの場合のボクセル)をその空間内全てに配置するだけのメモリを確保することが困難となる。そこで、空間内のオブジェクトが存在している領域のみ単位要素を割り当て、オブジェクトが存在していない領域については単位要素を割り当てない、スパースなデータ管理が行われている。特許文献1には、空間に存在する複数のオブジェクトそれぞれについて低解像度のボクセルモデルを生成し、それらのバウンディングボックス内をより小さなボクセルで3Dモデル化することで高解像度のボリュームデータを得る手法が開示されている。
上記特許文献1の技術では、ボリュームデータをスパースに管理し、各オブジェクトのボクセルモデルを生成する過程における空間的な解像度を調整することで処理全体の高速化を図っている。しかしながら、上記特許文献1で扱うボリュームデータは時間方向に不連続であるところ、経時的に収集されたボリュームデータに対して時系列処理を行う際には高速化が困難であった。時系列処理を行う際に、あるフレームに含まれるあるボクセルモデルを構成するあるボクセルが、別のフレームではどのボクセルモデルに属するのかを逐一判定する必要が生じるためである。そして、空間内に存在するオブジェクトの数が多くなるほど、各ボクセルが属するボクセルモデルをフレーム間で探索する処理の回数が増大することになり、その処理に多くの時間を要することになる。
本開示に係る情報処理装置は、各フレームにオブジェクトの三次元形状を示す形状データを含んだ時間的に連続するフレーム群で構成される時系列形状データを取得する取得手段と、取得された前記時系列形状データを構成するフレーム群の中から設定されたフレーム範囲を対象として、所定の時系列処理を行う処理手段と、を有し、前記処理手段は、設定された前記フレーム範囲の各フレームに属する形状データのうち一部の形状データを除外して前記時系列処理を行う、ことを特徴とする。
本開示の技術によれば、空間内の複数のオブジェクトについて経時的に収集された形状データに対する時系列処理の負荷を減らすことができる。
以下、本開示を実施するための形態について図面を用いて説明する。なお、以下の実施の形態は本開示を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
各実施形態の説明に入る前に、オブジェクト(被写体)の形状データの概念について確認しておく。本実施形態では、形状を表す基礎的な単位要素としてボクセルを用いるボリュームデータを例に説明を行うものとする。ボリュームデータの場合、3次元空間に設定されたオブジェクトの外接矩形(一般に「バウンディングボックス」と呼ばれる。)の内部をグリッド状に区切った複数の単位要素(ボクセル)によってオブジェクトの形状を表現する。各ボクセルは、3次元空間におけるオブジェクトの物理的な実体の内部に存在するか否かを示す情報(以下「ボクセル値」という。)を持つ。本実施形態では、ボクセル値が“0”又は“1”の2値の情報を持つものとして説明する。ボクセル値が“1”であるボクセルは、その一部又は全部がオブジェクトの内部に存在するものとして「ONボクセル」と表記する。また、ボクセル値が“0”であるボクセルは、その全部がオブジェクトの内部に存在してない(すなわち、その全部がオブジェクトの外部に存在している)ものとして、「OFFボクセル」と表記する。
各実施形態の説明において、フレーム毎に1又は複数のバウンディングボックスが設定された時間方向に連続する複数フレームから成る時系列形状データであって、単位要素にボクセルを用いたものを、「時系列ボリュームデータ」と表記することとする。なお、一部のフレームに形状データが含まれていなくともよい。なお、本実施形態を適用可能なデータ形式はボリュームデータに限定されるものではない。すなわち、オブジェクトの三次元形状を点の集合で表現した点群データやポリゴンの集合で表現したメッシュデータなどにも同様に適用可能である。
[実施形態1]
<ハードウェア構成>
図1は、本実施形態に係る、時系列ボリュームデータに対し時系列処理を行う情報処理装置100のハードウェア構成の一例を示す図である。図1において、CPU101は、RAM102をワークメモリとして、ROM103及びハードディスクドライブ(HDD)105に格納されたプログラムを実行し、システムバス112を介して後述する各ブロックの動作を制御する。HDDI/F104は、HDD105や光ディスクドライブなどの二次記憶装置を接続する、例えばシリアルATA(SATA)などのインタフェースである。CPU101は、HDDI/F104を介して、HDD105からのデータ読み出し及びHDD105へのデータ書き込みが可能である。さらにCPU101は、HDD105に格納されたデータをRAM102に展開することができ、逆に、RAM102に展開されたデータをHDD105に保存することもできる。そして、CPU101は、RAM102に展開したデータをプログラムとして実行することができる。入力I/F106は、キーボードやマウス、デジタルカメラ、スキャナなどの入力デバイス107を接続する、例えばUSBやIEEE1394などのシリアルバスインタフェースである。CPU101は、入力I/F106を介して入力デバイス107からデータを読み込むことができる。出力I/F108は、情報処理装置100と、出力デバイスであるディスプレイとを接続する、例えばDVIやHDMI(登録商標)などの映像出力インタフェースである。CPU101は、出力I/F108を介してディスプレイにデータを送り、ディスプレイに所定の映像を表示させることができる。ネットワークI/F110は、インターネットやLANといったネットワークと接続するインタフェースである。CPU101は、ネットワークI/F110を介して、LAN或いはインターネットに繋がる外部サーバ等との間で各種データをやり取りすることができる。
<ハードウェア構成>
図1は、本実施形態に係る、時系列ボリュームデータに対し時系列処理を行う情報処理装置100のハードウェア構成の一例を示す図である。図1において、CPU101は、RAM102をワークメモリとして、ROM103及びハードディスクドライブ(HDD)105に格納されたプログラムを実行し、システムバス112を介して後述する各ブロックの動作を制御する。HDDI/F104は、HDD105や光ディスクドライブなどの二次記憶装置を接続する、例えばシリアルATA(SATA)などのインタフェースである。CPU101は、HDDI/F104を介して、HDD105からのデータ読み出し及びHDD105へのデータ書き込みが可能である。さらにCPU101は、HDD105に格納されたデータをRAM102に展開することができ、逆に、RAM102に展開されたデータをHDD105に保存することもできる。そして、CPU101は、RAM102に展開したデータをプログラムとして実行することができる。入力I/F106は、キーボードやマウス、デジタルカメラ、スキャナなどの入力デバイス107を接続する、例えばUSBやIEEE1394などのシリアルバスインタフェースである。CPU101は、入力I/F106を介して入力デバイス107からデータを読み込むことができる。出力I/F108は、情報処理装置100と、出力デバイスであるディスプレイとを接続する、例えばDVIやHDMI(登録商標)などの映像出力インタフェースである。CPU101は、出力I/F108を介してディスプレイにデータを送り、ディスプレイに所定の映像を表示させることができる。ネットワークI/F110は、インターネットやLANといったネットワークと接続するインタフェースである。CPU101は、ネットワークI/F110を介して、LAN或いはインターネットに繋がる外部サーバ等との間で各種データをやり取りすることができる。
<ソフトウェア構成>
図2は、情報処理装置100のソフトウェア構成、より詳細には、入力された時系列ボリュームデータに対し所定の時系列処理を実行するための機能構成を示すブロック図である。図2に示す各種機能はCPU101が専用のプログラムを実行することにより実現される。
図2は、情報処理装置100のソフトウェア構成、より詳細には、入力された時系列ボリュームデータに対し所定の時系列処理を実行するための機能構成を示すブロック図である。図2に示す各種機能はCPU101が専用のプログラムを実行することにより実現される。
本実施形態の情報処理装置100は、データ取得部201、フレーム範囲設定部202、参照モデル決定部203、及び時系列処理部204を備える。
データ取得部201は、経時的に収集された複数フレームから成る時系列ボリュームデータを、例えばLAN上の他の情報処理装置(不図示)からネットワークI/F110を介して取得する。図3(a)は、時系列ボリュームデータの概念図である。ある時刻Tにおけるフレームには、オブジェクト毎のバウンディングボックスが、当該時刻Tにおいて対象空間に存在しているオブジェクトの数だけ含まれる。ここで、図3(b)に示すように各バウンディングボックス301は、共通の空間における原点座標に対する相対座標302によってそれぞれの三次元位置が表現される。なお、複数のオブジェクトが接触等していると、1つのバウンディングボックスが複数のオブジェクトに対応することになる。
フレーム範囲設定部202は、データ取得部201により取得された時系列ボリュームデータに対して時系列処理を行う上で処理対象となる2以上の連続するフレームから成るフレーム範囲を、時系列処理の内容と意図に合わせて設定する。ここで、時系列処理とは、時系列ボリュームデータの各フレームに含まれるオブジェクト毎のボクセル集合(以下「ボクセルモデル」と表記。)を複数フレーム間で比較等して、特定フレーム内のボクセルモデルを修正したりフレーム数を変更したりすることを意味する。そして、ボクセルモデルの修正には、当該ボクセルモデルの形状、位置、ボクセル値、付与ラベルの変更等が含まれ、フレーム数の変更には、フレームの追加(補間)や削除が含まれる。
参照モデル決定部203は、フレーム範囲設定部202によって設定されたフレーム範囲に基づき、時間方向の平滑化処理の対象となるボクセルモデル(注目ボクセルモデル)を変更する際に参照される他フレームのボクセルモデルを決定する。その具体的な決定方法については後述する。
時系列処理部204は、設定されたフレーム範囲における注目フレーム内の注目ボクセルモデルに対して、参照モデル決定部203によって決定された他フレームのボクセルモデルを用いて、所定の時系列処理を行う。本実施形態では、所定の時系列処理として時間方向の平滑化処理を行う場合を例に説明を行うこととする。
時系列処理部204は、設定されたフレーム範囲における注目フレーム内の注目ボクセルモデルに対して、参照モデル決定部203によって決定された他フレームのボクセルモデルを用いて、所定の時系列処理を行う。本実施形態では、所定の時系列処理として時間方向の平滑化処理を行う場合を例に説明を行うこととする。
<時系列処理の詳細>
図4は、本実施形態に係る、入力された時系列ボリュームデータに対して時間方向の平滑化処理を実行する際の流れを示すフローチャートである。なお、以下の説明において記号「S」はステップを意味する。
まず、S401では、データ取得部201が、時系列ボリュームデータを取得する。この際、不図示の他の情報処理装置から受信して取得してもよいし、予め受信して保存しておいたものをHDD105から読み込んで取得してもよい。ここでは、図5に示すような、3つの動的オブジェクトが存在する空間を撮像して得られた映像に基づき作成された、複数フレームから成る時系列ボリュームデータ500が取得されたものとする。図5において、白四角501はオフボクセルを表し、黒四角502はオンボクセルを表す。なお、図5では模式的に二次元グリッドでボクセルを表現しているが、実体としては三次元のボリュームを取り扱う。
図4は、本実施形態に係る、入力された時系列ボリュームデータに対して時間方向の平滑化処理を実行する際の流れを示すフローチャートである。なお、以下の説明において記号「S」はステップを意味する。
まず、S401では、データ取得部201が、時系列ボリュームデータを取得する。この際、不図示の他の情報処理装置から受信して取得してもよいし、予め受信して保存しておいたものをHDD105から読み込んで取得してもよい。ここでは、図5に示すような、3つの動的オブジェクトが存在する空間を撮像して得られた映像に基づき作成された、複数フレームから成る時系列ボリュームデータ500が取得されたものとする。図5において、白四角501はオフボクセルを表し、黒四角502はオンボクセルを表す。なお、図5では模式的に二次元グリッドでボクセルを表現しているが、実体としては三次元のボリュームを取り扱う。
S402では、フレーム範囲設定部202が、S401で取得された時系列ボリュームデータに対し、時間方向の平滑化処理の対象となるフレーム範囲を設定する。時間方向の平滑化処理では、平滑化の対象となるボクセルモデルが属するフレームを注目フレームとして、その隣接フレーム(前フレームと後フレーム)に属するボクセルモデルを参照する。よって本実施形態の場合、図5に示すような連続する3つのフレーム503が、処理対象のフレーム範囲として設定されることになる。ただし、処理開始直後には注目フレームの前フレームは存在せず、処理終了直前には注目フレームの後フレームは存在しないことから、連続する2フレームがフレーム範囲として設定される。なお、設定すべきフレーム範囲については、処理内容と対応付けて予めHDD105等に予めその情報を保持しておけばよい。
S403では、参照モデル決定部203が、S402にて設定されたフレーム範囲の中から、平滑化の対象となるボクセルモデルが属するフレームを注目フレームに設定する。図5の例では、3つのフレーム503のうち2番目(t=n)のフレームが注目フレームとして設定される。
S404では、参照モデル決定部203が、注目フレームに含まれる1又は複数のボクセルモデルの中から、平滑化対象とする注目ボクセルモデルを設定する。ここでは、図5の例において、注目フレームとしてのt=nのフレームに含まれる3つのボクセルモデル504a~504cの中から、ボクセルモデル504aが注目ボクセルモデルに設定されたものとして説明を続ける。
S405では、参照モデル決定部203が、設定されたフレーム範囲のうち注目するフレーム以外の他フレームに含まれるボクセルモデルと注目ボクセルモデルとの間で参照するかの参照判定を行う。ここでの参照判定には、例えばバウンディングボックス法による衝突判定を用いる。バウンディングボックス法では、2つのボクセルモデルv1とv2について以下の式(1)を満たすとき、2つのボクセルモデルv1とv2は衝突すると判定する。
(v1x_max>v2x_min)∧(v2x_max>v1x_min)∧(v1y_max>v2y_min)∧(v2y_max>v1y_min)∧(v1z_max>v2z_min)∧(v2z_max>v1z_min)
・・・式(1)
上記式(1)において、v1x_max、v1x_min、v1y_max、v1y_min、v1z_max、v1z_minは、ボクセルモデルv1についてのxyz各軸の最大値と最小値を表す。また、v2x_max、v2x_min、v2y_max、v2y_min、v2z_max、v2z_minは、ボクセルモデルv2についてのxyz各軸の最大値と最小値を表す。いま、図5の例において、ボクセルモデル504が注目ボクセルモデルであるとする。この場合、例えばボクセルモデル504をボクセルモデルV1、t=n-1のフレームに含まれるボクセルモデル505a~505c、t=n+1のフレームに含まれるボクセルモデル506a~506cをそれぞれボクセルモデルv2として、順次判定を行えばよい。なお、2つのボクセルモデルの半径を用いて衝突判定を行うバウンディングスフィア法など、他の手法を用いて衝突判定を行ってもよい。この衝突判定によって、衝突しないと判定されたボクセルモデルについては、後述のS407における処理の対象から除外される。ボクセルモデル504を注目ボクセルモデルとした場合の例では、t=n-1のフレームではボクセルモデル505aが、t=n-1のフレームでボクセルモデル506aと506bが、ボクセルモデル504と衝突すると判定される。その結果、ボクセルモデル505b、505c及び506cは、S407における処理対象から除外されることになる。
・・・式(1)
上記式(1)において、v1x_max、v1x_min、v1y_max、v1y_min、v1z_max、v1z_minは、ボクセルモデルv1についてのxyz各軸の最大値と最小値を表す。また、v2x_max、v2x_min、v2y_max、v2y_min、v2z_max、v2z_minは、ボクセルモデルv2についてのxyz各軸の最大値と最小値を表す。いま、図5の例において、ボクセルモデル504が注目ボクセルモデルであるとする。この場合、例えばボクセルモデル504をボクセルモデルV1、t=n-1のフレームに含まれるボクセルモデル505a~505c、t=n+1のフレームに含まれるボクセルモデル506a~506cをそれぞれボクセルモデルv2として、順次判定を行えばよい。なお、2つのボクセルモデルの半径を用いて衝突判定を行うバウンディングスフィア法など、他の手法を用いて衝突判定を行ってもよい。この衝突判定によって、衝突しないと判定されたボクセルモデルについては、後述のS407における処理の対象から除外される。ボクセルモデル504を注目ボクセルモデルとした場合の例では、t=n-1のフレームではボクセルモデル505aが、t=n-1のフレームでボクセルモデル506aと506bが、ボクセルモデル504と衝突すると判定される。その結果、ボクセルモデル505b、505c及び506cは、S407における処理対象から除外されることになる。
S406では、設定されたフレーム範囲における注目フレーム以外の他フレームに含まれる各ボクセルモデルと注目ボクセルモデルとの衝突判定が完了したか否かが判定される。他フレームに含まれるすべてのボクセルモデルとの衝突判定が完了していればS407に進み、完了していなければS405に戻って残りのボクセルモデルとの衝突判定を続行する。
S407では、時系列処理部204が、S405の衝突判定にて衝突すると判定されたボクセルモデルを用いて、注目ボクセルモデルに対して時間方向の平滑化処理を実行する。具体的には、他フレームにおける衝突すると判定されたボクセルモデルを参照し、オンボクセルが2フレーム以上あればオンボクセルに、なければオフボクセルにする処理を、多数決フィルタを用いて行う。これにより図5の例では、t=nのフレーム内のボクセルモデル504がボクセルモデル507のように変更される。
S408では、注目フレームに含まれるすべてのボクセルモデルに対する平滑化処理が完了したか否かが判定される。すべてのボクセルモデルに対する平滑化処理が完了していればS409に進み、完了していなければS404に戻って次の注目ボクセルモデルを決定して処理を続行する。
S409では、入力された時系列ボリュームデータへの平滑化処理が完了したか否かが判定される。完了していれば本処理を終了する。完了していなければS402に戻って次のフレーム範囲を決定して処理を続行する。
以上が、本実施形態に係る、時系列ボリュームデータに対する、時間方向の平滑化処理の流れである。こうして本実施形態の場合、時系列ボリュームデータに対する時間方向の平滑化処理を効率的に行うことができる。
<変形例>
あるフレームにおいて図6(a)に示すように別々のボクセルモデル601と602として表現された複数のオブジェクトが、別のフレームでは近接していたため図6(b)に示すように1つのボクセルモデル603で表現される場合がある。このようなフレームを含んだ時系列ボリュームデータに対して上述の時間方向の平滑化処理を行った結果、例えば図6(c)に示すように、ボクセルモデル601に対する平滑化処理後のボクセルモデル601’に別のオブジェクトの一部に対応するオンボクセル群604が混入してしまう場合がある。このように、平滑化処理の結果において、1つのバウンディングボックス内に不連続なオンボクセル群が2つ以上含まれる場合は余分なオンボクセル群を削除する修正処理を追加的に行い、ボクセルモデルが表す形状を修正してもよい。具体的には上述の図6(c)の場合、平滑化処理を行う前の図6(a)に示すボクセルモデル601におけるオンボクセル群との形状の類似度が高いオンボクセル群を残し、形状の類似度が低いオンボクセル群604をすべてオフボクセルに置き換えればよい。なお、ボクセルモデル同士の類似度については、例えば三次元的な相互相関関数の最大値や重心間距離などを用いて判断すればよい。
あるフレームにおいて図6(a)に示すように別々のボクセルモデル601と602として表現された複数のオブジェクトが、別のフレームでは近接していたため図6(b)に示すように1つのボクセルモデル603で表現される場合がある。このようなフレームを含んだ時系列ボリュームデータに対して上述の時間方向の平滑化処理を行った結果、例えば図6(c)に示すように、ボクセルモデル601に対する平滑化処理後のボクセルモデル601’に別のオブジェクトの一部に対応するオンボクセル群604が混入してしまう場合がある。このように、平滑化処理の結果において、1つのバウンディングボックス内に不連続なオンボクセル群が2つ以上含まれる場合は余分なオンボクセル群を削除する修正処理を追加的に行い、ボクセルモデルが表す形状を修正してもよい。具体的には上述の図6(c)の場合、平滑化処理を行う前の図6(a)に示すボクセルモデル601におけるオンボクセル群との形状の類似度が高いオンボクセル群を残し、形状の類似度が低いオンボクセル群604をすべてオフボクセルに置き換えればよい。なお、ボクセルモデル同士の類似度については、例えば三次元的な相互相関関数の最大値や重心間距離などを用いて判断すればよい。
また、本実施形態では、ボクセル値が2値情報の場合を例に説明したが、ボクセル値は多値又は連続値であってもよい。ボクセル値が多値又は連続値である場合、時系列処理部204は、多数決フィルタの代わりに平均値フィルタやガウシアンフィルタなどを用い、ボクセルモデルを構成する各ボクセルのボクセル値の中間調情報を利用した時系列処理を行うことができる。
以上のとおり本実施形態によれば、時間方向の平滑化において参照対象となるボクセルモデルを事前に絞り込んでおく。これにより時系列ボリュームデータに対する時間方向の平滑化処理を効率良く実行でき、処理の高速化を実現できる。
[実施形態2]
次に、衝突判定(S405)の結果を保存しておき、次回以降の衝突判定の実行回数を削減してより効率的に時間方向の平滑化処理を行う態様を、実施形態2として説明する。なお、情報処理装置100のハードウェア構成など実施形態1と共通する内容については説明を省略ないしは簡略化し、以下では差異点を中心に説明を行うこととする。
次に、衝突判定(S405)の結果を保存しておき、次回以降の衝突判定の実行回数を削減してより効率的に時間方向の平滑化処理を行う態様を、実施形態2として説明する。なお、情報処理装置100のハードウェア構成など実施形態1と共通する内容については説明を省略ないしは簡略化し、以下では差異点を中心に説明を行うこととする。
<時系列処理の詳細>
図7は、本実施形態に係る、入力された時系列ボリュームデータに対して時間方向の平滑化処理を実行する際の流れを示すフローチャートである。なお、以下の説明において記号「S」はステップを意味する。
図7は、本実施形態に係る、入力された時系列ボリュームデータに対して時間方向の平滑化処理を実行する際の流れを示すフローチャートである。なお、以下の説明において記号「S」はステップを意味する。
S701では、実施形態1のS401と同様、データ取得部201が、時系列ボリュームデータを取得する。続くS702では、参照モデル決定部203が、衝突判定の結果を保存するリスト(以下、「判定結果リスト」と表記)を初期化する。ここで、判定結果リストは、衝突判定の結果を、次回(新たに設定されたフレーム範囲を対象とした平滑化ステップ)に再利用するための配列情報である。
S703~S705は実施形態1のS402~S404にそれぞれ対応する。すなわち、フレーム範囲設定部202によって時系列ボリュームデータに対し処理対象となるフレーム範囲がまず設定される(S703)。そして、設定されたフレーム範囲から注目フレームが設定され(S704)、続いて注目フレーム内の注目ボクセルモデルが設定される(S705)。
S706では、参照モデル決定部203が判定結果リストを参照し、設定されたフレーム範囲における未判定の他フレームに含まれる各ボクセルモデルと注目ボクセルモデルとの参照判定(ここでは衝突判定)を実行する。いま、前述の実施形態1で説明した図5に示す時系列ボリュームデータ500に対し、S703にて図8に示すフレーム範囲801が設定されているものとする。この時点ではその1つ前の処理における衝突判定の結果(図5のフレーム範囲503を対象に処理を行ったときの衝突判定の結果)を示す情報として、図9(a)に示すような判定結果リストが得られていることになる。ここで、図9(a)の判定結果リストにおける“Vol1”、“Vol2”、“Vol3”は、フレーム内の各ボクセルモデルに付与されたラベルである。なお、フレーム間で同一のボクセルモデルに同一のラベルがついている必要はない。また、図9(a)の判定結果リストにおいて、“1”は衝突すると判定されたことを表し、“0”は衝突しないと判定されたことを表している。いま、処理対象がフレーム範囲801であるので、注目フレームはt=n+1のフレームである。この場合、t=n+1内の注目ボクセルモデルと、前フレームであるt=nのフレームに含まれる各ボクセルモデル及び後フレームであるt=n+2のフレームに含まれる各ボクセルモデルとの衝突判定が必要となる。この際、本実施形態では、図9(a)に示す判定結果リストを参照し、判定処理が済んでいるt=nのフレームに含まれる各ボクセルモデルとの衝突判定は行わない。すなわち、判定処理が済んでいないt=n+2のフレームに含まれる各ボクセルモデルとの衝突判定だけを行う。
S707では、設定されたフレーム範囲における注目フレーム以外の他フレームに含まれる各ボクセルモデルと注目ボクセルモデルとの衝突判定が完了したか否かが判定される。他フレームに含まれるすべてのボクセルモデルとの衝突判定が完了していればS708に進み、完了していなければS706に戻って残りのボクセルモデルとの衝突判定を続行する。
S708では、参照モデル決定部203が、S706での衝突判定の結果を判定結果リストに新たに書き込んで、判定結果リストを更新する。前述のフレーム範囲801を対象とした処理が実行された場合、図9(b)に示すような、t=n+1を注目フレームとしたときの衝突判定の結果を示す判定結果リストが新たに作成されることになる。図9(b)の判定結果リストにおいて網掛けされている部分は、t=nのフレームについて既に衝突判定が済んでいたことを示している。
S709では、時系列処理部204が、S708で更新された判定結果リストを参照し、衝突すると判定されているボクセルモデルを用いて、注目ボクセルモデルに対する平滑化を実行する。
S710では、注目フレームに含まれるすべてのボクセルモデルに対する平滑化処理が完了したか否かが判定される。すべてのボクセルモデルに対する平滑化処理が完了していればS710に進み、完了していなければS705に戻って次の注目ボクセルモデルを決定して処理を続行する。
S711では、時系列ボリュームデータへの時間方向の平滑化処理が完了したか否かが判定される。完了していれば本処理を終了する。完了していなければS703に戻って次のフレーム範囲を決定して処理を続行する。
以上が、本実施形態に係る、時系列ボリュームデータに対する時間方向の平滑化処理の流れである。
以上のとおり本実施形態によれば、直近の衝突判定結果を保存しておきそれを再利用するので衝突判定の実行回数が減り、より高速な処理を実現することができる。
[実施形態3]
次に、時系列処理として、フレーム群の中の隣り合う2つのフレームの間に別のフレームを挿入するフレーム補間処理を行う態様を、実施形態3として説明する。なお、情報処理装置100のハードウェア構成など実施形態1と共通する内容については説明を省略ないしは簡略化し、以下では差異点を中心に説明を行うこととする。
次に、時系列処理として、フレーム群の中の隣り合う2つのフレームの間に別のフレームを挿入するフレーム補間処理を行う態様を、実施形態3として説明する。なお、情報処理装置100のハードウェア構成など実施形態1と共通する内容については説明を省略ないしは簡略化し、以下では差異点を中心に説明を行うこととする。
<時系列処理の詳細>
図10は、本実施形態に係る、入力された時系列ボリュームデータに対してフレーム補間処理を実行する際の流れを示すフローチャートである。なお、以下の説明において記号「S」はステップを意味する。
図10は、本実施形態に係る、入力された時系列ボリュームデータに対してフレーム補間処理を実行する際の流れを示すフローチャートである。なお、以下の説明において記号「S」はステップを意味する。
S1001~S1004は実施形態1のS401~S404にそれぞれ対応する。まず、S1001ではデータ取得部が、処理対象となる時系列ボリュームデータを取得する。
次のS1002ではフレーム範囲設定部202が、入力された時系列ボリュームデータに対し処理対象となるフレーム範囲を設定する。フレーム補間処理を行う本実施形態の場合、図11に示すような、フレーム群中の隣り合う2つのフレーム(t=n-2のフレームとt=n-1のフレーム)1101が設定される。なお、設定すべきフレーム範囲(すなわち、フレームを補完する位置)については、処理内容と対応付けて予めHDD105等に予めその情報を保持しておけばよい。
S1003では、参照モデル決定部203が、S1002にて設定されたフレーム範囲を構成する2つのフレームのうちいずれか一方のフレームを注目フレームに設定する。ここでは、時間的に早い方のフレームを注目フレームに設定する。図11の例では、2つのフレーム1101のうちt=n-2のフレームが注目フレームとして設定されることになる。
S1004では、参照モデル決定部203が、注目フレームに含まれる1又は複数のボクセルモデルの中から、次の判定処理の対象となる注目ボクセルモデルを設定する。ここでは、図11の例において、注目フレームとしてのt=n-2のフレームに含まれる3つのボクセルモデルの中から、ボクセルモデル1102が注目ボクセルモデルに設定されたものとして説明を続ける。
S1005では、参照モデル決定部203が、設定されたフレーム範囲における非注目フレーム(時間的に遅い方のフレーム)に含まれる各ボクセルモデルと注目ボクセルモデルとの間で参照判定を行う。本実施形態の場合、注目フレーム内の注目ボクセルモデルと次フレーム内の各ボクセルモデルとの間で、空間的な距離の判定及び形状の一致度の判定を参照判定として行う。そして、非注目フレームに含まれるボクセルモデルのうち、空間的な距離が近く、かつ、形状の一致度が高いボクセルモデルだけが後述の補間ボクセルモデルの作成に使用(それ以外のボクセルモデルは作成処理の対象から除外)されることになる。ここで、距離判定では、例えば両ボクセルモデルについて重心間距離を算出してその結果が閾値以下になることを条件に空間的な距離が近いと判定すればよい。また、形状一致度判定では、例えば両ボクセルモデルについて三次元相互相関を算出してその最大値が閾値以上になることを条件に形状の一致度が高いと判定すればよい。図11の例では、ボクセルモデル1102(注目ボクセルモデル)と、t=n-1のフレーム内の3つのボクセルモデル1103~1105との間で上記2つの判定処理が行われ、ボクセルモデル1103が双方の条件を満たすと判定されることになる。
S1006では、設定されたフレーム範囲において、既に補完フレームが挿入されているか否かが判定される。補完フレームが挿入されていない場合はS1008に進み、挿入済みである場合はS1009に進む。そして、S1008では、時系列処理部204が、新たなフレームを作成し、設定されたフレーム範囲を構成する2フレームの間に補間フレームとして挿入する。図11の例では、t=n-2のフレームとt=n-1のフレームとの間に、t=n-1.5に対応する補完フレームが挿入されることになる。
S1009では、時系列処理部204が、前フレーム内の注目ボクセルモデルとS1005にて距離判定と形状一致度の双方の条件を満たすと判定された後フレーム内のボクセルモデルとの間を補間するボクセルモデルを作成する。具体的には、2つのボクセルモデルv1及びv2について、以下の式(2)及び式(3)を用いた演算処理を行う。
ここで、ボクセルモデルv1が属するフレームのタイムスタンプをt1、ボクセルモデルv2が属するフレームのタイプスタンプをt2、補間ボクセルモデルが属するフレームのタイムスタンプをt_intとする。このとき、補間ボクセルモデルにおける注目ボクセルモデルからの並進移動量shift_intは、以下の式(2)で求めることができる。
shift_int =(x_shift*r,y_shift*r,z_shift*r) ・・・(式2)
上記式(2)において、x_shift、y_shift、z_shiftは、2つのボクセルモデルv1からv2への並進移動量を表し、ボクセルモデルv1とボクセルモデルv2との三次元相互相関の最大値を取る座標から算出する。そして、補間ボクセルモデルを構成する各ボクセルのボクセル値v_intは、以下の式(3)で求めることができる。
上記式(2)において、x_shift、y_shift、z_shiftは、2つのボクセルモデルv1からv2への並進移動量を表し、ボクセルモデルv1とボクセルモデルv2との三次元相互相関の最大値を取る座標から算出する。そして、補間ボクセルモデルを構成する各ボクセルのボクセル値v_intは、以下の式(3)で求めることができる。
v_int (x, y, z) = v1(x, y, z) * r + v2(x + x_shift, y + y_shift, z + z_shift) * (1 - r)
・・・(式3)
上記式(3)において、v1(x, y, z)、v2(x, y, z)は、それぞれボクセルモデルv1とv2の座標(x, y, z)におけるボクセル値を表す。なお、上記式(2)及び(3)におけるrは、以下の式(4)で表される変数である。
・・・(式3)
上記式(3)において、v1(x, y, z)、v2(x, y, z)は、それぞれボクセルモデルv1とv2の座標(x, y, z)におけるボクセル値を表す。なお、上記式(2)及び(3)におけるrは、以下の式(4)で表される変数である。
r = (t2 - t_int) / (t2 - t1) ・・・式(4)
図11の例では、t=n-2のフレームにおけるボクセルモデル1102とt=n-1のフレームにおけるボクセルモデル1103との間を埋める補間ボクセルモデルとしてボクセルモデル1106が得られることになる。そして、挿入されたt=n-1.5の補間フレームに配置される。
図11の例では、t=n-2のフレームにおけるボクセルモデル1102とt=n-1のフレームにおけるボクセルモデル1103との間を埋める補間ボクセルモデルとしてボクセルモデル1106が得られることになる。そして、挿入されたt=n-1.5の補間フレームに配置される。
S1010では、注目フレームに含まれるすべてのボクセルモデルが処理されたか否かが判定される。すべてのボクセルモデルが処理されていればS1011に進み、未処理のボクセルモデルがあればS1004に戻って次の注目ボクセルモデルを決定して処理を続行する。
S1011では、時系列ボリュームデータへのフレーム補間処理が完了したか否かが判定される。完了していれば本処理を終了する。完了していなければS1002に戻って次のフレーム範囲を決定して処理を続行する。
以上が、本実施形態に係る、時系列ボリュームデータに対するフレーム補間処理の流れである。
本実施形態によれば、フレーム補間において参照対象となるボクセルモデルを事前に絞り込んでおく。これにより時系列ボリュームデータに対するフレーム補間処理を効率良く実行でき、処理の高速化を実現できる。
[その他の実施形態]
本開示は、上述の実施形態の1つ以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステムまたは装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1つ以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本開示は、上述の実施形態の1つ以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステムまたは装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1つ以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100 情報処理装置
201 データ取得部
202 フレーム範囲設定部
203 参照モデル決定部
204 時系列処理部
201 データ取得部
202 フレーム範囲設定部
203 参照モデル決定部
204 時系列処理部
Claims (14)
- 各フレームにオブジェクトの三次元形状を示す形状データを含んだ時間的に連続するフレーム群で構成される時系列形状データを取得する取得手段と、
取得された前記時系列形状データを構成するフレーム群の中から設定されたフレーム範囲を対象として、所定の時系列処理を行う処理手段と、
を有し、
前記処理手段は、設定された前記フレーム範囲の各フレームに属する形状データのうち一部の形状データを除外して前記時系列処理を行う、
ことを特徴とする情報処理装置。 - 前記フレーム範囲を前記所定の時系列処理の内容に応じて設定する設定手段をさらに有し、
前記処理手段は、設定された前記フレーム範囲において注目するフレーム以外の他フレームに属する形状データのうち、前記注目するフレームに属する注目する形状データとの間で所定の条件を満たさない形状データを除外して前記時系列処理を行う、
することを特徴とする請求項1に記載の情報処理装置。 - 前記他フレームに属する形状データが前記注目する形状データとの間で、前記所定の時系列処理の内容に応じた前記所定の条件を満たすか否かを判定する判定手段をさらに有する、ことを特徴とする請求項2に記載の情報処理装置。
- 前記所定の時系列処理は、時間方向の平滑化処理であり、
前記設定手段は、前記時系列形状データを構成するフレーム群の中から前記注目するフレームを含む2以上の連続するフレームを前記フレーム範囲として設定し、
前記判定手段は、設定された前記フレーム範囲のうち前記注目するフレーム以外の前記他フレームに含まれる形状データと前記注目する形状データとの間で参照するかの参照判定を行い
前記処理手段は、前記判定手段によって参照しないと判定された前記他フレームに含まれる形状データを除外して前記時間方向の平滑化処理を行う、
ことを特徴とする請求項3に記載の情報処理装置。 - 前記参照判定の結果の情報を保存する保存手段をさらに有し、
前記判定手段は、設定された前記フレーム範囲のうち、前記保存手段が保存する前記情報に前記参照判定の結果が存在しないフレームを対象として、前記参照判定を行う、
ことを特徴とする請求項4に記載の情報処理装置。 - 前記判定手段は、前記参照判定として、バウンディングボックス法またはバウンディングスフィア法による衝突判定を行うことを特徴とする請求項4に記載の情報処理装置。
- 前記時間方向の平滑化処理の結果において、1つのバウンディングボックス内に不連続な形状データを2つ以上含んでいる場合は、平滑化を行う前の形状データとの形状の類似度が高い1つの形状データだけを残す修正手段をさらに有することを特徴とする請求項6に記載の情報処理装置。
- 前記所定の時系列処理は、フレーム補間処理であり、
前記設定手段は、前記フレーム群の中から前記注目するフレームを含む2つの連続するフレームを前記フレーム範囲として設定し、
前記判定手段は、設定された前記フレーム範囲のうち前記注目するフレーム以外の前記他フレームに含まれる形状データと前記注目する形状データとの間で距離判定及び形状一致度判定を行い、
前記処理手段は、前記判定手段によって距離及び形状一致度に関する条件を満たさないと判定された前記他フレームに含まれる形状データを除外して前記フレーム補間処理を行う、
ことを特徴とする請求項3に記載の情報処理装置。 - 前記判定手段は、
前記距離判定では、重心間距離が閾値以下の場合に条件を満たすと判定し、
前記形状一致度判定では、三次元相互相関の最大値が閾値以上の場合に条件を満たすと判定する、
ことを特徴とする請求項8に記載の情報処理装置。 - 前記形状データは、形状を表す単位要素としてボクセルを用いるボリュームデータであることを特徴とする請求項1乃至9のいずれか一項に記載の情報処理装置。
- 前記形状データは、形状を表す単位要素として点を用いる点群データであることを特徴とする請求項1乃至9のいずれか一項に記載の情報処理装置。
- 前記形状データは、形状を表す単位要素としてポリゴンを用いるメッシュデータであることを特徴とする請求項1乃至9のいずれか一項に記載の情報処理装置。
- 各フレームにオブジェクトの三次元形状を示す形状データを含んだ時間的に連続するフレーム群で構成される時系列形状データを取得する取得ステップと、
取得された前記時系列形状データを構成するフレーム群の中から設定されたフレーム範囲を対象として、所定の時系列処理を行う処理ステップと、
を有し、
前記処理ステップでは、設定された前記フレーム範囲の各フレームに属する形状データのうち一部の形状データを除外して前記時系列処理を行う、
ことを特徴とする情報処理方法。 - コンピュータを、請求項1乃至12の何れか一項に記載の情報処理装置として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021210140A JP2023094692A (ja) | 2021-12-24 | 2021-12-24 | 情報処理装置、情報処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021210140A JP2023094692A (ja) | 2021-12-24 | 2021-12-24 | 情報処理装置、情報処理方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023094692A true JP2023094692A (ja) | 2023-07-06 |
Family
ID=87002265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021210140A Pending JP2023094692A (ja) | 2021-12-24 | 2021-12-24 | 情報処理装置、情報処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023094692A (ja) |
-
2021
- 2021-12-24 JP JP2021210140A patent/JP2023094692A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Han et al. | Guided 3D point cloud filtering | |
US9959670B2 (en) | Method for rendering terrain | |
CN113052955B (zh) | 一种点云补全方法、系统及应用 | |
CN111275633A (zh) | 基于图像分割的点云去噪方法、系统、装置和存储介质 | |
CN107424166B (zh) | 点云分割方法及装置 | |
JPWO2020240809A1 (ja) | 学習装置、分類装置、学習方法、分類方法、学習プログラム、及び分類プログラム | |
KR102305229B1 (ko) | 객체 경계정보의 추출에 사용되는 피쳐맵 정보를 생성하는 방법 및 장치 | |
JP5163472B2 (ja) | パラメタ空間を分割してモデル化する設計支援装置、方法、及びプログラム | |
CN109377552B (zh) | 图像遮挡计算方法、装置、计算设备及存储介质 | |
CN108986210B (zh) | 三维场景重建的方法和设备 | |
CN112446951B (zh) | 三维重建方法、装置、电子设备及计算机存储介质 | |
JP5192437B2 (ja) | 物体領域検出装置、物体領域検出方法および物体領域検出プログラム | |
CN117649515A (zh) | 一种基于数字孪生的半监督3d目标检测方法、系统和设备 | |
CN117523084A (zh) | 一种移动扫描点云的自动三维重建方法及电子设备 | |
KR102326586B1 (ko) | 큰 규모 분산 행렬 곱 처리 방법 및 그 장치 | |
JP2023094692A (ja) | 情報処理装置、情報処理方法及びプログラム | |
KR101359661B1 (ko) | 삼각형 메쉬로 표현된 3차원 물체를 DoSurface 표현 방법으로 변환하는 시스템 및 그 방법 | |
CN113298822B (zh) | 点云数据的选取方法及选取装置、设备、存储介质 | |
CN111126395B (zh) | R-cnn网络中选择性搜索算法的优化方法、存储介质 | |
Vetsch et al. | Neuralmeshing: Differentiable meshing of implicit neural representations | |
Chao et al. | Unsupervised learning of fine structure generation for 3d point clouds by 2d projection matching | |
CN111681318B (zh) | 一种基于点云数据建模的方法、装置和电子设备 | |
CN117078825B (zh) | 一种点云数据线上渲染修改方法、系统、设备及介质 | |
CN116993924B (zh) | 三维场景建模方法及装置、存储介质、计算机设备 | |
CN117893712B (zh) | 一种表面结构网格生成方法和装置 |