先日 ART の作者、A. Griggio 氏が作成した、メタの開発した SAM2 エンジンを使った AI によるマスク作成ツールとそのインストール方法を紹介しました。今回、GIMP3 から、この SMART を起動して、SMART で作成したマスク画像を自動的にマスクとして取り込んでレイヤーとして貼り付けるプラグインを作成しました。これで GIMP3 上で AI マスクを簡単に作成することができます。
今まで、対象物を苦労して囲んでマスクを作成したのに比べて、大幅に編集時間が節約できますので、強くおすすめします。
■ インストール方法
1. SMART のインストール
インストール方法は以下の拙稿を見てください。なおインストールの難易度ですが、易しい順に Windows > Mac OS > LInux で、Windows が一番確実にインストール可能かと思います。Linux は運が良ければ簡単ですが、悪いと色々苦闘させられます。
以下、SMART のインストール場所、および Python のインタープリタが、それぞれの OS で次のようになっていることを前提とします。異なる場所の場合は適宜読み替えてください。
C:\Program Files\SMART
$HOME/SMART/
$HOME/.pyenv/shims/python
※ pyenv で仮想環境をセットアップしている前提
$HOME/scripts/SMART/
$HOME/.venv/ART-AI-venv/bin/python
※ venv で .venv/ART-AI-venv に仮想環境をセットアップしている前提
※ $HOME は各ユーザのホームディレクトリ。実際には、Linux の場合は、例えば、/home/yourname Mac OS の場合は、/Users/yourname などになっている。
2. 当プラグインをダウンロードしてインストールする。
こちらから当プラグインをダウンロードします。GIMP3 におけるプラグインのインストール方法は以下をご覧ください。
yasuo-ssi.hatenablog.com Windows ではこれでインストールが完了ですが (ただし上の SMART のインストール方法の説明と同じディレクトリにインストールしたことが前提)、Linux と Mac OS ではまだ作業が残っています。
3. プラグインの設定を編集する
当プラグインの # --- command args --- 以下の記述で、
elif platform.system() == "Linux":
command = "/home/%USERNAME%/src/ART-AI-venv/bin/python"
command1 = "/home/%USERNAME%/src/SMART/src/main.py"
elif platform.system() == "Darwin": #Mac OS
command = "/Users/%USERNAME%/src/ART-AI-venv/bin/python"
command1 = "/Users/%USERNAME%/src/SMART/src/main.py"
の部分をあなたの環境に応じて書き換えます。Linux の方は、上の、elif platform.system() == "Linux": の下の2行、Mac OS の方は、elif platform.system() == "Darwin": 以下の2行を書き換えます。
例えば、あなたのユーザ名が、myname で、Python のインタープリタおよび SMART のインストール位置が、上の前提通りだった場合、以下のように書き換えます。
Linux ユーザ
command = "/home/myname/.venv/ART-AI-venv/bin/python"
※ venv を使って仮想環境をセットアップ
command1 = "/home/myname/scripts/SMART/src/main.py"
Mac OS ユーザ
command = "/Users/myname/.pyenv/shims/python"
※ pyenv を使って仮想環境をセットアップ
command1 = "/Users/myname/SMART/src/main.py"
仮想環境のディレクトリがどこにあるか、更にどのツールを使って仮想環境をセットアップしたかによって、書き換え方が変わりますのでご注意ください。
4. 実行可能プロパティを設定する。
上の、GIMP3 プラグインのインストール方法にも書いてありますが、当プラグインの Python スクリプトに対して chmod コマンドを使って実行可能に設定します。Linux だと GUI から実行可能にすることもできませんが、Mac OS ではターミナルから chmod コマンドを使う必要があります。
■ Flatpak 版を使うときの注意
Linux 上で、Flatpak 版の GIMP3 を使っている場合は、GIMP3 を以下のコマンドで起動して下さい。さもないと、SMART の起動に失敗します。
$ flatpak run --socket=session-bus org.gimp.GIMP --verbose
エラーメッセージを表示しない場合は、最後の --verbose は省略可能です。上のコマンドは desktop ファイルとして作成しておくと、GUI から起動できます。私は以下の内容で、desktop ファイルを作成しました。
------------------------
[Desktop Entry]
Version=3.0
Type=Application
Categories=Graphics;
Name=GIMP3 (session-bus)
Comment=
Exec=flatpak --system --socket=session-bus run org.gimp.GIMP --verbose
Icon=org.gimp.GIMP
Path=/var/lib/flatpak/app/org.gimp.GIMP/
Terminal=false
StartupNotify=false
------------------------
■ 使い方
1. run SMART の起動
メニューの以下の位置から、[SMART で AI マスクを作成...] を選んで本プラグインを起動します。

2. SMART が起動
以下のように SMART が起動します。元画像を一時 TIFF ファイルとしてエクスポートするので、起動までにちょっと時間がかかります。

なお、Windows および Linux の場合は、SMART のウィンドウが一番前面に来ますが、Mac OS の場合は、GIMP のウィンドウに隠れます。そこで、GIMP のウィンドウを最小化して、SMART のウィンドウを手前に表示してください。
3. SMART 上でマスクを作成する

Shift + 左クリックボタンを押すと、マスクが作成されます。
4. マスク画像を保存する
マスクの作成が終わったら、フロッピーマークをアイコンをクリックして保存します。すると以下のようにマスク保存ダイアログが出ますが、マスクの保存場所、およびデフォルトの保存名を絶対に変更せずに、そのまま OK ボタンを押します。

保存すると、もし、SMART.json 設定で適切に exiftool が設定されていない場合、マスク保存エラー: exiftool が見当たらないというエラーメッセージが出ますが、無視して構いません。また、Windows の場合も似たようなエラーメッセージが出ます。Windows の場合は exiftool の指定が特殊なので、上の SMART のインストール説明をご確認ください。


終わったら、ウィンドウの上の隅にある閉じるアイコン( ✕ )を押して閉じます。しかし、これも、先程警告メッセージが出ていると、変更が保存されていないという警告メッセージが出ますが、これも無視して No ボタンを押して終了します。1回目の警告メッセージが出ていなければ、こちらも警告なく正常に SMART が終了します。

5. 終わると、以下のように元のレイヤーがコピーされ、SAM2 mask と名前が付き、そのレイヤーにマスクが付加されます。

ただ、境界線の微調整などは SMART ではサポートしていないので、マスク編集などで工夫する必要があります。