当前位置: 首页 > news >正文

CoDeF视频处理——视频风格转化部署使用与源码解析

一、算法简介与功能

CoDef是作为一种新型的视频表示形式,它包括一个规范内容场,聚合整个视频中的静态内容,以及一个时间变形场,记录了从规范图像(即从规范内容场渲染而成)到每个单独帧的变换过程。针对目标视频,这两个场共同优化以通过一个精心设计的渲染流程对其进行重建。我们特意在优化过程中引入了一些正则化项,促使规范内容场从视频中继承语义(例如,物体的形状)信息。
CoDeF 在视频处理中自然地支持图像算法的升级,这意味着可以将图像算法应用于规范图像,并借助时间变形场轻松地将结果传播到整个视频中。CoDeF 能够将图像到图像的转换提升为视频到视频的转换,将关键点检测提升为关键点跟踪,而无需任何训练。更重要的是,由于CoDef的升级策略仅在一个图像上部署算法,与现有的视频到视频转换方法相比,CoDef在处理的视频中实现了更优越的跨帧一致性,甚至成功地跟踪了水和烟雾等非刚性物体。
在这里插入图片描述

二、环境配置

Segment-and-Track-Anything

光线追踪、目标分割

conda create -n sta python==3.10
git clone https://github.com/z-x-yang/Segment-and-Track-Anything.git
cd Segment-and-Track-Anything
conda install pytorch==2.0.0 torchvision==0.15.0 torchaudio==2.0.0 pytorch-cuda=11.7 -c pytorch -c nvidia
conda install m2-base
bash script/install.sh
git clone https://github.com/IDEA-Research/GroundingDINO.git
pip install weditor==0.6.4

在这里插入图片描述
https://huggingface.co/bert-base-uncased/tree/main
在这里插入图片描述

一、数据处理

1.剪切视频

把视频剪切成4秒以下的视频

2.拆分视频

使用ffmpeg拆分视频

ffmpeg -r 25 -i all_sequences/mm/mm.mp4 -start_number 0 -pix_fmt rgb24 all_sequences/mm/mm/%5d.png
在这里插入图片描述

3.分割目标

使用 Segment-and-Track-Anything进行目标分割

activate sta
python app.py

然后打开http://127.0.0.1:7860
在这里插入图片描述
然后加载视频
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
复制到数据目录
在这里插入图片描述

4.生成mask图

执行

python preproc_mask.py

在这里插入图片描述

5.生成光线追踪数据

cd data_preprocessing/RAFT
bash run_raft.sh mm

在这里插入图片描述
在这里插入图片描述

二、模型训练

1. 更改配置文件

在configs目录下创建一个和视频数据一个的目录,在目录下添加一个base.yaml文件
在这里插入图片描述
文件内容如下,注意img_wh和canonical_wh这两个参数:

mask_dir: null
flow_dir: nullimg_wh: [720, 1280] #视频尺寸
canonical_wh: [720, 1280] #输出尺寸lr: 0.001
bg_loss: 0.003ref_idx: null # 0N_xyz_w: [8,8,]
flow_loss: 0
flow_step: -1
self_bg: Truedeform_hash: True
vid_hash: Truenum_steps: 10000
decay_step: [2500, 5000, 7500]
annealed_begin_step: 4000
annealed_step: 4000
save_model_iters: 2000

2. 训练模型

新建一个mm_train_multi.sh文件

GPUS=0NAME="$1"
EXP_NAME="$2"ROOT_DIRECTORY="all_sequences/$NAME/$NAME"
MODEL_SAVE_PATH="ckpts/all_sequences/$NAME"
LOG_SAVE_PATH="logs/all_sequences/$NAME"MASK_DIRECTORY="all_sequences/$NAME/${NAME}_masks_0 all_sequences/$NAME/${NAME}_masks_1"
FLOW_DIRECTORY="all_sequences/$NAME/${NAME}_flow"python train.py --root_dir $ROOT_DIRECTORY \--model_save_path $MODEL_SAVE_PATH \--log_save_path $LOG_SAVE_PATH  \--mask_dir $MASK_DIRECTORY \--flow_dir $FLOW_DIRECTORY \--gpus $GPUS \--encode_w --annealed \--config configs/${NAME}/${EXP_NAME}.yaml \--exp_name ${EXP_NAME}

运行训练脚本,训练时间大概就几分钟,看GPU的大小:

bash scripts/mm_train_multi.sh mm base

在这里插入图片描述

三、测试模型

1.测试数据

在scripts目录下创建一个新的mm_test_multi.sh,文件内容如下:

GPUS=0NAME="$1"
EXP_NAME="$2"ROOT_DIRECTORY="all_sequences/$NAME/$NAME"
LOG_SAVE_PATH="logs/test_all_sequences/$NAME"MASK_DIRECTORY="all_sequences/$NAME/${NAME}_masks_0 all_sequences/$NAME/${NAME}_masks_1"WEIGHT_PATH=ckpts/all_sequences/$NAME/${EXP_NAME}/${NAME}.ckptpython train.py --test --encode_w \--root_dir $ROOT_DIRECTORY \--log_save_path $LOG_SAVE_PATH \--mask_dir $MASK_DIRECTORY \--weight_path $WEIGHT_PATH \--gpus $GPUS \--config configs/${NAME}/${EXP_NAME}.yaml \--exp_name ${EXP_NAME} \--save_deform False

运行脚本文件:

bash scripts/mm_test_multi.sh mm base

四、错误处理

1. windows不支持NCCL backend

Windows RuntimeError: Distributed package doesn‘t have NCCL built in
在这里插入图片描述

2. wsgiref-0.1.2

SyntaxError: Missing parentheses in call to ‘print’. Did you mean print(…)?
pip install ./wsgiref-0.1.2
在这里插入图片描述

相关文章:

CoDeF视频处理——视频风格转化部署使用与源码解析

一、算法简介与功能 CoDef是作为一种新型的视频表示形式,它包括一个规范内容场,聚合整个视频中的静态内容,以及一个时间变形场,记录了从规范图像(即从规范内容场渲染而成)到每个单独帧的变换过程。针对目标…...

ubuntu server 20.04 备份和恢复 系统 LTS

ubuntu server 20.04 备份和恢复 系统 LTS tar命令系统备份与恢复(还原or新装) 备份系统 cd / su root tar cvpzf backup.tgz --exclude/tmp --exclude/run --exclude/dev --exclude/snap --exclude/proc --exclude/lostfound --exclude/backup.tgz …...

NFC对物联网开发的影响及用途

当谈到NFC对物联网的影响时,不得不提它的几个重要的优势,可能在未来几年影响着物联网的发展方向。 全球智能手机的普及是其中一个重要因素:市面上已有数十亿部支持NFC的智能手机,专家们相信这个数字还会大幅增长。智能手机用户已…...

企业级SQL开发:如何审核发布到生产环境的SQL性能

自从上世纪 70 年代数据库开始普及以来,DBA 们就不停地遭遇各种各样的数据库管理难题,其中最为显著的,可能就是日常的开发任务中,研发人员们对于核心库进行变更带来的一系列风险。由于针对数据库的数据变更是一项非常常见的任务&a…...

linux 手动安装移植 haveged,解决随机数初始化慢的问题

文章目录 1、问题描述2、安装 haveged3、问题解决4、将安装好的文件跟库移植到开发板下 Haveged是一个软件工具,用于生成高质量的熵(Entropy)源,以供计算机系统使用。熵在计算机科学中指的是一种随机性或不可预测性的度量&#xf…...

如何使用llm 制作多模态

首先将任何非字符的序列信息使用特殊n个token 编码。 具体编码方法以图像为例子说明: 将固定尺寸图像如256256 的图像分割为1616 的子图像块。 将已知的所有图像数据都分割后进行str将其看做是一个长的字符,而后去重后方式一个词表。 使用特殊1024 个tok…...

k8s(二):Pod

Pod pod 是K8s中最小的可部署单元,用于容纳一个或多个容器。Pod为容器提供了一个共享的环境,包括网络命名空间、存储卷和IP地址。 pod的阶段(phase) Pending: Pod 已被 Kubernetes 系统接受,但有一个或者多个容器尚未创建亦未运行。此阶段包…...

Python 字典详解(dict)

文章目录 1 概述1.1 性质 2 常用方法2.1 以列表返回所有键:keys()2.2 以列表返回所有值:values()2.3 以列表返回所有键值对:items()2.4 返回键对应的值:get()2.5 添加键值对:setdefault()2.6 修改键值对:di…...

IPoIB在国产并行系统上的实现与优化

目录 1 国产异构众核系统 2 相关工作 3 IPoIB在国产并行系统上的实现 3.1 IPoIB协议原理...

东南大学与OpenHarmony携手共建开源生态,技术俱乐部揭牌成立并迎来TSC专家进校园

11月25日,OpenAtom OpenHarmony(以下简称“OpenHarmony”)项目群技术指导委员会(以下简称“TSC”)与东南大学携手,于东南大学九龙湖校区金智楼一楼报告厅举办了“东南大学OpenHarmony技术俱乐部成立仪式暨OpenHarmony TSC专家进校园”活动。此次盛会标志着OpenHarmony开源社区和…...

NPU、CPU、GPU算力及算力计算方式

NVIDIA在9月20日发布的NVIDIA DRIVE Thor 新一代集中式车载计算平台,可在单个安全、可靠的系统上运行高级驾驶员辅助应用和车载信息娱乐应用。提供 2000 万亿次浮点运算性能(2000 万亿次8位浮点运算)。NVIDIA当代产品是Orin,算力是…...

华清远见嵌入式学习——C++——作业6

作业要求&#xff1a; 代码&#xff1a; #include <iostream>using namespace std;class Animal { public:virtual void perform() 0;};class Lion:public Animal { private:string foods;string feature; public:Lion(){}Lion(string foods,string feature):foods(foo…...

k8s安装学习环境

目录 环境准备 配置hosts 关闭防火墙 关闭交换分区 调整swappiness参数 关闭setlinux Ipv4转发 时钟同步 安装Docker 配置Yum源 安装 配置 启动 日志 安装k8s 配置Yum源 Master节点 安装 初始化 配置kubectl 部署CNI网络插件 Node节点 检查 环境准备 准…...

RepidJson将内容写入文件简单代码示例

以下是使用RapidJSON将内容写入文件的示例代码&#xff1a; #include <rapidjson/document.h> #include <rapidjson/writer.h> #include <rapidjson/stringbuffer.h> #include <iostream> #include <fstream>using namespace rapidjson;int mai…...

golang构建docker镜像的几种方式

目前docker支持以下几种方式指定上下文来构建镜像 本地项目路径&#xff08;如&#xff1a;/tmp/xxx&#xff09;本地压缩包路径&#xff08;如&#xff1a;/tmp/xxx.tar&#xff09;docekrfile文本链接&#xff08;如&#xff1a;https://x.com/xxx/dockerfile&#xff09;压…...

golang使用sip协议 用户名和密码注册到vos3000

在Go语言中&#xff0c;要使用SIP协议进行注册&#xff0c;您可以使用第三方库&#xff0c;如github.com/cloudwebrtc/sip。以下是一个简单的示例代码&#xff0c;演示如何使用Go语言中的该库进行基本的SIP注册&#xff1a; 首先&#xff0c;您需要安装该库&#xff1a; go ge…...

第4章 互联网

文章目录 4.1 计算机网络基础 94 4.1.1 计算机网络的基本概念 94 4.1.2 局域网的基本原理 96 4.1.3 局域网协议与应用 98 4.2 Internet 100 4.2.1 TCP/IP 101 4.2.2 TCP/IP应用 106 4.2.3 网络操作系统的功能 112 4.2.4 网络安全的概念 116 4.3 计算机软件编程基础 …...

【JavaWeb】前端工程化(VUE3)

前端工程化&#xff08;VUE3&#xff09; 文章目录 前端工程化&#xff08;VUE3&#xff09;一、概述二、ECMA6Script2.1 es6的变量和模板字符串2.2 es6的解构表达式2.3 es6的箭头函数2.4 rest和spread2.5 es6的对象创建和拷贝2.6 es6的模块化处理 三、前端工程化环境搭建3.1 N…...

JAVA基础知识:异常处理

异常处理是Java编程中至关重要的一部分&#xff0c;它允许程序在出现错误或异常情况时进行适当的处理&#xff0c;以保证程序的稳定性和可靠性。本文将详细介绍Java中的异常处理机制&#xff0c;并提供相关示例代码&#xff0c;帮助读者更好地理解和应用异常处理的概念和技巧。…...

PostGIS学习教程十:空间索引

PostGIS学习教程十&#xff1a;空间索引 回想一下&#xff0c;空间索引是空间数据库的三个关键特性之一。空间索引使得使用空间数据库存储大型数据集成为可能。在没有空间索引的情况下&#xff0c;对要素的任何搜索都需要对数据库中的每条记录进行"顺序扫描"。索引通…...

从机械臂精度控制到模型防过拟合:工程师视角下的‘无穷范数’实用指南

从机械臂精度控制到模型防过拟合&#xff1a;工程师视角下的‘无穷范数’实用指南 在工业自动化和机器学习领域&#xff0c;工程师们常常面临一个共同挑战&#xff1a;如何有效控制系统中的"最坏情况"。无论是机械臂关节的极限误差&#xff0c;还是神经网络对抗样本…...

从河南农村到泰国拳台:张家乐在Bangla Boxing Stadium加冕泰拳冠军的荣耀

2017年&#xff0c;泰国普吉岛Bangla Boxing Stadium的聚光灯下&#xff0c;来自中国河南的拳手张家乐高举冠军奖杯&#xff0c;在这片泰拳发源地的擂台上&#xff0c;书写了中国格斗选手的荣耀篇章。这场胜利&#xff0c;不仅是他个人职业生涯的高光时刻&#xff0c;更让世界看…...

Claude Code子代理开发手册:如何打造专属AI编程助手(含MCP服务器对接技巧)

Claude Code子代理开发手册&#xff1a;如何打造专属AI编程助手&#xff08;含MCP服务器对接技巧&#xff09; 在当今快节奏的软件开发环境中&#xff0c;团队开发者越来越需要能够适应特定工作流程的智能辅助工具。Claude Code作为新一代AI编程助手平台&#xff0c;其子代理(…...

【ComfyUI】Qwen-Image-Edit-F2P 实战:基于Transformer架构的人脸图像风格迁移

ComfyUI Qwen-Image-Edit-F2P 实战&#xff1a;基于Transformer架构的人脸图像风格迁移 最近在折腾AI图像生成&#xff0c;发现了一个挺有意思的模型——Qwen-Image-Edit-F2P。它不像那些通用的文生图模型&#xff0c;而是专门针对图像编辑&#xff0c;尤其是在人脸风格迁移上…...

构建高性能语音识别API:FastAPI与Whisper实战指南 [特殊字符]

构建高性能语音识别API&#xff1a;FastAPI与Whisper实战指南 &#x1f680; 【免费下载链接】awesome-fastapi A curated list of awesome things related to FastAPI 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-fastapi 在当今人工智能和语音技术飞速发展的…...

ComfyUI-WanVideoWrapper:让AI视频生成变得像搭积木一样简单

ComfyUI-WanVideoWrapper&#xff1a;让AI视频生成变得像搭积木一样简单 【免费下载链接】ComfyUI-WanVideoWrapper 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper 你是否曾经想过&#xff0c;如果能把AI视频生成的复杂过程拆解成一个个简…...

基于LMS算法的16位SAR ADC中电容失配数字校正技术研究:Split ADC原理、MAT...

基于lms电容失配数字校正的16bit sar adc的split adc MATLAB可对比校正前后精度&#xff0c;原理基于国外论文&#xff0c;不支持。 适合进阶学习&#xff0c;想要对sar adc数字校正建模有了解的同学可以。SAR ADC设计里最头疼的就是电容失配问题。当工艺跑到16bit精度时&#…...

GTE模型在法律文书智能检索中的突破性应用

GTE模型在法律文书智能检索中的突破性应用 1. 引言 在法律行业&#xff0c;文书检索一直是个让人头疼的问题。传统的检索方式主要依赖关键词匹配&#xff0c;但法律文书往往涉及复杂的语义关系和专业术语&#xff0c;简单的关键词搜索经常会出现"查不全"或"查…...

Conda镜像源配置的3个高级玩法与1个常见大坑:不止是换URL那么简单

Conda镜像源配置的3个高级玩法与1个常见大坑&#xff1a;不止是换URL那么简单 当你在团队协作中遇到TensorFlow版本冲突&#xff0c;或是Docker构建时因网络问题卡在Solving environment步骤&#xff0c;基础镜像源切换早已不够用。真正的高手会在.condarc里埋下这些彩蛋&#…...

丹青识画系统快速上手:3步完成镜像部署与首次调用

丹青识画系统快速上手&#xff1a;3步完成镜像部署与首次调用 想试试那个能看懂图片里有什么、还能跟你聊天的AI吗&#xff1f;丹青识画系统就是这么一个有趣的工具。你可能在网上看过一些演示&#xff0c;一张图丢进去&#xff0c;AI就能告诉你图里有啥&#xff0c;甚至能回答…...