Key point Detection On Custom Dataset Using YOLOv7 | YOLOv7-Pose on Custom Dataset
ฝัง
- เผยแพร่เมื่อ 13 ต.ค. 2024
- In this tutorial, I will show you how to use yolov7-pose for custom key point detection.
Github: github.com/Aar...
For Queries: You can comment in comment section or you can mail me at aarohisingla1987@gmail.com
Keypoint detection is a computer vision task that involves identifying and localizing specific points of interest, or keypoints, in an image.
Models like detectron2, yolov7, yolov8 are designed to detect only a specific number of keypoints (e.g., 17 keypoints for the person ).
And If your custom dataset has a different set of key points or a different number of key points, then the model needs to be modified accordingly to recognize and predict those key points.
Only video on the entire youtube platform which talks about custom keypoints for yolo. everyone else is only talking about hand or pose keypoints. Thank you so much for making this video!
Glad this video helped you 🙂
Hi @codeWithAarohi, your video is really helpful. Just a quick question. Lets say for example you have 2 classes and each class has 1 keypoint. what should the nkpt be 1 or 2?
Your video really helps me a lot! I've managed to run keypoints detection on my own Xray image datasets. Thank you sooo much! Hope to see more tutorials🥰
Glad my video helped you 🙂
Hi,I receive the error index is out of bounds for dimension with size 0 when I tried to execute detect.py😢can you please help me
I have created a custom dataset of hexagonal nuts, bolts and washer.
Nuts have 6 key points
Bolts have key points from 50 to 130
Washers have 8 key points.
What value to pass to the number of key points in .yaml file ?
Great video! Would it be possible to train the model considering that there would be more than one object (instance) of the same class per image, for example, in this case, several cups per image?
Yes, you can do that
Hello, I’m not sure how to export this model to onnx? I have a custom model working in PyTorch, but want to covert it to onnx, and am having trouble post processing the results
Great video! Thank you so much!
Glad it was helpful!
if my dataset has 2 classes, 1 contains 4 keypoints and other one contains 5 keypoints, what would be nkpts??
Why didn't you make any changes in the Python files ?
do you know how to solve this error?
AttributeError: Can't get attribute 'SPPF' on
your code is out of date, and is autodownloading new models that it can't support. Your options are to update your code (recommended), or to manually download the older models you need from previous release assets.
@@CodeWithAarohi Thank you for the insightful tutorial on YOLO v7 using a custom dataset. However, I'm encountering the same error as @user-po9mq7pv9d, which seems to be within your code. Could you kindly review and update the relevant part of the code to resolve the 'AttributeError: Can't get attribute 'SPPF'' issue? Your assistance would be highly appreciated.
@@CodeWithAarohi Mam, I am facing the same error.
can you teach us how to implement this to android
I will try to do a video after finishing the pipelined tasks.
How do you draw these lines between points??
is there any dependences?
Where are the coordinates of the detected keypoints have been saved at the end?
I am not storing the coordinates but if you want you can store by just fetching the values from output.
Hi miss, I successfully train the model but when I run the detect.py, I receive the error: TypeError: unsupported operand type(s) for *: NoneType and int. Can you please help me to solve it😢
hello @CodeWithAarohi, can you please provide the solutions for the above error as I am getting the same
I have data having two objects and every object has multiple points, (23,11) I was facing error for having heterogenous number of points. So I made them regular by putting zero padding at end of 2nd object.
Now I am having 74, keypoints for each row, 1 id + 4 bounding box + (23*3)=69 points for both object, I have two lines.
My yaml looks like this # number of classes
nc: 2
names:
0: A
1: B
nkpt: 46
kpt_shape: [46, 3]
but model starting saying he is looking for 46*3=138 +5 in totla 143 points, so every image is getting corrupted,
Plz help me in resolving this.
my bad, since you have 2 objects and each having 23 points so it will be just replace in yaml nkpt: 23
kpt_shape: [23, 3] and all other strcutre will be same
Great video, thank you.
Glad you liked it!
ERROR: Could not find a version that satisfies the requirement onnxruntime==1.10.0 (from versions: 1.12.0, 1.12.1, 1.13.1, 1.14.0, 1.14.1, 1.15.0, 1.15.1)
ERROR: No matching distribution found for onnxruntime==1.10.0
getting the same error how to resolve it?
@@yashiverma5451 I tried yolo v8 it is working
@@yashiverma5451 did you guys solved this?
@@avidiprasad2663 In the requirements.txt, change the value to onnxruntime==1.18.1 (values are shown in the error itself) like 1.12.0, 1.12.1, 1.13.1, 1.14.0, 1.14.1, 1.15.0, 1.15.1 and so on...
how to convert the dataset to Yolo format, nobody has the answer yet!!
github.com/AarohiSingla/YOLOv7-POSE-on-Custom-Dataset/issues/1
please mention this in your video description as well because it took me a lot of time and then I decided to read your comments and here I found this link.
Nice
Thanks
Hello, thank you very much for your teaching video. I encountered some problems while using YOLOV7 POSE and have sent you an email hoping to receive your help. Thank you very much! ask for help
Replied there
Hello mam, can u provide me with help on my project?
Please mail me at aarohisingla1987@gmail with your exact requirement
AttributeError: Can't get attribute 'SPPF' on
how to fix it?
i had this error and i fixed it by changing the number of keypoints. in my case i had 10 so i changed the line kpt = 10
@@Laila_Ha_d in which file have you made the changes??
I came across tons of errors and issues with many parts of this, including accurately converting the coco data to yolo data with more than 4 key points. My mAP values seem to be extremely low compared to if i trained them on the same dataset just on yolov5 or yolov7. Barely manages to break 20% at 500 epochs. If I did this dataset on yolov7 training, it would be way higher. Does anyone know why my precision is so cooked?