Hi @EwoudPool
We don't yet have a conversion for V9, so can't say for sure. If we get enough customer demand, we will implement it. Not sure how much of an improvement it would be though.

Thanks
Jaka

  • Thor replied to this.

    In addition to higher MAP, YOLOv10 has far fewer params to the point where the 's' size model may be practical to run on the Myriad (depending on how many operators spill over). Would you be able to open source the firmware so the community can make these changes itself rather than Luxonis having to do this internally each time a new model comes out? Previously Intel has been a blocker to open sourcing the parts relating to the MX, but is this still the case? What about with RVC4?

    Hi @rmaxwell
    I doubt we can make it opensource (not sure on the contracts). I have passed the feature-request to our ML team.

    Thanks,
    Jaka

    Hey,

    Thanks for the thread everyone! We are actively working on adding support for YoloV10 to tools.luxonis.com and device (FW). No ETA we can commit to, but should be in the next few weeks. Unfortunately it is not easy for us to open source the firmware, so I'll have to ask for some patience.

    We are aware of constraints on that, so we are looking to simplify the process with RVC4. While I doubt we could expose FW directly, we are working on concept of HostNodes. Those can then run on your host in case of RVC2 (this might be inefficient if you are sending data back to the device) or directly on the device in case of RVC4.

    11 days later

    Hi all,

    A small update on adding YOLOv10 support:

    1. We are waiting for the YOLOv10 support in the Ultralytics library to be able to add it to tools.luxonis.com. Otherwise, it's ready in the development environment.
    2. We are working on adding FW YOLOv10 post-processing support.
      7 days later
      6 days later

      jakaskerl Thanks for the response, makes sense. Is the IOU suboptimal for deployment/should I just wait for the official release on tools.luxonis.com?

      Hi @ChrisCoutureDelValle
      Yes, best to wait. It turns out that the new architecture actually runs slower on device, due to the operations used, which can't be optimized for the MX.
      So the V10n is about 25% slower than V8n on the same resolution.

      Thanks,
      Jaka

      Hi guys,

      well, the 25% speed performance loss on yolo v10 vs v8 on RVC2 is surprising.

      When saying "runs slower on device, due to the operations used, which can't be optimized for the MX."

      => could you explain and provide details on the operation that are problematic ? Maybe one can try to find alternatives.

      Thanks

      Hi @alexandrebenoit
      I wasn't directly involved with the deploy of yolov10 on RVC2, but as far as I understand:
      The entire architecture (both head, and middle) uses element-wise operations, which can't be optimized for the RVC2. No significant reparametrization tricks (like .fuse()) are available to mitigate the issue.

      numbers:
      416x416 - 24FPS, 41ms latency
      640x640 - 12FPS, 86ms latency

      Thanks,
      Jaka

      Well, it would be nice if you could share :

      • the list of problematic yolov10 element-wise operations that are not supported by RVC2
      • the list of all available ops that the RVC2 can perform (a synthetic datasheet)

      For example, if the Pixel-Adaptive Convolutions (PAC) operator is applicable for RVC2, then element-wise products could be replaced by PAC with some specific setup and so on (not as efficient as the base element-wise product on standard processors but this could compensate in some setups, maybe RVC2).

      Alex