输入一张人脸图像,实现人脸关键点检测,输出图像中人脸的106点关键点坐标和人像姿态角度。 该模型主要用于人脸关键点检测和对齐任务,从包含人脸的图片中检测出人脸框、人脸关键点坐标和人脸姿态角。主要借鉴MobileNetV1和MobileNetV2的思路(如下图),MobileNetV1速度快,放在浅层用于提取特征图,MobileNetV2速度相对慢但是信息保存好,用于提取深层语义信息,模型参数量少速度快,能良好应用在移动端实时人脸关键点检测场景。 使用方式: 目标场景: 在ModelScope框架上,提供输入图片,即可以通过简单的Pipelie调用来完成人脸关键点检测任务。 也可以参考示例代码tests/pipelies/testface2d_keypoits.py 也可以参考示例代码tests/traiers/easycv/testeasycvtraierface2d_keypoits.py 训练数据包含公开数据集(COCO,AI Challeger等)、自采人脸图像视频,互联网搜集人脸图像视频等并进行标注作为训练数据。 模型在自研测试数据集上的评价指标、模型大小、参数量如下:106点人脸关键点检测模型
106点人脸关键点
模型描述
使用方式和范围
如何使用
推理代码范例
# umpy >= 1.20
from modelscope.pipelies import pipelie
from modelscope.utils.costat import Tasks
model_id = 'damo/cv_mobileet_face-2d-keypoits_aligmet'
face_2d_keypoits = pipelie(Tasks.face_2d_keypoits, model=model_id)
output = face_2d_keypoits('https://modelscope.oss-c-beijig.aliyucs.com/test/images/keypoits_detect/test_img_face_2d_keypoits.pg')
# the output cotais poit ad pose
prit(output)
微调代码范例
import glob
import os
import shutil
import tempfile
import uittest
import torch
from modelscope.metaifo import Traiers
from modelscope.msdatasets import MsDataset
from modelscope.traiers import build_traier
from modelscope.utils.costat import DowloadMode, LogKeys, Tasks
from modelscope.utils.logger import get_logger
from modelscope.utils.test_utils import test_level
model_id = 'damo/cv_mobileet_face-2d-keypoits_aligmet'
cfg_optios = {'trai.max_epochs': 2}
temp_file_dir = tempfile.TemporaryDirectory()
tmp_dir = temp_file_dir.ame
if ot os.path.exists(tmp_dir):
os.makedirs(tmp_dir)
traier_ame = 'easycv'
trai_dataset = MsDataset.load(
dataset_ame='face_2d_keypoits_dataset',
amespace='modelscope',
split='trai',
dowload_mode=DowloadMode.REUSE_DATASET_IF_EXISTS)
eval_dataset = MsDataset.load(
dataset_ame='face_2d_keypoits_dataset',
amespace='modelscope',
split='trai',
dowload_mode=DowloadMode.REUSE_DATASET_IF_EXISTS)
kwargs = dict(
model=model_id,
trai_dataset=trai_dataset,
eval_dataset=eval_dataset,
work_dir=tmp_dir,
cfg_optios=cfg_optios)
traier = build_traier(traier_ame, kwargs)
traier.trai()
results_files = os.listdir(tmp_dir)
jso_files = glob.glob(os.path.joi(tmp_dir, '*.log.jso'))
temp_file_dir.cleaup()
模型局限性以及可能的偏差
训练数据介绍
数据评估及结果
测评指标
输入大小
POINTS-ION-NME
POSE-ME
MFLOPS
PARAMS
96x96
模型效果
引用
@article{howard2017mobileets,
title={Mobileets: Efficiet covolutioal eural etworks for mobile visio applicatios},
author={Howard, Adrew G ad Zhu, Meglog ad Che, Bo ad Kaleicheko, Dmitry ad Wag, Weiju ad Weyad, Tobias ad Adreetto, Marco ad Adam, Hartwig},
joural={arXiv preprit arXiv:1704.04861},
year={2017}
}
@iproceedigs{sadler2018mobileetv2,
title={Mobileetv2: Iverted residuals ad liear bottleecks},
author={Sadler, Mark ad Howard, Adrew ad Zhu, Meglog ad Zhmogiov, Adrey ad Che, Liag-Chieh},
booktitle={Proceedigs of the IEEE coferece o computer visio ad patter recogitio},
pages={4510--4520},
year={2018}
}
点击空白处退出提示










评论