如何盯住梅西:TensorFlow目标检测实战

近日,一篇题为《Following Messi with TensorFlow and Object Detection》的教程文章展示了如何通过 TensorFlow 训练定制的目标检测模型,以专门定位和识别足球巨星梅西;同时作者也希望这一技术有助于催生出足球新战术,提升赛事水平。


我们之前曾把 TensorFlow 与目标检测模型结合使用,但使用的一直是预先设定的传统数据集,比如 COCO。这次的挑战将再高一级,我会分析一个足球比赛的片段,并识别其中至少一个球员。


一提到足球,你首先想到的可能是那些天才球员,比如阿根廷人梅西。本文中,我将会:

  • 训练一个定制的目标识别模型以定位梅西
  • 选择一个真实的赛事转播视频(本文中我使用的今年 8 月 31 日世界杯预选赛南美区,乌拉圭对战阿根廷的录像),看看我们能得到什么结果。
  • 通过这项技术,我们或许可以设计新的战术,提高足球赛事的水平。


注意:我们将会结合使用 TensorFlow 与上述目标检测模型,且均具备 Apache License 2.0 许可证。


我们将从最终获取的结果开始:



比赛中的一段慢动作回放


如果你对此感兴趣,我建议你多花点时间一步一步学习该模型的搭建步骤。


它包含三个重要的步骤:

  1. 构建有目标可供检测的定制数据集
  2. 通过 TensorFlow 训练和评估该模型
  3. 运用该模型

步骤:


构建自定义数据集 Moment


1. 我们查看官方文档,就会发现有单独的部分介绍如何构建自定义数据集。地址:https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/using_your_own_dataset.md

2. 我们需要想要检测的物体的图像,并且需要给它们打标签。

  • 对于这种情况,我使用的是 RectLabel 工具,对于 MacOS 是一个不错的选择。(也有其他替代工具,如 LabelImg。)
  • 然后就是第一次测试,我收集来的 119 张足球比赛的图像(数量很小,但对测试来说足够了)。


我给大约 100 张梅西的图片添加了标签。


注:如要将样本投入正式的应用,这一步就需要更多图像。


3. 下一步是把照片和对应的 tag 转换成 TFFormat 文件。脚本地址:https://github.com/nbortolotti/tensorflow-code-experiences/blob/master/custom_model_object_detection/generate_tfrecord.py。(我使用了中间步骤将 xml 注释标签转换成 csv,脚本地址:https://github.com/nbortolotti/tensorflow-code-experiences/blob/master/custom_model_object_detection/xml_metadata_csv.py。)

4. 记住:完美的环境是构建一个训练集和评估集。

训练/评估自定义模型 Moment

5. 上述文件完成后,我们就可以训练和评估模型了。

这一步我使用的是机器学习引擎,因为我没有本地基础架构可以在 1 小时内执行完整个过程。(官方说明:https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/running_on_cloud.md)

5 个工作线程使用标准 GPU。


同样强烈推荐使用 TensorBoard 对训练和评估过程进行可视化。


记住:直接使用谷歌云存储。也就是说,所有文件必须在这种 repository 类型中,以与训练引擎完成互动。



TensorBoardML 中的 TotalLoss



机器学习引擎工作示例


6. 使用了 21.77 个单元,经过 1 小时 9 分钟和 2 万次迭代之后,我们得到了多个检查点和一个可用模型。

7. 我们使用最先进的检查点,使用训练好的模型进行推断。(官方文档:https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/exporting_models.md)


使用自定义模型 Moment


8. 我们将从以下选项中使用该模型:

使用该模型和利用检测结果生成视频的脚本。实现示例:https://github.com/nbortolotti/tensorflow-code-experiences/blob/master/custom_model_object_detection/od_video_generator.py。

实时评估视频和解码标签以计算阿根廷球星的外表的脚本。实现示例:https://github.com/nbortolotti/tensorflow-code-experiences/blob/master/custom_model_object_detection/od_video_label_detector.py

注意:使用慢镜头的同样的 demo。地址:https://www.youtube.com/watch?v=ZCUJJN0q-To

更多示例信息,详见:https://github.com/nbortolotti/tensorflow-code-experiences/tree/master/custom_model_object_detection


这可能只是这项有趣研究的开始……后续也许会涉及到如何改进体育战术、囊括更多运动员和验证关联。现在,我们仅仅使用传统的电视直播信息,如果我们使用更清晰或能看到球场全景的摄像头,又会发生什么呢?


所有球员的位置都可以得到计算。事实上,我们的实验证明了用机器学习识别球员非常容易,但是我们能根据球员的位置和他们擅长的技术找到更好的战术吗?


我希望你能从中获得乐趣,希望在未来,我们能够看到更多体育领域的 TensorFlow 实现。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO系列是基于深度学习的端到端实时目标检测方法。 PyTorch版的YOLOv5轻量而性能高,更加灵活和易用,当前非常流行。 本课程将手把手地教大家使用labelImg标注和使用YOLOv5训练自己的数据集。课程实战分为两个项目:单目标检测(足球目标检测)和多目标检测(足球和梅西同时检测)。 本课程的YOLOv5使用ultralytics/yolov5,在Windows系统上做项目演示。包括:安装YOLOv5、标注自己的数据集、准备自己的数据集、修改配置文件、使用wandb训练可视化工具、训练自己的数据集、测试训练出的网络模型和性能统计。 希望学习Ubuntu上演示的同学,请前往 《YOLOv5(PyTorch)实战:训练自己的数据集(Ubuntu)》课程链接:https://edu.csdn.net/course/detail/30793  本人推出了有关YOLOv5目标检测的系列课程。请持续关注该系列的其它视频课程,包括:《YOLOv5(PyTorch)目标检测实战:训练自己的数据集》Ubuntu系统 https://edu.csdn.net/course/detail/30793Windows系统 https://edu.csdn.net/course/detail/30923《YOLOv5(PyTorch)目标检测:原理与源码解析》课程链接:https://edu.csdn.net/course/detail/31428《YOLOv5目标检测实战:Flask Web部署》课程链接:https://edu.csdn.net/course/detail/31087《YOLOv5(PyTorch)目标检测实战:TensorRT加速部署》课程链接:https://edu.csdn.net/course/detail/32303《YOLOv5目标检测实战:Jetson Nano部署》课程链接:https://edu.csdn.net/course/detail/32451《YOLOv5+DeepSORT多目标跟踪与计数精讲》课程链接:https://edu.csdn.net/course/detail/32669《YOLOv5实战口罩佩戴检测》课程链接:https://edu.csdn.net/course/detail/32744《YOLOv5实战中国交通标志识别》课程链接:https://edu.csdn.net/course/detail/35209《YOLOv5实战垃圾分类目标检测》课程链接:https://edu.csdn.net/course/detail/35284       

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值