コンピュータービジョンで扱う対象が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の補助が手厚くないとオイラには使いこなせない。
関連記事
OpenCV 3.1から追加されたSfMモジュール
タダでRenderManを体験する方法
YOLO (You Only Look Once):ディープ...
書籍『ゼロから作るDeep Learning』で自分なりに学...
Faster R-CNN:ディープラーニングによる一般物体検...
OpenCV3.3.0でsfmモジュールのビルドに成功!
CGAN (Conditional GAN):条件付き敵対的...
タマムシっぽい質感
CGWORLD CHANNEL 第21回ニコ生配信は『シン・...
Mask R-CNN:ディープラーニングによる一般物体検出・...
映画『ゴジラ-1.0』 メイキング情報まとめ
Faceshiftで表情をキャプチャしてBlender上でM...
CycleGAN:ドメイン関係を学習した画像変換
GoB:ZBrushとBlenderを連携させるアドオン
Raspberry Pi 2を買いました
pythonの機械学習ライブラリ『scikit-learn』
書籍『3次元コンピュータビジョン計算ハンドブック』を購入
SSII 2014 デモンストレーションセッションのダイジェ...
OpenCV 3.3.0-RCでsfmモジュールをビルド
書籍『イラストで学ぶ ディープラーニング』
為替レートの読み方 2WAYプライス表示
LuxCoreRender:オープンソースの物理ベースレンダ...
ZBrushでアヴァン・ガメラを作ってみる 頬の突起を作り始...
『ゴジラ キング・オブ・モンスターズ』のVFXブレイクダウン
Maya には3 種類のシェーダSDKがある?
Super Resolution:OpenCVの超解像処理モ...
サンプルコードにも間違いはある?
ZBrushでアヴァン・ガメラを作ってみる 頭頂部の作り込み...
C++の抽象クラス
ZBrushで仮面ライダー3号を造る 仮面編 失敗のリカバー
ZBrushでアヴァン・ガメラを作ってみる 爪とトゲを追加
ニンテンドー3DSのGPU PICA200
イタリアの自動車ブランドFiatとゴジラがコラボしたCMのメ...
Runway ML:クリエイターのための機械学習ツール
C++ 標準テンプレートライブラリ (STL)
Rerun:マルチモーダルデータの可視化アプリとSDK
ZBrushで仮面ライダー3号を造る 仮面編 横顔のシルエッ...
WordPressのサーバ引っ越し方法を考える
SIGGRAPH ASIA 2009で学生ボランティア募集し...
Raspberry Pi 2のGPIOピン配置
Mayaのプラグイン開発
ZBrushで作った3Dモデルを立体視で確認できるVRアプリ...
コメント