500 likes | 782 Views
3D 视觉呈现 “斯诺克鹰眼 ”. 制作 083065 丁志轩 083073 李言 083052 程伟. 什么是鹰眼系统?. “ 鹰眼系统 ”. 鹰眼系统是在斯诺克,网球和一些其他运动中使用的一套电脑系统。 名称是“即时回放系统”,主要用摄像头捕捉体育比赛画面,并转换成 3D 图像。. “ 鹰眼系统 ”. 鹰眼系统的目的是通过回放 3D 影像来模拟实时体育比赛,让观众能搞好的观赏比赛,也时常会作为裁判判罚比赛的依据。. 鹰眼技术原理. “ 鹰眼原理 ”.
E N D
3D视觉呈现 “斯诺克鹰眼” 制作 083065丁志轩 083073李言 083052程伟
“鹰眼系统” 鹰眼系统是在斯诺克,网球和一些其他运动中使用的一套电脑系统。名称是“即时回放系统”,主要用摄像头捕捉体育比赛画面,并转换成3D图像。
“鹰眼系统” 鹰眼系统的目的是通过回放3D影像来模拟实时体育比赛,让观众能搞好的观赏比赛,也时常会作为裁判判罚比赛的依据。
“鹰眼原理” • “鹰眼”的正式名称是“即时回放系统”,它的技术原理并不复杂,只是十分精密。这个系统通常由多个高速摄像头、电脑和大屏幕组成。
“鹰眼原理” • 利用高速摄像头从不同角度同时捕捉时事运动画面的基本数据;再通过电脑计算,将这些数据生成三维图像;最后利用即时成像技术,由大屏幕清晰地呈现出三维渲染过场景模型。这一套过程一般从数据采集到结果演示,所耗用的时间不超过 10秒钟。所以通常适用于电视转播。
“鹰眼原理” • 在体育比赛中鹰眼的运用关键就在于他能帮助人们客服视角的盲区,对于裁判判罚,鹰眼能给出准确的多视角回放(一般网球比赛中选手甚至可以申请两局比赛用鹰眼技术取而代之裁判的认为判罚)。对于观众,鹰眼技术无疑给予了一种更好的视觉享受。
“鹰眼原理” 常见体育比赛中的鹰眼
“系统简介” • 如之前所说斯诺克鹰眼技术,利用在球桌顶部或者其它位置的摄像头捕捉画面。通过对画面的分析来重建出三维立体效果的模型,这样的技术重现手法然可以让观众从不同角度来欣赏比赛。
“系统开发” 我们这次项目做得是对斯诺克鹰眼技术的模拟,我们项目中主要的工作就是模拟人类视角,将图片中的球桌位置,大小和桌上剩余球的位置和颜色算出来,然后以三维模型的方式渲染出来。
“系统开发” 我们通过摄像头截取的图像上去重建三维模型,其实大致的过程就是一个对图像进行操作的过程,用到了视觉算法中主要的两块,即边缘检测和霍夫变换,经过这两个主要步骤后,球桌的位置和大小可以基本确定下来,之后是对球的捕捉。
“系统开发” 一种简单的办法来捕捉球就是论文中所提到的方法即通过识别球上所在的高光,来判断球的位置,然后再根据位置获取该球的颜色信息(位置周围点的RGB平均值)。
“系统开发” 另一种方法是球形霍夫变换,球形霍夫变换的源图像是第一步边缘检测之后的结果,对边远化的图像进行一个球形轮廓的比对,然后得到符合球所在的位置。
“系统开发” 下面我们说一下开发中用到两个主要算法: 1.Canny Edge Detection 2. Hough Transform
“Canny Edge Detection” Canny Edge Detection 也就是边缘检测图像,是我们项目第一步的操作,也是项目进行的基础。为之后用直线霍夫检测斯诺克球桌边缘和球形霍夫检测球做了前提必须的准备工作。 .
“Canny Edge Detection” Canny Edge Detection 主要分为一下5个步骤: 1. Smoothing: Blurring of the image to remove noise. 2. Finding gradients: The edges should be marked where the gradients of the image has large magnitudes. .
“Canny Edge Detection” 3. Non-maximum suppression: Only local maxima should be marked as edges. 4. Double thresholding: Potential edges are determined by thresholding. 5. Edge tracking by hysteresis: Final edges are determined by suppressing all edges that are not connected to a very certain (strong) edge.
“Canny Edge Detection” 1. Smoothing: 模糊消噪点 .
“Canny Edge Detection” 2. Finding gradients: 得到图像梯度图 .
“Canny Edge Detection” 3. Non-maximum suppression:: 非最大剔除 .
“Canny Edge Detection” 4. Double thresholding: 双阈值化 .
“Canny Edge Detection” 5. Edge tracking by hysteresis: 点的跟踪 .
“Hough Tansform” 在我们项目中,在经过了Canny Edge Detection之后的图像用霍夫变换(Hough Transform)操作来检测球桌边缘位置和求的位置。 对于球桌边缘检测我们使用了直线霍夫检测。 而对于球型霍夫变换我们试用了球形霍夫检测。 .
“Hough Tansform” 所谓霍夫变换也就是根据你索要求的图形的表达式来求出转化参数空间的表达式,然后为每一个点采样得一组数据,通过参数空间映射的密集度来判定这些点是否都在一个图形上。.
“Hough Tansform” 例如一个检测直线霍夫变换的例子: 对于直线 y = -cosT/sinT x + R/sinT 将其映射为 R = x * cosT + y * sinT
“Hough Tansform” 而如果是检测球形霍夫则一样对每个点映射为参数空间,a = x – R*cosT; b = y – R*sinT;
“最终渲染” 在经过对源图片的一系列图像处理之后,把提取出来的求的位置和颜色把偶耐在全局数组里,然后就是渲染。 渲染的工作用的是DirectX 9 的HLSL来进行的高效渲染。
“项目特色” 因为是属于计算机视觉的课程设计,为了完全熟悉整个Snooker鹰眼系统的流程,我们借助OpenCV的平台,而整个过程中所有的算法都是独立完成,其中包括Canny Edge Detection和Hough Transform,而没有调用一些OpenCV提供的现成API。
“项目分工” 083065 丁志轩 负责 Canny Edge Detection DirectX的渲染工作 083073 李言 负责直线和球形Hough Transform 找到所有球的位置和颜色 083052 程伟 负责高光捕捉 找到所有球的位置和颜色