Replies: 3 comments
-
👋 Hello @edoduc, thank you for sharing your interesting project with us 🚀! Your approach to incorporating recurrence into YOLOv8 for sequential data processing sounds fascinating, and we appreciate the level of detail you’ve provided. If this is a 🐛 Bug Report, please consider providing a minimum reproducible example (MRE) to help us better understand and debug the issue. This could include a minimal YAML configuration, the modified code snippet, and any specific commands or steps needed to reproduce the error you're encountering. Here are some recommendations to ensure smooth experimentation: UpgradeFirst, ensure you are using the latest version of the pip install -U ultralytics Ensure your setup also satisfies all additional requirements in a Python>=3.8 environment with PyTorch>=1.8. This ensures compatibility and avoids issues already resolved in newer releases. Reference DocumentationYou may find these resources valuable as you work through your customizations:
Verified EnvironmentsIf you encounter difficulties running your custom implementation locally, you might consider testing in a verified environment. This ensures compatibility across frameworks and dependencies:
Community SupportIn addition to GitHub, you can explore and discuss ideas in the wider Ultralytics community:
Status CheckEnsure to monitor the current CI status of the repository. If the CI badge below is green, this indicates that all Ultralytics CI tests are passing, verifying correct operation of YOLO on macOS, Windows, and Ubuntu: 🛠️ This is an automated response, but an Ultralytics engineer will review and assist you soon! Thank you for your patience and detailed contribution—it’s always inspiring to see innovative approaches like yours. |
Beta Was this translation helpful? Give feedback.
-
@edoduc thank you for sharing the detailed context! The issue appears to stem from an inconsistency in how To address this:
Lastly, check that the Feel free to follow up with additional code snippets for further debugging if required. |
Beta Was this translation helpful? Give feedback.
-
@edoduc I am also working on the same project for my college dissertation. I am encountering numerous errors and am relatively new to YOLO. Could you please help me with the coding part if possible? Thanks! |
Beta Was this translation helpful? Give feedback.
-
Hi everyone!
I'm currently working on mobile object detection. I benchmarked Yolo v.8 nano for this, and get around 40% of mAP. Now, I try to enhance my results by adding recurrence units in the framework (my data are ordered frames from videos). I am inspired from the paper A Recurrent YOLOv8-based framework for Event-Based Object Detection, but adding ConvGRU instead of ConvLSTM after the backbone C2f blocks.
In order to handle sequential frames in input, I modified the dataset and dataloader logics to accept (Batch, Seq, ch, w, h) shaped inputs with 'Seq' my sequence length (number of ordered frames in input).
Then, to process these multiple frames, I created a Deconcatenation block which outputs Seq*tensors([Batch, ch, w, h]), and a Framextract block which outputs the right frame from the deconcatenation output list. The idea is to pass each frame independently through the native Yolo v.8 backbone (with ConvGRU inserted after C2f). Sub-backbones are connected via the ConvGRU blocks and their hidden states. Only the last sub-backbone (for the frame in which I want to detect the object) ends with the SPPF block before continuing to the neck and the prediction head.
I adapted the yaml file consequently.
And the parse_model function in the task.py
But, when building the model and parsing the yaml file, I get an error at the second Framextract level because it seems that it receives the last layer output as input, instead of the deconcatenation output as specified with the argument f=0.
Could anyone help me on this please? I'm not sure if I modified well the parsing function, or if I missed some other necessary modifications somewhere else.
Thanks a lot.
Beta Was this translation helpful? Give feedback.
All reactions