Machine Vision/Learning

Hello there!
I am a Software Engineering student at SEECS, NUST, Islamabad.
I am a Research Assistant at TUKL R&D lojab. I have expertise in Machine learning, Deep learning and Convolutional Neural Networks.
Currently I am working on a research project, “Vehicle Detection and Recognition using Aerial Imagery”.
I am interested to work on the proposed project. I know this is late, but I had read the specifications of this project before. I had a look on ArduPilot codebase and I also built it on my laptop. I now have quite understanding of how the modules are working.
I have started working on my proposal. I just had a query:

Will the algorithm/model be implemented in “ardupilot/ArduCopter” directory? or do we have to provide it in “Shared Libraries”?
I think the implementation should go under “ardupilot/ArduCopter” because that is firmware of the copter and not just shared libraries.
Also, will I get camera feed from AP_Camera? or is there any other API/function available?

Please correct me if I am wrong.
Thanks.