mirror of
https://github.com/Bing-su/adetailer.git
synced 2026-01-26 19:29:54 +00:00
54 lines
1.5 KiB
Python
54 lines
1.5 KiB
Python
import pytest
|
|
from huggingface_hub import hf_hub_download
|
|
from PIL import Image
|
|
|
|
from adetailer.ultralytics import ultralytics_predict
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"model_name",
|
|
[
|
|
"face_yolov8n.pt",
|
|
"face_yolov8n_v2.pt",
|
|
"face_yolov8s.pt",
|
|
"face_yolov9c.pt",
|
|
"hand_yolov8n.pt",
|
|
"hand_yolov8s.pt",
|
|
"hand_yolov9c.pt",
|
|
"person_yolov8n-seg.pt",
|
|
"person_yolov8s-seg.pt",
|
|
"person_yolov8m-seg.pt",
|
|
"deepfashion2_yolov8s-seg.pt",
|
|
],
|
|
)
|
|
def test_ultralytics_hf_models(sample_image: Image.Image, model_name: str):
|
|
model_path = hf_hub_download("Bingsu/adetailer", model_name)
|
|
result = ultralytics_predict(model_path, sample_image)
|
|
assert result.preview is not None
|
|
|
|
|
|
def test_yolo_world_default(sample_image: Image.Image):
|
|
model_path = hf_hub_download("Bingsu/yolo-world-mirror", "yolov8x-worldv2.pt")
|
|
result = ultralytics_predict(model_path, sample_image)
|
|
assert result.preview is not None
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"klass",
|
|
[
|
|
"person",
|
|
"bird",
|
|
"yellow bird",
|
|
"person,glasses,headphone",
|
|
"person,bird",
|
|
"glasses,yellow bird",
|
|
],
|
|
)
|
|
def test_yolo_world(sample_image2: Image.Image, klass: str):
|
|
model_path = hf_hub_download("Bingsu/yolo-world-mirror", "yolov8x-worldv2.pt")
|
|
result = ultralytics_predict(model_path, sample_image2, classes=klass)
|
|
assert result.preview is not None
|
|
assert len(result.bboxes) > 0
|
|
assert len(result.masks) > 0
|
|
assert len(result.confidences) > 0
|