私的AI研究会 > MotionSeg

動画のパーツを入れ替える:Motion Supervised co-part Segmentation

result_super_m.jpg

 画像のセグメンテーションを使い静止画から動画パーツを入れ替える技術「Motion Supervised co-part Segmentation」をローカルマシンで検証する

※ 最終更新:2024/11/03 

Motion Supervised co-part Segmentation

概要

実行環境の構築

  1. GitHub サイトからプロジェクトをダウンロード
    cd /anaconda_win/workspace_2                     ← Windows の場合
    cd ~/workspace_2                           ← Linux の場合
    
    git clone https://github.com/AliaksandrSiarohin/motion-cosegmentation motion-co-seg
    ・「motion-co-seg」フォルダ内にもう一つプロジェクトをダウンロードする
    cd motion-co-seg
    git clone https://github.com/AliaksandrSiarohin/face-makeup.PyTorch face_parsing
  2. プロジェクト・パッケージ project_motion-co-seg.zip (2.31GB) <motion-co-seg> をダウンロード
    ・解凍してできるフォルダ
    project_motion-co-seg
    └─workspace_2
        └─motion-co-seg                        ← GitHub からクローンしたプロジェクトに上書きする
            ├─face_parsing                       ← GitHub からクローンしたプロジェクトに上書きする
            │  ├─results
            │  └─result_save
            ├─results
            ├─results_save
            └─sample
                ├─images
                └─videos
    解凍してできる「project_motion-co-seg/」フォルダ内を次のフォルダの下に上書きコピーする
     Windows の場合 →「anaconda_win/」 Linux の場合 → 「~/」

  3. 以下の項目は仮想環境「py38_learn」で実行する
    未作成の場合は → 『仮想環境 (py38_learn)』 の手順で仮想環境を作成

前準備

motion_seg01_m.jpg

提供されているデモ「part_swap.py」を試す

result_10seg_m.jpg
result_10seg_26_11.gif

GUI で操作できるプログラム「motion_seg.py」を作成する ※ 2024/11/03 改版

 

Motion Supervised co-part Segmentation (GUI)

 ここまでの検証結果を利用して「Motion Supervised co-part Segmentation」の機能を簡単な操作で確認できる「motion_gui.py」を作成する

操作方法

motion_01_m.jpg
  1. カテゴリーを選択 ①
  2. 元画像(Source Image)をクリック ②
    ・画像一覧からカテゴリーに準じた静止画を選ぶ
    ・カテゴリーに従いセグメント画像(Segment Image)③ が表示される

  3. セグメント画像 ③ をクリックするか、⑥「Select」をチェックして、交換する場所を決める
    ・セグメント画像 ③ のカーソル位置でクリック(設定)/ ダブルクリック(解除)、またはチェックボックスを直接クリックする
    ・「Clear」ボタンを押すとチェックを全クリアする

  4. 対象となる動画(Terget Video)をクリック ④
    ・画像一覧からカテゴリーに準じた動画を選ぶ
  5. 処理動画(Processing Video)をクリック ⑤
    ・すでに処理済みの画像がある場合は ④ をクリックした後自動的に ⑤ を表示する

  6. ⑥「Video」ボタンを押すと処理済み動画から直接選ぶこともできる
  7. ⑦「Cancel」ボタンを押すと現在の処理済み画像の一覧を表示してプログラムを終了する
    ・一覧画像はアイコンにより「.mp4」「.mp4(音声付き)」「.gif」画像をを区別できる
    ・画像をダブルクリックすると動画を再生する

実行コマンド

 

face-parsing: 顔のパーツに関するピクセル単位のラベルマップを求める

face_parsing02_m.jpg

概要

提供されているデモ「makeup.py」を試す

face_parsing01_m.jpg
face_parsing00_m.jpg

GUI で操作できるプログラム「makeup2.py」を作成

顔のパーツを分離するプログラム「parsing.py」を作成

セグメンテーションによる顔パーツの ID

メークアップをシュミレーションできる「makeup_gui.py」を作る

face_parsing03_m.jpg

ここまでのまとめ

 

対処した問題点とエラー詳細

「logger.py」変更点

「part_swap.py」変更点(ローカル環境では「part_swap2.py」)とする

「face_parsing/model.py」変更点

「face_parsing/test.py」変更点

 

更新履歴

参考資料