Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Use core image for object detection

Tags:

ios

iphone

I want to detect items in an image (like core image for a face), but the items aren't faces. The image What can I use to do so?

I have an image with a few items, a car, a person a tree and mailbox. I want to cut the image around each item and create a subimage of each . Now i would have 1 image with a car, 1 with a person, 1 with a mailbox. There may be overlap of other objects, but the predominant feature in each would be the main object.

Thanks

like image 959
William Falcon Avatar asked Aug 17 '13 13:08

William Falcon


People also ask

Can image classification be used for object detection?

In simple words, object detection is a type of image classification technique, and besides classifying, this technique also identifies the location of the object instances from a large number of predefined categories in natural images.

Which method is best for object detection?

– RetinaNet is currently one of the best methods for object detection in a number of different tasks. It can be used as a replacement for a single-shot detector for a multitude of tasks to achieve quick and accurate results for images.

Which algorithm can be used for object detection in an image?

Popular algorithms used to perform object detection include convolutional neural networks (R-CNN, Region-Based Convolutional Neural Networks), Fast R-CNN, and YOLO (You Only Look Once). The R-CNN's are in the R-CNN family, while YOLO is part of the single-shot detector family.


1 Answers

This is a surprisingly complicated topic of ongoing research in the field of Computer Vision. There are many good academic papers written on the topic (heres a nice video) and no publicly available turnkey solutions.

I dont think core image currently supports this kind of functionality nor will it in the near future.

However your best bet is to start by checking out the now well established OpenCV library maintained by Willow Garage for all major operating systems (including iOS and Android). The following link might help you towards what you are looking for:

OpenCV object detection tutorials

Alternatively you could try out augmented reality toolkits designed specifically for tracking known targets. Some good examples are:

Metaio, Vuforia, ARLab, String, Junaio

EDIT, Nov 2016

Although CoreImage still does not support this, it is somewhat more likely that it may support it in the future. Recent years have seen a dramatic increase in the availability of object detection frameworks that use deep networks to perform object classification and localization. A good first place to start would be to look at projects that use TensorFlow for Android and iOS.

One such link.

EDIT, Dec 2017 This is now fairly standard across all major mobile and desktop computing platforms (amazing how much changes in only 1 year). Specifically for Apple you can look at CoreML

like image 156
twerdster Avatar answered Oct 11 '22 13:10

twerdster