首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >足球检测和跟踪-使用人工智能技术?

足球检测和跟踪-使用人工智能技术?
EN

Stack Overflow用户
提问于 2013-10-18 22:26:24
回答 2查看 2.1K关注 0票数 3

我以前也问过类似的问题,但我觉得我的问题没有得到真正的回答。我正在使用Circle Hough变换来检测和跟踪一个球。然而,我现在需要额外的检查来找出检测到的圆圈是否真的是一个球。

我一直在考虑使用神经网络,Haar分类器,SVM之类的东西(即人工智能)。然而,它需要令人难以置信的健壮,由于我对这些AI技术是新手,我不确定哪种技术是最好和最健壮的,可以投入我的时间来学习。

我正在使用灰度高速相机来捕捉图像,我希望能够使用任何颜色/图案的足球。球也可能被部分遮挡。

如果你认为这些技术不合适,我愿意接受任何关于如何实现这一点的想法/建议。

感谢大家提前给予我的帮助,非常感谢!

EN

回答 2

Stack Overflow用户

发布于 2013-10-18 23:14:38

请注意,这还没有经过测试。

一旦你提取了球的位置,你就可以得到它的轮廓。我的建议只适用于有较浅补丁和较深补丁(即五边形)的足球。

确定良好的二进制阈值,以获取白色和黑色补丁。做一些图像处理,如腐蚀或扩张,以消除缝线造成的补丁之间的裂缝。在球周围画一个白色的圆圈,以确保你的黑色补丁都不会被认为是“球上的洞”,你已经准备好抓住球内的轮廓了。主轮廓是由白色补丁组成的白色轮廓线,所有黑色轮廓都是深色补丁。

的弱点: Dirty ball可能会出现二进制阈值的问题,也许可以使用自适应阈值?

1.使用查找表/数学公式(?)对于黑色补丁大小和距离

黑色补丁的大小取决于离球中心的距离。向算法提供关于黑色补丁到中心的距离及其大小(这两个值都是相对于球的大小)的学习数据。

例如:

代码语言:javascript
复制
Ball in recorded frame has bounding box of 200x200 px and area of 30000px
Found 6 black patches inside:
patch 1 is in the middle (distance 0px from center) and has area of 600px
patch 2 is on the side (distance 50px from center) and has area of 150px
patch 3... patch 4... and so on

因此,您可以在查找表中添加数据:

代码语言:javascript
复制
distance = 0% -> area = 2%
distance = 25% -> area = 0.5%
distance = ... -> area = ...
and so on

现在,当你检查你检测到的东西是否是一个球时,检查它们的黑色补丁大小。如果它们的大多数大小和到球中心的距离都在可接受的范围内,则检测到的对象是球。

2.检查轮廓形状

您可以使用cvApproxPoly检查每个等高线。如果大多数黑色轮廓是五边形,那么它就是一个球。

票数 1
EN

Stack Overflow用户

发布于 2018-04-18 17:09:00

使用OpenCV构建自己的分类器。下面是如何实现的:http://johnallen.github.io/opencv-object-detection-tutorial/

困难的部分是获得足球的任何颜色/图案的一组完整的正面图像。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19452139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档