William Falcon William Falcon - 9 months ago 43
iOS Question

Use core image for object detection

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.


Answer Source

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.