[总结] 视频广告秒级语义解析 代码总结

2024-04-21 11:18

本文主要是介绍[总结] 视频广告秒级语义解析 代码总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

0. 目录

1. 环境配置

1.0 环境配置:

pip install tensorflow==1.14
pip install scenedetect[opencv] #分割镜头的时候用到
pip install baidu-aip 

1.1 链接数据集

将 VideoStructuring/dataset 链接到主目录 /home/tione/notebook/algo-2021/dataset

!ln -s /home/tione/notebook/algo-2021/dataset /home/tione/notebook/VideoStructuring/dataset

2. 视频时序分割 模型训练

对于structuring任务,训练需要分为两步,视频切分标签预测

对于视频切分,需要完成特征提取(./run.sh seg_extract)与数据集生成(./run.sh seg_gt)两项任务。
为了简化操作,baseline已完成了前置步骤,用户可以直接使用下列脚本进行视频切分模型的训练。
训练完成后,模型存在于VideoStructuring/SceneSeg/run/目录下。

!sudo chmod a+x ./run.sh && ./run.sh seg_train

3. 视频幕多标签分类 模型预测

对于标签预测,需要完成 特征提取(./run.sh tag_extract)与 数据集生成(./run.sh tag_gt)两项任务。
为了简化操作,baseline已完成了前置步骤,用户可以直接使用下列脚本进行 视频标签模型 的训练。
训练完成后,模型存在于VideoStructuring/MultiModal-Tagging/checkpoints/目录下。

!sudo chmod a+x ./run.sh && ./run.sh tag_train

4. 模型测试

Baseline的测试可以直接使用 ./run.sh test [CHECKPOINT_DIR] 进行,成功执行后会在VideoStructuring/MultiModal-Tagging/results/目录下生成 structuring_tagging_5k.json结果文件。
提交这个文件就可以参与排名。
注意:   ./run.sh test  也分为 视频切分 标签预测 两个步骤,视频切分的时间比较长(32小时左右),用户可以尝试进行优化,标签预测的时间在30分钟左右。

!sudo chmod a+x ./run.sh && ./run.sh test checkpoints/structuring_train5k/export/step_7000_0.7875

这篇关于[总结] 视频广告秒级语义解析 代码总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/922949

相关文章

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

一文解析C#中的StringSplitOptions枚举

《一文解析C#中的StringSplitOptions枚举》StringSplitOptions是C#中的一个枚举类型,用于控制string.Split()方法分割字符串时的行为,核心作用是处理分割后... 目录C#的StringSplitOptions枚举1.StringSplitOptions枚举的常用

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

MyBatis延迟加载与多级缓存全解析

《MyBatis延迟加载与多级缓存全解析》文章介绍MyBatis的延迟加载与多级缓存机制,延迟加载按需加载关联数据提升性能,一级缓存会话级默认开启,二级缓存工厂级支持跨会话共享,增删改操作会清空对应缓... 目录MyBATis延迟加载策略一对多示例一对多示例MyBatis框架的缓存一级缓存二级缓存MyBat

前端缓存策略的自解方案全解析

《前端缓存策略的自解方案全解析》缓存从来都是前端的一个痛点,很多前端搞不清楚缓存到底是何物,:本文主要介绍前端缓存的自解方案,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、为什么“清缓存”成了技术圈的梗二、先给缓存“把个脉”:浏览器到底缓存了谁?三、设计思路:把“发版”做成“自愈”四、代码

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装