Commit c6eaedca authored by narugo1992's avatar narugo1992
Browse files

dev(narugo): use new face detect models

parent 49b073de
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ class FaceDetectBenchmark(BaseBenchmark):
if __name__ == '__main__':
    create_plot_cli(
        [
            ('face v1.3 (yolov8s)', FaceDetectBenchmark('s', 'v1.3')),
            ('face v1 (yolov8s)', FaceDetectBenchmark('s', 'v1')),
            ('face v1 (yolov8n)', FaceDetectBenchmark('n', 'v1')),
            ('face v0 (yolov8s)', FaceDetectBenchmark('s', 'v0')),
+0 −2515

File deleted.

Preview size limit exceeded, changes collapsed.

+0 −526

File deleted.

Preview size limit exceeded, changes collapsed.

+4 −4
Original line number Diff line number Diff line
@@ -30,14 +30,14 @@ _VERSIONS = {


@lru_cache()
def _open_face_detect_model(level: str = 's', version: str = 'v1'):
def _open_face_detect_model(level: str = 's', version: str = 'v1.3'):
    return open_onnx_model(hf_hub_download(
        'deepghs/imgutils-models',
        f'face_detect/face_detect_{_VERSIONS[version]}best_{level}.onnx'
        f'deepghs/anime_face_detection',
        f'face_detect_{version}_{level}/model.onnx'
    ))


def detect_faces(image: ImageTyping, level: str = 's', version: str = 'v1', max_infer_size=640,
def detect_faces(image: ImageTyping, level: str = 's', version: str = 'v1.3', max_infer_size=640,
                 conf_threshold: float = 0.45, iou_threshold: float = 0.7) \
        -> List[Tuple[Tuple[int, int, int, int], str, float]]:
    """
+4 −4
Original line number Diff line number Diff line
@@ -24,10 +24,10 @@ class TestDetectHead:
            values.append((bbox, int(score * 1000) / 1000))

        assert values == pytest.approx([
            ((963, 139, 1087, 265), 0.847),
            ((242, 205, 336, 290), 0.807),
            ((477, 279, 526, 330), 0.7),
            ((658, 464, 708, 513), 0.699),
            ((966, 141, 1084, 261), 0.852),
            ((247, 206, 330, 287), 0.799),
            ((479, 282, 523, 327), 0.689),
            ((662, 465, 705, 513), 0.681),
        ])

    def test_detect_faces_none(self):