Introduction

This task aims to develop a billiard ball detection and recognition algorithm on the CV180X/CV181x processor, which can accurately detect the position of billiard balls in the image and further identify the number of each ball. This algorithm is suitable for application scenarios such as real-time monitoring, automatic scoring, and player auxiliary training in billiards matches.

 

  • Acceptance Criteria

Algorithm performance will be evaluated on the evaluation set, focusing mainly on detection accuracy and ball number identification accuracy.

  1. Detection accuracy: Reaching 95% billiard position detection accuracy on the evaluation set.
  2. Ball number recognition accuracy: Achieving 90% ball number recognition accuracy on the evaluation set.
  3. FLOPS requirements: The computational complexity of the algorithm (FLOPS) should be adapted to the processor platform and not exceed 25G to ensure efficient operation on embedded devices.

 

 

  • Evaluation set

The review set will contain multiple scenarios to simulate various situations that may be encountered in an actual billiards game:

  1. Different distances: 0.5m to 3m.
  2. Different viewing angles: Simulate billiard images under different camera angles.
  3. Lighting conditions: Images under uniform lighting conditions.
  4. Changes in the table: including color changes, other objects on the table, deformation, etc.
  5. Sample size: The number of samples in the evaluation set should be greater than 500 to ensure adequate evaluation of algorithm performance.

Through the requirements of these evaluation sets, we expect the algorithm to show high detection and recognition accuracy in actual billiards game scenarios and meet the actual needs for billiard ball detection and recognition.

 

Data Collection Process

 

  • Data Collection Plan

The collection plan should be based on the actual application scenarios of the algorithm. First, determine the collection variables, such as: collection scene, quantity, number of people, gender, age, etc. Index and assign an English abbreviation for each variable. For example, if there are three variables: collection scene, distance, and gender, they could be numbered as:

  1. Scene 1: indoor; Scene 2: outdoor
  2. Distance 1: 1m; Distance 2: 3m; Distance 3: 5m
  3. Gender 1: male; Gender 2: female

Then determine the collection process based on the variables, such as whether to collect according to variable 1 or variable 2 first, the actions of the people being collected, and precautions, etc. Organize the above collection plan and variable information into a Word document for saving.

 

  • Prepare Collection Equipment

The collection equipment should be as close as possible to the actual equipment used and ensure that it can be preserved for a long time. Prepare the collection firmware.

 

  • Data Collection and Saving

Carry out data collection and name the files according to the order of the collection variables defined in the "Data Collection Plan", with names like x-x-x-x.xxx. For example, if there are three variables: scene, distance, and gender, the saving format would be: indoor-3m-female-12.xxx, representing the 12th data of "indoor scene, 3m distance, female" collected. After the collection is complete, the collected data and the collection instruction document from the "Data Collection Plan" should be put together for inspection.