Skip to content

feat: add keypoint detection ingestion template#58

Open
shujaatTracebloc wants to merge 4 commits intodevelopfrom
feat/add-keypoint-detection-template
Open

feat: add keypoint detection ingestion template#58
shujaatTracebloc wants to merge 4 commits intodevelopfrom
feat/add-keypoint-detection-template

Conversation

@shujaatTracebloc
Copy link
Copy Markdown
Contributor

@shujaatTracebloc shujaatTracebloc commented May 6, 2026

Summary

  • Adds a new templates/keypoint_detection/ template with main ingestion script, sample images, CSV labels file with JSON keypoint annotations, and README documentation
  • Follows the same conventions as existing templates (object_detection, image_classification)
  • Uses TaskCategory.KEYPOINT_DETECTION with JSON-based Annotation and Visibility columns

Closes #52

Test plan

  • Verify template structure matches other templates
  • Verify keypoint_detection.py runs without import errors
  • Verify sample images are valid JPGs with visible keypoint markers
  • Verify CSV JSON columns parse correctly
  • Verify annotation format aligns with client keypoint_detection use case expectations

🤖 Generated with Claude Code


Note

Medium Risk
Adds a new ingestion pathway and updates validator selection for SEMANTIC_SEGMENTATION/KEYPOINT_DETECTION, which can change runtime validation behavior for these task types. Also updates semantic segmentation template defaults and CSV headers, which may break existing template-based workflows if users relied on the prior column name or intent.

Overview
Adds a new templates/keypoint_detection example (script, README, and sample CSV) for ingesting image-based keypoint detection datasets using JSON Annotation/Visibility fields and TaskCategory.KEYPOINT_DETECTION.

Aligns the semantic segmentation template with the expected CSV header (filename instead of data_id) and switches the example ingestion intent to Intent.TRAIN.

Extends validators_mapping.map_validators to return dedicated validator sets for SEMANTIC_SEGMENTATION (including mask PNG validation) and for KEYPOINT_DETECTION (image file type + resolution checks), rather than falling back to the default mapping.

Reviewed by Cursor Bugbot for commit 2e6fc19. Bugbot is set up for automated code reviews on this repo. Configure here.

@shujaatTracebloc shujaatTracebloc self-assigned this May 6, 2026
@shujaatTracebloc shujaatTracebloc force-pushed the feat/add-keypoint-detection-template branch from d21df78 to f92e334 Compare May 6, 2026 11:45
Comment thread templates/keypoint_detection/keypoint_detection.py
Comment thread templates/keypoint_detection/data/labels_file_sample.csv
@shujaatTracebloc shujaatTracebloc force-pushed the feat/add-keypoint-detection-template branch from 7a862ea to f92e334 Compare May 6, 2026 12:25
Comment thread tracebloc_ingestor/utils/validators_mapping.py Outdated
shujaatTracebloc and others added 4 commits May 6, 2026 17:52
Closes #52

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Rename data_id to filename in both semantic segmentation and keypoint
  detection CSVs/READMEs to match framework file_transfer expectations
- Add annotation_column="Annotation" to keypoint detection ingestor
- Add keypoints list and num_keypoints in file_options for keypoint detection
- Add validator mappings for SEMANTIC_SEGMENTATION and KEYPOINT_DETECTION

Closes #52

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Rename num_keypoints to number_of_keypoints in file_options to match
  backend CheckModelClassesView and Python package match_points key
- Set intent to TRAIN for both semantic segmentation and keypoint detection

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Masks must always be grayscale PNGs regardless of the image extension
configured for the dataset.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@shujaatTracebloc shujaatTracebloc force-pushed the feat/add-keypoint-detection-template branch from 08ae2ca to 2e6fc19 Compare May 6, 2026 15:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants