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

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

▶ リーコン ラボ インコーポレイテッドの特許一覧

特表2024-502918ボリューム推論に基づいた3次元モデリング方法及びシステム
<>
  • 特表-ボリューム推論に基づいた3次元モデリング方法及びシステム 図1
  • 特表-ボリューム推論に基づいた3次元モデリング方法及びシステム 図2
  • 特表-ボリューム推論に基づいた3次元モデリング方法及びシステム 図3
  • 特表-ボリューム推論に基づいた3次元モデリング方法及びシステム 図4
  • 特表-ボリューム推論に基づいた3次元モデリング方法及びシステム 図5
  • 特表-ボリューム推論に基づいた3次元モデリング方法及びシステム 図6
  • 特表-ボリューム推論に基づいた3次元モデリング方法及びシステム 図7
  • 特表-ボリューム推論に基づいた3次元モデリング方法及びシステム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-24
(54)【発明の名称】ボリューム推論に基づいた3次元モデリング方法及びシステム
(51)【国際特許分類】
   G06T 17/20 20060101AFI20240117BHJP
   G06T 7/55 20170101ALI20240117BHJP
   G06T 7/00 20170101ALI20240117BHJP
【FI】
G06T17/20
G06T7/55
G06T7/00 350B
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023506182
(86)(22)【出願日】2021-12-30
(85)【翻訳文提出日】2023-01-27
(86)【国際出願番号】 KR2021020292
(87)【国際公開番号】W WO2023113093
(87)【国際公開日】2023-06-22
(31)【優先権主張番号】10-2021-0180168
(32)【優先日】2021-12-15
(33)【優先権主張国・地域又は機関】KR
(81)【指定国・地域】
(71)【出願人】
【識別番号】523030854
【氏名又は名称】リーコン ラボ インコーポレイテッド
【氏名又は名称原語表記】RECON LABS INC.
【住所又は居所原語表記】30, Hakdong-ro 53-gil, Gangnam-gu, Seoul 06059, Republic of Korea
(74)【代理人】
【識別番号】110002871
【氏名又は名称】弁理士法人坂本国際特許商標事務所
(72)【発明者】
【氏名】ユン、キュンウォン
(72)【発明者】
【氏名】ブロムバーグ ディメイト、セルジオ
(72)【発明者】
【氏名】ユン、レオナルド
(72)【発明者】
【氏名】バン、ソンフン
【テーマコード(参考)】
5B080
5L096
【Fターム(参考)】
5B080AA17
5B080AA19
5B080BA00
5B080CA00
5B080FA02
5B080GA22
5L096AA09
5L096CA04
5L096DA01
5L096FA02
5L096FA66
5L096FA69
5L096HA11
5L096JA11
5L096KA04
(57)【要約】
【課題】ボリューム推論に基づいた3次元モデリング方法を提供する。
【解決手段】ボリューム推論に基づいた3次元モデリング方法は、特定空間上に位置した対象物体を互いに異なる方向で撮影した複数のイメージを受信するステップと、各イメージが撮影された位置及びポーズを推定するステップと、複数のイメージ、各イメージが撮影された位置及びポーズに基づいて、ボリューム推論モデルを学習するステップと、ボリューム推論モデルを用いて、対象物体に対する3次元モデルを生成するステップと、を含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
少なくとも一つのプロセッサにより実行されるボリューム推論に基づいた3次元モデリング方法において、
特定空間上に位置した対象物体を互いに異なる方向で撮影した複数のイメージを受信するステップと、
各イメージが撮影された位置及びポーズを推定するステップと、
前記複数のイメージ、各イメージが撮影された位置及びポーズに基づいて、ボリューム推論モデルを学習するステップと、
前記ボリューム推論モデルを用いて、前記対象物体に対する3次元モデルを生成するステップと、を含む、ボリューム推論に基づいた3次元モデリング方法。
【請求項2】
前記ボリューム推論モデルは、前記特定空間上の位置情報及び視野方向情報の入力により、色相値及びボリューム密度値を出力するように学習されたモデルである、請求項1に記載のボリューム推論に基づいた3次元モデリング方法。
【請求項3】
前記ボリューム推論モデルは、前記複数のイメージに含まれたピクセル値と、前記ボリューム推論モデルにより推定された色相値及びボリューム密度値に基づいて算出される推定ピクセル値との間の差を最小化するように学習される、請求項2に記載のボリューム推論に基づいた3次元モデリング方法。
【請求項4】
前記対象物体に対する3次元モデルを生成するステップは、
前記ボリューム推論モデルを用いて、前記対象物体の3次元デプスマップを生成するステップと、
前記生成された3次元デプスマップに基づいて、前記対象物体の3次元メッシュを生成するステップと、
前記3次元メッシュ上にテクスチャ情報を適用して、前記対象物体に対する3次元モデルを生成するステップと、を含む、請求項1に記載のボリューム推論に基づいた3次元モデリング方法。
【請求項5】
前記対象物体の3次元デプスマップは、前記ボリューム推論モデルにより推論された前記特定空間上の複数の地点におけるボリューム密度値に基づいて生成される、請求項4に記載のボリューム推論に基づいた3次元モデリング方法。
【請求項6】
前記テクスチャ情報は、前記ボリューム推論モデルにより推論された前記特定空間上の複数の地点及び複数の視野方向における色相値に基づいて決定される、請求項4に記載のボリューム推論に基づいた3次元モデリング方法。
【請求項7】
前記複数のイメージに基づいて、カメラモデルを推定するステップと、
前記推定されたカメラモデルを用いて、前記複数のイメージを複数の歪みのないイメージに変換するステップと、をさらに含み、
前記ボリューム推論モデルは、前記複数の歪みのないイメージに基づいて学習される、請求項1に記載のボリューム推論に基づいた3次元モデリング方法。
【請求項8】
前記対象物体に対する3次元モデルを生成するステップは、
前記ボリューム推論モデルを用いて、前記対象物体の3次元デプスマップを生成するステップと、
前記カメラモデルを用いて、前記3次元デプスマップを変換するステップと、
前記変換された3次元デプスマップに基づいて、前記対象物体の3次元メッシュを生成するステップと、
前記3次元メッシュ上にテクスチャ情報を適用して、前記対象物体に対する3次元モデルを生成するステップと、を含む、請求項7に記載のボリューム推論に基づいた3次元モデリング方法。
【請求項9】
請求項1に係る方法をコンピュータで実行するための命令語を記録したコンピュータ読み取り可能な非一時的な記録媒体。
【請求項10】
情報処理システムであって、
通信モジュールと、
メモリと、
前記メモリと連結され、前記メモリに含まれたコンピュータ読み取り可能な少なくとも一つのプログラムを実行するように構成された少なくとも一つのプロセッサと、を含み、
前記少なくとも一つのプログラムは、
特定空間上に位置した対象物体を互いに異なる方向で撮影した複数のイメージを受信し、
各イメージが撮影された位置及びポーズを推定し、
前記複数のイメージ、各イメージが撮影された位置及びポーズに基づいて、ボリューム推論モデルを学習し、
前記ボリューム推論モデルを用いて、前記対象物体に対する3次元モデルを生成するための命令語を含む、情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ボリューム推論に基づいた3次元モデリング方法及びシステムに関し、具体的には、対象物体を互いに異なる方向で撮影した複数のイメージに基づいてボリューム推論モデルを学習し、学習されたボリューム推論モデルを用いて、対象物体に対する3次元モデルを生成する方法及びシステムに関する。
【背景技術】
【0002】
従来では、物体に対する3次元モデルを製作するために、一般にCADのようなプログラムを用いて3次元モデリング作業を遂行した。このような作業を遂行するには、ある程度の熟練した技術を必要とするため、殆どが専門家により3次元モデリング作業を遂行した。これにより、3次元モデリング作業に多くの時間及び費用が消耗され、製作済みの3次元モデルは作業者によって品質の差が大きいという問題点があった。
【0003】
最近は、対象物体を多様な角度で撮影した写真や映像に基づいて3次元モデリングを自動化する技術の導入により、短時間内に3次元モデルの製作が可能となった。ただし、一般の3次元モデリング自動化技術では、イメージから特徴点(feature point)を抽出する過程を遂行するが、このような方式によれば、物体の特徴によって特徴点が正しく抽出されなかったり、物体の形態が正確に反映されなかったりする3次元モデルが生成されるという問題点がある。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、前記問題点を解決するためのボリューム推論に基づいた3次元モデリング方法、記録媒体に保存されたコンピュータプログラム及び装置(システム)を提供する。
【課題を解決するための手段】
【0005】
本開示は、方法、装置(システム)又は読み取り可能な記録媒体に保存されたコンピュータプログラムを含む多様な方式により具現化できる。
【0006】
本開示の一実施例によれば、少なくとも一つのプロセッサにより実行されるボリューム推論に基づいた3次元モデリング方法は、特定空間上に位置した対象物体を互いに異なる方向で撮影した複数のイメージを受信するステップと、各イメージが撮影された位置及びポーズを推定するステップと、複数のイメージ、各イメージが撮影された位置及びポーズに基づいて、ボリューム推論モデルを学習するステップと、ボリューム推論モデルを用いて、対象物体に対する3次元モデルを生成するステップと、を含む。
【0007】
本開示の一実施例によれば、ボリューム推論モデルは、特定空間上の位置情報及び視野方向(viewing direction)情報の入力により、色相値及びボリューム密度(volume density)値を出力するように学習されたモデルである。
【0008】
本開示の一実施例によれば、ボリューム推論モデルは、複数のイメージに含まれたピクセル値と、ボリューム推論モデルにより推定された色相値及びボリューム密度値に基づいて算出される推定ピクセル値との間の差を最小化するように学習される。
【0009】
本開示の一実施例によれば、対象物体に対する3次元モデルを生成するステップは、ボリューム推論モデルを用いて、対象物体の3次元デプスマップ(depth map)を生成するステップと、生成された3次元デプスマップに基づいて、対象物体の3次元メッシュ(mesh)を生成するステップと、3次元メッシュ上にテクスチャ情報を適用して、対象物体に対する3次元モデルを生成するステップと、を含む。
【0010】
本開示の一実施例によれば、対象物体の3次元デプスマップは、ボリューム推論モデルにより推論された特定空間上の複数の地点におけるボリューム密度値に基づいて生成される。
【0011】
本開示の一実施例によれば、テクスチャ情報は、ボリューム推論モデルにより推論された特定空間上の複数の地点及び複数の視野方向における色相値に基づいて決定される。
【0012】
本開示の一実施例によれば、複数のイメージに基づいてカメラモデルを推定するステップと、推定されたカメラモデルを用いて、複数のイメージを複数の歪みのない(undistorted)イメージに変換するステップと、をさらに含み、ボリューム推論モデルは、複数の歪みのないイメージを用いて学習されたモデルである。
【0013】
本開示の一実施例によれば、対象物体に対する3次元モデルを生成するステップは、ボリューム推論モデルを用いて、対象物体の3次元デプスマップを生成するステップと、カメラモデルを用いて、3次元デプスマップを変換するステップと、変換された3次元デプスマップに基づいて、対象物体の3次元メッシュ(mesh)を生成するステップと、3次元メッシュ上にテクスチャ情報を適用して、対象物体に対する3次元モデルを生成するステップと、を含む。
【0014】
本開示の一実施例に係るボリューム推論に基づいた3次元モデリング方法をコンピュータで実行するために、コンピュータ読み取り可能な記録媒体に保存されたコンピュータプログラムが提供される。
【0015】
本開示の一実施例に係る情報処理システムは、通信モジュールと、メモリと、メモリと連結され、メモリに含まれたコンピュータ読み取り可能な少なくとも一つのプログラムを実行するように構成された少なくとも一つのプロセッサと、を含み、少なくとも一つのプログラムは、特定空間上に位置した対象物体を互いに異なる方向で撮影した複数のイメージを受信し、各イメージが撮影された位置及びポーズを推定し、複数のイメージ、各イメージが撮影された位置及びポーズに基づいて、ボリューム推論モデルを学習し、ボリューム推論モデルを用いて、対象物体に対する3次元モデルを生成するための命令語を含む。
【発明の効果】
【0016】
本開示の一部の実施例によれば、ボリューム推論モデルを学習させ、学習されたボリューム推論モデルを用いて3次元モデルを生成することで、対象物体の形態及び/又はテクスチャを正確かつ精密に具現化した高品質の3次元モデルを生成できる。
【0017】
本開示の一部の実施例によれば、対象物体が位置した特定空間内の全ての位置や視野方向に対する色相値及びボリューム密度値を推定できるため、高解像度の精密かつ正確なデプスマップを生成でき、これに基づいて高品質の3次元モデルを生成できる。
【0018】
本開示の一部の実施例によれば、3次元デプスマップを生成する過程において、イメージを歪みのない(undistorted)イメージに変換して過程を遂行することで、精密かつ正確な3次元デプスマップを生成できる。
【0019】
本開示の一部の実施例によれば、3次元デプスマップに基づいて3次元モデルを生成する過程において、3次元デプスマップを逆変換して過程を遂行することで、ユーザ端末を介して3次元モデルを見るユーザが、まるで実際の物体をカメラで撮影しているような現場感のある3次元モデルを具現化できる。
【0020】
本開示の効果は、これに制限されず、言及されない他の効果等は、請求範囲の記載から本開示が属する技術分野における通常の知識を有した者(“通常の技術者”という)に明確に理解されるべきである。
【図面の簡単な説明】
【0021】
本開示の実施例等は、以下の添付図面に基づいて説明される。ここで、類似の参照符号は類似の要素を示すが、これに限定されるものではない。
図1】本開示の一実施例に係るユーザがユーザ端末を用いて対象物体を様々な方向で撮影し、3次元モデルを生成する例を示す図である。
図2】本開示の一実施例に係るユーザ端末及び情報処理システムの内部構成を示すブロック図である。
図3】本開示の一実施例に係るボリューム推論に基づいた3次元モデリング方法の例を示す図である。
図4】本開示の一実施例に係るボリューム推論モデルを学習する方法の例を示す図である。
図5】本開示の一実施例に係る3次元モデリング方法により生成された3次元モデルと、従来の方法により生成された3次元モデルとを比較した例を示す図である。
図6】本開示の一実施例に係るカメラの歪みを考慮したボリューム推論に基づいた3次元モデリング方法の例を示す図である。
図7】本開示の一実施例に係る歪みのあるイメージと歪みのないイメージとを比較した例を示す図である。
図8】本開示の一実施例に係るボリューム推論に基づいた3次元モデリング方法の例を示すフローチャートである。
【発明を実施するための形態】
【0022】
以下、本開示の実施のための具体的な内容を添付図面に基づいて詳細に説明する。ただし、以下の説明では、本開示の要旨を不要に不明瞭にする恐れがある場合、公知の機能や構成に関する具体的な説明は省略する。
【0023】
添付図面において、同一又は対応する構成要素には同一の参照符号が付与される。また、以下の実施例の説明において、同一又は対応する構成要素の重複記述は省略され得る。しかしながら、構成要素に関する記述が省略されても、そのような構成要素が、ある実施例に含まれないものと意図してはならない。
【0024】
開示の実施例の利点及び特徴、そしてそれらを達成する方法は、添付図面に基づいて後述する実施例を参照すれば明確になる。しかしながら、本開示は、以下で開示される実施例に限定されず、互いに異なる多様な形態で具現化され得る。但し、本実施例は、本開示が完全になるようにし、本開示が属する技術分野における通常の知識を有した者に発明のカテゴリを正確に認識させるために提供されるだけである。
【0025】
本明細書で使用される用語について簡略に説明し、開示の実施例について具体的に説明する。本明細書で使用される用語は、本開示での機能を考慮しつつ、可能な限り現在広く使用される一般的な用語を選択したが、これは関連分野に従事する技術者の意図又は判例、新技術の出現などにより変化し得る。また、特定の場合は出願人が任意で選定した用語もあり得るが、これらの意味は当該発明の説明の部分において詳細に記載する。よって、本開示で使用される用語は、単純な用語の名称ではなく、その用語が有する意味と本開示の全般にわたった内容に基づいて定義されるべきである。
【0026】
本明細書では、文脈上において明確に特定しない限り、単数の表現は複数の表現を含み、複数の表現は単数の表現を含むことができる。明細書の全般に渡り、ある部分がある構成要素を「含む」とする際、これは特に反対の記載がない限り、他の構成要素を除くものではなく、他の構成要素をさらに含むこともできることを意味する。
【0027】
また、明細書で使用される「モジュール」又は「部」という用語は、ソフトウェアやハードウェア構成要素を意味し、「モジュール」又は「部」はある役割を遂行する。しかしながら、「モジュール」又は「部」はソフトウェアやハードウェアに限定される意味ではない。「モジュール」又は「部」は、アドレッシング可能な保存媒体にあるように構成してもよく、一つ又はそれ以上のプロセッサを再生させるように構成してもよい。したがって、一例として、「モジュール」又は「部」は、ソフトウェア構成要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素、タスク構成要素のような構成要素、並びに、プロセス、関数、属性、プロシーザー、サブルーチン、プログラムコードのセグメント、ドライバー、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ又は変数のうちで少なくとも一つを含むことができる。構成要素と「モジュール」又は「部」は、内部で提供される機能はさらに小さい数の構成要素及び「モジュール」又は「部」で結合されたり、追加的な構成要素と「モジュール」又は「部」にさらに分離されたりできる。
【0028】
本開示の一実施例によれば、「モジュール」又は「部」はプロセッサ及びメモリで具現化され得る。「プロセッサ」は汎用プロセッサ、中央処理装置(CPU)、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、制御器、マイクロ制御器、状態マシンなどを含むように広く解釈されるべきである。いくつかの環境では、「プロセッサ」は特定用途向け半導体(ASIC)、プログラム可能なロジックデバイス(PLD)、フィールドプログラム可能なゲートアレイ(FPGA)等を称することもできる。「プロセッサ」は、例えば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサの組合せ、DSPコアと結合した一つ以上のマイクロプロセッサの組合せ、若しくは、任意の他のそのような構成等の組合せのような処理デバイスの組合せを称することもできる。また、「メモリ」は電子情報を保存可能な任意の電子コンポーネントを含むように広く解釈されるべきである。「メモリ」は、RAM(Random Access Memory)、ROM(Read Only Memory)、NVRAM(Non-Volatile Random Access Memory)、PROM(Programmable Read-Only Memory)、EPROM(Erasable Programmable Read-Only Memory)、EEPROM(Electrically Erasable Programmable Reda-Only Memory)、フラッシュメモリ、磁気又は光学データ保存装置、レジスタなどのようなプロセッサ-読み取り可能な媒体の多様な類型を称することもできる。プロセッサがメモリから情報を読み取り/読み取ったりメモリに情報を記録できる場合、メモリはプロセッサと電子通信状態にあると言われる。プロセッサに集積されたメモリはプロセッサと電子通信状態にある。
【0029】
本開示において、「システム」は、サーバ装置及びクラウド装置の少なくとも一つを含むことのできるが、これに限定されるものではない。例えば、システムは、一つ以上のサーバ装置からなることができる。他の例として、システムは、一つ以上のクラウド装置からなることができる。また他の例として、システムは、サーバ装置及びクラウド装置の全部からなって動作されることもできる。
【0030】
本開示において、「機械学習モデル」は、与えられた入力に対する解答(answer)を推論するのに使用する任意のモデルを含むことができる。一実施例によれば、機械学習モデルは、入力層(layer)、複数の隠れ層及び出力層を含む人工神経網モデルを含むことができ、ここで、各層は複数のノードを含むことができる。本開示において、機械学習モデルは人工神経網モデルを称することができ、人工神経網モデルは機械学習モデルを称することができる。本開示において、「ボリューム推論モデル」が機械学習モデルとして具現化され得る。本開示の一部の実施例において、一つの機械学習モデルとして説明されたモデルは複数の機械学習モデルを含むことができ、また、別途の機械学習モデルとして説明された複数のモデルは単一の機械学習モデルとして具現化され得る。
【0031】
本開示において、「ディスプレイ」は、コンピューティング装置と関連付けられた任意のディスプレイ装置を称することのできるが、例えば、コンピューティング装置により制御されるか、又は、コンピューティング装置から提供された任意の情報/データを表示できる任意のディスプレイ装置を称することができる。
【0032】
本開示において、「複数のA各々」又は「複数のAの各々」は、複数のAに含まれた全ての構成要素の各々を称したり、複数のAに含まれた一部の構成要素の各々を称したりできる。
【0033】
本開示の一部の実施例において、「複数のイメージ」は、複数のイメージを含む映像を称することができ、「映像」は、映像に含まれた複数のイメージを称することができる。
【0034】
図1は、本開示の一実施例に係るユーザ110がユーザ端末120を用いて対象物体130を様々な方向で撮影し、3次元モデルを生成する例を示す図である。一実施例によれば、ユーザ110は、ユーザ端末120に具備されたカメラ(またはイメージセンサ)を用いて、3次元モデリングの対象となる物体(以下、対象物体)130を様々な方向で撮影し、3次元モデル生成を要請できる。例えば、ユーザ110は、ユーザ端末120に具備されたカメラを用いて、対象物体130の周囲を回転しながら、対象物体130が含まれた映像を撮影できる。その後、ユーザ110は、ユーザ端末120を介して、撮影された映像(または映像に含まれた複数のイメージ)を用いた3次元モデリングを要請できる。他の実施例によれば、ユーザ110は、ユーザ端末120に保存された映像又はユーザ端末120から接近可能な他のシステムに保存された映像を選択した後、該映像(または映像に含まれた複数のイメージ)を用いた3次元モデリングを要請できる。ユーザ110により3次元モデリングが要請された場合、ユーザ端末120は、撮影された映像又は選択された映像を情報処理システムに転送できる。
【0035】
情報処理システムは、対象物体130に対する映像(または映像に含まれた複数のイメージ)を受信し、映像内の複数のイメージの各々に対して撮影された位置及びポーズを推定できる。各イメージが撮影された位置及びポーズは、各イメージが撮影された時点におけるカメラの位置及び方向などを称することができる。その後、情報処理システムは、複数のイメージ、各イメージが撮影された位置及びポーズに基づいて、ボリューム推論モデルを学習でき、学習されたボリューム推論モデルを用いて、対象物体130に対する3次元モデルを生成できる。
【0036】
前述した説明では、複数のイメージを用いて3次元モデルを生成する過程は、情報処理システムにより遂行されると記載したが、これに限定されず、他の実施例では異なるように具現化されることもできる。例えば、複数のイメージを用いて3次元モデルを生成する一連の過程のうち、少なくとも一部又は全ての過程がユーザ端末120により遂行されることができる。ただし、説明の便宜のために、以下では情報処理システムにより3次元モデル生成過程が遂行されるという前提の下に説明する。
【0037】
本開示のボリューム推論に基づいた3次元モデリング方法によれば、イメージから特徴点を抽出し、これに基づいて3次元モデルを生成する代わりに、ボリューム推論モデルを学習させ、学習されたボリューム推論モデルを用いて3次元モデルを生成することで、対象物体130の形態及び/又はテクスチャを正確かつ精密に具現化できる。
【0038】
図2は、本開示の一実施例に係るユーザ端末210及び情報処理システム230の内部構成を示すブロック図である。ユーザ端末210は、3次元モデリングアプリケーションやウェブブラウザなどを実行でき、有/無線通信が可能な任意のコンピューティング装置を称することができ、例えば、携帯電話端末、タブレット端末、PC端末などを含むことができる。図に示すように、ユーザ端末210は、メモリ212、プロセッサ214、通信モジュール216及び入出力インタフェース218を含むことができる。これと同様に、情報処理システム230は、メモリ232、プロセッサ234、通信モジュール236及び入出力インタフェース238を含むことができる。図2に示すように、ユーザ端末210及び情報処理システム230は、各々の通信モジュール216、236を用いて、ネットワーク220を介して情報及び/又はデータを通信できるように構成される。また、入出力装置240は、入出力インタフェース218を介して、ユーザ端末210に情報及び/又はデータを入力したり、ユーザ端末210から生成された情報及び/又はデータを出力したりするように構成される。
【0039】
メモリ212、232は、非一時的な任意のコンピュータ読み取り可能な記録媒体を含むことができる。一実施例によれば、メモリ212、232は、RAM(random access memory)、ROM(read only memory)、ディスクドライブ、SSD(solid state drive)及びフラッシュメモリ(flash memory)などのような永久的な大容量保存装置(permanent mass storage device)を含むことができる。他の例として、ROM、SSD、フラッシュメモリ及びディスクドライブなどのような永久的な大容量保存装置は、メモリとは区分される別途の永久保存装置としてユーザ端末210又は情報処理システム230に含まれることができる。また、メモリ212、232には、運営体制と少なくとも一つのプログラムコード(例えば、ユーザ端末210に設置されて駆動される3次元モデリングアプリケーションなどのためのコード)が保存され得る。
【0040】
このようなソフトウェア構成要素は、メモリ212、232とは別途のコンピュータ読み取り可能な記録媒体からローディングできる。このような別途のコンピュータ読み取り可能な記録媒体は、このようなユーザ端末210及び情報処理システム230に直接連結可能な記録媒体を含むことのできるが、例えば、フロッピードライブ、ディスク、テープ、DVD/CD-ROMドライブ及びメモリカードなどのようなコンピュータ読み取り可能な記録媒体を含むことができる。他の例として、ソフトウェア構成要素等は、コンピュータ読み取り可能な記録媒体ではなく、通信モジュールを介してメモリ212、232にローディングされることもできる。例えば、少なくとも一つのプログラムは、開発者又はアプリケーションの設置ファイルを配信するファイル配信システムが、ネットワーク220を介して提供するファイルにより設置されるコンピュータプログラムに基づいてメモリ212、232にローディングされることができる。
【0041】
プロセッサ214、234は、基本的な算術、ロジック及び入出力演算を遂行することで、コンピュータプログラムの命令を処理するように構成できる。命令は、メモリ212、232又は通信モジュール216、236によりプロセッサ214、234に提供され得る。例えば、プロセッサ214、234は、メモリ212、232のような記録装置に保存されたプログラムコードによって受信される命令を実行するように構成できる。
【0042】
通信モジュール216、236は、ネットワーク220を介して、ユーザ端末210と情報処理システム230とが互いに通信するための構成や機能を提供でき、ユーザ端末210及び/又は情報処理システム230が他のユーザ端末又は他のシステム(例えば、別途のクラウドシステムなど)と通信するための構成や機能を提供できる。一例として、ユーザ端末210のプロセッサ214がメモリ212などのような記録装置に保存されたプログラムコードによって生成した要請又はデータ(例えば、3次元モデル生成要請、対象物体を様々な方向で撮影した複数のイメージ又は映像など)は、通信モジュール216の制御により、ネットワーク220を介して情報処理システム230に伝達できる。反対に、情報処理システム230のプロセッサ234の制御により提供される制御信号や命令が、通信モジュール236及びネットワーク220を経て、ユーザ端末210の通信モジュール216を介してユーザ端末210に受信されることができる。例えば、ユーザ端末210は、情報処理システム230から通信モジュール216を介して対象物体に対する3次元モデルデータなどを受信できる。
【0043】
入出力インタフェース218は、入出力装置240とのインタフェースのための手段であり得る。一例として、入力装置はオーディオセンサ及び/又はイメージセンサを含むカメラ、キーボード、マイクロホン、マウスなどのような装置を含み、出力装置はディスプレイ、スピーカ、ハプティック(触覚)フィードバックデバイス(haptic feedback device)などのような装置を含むことができる。他の例として、入出力インタフェース218は、タッチスクリーンなどのように入力及び出力を遂行するための構成及び機能が一つで統合された装置とのインタフェースのための手段であり得る。例えば、ユーザ端末210のプロセッサ214がメモリ212にローディングされたコンピュータプログラムの命令を処理する際に、情報処理システム230や他のユーザ端末が提供する情報及び/又はデータを用いて構成されるサービス画面が、入出力インタフェース218を介してディスプレイに表示され得る。図2では、入出力装置240がユーザ端末210に含まれないように示したが、これに限定されず、ユーザ端末210と一体に構成することもできる。また、情報処理システム230の入出力インタフェース238は、情報処理システム230と連結するか、又は、情報処理システム230が含むことのできる入力や出力のための装置(図示せず)とのインタフェースのための手段であり得る。図2では、入出力インタフェース218、238がプロセッサ214、234と別途に構成された要素として示したが、これに限定されず、入出力インタフェース218、238がプロセッサ214、234に含まれるように構成することもできる。
【0044】
ユーザ端末210及び情報処理システム230は、図2に示す構成要素よりも多くの構成要素を含むことができる。しかしながら、大部分の従来技術的構成要素を明確に示す必要はない。一実施例によれば、ユーザ端末210は、前述した入出力装置240の少なくとも一部を含むように具現化できる。また、ユーザ端末210は、トランシーバー(transceiver)、GPS(Global Positioning system)モジュール、カメラ、各種センサ及びデータベースなどのような他の構成要素をさらに含むことができる。例えば、ユーザ端末210がスマートフォンである場合、一般にスマートフォンが有する構成要素を含むことができ、例えば、加速度センサ、ジャイロセンサ、カメラモジュール、各種物理的なボタン、タッチパネルを用いたボタン、入出力ポート及び振動のための振動器などのような様々な構成要素がユーザ端末210にさらに含まれるように具現化できる。一実施例によれば、ユーザ端末210のプロセッサ214は、3次元モデル生成サービスを提供するアプリケーションなどが動作するように構成できる。このとき、該アプリケーション及び/又はプログラムと関連付けられたコードをユーザ端末210のメモリ212にローディングできる。
【0045】
3次元モデル生成サービスを提供するアプリケーションなどのためのプログラムが動作する際に、プロセッサ214は、入出力インタフェース218と連結されたタッチスクリーン、キーボード、オーディオセンサ及び/又はイメージセンサを含むカメラ、マイクロホンなどのような入力装置を介して入力又は選択されたテキスト、イメージ、映像、音声及び/又は動作などを受信でき、受信されたテキスト、イメージ、映像、音声及び/又は動作などをメモリ212に保存したり、通信モジュール216及びネットワーク220を介して情報処理システム230に提供したりできる。例えば、プロセッサ214は、入出力インタフェース218と連結されたカメラを介して撮影された対象物体に対する複数のイメージ又は映像を受信し、対象物体に対する3次元モデル生成を要請するユーザ入力を受信して、複数のイメージ又は映像を通信モジュール216及びネットワーク220を介して情報処理システム230に提供できる。他の例として、プロセッサ214は、複数のイメージ又は映像に対するユーザの選択を示す入力を受信して、選択された複数のイメージ又は映像を通信モジュール216及びネットワーク220を介して情報処理システム230に提供できる。
【0046】
ユーザ端末210のプロセッサ214は、入出力装置240、他のユーザ端末、情報処理システム230及び/又は複数の外部システムから受信された情報及び/又はデータを管理、処理及び/又は保存するように構成できる。プロセッサ214により処理された情報及び/又はデータは、通信モジュール216及びネットワーク220を介して情報処理システム230に提供できる。ユーザ端末210のプロセッサ214は、入出力インタフェース218を介して、入出力装置240に情報及び/又はデータを転送して出力できる。例えば、プロセッサ214は、受信した情報及び/又はデータをユーザ端末の画面にディスプレイすることができる。
【0047】
情報処理システム230のプロセッサ234は、複数のユーザ端末210及び/又は複数の外部システムから受信された情報及び/又はデータを管理、処理及び/又は保存するように構成できる。プロセッサ234により処理された情報及び/又はデータは、通信モジュール236及びネットワーク220を介してユーザ端末210に提供できる。例えば、情報処理システム230のプロセッサ234は、ユーザ端末210から複数のイメージを受信し、各イメージが撮影された位置及びポーズを推定した後、複数のイメージ、各イメージが撮影された位置及びポーズに基づいて、ボリューム推論モデルを学習でき、学習されたボリューム推論モデルを用いて対象物体に対する3次元モデルを生成できる。情報処理システム230のプロセッサ234は、このように生成された3次元モデルを通信モジュール236及びネットワーク220を介してユーザ端末210に提供できる。
【0048】
情報処理システム230のプロセッサ234は、ユーザ端末210のディスプレイ出力可能な装置(例:タッチスクリーンやディスプレイなど)、音声出力可能装置(例:スピーカー)などのような出力装置240を介して処理された情報及び/又はデータを出力するように構成されることができる。例えば、情報処理システム230のプロセッサ234は、対象物体に対する3次元モデルを通信モジュール236及びネットワーク220を介してユーザ端末210に提供し、3次元モデルをユーザ端末210のディスプレイ出力可能装置などを介して出力するように構成できる。
【0049】
図3は、本開示の一実施例に係るボリューム推論に基づいた3次元モデリング方法の例を示す図である。まず、情報処理システムは、特定空間上に位置した対象物体を互いに異なる方向で撮影した複数のイメージ又は対象物体を様々な方向で撮影した映像を受信できる(310)。情報処理システムが映像を受信した場合、情報処理システムは、映像内に含まれた複数のイメージを獲得できる。例えば、情報処理システムは、対象物体の周囲を回転しながら撮影した映像をユーザ端末から受信し、映像から複数のイメージを獲得できる。
【0050】
その後、情報処理システムは、各イメージが撮影された位置及びポーズを推定できる(320)。ここで、各イメージが撮影された位置及びポーズは、各イメージが撮影された時点におけるカメラの位置及び方向などを称することができる。位置及びポーズの推定には、イメージから位置及びポーズを推定するための様々な推定方法を使用できる。例えば、複数のイメージから特徴点を抽出し、これを用いて各イメージが撮影された位置及びポーズを推定する写真測量技術(photogrammetry)を使用できるが、これに限定されず、様々な位置及びポーズ推定方法を使用できる。
【0051】
その後、情報処理システムは、複数のイメージ及び各イメージが撮影された位置やポーズに基づいて、ボリューム推論モデルを学習できる(330)。ここで、ボリューム推論モデルは機械学習モデル(例えば、人工神経網モデル)であり得る。一実施例によれば、ボリューム推論モデルは、特定空間上の位置情報及び視野方向(viewing direction)情報の入力により、色相値及びボリューム密度(volume density)値を出力するように学習されたモデルであり得る。例えば、ボリューム推論モデルは、次の数1の式のように表見できる。
【0052】
【数1】
ここで、
ボリューム推論モデル、
はボリューム推論モデルのパラメータ、

は各々特定空間上の位置情報及び視野方向、

は各々色相値及びボリューム密度値を示す。具体例として、色相値
は位置
に対して視野方向
から見る時、表される色相値(例えば、RGB色相値)を示し、ボリューム密度値
は位置
に対して視野方向
から見る時、物体が存在しなければ0の値を有し、物体が存在すれば透明度によって0超過1以下の任意の実数値を有することができる(すなわち、ボリューム密度は光が遮断される比率を意味できる)。学習されたボリューム推論モデルを利用すれば、対象物体が位置した特定空間内の任意の位置や視野方向に対する色相値及びボリューム密度値を推定できる。
【0053】
一実施例において、ボリューム推論モデルは、複数のイメージに含まれたピクセル値と、ボリューム推論モデルにより推定された色相値及びボリューム密度値に基づいて算出される推定ピクセル値との間の差を最小化するように学習できる。すなわち、イメージに含まれたピクセル値と、ボリューム推論モデルにより推定された色相値及びボリューム密度値に基づいて算出される推定ピクセル値との間の差に基づいて、損失関数(loss function)を定義できる。例えば、ボリューム推論モデルを学習するための損失関数は、次の数2の式のように表見できる。
【0054】
【数2】
ここで、

は各々イメージに含まれた正解(Ground Truth)ピクセル値と、ボリューム推論モデルにより推定された色相値及びボリューム密度値に基づいて算出される推定ピクセル値とを示す。ボリューム推論モデルにより推定された色相値及びボリューム密度値に基づいて推定ピクセル値
を算出する方法は、図4を参照して詳細に後述する。
【0055】
ボリューム推論モデルの学習が完了した後、情報処理システムは、ボリューム推論モデルを用いて対象物体に対する3次元モデルを生成できる。一実施例において、学習されたボリューム推論モデルを利用すれば、対象物体が位置した特定空間内の任意の位置や視野方向に対する色相値及びボリューム密度値を推定できるため、これを用いて対象物体に対する3次元モデルを生成できる。
【0056】
一実施例によれば、情報処理システムは、対象物体に対する3次元モデルを生成するために、まず、ボリューム推論モデルを用いて対象物体の3次元デプスマップを生成できる(340)。例えば、特定位置及び特定ポーズで対象物体が位置した特定空間を見る時、0でないボリューム密度値を有する最も近い地点までの距離を物体までの距離として推定できる。このような方式により、情報処理システムは、ボリューム推論モデルを用いて対象物体の3次元デプスマップを生成できる。
【0057】
その後、情報処理システムは、生成された3次元デプスマップに基づいて対象物体の3次元メッシュ(mesh)を生成でき(350)、3次元メッシュ上にテクスチャ情報を適用して対象物体に対する3次元モデルを生成できる(360)。一実施例によれば、ここで、テクスチャ情報は、ボリューム推論モデルにより推論された特定空間上の複数の地点及び複数の視野方向における色相値に基づいて決定できる。
【0058】
従来の3次元モデリング方式によれば、複数のイメージから共通的に抽出した特徴点に基づいて3次元モデルを生成するため、複数のイメージから抽出できる特徴点の数が少ない場合、希少(sparse)なデプスマップが生成され、希少なデプスマップから密集した(dense)デプスマップを推論しても、情報の損失により不完全なデプスマップが生成される。これに対し、本開示の一実施例に係る学習されたボリューム推論モデルを利用すれば、対象物体が位置した特定空間内の全ての位置や視野方向に対する色相値及びボリューム密度値を推定できるため、直ちに密集したデプスマップを生成できる。すなわち、本開示によれば、高解像度の精密かつ正確なデプスマップを生成できる。また、イメージ超解像(image super resolution)技術を活用して、デプスマップの解像度をより向上させることもできる。このように、高品質の3次元デプスマップを用いて3次元モデルを生成することで、実写に近い高品質の3次元モデルを生成できる。
【0059】
図4は、本開示の一実施例に係るボリューム推論モデルを学習する方法の例を示す図である。一実施例によれば、ボリューム推論モデル
は、特定空間上の位置情報
及び視野方向情報
の入力により、色相値
及びボリューム密度値
を推論できる。例えば、ボリューム推論モデルは前記数1の式のように表現できる。ここで、ボリューム推論モデルは、複数のイメージに含まれたピクセル値と、ボリューム推論モデルにより推定された色相値及びボリューム密度値に基づいて算出される推定ピクセル値との間の差を最小化するように学習できる。例えば、ボリューム推論モデルを学習するための損失関数は、前記数2の式のように表現できる。
【0060】
前記数2の式において、
はボリューム推論モデルにより推定された色相値及びボリューム密度値に基づいて算出される推定ピクセル値を示すが、例えば、推定ピクセル値は、次のような過程により算出できる。
【0061】
まず、情報処理システムは、対象物体を撮影した複数のイメージの焦点中心
からイメージプレーン(image plane)上の一点(一ピクセル)を結ぶ仮想の半直線(以下、レイ(ray;光路)、
)を想定できる。その後、レイ上に存在する複数のサンプリング地点420、430、440、450、460、470、480を抽出できる。例えば、情報処理システムは、レイ上において、均等な間隔で複数のサンプリング地点420、430、440、450、460、470、480を抽出できる。次に、情報処理システムは、複数のサンプリング地点420、430、440、450、460、470、480の位置情報及び視野方向情報(サンプリング地点から焦点中心へ向かう方向)をボリューム推論モデルに入力して、該地点等の色相値及びボリューム密度値を推論できる。その後、複数のサンプリング地点420、430、440、450、460、470、480に対して推論された色相値及びボリューム密度値に基づいて、イメージプレーン(具体的に、該レイとイメージプレーンとが接する地点、すなわち、ピクセル)に生じる推定ピクセル値を算出できる。例えば、複数のサンプリング地点420、430、440、450、460、470、480に対して推論された各色相値を、推論された各ボリューム密度値に比例して累積させた時の色相値を算出することで、イメージプレーンに生じる推定ピクセル値を算出できる。具体的に、ボリューム推論モデルにより推定された色相値及びボリューム密度値に基づいて推定ピクセル値を算出する過程は、次の数3の式のように表現できる。
【0062】
【数3】
、ここで、
ここで、
はレイ、
は算出される推定ピクセル値、

は各々近い境界(例えば、ボリューム密度が0でない最も近い地点)、遠い境界(例えば、ボリューム密度が0でない最も遠い地点)、
はボリューム密度値、
は色相値、

は各々サンプリング地点の位置情報及び視野方向情報を示し、

から
までの累積透過率(すなわち、レイ(光)が
から
まで他の粒子と衝突なしに移動できる確率)を示す。このような推定ピクセル値を算出する過程を、複数のイメージ内の全てのピクセルに対して遂行できる。
【0063】
ボリューム推論モデルは、このように推定された色相値及びボリューム密度値に基づいて算出される推定ピクセル値と、実際のイメージに含まれたピクセル値との間の差を最小化するように学習できる。具体例として、ボリューム推論モデルを学習するための損失関数は、次の数4の式のように表現できる。
【0064】
【数4】
ここで、
はレイ、
は複数のイメージに対するレイの集合、

は各々レイ
に対する正解(Ground Truth)ピクセル値と、ボリューム推論モデルにより推定された色相値及びボリューム密度値に基づいて算出される推定ピクセル値とを示す。
【0065】
付加的又は代替的に、情報処理システムは、レイ上に存在する複数のサンプリング地点420、430、440、450、460、470、480を抽出し、推定ピクセル値を算出する過程を複数回遂行できる。例えば、情報処理システムは階層的ボリュームサンプリング過程を遂行できる。具体的に、一つのボリューム推定モデルを使用する代わりに、粗い(coarse)モデル及び精密な(fine)モデルの2種類を使用できる。まず、前述した方法により、粗いモデルから出力された色相値及びボリューム密度値を推論できる。その後、粗いモデルの出力値を用いて、対象物体(具体例として対象物体の表面(surface))が存在すると推定される部分でより多くのサンプリング地点を抽出し、対象物体が存在しないと推定される部分でより少ないサンプリング地点を抽出して、精密なモデルを学習できる。ここで、精密なモデルを学習するための損失関数は、次の数5の式のように表現できる。
【0066】
【数5】
ここで、
は複数のイメージに対するレイの集合、


は各々レイ
に対する正解ピクセル値、粗いモデルによる推定色相値、精密なモデルによる推定色相値を示す。最終的に、学習された精密なモデルを用いて、対象物体に対する3次元モデルを生成できる。
【0067】
付加的又は代替的に、直接的にボリューム密度を推定する代わりに、符号つき距離関数(Signed Distance Function;SDF)によりレイ上のボリューム密度を表現することで、対象物体の表面(surface)位置に対する推定の正確度を向上させることができる。例えば、ボリューム密度は、学習可能なSDFの変形でモデリングできる。具体例として、ボリューム密度は、次の数6の式のようにモデリングできる。
【0068】
【数6】
ここで、

であり、
ここで、
はボリューム密度関数、

は学習可能なパラメータ、
は平均が0であり、
のスケールパラメータを有するラプラス分布の累積分布関数、
は対象物体が占める領域、
は対象物体の境界面
上の点、
は地点
が、対象物体が占める領域内にあれば1、でなければ0である関数、
は地点
が、対象物体が占める領域内にあれば正数、でなければ負数を有すると共に、境界面に対する距離によって値が変化する関数を示す。
【0069】
このとき、ボリューム推論モデルの学習のための損失関数は、色相損失及びアイコナール (Eikonal)損失に基づいて定義できる。ここで、色相損失は前述した方法(例えば、数2、数4又は数5)と同様に算出でき、アイコナール損失は幾何学的ペナルティを示す損失である。具体例として、損失関数は、次の数7の式のように定義できる。
【0070】
【数7】
ここで、
は総損失、
は色相損失、
はアイコナール損失、
はハイパーパラメータ(例えば、0.1)を示す。
【0071】
前述した通り、情報処理システムは、ボリューム推論モデルを様々な方式により学習でき、学習されたボリューム推論モデルを用いて3次元モデルを生成できる。
【0072】
図5は、本開示の一実施例に係る3次元モデリング方法により生成された3次元モデル520と、従来の方法により生成された3次元モデル510とを比較した例を示す図である。従来の3次元モデリング方法によれば、対象物体を撮影したイメージから特徴点(feature point)等を抽出し、特徴点等の3次元空間内の位置値を推定できる。ここで、特徴点とは、複数のイメージから同じ地点で推測できることを意味できる。その後、推定された特徴点等の位置値に基づいて、3次元形態に対するデプスマップを生成したり、ポイントクラウド(Point Cloud)を生成したりし、デプスマップ又はポイントクラウドに基づいて対象物体に対する3次元メッシュを生成できる。
【0073】
ただし、従来の方法により3次元モデルを生成する場合、対象物体の特徴によって物体の形態が正しく反映されない場合があり得る。例えば、特徴点を特定しにくいテクスチャ(例:単色のプラスチック、金属など)を有する物体の場合、特徴点が顕著に少なく抽出されることにより、3次元モデルに物体の形態が正しく反映されない場合があり得る。他の例として、反射があるか、或いは、透明な材質を有する物体の場合、光の反射又は屈折により、実際の物体と異なる位置で特徴点が抽出されたり、実際の物体では同じ位置である地点が色々な他の位置で特徴点として抽出されたりして、非正常な形態及びテクスチャを有する3次元モデルが生成される場合があり得る。また他の例として、物体に薄くて細い部分が含まれた場合、該部分に面(surface)を特定できる程度の十分に広い面積の特徴点が分布していないため、3次元メッシュを生成するステップにおいて面でない点として認識して省略する場合があり得る。このように、従来の方法によれば、対象物体の特徴によって3次元モデルが正しく生成されない場合があり得る。
【0074】
従来の方法により生成された3次元モデル510の例が図5に示されている。従来の方法により生成された3次元モデル510は、図に示すように、実際の対象物体の表面位置を正確に反映しなくて表面が滑らかではなく、一部が省略される等の問題がある。
【0075】
これに対し、本開示の一実施例に係る3次元モデリング方法によれば、イメージから特徴点等を抽出する代わりに、ボリューム推論モデルを利用することで、物体が位置した特定空間上の全ての点に対する色相値及びボリューム密度値を推定でき、これにより、実際の対象物体をより正確に反映する3次元モデルを生成できる。
【0076】
本開示の一実施例に係る方法により生成された3次元モデル520の例が図5に示されている。本開示の一実施例に係る方法により生成された3次元モデル520は、図に示すように、実際の対象物体の形態やテクスチャをより精密かつ正確に反映できる。これにより、本開示の方法によれば、実写に近い高品質の3次元モデルを生成できる。
【0077】
図6は、本開示の一実施例に係るカメラの歪みを考慮したボリューム推論に基づいた3次元モデリング方法の例を示す図である。一実施例によれば、情報処理システムは、カメラの歪みを考慮して、3次元モデリング方法を遂行できる。図6では、カメラの歪みを考慮することにより追加又は変更される部分を中心として説明し、図3に示す過程と重複する部分については簡略に説明する。
【0078】
情報処理システムは、特定空間上に位置した対象物体を互いに異なる方向で撮影した複数のイメージ又は対象物体を様々な方向で撮影した映像を受信できる(610)。その後、情報処理システムは、複数のイメージに基づいてカメラモデルを生成できる(620)。例えば、写真測量技術(photogrammetry)を用いて、複数のイメージを撮影したカメラモデルを推定できる。その後、情報処理システムは、推定されたカメラモデルを用いて、複数のイメージを歪みのない(undistorted)イメージに変換できる(630)。
【0079】
次に、情報処理システムは、各イメージが撮影された位置及びポーズを推定できる(640)。例えば、情報処理システムは、変換された複数の歪みのないイメージに基づいて、各イメージが撮影された位置及びポーズを推定できる。他の例として、情報処理システムは、受信した複数のイメージ(歪みのあるイメージ)に基づいて、各イメージが撮影された位置及びポーズを推定し、カメラモデルを用いて、推定された位置及びポーズを補正/変換できる。その後、情報処理システムは、変換された複数の歪みのないイメージに基づいてボリューム推論モデルを学習できる(650)。
【0080】
次に、情報処理システムは、歪みのないイメージに基づいて学習されたボリューム推論モデルを用いて、対象物体に対する3次元モデルを生成できる。例えば、情報処理システムは、対象物体の3次元デプスマップを生成し(660)、カメラモデルを用いて3次元デプスマップを再度元来の(歪みのある)イメージに対する3次元デプスマップに変換できる(670)。その後、変換された3次元デプスマップに基づいて対象物体の3次元メッシュを生成し(680)、3次元メッシュ上にテクスチャ情報を適用して、対象物体に対する3次元モデルを生成できる(690)。このように、3次元デプスマップを生成する過程では、イメージを歪みのないイメージに変換して過程を遂行することで、精密かつ正確な3次元デプスマップを生成でき、3次元デプスマップに基づいて3次元モデルを生成する過程では、3次元デプスマップを逆変換して過程を遂行することで、ユーザ端末を介して3次元モデルを見るユーザが、まるで実際の物体をカメラ(歪みのあるカメラ)で撮影しているような現場感のある3次元モデルを具現化できる。
【0081】
図7は、本開示の一実施例に係る歪みのあるイメージと歪みのないイメージとを比較した例を示す図である。図7に示す点グラフ700において、円形状の点は、歪みのないイメージの横や縦を一定の間隔に分けて点を打った座標であり、四角形状の点は、歪みのないイメージでの円形状の点に該当する部分が、歪みのあるイメージで現れる位置を表示した座標である。点グラフ700によれば、同じ部分に対して、歪みのないイメージ及び歪みのあるイメージで表示される位置が異なることを確認でき、特にイメージの端部へ行くほど位置差が大きくなることを確認できる。すなわち、イメージの端部へ行くほど歪みが激しくなることを確認できる。
【0082】
一方、3次元モデリング方法の少なくとも一部の過程は、イメージに歪みのないという仮定(ピンホールカメラ仮定)の下に遂行できる。例えば、イメージに基づいてカメラの位置又はポーズを推定するステップや、カメラの焦点中心からイメージプレーンの特定ピクセルを通過する半直線(ray)をひいて、該半直線上の複数の点に対する色相及び密度値を推定して、特定ピクセルの色相値を推定するステップなどは、イメージに歪みのないという仮定の下に遂行できる。一般に、商用化しているカメラには、大部分歪みが存在するため、歪みのあるイメージを用いて3次元モデリング方法を遂行する場合、精密な部分で実際の物体と差が発生し得る。
【0083】
これにより、本開示の一部の実施例に係る3次元モデリング方法では、イメージからカメラモデルを推定し、推定されたカメラモデルを用いてイメージを歪みのないイメージに変換して方法を遂行することで、実際の物体を精密な部分まで正確に反映する3次元モデルを生成できる。
【0084】
図8は、本開示の一実施例に係るボリューム推論に基づいた3次元モデリング方法800の例を示すフローチャートである。図8のフローチャート及び図8を参照して後述する説明は一つの例示であるだけで、他の実施例では多様に変形して具現化できることが明らかである。ボリューム推論に基づいた3次元モデリング方法800は、情報処理システム又はユーザ端末の少なくとも一つのプロセッサにより遂行できる。
【0085】
一実施例によれば、方法800は、プロセッサが特定空間上に位置した対象物体を互いに異なる方向で撮影した複数のイメージを受信することにより方法を開始することができる(S810)。例えば、プロセッサ(例えば、情報処理システムの少なくとも一つのプロセッサ)は、対象物体の周囲を回転しながら撮影した映像をユーザ端末から受信し、映像から複数のイメージを獲得できる。
【0086】
次に、プロセッサは、各イメージが撮影された位置及びポーズを推定できる(S820)。ここで、各イメージが撮影された位置及びポーズは、各イメージが撮影された時点におけるカメラの位置及び方向などを称することができる。位置及びポーズの推定には、イメージから位置及びポーズを推定するための多様な推定方法を使用できる。例えば、複数のイメージから特徴点を抽出し、これを用いて各イメージが撮影された位置及びポーズを推定する写真測量技術を使用できるが、これに限定されず、多様な位置及びポーズ推定方法を使用できる。
【0087】
その後、プロセッサは、複数のイメージ、各イメージが撮影された位置及びポーズに基づいて、ボリューム推論モデルを学習できる(S830)。一実施例によれば、ボリューム推論モデルは、特定空間上の位置情報及び視野方向(viewing direction)情報の入力により、色相値及びボリューム密度(volume density)値を出力するように学習されたモデルであり得る。また、一実施例において、ボリューム推論モデルは、複数のイメージに含まれたピクセル値と、ボリューム推論モデルにより推定された色相値及びボリューム密度値に基づいて算出される推定ピクセル値との間の差を最小化するように学習できる。
【0088】
次に、プロセッサは、ボリューム推論モデルを用いて対象物体に対する3次元モデルを生成できる(S840)。例えば、プロセッサは、ボリューム推論モデルを用いて対象物体の3次元デプスマップを生成し、生成された3次元デプスマップに基づいて対象物体の3次元メッシュ(mesh)を生成した後、3次元メッシュ上にテクスチャ情報を適用して対象物体に対する3次元モデルを生成できる。一実施例によれば、対象物体の3次元デプスマップは、ボリューム推論モデルにより推論された特定空間上の複数の地点におけるボリューム密度値に基づいて生成できる。また、一実施例によれば、テクスチャ情報は、ボリューム推論モデルにより推論された特定空間上の複数の地点及び複数の視野方向における色相値に基づいて決定できる。
【0089】
付加的又は代替的に、プロセッサは、カメラモデルを推定し、推定されたカメラモデルを用いて歪みのあるイメージを歪みのないイメージに変換した後、前述した過程を遂行できる。例えば、プロセッサは、複数のイメージに基づいてカメラモデルを推定し、推定されたカメラモデルを用いて複数のイメージを複数の歪みのないイメージに変換でき、変換された複数の歪みのないイメージを用いてボリューム推論モデルを学習できる。このとき、推定された各イメージが撮影された位置及びポーズは、カメラモデルを用いて変換されたり、歪みのないイメージを用いて各イメージが撮影された位置及びポーズを推定したりできる。次に、プロセッサは、歪みのないイメージに基づいて学習されたボリューム推論モデルを用いて対象物体の3次元デプスマップを生成し、カメラモデルを用いて3次元デプスマップを再度歪みのあるイメージに対する3次元デプスマップに変換できる。その後、変換された3次元デプスマップに基づいて対象物体の3次元メッシュを生成し、3次元メッシュ上にテクスチャ情報を適用して対象物体に対する3次元モデルを生成できる。
【0090】
前述した方法は、コンピュータで実行するために、コンピュータ読み取り可能な記録媒体に保存されたコンピュータプログラムとして提供され得る。媒体は、コンピュータで実行可能なプログラムを継続的に保存したり、実行又はダウンロードのために一時保存したりするものであり得る。また、媒体は、単一又は多数のハードウェアが結合された形態の多様な記録手段又は保存手段であり得るが、あるコンピュータシステムに直接接続される媒体に限定されず、ネットワーク上に分散して存在するものであり得る。媒体の例としては、ハードディスク、フロッピーディスク及び磁気テープのような磁気媒体、CD-ROMやDVDのような光記録媒体、フロプティカルディスク(floptical disk)のような磁気-光媒体(magneto-optical medium)、及び、ROM、RAM、フラッシュメモリなどを含み、プログラム命令語が保存されるように構成されたものが挙げられる。また、他の媒体の例としては、アプリケーションを流通するアプリストアやその他の多様なソフトウェアを供給乃至流通するサイト、サーバなどで管理する記録媒体乃至保存媒体も挙げられる。
【0091】
本開示の方法、動作又は技法は多様な手段により具現化できる。例えば、このような技法は、ハードウェア、ファームウェア、ソフトウェア、若しくはこれらの組合せで具現化できる。本願の開示により説明された多様な例示的な論理的ブロック、モジュール、回路及びアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、若しくは両方の組合せで具現化できることを、通常の技術者であれば理解できるはずである。ハードウェア及びソフトウェアのこのような相互の代替を明確に説明するために、多様な例示的な構成要素、ブロック、モジュール、回路及びステップが、それらの機能的観点から一般的に前述された。そのような機能が、ハードウェアとして具現化されるか、若しくは、ソフトウェアとして具現化されるかは、特定アプリケーション及び全体システムに付加される設計要求事項によって変化する。通常の技術者は、各々の特定アプリケーションのために多様な方式により説明された機能を具現化することもできるが、そのような具現化は本開示の範囲から逸脱するものと解釈してはならない。
【0092】
ハードウェアの具現化において、技法の遂行に利用されるプロセッシングユニットは、一つ以上のASIC、DSP、デジタル信号処理デバイス(digital signal processing devices DSPD)、プログラム可能な論理デバイス(programmable logic devices PLD)、フィールドプログラム可能なゲートアレイ(field programmable gate arrays FPGA)、プロセッサ、制御器、マイクロ制御器、マイクロプロセッサ、電子デバイス、本開示に説明された機能を遂行するように設計された他の電子ユニット、コンピュータ、若しくはこれらの組合せ内で具現化されることもできる。
【0093】
したがって、本開示により説明された多様な例示的な論理ブロック、モジュール及び回路は、汎用プロセッサ、DSP、ASIC、FPGAや他のプログラム可能な論理デバイス、離散ゲートやトランジスタロジック、離散ハードウェアコンポーネント、若しくは、本願に説明された機能を遂行するように設計されたもの等の任意の組合せで具現化又は遂行されることもできる。汎用プロセッサはマイクロプロセッサであり得るが、代替的に、プロセッサは、任意の従来のプロセッサ、制御器、マイクロ制御器、若しくは状態マシンであり得る。プロセッサは、また、コンピューティングデバイスの組合せ、例えば、DSPとマイクロプロセッサ、複数のマイクロプロセッサ、DSPコアと関連付けられる一つ以上のマイクロプロセッサ、若しくは任意の他の構成の組合せで具現化されることもできる
【0094】
ファームウェア及び/又はソフトウェアの具現化において、技法は、RAM(random access memory)、ROM(read-only memory)、NVRAM(non-volatile random access memory)、PROM(programmable read-only memory)、EPROM(erasable programmable read-only memory)、EEPROM(electrically erasable PROM)、フラッシュメモリ、CD(compact disc)、磁気又は光学データストレージデバイスなどのようなコンピュータ読み取り可能な媒体上に保存された命令として具現化できる。命令は、一つ以上のプロセッサによって実行可能であり得、プロセッサが本開示に説明された機能の特定様態を遂行するようにできる。
【0095】
ソフトウェアとして具現化される場合、前記技法は、一つ以上の命令又はコードとしてコンピュータ読み取り可能な媒体上に保存されたり、コンピュータ読み取り可能な媒体を介して転送されたりできる。コンピュータ読み取り可能な媒体は、ある場所から他の場所にコンピュータプログラムの転送を容易にする任意の媒体を含み、コンピュータ保存媒体及び通信媒体の両方を含む。保存媒体は、コンピュータによってアクセスできる任意の利用可能な媒体であり得る。非制限的な例として、このようなコンピュータ読み取り可能な媒体は、RAM、ROM、EEPROM、CD-ROMや他の光学ディスクストレージ、磁気ディスクストレージや他の磁気ストレージデバイス、若しくは、所望のプログラムコードを命令又はデータ構造の形態で移送又は保存するために使用されることができ、コンピュータによってアクセスできる任意の他の媒体を含むことができる。また、任意の接続がコンピュータ読み取り可能な媒体として適切に称することができる。
【0096】
例えば、ソフトウェアが同軸ケーブル、光ファイバーケーブル、鉛線、デジタル加入者回線(DSL)、又は、赤外線、無線及びマイクロ波のような無線技術を用いて、ウェブサイト、サーバ又は他の遠隔ソースから転送される場合、同軸ケーブル、光ファイバーケーブル、鉛線、デジタル加入者回線、又は、赤外線、無線及びマイクロ波などのような無線技術は、媒体の定義内に含まれる。本願で使用されたディスク(disk)及びディスク(disc)は、CD、レーザーディスク(登録商標)、光ディスク、DVD(digital versatile disc)、フロッピーディスク及びブルーレイディスクを含み、ここで、通常、ディスク(disk)は磁気的にデータを再生するのに対し、ディスク(disc)はレーザーを用いて光学的にデータを再生する。前記組合せ等も、コンピュータ読み取り可能な媒体等の範囲内に含まれなければならない。
【0097】
ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、移動式ディスク、CD-ROM、又は、公知された任意の異なる形態の保存媒体内に常駐することもできる。例示的な保存媒体は、プロセッサが保存媒体から情報を読み取る、或いは、保存媒体に情報を書き込むように、プロセッサに連結することができる。代替的に、保存媒体はプロセッサに統合されることもできる。プロセッサ及び保存媒体はASIC内に存在することもできる。ASICはユーザ端末内に存在することもできる。代替的に、プロセッサ及び保存媒体はユーザ端末で個別構成要素として存在することもできる。
【0098】
以上で説明された実施例が一つ以上の独立型コンピュータシステムで現在開示された主題の態様を活用するものとして記述しているが、本開示はこれに限定されず、ネットワークや分散コンピューティング環境のような任意のコンピューティング環境によって具現化できる。さらには、本開示における主題の様態は、複数のプロセッシングチップや装置で具現化することもでき、ストレージは、複数の装置に亘って同様に影響を受ける場合もある。このような装置は、PC、ネットワークサーバ及び携帯用装置を含むこともできる。
【0099】
本明細書では、本開示が一部の実施例によって説明されたが、本開示の発明が属する技術分野における通常の技術者が理解し得る本開示から逸脱しない範囲内で多様な変形や変更が可能である。また、そのような変形や変更は、本明細書に添付された特許請求の範囲内に属するものと理解されるべきである。
図1
図2
図3
図4
図5
図6
図7
図8
【国際調査報告】