3次元に関する用語集

目次

3次元モデリング・レンダリング

メッシュ(Mesh)

3次元オブジェクトの形状を頂点・辺・面で表現するデータ構造である。

ポリゴン(Polygon)

3次元モデルの表面を構成する多角形の面である。

ボクセル(Voxel)

3次元空間における最小単位の立方体要素であり,2次元のピクセルに相当する。

3次元ボリュームデータ(3D Volume Data)

3次元空間をボクセル(立方体要素)の格子で分割し,各ボクセルに値を持たせたデータである。

ブーリアン演算(Boolean Operation)

複数の立体に対して和・差・積の集合演算を行い,新たな形状を生成する手法である。

マテリアル(Material)

オブジェクト表面の色,質感,反射率などの外観属性の定義である。

テクスチャ(Texture)

オブジェクト表面に貼り付ける画像データであり,表面の模様や質感を表現する。

画像テクスチャ(Image Texture)

画像ファイルを用いてオブジェクト表面の外観を定義する手法である。

テクスチャ座標系(Texture Coordinate System)

テクスチャをオブジェクト表面に対応付けるための座標系である。

テクスチャ・ペインティング(Texture Painting)

3次元モデルの表面に直接描画を行う手法である。

スムースシェード(Smooth Shade)

面の法線を補間し,滑らかな陰影を表現するシェーディング手法である。

シェーダー(Shader)

レンダリング時の色・光・影などの計算処理を定義するプログラムである。

光源(Light Source)

3次元シーン内で光を発するオブジェクトである。

ライト(Light)

3次元シーン内の光源オブジェクトであり,シーンの照明を制御する。

カメラ(Camera)

3次元シーンの視点と投影を定義するオブジェクトである。

カメラビュー(Camera View)

3次元シーンにおけるカメラの視点からの表示である。

ワイヤフレーム表示(Wireframe Display)

オブジェクトの辺のみを線で描画する表示方式である。

フラット表示(Flat Display)

各面を単一の色で塗りつぶして描画する表示方式である。

スムージング表示(Smoothing Display)

面間の境界を滑らかに補間して描画する表示方式である。

PBR(Physically Based Rendering)

物理法則に基づいた光の反射・散乱を計算し,写実的な描画を実現するレンダリング手法である。

レンダリング(Rendering)

3次元シーンのデータから2次元画像を生成する処理である。

レンダラー(Renderer)

レンダリング処理を実行するソフトウェアである。

モデラー(Modeler)

3次元モデルの形状を作成・編集するソフトウェアである。

RIB ファイル(RenderMan Interface Bytestream)

RenderMan で使用されるシーン記述ファイル形式である。

3D Gaussian Splatting

3次元空間にガウス分布を配置し,複数視点の画像から3次元シーンを再構成・描画する手法である。

地形生成(Terrain Generation)

アルゴリズムやデータに基づいて3次元の地形モデルを自動生成する技術である。

Utah teapot

Utah teapot は、1975 年に University of Utah の Martin Newell により制作された3次元データである。

Utah teapot のデータは、commons.wikimedia.org の次のページからダウンロードすることができる。

https://commons.wikimedia.org/wiki/File:Utah_teapot_(solid).stl

アニメーション・シミュレーション

キーフレームアニメーション(Keyframe Animation)

時間軸上の主要なフレームにおけるオブジェクトの状態を指定し,中間フレームを補間して動きを生成する手法である。

ボーン(Bone)

キャラクタの骨格を構成する個々の骨要素である。

アーマチャ(Armature)

複数のボーンで構成される骨格構造全体である。

ボーンアニメーション(Bone Animation)

骨格構造(ボーン)を用いてキャラクタの動きを制御するアニメーション手法である。

逆運動学(Inverse Kinematics)

末端の位置から関節の角度を逆算してポーズを決定する手法である。

人体アニメーション(Human Body Animation)

人体モデルに骨格構造を設定し,動きを付与するアニメーション手法である。

パーティクルシステム(Particle System)

多数の粒子の生成・移動・消滅を管理し,視覚効果を実現する仕組みである。

パーティクルアニメーション(Particle Animation)

多数の小さな粒子を用いて炎・煙・水などの視覚効果を表現する手法である。

液体アニメーション(Fluid Animation)

液体の流動挙動を物理計算で再現するアニメーション手法である。

クロス・シミュレーション(Cloth Simulation)

布の変形・揺れなどの挙動を物理計算で再現する手法である。

剛体シミュレーション(Rigid Body Simulation)

変形しない物体の落下・衝突などの物理挙動を計算で再現する手法である。

物理シミュレーション(Physics Simulation)

重力・衝突・摩擦・反発などの物理現象を計算によって再現する技術である。

衝突検出(Collision Detection)

オブジェクト同士の接触や重なりを判定する処理である。

バウンディング形状(Bounding Shape)

衝突検出の高速化のためにオブジェクトを囲む簡易的な形状(球,箱など)である。

3次元データ形式・データ処理

Wavefront OBJ 形式

3次元モデルの頂点・面などの形状データを記述するテキストベースのファイル形式である。

Wavefront Material 形式(MTL)

Wavefront OBJ に対応するマテリアル定義ファイル形式である。

STL 形式

三角形ポリゴンの集合で3次元形状を表現するファイル形式であり,3Dプリンティングで広く使用される。

FBX 形式

3次元モデル・アニメーション・マテリアルなどを格納する汎用的なファイル形式である。

BVH 形式

モーションキャプチャデータを記録するファイル形式であり,骨格階層と動きデータを含む。

CityGML

CityGML は、3次元の都市、3次元の景観を扱う機能を持つデータフォーマットである。 次のようなモジュールがある。

Appearance、Bridge、Building、CityFurniture、LandUse、Relief、Transportation、Tunnel、Vegetation、 WaterBody、TexturedSurface


12-019_OGC_City_Geography_Markup_Language_CityGML_Encoding_Standard.pdf のページ 34 から転載

CityGML の公式情報は、Open Geospatial Consortium のページで公開されている。

Open Geospatial Consortium の CityGML ページ: https://www.ogc.org/standards/citygml

CityGML の仕様書も、このページで公開されている。

CityGML のビューワには FZKViewer がある。 Windows での FZKViewer のインストールは 別ページ »で説明

関連項目】 FZKViewer

3次元点群データ (3-D point cloud data)

3次元点群データ (3-D point cloud data) を扱うには、MeshLab や CloudCompare が便利である。

PointCloudLibrary の3次元点群データ

https://github.com/PointCloudLibrary/data では、 3次元点群データ (3-D point cloud data) が公開されている(オープンデータである)。

Windows では、次のような手順でダウンロードできる。

  1. Git のインストール: 別項目で説明している。

    Git の公式ページ: https://git-scm.com/

  2. ダウンロード
    mkdir /p c:\data
    cd c:\data
    mkdir PointCloudLibrary
    cd PointCloudLibrary
    git clone --recursive https://github.com/PointCloudLibrary/data
    echo git clone --recursive https://github.com/PointCloudLibrary/data > download.txt
    

Ubuntu では、次のようなコマンドでダウンロードできる。

cd /usr/local
sudo mkdir PointCloudLibrary
cd PointCloudLibrary
sudo git clone --recursive https://github.com/PointCloudLibrary/data
echo "git clone --recursive https://github.com/PointCloudLibrary/data" > download.sh

3次元点群データ (3-D point cloud data) を扱うには、MeshLab や CloudCompare が便利である。

ボクセル化 (voxelize)

ボクセル化は、3次元データをボクセル形式に変換することである。

ボクセル化のソフトウェアとしては、binvox、cuda_voxelizer がある。

binvox の URL: https://www.patrickmin.com/binvox/

binvox の文献: Fakir S. Nooruddin and Greg Turk, Simplification and Repair of Polygonal Models Using Volumetric Techniques, IEEE Transactions on Visualization and Computer Graphics, vol. 9, no. 3, pp. 191-205, 2003.

cuda_voxelizer の GitHub のページ: https://github.com/Forceflow/cuda_voxelizer

.binvox 形式ファイルのボクセルデータを、STL 形式のデータに変換するソフトウェアとしては、 binvox2mesh が知られる。

binvox2mesh の GitLab のページ: https://gitlab.com/mandries/binvox2mesh

メッシュ簡略化 (Mesh Simplification)

メッシュ簡略化は、メッシュの頂点数とポリゴン数の削減を行う。

MeshLab を用いて、次の手順で、 メッシュ簡略化を行うことができる。

  1. MeshLab を使用する。
  2. MeshLab で 「File」、「Import Mesh...」と操作し、ファイルを選ぶ。
  3. 「Filters」、「Remeshing, Simplification and Reconstruction」、「Simplification: Quadric Edge Collapse Decimation (with texture)」と操作する。
  4. 設定し「Apply」をクリックする。

関連項目MeshLabメッシュ平滑化 (Mesh Smoothing)

メッシュ平滑化 (Mesh Smoothing)

メッシュ平滑化は、メッシュをなめらかにする。

MeshLab を用いて、次の手順で、 メッシュ平滑化を行うことができる。

  1. MeshLab を使用する。
  2. MeshLab で 「File」、「Import Mesh...」と操作し、ファイルを選ぶ。
  3. 「Filters」、「Smoothing, Fairing and Deformation」、「Laplacian Smooth」と操作する。
  4. 設定し「Apply」をクリックする。

関連項目MeshLabメッシュ簡略化 (Mesh Simplification)

インポート/エクスポート(Import/Export)

異なるソフトウェア間で3次元データを読み込み・書き出しする処理である。

アドオン(Add-on)

ソフトウェアの機能を拡張するための追加プログラムである。

3次元再構成・コンピュータビジョン

コンピュータビジョンのタスク

コンピュータビジョンのタスクは種々あるが、次のようなものをあげることができる。

フォトグラメトリ

フォトグラメトリ (Photogrammetry) は写真測量のことである。

関連項目Meshroom3次元再構成 (3D reconstruction)3DF Zephyr Free

Structure from Motion (SfM)

SfM (Structure from Motion) は、オブジェクト(動かないもの)を、 周囲の複数の視点から撮影した多数の画像に対して次の処理を行う。

その結果、各画像の撮影位置と方向が推定されるとともに、オブジェクトの3次元点群が構成される。

SfM (Structure from Motion) の機能を持ったソフトウェアとしては、 MeshroomOpenMVG などがある。

Ubuntu での OpenMVG のインストールは 別ページ »で説明

関連項目3次元再構成 (3D reconstruction)MeshroomMulti View StereoOpenMVGOpenMVS

Multi View Stereo (MVS)

Multi View Stereo は、オブジェクトの特徴点である低密度の3次元点群と、オブジェクトを周囲から撮影した多数の画像から、高密度の3次元点群を生成する手法である。 色付き3次元点群を生成する場合もある。「Dense Reconstruction」ともいう。

MeshroomOpenMVS などのソフトウェアがある。 Ubuntu での OpenMVS のインストールは 別ページ »で説明

関連項目3次元再構成 (3D reconstruction)MeshroomOpenMVSStructure from Motion

3次元再構成 (3D reconstruction)

3次元再構成 (3D reconstruction) の機能をもつソフトウェアとしては、 COLMAPMeshroom がある。

関連項目COLMAPMeshroomMulti View StereoOpenMVGOpenMVSStructure from Motion

3次元姿勢推定 (3D pose estimation)

画像から、物体検出を行うとともに、その3次元の向きの推定も行う。

関連項目Objectron

3次元の顔の再構成 (3D face reconstruction)

3次元の顔の再構成 (3D face reconstruction) は、 顔の写った画像から、元の顔の3次元の形状を構成することである。

3次元の顔の再構成には、次の2つの種類がある。

  1. 3次元の変形可能な顔のモデル (3D Morphable Model) について、そのパラメータを、画像を使って推定すること。 FaceRig などが有名である。
  2. dense vertices regression: dense は「密な」、vertices は「頂点」、regression は「回帰」を意味する。画像から、顔の3次元データであるポリゴンメッシュを推定する。

関連項目3DDFA_V2顔に関する処理

顔に関する処理

顔に関する処理には、次のようなものがある。

顔ランドマークの3次元化

ディープラーニングを用いて 顔ランドマーク (facial landmark) を3次元化する学習済みモデルは、次のページで公開されている。

https://www.adrianbulat.com/face-alignment

関連項目】 顔ランドマーク (facial landmark)

3DDFA_V2

3DDFA_V2 は、 3次元の顔の再構成 (3D face reconstruction) のうち dense vertices regression を行う一手法である。論文は 2020年に発表された。

文献

Jianzhu Guo, Xiangyu Zhu, Yang Yang, Fan Yang, Zhen Lei, Stan Z. Li, Towards Fast, Accurate and Stable 3D Dense Face Alignment, ECCV 2020.

https://arxiv.org/pdf/2009.09960v2.pdf

関連する外部ページ

Google Colaboratory での 3DDFA_V2 のオンライン実行

次のページでは、Google Colaboratory で実行できるプログラムコード、プログラム利用ガイド、プログラムコードの説明などを示している。

URL: https://www.kkaneko.jp/ai/intro/3ddfav2.html

【概要】本記事では、3DDFA_V2 フレームワークを用いた3次元顔モデル生成プログラムについて解説する。単一の顔画像から3次元形状を復元し、OBJ/PLY形式で出力する技術を Google Colab 環境で提供する。

Colab のページ(ソースコードと説明): https://colab.research.google.com/drive/1fNfAdCRxnxxcxj9mH7lFVsP-uz4DAWoV?usp=sharing

関連項目3次元の顔の再構成顔に関する処理

PARE

PARE は、3次元人体姿勢推定(3D human pose estimation)の技術である。 オクルージョンの問題を解決するために、 Part Attention REgressor (PARE) が提案されている。 multi person tracker を用いて実装されており、画像の中に複数の人物がいても動作するようになっている。

PARE のデモプログラムの実行結果を次に示す。

この実行結果を得るためのもととなる動画: kaneko_sample_video.mp4

実行結果の動画: kaneko_sample_video__result.mp4

関連項目3次元姿勢推定 (3D pose estimation)、 3D human pose estimation、 YOLOv3、 multi person tracker

Google Colaboratory での PARE のインストールと事前学習済みモデルのダウンロードとデモの実行

次のコマンドやプログラムは Google Colaboratory で動く(コードセルを作り、実行する)。

  1. Google Colaboratory で、ランタイムのタイプを GPU に設定する。
  2. 次を実行する。
    !rm -rf PARE
    !git clone https://github.com/mkocabas/PARE.git
    %cd PARE
    !apt -y install libturbojpeg
    !pip3 uninstall -y torchtext panel datascience
    !pip3 install -U -r requirements.txt
    !source scripts/prepare_data.sh
    !python3 scripts/demo.py --vid_file data/sample_video.mp4 --output_folder logs/demo
    
  3. 下図のように、/content/logs/demo/sample_video_ の下に結果ができる。
Ubuntu での PARE のインストールとデモの実行

前準備:Python のインストール: 別ページで説明している

  1. Ubuntu でインストールを行うには、次のコマンドを実行する。
    # パッケージリストの情報を更新
    sudo apt update
    sudo apt -y install git
    
    cd /usr/local
    sudo rm -rf PARE
    sudo git clone https://github.com/mkocabas/PARE.git
    sudo chown -R $USER PARE
    
    # システム Python の環境とは別の Python の仮想環境(システム Python を使用)を作成
    sudo apt -y update
    sudo apt -y install python3-venv
    python3 -m venv ~/a
    source ~/a/bin/activate
    
    cd /usr/local/PARE
    sudo apt -y install libturbojpeg
    sed -i 's/opencv-python==4.1.1.26/opencv-python/g' requirements.txt
    pip install -U -r requirements.txt
    pip install -U numba
    
  2. 事前学習済みモデルのダウンロード
    source scripts/prepare_data.sh
    
  3. デモの実行
    python scripts/demo.py --vid_file data/sample_video.mp4 --output_folder logs/demo
    
  4. 下のように、logs/demo/sample_video_ の下に結果ができる。

    出来た動画を表示すると、次のように表示される。

Objectron

Objectron は、3次元姿勢推定 (3D pose estimation) の機能を持つ。 Objectron は、次の公式ページで、プログラムとデータセットが配布されている。

https://github.com/google-research-datasets/Objectron

次は、Objectron の動作画面である。

Objectron は、Google Colaboratory で動かすことができる。 Google Colaboratory で動かすときは、コードセルに、次の3行を貼り付けて実行する。 あとは、公式ページのプログラムのコピー&ペーストで動く。

!pip3 install frozendict
!git clone --recursive https://github.com/google-research-datasets/Objectron
%cd Objectron

関連項目Objectron データセット3次元姿勢推定 (3D pose estimation)

DreamGaussian

DreamGaussian は、3Dコンテンツ生成のフレームワークであり、画像から3Dモデルを生成する(Image-to-3D)タスクとテキストから3Dモデルを生成する(Text-to-3D)タスクの2つに対応している。既存の手法である Neural Radiance Fields(NeRF)は高品質な結果を出すものの、計算時間が長いという課題があった。DreamGaussian の特長は、3Dガウシアンスプラッティングモデルを用いることで、メッシュの抽出とUV空間でのテクスチャの精緻化を効率的に行える点である。このアプローチにより、DreamGaussian は既存の NeRF ベースの手法よりも高速な3Dコンテンツ生成を実現している。実験結果では、DreamGaussian が Image-to-3D と Text-to-3D の両方のタスクにおいて既存の方法よりも高速であることが確認されている。

文献

Jiaxiang Tang, Jiawei Ren, Hang Zhou, Ziwei Liu, Gang Zeng, DreamGaussian: Generative Gaussian Splatting for Efficient 3D Content Creation, arXiv:2309.16653v1, 2023.

https://arxiv.org/pdf/2309.16653v1.pdf

関連する外部ページ

Shap-E

Shap-E は、テクスチャ付きメッシュ (textured mesh) や Neural Radiance Fields としてレンダリングできる出力を生成する能力を特徴とする。 Point-E との比較では、高速かつ高品質の生成が可能であるとされている。

文献

Heewoo Jun, Alex Nichol, Shap-E: Generating Conditional 3D Implicit Functions, arXiv:2305.02463, 2023.

https://arxiv.org/pdf/2305.02463v1.pdf

サイト内の関連ページ

Shap-E のインストールと動作確認(テキストや画像からの立体生成)(Python、PyTorch を使用)(Windows 上)

関連する外部ページ

OpenCV

OpenCV は、実時間コンピュータビジョン (real time computer vision) のアルゴリズムと文書とサンプルコードの集まりである。

【関連する外部ページ】

【サイト内の関連ページ】

関連項目】 OpenCV Python、 OpenCV のサンプルデータ、 OpenCV のインストールと、C++ プログラムの実行

OpenGV

OpenGV は、 Absolute camera pose computation、 Relative camera-pose computation、 Two methods for point-triangulation、 Arun's method for aligning point clouds の機能を持つ。 Matlab、Python のインタフェースを持つ。

URL: https://laurentkneip.github.io/opengv/

論文: L. Kneip, P. Furgale, "OpenGV: A unified and generalized approach to real-time calibrated geometric vision", Proc. of The IEEE International Conference on Robotics and Automation (ICRA), Hong Kong, China, May 2014.

Ubuntu での OpenGV のインストール

Ubuntu でインストールを行うには、次のコマンドを実行する。

# パッケージリストの情報を更新
sudo apt update
sudo apt -y install git cmake cmake-curses-gui cmake-gui libeigen3-dev

cd /usr/local
sudo rm -rf opengv
sudo git clone --recursive https://github.com/laurentkneip/opengv
sudo chown -R $USER opengv
cd opengv
sudo rm -rf build
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX="/usr/local/opengv" \
    -DBUILD_PYTHON=ON \
    -DBUILD_TESTS=OFF ..
cmake --build . --config Release --target INSTALL -- /m:4

libpointmatcher

Iterative Closest Point (ICP) の機能を持ち、 点群 (point cloud) のアラインメントを行うことができる。 point-to-point の ICP と、point-to-plane の ICP の機能を持つ。 point-to-point の ICP では、剛体変換だけでなく、スケールの変更にも対応している。

関連項目】 K 近傍探索 (K nearest neighbour)、 ICP

Windows での libpointmatcher のインストール

ソースコードからビルドする。

https://github.com/CAOR-MINES-ParisTech/libpointmatcher/blob/master/doc/CompilationWindows.md の手順に従う。

  1. Windows では、前準備として次を行う。
    • Build Tools for Visual Studio 2022 のインストール: 別項目で説明している。
    • Git のインストール: 別項目で説明している。

      Git の公式ページ: https://git-scm.com/

    • cmake のインストール: 別項目で説明している。

      CMake の公式ダウンロードページ: https://cmake.org/download/

    • Boost のインストール
    • Boost のバージョンとインクルードディレクトリの確認

      次のコマンドで確認する。ここで確認したことは、のちほど使用する。

      dir "c:\boost\build\include"
      
    • Eigen 3 のインストール
    • libnabo のインストール
  2. インストール

    以下のコマンドを管理者権限x64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt)で実行する   (手順:スタートメニュー →Visual Studio 20xx」の下の「x64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt)」 → 「管理者として実行」)。

    エラーを回避するために「/bigobj」を設定する。

    c:\libpointmatcher にインストールされる。

    boost-1_86」のところは、先ほど確認したインクルードディレクトリに一致させること。

    cd /d c:%HOMEPATH%
    rmdir /s /q libpointmatcher
    git clone --recursive https://github.com/ethz-asl/libpointmatcher
    cd libpointmatcher
    rmdir /s /q build
    mkdir build
    cd build
    del CMakeCache.txt
    rmdir /s /q CMakeFiles
    cmake -A x64 -T host=x64 ^
        -DCMAKE_BUILD_TYPE=Release ^
        -DCMAKE_INSTALL_PREFIX="c:/libpointmatcher" ^
        -DEIGEN_INCLUDE_DIR="c:/eigen/include/eigen3" ^
        -DBoost_USE_STATIC_LIBS=ON ^
        -DBOOST_ROOT="c:/boost/build" ^
        -DBoost_INCLUDE_DIR="c:/boost/build/include/boost-1_86" ^
        -DBoost_DIR="c:/boost/build" ^
        -Dlibnabo_DIR="%LOCALAPPDATA%/libnabo/build" ^
        -DCMAKE_BUILD_TYPE=RelWithDebInfo ^
        -DCMAKE_C_FLAGS="/DWIN32 /D_WINDOWS /W0 /utf-8 /bigobj" ^
        -DCMAKE_CXX_FLAGS="/DWIN32 /D_WINDOWS /GR /EHsc /W0 /utf-8 /bigobj" ^
    ..
    msbuild /m:2 libpointmatcher.sln -p:Configuration=Release
    
Ubuntu での libpointmatcher のインストール

ソースコードからビルドする。

公式ページの https://github.com/CAOR-MINES-ParisTech/libpointmatcher/blob/master/doc/CompilationWindows.md の手順に従う。

  1. 前準備

    libnabo のインストールが必要である。

  2. インストール

    Ubuntu でインストールを行うには、次のコマンドを実行する。

    /usr/local/libpointmatcher にインストールされる。

    # パッケージリストの情報を更新
    sudo apt update
    sudo apt -y install libboost-all-dev libeigen3-dev git cmake cmake-curses-gui cmake-gui
    
    cd /tmp
    sudo rm -rf libpointmatcher
    git clone --recursive https://github.com/ethz-asl/libpointmatcher
    sudo chown -R $USER libpointmatcher
    
    cd /tmp/libpointmatcher
    mkdir build
    cd build
    cmake \
        -DCMAKE_BUILD_TYPE=Release \
        -DCMAKE_INSTALL_PREFIX="/usr/local" \
        -DCMAKE_BUILD_TYPE=RelWithDebInfo \
    ..
    make
    sudo make install
    

3次元スキャン(3D Scanning)

実物体の形状を計測し,3次元デジタルデータとして取得する技術である。

立体視(Stereoscopy)

視差のある2枚以上の画像を用いて奥行きを知覚させる技術である。

視差画像(Parallax Image)

異なる視点から撮影・レンダリングされた複数の画像であり,立体視に使用する。

3次元ソフトウェア・ツール

Blender

Blender は、3次元コンピュータグラフィックス・アニメーションソフトウェアである。 3次元モデルの編集、レンダリング、光源やカメラなどを設定しての3次元コンピュータグラフィックス・アニメーション作成機能がある。

関連項目bpy (blenderpy)yuki-koyama の blender-cli-rendering

Windows での Blender のインストール

Windows での Blender のインストールは、複数の方法がある。

Ubuntu での Blender のインストール

Ubuntu での Blender のインストールは、別ページ »で説明

Blender のモーショントラッキング機能

次の動画は、Blender のモーショントラッキング機能を用いた映像作成について説明している。

https://www.youtube.com/watch?v=lY8Ol2n4o4A

次の動画は、作成された映像、グリーンバックの映像である。

https://www.youtube.com/watch?v=FFJ_THGj72U

bpy (blenderpy)

bpy (blenderpy) では、Blender が Python モジュールになっている。

関連項目Blenderyuki-koyama の blender-cli-rendering

Windows での bpy (blenderpy) のインストール(PyPI を使用)
PyPI を用いてのインストールでは、本情報作成時点(2021年12月)では、使用する Python はバージョン 3.7、Blender は 2.8 であった。最新のバージョン情報については、PyPI の公式ページで確認すること。新しい Blender の Python モジュールを必要とする場合には、下の項目を参照すること。

https://pypi.org/project/bpy/ の記載により、PyPI の bpy (blenderpy) のインストールを行う。

  1. 次のページで、必要な Python のバージョンを確認する。

    https://pypi.org/project/bpy/

  2. いま確認したバージョンの Python がインストールされていないときは、 Python のインストールを行う。Python のインストールは別ページで説明している
  3. コマンドプロンプトを管理者として開き、次のコマンドを実行する。

    -3.7」のところには、 いま確認した Python のバージョンを指定する。

    py -3.7 -m pip install numpy
    py -3.7 -m pip install bpy
    bpy_post_install
    
  4. インストールできたことの確認

    -3.7」のところには、 いま確認した Python のバージョンを指定する。

    エラーメッセージが出ていなければ OK。

    py -3.7 -c "import bpy"
    
Windows での bpy (blenderpy) のインストール(ソースコードを使用)
詳しくは、別ページ »で説明

ソースコードからビルドする。

  1. Windows では、前準備として次を行う。
    • Build Tools for Visual Studio 2022 のインストール: 別項目で説明している。
    • Git のインストール: 別項目で説明している。

      Git の公式ページ: https://git-scm.com/

    • cmake のインストール: 別項目で説明している。

      CMake の公式ダウンロードページ: https://cmake.org/download/

    • svn のインストール: 別項目で説明している。

      SlikSVN のページ: https://sliksvn.com/

    • NVIDIA CUDA ツールキット 12.6 のインストール(Windows 上)
  2. タグの確認

    インストールしたい Blender のバージョンに合うタグを、次のページで探す。

    https://github.com/blender/blender/tags

  3. 以下の操作をx64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt)で実行する   (手順:スタートメニュー →」の下の「x64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt)」を選ぶ)。
  4. Blender のソースコードをダウンロード

    v3.0.1」のところには、使用したいバージョンのタグを指定すること。

    cd /d c:%HOMEPATH%
    rmdir /s /q blender
    git clone -b v3.0.1 https://github.com/blender/blender
    
  5. Blender のコンパイル済みのライブラリのダウンロード、Blender のビルド

    Visual Studio Community 2022 を使うときは「make update 2022」、「make release 2022」を実行する。

    終了まで時間がかかるので、しばらく待つ。

    cd /d c:%HOMEPATH%
    cd blender
    make update 2022b
    make release 2022b
    
  6. Blender の Python モジュールのビルド
    cd /d c:%HOMEPATH%
    cd blender
    rmdir /s /q build
    mkdir build
    cd build
    del CMakeCache.txt
    rmdir /s /q CMakeFiles
    cmake -A x64 -T host=x64 -DWITH_PYTHON_INSTALL=OFF -DWITH_PYTHON_MODULE=ON ..
    cmake --build . --config Release --target INSTALL -- /m:4
    
  7. Python のバージョン、Python のインストールディレクトリを確認する。
  8. インストール

    c:\Program Files\Python39」のところは、 Python のインストールディレクトリを指定すること。

    python -m pip install numpy
    cd /d c:%HOMEPATH%\blender\build\release
    copy bin\bpy.pyd c:\Program Files\Python39\Lib\site-packages\
    copy bin\*.dll c:\Program Files\Python39\Lib\site-packages\
    del c:\Program Files\Python39\Lib\site-packages\python36.dll
    xcopy /E bin\3.0 c:\Program Files\Python39\
    
  9. インストールできたかの確認

    コマンドプロンプトで次のコマンドを実行する。

    エラーメッセージが出なければ OK。

    python -c "import bpy; scene = bpy.data.scenes['Scene']; print(scene)"
    

yuki-koyama の blender-cli-rendering

bpy (blenderpy) を使うときに便利なソフトウェアのライブラリと、そのサンプルプログラムと、各種のアセット。

  1. 前準備

    Git のインストール: 別項目で説明している。

    Git の公式ページ: https://git-scm.com/

  2. yuki-koyama の blender-cli-rendering のダウンロード
    mkdir c:\pytools
    cd c:\pytools
    rmdir /s /q blender-cli-rendering
    git clone https://github.com/yuki-koyama/blender-cli-rendering
    
  3. 確認のため Blender の Cycles レンダラーを用いてレンダリングを行う。

    Windows のコマンドプロンプトで、 次を実行する。

    Windows で Python のバージョンを指定したいときは、 「python」でなく「py -3.7」のように実行すること。 「-3.7」のところには、使用する Python のバージョンを指定する(バージョンが分からないときは「py -0」で調べる)。

    cd c:\pytools
    cd blender-cli-rendering
    python
    
  4. その後、次の Python プログラムを実行する。
    import bpy
    import utils
    
    # scene
    utils.clean_objects()
    scene = bpy.data.scenes["Scene"]
    monkey = utils.create_smooth_monkey(location=(0, 0, 1))
    plane = utils.create_plane(size=20.0)
    camera = utils.create_camera(location=(5, -3, 3))
    utils.add_track_to_constraint(camera, monkey)
    
    # light
    light = utils.create_sun_light(rotation=(0.3, -1.5, 1.2))
    
    # rendering
    utils.set_output_properties(scene, 20, 'c:/pytools/02')
    utils.set_cycles_renderer(scene, camera, 16)
    bpy.ops.render.render(write_still=True)
    

    次の画像ができる。

  5. その後、次の Python プログラムを実行する。
    import os
    import bpy
    import utils
    
    # scene
    utils.clean_objects()
    scene = bpy.data.scenes["Scene"]
    monkey = utils.create_smooth_monkey(location=(0, 0, 1))
    plane = utils.create_plane(size=20.0)
    camera = utils.create_camera(location=(5, -3, 3))
    utils.add_track_to_constraint(camera, monkey)
    
    # light
    working_dir_path = os.path.abspath('.')
    hdri_path = os.path.join(working_dir_path, "assets\HDRIs\green_point_park_2k.hdr")
    utils.build_environment_texture_background(scene.world, hdri_path)
    
    # rendering
    utils.set_output_properties(scene, 20, 'c:/pytools/03')
    utils.set_cycles_renderer(scene, camera, 16)
    bpy.ops.render.render(write_still=True)
    

謝辞:この項目に記載のソースコードは、 https://github.com/yuki-koyama/blender-cli-rendering/ で公開されているものを改変して使用している。

関連項目bpy (blenderpy)Blender

MeshLab

MeshLab は、3次元データ(3次元点群データや、メッシュデータ)について表示、簡易編集、データの間引き、形式変換、張り合わせ、分割、解析などが行えるソフトウェアである。

URL: https://www.meshlab.net/

関連項目メッシュ簡略化 (Mesh Simplification)メッシュ平滑化 (Mesh Smoothing)

Windows での MeshLab のインストール

Windows での MeshLab のインストールには、複数の方法がある。次のいずれかによりインストールできる。

Ubuntu での MeshLab のインストール

Ubuntu での MeshLab のインストール: 別ページ »で説明

3DF Zephyr Free

3DF Zephyr Free は、フォトグラメトリのソフトウェア 3DF Zephyr の無料版である。

関連項目フォトグラメトリMeshroom

Meshroom

Meshroomフォトグラメトリのソフトウェアである。 Structure from Motion を、GUI を用いて簡単に行うことができる。 動作画面の一部は次のとおりである。 カメラの撮影位置と、オブジェクトの3次元形状が表示されている。

Meshroom の URL(ここから Meshroom をダウンロード可能): https://alicevision.org/

関連項目3次元再構成 (3D reconstruction)OpenMVG、 OpenMMLab、 Structure from Motion (SfM)

COLMAP

COLMAP は、3次元再構成の機能を持ったソフトウェアである。

文献

Johannes L. Schönberger, Jan-Michael Frahm, Structure-From-Motion Revisited, CVPR 2016, 2016.

https://openaccess.thecvf.com/content_cvpr_2016/papers/Schonberger_Structure-From-Motion_Revisited_CVPR_2016_paper.pdf

サイト内の関連ページ

関連する外部ページ

OpenMVG

OpenMVGStructure from Motion の機能を持つソフトウェアである。

OpenMVG が持っている Structure from Motion (SfM) の機能に、 Global Structure from Motion がある。 Global Structure from Motion は、 多数の視点からの画像を使う SfM において、視点の位置と向きを(当時の手法よりも)より頑健かつ正確に推定できるとされている。 (その論文: P. Moulon, P. Monasse and R. Marlet, "Global Fusion of Relative Motions for Robust, Accurate and Scalable Structure from Motion," 2013 IEEE International Conference on Computer Vision, 2013, pp. 3248-3255, doi: 10.1109/ICCV.2013.403. https://www.researchgate.net/publication/261622957_Global_Fusion_of_Relative_Motions_for_Robust_Accurate_and_Scalable_Structure_from_Motion

Windows での OpenMVG のインストール

Windows での OpenMVG のインストールは、複数の方法がある。

ここでは、 vcpkg を使う方法と、 ソースコードからビルドする方法を説明する。

OpenMVG (2021/08/21 時点) Windows 10 64 ビット版の非公式ビルド: openMVG.zip

私がビルドしたもの、非公式、無保証、ソースコードを改変せずにビルドした。OpenMVG の MPL2 ライセンスによる。

Ubuntu での OpenMVG のインストール

Ubuntu でインストールを行うには、次のコマンドを実行する。

# パッケージリストの情報を更新
sudo apt update
sudo apt -y install git cmake cmake-curses-gui cmake-gui libeigen3-dev

cd /usr/local
sudo rm -rf openmvg
sudo git clone --recursive https://github.com/openMVG/openMVG.git
sudo chown -R $USER openMVG
cd openMVG
cd src
sudo rm -rf build
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX="/usr/local/openmvg" ..
cmake --build . --config Release --target INSTALL -- /m:4
デモプログラム

デモプログラムとして、 所定の画像データセットをダウンロードし、SfM を実行する Python プログラムが付属している。

Windows では次の手順で行う。

cd c:\openMVG\src
python build\software\SfM\tutorial_demo.py

デモプログラムの実行でできるファイルのうち、ply 形式ファイルの1つを MeshLab を用いて表示すると次のようになる。色付きの3次元点群である。

Global Structure from Motion を行う

いくつかのコマンドを順に実行する。 Windows では次のような手順で行う。

# 画像の準備、ImageDataset_SceauxCastle\images に画像を置くためのプログラム
cd c:\openMVG\src
mkdir ImageDataset_SceauxCastle
mkdir ImageDataset_SceauxCastle\images
copy .\build\software\SfM\ImageDataset_SceauxCastle\images\*.JPG ImageDataset_SceauxCastle\images

echo 1. Intrinsics analysis
.\build\Windows-AMD64-Release\Release\openMVG_main_SfMInit_ImageListing -i ImageDataset_SceauxCastle/images/ -d openMVG/exif/sensor_width_database/sensor_width_camera_database.txt -o ImageDataset_SceauxCastle/matches/

echo 2. Compute features
.\build\Windows-AMD64-Release\Release\openMVG_main_ComputeFeatures -i ImageDataset_SceauxCastle/matches/sfm_data.json -o ImageDataset_SceauxCastle/matches/

echo 3. Compute matches
.\build\Windows-AMD64-Release\Release\openMVG_main_ComputeMatches -i ImageDataset_SceauxCastle/matches/sfm_data.json -o ImageDataset_SceauxCastle/matches/ -g e

echo 4. Do Global reconstruction
.\build\Windows-AMD64-Release\Release\openMVG_main_GlobalSfM -i ImageDataset_SceauxCastle/matches/sfm_data.json  -m ImageDataset_SceauxCastle/matches/ -o ImageDataset_SceauxCastle/outReconstruction/

echo 5. Colorize Structure
.\build\Windows-AMD64-Release\Release\openMVG_main_ComputeSfM_DataColor -i ImageDataset_SceauxCastle/outReconstruction/sfm_data.bin -o ImageDataset_SceauxCastle/outReconstruction/colorized.ply

echo 6. compute final valid structure from the known camera poses, Structure from Known Poses (robust triangulation)
.\build\Windows-AMD64-Release\Release\openMVG_main_ComputeStructureFromKnownPoses -i ImageDataset_SceauxCastle/outReconstruction/sfm_data.bin -m ImageDataset_SceauxCastle/matches/ -f ImageDataset_SceauxCastle/matches/matches.e.bin -o ImageDataset_SceauxCastle/outReconstruction/robust.bin
.\build\Windows-AMD64-Release\Release\openMVG_main_ComputeSfM_DataColor -i ImageDataset_SceauxCastle/outReconstruction/robust.bin -o ImageDataset_SceauxCastle/outReconstruction/robust_colorized.ply

最後の処理でできた、色付きの3次元点群のファイル(ply 形式ファイル)を MeshLab を用いて表示すると次のようになる。

続けて、次を実行する。上の結果を、OpenMVS を用いて処理している。実行には OpenMVS のインストールが必要である。

参考ページ: https://openmvg.readthedocs.io/en/latest/software/MVS/OpenMVS/ (公式の資料)

.\build\Windows-AMD64-Release\Release\openMVG_main_openMVG2openMVS -i ImageDataset_SceauxCastle/outReconstruction/sfm_data.bin -d ImageDataset_SceauxCastle/outReconstruction/ -o ImageDataset_SceauxCastle/outReconstruction/scene.mvs
DensifyPointCloud ImageDataset_SceauxCastle/outReconstruction/scene.mvs
ReconstructMesh scene_dense.mvs
TextureMesh scene_dense_mesh.mvs

デモプログラムの実行でできるファイルのうち、ply 形式ファイルの1つを MeshLab を用いて表示すると次のようになる。色付きの3次元点群である。

OpenMVS

OpenMVS は、Multi View Stereo の機能を持ったソフトウェアである。

関連項目MeshroomMulti View StereoOpenMVG

Windows での OpenMVS のインストール

Windows での OpenMVS のインストールは、複数の方法がある。

ここでは、 vcpkg を使う方法を説明する。

  1. 事前に vcpkg のインストールを行っておく。
  2. コマンドプロンプトを管理者として開き、次のコマンドを実行する。
    c:\vcpkg\vcpkg search openmvs
    c:\vcpkg\vcpkg install openmvs[cuda,openmp]:x64-windows
    
  3. システムの環境変数 Path に、次を加える
    c:\vcpkg\installed\x64-windows\bin
    

Open3D

Open3D は、3次元データに関する種々の機能を Python、C++ から扱うことができるソフトウェアである。 次の機能を持つ。

Windows での Open3D のインストール

http://www.open3d.org/docs/release/compilation.html に記載の手順による。

  1. Windows で、管理者権限でコマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー > cmd と入力 > 右クリック > 「管理者として実行」)。
  2. pip を用いて、Open3D のインストール
    python -m pip install -U open3d
    

    関連ファイルのインストールを行いたいので、下に書いた手順を進める。

  3. Windows では、前準備として次を行う。
    • Build Tools for Visual Studio 2022 のインストール: 別項目で説明している。
    • Git のインストール: 別項目で説明している。

      Git の公式ページ: https://git-scm.com/

    • cmake のインストール: 別項目で説明している。

      CMake の公式ダウンロードページ: https://cmake.org/download/

    • Eigen 3 のインストール
    • Python のインストール: 別項目で説明している。
  4. Open3D 関連ファイルのインストール

    エラーを回避するために「/utf-8」を設定。

    python -m pip install -U --ignore-installed numpy scikit-image
    cd /d c:%HOMEPATH%
    rmdir /s /q Open3D
    git clone --recursive https://github.com/isl-org/Open3D
    cd Open3D
    del CMakeCache.txt
    rmdir /s /q CMakeFiles
    cmake -A x64 -T host=x64 ^
      -DCMAKE_C_FLAGS="/DWIN32 /D_WINDOWS /W0 /utf-8" ^
      -DCMAKE_CXX_FLAGS="/DWIN32 /D_WINDOWS /GR /EHsc /W0 /utf-8" ^
      -DCMAKE_INSTALL_PREFIX="c:/Open3D" .
    cmake --build . --config Release --target ALL_BUILD
    cmake --build . --config Release --target INSTALL
    
  5. 確認のため Open3DViewer を起動してみる。

    起動ができれば OK とする。

    %LOCALAPPDATA%\Open3D\bin\Open3D\Release\Open3DViewer.exe
    
  6. Open3D-ML 関連ファイルのインストール

    ここは書きかけ。動作未検証である。

    cd %LOCALAPPDATA%
    rmdir /s /q Open3D-ML
    git clone --recursive https://github.com/isl-org/Open3D-ML
    cd Open3D-ML
    python -m pip install -r requirements.txt
    python -m pip install -r requirements-torch.txt
    python -m pip install -U numpy chumpy json-tricks munkres xtcocotools yapf
    cd ..\Open3D
    del CMakeCache.txt
    rmdir /s /q CMakeFiles
    cmake -A x64 -T host=x64 ^
      -DBUILD_PYTORCH_OPS=ON ^
      -DBUILD_TENSORFLOW_OPS=OFF ^
      -DBUNDLE_OPEN3D_ML=ON ^
      -DOPEN3D_ML_ROOT=%LOCALAPPDATA%\Open3D-ML ^
      -DGLIBCXX_USE_CXX11_ABI=OFF ^
      -DCMAKE_C_FLAGS="/DWIN32 /D_WINDOWS /W0 /utf-8" ^
      -DCMAKE_CXX_FLAGS="/DWIN32 /D_WINDOWS /GR /EHsc /W0 /utf-8" ^
      -DUSE_SYSTEM_EIGEN3=ON ^
      -DEigen3_DIR="c:/eigen/share/eigen3" ^
      -DCMAKE_INSTALL_PREFIX="c:/Open3D" .
    cmake --build . --config Release --target ALL_BUILD
    cmake --build . --config Release --target INSTALL
    
  7. Open3D-ML 関連ファイルのインストールの続き。

    前の手順でエラーメッセージを確認し、エラーメッセージが出ていないときは、続行することにして、次を実行する。 (確認のときは、エラーメッセージを見落とさないように、表示を確認する。)

    cmake --build . --config Release --target install-pip-package
    python -m pip show open3d
    
  8. Open3D-ML 関連ファイルのインストールの確認

    次を実行し、エラーメッセージが出ないことを確認する。

    エラーメッセージが出た場合には、 Open3D-ML 関連ファイルのインストールは断念する。

    python -c "import open3d.ml.torch"
    

PyTorch3D

公式ページ(GitHub): https://github.com/facebookresearch/pytorch3d

Google Colaboratory での PyTorch3D のインストール

次のコマンドは Google Colaboratory で動く(コードセルを作り、実行する)。

  1. PyTorch3D のインストール
    !pip3 install pytorch3d
    

SDL

SDL は、「Simple DirectMedia Layer」の略で、 次の機能などを持つ。

3次元グラフィックス・カードは、OpenGL を経由して使用する。 SDL は、種々の OS (Linux、Windows、macOS、FreeBSD など) で動く。 SDL は C 言語で書かれ、C++ からも使える。Java、Perl、PHP、Python などの種々の言語からも使える。

【関連する外部ページ】

SDL の公式ページ: https://www.libsdl.org/

Windows での SDL のインストール

Windows での SDL のインストール: 別ページ »で説明

SDL の非公式ビルド: sdl.zip

私がビルドしたもの、非公式、無保証、 公式サイト https://github.com/libsdl-org/SDL で公開されているソースコードを改変せずにビルドした。 Windows 10、Build Tools for Visual Studio 2022 を用いてビルドした。 SDL のライセンスによる。

zip ファイルは C:\ 直下で展開し、C:\sdl での利用を想定。

GPU

GPU は、グラフィックス・プロセッシング・ユニット(Graphics Processing Unit)の略である。その高い並列計算能力から、3次元コンピュータグラフィックス、3次元ゲーム、動画編集、科学計算、ディープラーニングなど、並列処理が必要な幅広い分野で活用されている。

Mixamo

キャラクタと動きのアセットを公開しているサイトである。fbx 形式でダウンロードできる。

URL: https://www.mixamo.com

関連項目】 3次元コンピュータグラフィックス、human pose、human motion

Twinmotion

Twinmotion は、Unreal Engine を用いて実装されている。 3次元メッシュ(Wavefront OBJ、FBX)のインポート、 3次元点群データのインポート、高さマップ(r16、PNG)のインポート、 OpenStreetMap との連携、人物の配置、波の表現、空の表現などの機能がある。

関連項目】 Unreal Engine

3次元地理情報・VR/AR

高さマップ(Height Map)

地形の標高をピクセルの輝度値で表現した2次元画像データである。

GeoTIFF

地理座標情報を埋め込んだTIFF画像形式であり,地理情報システムで広く使用される。

投影座標系(Projected Coordinate System)

地球の曲面を平面に変換するための座標系である。

EPSG コード

座標参照系を一意に識別する数値コードである。

OpenStreetMap

誰でも編集可能なオープンソースの地図データプロジェクトである。

ESRI Shape 形式

地理情報システムで使用されるベクタデータのファイル形式である。

地図タイル(Map Tile)

地図画像を格子状に分割した個々の画像片であり,Web地図で広く使用される。

標高タイル(Elevation Tile)

標高データをタイル状に分割して提供する形式である。

VR(Virtual Reality,仮想現実)

コンピュータで生成された仮想空間に利用者を没入させる技術である。

AR(Augmented Reality,拡張現実)

現実の映像にデジタル情報を重畳して表示する技術である。

WebVR

Webブラウザ上でVRコンテンツを表示するための技術仕様である。

サイドバイサイド表示(Side-by-Side Display)

VR用に左右の目に対応する2つの映像を並べて表示する方式である。

マーカーベースAR(Marker-based AR)

特定のマーカー画像を認識してデジタル情報を重畳表示するAR手法である。

パノラマ表示(Panorama Display)

全方位の画像を球面状に表示し,視点を自由に変えられる表示方式である。

ゲームエンジン・データセット

3次元ゲームエンジン (3-D game engine)

3次元ゲームエンジン (3-D game engine) の機能を持つソフトウェアとしては、 Godot、Open 3D Engine、Unreal Engine、Panda3D などがある。

Open 3D Engine

Open 3D Engine は、オープンソースの3次元ゲームエンジンである。Amazon の Amazon Lumberyard の後継である。

Open 3D Engine の URL: https://github.com/o3de/o3de

Windows での Open 3D Engine のインストール: 別ページ »で説明

Panda3D

Panda3D は、オープンソースのソフトウェアであり、3次元ゲームエンジン (3-D game engine)、可視化、シミュレーションの機能を持つ。

Panda3D の URL: https://www.panda3d.org/

Panda3D のインストール

サイト内の関連ページ

アクタ(Actor)

ゲームエンジンにおけるシーン内の基本オブジェクト単位である。

ブループリント(Blueprint)

Unreal Engine におけるノードベースのビジュアルプログラミングシステムである。

レベルブループリント(Level Blueprint)

Unreal Engine において特定のレベル(ステージ)に紐づくブループリントである。

シーン遷移(Scene Transition)

ゲーム内の場面切り替えを管理する仕組みである。

イベントハンドラ(Event Handler)

キーボード・マウスなどの入力イベントに対する処理を定義する仕組みである。

アセット(Asset)

ゲームやCGで使用されるモデル・テクスチャ・音声などの素材データである。

ロジックエディタ(Logic Editor)

ゲームオブジェクトの振る舞いをビジュアルに編集するツールである。

Human 3.6M データセット

ディープラーニングにより姿勢推定を行うためのデータとして利用できる。

利用には、 https://vision.imar.ro/human3.6m/register.php での申請を必要とする。

http://vision.imar.ro/human3.6m/description.php

Catalin Ionescu, Dragos Papava, Vlad Olaru and Cristian Sminchisescu, Human3.6M: Large Scale Datasets and Predictive Methods for 3D Human Sensing in Natural Environments, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 36, No. 7, July 2014.

KITTI データセット

カラーのカメラ、モノクロのステレオカメラ、3次元レーザースキャナなどのさまざまなセンサーのデータから構成される。

http://www.cvlibs.net/datasets/kitti

【関連情報】

関連項目】 オープンデータ、 物体検出

LS3D-W データセット

LS3D-W データセットは、3次元の顔ランドマーク (facial landmark) のデータセットである。

これは、AFLW、300VW、iBUG 300-W、FDDB の顔画像から生成されたデータセットである。

利用には、 https://www.adrianbulat.com/face-alignment での申請を必要とする。

生成手順については、次の文献に記載されている。

Bulat, Adrian and Tzimiropoulos, Georgios, How Far Are We from Solving the 2D & 3D Face Alignment Problem (and a Dataset of 230,000 3D Facial Landmarks), International Conference on Computer Vision (ICCV), 2017. https://openaccess.thecvf.com/content_ICCV_2017/papers/Bulat_How_Far_Are_ICCV_2017_paper.pdf

関連項目顔ランドマークの3次元化

Objectron データセット

Objectron データセット は、15000 のビデオと 400 万の画像を含む。 これらはバイク、本、ボトル、カメラ、シリアルボックス、椅子、カップ、ラップトップ、靴といったカテゴリでアノテーションされている。 Objectron データセットには、ビデオ、画像、オブジェクトの姿勢、カメラの姿勢、点群、平面のデータが含まれている。 各ビデオは同じオブジェクトを異なる角度から観察している。

関連する外部ページ

公式の GitHub のページ: https://github.com/google-research-datasets/Objectron

関連項目Objectron

Objectron データセットのインストール(Windows 上)
  1. まず、gsutil のインストールを行う。
    cd /d c:%HOMEPATH%
    curl -L -O https://dl.google.com/dl/cloudsdk/channels/rapid/GoogleCloudSDKInstaller.exe
    .\GoogleCloudSDKInstaller.exe
    
  2. Windows では、 コマンドプロンプトを管理者として開き、 次のコマンドを実行することにより、 データセットのダウンロードを行うことができる。
    cd /d c:%HOMEPATH%
    mkdir records_shuffled
    gsutil cp -r gs://objectron/v1/records_shuffled records_shuffled
    

Photo Tourism データセット

Photo Tourism データセットは次の URL で公開されているデータセット(オープンデータ)である。

http://phototour.cs.washington.edu/datasets/

【関連情報】

ShapeNet データセット

ShapeNet データセットは、3次元 CAD モデルのリポジトリである。

ShapeNet データセットは次の URL で公開されているデータセット(オープンデータ)である。

URL: https://shapenet.org/

【関連情報】