Blendify:コンピュータービジョン向けBlenderラッパー

コンピュータービジョンで扱う対象が2Dの画像だけでなく3Dデータに広がってきて、コンピューターグラフィックスとの垣根がどんどん無くなってきているように感じる。

Blendifyは、Blenderの機能をPythonのモジュールとして呼び出せるbpyモジュールをコンピュータービジョン用途で扱いやすいようにラップしたモジュール。

Blendify



Blendifyは、Blenderでシーンを作成・レンダリングするための高レベルAPIを提供する軽量のPythonフレームワークです。3Dコンピュータービジョンの可視化に重点を置いて開発されたBlendifyなら、Blenderの関数やオブジェクトへのアクセスを簡略化できます。

Blendifyの主な特徴:

  1. シンプルなインターフェイス:Blendify は、複雑なBlender APIを意識することなく、一般的な可視化タスクを実行できるユーザーフレンドリーなインターフェイスを提供します。
  2. 組み合わせが容易:Blendifyは開発Scriptとシームレスに統合され、よく使用されるルーチンと関数を実装しています:
    • 点群、メッシュ、プリミティブをネイティブでサポート
    • 頂点カラーやテクスチャのサポート
    • シャドウキャッチャーオブジェクトを使用した高度な影
    • カメラがスムーズに移動するビデオのレンダリング
    • 一般的なカメラモデルのサポート
    • .blendファイルのインポート・エクスポートによるBlenderとの密な連携
  3. クイックスタート:Blendifyは簡単に使い始めることができ、スタンドアロンのBlenderをインストールする必要はありません。pip install blendifyを実行するだけで導入できます。

Blendifyを使用すればBlenderとの対話を簡略化でき、アプリケーションの開発に集中できます。以下は、Blender APIネイティブとBlendifyによる可視化コードの単純さを比較した例です。

BlenderのPython APIはちょっととっつきにくいので、用途に合わせて抽象化の切り口を変えたラッパーが欲しくなるのも理解できる。
というか、IDEのコード補完が効かないのでそもそもCG用途でも割ととっつきにくい。疑似的にコード補完を実現するfake-bpy-moduleがあるにはあるけど。
https://github.com/nutti/fake-bpy-module




Blenderはオープンソースであることと、もともとAPIがPythonで用意されてる辺りがML界隈でも利用される理由だろうか。


Kubric:機械学習用アノテーション付き動画生成パイプライン
久しぶりにコンピュータビジョン系の話題。Google Researchから機械学習用のアノテーション付き動画を生成するためのツールがオープンソースで公開された↓KubricKubricは、Instance SegmentationマスクやD...


ML系の人達がやたらPythonばかり使いたがる理由がイマイチ分からない。動的型付け言語は読みづらくて、階層の深いコードや大きなアプリケーションを作りにくいと感じるのだが。
ML系ではそういうプログラムをそもそも書かないということなのか?よほどIDEの補助が手厚くないとオイラには使いこなせない。

関連記事

注文してた本が届いた

FCN (Fully Convolutional Network):ディープラーニングによるSema...

書籍『ゼロから作るDeep Learning』で自分なりに学ぶ

CGWORLD CHANNEL 第21回ニコ生配信は『シン・ゴジラ』メイキングスペシャル!

OpenGVの用語

openMVGをWindows10 Visual Studio 2015環境でビルドする

フリーのUV展開ツール Roadkill UV Tool

動的なメモリの扱い

OpenSfM:PythonのStructure from Motionライブラリ

.NETで使えるTensorFlowライクなニューラルネットワークライブラリ『NeuralNetwo...

Iterator

Unityで学ぶC#

ZBrushでアヴァン・ガメラを作ってみる 腕の作り込み

Adobe Photoshop CS4 Extendedの3Dモデル編集機能

Model View Controller

ZBrushでアヴァン・ガメラを作ってみる 脚のポーズ調整

OpenCV 3.1のsfmモジュールを試す

機械学習について最近知った情報

Mayaのレンダリング アトリビュート

ZBrushのキャンバスにリファレンス画像を配置する

スクレイピング

トランスフォーマー :リベンジのメイキング (デジタルドメイン)

Photoshopで作る怪獣特撮チュートリアル

SegNet:ディープラーニングによるSemantic Segmentation手法

iPhoneで3D写真が撮れるアプリ『seene』

ラクガキの立体化 背中の作り込み・手首の移植

Unity ARKitプラグインサンプルのドキュメントを読む

Math.NET Numerics:Unityで使える数値計算ライブラリ

書籍『The Art of Mystical Beasts』を購入

NeRF (Neural Radiance Fields):深層学習による新規視点合成

ニューラルネットワークで画像分類

スターウォーズ エピソードVIIの予告編

trimesh:PythonでポリゴンMeshを扱うライブラリ

ZBrushと液晶ペンタブレットでドラゴンをモデリングするチュートリアル動画

Python for Unity:UnityEditorでPythonを使えるパッケージ

Structure from Motion (多視点画像からの3次元形状復元)

iPadをハンディ3Dスキャナにするガジェット『iSense 3D Scanner』

ZBrushでアヴァン・ガメラを作ってみる パーツ分割

Managing Software Requirements: A Unified Approach

Unite 2014の動画

OpenCV 3.3.0-RCでsfmモジュールをビルド

OpenCVのfindEssentialMat関数を使ったサンプルを読んでみる

コメント