diff --git a/modelscope/models/cv/face_detection/__init__.py b/modelscope/models/cv/face_detection/__init__.py index e69de29b..a3c47164 100644 --- a/modelscope/models/cv/face_detection/__init__.py +++ b/modelscope/models/cv/face_detection/__init__.py @@ -0,0 +1,22 @@ +# Copyright (c) Alibaba, Inc. and its affiliates. +from typing import TYPE_CHECKING + +from modelscope.utils.import_utils import LazyImportModule + +if TYPE_CHECKING: + from .retinaface import RetinaFaceDetection + +else: + _import_structure = { + 'retinaface': ['RetinaFaceDetection'], + } + + import sys + + sys.modules[__name__] = LazyImportModule( + __name__, + globals()['__file__'], + _import_structure, + module_spec=__spec__, + extra_objects={}, + ) diff --git a/modelscope/models/cv/face_detection/retinaface/__init__.py b/modelscope/models/cv/face_detection/retinaface/__init__.py index e69de29b..779aaf1c 100644 --- a/modelscope/models/cv/face_detection/retinaface/__init__.py +++ b/modelscope/models/cv/face_detection/retinaface/__init__.py @@ -0,0 +1 @@ +from .detection import RetinaFaceDetection diff --git a/modelscope/pipelines/cv/__init__.py b/modelscope/pipelines/cv/__init__.py index ac1ed82c..960ed621 100644 --- a/modelscope/pipelines/cv/__init__.py +++ b/modelscope/pipelines/cv/__init__.py @@ -47,6 +47,7 @@ if TYPE_CHECKING: from .easycv_pipelines import EasyCVDetectionPipeline, EasyCVSegmentationPipeline, Face2DKeypointsPipeline from .text_driven_segmentation_pipleline import TextDrivenSegmentationPipleline from .movie_scene_segmentation_pipeline import MovieSceneSegmentationPipeline + from .retina_face_detection_pipeline import RetinaFaceDetectionPipeline from .facial_expression_recognition_pipeline import FacialExpressionRecognitionPipeline else: @@ -107,6 +108,7 @@ else: ['TextDrivenSegmentationPipeline'], 'movie_scene_segmentation_pipeline': ['MovieSceneSegmentationPipeline'], + 'retina_face_detection_pipeline': ['RetinaFaceDetectionPipeline'], 'facial_expression_recognition_pipelin': ['FacialExpressionRecognitionPipeline'] } diff --git a/modelscope/pipelines/cv/retina_face_detection_pipeline.py b/modelscope/pipelines/cv/retina_face_detection_pipeline.py index 20111c11..b8c64405 100644 --- a/modelscope/pipelines/cv/retina_face_detection_pipeline.py +++ b/modelscope/pipelines/cv/retina_face_detection_pipeline.py @@ -1,10 +1,13 @@ import os.path as osp from typing import Any, Dict +import cv2 import numpy as np +import PIL +import torch from modelscope.metainfo import Pipelines -from modelscope.models.cv.face_detection.retinaface import detection +from modelscope.models.cv.face_detection import RetinaFaceDetection from modelscope.outputs import OutputKeys from modelscope.pipelines.base import Input, Pipeline from modelscope.pipelines.builder import PIPELINES @@ -28,7 +31,7 @@ class RetinaFaceDetectionPipeline(Pipeline): super().__init__(model=model, **kwargs) ckpt_path = osp.join(model, ModelFile.TORCH_MODEL_FILE) logger.info(f'loading model from {ckpt_path}') - detector = detection.RetinaFaceDetection( + detector = RetinaFaceDetection( model_path=ckpt_path, device=self.device) self.detector = detector logger.info('load model done')