AnimeSeg
Anime Character Segmentation using Mask2Former and DINOv2 + U-Net++ with LoRA fine-tuning. Also integrates Background Removal via anime-segmentation.
sample image
Installation
pip install anime_seg
Usage
from anime_seg import AnimeSegPipeline
pipe = AnimeSegPipeline.from_mask2former().to("cuda")
mask = pipe("path/to/image.jpg")
mask.save("output.png")
# Background Removal (powered by anime-segmentation)
bg_pipe = AnimeSegPipeline.from_bg_remover().to("cuda")
no_bg_img = bg_pipe("path/to/image.jpg")
no_bg_img.save("no_bg_output.png")
AnimeSegPipeline() default constructor is deprecated. Use from_mask2former(), from_dinoV2(), or from_bg_remover().
Optional: output size
# Same as input size (default)
mask_same = pipe("path/to/image.jpg")
# Fixed output size
mask_fixed = pipe("path/to/image.jpg", width=1024, height=1024)
# Width/height can be specified independently
mask_w = pipe("path/to/image.jpg", width=1024)
mask_h = pipe("path/to/image.jpg", height=1024)
Advanced Usage
# Load specific file from HF repo
pipe = AnimeSegPipeline.from_mask2former(
repo_id="suzukimain/AnimeSeg",
filename="models/anime_seg_mask2former_v3.safetensors"
).to(device="cuda")
# DINOv2 backend
pipe_dino = AnimeSegPipeline.from_dinoV2(
filename="models/anime_seg_dinov2_v2.safetensors"
).to("cuda")
# Use PIL Image
from PIL import Image
img = Image.open("image.jpg")
mask = pipe(img)
# Background Removal (powered by anime-segmentation)
bg_pipe = AnimeSegPipeline.from_bg_remover().to("cuda")
no_bg_img = bg_pipe("path/to/image.jpg")
no_bg_img.save("no_bg_output.png")
Model Files
Models should follow the naming convention:
models/anime_seg_{architecture}_v{version}.safetensors
Example:
models/anime_seg_dinov2_v2.safetensorsmodels/anime_seg_mask2former_v3.safetensors
Resolution order:
config.json- fallback scan by
models/anime_seg_{architecture}_v{max_version}.{ext}
Segmentation Classes and Mask Colors
Default from_mask2former() returns 12 classes:
| ID | Class Key | RGB | Color |
|---|---|---|---|
| 0 | background | (0, 0, 0) | Black |
| 1 | skin | (255, 220, 180) | Pale Orange |
| 2 | face | (100, 150, 255) | Blue |
| 3 | hair_main | (255, 0, 0) | Red |
| 4 | left_eye | (0, 255, 255) | Cyan |
| 5 | right_eye | (255, 255, 0) | Yellow |
| 6 | left_eyebrow | (150, 255, 0) | Yellow Green |
| 7 | right_eyebrow | (0, 255, 100) | Emerald Green |
| 8 | nose | (255, 140, 0) | Dark Orange |
| 9 | mouth | (255, 0, 150) | Magenta Pink |
| 10 | clothes | (180, 0, 255) | Purple |
| 11 | accessory | (128, 128, 0) | Olive |
from_dinoV2() returns 13 classes (includes unknown as ID 12).
DINOv2 Compatibility Note
Earlier versions primarily used DINOv2. Current recommendation is from_mask2former(), while from_dinoV2() remains for compatibility.
Metadata
Release files for anime-seg 0.3.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| anime_seg-0.3.8.tar.gz | 20.3 kB | Without provenance | Details for anime_seg-0.3.8.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| anime_seg-0.3.8-py3-none-any.whl | Python 3 | none | any | Details for anime_seg-0.3.8-py3-none-any.whl |
Total release size: 45.5 kB
Release files / anime_seg-0.3.8.tar.gz
| Download URL | anime_seg-0.3.8.tar.gz |
|---|---|
| Size | 20.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bd1cb07e36033d93dcbf916eddb2a1d94c2e1d0f4304d811f2b2af4141da3b23
|
|
BLAKE2b-256 checksum How to use checksums |
ad504a24acd6aca7c113112d1435ed669352beea26164792022a8248be24f1ae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / anime_seg-0.3.8-py3-none-any.whl
| Download URL | anime_seg-0.3.8-py3-none-any.whl |
|---|---|
| Size | 25.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b42f41166992c48e29fc678ce72e99ff9a3ceeea3bd871c8f8e6dc09b0e6500f
|
|
BLAKE2b-256 checksum How to use checksums |
f90105ca0abd11c33fbaa5952bcadf382eccd2f584eb552e8d61932fdfd6d920
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Security for anime-seg 0.3.8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.