Hey CanMV Community,
I have been exploring the AI2D module from the nncase_runtime library in the K230 CanMV SDK, referring to the API manual:
🔗https://developer.canaan-creative.com/k230_canmv/en/main/api/aidemo/Ai2d_Module_API_Manual.html
I want to gain a deeper understanding of how AI2D works internally. Since it appears to be integrated into the firmware, I am unable to access its implementation directly(Correct me if i am Wrong and provide me how can I check where is this nncase_runtime lib present?). Specifically, I have the following questions:
AI2D Functionality & Math Behind It
How does ai2d.padding work internally?
What mathematical operations or transformations are applied?
Is there a way to inspect the logic behind AI2D functions?
Execution Order in ai2d.builder.run
If I use ai2d.crop, then ai2d.resize, then ai2d.pad, will these be executed exactly in this order?
Or does ai2d.builder.run optimize or modify the execution sequence internally?
How can I verify the actual order of execution?
I need to understand this behavior to align AI2D's processing with my specific use case. My goal is to comprehend what exactly happens in the backend and how AI2D manages these operations.