This tool is a lightweight, no-AI version of the annotation pipeline.
It supports:
extract: open a video (or image folder), split/export frames, and initialize dataset files.review: open a GUI to edit keypoints (frame navigation, add/delete/move points, category/point-id selection, save).
For input <name>, outputs are written to:
outputs/<name>/images/*outputs/<name>/center_points_masks_annotations.jsonoutputs/<name>/keypoints.json
The JSON structure is kept compatible with auto_annotation_pipeline.
Run without arguments to open the folder picker:
python E:\simple_annotation_kpt\main.pyChoose an input image folder (or video), an output root folder, and a frame step.
The result directory is displayed as <output root>/<input name>.
Click Extract first. Start annotation and Open result folder remain
inactive until the result contains images and both valid annotation JSON files.
Extraction runs in the background and the launcher displays its log.
Existing result folders are protected against extraction overwriting annotations.
To resume, select the same input and output root and click Start annotation.
The Python environment needs opencv-python, numpy, matplotlib, and Tkinter.
The command-line commands below remain available.
python -u simple_annotation_kpt/main.py extract \
--input /path/to/video_or_image_folder \
--output outputs \
--frame-step 1python -u simple_annotation_kpt/main.py review outputs/<name>Q: quitA/D: previous / next frameS: savekeypoints.json1-5: set categoryZ/X/C/V: set point id to1/2/3/4Left click: select point and drag to moveCtrl + Left click: add point using current category and point id, then clear selection.- Auto next keypoint (enabled by default): after adding a point, keep the category
unchanged and advance point id
1 -> 2 -> 3 -> 4 -> 1. Turn it off to add multiple points with the same point id, such as cells. Right click: delete nearest point
Please follow these rules when annotating:
- Tool tip: use
Category 2 - Point 1. - Tool root/base: use
Category 2 - Point 2. - Racket: use
Category 1. - For the racket, label the four points from the top-left corner in counterclockwise order as
0, 1, 2, 3. - The model may swap pairs
0/1and2/3, so occasional swapped annotations are acceptable. - Cells: use
Category 3 - Point 1, and multiple points are allowed.

