説明
TaskMatrixはGitHubでホストされているオープンソースプロジェクトで、MicrosoftのGitHub組織の下にミラーがあります。これは、"Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models"という論文で発表されたアプローチの現在の名称であり、その系譜を引き継いでいます:メインスクリプトはvisual_chatgpt.pyと名付けられ、公式のHugging Faceデモスペースは"visual_chatgpt"というタイトルです。コアアイデアは変わっていません:ChatGPTのような会話モデルを、テキストだけでなく画像を送受信できるようにするために、特化した視覚基盤モデルのセットに接続します。
続きを読む
コアの洞察は、労働の分業です。ChatGPTや他の大規模言語モデルは、平易な言葉でリクエストを理解する一般的なインターフェースとして機能し、別の基盤モデルは特定の視覚タスクのドメイン専門家として機能します。例えば、物体を検出したり、セグメント化したり、領域をインペイントしたりします。TaskMatrixは、テンプレートシステムを用いてこれを形式化します:テンプレートは、ChatGPTが複数の基盤モデルを連鎖させて、単一のモデルでは処理できないより複雑なタスクを完了させるための事前定義された実行フローです。InfinityOutPaintingテンプレートはその一例で、画像キャプショニングモデル、インペイントモデル、視覚質問応答モデルを組み合わせて、ユーザーが特定のサイズに画像を拡張するように要求し、追加のトレーニングなしでアウトペイントされた結果を得ることができます。
実際には、一般的なワークフローはテキストガイドの画像編集です:ユーザーが"画像内のxxxを見つけて"または"画像内のxxxをセグメント化して"と言うと、TaskMatrixはGroundingDINOを使用してテキスト記述によって物体を特定し、Segment Anythingを使用して正確なマスクを生成し、Stable Diffusionインペインティングを使用してそのマスクされた領域のみを編集します。このプロジェクトは、中国語の会話もサポートしています。
TaskMatrixは、何もインストールせずにHugging Face SpacesデモやGoogle Colabノートブックを通じて試すことができます。ローカルで実行するには、リポジトリをクローンし、Python環境を作成し、リストされた基盤モデルをインストールし、ChatGPT側のためにOpenAI APIキーを提供する必要があります。ユーザーがロードする基盤モデルは構成可能で、各モデルは異なるGPUメモリフットプリントを持ち、専用のGPUメモリを必要としない軽量モデルから、数ギガバイトを必要とする画像生成モデルまで様々です。このプロジェクトは、完成した消費者アプリを求めるエンドユーザーではなく、マルチモデルの会話型画像編集を試みる開発者や研究者を対象としています。
- カテゴリーコンピュータービジョンツール
- 料金モデルオープンソース
- デプロイセルフホスト, クラウド
- プラットフォームWeb
TaskMatrixの主要機能
接続された視覚基盤モデルを介してChatGPTの会話内で画像を送受信
GroundingDINOとSegment Anythingを使用したテキストガイドの物体検出とセグメンテーション
要求された画像の部分のみを編集するためのStable Diffusionによるマスクベースのインペインティング
追加のトレーニングなしで画像を大きなサイズに拡張するInfinityOutPaintingテンプレート
複数の基盤モデルを1つの再利用可能なタスクフローに連鎖させるためのテンプレートシステム
英語に加えて中国語の会話サポート
ローカルインストールなしでHugging Face SpacesデモまたはGoogle Colabノートブックを通じて実行可能
タスクに必要な基盤モデルのみが特定のデバイスで実行されるように構成可能なモデルロード
TaskMatrixをはじめる
デモを試す:Hugging Face SpaceまたはColabノートブックを開いて、TaskMatrixをインストールせずにテストする
ローカルにセットアップ:リポジトリをクローンし、Python環境を作成し、リストされた要件をインストールする
APIキーを追加:システムのChatGPT側のためにOpenAI APIキーを提供する
必要なモデルをロード:--loadフラグを使用してアプリを起動し、実行する基盤モデルとデバイスを指定する
チャットと編集:画像リクエストを説明するか、"xxxを見つけて"または"xxxをセグメント化して"と言って、アップロードされた画像内の物体を検出して編集する
TaskMatrixの使用例
- 会話型画像編集
- 画像アウトペインティング
- マルチモデル研究プロトタイピング











