8
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【npm】ブラウザ内で高精度に背景除去できる background-removal-js を試す

Last updated at Posted at 2023-07-01

Introduction

background-removal-jsというブラウザで簡単に使える背景除去ライブラリがお手軽で良かったので紹介します。

デモ画面が用意されているため、こちらを用いて精度を試していきます。

私は普段rembgで画像背景を除去しているので、以下の記事で試した画像を用いて簡単に比較します。

本記事が少しでも読者様の学びに繋がれば幸いです!
「いいね」をしていただけると今後の励みになるので、是非お願いします!

環境

Ubuntu22.04

imgly/background-removal-js

background-removal-jsはブラウザで簡単に背景除去ができるライブラリです。
サーバー不要で外部とデータをやり取りしないためセキュアに使えます。
npmで提供されており、README も整備されてサンプルコードもあるため web アプリへの組み込みは容易そうです。

中身としてはWASMONIX形式のモデルを扱っているようです。

Download Size vs Quality
The onnx model is shipped in various sizes and needs.
small (~40 MB) is the smallest model and is in most cases working fine but sometimes shows some artifacts. It's a quantized model.
medium (~80MB) is the default model.

品質とのトレードオフになりますが、より軽量なモデルも選択できるようです。

実験

rembgで用いた以下の画像で精度を確認していきます。
penguin_1penguin_2

  • デモ画面にアクセスします。

  • 画面下部のサンプル画像を選択すればすぐにお試しできます。
    今回は画像を指定したいため、Upload Imageで画像を選択します。
    背景除去が開始されます。

Screenshot from 2023-07-01 17-07-42.png

10 秒ほどで結果が出力されました。

Screenshot from 2023-07-01 17-34-49.png

右のペンギンや足元など、完璧ではありませんが綺麗に背景除去されています。

Edit in CE.SDKをクリックするとCreative Editor SDK画面に遷移されます。
文字や図形、Blur などで画像を編集した上で画像ファイルや PDF として保存できます。1

Screenshot from 2023-07-01 17-38-11.png

最後にrembgとの比較結果です。

| original |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| penguin_1_original |
| rembg |
| penguin_1_rembg | penguin |
| background-removal-js |
| penguin_1_background-removal | penguin_lr |
| original |
| penguin_1_original |
| rembg |
| penguin_1_rembg |
| background-removal-js |
| penguin_1_background-removal |

比較するとrembgは境界線が輪郭のように残っていて、background-removal-jsは境界線も綺麗です。
私の調べた限り、従来ではrembgが使いやすさと精度で圧倒的に優れていましたが、background-removal-jsもかなり高精度で好印象でした。
少なくともOpenCVSemantic SegmentationやらImage Mattingよりはずっと良いですね。パラメータ調整や、人以外はうまく除去できなくて悩んでいた時代は過去になりました。

最後に

最後まで閲覧頂きありがとうございました。
本記事がお役に立てば幸いです!

参考 URL

  1. 初めてCreative Editor SDK使いましたが、下手な編集ソフトより癖がなく好みでした。

8
12
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
8
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?