Do we need to collect ground control points before flying drones or do the drones collect control points during their flight ?
If you want an absolute positioning of your images, you'll need control points.
If your drone is equipped with onbord GPS (which is now most of the time the case), then it is possible to estimate the absolute coordinate using a large number of overlapping images. However, I recommend that you collect at least a few ground control points to validate your model.
If you don't have a GPS on you drone OR you don't have a lot of overlapping images, then you need ground control points. Those can be collected before or after the flight of your drone as long as your study area is not changing.
If you want any kind of accuracy you will need carefully surveyed points on the ground.
Even if the UAV has the best GPS available it is buffeted by air currents, thermals and so on, which will skew the camera. An unmeasurable tilt in the air can produce a large position error on the ground, rapidly increasing with altitude.
The city I lived in in the 1990s was a GIS pioneer and aerial-mapped the entire city. Large painted trefoils appeared on many park paths just for this purpose - they were easy to scan for in the images and equally easy to survey.
Today you could just walk to any obvious point in the area and press "mark" on your handheld device (or get a small drone to land there) but it still needs to be done.
Ground Control Points give the best accuracy but are by no means essential.
Most UAVs now have a GPS on board recording the location in the exif data with each image. It's possible with a properly planned flight (which incorporates sufficient overlap between images) to achieve a good level of positional accuracy.
Some software such as ERDAS Imagine, and it's UAV add in can then imporve this accuracy further by overlaying it on an existing layer of accurate imagery.