XianyuFFF / Quick_positioning

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Quick_positioning

功能简介

使用者可以通过指定动作及队员名称筛选出符合条件的视频帧,从而达到对回放功能的增强。

算法简介

算法流程1:

先利用openpose找出单帧视频中的边界框,然后通过框内图像的特征对其进行身份赋予,从而获得单个人的连续轨迹。获取单个人的连续轨迹之后,同时也获取了单个人的连续骨骼信息,将这些骨骼信息放置入时空图内,然后利用滑窗搜索的方式对时空图进行图卷积分类,从而得到单人的动作分类。将动作分类、对应的人的身份以及相关帧数信息存储到数据库中。在使用者给出筛选条件后,根据筛选条件给出对应的帧数。

优点:运动的类别依赖于骨骼信息,且该算法充分利用了上下文信息。

算法流程2:

先利用openpose找出单帧视频中的边界框,然后通过框内图像的特征对其进行身份赋予,从而获得单个人的连续轨迹。获取单个人的连续轨迹之后,将轨迹的各个帧送入预先训练的深度卷积网络训练后得到该人各个帧的动作,通过各帧周围帧的反复投票至收敛筛除噪音类别,获得连续的动作序列。将动作分类、对应的人的身份以及相关帧数信息存储到数据库中。在使用者给出筛选条件后,根据筛选条件给出对应的帧数。

优势:无需进行滑窗搜索,计算量较小。

数据库建立

  1. 通过YouTube下载比赛或使用现有的比赛数据
  2. 将比赛数据进行适当裁剪,防止过多相似数据进入数据集
  3. 将视频拆分为图片
  4. 托管到众包平台,分割为以下任务
    1. 给图片中的人打点
    2. 给带点的人画出边界框
    3. 选出框内人最有可能的动作类别
    4. 给出前帧的人,在后帧的所有人中选出该人
  5. 利用经过上述流程标注的数据,将完整的比赛视频拆分为进行特定动作的单运动员视频,建立初步的单人特定运动视频数据库。 同时建立初步的单人特定动作图片数据库,由于每个人的特定动作序列只能取少量帧(为了防止重复学习),因此数据量可能不足。
  6. 将单人连续动作序列视频及单帧动作分类结果托管至众包平台进行数据清洗。
  7. 利用清洗后的数据按照类别建立相应的数据库。

众包平台的选择

AMT

亚马逊旗下的众包平台,也是最早的众包平台。

优点:可以通过api自定义任务,自由度高。

缺点:需要进行额外的编程。

阿里云

可进行的任务有限,无法满足完成数据库建立一节中4.4的需求

百度众包

直接委托至平台,给出需求后,流程由百度团队进行设计。

优点:省心,快速。

缺点:无法对标注流程和标注质量进行控制。

众包的价格

选择百度众包或者AMT,前者价格需要同平台方商议,后者自主定价即可。

训练

需要训练的包括3部分

  1. 人员身份认定网络
  2. 时空图卷积网络
  3. 动作分类卷积网络

其中2、3两个网络可都进行训练,然后根据最终效果进行取舍。

动作分类设计

需要同对方进一步商议

About


Languages

Language:Python 62.7%Language:C++ 36.9%Language:MATLAB 0.4%