Autonomous micro Quadcopter - Onboard Computing or not

Hi,
So I'm building a Quadcopter and started programming the basic controls for it.
The thing is my goal is to make it autonomous with sensors and Computer Vision.
The Sensors and the Optical Flow I can develop inside the flightcontroller but with computer vision and preferably ROS I need a full size computer or an SBC.

With SBC I thought about trying Nano Pi NEO Core 2 because it's 40mm x 40mm but I thought about if it's possible to do the CV and ROS Computing on a Laptop or Smartphone and just send the data to the flightcontroller to perform the actions.
So basically the Quadcopter is just the flight controller with the basic controls, sensors and the Camera sending the image to a laptop or Smartphone and then they do all the computing and send the actions back to the quadcopter.

I hope its kind of understandable.
The drone Frame is around 110mm - 130mm in diagonal.

What do you want to achieve?

What sort of computer vision do you have in mind?

Hint: if you have not done this before, get your ideas working on a desktop computer before transferring the system to a robot.

My first achievement is to make it fly first of all. But later on I have planned on using the quadcopter to move in unknown environments and provide intel.

What do you mean with what kind of Computer Vision?
You mean like just recognizing objects and people or more react to the given images?

Do you mean with a simulation? Like in ROS? or MATLAB?

btw. sorry for my bad english. I'm from germany.

Get it to fly and come back with Arduino-related questions later.