I want to do boat detection in almost real time around 2-3 frames/sec and my computation power is not very high. I want to keep the computations as low as possible. Which is the best method to do it? Here are some examples of images where I want to detect the boat.
You can use Caffe's deep convulutional net that was trained on the ImageNet DB to extract some very strong features:
The Caffe framework is implemented in C++ and runs very fast. It enables you to extract features that are much more powerful than LBP or HOG for example.
Extract features from a training set and use them to train a classifier, for example and SVM. Then, in the detection phase - given an input image, extract features from it, using the pre-trained net and feed those features to the pre-trained classidfier.
As for the simplest algorithm, you can try detecting Water in each image, and any occlusion in that area of Water, will be considered as a boat. You can try grabcut, with water as background, and ship/boat as foreground object.