ly261666 yingda.chen 3 years ago
parent
commit
f4ca0b8aab
4 changed files with 30 additions and 2 deletions
  1. +22
    -0
      modelscope/models/cv/face_detection/__init__.py
  2. +1
    -0
      modelscope/models/cv/face_detection/retinaface/__init__.py
  3. +2
    -0
      modelscope/pipelines/cv/__init__.py
  4. +5
    -2
      modelscope/pipelines/cv/retina_face_detection_pipeline.py

+ 22
- 0
modelscope/models/cv/face_detection/__init__.py View File

@@ -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={},
)

+ 1
- 0
modelscope/models/cv/face_detection/retinaface/__init__.py View File

@@ -0,0 +1 @@
from .detection import RetinaFaceDetection

+ 2
- 0
modelscope/pipelines/cv/__init__.py View File

@@ -47,6 +47,7 @@ if TYPE_CHECKING:
from .easycv_pipelines import EasyCVDetectionPipeline, EasyCVSegmentationPipeline, Face2DKeypointsPipeline from .easycv_pipelines import EasyCVDetectionPipeline, EasyCVSegmentationPipeline, Face2DKeypointsPipeline
from .text_driven_segmentation_pipleline import TextDrivenSegmentationPipleline from .text_driven_segmentation_pipleline import TextDrivenSegmentationPipleline
from .movie_scene_segmentation_pipeline import MovieSceneSegmentationPipeline from .movie_scene_segmentation_pipeline import MovieSceneSegmentationPipeline
from .retina_face_detection_pipeline import RetinaFaceDetectionPipeline
from .facial_expression_recognition_pipeline import FacialExpressionRecognitionPipeline from .facial_expression_recognition_pipeline import FacialExpressionRecognitionPipeline


else: else:
@@ -107,6 +108,7 @@ else:
['TextDrivenSegmentationPipeline'], ['TextDrivenSegmentationPipeline'],
'movie_scene_segmentation_pipeline': 'movie_scene_segmentation_pipeline':
['MovieSceneSegmentationPipeline'], ['MovieSceneSegmentationPipeline'],
'retina_face_detection_pipeline': ['RetinaFaceDetectionPipeline'],
'facial_expression_recognition_pipelin': 'facial_expression_recognition_pipelin':
['FacialExpressionRecognitionPipeline'] ['FacialExpressionRecognitionPipeline']
} }


+ 5
- 2
modelscope/pipelines/cv/retina_face_detection_pipeline.py View File

@@ -1,10 +1,13 @@
import os.path as osp import os.path as osp
from typing import Any, Dict from typing import Any, Dict


import cv2
import numpy as np import numpy as np
import PIL
import torch


from modelscope.metainfo import Pipelines 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.outputs import OutputKeys
from modelscope.pipelines.base import Input, Pipeline from modelscope.pipelines.base import Input, Pipeline
from modelscope.pipelines.builder import PIPELINES from modelscope.pipelines.builder import PIPELINES
@@ -28,7 +31,7 @@ class RetinaFaceDetectionPipeline(Pipeline):
super().__init__(model=model, **kwargs) super().__init__(model=model, **kwargs)
ckpt_path = osp.join(model, ModelFile.TORCH_MODEL_FILE) ckpt_path = osp.join(model, ModelFile.TORCH_MODEL_FILE)
logger.info(f'loading model from {ckpt_path}') logger.info(f'loading model from {ckpt_path}')
detector = detection.RetinaFaceDetection(
detector = RetinaFaceDetection(
model_path=ckpt_path, device=self.device) model_path=ckpt_path, device=self.device)
self.detector = detector self.detector = detector
logger.info('load model done') logger.info('load model done')


Loading…
Cancel
Save