星光不问赶路人,时光不负有心人!
前言
这里时基于pyqt5写的一个智能辅助视频标注系统,在步入AI时代的大环境中,CV技术目前很成熟,并且很多项目都可以落地使用,用于工业化中,之前写过关于图像分类的介绍,兴趣的朋友可以去首页看。
一、本文介绍
本文代码:https://github.com/yanyide123/videos-tools
百度网盘:链接:https://pan.baidu.com/s/1CHf97QqyGZCjigY9dF5sZg
提取码:5h7b
本文先介绍一下视频分类前视频标注的一个小工具,将自己本地未标注的视频通过自定义标签,将视频人工进行分类,为后面视频分类提供数据集。目前最火的模型Video-Swin-Transformer,用于做视频分类。
官方git:https://github.com/SwinTransformer/Video-Swin-Transformer
二、PYQT5介绍
PyQt5 是Digia的一套Qt5应用框架与python的结合,同时支持2.x和3.x,官方网站:www.riverbankcomputing.co.uk/news。
具体库介绍:(大佬的总结)https://blog.youkuaiyun.com/weixin_39568659/article/details/111459320
三、使用步骤
1.引入库
代码如下(示例):
from PyQt5.QtMultimediaWidgets import *
from PyQt5.QtMultimedia import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
具体根据自己的使用进行引入对应的库,这里只是举一个例子
2.使用
使用前对应调用模型:
要根据自己的模型相对的进行更改
标注系统
|--build # 前端需要的一些包
|--icon # 需要的一些标志图片
|--model # 智能辅助模型
|--对应模型的文件
|--main_kwcf.py(用于执行的文件)
|--MediaPlayer.py # 运行文件和修改的整体功能文件
|--ui.py # 前端对应展示和接口
|--MediaPlayer.exe # .py文件直接和环境一起打包,可移植到其他电脑直接运行
在对应MediaPlayer.py 的模块修改自己调用的模型,模型使用了gpu,所以开始判断电脑是否支持,不支持对应展示无gpu,不可使用
# 开启智能鉴定
def EnableSmartAuthentication(self):
try:
if torch.cuda.is_available():
os.system("python model\\main_kwcf.py")
self.SmartIdentificationResults()
self.pushButton_4.setText("智能结果:" + self.SmartIdentificationResults()[self.playList.currentIndex()])
else:
self.pushButton_7.setText("无gpu,不可使用")
except:
pass
1、最简单使用方法:
修改配置文件下的路径,具体介绍继续往下看。
双击运行文件夹中的MediaPlayer.exe程序。
2、当前文件夹运行:
python MediaPlayer.py
3、当然也可以在工具中单独运行MediaPlayer.py
2.界面展示
文件:可以选择本地文件,现在代码支持.avi视频,其他的没有尝试,刚刚试验了.mp4没有打开,后面我在找问题,如果有修改后可以的,可以对代码进行更改,欢迎维护。
标签:文件夹里面有一个cache.conf配置文件,可以texts_to_tag更改自己标签,注意标签与标签用英文逗号隔开,后面希望在界面添加标签。
上一帧,下一帧:可以看每一帧的图片
上一个,下一个:切换图片
确认智能结果:根据自己数据网上可以找一些相关的模型,也可以用自己少量数据集训练,不短迭代的过程,更好的节约数据标注的成本,在数据标注的过程中,哪怕模型准确率只有20%,但同样减少标注人工成本的20%,大大减少了标注的开支。
智能辅助:去调用自己的模型,对当前文件夹的数据做预测,预测结果展示在智能结果后。
注意:添加文件直接添加文件夹就可以,自动取文件夹里去读取视频,选择的时候不会有提示,也不会有其他展示,最好把不是视频文件的其他全部删除掉。
cache.conf:配置文件中result_path保存的是标注后的结果,结果的保存形式是视频文件名+名称
参考文献
https://www.haolizi.net/example/key_pyqt5_2.html
https://blog.youkuaiyun.com/weixin_39568659/article/details/111459320
https://github.com/SwinTransformer/Video-Swin-Transformer