-
-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Yolov8 pose label size issue #886
Comments
@palmcorp hello! 😊 It looks like you're encountering an issue with the label format for YOLOv8 pose estimation. The warning indicates that each label should have 56 columns, but your labels have fewer. Here's a breakdown of the expected format:
To resolve this:
If the issue persists, please verify that you're using the latest version of the Ultralytics packages. Updates often include bug fixes and improvements. For more detailed guidance, you can refer to the Ultralytics HUB documentation. Feel free to reach out if you have more questions! 🚀 |
HI Paula,
Ultralytics and Tourch are refreshed at each run. I’m not clear what you mean by this statement?
“ Double-check your dataset configuration and ensure it aligns with the expected format”
What is the ‘expected format’ . ? Follows some additional data:
I’ll continue to look if you can point me to the area.
Best and thanks.
Paul
Right now each frame has two CVAT skeletons consisting of 4 keypoints each.
Here’s an example from CVAT:
0 0.643712 0.548266 0.0960109 0.057663 0.595707 0.519435 2 0.646533 0.526217 2 0.682304 0.548261 2 0.691717 0.577098 2
5 0.547212 0.54338 0.0545761 0.0753696 0.519924 0.581065 2 0.539413 0.574652 2 0.554228 0.53937 2 0.5745 0.505696 2
Breaking one down”
Class: 5
Confidence: 0.547212
BBox: 0.54338 0.0545761 0.0753696
Keypoints:
0.519924 0.581065 2 0
539413 0.574652 2
554228 0.53937 2
0.5745 0.505696 2
Here’s the script starting each run:
!pip install ultralytics
!pip install --upgrade torch ultralytics
import os, pdb
from ultralytics import YOLO
!pip install --upgrade torch ultralytics hub-sdk
er ***@***.***
Sent: Wednesday, October 16, 2024 7:04 PM
To: ultralytics/hub
Cc: Paul Petronelli; Mention
Subject: Re: [ultralytics/hub] Yolov8 pose label size issue (Issue #886)
@palmcorp <https://github.com/palmcorp> hello! 😊
It looks like you're encountering an issue with the label format for YOLOv8 pose estimation. The warning indicates that each label should have 56 columns, but your labels have fewer.
Here's a breakdown of the expected format:
1. Keypoint Format: For pose estimation, each keypoint typically requires 3 values: x, y, and visibility.
2. Total Columns: With kpt_shape: [17, 3], you have 17 keypoints, each needing 3 values, totaling 51 columns for keypoints alone.
3. Additional Columns: YOLOv8 expects additional columns for class, bounding box (x, y, width, height), and potentially other metadata, which might explain the discrepancy.
To resolve this:
* Ensure each label line includes the class, bounding box, and all keypoints with their visibility.
* Double-check your dataset configuration and ensure it aligns with the expected format.
If the issue persists, please verify that you're using the latest version of the Ultralytics packages. Updates often include bug fixes and improvements.
For more detailed guidance, you can refer to the Ultralytics HUB documentation <https://docs.ultralytics.com/hub/datasets/> .
Feel free to reach out if you have more questions! 🚀
—
Reply to this email directly, view it on GitHub <#886 (comment)> , or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABXH6FXLMJSETGKTPUJ5ED3Z34LFVAVCNFSM6AAAAABQCOHBW6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMJYGMZTQNJXGI> .
You are receiving this because you were mentioned. <https://github.com/notifications/beacon/ABXH6FWJUCQBQDEWR32DGODZ34LFVA5CNFSM6AAAAABQCOHBW6WGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTUQETVQY.gif> Message ID: ***@***.***>
|
@palmcorp hi Paul, Thanks for reaching out! Let's clarify the expected format for YOLOv8 pose labels. Expected Format:
Example:For a single object with 17 keypoints, a label line should look like:
Your Case:Since you have 4 keypoints per skeleton, ensure each label line includes:
Troubleshooting:
If you have any more questions or need further assistance, feel free to ask. We're here to help! 😊 |
Hello Paula,
Yolo still disagrees with me. I count 12 columns in the label and yolo asks for 14.
LMK if you see where to look.
Best
Paul
Here is the complete sequence:
YAML FILES:
kpt_shape: [4,3] For both Model and Data yamls
JSON from CVAT:
{"id":915,"image_id":459,"category_id":1,"segmentation":[],"area":4737.308400000001,"bbox":[571.04,486.21,94.86,49.94],"iscrowd":0,
"attributes":{"occluded":false,"track_id":0,"keyframe":true},"keypoints":[571.04,487.53,2,600.58,509.7,2,640.38,486.21,2,665.9,536.15,2],"num_keypoints":4},
Resulting label after conversion using: from ultralytics.data.converter import convert_coco
With:
convert_coco (
labels_dir=P,
save_dir=SAVE_DIR, # oc,#o_converted/"
use_segments=False,
use_keypoints=True,
cls91to80=True,
lvis=False,
)
The label for E8F3E-9_M:
0 0.671668 0.586995 0.126533 0.0187935 0.608402 0.577598 2 0.694217 0.584489 2 0.734935 0.596391 2 0.711239 0.593663 2
5 0.535234 0.610418 0.0907717 0.0387717 0.489848 0.629804 2 0.523033 0.622391 2 0.554239 0.606946 2 0.58062 0.591033 2
Label analysis for 2nd skeletons
Class: 5
BoundingBox: 0.535234 0.610418 0.0907717 0.0387717
Keypoints:
.489848 0.629804 2
0.523033 0.622391 2
0.554239 0.606946 2
0.58062 0.591033 2
I see 12 Columns.
At initialization:
using YAML: /content/yaml_files/modelR.yaml
Ultralytics 8.3.15 🚀 Python-3.10.12 torch-2.4.1+cu121 CPU (Intel Xeon 2.20GHz)
engine/trainer: task=pose, mode=train, model=yolov8n-pose.yaml, data=/content/yaml_files/modelR.yaml, epochs=2, time=None, patience=100, batch=16, imgsz=640, save=True, save_period=-1, cache=False, device=None, workers=8, project=None, name=train4, exist_ok=False, pretrained=yolov8n-pose.pt, optimizer=auto, verbose=True, seed=0, deterministic=True, single_cls=False, rect=False, cos_lr=False, close_mosaic=10, resume=False, amp=True, fraction=1.0, profile=False, freeze=None, multi_scale=False, overlap_mask=True, mask_ratio=4, dropout=0.0, val=True, split=val, save_json=False, save_hybrid=False, conf=None, iou=0.7, max_det=300, half=False, dnn=False, plots=True, source=None, vid_stride=1, stream_buffer=False, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, embed=None, show=False, save_frames=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, show_boxes=True, line_width=None, format=torchscript, keras=False, optimize=False, int8=False, dynamic=False, simplify=True, opset=None, workspace=4, nms=False, lr0=0.01, lrf=0.01, momentum=0.937, weight_decay=0.0005, warmup_epochs=3.0, warmup_momentum=0.8, warmup_bias_lr=0.1, box=7.5, cls=0.5, dfl=1.5, pose=12.0, kobj=1.0, label_smoothing=0.0, nbs=64, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, degrees=0.0, translate=0.1, scale=0.5, shear=0.0, perspective=0.0, flipud=0.0, fliplr=0.5, bgr=0.0, mosaic=1.0, mixup=0.0, copy_paste=0.0, copy_paste_mode=flip, auto_augment=randaugment, erasing=0.4, crop_fraction=1.0, cfg=None, tracker=botsort.yaml, save_dir=runs/pose/train4
Overriding model.yaml kpt_shape=[17, 3] with kpt_shape=[4, 3]
Overriding model.yaml nc=1 with nc=2
Here’ the YOLO r3wponw3:
train: WARNING
|
Hello Paul, Thanks for providing the details! It seems like the issue might be related to the label format. Let's break it down: Expected Label Format:For each object, the label should include:
This totals to 17 columns, but YOLO is asking for 14. Let's ensure the configuration is correct: Troubleshooting Steps:
Code Example:Here's a sample label line for reference:
Additional Tips:
If the problem persists, consider revisiting the conversion process or checking for any discrepancies in the dataset configuration. Feel free to reach out if you need more help! 😊 |
Here is a sample label file:
0 0.643712 0.548266 0.0960109 0.057663 0.595707 0.519435 2 0.646533 0.526217 2 0.682304 0.548261 2 0.691717 0.577098 2
5 0.547212 0.54338 0.0545761 0.0753696 0.519924 0.581065 2 0.539413 0.574652 2 0.554228 0.53937 2 0.5745 0.505696 2
The yamal files show:
kpt_shape: [17, 3]
nc = 2
YOLO complains with:⚠️ /content/datasets/echo-pose/images/train/E8F3E-9_M.jpg: ignoring corrupt image/label: labels require 56 columns each
rain: WARNING
I count 51? Where are the other coming from?
The text was updated successfully, but these errors were encountered: