如何识别一个球中的图像,然后将其在建模三维(的HawkEye系统) [英] How to recognize a ball in an image and then model it in 3D(HawkEye System)

查看:416
本文介绍了如何识别一个球中的图像,然后将其在建模三维(的HawkEye系统)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我们正在努力开发的HawkEye系统应用于板球对我国高校的项目。 在系统的HawkEye所使用的过程如下:


We are trying to develop HawkEye System used in cricket for our college project. The process used in HawkEye System is as follows:

  1. 需要的球在时间(不同点)不同的情况下,从投手的手图像击球手的(在球的整个飞行)
  2. 球在不同的时间实例的球的整个飞行过程中
  3. 确定(X,Y)坐标
  4. 转换第(x,y)坐标成相应的三维坐标(x,Y,Z)
  5. 连同其包括字段,音调,剪票口,体育场
  6. 球的周围环境中的球的整个飞行过程建模球的轨迹
  7. 延长球的轨迹来看球是否击中了小门与否
  1. images of the the ball at different instances of time(different points) from bowler's hand to the batsmen's(during entire flight of the ball) are needed
  2. determining the (x,y) coordinates of the ball at different instances of time during the entire flight of the ball
  3. converting the (x,y) coordinates into the corresponding 3D coordinates (x,y,z)
  4. modelling the trajectory of the ball during the entire flight of the ball along with the surrounding environment of the ball which includes field, pitch, wickets, stadium
  5. extending the trajectory of the ball to see whether the ball would have hit the wickets or not

到目前为止,这是我们的计划来完成这个项目:

So far this is what we've planned to accomplish this project:

我们就开枪了从腿部裁判的位置上击球手的视频,然后播放慢动作的VLC播放器,视频,同时以球飞行的多个截图,我想这将步骤1中的护理

we'll shoot the video of the batsman from the leg umpire's position and then play that video in slow motion in vlc player and simultaneously taking multiple screenshots of the flight of the ball, i guess this will take care of the step 1.

但现在我们被困在步骤2中,这是我们所面临现在的问题是,如何认识和发现(X,Y)坐标球(从球中拍摄的图像从腿侧) 如果我们能找到球的(X,Y),并且如果照相机的某些参考点的距离是已知的话,可以发现,即z坐标,因此,我们可以找到相应的(x中的图像的深度,Y,Z)坐标,然后我们可以使用OpenGL的3D模型它

but right now we are stuck in step 2, the problem which we're facing now is that how to recognize and find the (x,y) coordinate of the ball at a particular instance (from the image of the ball taken from leg side) if we can find the (x,y) of the ball and if the distance of the camera from some reference point is known then we can find the depth of the image i.e. the z-coordinate, hence we can find out the corresponding (x,y,z) coordinates and then we can model it in 3D using OpenGL

我们正在尝试在C ++

we're trying to implement it in C++

任何帮助AP preciated:)

any help appreciated :)

一个快速编辑:
我才知道,在现实的HawkEye系统6相机上调整板球场的周围,所有的摄像机都通过60度角分开鹰眼能正常工作使用完全只有4个摄像头,但为了更好precision 2个额外的摄像机的使用。 因为我们没有那么多的相机,我想我们将使用3个摄像头保持在120度,并减少我们将选择一个小场的复杂性分开场的周边可以是一个半径为5M,但我们不知道在哪里放置摄像机,以获得更准确的结果,可能是位置可以是:一个在legside,一个在关端和前面的第三个直的,但我仍然不知道什么样的立场,以选择

A quick edit:
I came to know that in real HawkEye System 6 cameras are adjusted on the circumference of the cricket field, all the cameras are seperated by an angle of 60 degree, HawkEye can work perfectly using 4 cameras only but for better precision 2 extra cameras are used. since we dont have so many cameras, I think we'll be using 3 cameras kept on the circumference of the field seperated by 120 degrees and to reduce the complexity we'll be choosing a small field may be one with radius=5m, but we're not sure where to place the cameras to get more accurate results, may be the positions can be: one on the legside, one on off-side and the third one straight in front but i'm still not sure what positions to choose

这种方式称为多摄像机标定和球的认可,我认为我们应该选择,因为通过OpenCV的做更多的高速图像处理的OpenCV在MATLAB

this approach is called Multi Camera Calibration and for ball recognition I think we should choose OpenCV over MATLAB because of more speedy image processing done by OpenCV

你什么都有话要说吗?

推荐答案

对于步骤2,提取球的位置,有许多可能的方法和文学的来源。我会强烈建议考虑在足球机器人(机器人世界杯)的工作,它包含了类似的问题很多例子。

With respect to step 2, extracting the location of a ball, there are a multitude of possible approaches and sources of literature. I would strongly recommend looking into the work on Robot soccer (Robocup), which contains many examples of similar problems.

在一个理想的世界(比如黑盘在白色背景),出发点很可能会使用的东西像的 Hough变换或等值线追踪,提取使用所产生的轮廓统计矩的位置。

In an ideal world (say a black disk on a white background), the starting point would probably be to use something like a Hough Transform, or contour tracing, and extracting the position using statistical moments of the resultant contour.

这种方法的挑战是,一个板球场是最肯定将有背景的功能,是具有挑战性的去除。对于一些试验和错误,你可能能够使用诸如背景减除,形态运营商,边缘检测,色彩过滤和阈值一般的图像处理技术,以提高你的能力,始终找不到球。从过去的经验,我强烈建议使用一套工具,可以让你快速原型图像处理流水线和技术,可能MATLAB。

The challenge of this approach is that a cricket field is most definitely going to have background features that are challenging to remove. With some trial and error you may be able to use common image processing techniques such as background subtraction, morphological operators, edge detectors, color filtering and thresholding to improve your capability to consistently find the ball. From past experience, I strongly recommend using a set of tools that allows you to rapidly prototype image processing pipelines and techniques, probably MATLAB.

或许更稳健地表达这个问题,导致分为以下几个部分,就是如果你有球哪里是previously一些想法,那么你就可以使那里的球应该是后一个合理的估计一些少量的时间。这是最优估计的领域,卡尔曼滤波。一个很好的介绍性文字,尽管是从一个非常不同的问题空间,是概率机器人由史朗等的人。

Perhaps a more robust way to phrase this problem, leading into the following sections, is that if you have some idea of where the ball was previously, then you can make a reasonable estimation of where the ball should be after some small amount of time. This is the field of optimal estimation, and Kalman Filters. A good introductory text, albeit from a very different problem space, is Probabilistic Robotics by Thrun et al.

这篇关于如何识别一个球中的图像,然后将其在建模三维(的HawkEye系统)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆