Skip to content

Commit 74d1501

Browse files
committed
docs(update documentation): update data and goals in README.md
1 parent bcb0811 commit 74d1501

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
# Table Tennis Game Annotater
2-
This repo aims to provide useful live annotatation during a table tennis game.
2+
This repo aims to provide useful live annotatation during a table tennis game through a website.
33

44
To fulfil with aim, this repo intends to create two models. One to detect the position of the ball using object detection and the other to detect various objects in the scene using instance segmentation. The instance segmentation model should detect the players, the table, and the scoreboard.
55

6+
To accomplish the goal of having this functionality available through a website, this repo contains the code for a Flask server and uses ncnn through webassembly for the client-side ball detection model inference.
7+
68
## Data
79
The data used was from https://lab.osai.ai/. Specifically, the training data consisted of games 1 through 3 and the testing data consisted of games 1 through 3. The data and annotations were processed into the YOLOv5 format for the ball detection model and the vgg annotation format for the instance segmentation model.
810

911
Ball Detection Model Processed Data - https://www.kaggle.com/datasets/ketzoomer/table-tennis-ball-position-detection-dataset
10-
Instance Segmentation Model Processed Data - Coming Soon
12+
Instance Segmentation Model Processed Data - https://www.kaggle.com/datasets/ketzoomer/table-tennis-segmentation-masks-for-scene-analysis
1113

1214
## Machine Learning Models
1315

1416
### Ball Detection Model
15-
For the ball detection model, I chose to use [YOLOv5](https://github.com/ultralytics/yolov5) for its high accuracy and speed. The [YOLOv5](https://github.com/ultralytics/yolov5) model uses the (YOLOv5m6)[https://github.com/ultralytics/yolov5#:~:text=16.8-,YOLOv5m6,-1280] configuration and it was trained on the above mentioned processed data.
17+
For the ball detection model, I chose to use [YOLOv5](https://github.com/ultralytics/yolov5) for its high accuracy and speed. The [YOLOv5](https://github.com/ultralytics/yolov5) model uses the [YOLOv5m6](https://github.com/ultralytics/yolov5#:~:text=16.8-,YOLOv5m6,-1280) configuration and it was trained on the above mentioned processed data.
1618

1719
### Instance Segmentation Model
18-
For the instance segmentation model, I used the [Mask R-CNN implementation by matterport](https://github.com/matterport/Mask_RCNN). The data for this model has not been fully processed yet.
20+
For the instance segmentation model, I forked the [Mask R-CNN implementation by matterport](https://github.com/matterport/Mask_RCNN) to [Mask R-CNN TF2](https://github.com/kethan1/Mask_RCNN_TF2) and added support for Tensorflow 2 and the latest version of scikit-image.

0 commit comments

Comments
 (0)