淘宝商品识别

[toc]

李侃老师的机器学习课的最终大作业

课程地址:https://www.icourse163.org/learn/BIT-1449601164?tid=1463297505#/learn/announce

题目原始来源:https://tianchi.aliyun.com/competition/entrance/231772/introduction

1 目标

识别视频中正在讲解的商品

视频帧->商品

2 数据集

下载地址: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) 左下角坐标 右上角坐标
  • 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) 左下角坐标 右上角坐标
  • video_text 字幕
    • 编号 .txt

自行划分训练集、验证集和测试集

3 指标

F1-score

4 搜集资料

比赛

商品监测框66.10%small 面积占比小于10%

86%正面

85.85%试穿展示

5 思路

将全部商品图片作为训练集建立商品库,一部分视频的帧提取成为图片格式加入商品库作为训练集,一小部分作为验证集,其余作为测试集

数据集较小,把这个问题转化为检测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张视频帧
  • 研究目标检测模型调试的两种方法并能成功训练用于分类
    • 微调法
    • 换骨干网络法
    • 能否加入cuda
  • 实现三种评分评估结果并出报告
    • 能够对任意一张图进行目标检测
      • 从数据集内获得
      • 从测试集内获得
      • 从视频中随机截取一张图片
      • 输出一整个预测视频
    • S1:任取帧预测结果 投票系统
    • S2:取相应关键帧 计算得分
    • S3:去相应关键帧 计算IOU
    • 报告