You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
2.8 KiB

# Copyright (c) OpenMMLab. All rights reserved.
runner = dict(
name='FaceSwap',
camera_id=0,
camera_fps=20,
synchronous=False,
nodes=[
dict(
type='DetectorNode',
name='Detector',
model_config='demo/mmdetection_cfg/'
'ssdlite_mobilenetv2_scratch_600e_coco.py',
model_checkpoint='https://download.openmmlab.com'
'/mmdetection/v2.0/ssd/'
'ssdlite_mobilenetv2_scratch_600e_coco/ssdlite_mobilenetv2_'
'scratch_600e_coco_20210629_110627-974d9307.pth',
device='cpu',
input_buffer='_input_', # `_input_` is a runner-reserved buffer
output_buffer='det_result'),
dict(
type='TopDownPoseEstimatorNode',
name='TopDown Pose Estimator',
model_config='configs/wholebody/2d_kpt_sview_rgb_img/'
'topdown_heatmap/coco-wholebody/'
'vipnas_res50_coco_wholebody_256x192_dark.py',
model_checkpoint='https://openmmlab-share.oss-cn-hangzhou'
'.aliyuncs.com/mmpose/top_down/vipnas/'
'vipnas_res50_wholebody_256x192_dark-67c0ce35_20211112.pth',
device='cpu',
cls_names=['person'],
input_buffer='det_result',
output_buffer='pose_result'),
dict(
type='ModelResultBindingNode',
name='ResultBinder',
frame_buffer='_frame_', # `_frame_` is a runner-reserved buffer
result_buffer='pose_result',
output_buffer='frame'),
dict(
type='FaceSwapNode',
name='FaceSwapper',
mode_key='s',
frame_buffer='frame',
output_buffer='face_swap'),
dict(
type='PoseVisualizerNode',
name='Visualizer',
enable_key='v',
frame_buffer='face_swap',
output_buffer='vis_pose'),
dict(
type='NoticeBoardNode',
name='Help Information',
enable_key='h',
content_lines=[
'Swap your faces! ',
'Hot-keys:',
'"v": Toggle the pose visualization on/off.',
'"s": Switch between modes: Shuffle, Clone and None',
'"h": Show help information',
'"m": Show diagnostic information',
'"q": Exit',
],
frame_buffer='vis_pose',
output_buffer='vis_notice'),
dict(
type='MonitorNode',
name='Monitor',
enable_key='m',
enable=False,
frame_buffer='vis_notice',
output_buffer='display'),
dict(
type='RecorderNode',
name='Recorder',
out_video_file='faceswap_output.mp4',
frame_buffer='display',
output_buffer='_display_')
])