Nab主题,更专业的导航主题
Ctrl + D 收藏本站
当前位置:首页 » AI工具库

DCT-Net:照片和视频转绘为动漫风格化的开源工具

2024-09-30 1.1 K

综合介绍

DCT-Net 是一个由 DAMO 学院和北京大学王选计算机技术研究所共同开发的开源项目,旨在实现图像的动漫风格化转换。该项目利用深度学习技术,通过域校准翻译(Domain-Calibrated Translation)的方法,将自然照片无缝转换为各种艺术风格,如动画、3D、手绘、素描等。DCT-Net 提供多种预训练模型,并支持自定义风格数据的训练,适用于个人娱乐、创意设计以及电影和游戏行业。

DCT-Net:照片和视频转绘为动漫风格化的开源工具-1

 

功能列表

  • 提供多种预训练模型,涵盖广泛的艺术风格
  • 支持自定义风格数据的训练
  • 在线试用,无需本地环境配置
  • 高效性能,支持 CPU 和 GPU 环境
  • 适用于图片和视频的风格转换

 

使用帮助

安装与配置

  1. 安装依赖:首先需要安装 modelscope 库,可以通过以下命令进行安装:
    pip install "modelscope[cv]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
    
  2. 下载预训练模型:在第一次运行代码时,模型会自动下载预训练文件。

图片风格转换

  1. 定义模型:定义 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"
    }
    
  2. 加载图片并进行转换
    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
    
    img_anime = pipeline(Tasks.image_portrait_stylization, model=model_dict["anime"])
    result = img_anime(img_path)
    
    save_name = 'picture/images/' + os.path.splitext(filename)[0] + '_' + style + '.jpg'
    cv2.imwrite(save_name, result[OutputKeys.OUTPUT_IMG])
    clear_output()
    display(Image(save_name))
    

视频风格转换

  1. 提取视频帧
    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()
    
  2. 转换视频帧:使用与图片转换相同的方法对每一帧进行风格转换,然后将转换后的帧合并为视频。

 

 

一键安装包下载

首席AI分享圈此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“首席AI分享圈”或者“Looks-AI”或者微信扫描右侧二维码都可以关注本站微信公众号。

相关推荐

找不到AI工具?在这试试!

输入关键词,即可 无障碍访问 必应 搜索,快速找到本站所有 AI 工具。

扫码关注

qrcode

联系我们

回顶部

zh_CN简体中文