bcmi/libcom
Image composition toolbox: everything you want to know about image composition/compositing or object/subject insertion/addition/compositing.
libcom – 画像合成のためのワンストップツールボックス
機能
- 画像合成(前景オブジェクトを背景画像に挿入し、リアルに見せるタスク)のための、すぐに使えるモデルとユーティリティをまとめたPythonライブラリ (
import libcom) を提供します。 - 全パイプラインをカバー:
- 配置 (Placement) –
OPAScoreModel/FOPAHeatMapModelがオブジェクトの最適な配置場所とスケールを評価・提案します。 - 外観マッチング (Appearance matching) – 色転送、画像調和 (
PCTNet,LBM)、絵画的調和 (PHDNet,PHDiffusion)。 - 幾何学的・意味的チェック (Geometry & semantics check) –
FOSScoreModelが幾何学的・意味的な整合性を評価し、InharmoniousLocalizationModelが不調和な領域を特定します。 - 影と反射の合成 (Shadow & reflection synthesis) –
ShadowGenerationModel(GPSDiffusion) およびReflectionGenerationModel(RGDiffusion)。 - 生成的な合成 (Generative composition) –
KontextBlendingHarmonizationModel(Fluxベース) およびOSInsertModelにより、ポーズ、照明、スタイルを調整しながら、前景を背景に組み込んだ画像を実際に生成できます。 - シンプルなベースライン (Simple baseline) –
get_composite_imageで、アルファブレンディングやポアソンブレンディングを用いた単純なコピー&ペーストが可能です。
- 配置 (Placement) –
使い方
import libcom
# naive blend
result = libcom.get_composite_image(fg, bg, mask)
# evaluate placement
score = libcom.OPAScoreModel(bg, fg).predict()
# harmonise illumination
harmonised = libcom.ImageHarmonizationModel(bg, fg).run()
# generate shadow
shadowed = libcom.ShadowGenerationModel(bg, fg).run()
すべてのモデルは、公開されている研究コード (例: PCTNet, LBM, PHDNet, GPSDiffusion) の薄いラッパーです。ライブラリが事前学習済みウェイトのダウンロード、前処理、Pillow/NumPy画像としての返却を自動的に処理します。
重要性
画像合成は、写真編集、AR/VRコンテンツ制作、合成データ生成、視覚効果における中核的な機能です。これまで、各サブタスクには個別の研究実装を繋ぎ合わせる必要がありました。libcomはこれらを一貫したAPIの下に統合し、実験や製品への統合を大幅に高速化します。
インストールとプラットフォーム
- Linux, Python 3.10+, PyTorch ≥ 2.6 が必要です。
- PyPI経由でインストール:
pip install libcom(初回使用時に大きなモデルファイルをダウンロードします)。 - 詳細なドキュメント、チュートリアル、オンラインデモワークベンチが提供されています (https://libcom.ustcnewly.com/)。
コミュニティと今後
- Apache 2.0ライセンスでオープンソース化されており、上海交通大学のBrain-like Computing and Machine Intelligence Lab (SJTU) によって保守されています。
- 新しいモデルの貢献や、推論高速化に関するコラボレーションを歓迎しています。
TL;DR: libcomは、リアルなオブジェクト挿入のあらゆるステップ(配置スコアリング、色・照明の調和、影と反射の合成、さらには生成的な合成)に対応する最先端モデルを統合したPythonツールボックスです。数行の関数呼び出しで、生の前景・背景ペアから洗練された合成画像を作成できます。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト