I want to detect a specific ship in sea from a low flying aerial vehicle, equipped with a camera (e.g., a drone). Suppose the ship is this. In general, the ship should remain “constant” in terms of appearance, apart from the numbering, that might change appearance and figures, depending on the specific ship. The ship might be in different sea states (meaning various sea textures) and with different shores and coastlines in the background.
The drone is approaching the ship always from the back, hence I need to detect only the back of the ship.
I was thinking to approach the problem similar to a template matching problem:
- generate template of the ship’s back: get a wireframe-like representation of the back of the ship from the 3D model (I have access to it), a sort of binary image with only the silhouette edges and some other edges visible from the back of the ship;
- find template in image from drone’s camera:
- convert to greyscale
- preprocessing to remove some noise (e.g., gaussian filter)
- edge detector
- chamfer matching between the template and the image
Last info: I cannot use deep learning based methods.
Do you think it is a resonable approach? Can you suggest other options?