LoginSignup
2
2

easyportraitというデータセットを学習したモデルを使います。

インストール

リポジトリで提供されているいくつかのモデルの中で、segformerが使いやすいと思うのでダウンロードします。

git clone https://github.com/hukenovs/easyportrait.git
cd easyportrait/pipelines/
pip install torch==1.13.1 torchvision==0.14.1
pip install -U openmim
mim install mmengine
mim install mmcv==1.7.1
mim install mmcv-full==1.7.1
pip install mmsegmentation==0.30.0
pip install ftfy
wget https://n-ws-620xz-pd11.s3pd11.sbercloud.ru/b-ws-620xz-pd11-jux/easyportrait/experiments/models/segformer-fp-1024.pth

mmseg/datasets/pipelines/formatting.pyの281行目を以下のように書き換えます。

formatting.py
# img_meta[key] = results[key]
img_meta[key] = results.get(key,None)

実行

from mmseg.apis import inference_segmentor, init_segmentor, show_result_pyplot
from mmseg.core.evaluation import get_palette

device = 'cuda:0'
checkpoint = "segformer-fp-1024.pth"
config = "local_configs/easyportrait_experiments_v2/segformer-fp/segformer-fp.py"
model = init_segmentor(config, checkpoint, device=device)
img = 'image.jpg'
out = "result.jpg"
# test a single image
result = inference_segmentor(model, img)
show_result_pyplot(
    model,
    img,
    result,
    None,
    opacity=0.5,
    out_file=out)

結果のクラスインデックスは以下

['background',
'person',
'skin',
'left brow',
'right brow',
'left eye',
'right eye',
'lips',
'teeth']

歯もとれるのが良い。

image4.jpg
result (3).jpg

🐣


フリーランスエンジニアです。
AIについて色々記事を書いていますのでよかったらプロフィールを見てみてください。

もし以下のようなご要望をお持ちでしたらお気軽にご相談ください。
AIサービスを開発したい、ビジネスにAIを組み込んで効率化したい、AIを使ったスマホアプリを開発したい、
ARを使ったアプリケーションを作りたい、スマホアプリを作りたいけどどこに相談したらいいかわからない…

いずれも中間コストを省いたリーズナブルな価格でお請けできます。

お仕事のご相談はこちらまで
rockyshikoku@gmail.com

機械学習やAR技術を使ったアプリケーションを作っています。
機械学習/AR関連の情報を発信しています。

X
Medium
GitHub

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2