Browse Source

[to #42322933] rename task of person_image_cartoon and fix a bug

- 应工程同学要求,修改原使用的一级task(image-generation)至新二级task(image-cartoon)

- 修复无人脸时无图像结果返回,更新为 返回背景卡通化后的图像(无人脸卡通化处理)
        Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/9594912
master
myf272609 yingda.chen 3 years ago
parent
commit
6940d7720e
4 changed files with 14 additions and 10 deletions
  1. +1
    -1
      modelscope/pipelines/builder.py
  2. +7
    -6
      modelscope/pipelines/cv/image_cartoon_pipeline.py
  3. +1
    -0
      modelscope/utils/constant.py
  4. +5
    -3
      tests/pipelines/test_person_image_cartoon.py

+ 1
- 1
modelscope/pipelines/builder.py View File

@@ -60,7 +60,7 @@ DEFAULT_MODEL_FOR_PIPELINE = {
'damo/nlp_bart_text-error-correction_chinese'),
Tasks.image_captioning: (Pipelines.image_captioning,
'damo/ofa_image-caption_coco_large_en'),
Tasks.image_generation:
Tasks.image_portrait_stylization:
(Pipelines.person_image_cartoon,
'damo/cv_unet_person-image-cartoon_compound-models'),
Tasks.ocr_detection: (Pipelines.ocr_detection,


+ 7
- 6
modelscope/pipelines/cv/image_cartoon_pipeline.py View File

@@ -25,7 +25,8 @@ logger = get_logger()


@PIPELINES.register_module(
Tasks.image_generation, module_name=Pipelines.person_image_cartoon)
Tasks.image_portrait_stylization,
module_name=Pipelines.person_image_cartoon)
class ImageCartoonPipeline(Pipeline):

def __init__(self, model: str, **kwargs):
@@ -85,11 +86,6 @@ class ImageCartoonPipeline(Pipeline):

img_brg = img[:, :, ::-1]

landmarks = self.detect_face(img)
if landmarks is None:
print('No face detected!')
return {OutputKeys.OUTPUT_IMG: None}

# background process
pad_bg, pad_h, pad_w = padTo16x(img_brg)

@@ -99,6 +95,11 @@ class ImageCartoonPipeline(Pipeline):
feed_dict={'model_anime_bg/input_image:0': pad_bg})
res = bg_res[:pad_h, :pad_w, :]

landmarks = self.detect_face(img)
if landmarks is None:
print('No face detected!')
return {OutputKeys.OUTPUT_IMG: res}

for landmark in landmarks:
# get facial 5 points
f5p = get_f5p(landmark, img_brg)


+ 1
- 0
modelscope/utils/constant.py View File

@@ -43,6 +43,7 @@ class CVTasks(object):
video_category = 'video-category'
image_classification_imagenet = 'image-classification-imagenet'
image_classification_dailylife = 'image-classification-dailylife'
image_portrait_stylization = 'image-portrait-stylization'
image_to_image_generation = 'image-to-image-generation'




+ 5
- 3
tests/pipelines/test_person_image_cartoon.py View File

@@ -33,17 +33,19 @@ class ImageCartoonTest(unittest.TestCase):
)
os.system('unzip assets.zip')

img_cartoon = pipeline(Tasks.image_generation, model=model_dir)
img_cartoon = pipeline(
Tasks.image_portrait_stylization, model=model_dir)
self.pipeline_inference(img_cartoon, self.test_image)

@unittest.skipUnless(test_level() >= 1, 'skip test in current test level')
def test_run_modelhub(self):
img_cartoon = pipeline(Tasks.image_generation, model=self.model_id)
img_cartoon = pipeline(
Tasks.image_portrait_stylization, model=self.model_id)
self.pipeline_inference(img_cartoon, self.test_image)

@unittest.skipUnless(test_level() >= 2, 'skip test in current test level')
def test_run_modelhub_default_model(self):
img_cartoon = pipeline(Tasks.image_generation)
img_cartoon = pipeline(Tasks.image_portrait_stylization)
self.pipeline_inference(img_cartoon, self.test_image)




Loading…
Cancel
Save