DARTS SCORING METHOD
20250093134 ยท 2025-03-20
Inventors
Cpc classification
G06V10/751
PHYSICS
F41J5/02
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
F41J3/02
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
International classification
F41J3/02
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
F41J3/00
MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
Abstract
A method of determining a score of a dart in a play surface of a dartboard using a plurality of cameras facing the dartboard is provided, wherein a direction of view of each of the plurality of cameras is at a non-zero angle relative to a plane containing the play surface of the dartboard, the method comprising: calculating a homography matrix for each camera within the plurality of cameras, the homography matrix being for transforming an image of the dartboard captured by the respective camera from a view of the respective camera to a front-view of the dartboard; capturing a first image of the dartboard using each of the cameras at a first time, and capturing a second image of the dartboard using each of the plurality of cameras at a second time, the second time being subsequent to the first time, and the dart being in the play surface of the dartboard at the second time; producing a plurality of differential scoring images by comparing each first image to the second image captured by the respective camera; using at least two of the differential scoring images with their respective homography matrices to determine a location of intersection between the dart and the play surface of the dartboard; and determining a score based on the determined location of intersection.
Claims
1. A method of determining a score of a dart in a play surface of a dartboard using a plurality of cameras facing the dartboard, wherein a direction of view of each of the plurality of cameras is at a non-zero angle relative to a plane containing the play surface of the dartboard, the method comprising: calculating a homography matrix for each camera within the plurality of cameras, the homography matrix being for transforming an image of the dartboard captured by the respective camera from a view of the respective camera to a front-view of the dartboard; capturing a first image of the dartboard using each of the cameras at a first time, and capturing a second image of the dartboard using each of the plurality of cameras at a second time, the second time being subsequent to the first time, and the dart being in the play surface of the dartboard at the second time; producing a plurality of differential scoring images by comparing each first image to the second image captured by the respective camera; using at least two of the differential scoring images with their respective homography matrices to determine a location of intersection between the dart and the play surface of the dartboard; and determining a score based on the determined location of intersection.
2. The method of claim 1, wherein the directions of view of two adjacent cameras of the plurality of cameras are positioned at approximately 90 degrees to one another.
3. The method of claim 1, further comprising: illuminating the play surface of the dartboard using an illumination device.
4. The method of claim 1, wherein each homography matrix is calculated based on a reference image captured by the respective camera, the reference image being an image of the dartboard without any dart present.
5. The method of claim 4, wherein each homography matrix is calculated based on a plurality of reference points identified in the respective reference image, the reference points corresponding to a plurality of predetermined locations on the dartboard.
6. The method of claim 5, wherein reference points of the plurality of reference points are identified by computer-based image analysis of the respective reference image.
7. The method of claim 1, further comprising: adjusting at least one of the homography matrices based on input from a user.
8. The method of claim 1, further comprising: capturing at least one intermediate image of the dartboard using at least one of the plurality of cameras, the at least one intermediate image being captured subsequent to the first time and prior to the second time; producing one or more differential throw images by comparing the at least one intermediate image to the first image captured by the respective camera; and determining that a dart has been thrown by comparing a number of pixels in the one or more differential throw images to a throw threshold value.
9. The method of claim 8, wherein the plurality of second images is captured after a predetermined sleep time following the determination that a dart has been thrown.
10. The method of claim 1, wherein the determining the location of intersection between the dart and the play surface of the dartboard includes: producing a plurality of contour images of the dart based on the plurality of differential scoring images.
11. The method of claim 1, wherein the determining the location of intersection between the dart and the play surface of the dartboard comprises: using the differential scoring images with their respective homography matrix to determine a location of the dart point on the dartboard.
12. The method of claim 1, wherein determining the location of intersection between the dart and the play surface of the dartboard comprises: using the at least two differential scoring images with their respective homography matrix to map a main axis of the dart in each differential scoring image onto the front-view of the dartboard; determining at least one location of intersection between the main axes of the darts in each differential scoring image, when mapped onto the front-view of the dartboard; and determining the location of intersection between the dart and the play surface of the dartboard as the at least one location of intersection between the main axes of the darts in each differential scoring image, when mapped onto the front-view of the dartboard.
13. The method of claim 1, wherein determining the location of intersection between the dart and the play surface of the dartboard comprises: determining a plurality of locations of intersection between the dart and the play surface of the dartboard; and determining a weight value for each determined location, the weight value being indicative of a predicted reliability of the determined location.
14. The method of claim 13, wherein the weight value is determined based on one or more of: a number of pixels in the respective differential scoring image; a shape of a contour of the dart in the respective differential scoring image.
15. The method of claim 1, wherein the method includes displaying the score on a screen.
16. A dartboard scoring system comprising: a plurality of cameras configured to be mounted facing a dartboard such that a direction of view of each of the plurality of cameras is at a non-zero angle relative to a plane containing the play surface of the dartboard; and a controller in communication with the plurality of cameras that is configured to carry out the method claim 1.
17. The dartboard scoring system of claim 16, further comprising an illumination device for illuminating the dartboard.
18. The dartboard scoring system of claim 16, further comprising a screen for displaying a score.
19. A method of determining a score of a dart in a play surface of a dartboard using a plurality of cameras facing the dartboard, wherein a direction of view of each of the plurality of cameras is at a non-zero angle relative to a plane containing the play surface of the dartboard, the method comprising: calculating a homography matrix for each camera within the plurality of cameras, the homography matrix being for transforming an image of the dartboard captured by the respective camera from a view of the respective camera to a front-view of the dartboard; assigning each pixel within the view of each camera a score value using the respective homography matrix for the camera; capturing a first image of the dartboard using each of the cameras at a first time, and capturing a second image of the dartboard using each of the plurality of cameras at a second time, the second time being subsequent to the first time, and the dart being in the play surface of the dartboard at the second time; producing a plurality of differential scoring images by comparing each first image to the second image captured by the respective camera; identifying the pixel location of the dart point in each differential scoring image; and determining a score based on the pixel locations of the dart point and their respective assigned score value.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0049] Certain embodiments of the disclosure will now be described by way of example only and with reference to the accompanying drawings in which:
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
[0058]
[0059]
DETAILED DESCRIPTION
[0060]
[0061] As can better shown in
[0062] The transceiver 30 is configured to communicate with a processor 32 and a memory 34 of the controller 14. The transceiver 30 communicates images received from the cameras to the processor 32 and the processor 32 can perform image analysis on the images. Additionally or alternatively, the transceiver 30 can communicates the images to the memory 34 for storage.
[0063] In other embodiments, the communication may be by wired communication, for example if the controller 14 is incorporated within or mounted to the frame 12.
[0064] The dartboard scoring system 10 is configured to carry out a method for determining a score 46 of a dart in a play surface 102 of the dartboard 100, said score 46 being displayed on a screen 16. In particular, the controller 14 processes images captured by cameras 22 using processor 34 in order to determine a score of a dart captured within the images. In order to do this, the images captured by the cameras 22 are related to a common reference image of the dartboard 100 in which the scores associated with each segment of the dartboard are known.
[0065] As shown in
[0066] To calculate the homography matrix for a given camera, the camera 22 captures a reference image 40 of the dartboard 100, as shown in
[0067] The positions 44 of the predetermined locations in the front-view image 38 of the dartboard 100 are stored in the memory 34 of the controller 14. The homography matrix is calculated by retrieving the positions 44 from the memory 34 and comparing these positions 44 to the reference points 42 identified in the reference image 40.
[0068] Once the homography matrix is known, any point in the camera view 36 can be mapped onto the front-view 38, and the score associated with that point can therefore be determined. Particularly, a scoring pattern of the front-view 38 can be used to determine the score associated with a given point in the reference image 40 and/or the front-view 38.
[0069] The scoring pattern is stored in the memory 34 and comprises information regarding what score should be assigned to each position in the front-view 38 of the dartboard 100. As such, each position in the front-view 38 of the dartboard will have a score value associated with it, said score being stored in the memory 34.
[0070] Optionally, by using the respective homography matrix, each pixel in the camera view 36 can also be assigned a score value. The assigned score values of the pixels in each camera view 36 are stored in the memory 34 for later consultation when determining the score of a dart. The scoring pattern can be mapped, using the homography matrix, onto the reference image 40 captured by the camera 22 and displayed to the user via screen 16. The user can then check that the calculated homography matrix for that camera 22 is accurate by checking if the scoring pattern correctly aligns with the reference image 40 in the displayed image. The user can adjust the homography matrix by adjusting the position of the scoring pattern on the reference image 40.
[0071] The score can only be determined once a dart has been thrown. The method therefore includes determining that a dart has been thrown, and calculating the score of the dart once this determination has been made. To do this, a plurality of first images are captured by each camera 22 at a first time, and a plurality of intermediate images are captured by each camera 22 at a time subsequent to this first time. The first images are captured prior to a dart throw, whilst the intermediate images are captured after the dart has been thrown, either whilst still travelling in the air, or after the dart has hit the dartboard. The first images and intermediate images are transmitted to the controller 14 via pathway 28. To determine that a dart has been thrown, each first image is subtracted from the respective intermediate image using the processor 32, or vice versa, to produce a differential throw image 46, as shown in
[0072] It will be appreciated that other image analysis techniques may be used to identify when a dart is detected within the intermediate images. Furthermore, in other embodiments, the scoring may not be automatic, but instead a user of the system 10 may inform the system 10 when a dart has been thrown and should be scored.
[0073] Once it has been determined that a dart has been thrown, the score associated with that dart 48 is determined. To do this, a plurality of second images are captured by each camera 22 at a second time, the second time being subsequent to both the first time and the time at which the intermediate images are captured. The second images are captured after a predetermined sleep time of 300 ms following the determination that a dart has been thrown. This gives the dart 48 time to stablise after it has hit the dartboard 100, thereby ensuring that the image of the dart 48 upon which the score is based is not blurred.
[0074] Each second image is subtracted from the respective first image, or vice versa, to produce a differential scoring image. The processor 32 performs a number of image processing operations on the differential scoring imageas done for the differential throw imageto produce a contour 52 of the dart, as shown in
[0075] Using the respective homography matrix, the dart point position 54 and the main axis 56 of the dart in the front-view 38 of the dartboard 100 can be determined, as shown in
[0076] Further score values can be determined using the main axes 56 of the dart 48 in the differential scoring images. This is described in further detail with reference to
[0077]
[0078]
[0079] This principle also allows any shadows present in the images to be removed. If a shadow is present, for example due to poor or non-homogenous illumination, it would also be present in the differential images. However, as a shadow will fall across the play surface 102 of the dartboard 100, it will be transformed to the same location in the front-view by each of the homography matrices. Therefore, a shadow can be identified as parts of two transformed differential images that are in the same location, and can therefore be removed from the differential images before calculating the tip location 54 and/or the main axis 56 of the dart 46. This may ensure that a more accurate score is obtained, which is not incorrectly skewed by the presence of shadows.
[0080] Thus, the point of intersection 58 between the main axes 56a, 56b can be used to determine a score value of the dart 48 using the scoring pattern. Whilst only two main axes have been considered in
[0081] Thus, in the example of
[0082] A side view of the dartboard scoring system 10 is shown in
[0083]
[0084] Whilst four cameras 22 are shown in the preferred embodiment, it is envisaged that three cameras 22 would still provide accurate scoring for a standard game of darts in which three darts are thrown. The techniques above could also be applied to a system with only two cameras 22, or to a system with more than four cameras 22.