DARTS SCORING METHOD

20250093134 ยท 2025-03-20

    Inventors

    Cpc classification

    International classification

    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] FIG. 1 shows a schematic drawings of a dartboard scoring system;

    [0051] FIG. 2 shows a schematic image of the homography operations carried out on the images captured by the cameras in the dartboard scoring system;

    [0052] FIG. 3 shows images of the dartboard from different views with reference points overlaid;

    [0053] FIG. 4a shows a differential throw image of the dart;

    [0054] FIG. 4b shows a contour of the dart;

    [0055] FIG. 5 shows the transformation of the dart point position and the main axis of the dart onto a front-view of the dartboard;

    [0056] FIG. 6 shows the main axes of the dart from different camera views;

    [0057] FIG. 7 shows the main axes shown in FIG. 6 transformed onto the front-view of the dartboard;

    [0058] FIG. 8 shows a side view of the dartboard scoring system; and

    [0059] FIG. 9 shows a front-view of the dartboard scoring system.

    DETAILED DESCRIPTION

    [0060] FIG. 1 shows a schematic diagram of a dartboard scoring system 10. The dartboard scoring system comprises a frame 12, a controller 14, and a screen 16. The frame 12 comprises an arc-shaped support 18 and a plurality of arms 20 extending from the support 18. The arms 20 are for attachment to a surface, such as a surface of the dartboard 100 or a wall adjacent the dartboard 100, so as to mount the frame such that the support 18 at least partially surrounds a dartboard 100. Each arm 20 comprises a camera 22 that is configured to face the play surface of the dartboard 100 in use. The support 18 comprises an illumination device 24, such as an LED strip, for illuminating the play surface of the dartboard 100 in use.

    [0061] As can better shown in FIG. 8, a direction of view 26 of each camera 22 is at a non-zero angle relative to the plane containing the play surface 102 of the dartboard 100. In the example of FIG. 1, four cameras 22 are shown. The cameras 22 are configured to capture images of the play surface 102 of the dartboard 100 and communicate those images to controller 14. In particular, the cameras 22 communicate with a wireless transceiver 30 of the controller 14 via wireless communication path 28. Although the communication path 28 is shown between only one of the cameras 22 and the transceiver 30 in FIG. 1, it will be appreciated that all the cameras 22a-d are able to communicate with the transceiver 30.

    [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 FIG. 2, a first camera 22a of the plurality of cameras 22 has a first view 36a, whilst a second camera 22b of the plurality of cameras has a second view 36b, with the two views 36a, 36b lying in different planes. A homography matrix can therefore calculated for each camera 22 so that any points lying within the plane of the play surface 102 of the dartboard 100 in the view of the camera 22 can be translated to correspond a front-view image 38 of the dartboard 100, in which the scores associated with each location on the dartboard 100 are known.

    [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 FIG. 3. The reference image 40 captures an image of the dartboard 100 whilst no dart is present, in the view 36 of the camera 22. A number of reference points 42 are identified within the reference image 40, the reference points 42 corresponding to a plurality of predetermined locations on the dartboard 100. In FIG. 3, the reference points 42 correspond to locations around the edge of the dartboard playing surface 102. However, any suitable reference points may be used. The reference points 42 can be manually identified by a user (e.g., using the screen 16) or can be automatically identified by performing computer-based image analysis of the reference image 40.

    [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 FIG. 4a. The differential throw image 46 isolates the dart 48 from the background. The processor 32 performs a number of image processing operations on the differential throw image 46, including morphological operations and filtering operations, in order to produce a contour 50 of the dart 48 as shown in FIG. 4b. The number of pixels in this contour 50 are compared to a pixel threshold value. If the number of pixels is greater then the pixel threshold value, the processor 32 determines that a dart has been thrown. Otherwise, the processor 32 determines that no dart has been thrown, and further intermediate images are captured and compared with the first image until a dart is detected.

    [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 FIG. 5. Various features of the dart 52 can be identified based on the contour 52, such as the dart point position 54 in the camera view 36 and the main axis 56 of the dart 48 in the camera view 36.

    [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 FIG. 5. For the dart point position 54, a score can be determined by consulting the scoring pattern and finding the score associated with that position in the front-view 38 of the camera. Alternatively, the score can be determined based on the dart point position 54 in the camera view 36 by retrieving the score value associated with that position, as determined when calculating the homography matrices, from the memory 34. Thus, a score value can be determined based on the identified dart point position 54 in each differential scoring image. In the example of FIG. 1, this would mean four score values are determined based on the identified dart point position 54.

    [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 FIGS. 6 and 7.

    [0077] FIG. 6 shows two images of the dart 48 taken from different cameras 22. These images correspond to the second images of the dart 48. The main axis 56a of the dart 48 in the left image is at a different angle to the main axis 56b of the dart 48 in the right image due to the difference in direction of the camera views.

    [0078] FIG. 7 shows the main axes 56a, 56b mapped onto the front-view 38 of the dartboard 100 using the respective homography matrices of the cameras 22. The point of intersection 58 between the main axes 56a, 56b in the front-view 38 corresponds to the location at which the dart 48 intersects with the dartboard 100. This is because the homography matrices transform the plane of the play surface 102 of the dartboard 100 to the plane of the play surface 102 when viewed from the front. Therefore only the location where the dart 46 intersects with the play surface 102 in each of the respective camera views will be mapped to the same location in the front view.

    [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 FIGS. 6 and 7, it will be appreciated that any pair of main axes can be used to determine a score value. In the case of FIG. 1, where there are four cameras and therefore four different main axes that can be mapped onto the front-view 38, six score values can be determined.

    [0081] Thus, in the example of FIG. 1, ten score values may be obtained based on the differential scoring images. These ten score values may all be identical, in which case the final score is the value of the ten score values. However, due to discrepancies between the differential scoring images, some score values may differ from other score values. For example, the dart may be partly obscured by another dart when viewed from certain cameras 22. In the case of disagreement between the score values, the final score may be an average of all of the score values. Alternatively, the processor 32 may determine a weight value for each score value that represents the predicted reliability of the score value. This weight value may be based on whether other darts are already present on the dartboard, the number of pixels in the contour of the dart, the shape of the contour of the dart, and/or the solidity of the contour of the dart. In this case, the score is calculated as the weighted average of the score values. Some score values may be discounted from the weighted average if their weight value is below a predetermined threshold value.

    [0082] A side view of the dartboard scoring system 10 is shown in FIG. 8. Here, the angle between the centre axis of the field of view 26 of one of the cameras 22 and the plane 60 in which the play surface 102 lies is shown more clearly. The angle is preferably around 23 degrees. FIG. 8 further shows the attachment of the arms 20 to the sides of the dartboard 100.

    [0083] FIG. 9 shows the front-view of the dartboard scoring system 10, in which it can be seen that the fields of view 26 of adjacent cameras 22 are at an angle to one another. The angle is preferably around 90 degrees, such that the fields of view 26 are approximately perpendicular to one another.

    [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.