コンピュータービジョンで扱う対象が2Dの画像だけでなく3Dデータに広がってきて、コンピューターグラフィックスとの垣根がどんどん無くなってきているように感じる。
Blendifyは、Blenderの機能をPythonのモジュールとして呼び出せるbpyモジュールをコンピュータービジョン用途で扱いやすいようにラップしたモジュール。
Blendify
Blendifyは、Blenderでシーンを作成・レンダリングするための高レベルAPIを提供する軽量のPythonフレームワークです。3Dコンピュータービジョンの可視化に重点を置いて開発されたBlendifyなら、Blenderの関数やオブジェクトへのアクセスを簡略化できます。
Blendifyの主な特徴:
- シンプルなインターフェイス:Blendify は、複雑なBlender APIを意識することなく、一般的な可視化タスクを実行できるユーザーフレンドリーなインターフェイスを提供します。
- 組み合わせが容易:Blendifyは開発Scriptとシームレスに統合され、よく使用されるルーチンと関数を実装しています:
- 点群、メッシュ、プリミティブをネイティブでサポート
- 頂点カラーやテクスチャのサポート
- シャドウキャッチャーオブジェクトを使用した高度な影
- カメラがスムーズに移動するビデオのレンダリング
- 一般的なカメラモデルのサポート
- .blendファイルのインポート・エクスポートによるBlenderとの密な連携
- クイックスタート: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
(2/4) Simple interface: Blendify provides a user-friendly interface for performing common visualization tasks. Many things are easier to render with Blendify – see the comparison below! pic.twitter.com/lfqKW1tsUb
— Vladimir Guzov (@guzov_vladimir) May 10, 2023
(3/4) Blendify supports:
– point clouds, meshes, and primitives;
– per-vertex colors and textures;
– advanced shadows with shadow catcher objects;
– import and export of .blend filesAnd more! Check out our examples at https://t.co/avPQdKMcrp pic.twitter.com/1mpByyNLGP
— Vladimir Guzov (@guzov_vladimir) May 10, 2023
Blenderはオープンソースであることと、もともとAPIがPythonで用意されてる辺りがML界隈でも利用される理由だろうか。


ML系の人達がやたらPythonばかり使いたがる理由がイマイチ分からない。動的型付け言語は読みづらくて、階層の深いコードや大きなアプリケーションを作りにくいと感じるのだが。
ML系ではそういうプログラムをそもそも書かないということなのか?よほどIDEの補助が手厚くないとオイラには使いこなせない。
関連記事
SDカードサイズのコンピューター『Intel Edison』
VCG Library:C++のポリゴン操作ライブラリ
顔画像処理技術の過去の研究
中学3年生が制作した短編映像作品『2045』
第20回 文化庁メディア芸術祭『3DCG表現と特撮の時代』
Accord.NET Framework:C#で使える機械学...
Pylearn2:ディープラーニングに対応したPythonの...
python-twitterで自分のお気に入りを取得する
ZBrush 2021.6のMesh from Mask機能...
書籍『仕事ではじめる機械学習』を読みました
Maya には3 種類のシェーダSDKがある?
Paul Debevec
ROSでガンダムを動かす
Multi-View Environment:複数画像から3...
Google製オープンソース機械学習ライブラリ『Tensor...
Google App EngineでWordPress
BlenderのGeometry Nodeで遊ぶ
OpenCVのfindEssentialMat関数を使ったサ...
UnityでPoint Cloudを表示する方法
Iridescence:プロトタイピング向け軽量3D可視化ラ...
OpenMayaのPhongShaderクラス
iPhoneで3D写真が撮れるアプリ『seene』
Swark:コードからアーキテクチャ図を作成できるVSCod...
OpenGVの用語
WinSCP
MFnDataとMFnAttribute
OpenSfM:PythonのStructure from ...
Unity Scriptコーディング→Unreal Engi...
Transformers ”Reference & Buli...
布地のシワの法則性
Cartographer:オープンソースのSLAMライブラリ
ZBrushのキャンバスにリファレンス画像を配置する
iPhoneアプリ開発 Xcode 5のお作法
世界一下品なクマと世界一紳士なクマ
ZBrushでゴジラ2001を作ってみる 頭の概形作り
マルコフ連鎖モンテカルロ法
Photoshopで作る怪獣特撮チュートリアル
Mitsuba 3:オープンソースの研究向けレンダラ
自前Shaderの件 解決しました
3D Gaussian Splatting:リアルタイム描画...
MPFB2:Blenderの人体モデリングアドオン
Math Inspector:科学計算向けビジュアルプログラ...



コメント