Introdução geral
O DCT-Net é um projeto de código aberto desenvolvido pela DAMO Academy e pelo Instituto Wang Xuan de Tecnologia da Computação da Universidade de Pequim, com o objetivo de realizar a conversão estilizada de imagens para animação. O projeto usa técnicas de aprendizagem profunda para converter perfeitamente fotos naturais em vários estilos de arte, como animação, 3D, pintura à mão, esboços etc., usando a tradução calibrada por domínio. O DCT-Net fornece uma variedade de modelos de pré-treinamento e oferece suporte ao treinamento de dados de estilo personalizados, o que é adequado para entretenimento pessoal, design criativo, bem como para os setores de filmes e jogos. e para os setores de filmes e jogos.
Lista de funções
- Fornece uma grande variedade de modelos pré-treinados que abrangem uma grande variedade de estilos artísticos
- Suporte para treinamento com dados de estilo personalizados
- Avaliação on-line, sem necessidade de configuração do ambiente local
- Desempenho eficiente, compatível com ambientes de CPU e GPU
- Conversão de estilo para imagens e vídeos
Usando a Ajuda
Instalação e configuração
- Instalação de dependências: Primeiro, você precisa instalar o
modelscope
que pode ser instalada com o seguinte comando:pip install "modelscope[cv]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
- Download do modelo pré-treinadoNa primeira execução do código, o modelo baixa automaticamente o arquivo de pré-treinamento.
Conversão de estilo de imagem
- Definição do modeloDefinição de cinco tipos de estilos de rosto a serem convertidos pelo modelo 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" }
- Carregar imagens e convertê-las::
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
Conversão de estilo de vídeo
- Extrair quadros de vídeo::
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()
- Conversão de quadros de vídeoEstilo: estilize cada quadro usando o mesmo método utilizado para a conversão de imagens e, em seguida, mescle os quadros convertidos em um vídeo.