CourtVisionPH: A System for the Extraction of Field Goal Attempt Locations and Spatial Analysis of Shooting Using Broadcast Basketball Videos

Video thumbnail (Frame 0) Video thumbnail (Frame 858) Video thumbnail (Frame 3986) Video thumbnail (Frame 4795) Video thumbnail (Frame 7928) Video thumbnail (Frame 8942) Video thumbnail (Frame 9683) Video thumbnail (Frame 10274) Video thumbnail (Frame 11418) Video thumbnail (Frame 13077) Video thumbnail (Frame 15474) Video thumbnail (Frame 17128) Video thumbnail (Frame 28591) Video thumbnail (Frame 40054)
Video in TIB AV-Portal: CourtVisionPH: A System for the Extraction of Field Goal Attempt Locations and Spatial Analysis of Shooting Using Broadcast Basketball Videos

Formal Metadata

CourtVisionPH: A System for the Extraction of Field Goal Attempt Locations and Spatial Analysis of Shooting Using Broadcast Basketball Videos
Title of Series
CC Attribution - NonCommercial - ShareAlike 3.0 Germany:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this license.
Release Date
Production Year
Production Place
Seoul, South Korea

Content Metadata

Subject Area
The presentation is about the development and application of CourtVisionPH. CourtVisionPH is a system developed for the extraction, storage, and analysis of basketball-related spatial information. It focuses on the extraction of field goal attempt (FGA) locations from broadcast basketball videos and the spatial analysis of shooting by means of statistics and maps/visualizations. The system was developed using the Python Programming Language. It features a database for storing spatial and non-spatial information and a Graphical User Interface (GUI) to help the user and the system interact. The modules used in the development include Tkinter for the GUI, SQLite for the database, Numpy for the computations, Pillow for image processing, and OpenCV for video rendering. The system has three independent but interconnected functionalities each with its own specific task: (1) Data Management which handles database connections, (2) Spatial Data Extraction for user-assisted extraction of FGA locations from videos using 2D-projective coordinate transformation and validation of transformed FGA locations sing RMSE and back-transformation, and (3) Spatial Analysis that computes statistics, generates maps/visualizations, and query-based analysis. After the development of the system, it was applied on UP Fighting Maroons and the DLSU Green Archers during the 2nd Round of University Athletics Association of the Philippines (UAAP) Season 76 (2013-2014). Videos publicly available online through were used for extracting field goal attempt locations. Shots taken too far from the basket (half-court heaves, etc.) or those with bad RMSE or back-substitution results were excluded from the extraction. The extracted FGA locations were then validated using box-scores. Afterwhich, the system was used to analyze and compare the two teams and their players using statistics and visualizations and show that spatial analysis provides more information and allows for better characterization and appreciation of shooting than conventional, non-spatial techniques.
Broadcasting (networking) Presentation of a group Computer animation Personal digital assistant System programming Streaming media Computer font Exception handling
Point (geometry) Statistics Observational study Confidence interval Multiplication sign Range (statistics) Set (mathematics) Insertion loss Mass Mereology Perspective (visual) Object-oriented programming Average Square number System programming Audiovisualisierung Area Cellular automaton Software developer Uniqueness quantification Analytic set First-person shooter Cartesian coordinate system Hand fan Shooting method Word Computer animation Angle Order (biology) Numerical analysis Game theory Metric system Resultant
Point (geometry) Statistics Pay television Observational study Confidence interval Multiplication sign Streaming media Mass Mereology Field (computer science) Mechanism design System programming Associative property Exception handling Social class Information Mathematical analysis Counting Limit (category theory) Type theory Shooting method Data management Computer animation Visualization (computer graphics) Internet service provider Numerical analysis Game theory Resultant
Information Software developer Source code Database Streaming media Funktionalanalysis Mereology Neuroinformatik Medical imaging Uniform resource locator Data management Computer animation Numerical analysis System programming Form (programming) Library (computing)
Data management Computer animation Information output Database Right angle Diagram Figurate number
Point (geometry) User interface Area Group action Information Transformation (genetics) Multiplication sign Real number Source code Projective plane Mathematical analysis Coordinate system Total S.A. Streaming media Parameter (computer programming) Mereology Field (computer science) Medical imaging Process (computing) Computer animation System programming Endliche Modelltheorie Exception handling
Statistics Spline (mathematics) Transformation (genetics) Plotter Parameter (computer programming) Function (mathematics) Streaming media Rule of inference Neuroinformatik Medical imaging System programming Endliche Modelltheorie Exception handling Validity (statistics) File format Projective plane Content (media) Mathematical analysis Database Connected space Computer animation Angle Visualization (computer graphics) Query language Freeware
State observer Presentation of a group State of matter Multiplication sign Decision theory Range (statistics) Numbering scheme Coma Berenices Mereology Neuroinformatik Different (Kate Ryan album) Cuboid Endliche Modelltheorie Data conversion Error message Area Pattern recognition Mapping Software developer Substitute good Proof theory Data management Shooting method Order (biology) XING Right angle Resultant Point (geometry) Statistics Online help Streaming media Distance Graph coloring Theory Field (computer science) Broadcasting (networking) Average System programming Audiovisualisierung Compilation album Fingerprint Transzendente Zahl Pairwise comparison Dependent and independent variables Distribution (mathematics) Inheritance (object-oriented programming) Cellular automaton Mathematical analysis Database Line (geometry) Cartesian coordinate system Computer animation Universe (mathematics) Numerical analysis Natural language Game theory Near-ring Spectrum (functional analysis)
Presentation of a group Multiplication sign View (database) Source code Workstation <Musikinstrument> Set (mathematics) Mereology Neuroinformatik Medical imaging Mathematics Different (Kate Ryan album) Determinant Position operator Systems analysis Area Algorithm Arm Mapping Funktionalanalysis Instance (computer science) Variable (mathematics) Substitute good Hand fan Category of being Proof theory Type theory Data management Shooting method Resultant Point (geometry) Open source Image processing Streaming media Graph coloring Field (computer science) Lecture/Conference Term (mathematics) System programming Audiovisualisierung Hydraulic jump Condition number Matching (graph theory) Information Mathematical analysis Database Cartesian coordinate system Computer animation Visualization (computer graphics) Personal digital assistant Universe (mathematics) Numerical analysis Game theory Intercept theorem
so it further and the last person for discussion many in junior better printer and from the University of the Philippines Department of genetic engineering and on behalf of Mr. Nicholl like at the nodes and home assistant professor Lorimer so perception on all be presenting quite pH a system for the exception FIL go up implications and special of shooting using broadcast basketball videos the the for a short outline of my presentation will be
as follows 1st I would provide a Introduction of the past what this study order systems about on the problem-set it wants to address its objectives the methodology that we used for development and application of such a system a discussion of the results and finally some conclusions and recommendations that we gathered from the study so all of whom I am I made a big basketball fan out of years ago and it doesn't violate encountered in that it is a research by Dr. Kurt that but she presented during the day and that 12 MIT Sloan sports confidence in invests Boston uh its title was quite mission new visual and special analytics for the NBA from basically if if you've added you know that 0 here on the died this they show all who the best shooter in the NBA loss at that time on and he want he wanted to address the fact that most of the conventional statistics to being used and the NBA during that time failed to the confidence special aspect of shooting so from his study he used perspective expect the you'll protection system data from 2005 to address the about 6 so that's an 11 when he found out that a majority if not all of the shots taken during a basketball game was on limited the a scoring area of 1 thousand 400 others and 148 square a square feet divided into 1 1 square foot ourselves from resulting in 1 thousand word for date shooting sets using that scoring area he was able to all create through metrics which was spread and range spread was many on how many cells unique cells in the player attempts at least 1 the angle and range was the number of shootings has appear averages at least 1 point per cent massive
said he used this part they expect me to their tag system assess and see for this study on this actually the system uses 6 cameras on the other the court to plot the here's the because it simultaneously on observes and records the by a basketball game and recently it's become available
online are indeed the best especially that's available online so from this so what did I get when I that when I when I added that paper maybe unless there was something like this unless a possible especially
end the class I I really love basketball and if you've ever been to the Philippines you know that the crazy about basketball it is the number 1 spot in our country without a doubt that the search history it's part of our culture is a lot of money involved so I wanted to actually do this kind of study in our country the problem with this I encountered a few actually the problems were 1st of all there was actually no system in place so that the special information from basketball games so unlike the NBA would have support this part of the patent system there's no such thing in place in the Philippines so I have a problem with data for so long 2nd the type of analysis and management in the country is still very traditional if you look at or if you look at the the premium basket mechanic country massive association this limit the analysis this that's statistics keeping blue simple counting and initial statistics for shooting the use field goal percentage point percentage so it doesn't account for this leg on that because Cobles various that it doesn't confident special aspect of of shooting itself so whether they wanted to wanted to develop a system that could actually extract if got implications of friend bad customizable videos we decided to use robust basketball videos because it was the most readily available at me from it this usually it is uploaded on you tube so we could get it publicly without needing to actually be the providers for such videos so for other exception wanted to be able to perform special analysis after accepting the data and then made with the present-day results using statistics and visualizations so from that we wanted to on a show that special analysis of shooting actually has advantages over the conventional non special statistics cut that that was used during that time and still actually currently being used in the Philippines redneck so for methodology we divided into
blue 1st is the development so all we wanted to develop a system that are so we did that we decided to use Python and its source and its libraries so number for computations over all databases system like they can therefore be the goalie weapons in the form of their own are manipulation and ending and below for the images so if if you not business it yes there are more them in was used in 5 phones over there and have been able parts on the on add so many external dependencies so for for the
development of our system is divided into 2 main parts of functionalities we needed a data management system or that could actually stored both of spot the information that we need we needed an extraction system that could extract those frugal locations from the videos and lastly we needed a system that can analyze the data that we are accepted from those videos for
further data managements mystical this the user that it actually input all this information which are all in the database in the database Michigan have figure
adapted and on the right you can see the diagram of our us assume a simple diagram of what the data what the database and things for extraction
it's ultimate manually it it actually manual there you have a video you have you have a system that that's the very opposite the video and the users of selects manually all the shots the field goal attempts from from that that from the video itself so uh those action the bottleneck of the system and its annotation rendered developed in blue automating this process but the the time constant of time on the not allow us to actually automate the price itself so we decided to use that are actually interlanguage extract the most information so what what actually happens during during exception as this that the at 1st since
we're using by this massive overdose from just 1 1 Canada it's an that dominoes usually it's usually you position in such a way that it's oblique from the court itself the coordinates are the transformation operated as a mission that we use was studied projective Gordon tansformation provided by this formulas and and on the right side of that that was part model that we use a weighted of 20 the window points sources of food have you have 2 images sum up and the real world image it can create a you can get information parameters by thus solving for huntingford if if you know the of the coordinates of 1 over the other point in both coordinates on and coordinate systems so on has a defined the scoring area us a 15 minute American mitigated composed of random non-square when there and so so that a total of 150 proposals for a special analysis so again for
extraction this is what you are doing finally you the video evidence you would have to select the control points from the image and select the other user under the the shooter and after that you rule of you I have a system to compute 40 formation parameters it would actually output they of the computer and I messy just solution that has the validate if it's if it's a good transformation are not it also back project the quot model that I showed you before onto the image itself so that you know you will you have an idea of whether or not the transformation a successful lawyer where all or not so in this example you have depleted the shooting the ball in the blue 1 then you have quantity and forward the 5 control points and then you compare that system computes 40 dust emission parameters and on the 2nd image you see the plot was not projected and was actually if you look at the clock it was actually the back projection is actually a very quiet very good quite good actually so we accept that we accept the computed the parameters and the coordinates where the system and the important on the the database if it's not that accurate that actually army that actually prevent the system from and putting it into the database because it would just if it's an accurate and inaccurate transformation at the just corrupt the of the the the contents of the data that you have so 7 exception rounded to be able to
perform special analysis special analysis so once you have guided you have enough data for analysis you of you can actually use the connection query the system to OK statistics on visualizations based on those free angle at implications that were extracted the so this is just the
the the going whether you put aquarium up well known that that's what this only we only decided using text-based queries so that it could you could actually create scenarios so can you can't you we are not limited to describing the inspectors said that I URI could actually query-specific specific scenarios sexy around the dinner how well Apian performs during the last 10 minutes of a game so clearly the team areas to a time all articles for a time left equals the and that it is the system the system request doing tell you that response so what about acidic querying so after the development
of a theory developed the system you use that we applied a tool to study the performance of the themes in the university after Athletics Association the Philippines you a preseason 7 the 6 this was in 2008 and thus avoiding when this through temperature DB fighting models which is not a matter and Andy there's some resident in our church they're the champs the champions of that of that season so the data that we use the same said them on their videos publicly available to you tube and then move on to be able to actually validate those data together we use box costs and play-by-play data available online we also excluded . 7 single attempts from the database so if if if it was outside the scoring area will you be excluded at the same time if it had bad I messy you about that substitution results we excluded at so home when we when we checked the database we found out that about 20 per cent there's about the present difference between the number of extracted few good attempting goes from the actual box costs In all of that of that league so we believe that it had this kind of error to well 1st the presentation of the user since this is remember accepting points uh Germanic stopping field goal attempts again in and if the user is that that uh knowledgeable about basketball you could miss some was sent to start some some data some few attempts actually and at the same time as I said we excluded shots outside of the scoring area as well as listed Our although I amici so those shots were not included in the database itself it so from the from the applicant going the computer to suppress sticks and I've is the spread this part of the spectrum is evenly spread percentage of age range percentage mainly or how many shots or a percentage of their shots I taken within this this from the basket however they should in that distance how how much presents the day how many parents some intensity quote that them if you actually know if if you if you try to look at it you'll notice that the you providing models and the assuming arches actually have this almost the same or or distribution of transcendental distance when you that you'd be uh it has a slight slight slight advantage for the from shot I need a need a basket which is less than languages and people and those but in order other areas of the court because the rest of the managers who had in better significantly better performance than the fighting so all that makes the system with the statuses statistics essentially the visualizations because if you are able to see if you have to account for where on the court at the more player performs better than you can actually prepare for the method so this is just the the ranges from this percentage visualization of on the of European and its opponents and on the left is UPN on your right this its opponents if if look at the map the very 1st thing that you know this is that near the basket on the on on on areas near a basket if you actually performs the leading poor they have like a yellow and orange 1 in very small and on very small very small very small sizes of the boxes with the sizes of the boxes indicate the amount of the number of illegal attempts taken in that sense and the color indicates the all how many points scored grant them so if you look at this area you'll be actually perform feeding the poor comp here compared to what their opponents no so from that itself you can actually conclude that you use that this scheme has a problem conflicting and defending shots near Damascus and then aside from the aside from that we can also look at and if you look at this this is the last and then its opponents the main thing that you can see here is that the cell actually converts at the Hyatt 8 special at this area of the the point of the 3 point line so if you're paying them you would actually say that help prevent them from taking shots you just let them take shots summary here or new this baseline because that's where they actually perform poor the is a comparison of the players around from you p which is still at the and 1 from the other side was 1st State Bank if you can see Mr. mappers arranged % management is that a puppet as a peppered look it means that it takes a lot of shots everywhere com put it in there are actually only makes it's only actually effective here and about here compare that to state things the trouble is that we're in the last shots are concentrated near the paint and the pink area this takes mid-range shots and you take simple and there's although shots he takes it independent of usually succeeds she has a very how you find that the average in this area so these is that observations also said they have similar similar distribution would when it comes to this of some basket only a slight advantage for the UP full in it is not our then Apertium shots and dependence but significant difference for advantage focuses on gross strange the midrange shots what again UPS difficulties converting and defending their shots neutered near a basket of if you've seen it on the map an unintelligible 6 actually of those shots with a continued about near the basket compared to their opponents about 52 per cent of their shots would in that area and converted it at 1 point what 1 5 . 4 attempt and this is what was saying about this as their only happened allow their opponents to take only 36 per cent of the shots would in that area and 1st and tools long the point there's a new dating shots which that their opponents actually converted to a very poor dates attend 6 2 main purpose if you look at an avid avid should be well at least 1 point so again this is Mr. that ends the things comparison so far the African Xing conclusions and we were able to develop at least short proof of concept that a system can be made that can extract frugal applications using broadcast basketball videos and then made was to perform special analysis of shooting on using the freely available resources and the that running we also able to demonstrate that notice pattern analysis that it provides better get decision an appreciation of shooting
because if I just give you a set of variables in of November issue of you and actually appreciated you you better you will appreciate that the more if it's visual on a map end up being visualizations provided that the system does that the the old we also found out that aside from the quality of the videos that we use the system was pretty much limited by the user on how he could actually extracted from the field that that's from the videos because of the need the computer correctly except those who would would make a significant difference in the accuracy of the analysis it said so all recommendations nuclear could expand the database you can change it doesn't use as the let me you something wires fashion missing the AEC and add that the video and image processing algorithms found this this the actually it's very very very good you could actually optimize the because shop and position determination if you wanted to do that since the system rests not in such a way that there's the functionalities could be edited without Our without actually changing how how it acts on how it got are how it communicates with added to functionalities nasty for you could do show shown come at us so vegeculture devices that and then you just use those couple did on some person image processing video processing algorithms that actually detection the shots and not just that they're a are these specific than those of so you know that data fed him that a system in terms of application the intervention the complete and we can use secondary sources indicated that Paperback's course available on land to make sure that it's and but I if using the system as it is that you should you should use knowledge about a person with intimate knowledge of basketball through the dividend that extracts the data because someone was not a fan of basketball and the world will have a very difficult time of extracting this information so it's some references and thank you Hey and I was thinking it the this isn't um is do you see any use for is in now could is these fathers Borges interception something In the area and more question do you have to use only 1 camera or do the you know the camera's merely end as as it is that now the system analysis on a single common which is which is the color of the of the giver station capturing the game but for of Gerson spheres discussions and this to know that if you have more of the brains of public and as my views that have better and I can actually get the position more accurately as and you have to uh manually you know which way it with its number 2 player was shooting has the the assistance and that how much do you have to do manually and I are so there's lot but you have to like a point on the and the person's shooting and you have to type in the number of the person should think and it has a number and then it that will actually database if that number is actually assigned to a specific player so if it's not going to tell you all know that's the wrong person the wrong team Uriah adopted that's happening that video arms to say anything about the amount of manually recount much how much time does it takes for 1 person to do the math match for instance the full-form basketball game you could actually say can that after the game is about 2 hours so the next day we can actually provide the the if they're asking if they're asking for data and actually finish it when when I in the nite so tomorrow if you ask me to give my data that they could give you the results tomorrow that had been trying to made it tractable in the video will not get through actually rounded to automatically that everything but what it was because it was difficult to do that we the amount of time that we were given to finish the the finished research so we opted do us that they just use manual extraction of 1st and then try to look into automatic automated packing over players and the boat the of ends around 1 of the annotations was that the whenever something was the ready low quality so it's very hard to differentiate between the between certain players if the bonus the various moving faster so difficult to find especially for low quality did not quality videos I think it was very interesting presentations so thank you thank you an hour ago that this is very core thank you ma'am I have just a couple of questions 1st aid assuming because the conference rather this is open source can you talk about how hard it is for some set up the system but it does it took me about 6 the of then thinking about how to locate the system and then another 2 months to actually creating at this uh just divided into 3 parts as substitutes the data management extraction and then on special analysis so I a pack of it said that it so that if ever they could I could and find better ways to do something I could just change have affected so if you not this and 1st of all that images but by phone to make it it's it's a proof of concept wanted to show that it could be done OK but you could clearly people when you is available somewhere the problem is on actually I have a an agreement that no in many cases advisor and the university and still reading if they would allow me to actually appeared Michael OK fair enough I and the last 1 Friday give the mike I'm curious how you I figure out how high the ball is often court when it's released right you need to know isomers jumping to a intersect with the transformed course so how do you figure that out when there are only a short time that if a person is jumping usually it is assumed that the person's something radically so on here here are no actually we leave that that the condition the 1st jump so have this is and the court that was the position where we are home we that as these properties took the shot of case allegedly amount something of thank you the