Hello everyone! While training the YOLOv11-POSE model on the Roboflow platform, I encountered a few questions.
After the model is trained, we gain access to advanced training graphs. Overall, they look fine, except for the parameters train/box_loss
, train/pose_loss
, train/kobj_loss
, train/cls_loss
, and train/dfl_loss
. Why do these values show a sharp increase at the end of training, and sometimes even shift to the left along the X-axis? Is this related to the training process itself or could it be an issue with graph rendering?
The image is from the project Diodes keypoints detection. Same graphs behavior was notices in some other projects.
Additionally, I have a question about reproducing the training results independently. Let’s take the project i mentioned before. The dataset consists of 1500 diode images (including generated augmentations). It has only one class with 2 key points: cathode and anode. Both key points are represented in each image.
On Roboflow, keypoint detection works perfectly; however, when I try to train the same YOLOv11n-POSE model on the same dataset, the results are terrible. In terms of metrics, everything seems fine — I was able to replicate mAP@50, precision, recall (all around 0.99), and reduced pose_loss to 0.04. However, when I try to use the model, even on the data used during training, the keypoints are often not detected at all.
For training, I used the following parameters:
results = model.train(
data="/content/components-pose/diode-like-1/data.yaml",
epochs=600,
imgsz=640,
patience=200,
pretrained=True
)
What am I doing wrong? How could I improve the results?
Thank you in advance for your help!