综合介绍
DCT-Net 是一个由 DAMO 学院和北京大学王选计算机技术研究所共同开发的开源项目,旨在实现图像的动漫风格化转换。该项目利用深度学习技术,通过域校准翻译(Domain-Calibrated Translation)的方法,将自然照片无缝转换为各种艺术风格,如动画、3D、手绘、素描等。DCT-Net 提供多种预训练模型,并支持自定义风格数据的训练,适用于个人娱乐、创意设计以及电影和游戏行业。
功能列表
- 提供多种预训练模型,涵盖广泛的艺术风格
- 支持自定义风格数据的训练
- 在线试用,无需本地环境配置
- 高效性能,支持 CPU 和 GPU 环境
- 适用于图片和视频的风格转换
使用帮助
安装与配置
- 安装依赖:首先需要安装
modelscope
库,可以通过以下命令进行安装:pip install "modelscope[cv]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
- 下载预训练模型:在第一次运行代码时,模型会自动下载预训练文件。
图片风格转换
- 定义模型:定义 DCT-Net 模型转换人脸风格的五种类型:
model_dict = { "anime": "damo/cv_unet_person-image-cartoon_compound-models", "3d": "damo/cv_unet_person-image-cartoon-3d_compound-models", "handdrawn": "damo/cv_unet_person-image-cartoon-handdrawn_compound-models", "sketch": "damo/cv_unet_person-image-cartoon-sketch_compound-models", "art": "damo/cv_unet_person-image-cartoon-artstyle_compound-models" }
- 加载图片并进行转换:
import os import cv2 from IPython.display import Image, display, clear_output from modelscope.pipelines import pipeline from modelscope.utils.constant import Tasks from modelscope.outputs import OutputKeys style = "anime" # 可选 "anime", "3d", "handdrawn", "sketch", "art" filename = "4.jpg" img_path = 'picture/' + filename
视频风格转换
- 提取视频帧:
video = 'sample_video.mp4' video_file = 'movie/' + video image_dir = 'movie/images/' vc = cv2.VideoCapture(video_file) i = 0 if vc.isOpened(): rval, frame = vc.read() while rval: cv2.imwrite(image_dir + str(i) + '.jpg', frame) i += 1 rval, frame = vc.read() vc.release()
- 转换视频帧:使用与图片转换相同的方法对每一帧进行风格转换,然后将转换后的帧合并为视频。