黑马程序员技术交流社区

标题: 【上海校区】用机器学习复盘世界杯?这里有一份实用指南 [打印本页]

作者: 不二晨    时间: 2018-7-20 09:36
标题: 【上海校区】用机器学习复盘世界杯?这里有一份实用指南
时间过得真快,2018世界杯眨眼间结束,这个夏天也被世界杯赋予了更多意义,在一片啤酒花香中留给球迷朋友们聊不完的故事。谁能料到卫冕冠军德国队土豆香肠还没吃完就被送回了家?四大夺冠热门球队全都爆冷出局?
近来你或许也曾留意到不少人借此东风,用数据科学或人工智能技术分析世界杯,捣鼓出一些好玩的项目。你没有想过自己也试试用机器学习技术分析一场世界杯球赛?今天就分享一份借助深度学习技术和若干机器学习框架分析世界杯的实用指南,自己可以试着练练手,本文教程代码地址见文末。
对于数据科学家和机器学习研究者来说,从事这份工作的好处就是能用自己所学知识对世界杯球赛做些有趣的分析。比如,身为一个研究深度学习的人,我(作者 Priya Dwivedi——译者注)就用深度学习和 OpenCV 从比赛视频中获取有意思的结果。 下图就是我对澳大利亚VS秘鲁比赛视频做的一些分析结果:


从中我们可以识别出所有的球员和裁判,足球,也能根据球衣颜色预测出球员所在球队,而这些都可以实时完成。
步骤概览对于快速创建目标检测模型,TensorFlow Object Detection API是款非常强大的工具。如果你对这款API还不是很熟悉,可以看看下面三篇我们之前分享过的用它检测物体的文章,讲的都比较详细:
如何用TensorFlow追踪《星战》里的千年隼飞船?
如何用TensorFlow和Swift写个App识别霉霉?
如何用TensorFlow在安卓手机上识别皮卡丘?
或者这篇教你怎么用TensorFlow Object Detection API创建自定义模型的文章
Object Detection API提供了预训练的物体检测模型,这些模型都是由COCO数据集训练而成。COCO数据集包含了90种常见物体,下面展示的是COCO数据集中部分物体的图像:


在我们分析世界杯的情况中,我们重点关注类别——人物和足球,都包含在COCO数据集中。
该API同时还支持一大批机器学习模型,如下所示:


不过这些模型的运行速度和准确度不可兼得,选用时要做个权衡。由于我对实时分析球赛感兴趣,所以选了SSDLite mobilenet v2。
等我们用TensorFlow Object Detection API识别出球员,预测他们属于哪国球队时,我们就可以用OpenCV这款强大的图像处理库。如果你对OpenCV不是很熟悉,可以参考下面两篇教程:
如何用不到25行Python代码实现人脸识别
OpenCV-Python教程
OpenCV能让我们识别出特定颜色的掩膜(mask),可以用这点识别出红颜色和黄颜色的球员。下面是OpenCV掩膜检测图像中红颜色的工作示例:


详谈主要步骤现在我们进一步谈谈操作步骤。
如果你是第一次使用TensorFlow Object Detection API,请先下载这个链接的GitHub
这个链接中的指令安装所有环境依赖。
如果你还没有安装OpenCV,请参照这篇教程安装:
我采取的主要步骤是如下,这里请紧跟我的 GitHub 上的 Jupyter notebook
结语如果按照上面的步骤操作,最后你应该能检测出世界杯赛场上的球员以及他们属于哪国球队。
你瞧,将深度学习和OpenCV简单相结合,我们就能创造出很有意思的东西。你自己练习时,还能更进一步,尝试其它玩法:


链接:https://juejin.im/post/5b4da7c96fb9a04fd55ac1d2




作者: 不二晨    时间: 2018-7-20 10:54
优秀,奈斯
作者: wuqiong    时间: 2018-7-23 11:37

作者: 摩西摩西OvO    时间: 2018-7-23 13:42

作者: 梦缠绕的时候    时间: 2018-7-25 17:27

作者: 摩西摩西OvO    时间: 2018-7-26 09:29

作者: 吴琼老师    时间: 2018-7-26 16:07





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2