11.07.2015 Views

Parabolic Curve fitting as an 3D Trajectory Estimation of the Soccer ...

Parabolic Curve fitting as an 3D Trajectory Estimation of the Soccer ...

Parabolic Curve fitting as an 3D Trajectory Estimation of the Soccer ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Parabolic</strong> <strong>Curve</strong> <strong>fitting</strong> <strong>as</strong> <strong>an</strong> <strong>3D</strong> <strong>Trajectory</strong> <strong>Estimation</strong> <strong>of</strong> <strong>the</strong> <strong>Soccer</strong> BallKyuhyoung Choi <strong>an</strong>d Yongduek SeoSog<strong>an</strong>g University, {Kyu, Yndk}@sog<strong>an</strong>g.ac.krAbstract A soccer ball is projected to <strong>an</strong> image <strong>as</strong> a small whitish round blob. With multiplesynchronized views, its <strong>3D</strong> position c<strong>an</strong> be estimated. In this paper, <strong>the</strong> ball trajectory ismodeled <strong>as</strong> a sequence <strong>of</strong> <strong>3D</strong> parabolic(ballistic) curves from multiple views. With this trajectoryestimation method, lossless tracking is guar<strong>an</strong>teed for pretty long video clips <strong>as</strong> shown in ourexperiments.1 IntroductionThe most difficulty in visual tracking <strong>of</strong> soccer ballcomes from its size. Its small size with f<strong>as</strong>t motionmakes its features useless becoming small whitish<strong>an</strong>d noisy ellipse which makes it hard to keep tracking<strong>the</strong> ball without aid <strong>of</strong> noise removal [1, 2]. Ano<strong>the</strong>rdifficulty is from its interaction with playerswhich makes it generally accepted that ball trackingh<strong>as</strong> two modes <strong>of</strong> status, that is, visible <strong>an</strong>d invisible.During visible mode, it shows ballistic motion<strong>of</strong> el<strong>as</strong>tic sphere while it is occluded by players <strong>an</strong>dhardly separated <strong>as</strong> independent image blob during<strong>the</strong> o<strong>the</strong>r mode. So tracking ball becomes finding<strong>the</strong> trajectory for each visible mode. For extraction<strong>of</strong> 2D ball trajectory, [3] used triplet seeds growingto trajectory c<strong>an</strong>didates. One <strong>of</strong> <strong>the</strong> c<strong>an</strong>didatesbest satisfying const<strong>an</strong>t acceleration model is selected<strong>as</strong> <strong>the</strong> trajectory for <strong>the</strong> segment. However,const<strong>an</strong>t acceleration in 2D does not me<strong>an</strong> <strong>an</strong>y <strong>of</strong><strong>the</strong> ball’s physics though it is <strong>the</strong> best choice. In oursetting, we use <strong>3D</strong> ball trajectory <strong>as</strong> <strong>an</strong> <strong>3D</strong> paraboliccurve with <strong>the</strong> acceleration <strong>of</strong> gravity. Some l<strong>an</strong>dmarkson <strong>the</strong> pitch gives clues to reconstruct <strong>3D</strong>information which leads to <strong>3D</strong> ball tracking [4]. If<strong>the</strong> ball c<strong>an</strong> be viewed from <strong>the</strong> multiple camer<strong>as</strong>,ideally <strong>the</strong> <strong>3D</strong> rays from each camera centers willmeet at one point which is <strong>the</strong> center <strong>of</strong> <strong>the</strong> ball.However, this c<strong>an</strong> be applied to clutters too. Wehave to exclude less probable <strong>3D</strong> points(clutters)one by one until we get <strong>the</strong> most probable one(true<strong>3D</strong> ball point). This c<strong>an</strong> be done by evaluating <strong>the</strong>consistency <strong>of</strong> a sequence <strong>of</strong> <strong>3D</strong> points. As applications,<strong>3D</strong> tracking results c<strong>an</strong> be fur<strong>the</strong>r processedto lead to enriched broadc<strong>as</strong>t <strong>an</strong>d game <strong>an</strong>alysis [5].The purpose <strong>of</strong> our trajectory estimation approachis to achieve lossless tracking given a batch <strong>of</strong> longvideo sequence such <strong>as</strong> a half soccer match. Therest <strong>of</strong> this paper is org<strong>an</strong>ized <strong>as</strong> following: Section 2deals with our soccer tracking environment <strong>an</strong>d preimageprocessing. The ball trajectory extraction algorithmis discussed in Section 3. Section 4 providesexperimental results <strong>an</strong>d finally Section 5 concludesthis paper.2 Getting Observation DataThe input data to ball tracking is taken fromsynchronized N(four in our c<strong>as</strong>es <strong>as</strong> in Figure 1)multiple views <strong>of</strong> static camer<strong>as</strong> which me<strong>an</strong>s <strong>3D</strong>tracking. Each camera is static covering someFigure 1: Multiple camer<strong>as</strong> surrounding <strong>the</strong> pitch.part <strong>of</strong> <strong>the</strong> pitch. All <strong>the</strong> camera images arebackground-subtracted <strong>an</strong>d connected-componentlabeledso that <strong>an</strong> object is observed <strong>as</strong> <strong>an</strong> imageblob(s)(middle <strong>an</strong>d right columns <strong>of</strong> Figure 2).Using <strong>the</strong> lines drawn on <strong>the</strong> pitch, each camera calibrationis done so that a corresponding <strong>3D</strong> ray c<strong>an</strong>be computed when a point in 2D image is given.1


Figure 2: Extracting ball c<strong>an</strong>didate blobs. n throw corresponds to n th camera. Left, middle <strong>an</strong>dright columns show original, foreground <strong>an</strong>d ballc<strong>an</strong>didates images respectively. Ball positions arem<strong>an</strong>ually marked for readers better underst<strong>an</strong>ding.3 Ball <strong>Trajectory</strong> <strong>Estimation</strong>Ball tracking is also a process <strong>of</strong> filtering one mostlikely sequence <strong>of</strong> <strong>3D</strong> positions out <strong>of</strong> a sequence <strong>of</strong>noisy multi-view 2D observation sets. Before goingfur<strong>the</strong>r let us define some sets.Q ∗ 1:T = {q ∗ t } T t=1(1)S = {Q t1 :t 2|1 ≤ t 1 ≤ t 2 ≤ T } (2){ {q }i It TU = t i=1}(3)t=1{ { } NP = {p n t (h)} H nh=1(4)n=1} Tt=1where p <strong>an</strong>d q denote points in 2D <strong>an</strong>d <strong>3D</strong> respectively,N is <strong>the</strong> number <strong>of</strong> camer<strong>as</strong> <strong>an</strong>d H is <strong>the</strong>number <strong>of</strong> observations. Q ∗ 1:T is <strong>the</strong> optimal trajectory,S is a set <strong>of</strong> <strong>3D</strong> trajectory segments, U isa set <strong>of</strong> <strong>3D</strong> ball c<strong>an</strong>didates <strong>an</strong>d P is a sequence <strong>of</strong>noisy multi-view 2D observation sets. As in reverseorder, U is built from P , <strong>the</strong>n S is from U <strong>as</strong> well<strong>as</strong> Q ∗ 1:T is extracted from S.To build U from P , for each time t, <strong>3D</strong> ball c<strong>an</strong>didatesare generated from all <strong>the</strong> possible pairs ( )C2N<strong>of</strong> synchronized N views. Given <strong>the</strong> camera parameters,a point, for example <strong>the</strong> one q g on <strong>the</strong> pitchground, on a ray from <strong>the</strong> camera center, q c areprojected on a point on <strong>the</strong> image. Ideally if <strong>the</strong>reexists a <strong>3D</strong> object(<strong>as</strong> a point) <strong>an</strong>d a pair <strong>of</strong> cameraproject it, <strong>the</strong> rays from each camera center to<strong>the</strong> projected point meet at <strong>the</strong> <strong>3D</strong> point. However,due to some noise, <strong>the</strong> rays may not meet each o<strong>the</strong>rposing some dist<strong>an</strong>ce. If <strong>the</strong> dist<strong>an</strong>ce is tolerable,<strong>the</strong> mid-point between <strong>the</strong> rays is taken <strong>as</strong> a <strong>3D</strong>ball c<strong>an</strong>didate. The mid-point q mid between tworays p<strong>as</strong>sing through two points q1 c <strong>an</strong>d q g 1 , <strong>an</strong>d qc 2<strong>an</strong>d q g 2 respectively is computed <strong>as</strong> following.where⎡A =⎢⎣q1,2 mid = qclosest1 + q2closest]2(5)= A −1 B (6)[ qclosest1q closest2q1 c (z) 0 µ g,c1 (z) 0 0 00 q1 c (z) µ g,c1 (z) 0 0 00 0 0 q2 c (z) 0 µ g,c2 (x)0 0 0 0 q2 c (z) µ g,c2 (y)µ c,g1 (x) µ c,g1 (y) µ c,g1 (z) µ g,c1 (x) µ g,c1 (y) µ g,c1 (z)µ c,g2 (x) µ c,g2 (y) µ c,g2 (z) µ g,c2 (x) µ g,c2 (y) µ g,c2 (z)(7)B = (q g 1 (x) qc 1 (z) , q g 1 (y) qc 1 (z) , q g 2 (x) qc 2 (z) , q g 2 (y) qc 2 (z) , 0, 0) T(8)q1 closest <strong>an</strong>d q2 closest are <strong>the</strong> points on <strong>the</strong> two raysclosest to each o<strong>the</strong>r <strong>an</strong>d µ a,bi = qi a − qb i . Then U is<strong>the</strong> set <strong>of</strong> mid-points :{ { ()} } N TU = qm midN (n),m N (n+1) p j m N (n) (t) , pk m N (n+1) (t) n=1t=1(9)where 1 ≤ j ≤ Hm t N (n) , 1 ≤ k ≤ Ht m N (n+1) <strong>an</strong>dm N (n) = MAX (mod (n, N + 1) , 1).From U, S is built by extending all <strong>the</strong> possibletriplets, three consecutive <strong>3D</strong> ball c<strong>an</strong>didates,<strong>as</strong> long <strong>as</strong> possible to give trajectory segment c<strong>an</strong>didates.A sequence <strong>of</strong> three ball c<strong>an</strong>didates in U isqualified to be a triplet if <strong>the</strong>ir acceleration <strong>an</strong>d velocitiesshow that <strong>of</strong> ballistic motion under gravity:S =whereβ t =δ t =ϕ t ={}{q t } t 2t=t 1|β t δ t δ t+1 ϕ t > 0, ∀t : t 1 ≤ t ≤ t 2 − 2(10){ 1 Tlβ< q t+2 (z) − 2q t+1 (z) + q t (z) < Tβ(11)u0 o<strong>the</strong>rwise{1 Tlδ< ‖q t+1 − q t ‖ 2< Tδu (12)0 o<strong>the</strong>rwise{ (1 cos −1 (qt+1−q t)·(q t+2−q t+1)‖q t+1−q t‖ 2 ‖q t+2−q t+1‖< T ϕ2)2 (13)0 o<strong>the</strong>rwiseTo get Q ∗ 1:T from S, <strong>the</strong> longest one among <strong>the</strong> segmentc<strong>an</strong>didates is chosen <strong>an</strong>d fitted to a parabolic⎤⎥⎦


curve parameterized by Θ.<strong>the</strong> entire length <strong>of</strong> <strong>the</strong> second sequence is about 50minutes covering a half <strong>of</strong> a soccer match which weΘ = {a, b, c, d, e, f, g|q t (x) = at + b, q t (y) = cq (x) + d, aim at.q t (z) = eq (x) 2 + fq (x) + g}Clutters caused from some audience mimic <strong>the</strong>(14) air ball <strong>an</strong>d produce false positives. However, <strong>the</strong>yare likely filtered <strong>of</strong>f since <strong>the</strong>ir long-term behaviorsThe nearest segments to <strong>the</strong> both ends <strong>of</strong> <strong>the</strong>longest are merged into <strong>the</strong> longest if its fitness to<strong>the</strong> curve is tolerable, <strong>the</strong>n <strong>the</strong> curve is updated considering<strong>the</strong> new support. After iterations <strong>as</strong> shownin Algorithm 1, is estimated a parabolic representative<strong>of</strong> <strong>the</strong> ball motion for a certain period bo<strong>the</strong>nds <strong>of</strong> which correspond to <strong>the</strong> points where <strong>the</strong>hardly satisfies <strong>the</strong> ballistic motion constraints, e.g.,<strong>the</strong>y never come down on <strong>the</strong> ground.When <strong>the</strong> ball rolls over <strong>the</strong> ground, its trajectoryis <strong>the</strong>oretically <strong>an</strong> extreme c<strong>as</strong>e <strong>of</strong> a <strong>3D</strong> parabola.So <strong>the</strong> estimation <strong>of</strong> parabolic parameters is verysensitive to noise so that most such c<strong>as</strong>es are notestimated.<strong>3D</strong> curve meets <strong>the</strong> pitch ground. Since <strong>the</strong> coefficients<strong>of</strong> <strong>3D</strong> parabolic curve equation is estimatedQ ∗ 1:T is a function <strong>of</strong> time.5 ConclusionAlgorithm 1 Growing a sequence <strong>of</strong> <strong>3D</strong> points supportinga <strong>3D</strong> parabolic curveRequire:{q} S = arg max (j − i){q t } j t=i ∈SEquation 14Ensure:AreOverlapped(a, b) returns T (true) if <strong>the</strong> sequencesa <strong>an</strong>d b are temporally overlapped.AreConsistent(a, b) returns T if <strong>the</strong> sequences a<strong>an</strong>d b are qualified to be parts <strong>of</strong> <strong>the</strong> same sequence.while isCh<strong>an</strong>ged = T <strong>an</strong>d isOutOfR<strong>an</strong>ge = FdoisCh<strong>an</strong>ged := FisOutOfR<strong>an</strong>ge := Ffor i, {q} i ∈ S doif AreOverlapped({q} i , {q} S ) = T <strong>an</strong>dAreConsistent({q} i , {q} S ) = T <strong>the</strong>n{q} S := {q} S ∪ {q} iΘ S := arg max p ({q} S|Θ)ΘisCh<strong>an</strong>ged := Tif S = ∅ or q S 1 (z) ≤ 0 <strong>an</strong>d q S |{q} S | (z) ≤ 0<strong>the</strong>nisOutOfR<strong>an</strong>ge := Tend ifbreakend ifend forend while4 ExperimentsExperiments were carried out on two video sequences.One is 500-frame long <strong>an</strong>d <strong>of</strong> SD size 720× 480 (Figure 3) while <strong>the</strong> o<strong>the</strong>r h<strong>as</strong> 6000 frames<strong>an</strong>d size <strong>of</strong> HD, 1280 × 720 (Figure 4). ActuallyThis paper proposed a <strong>3D</strong> soccer ball trackingmethod from multi-camera environment. A soccerball is projected to <strong>an</strong> image <strong>as</strong> a small whitishround blob. With multiple synchronized views,its <strong>3D</strong> position c<strong>an</strong> be estimated. In this paper,<strong>the</strong> ball trajectory is modeled <strong>as</strong> a sequence <strong>of</strong><strong>3D</strong> parabolic(ballistic) curves from multiple views.With this trajectory estimation method, losslesstracking is guar<strong>an</strong>teed for pretty long video clips<strong>as</strong> shown in our experiments. Currently ourmethod uses a greedy approach which finds <strong>the</strong>best trajectory segment first <strong>the</strong>n <strong>the</strong> second best,<strong>an</strong>d so forth. However, globally optimal approachwith probabilistic frame will be desirable.Acknowledgements This research is accomplished<strong>as</strong> <strong>the</strong> result <strong>of</strong> <strong>the</strong> research project forculture contents technology development supportedby KOCCAReferences[1] Yu, X., Xu, C., Leong, H., Ti<strong>an</strong>, Q., T<strong>an</strong>g, Q.,W<strong>an</strong>, K.: <strong>Trajectory</strong>-b<strong>as</strong>ed ball detection <strong>an</strong>dtracking with applications to sem<strong>an</strong>tic <strong>an</strong>alysis<strong>of</strong> broadc<strong>as</strong>t soccer video. In: ACM MM03,Berkeley. (2003) 11–20[2] Tong, X.F., Lu, H.Q., Liu, Q.S.: An effective<strong>an</strong>d f<strong>as</strong>t soccer ball detection <strong>an</strong>d trackingmethod. In: ICPR (4). (2004) 795–798[3] Y<strong>an</strong>, F., Kostin, A., Christm<strong>as</strong>, W., Kittler,J.: A novel data <strong>as</strong>sociation algorithm for objecttracking in clutter with application to tennisvideo <strong>an</strong>alysis. In: CVPR ’06: Proceedings<strong>of</strong> <strong>the</strong> 2006 IEEE Computer Society Conferenceon Computer Vision <strong>an</strong>d Pattern Recognition,W<strong>as</strong>hington, DC, USA, IEEE Computer Society(2006) 634–641


[4] K<strong>an</strong>g, J., Cohen, I., Medioni, G.: <strong>Soccer</strong> playertracking across uncalibrated camera streams.In: Joint IEEE International Workshop on VisualSurveill<strong>an</strong>ce <strong>an</strong>d Perform<strong>an</strong>ce Evaluation <strong>of</strong>Tracking <strong>an</strong>d Surveill<strong>an</strong>ce (VS-PETS). (2003)[5] Y<strong>an</strong>, X., Yu, X., Hay, T.S.: A 3d reconstruction<strong>an</strong>d enrichment system for broadc<strong>as</strong>t soccervideo. In: MULTIMEDIA ’04: Proceedings <strong>of</strong><strong>the</strong> 12th <strong>an</strong>nual ACM international conferenceon Multimedia, ACM Press (2004) 746–747[6] Seo, Y., Choi, S., Kim, H., Hong, K.: Whereare <strong>the</strong> ball <strong>an</strong>d players? soccer game <strong>an</strong>alysiswith color-b<strong>as</strong>ed tracking <strong>an</strong>d image mosaick.In: Proc. Int. Conf. on Image Analysis <strong>an</strong>d Processing,Florence, Italy. (1997)(a) 30 th frame(b) 130 th frame(c) 240 th frame(d) 300 th frameFigure 3: Result images <strong>of</strong> ball tracking. The projectedposition <strong>of</strong> <strong>the</strong> estimated ball on each camerais marked <strong>as</strong> red circle


(a) 200 th frame(b) 850 th frame(c) 1000 th frame(d) 1300 th frame(e) 2300 th frame(f) 5000 th frame(g) 5400 th frame(h) 5800 th frameFigure 4: Ano<strong>the</strong>r example <strong>of</strong> ball tracking. Four camer<strong>as</strong> are located around <strong>the</strong> pitch almost symmetrically.The four displayed numbers are frame index <strong>an</strong>d X, Y <strong>an</strong>d Z coordinates respectively in order.When <strong>the</strong> ball position is not estimated <strong>the</strong> word ”Disappeared” is displayed.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!