Use AI or Neural Network for logo detection
To perform image recognition you have to find a way to represent an image with certain features.

One of the defining characteristics of a good image recognition algorithm are it's ability to detect salient regions, that is, regions which contain the most information

There is a lot of attention on deep learning for content-based image classification at the moment. You can achieve decent results by implementing deep learning having three or more layers of CNN's where each layer is responsible for extracting one or more feature of the image.