黑马程序员技术交流社区
标题:
【上海校区】用机器学习复盘世界杯?这里有一份实用指南
[打印本页]
作者:
不二晨
时间:
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
:
将SSDLite mobilenet模型加载到graph中,并加载COCO数据集中包含人物和足球的类的列表。
用cv2.VideoCapture(文件名)打开球赛视频,逐个读取视频帧。
使用加载的graph对每一帧执行目标检测。
从SSDLite中返回的结果是每个被识别出的类以及其置信度和边界框预测。我将所有识别置信度大于0.6的人物全部裁剪出来。
现在我们已经提取出了每个球员。我们需要读取他们的球衣颜色以预测他们属于澳大利亚队还是秘鲁队。这一步可以通过代码块检测完成。首先我们定义红色和蓝色的颜色范围,然后用cv2.inRange和cv.bitwise为颜色创建一个掩膜。为了能检测球队,我计算出了检测多少个红色像素和黄色像素,以及和裁剪的图像中像素总数相比的比例。
最后,将所有的代码块合并在一起同时运行,用cv.2imshow展示结果。
结语
如果按照上面的步骤操作,最后你应该能检测出世界杯赛场上的球员以及他们属于哪国球队。
你瞧,将深度学习和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