1. An object detection system comprising: an image sensor configured to obtain input image data of a body of water; a processor for executing modules; a memory containing the modules, the executed modules including: an image slice extraction module configured to extract a sequence of 2-D slices from the input image data; a 3-D analysis module configured to perform a 3-D connected region analysis on the sequence of 2-D slices; an invariant feature computation module configured to compute image 3-D invariant features in the image data; an image filter module configured to perform coarse filtering based on the image 3-D invariant features, the coarse filtering including: comparing image 3-D invariant features in the image data to a data store of trained 3-D invariant features associated with known objects, providing a list of found objects in the image data based on the data store, and for each of the found objects, providing an indication of how close features of the found object match features in the data store; and an image recognition module configured to perform fine recognition to identify a known object from the data store within the input image data.