[toc]
李侃老师的机器学习课的最终大作业
课程地址:https://www.icourse163.org/learn/BIT-1449601164?tid=1463297505#/learn/announce
题目原始来源:https://tianchi.aliyun.com/competition/entrance/231772/introduction
识别视频中正在讲解的商品
视频帧->商品
下载地址:https://cloud.189.cn/t/vQj222jIVFVf
术语
匹配对:输入的直播片段与对应商品
展示方式(display):试穿、纯展示
视角(viewpoint):正面、背面、左侧、右侧
实例编号(instance_id):服饰检测框视为一个实例、编号唯一、编号相同为同一个商品 通过这个id关联各种信息
训练集
视频帧、讲解文本、商品展示图、商品文本介绍(商品名)
标注:对视频帧的标注、对商品图的标注
文件结构
- image 商品图
- 编号
- 多张图数目不定 .jpg
- 编号
- image_annotation 商品图的标注
- 编号
- 图对应标注 .json
- item_id 编号
- img_name 对应图片文件名
- annotations 标注信息
- label 物品类别
- viewpoint 拍摄视角(0:正面 1:背面 2:左侧 3:右侧)
- display 展示方式(0:纯商品 1:试穿)
- instance_id 实例编号
- box (Xmin,Ymin,Xmax,Ymax) 左下角坐标 右上角坐标
- 图对应标注 .json
- 编号
- image_text 商品文本描述 商品app内名称
- 编号
- 对应文件 .txt
- 编号
- video 讲解视频
- 编号 .mp4
- video_annotation 视频帧标注
- 编号 .json
- video_id 对应视频编号
- frames 帧集合
- frame_index 帧编号 每40帧一个标注
- annotations 标注信息
- label 物品类别
- viewpoint 拍摄视角(0:正面 1:背面 2:左侧 3:右侧)
- display 展示方式(0:纯商品 1:试穿)
- instance_id 实例编号
- box (Xmin,Ymin,Xmax,Ymax) 左下角坐标 右上角坐标
- 编号 .json
- video_text 字幕
- 编号 .txt
自行划分训练集、验证集和测试集
F1-score
比赛
商品监测框66.10%small 面积占比小于10%
86%正面
85.85%试穿展示
将全部商品图片作为训练集建立商品库,一部分视频的帧提取成为图片格式加入商品库作为训练集,一小部分作为验证集,其余作为测试集
数据集较小,把这个问题转化为检测25种不同商品的目标检测问题,不使用NLP方法,放弃图片文本与视频文本的信息
- 当前工具:画box的draw_bounding_boxes函数(保存图片的方法)
- 数据处理
- 图片:一部分标注存在instance_id=0的情况 这种直接不加入训练集 1
-
80张图有标注[4, 2, 2, 5, 2, 5, 4, 3, 4, 2, 5, 5, 5, 3, 3, 3, 2, 3, 2, 4, 2, 2, 4, 2, 2]每件商品至少有2张有标注的图片
-
文件结构
去掉一级文件夹 修改文件名
-
- 视频:提取标注帧,同样去掉instance_id=0的 1
- 233张有效标注图片[10, 10, 8, 10, 9, 10, 10, 10, 5, 10, 10, 10, 10, 6, 5, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10]
- 002视频的标注是错误的 手动删除(有可能的话再手动修改为正确的标注)目前不放入数据集 现在有223张有效标注帧图片
- 划分训练验证测试集
- 总共有80+223=303张有效标注图片 303×0.6=181.8 303×0.2=60.6
- 初步设计为6:2:2 183+60+60
- 需要搬运163张视频帧
- 图片:一部分标注存在instance_id=0的情况 这种直接不加入训练集 1
- 研究目标检测模型调试的两种方法并能成功训练用于分类
- 微调法
- 换骨干网络法
- 能否加入cuda
- 实现三种评分评估结果并出报告
- 能够对任意一张图进行目标检测
- 从数据集内获得
- 从测试集内获得
- 从视频中随机截取一张图片
- 输出一整个预测视频
- S1:任取帧预测结果 投票系统
- S2:取相应关键帧 计算得分
- S3:去相应关键帧 计算IOU
- 报告
- 能够对任意一张图进行目标检测