I'm looking for freeware most preferably with open code that detects basic entities in pictures.

It means if I run it over a picture (gif, jpg, etc.) the system will find basic entities such as table, sky, man etc. and their location in picture.

  • 2
    Fair warning: this is one of the most complex and researched fields of study in software engineering: identifying elements in photos. Google started a project devoted to this, but eventually gave up. Tough stuff! – Frecklefoot Aug 17 '16 at 16:28
  • Thanks a lot where can I find papers describing the research that has already been done by Google and others? – Avi Aug 17 '16 at 18:17
  • 1
    Just found this. Apparently Google didn't give up, they just repackaged it. – Frecklefoot Aug 17 '16 at 18:30

What you are asking for is Image Classification software and it is available as open source as a part of deep learning with image net. There is quite a lot of software to install so before you read any further you need to be aware that recognising portions of an image takes time - you will not be able to roll over a fresh image and have things recognised in it - instead you will need to run a classifier, preferably offline, and pre-classify your images. Also note that what you are asking for uses a lot of computer power, enough that most use it on an AWS Amazon EC2 g2.2xlarge image or better. The PyImageSearch blog has a series of tutorials on setting up and using such a setup.

The software

  • OpenCV is a gratis, open source, cross platform, C/C++ library for computer vision with C++, C, Python and Java interfaces.
  • Python is a gratis, open source, cross platform, programming language that is widely used in academic research
  • Pillow is a fork of the Python Image Library, (PIL), that provided a number of helper functions - once you have python install with pip install pillow
  • SciPy and Numpy libraries for the number punching you can install with `pip install numpy scipy
  • The scipy learning library pip install scikit-learn
  • As you will be accessing some BIG files you will need h5py so pip install h5py
  • Theano is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently - pip install --upgrade --no-deps git+git://github.com/Theano/Theano.git
  • Keras Neural Network software - pip install keras
  • If you are running on windows you probably don't have git installed so you will need a windows build of git - there are several.
  • Finally you can start from some pretrained deep learning models - git clone https://github.com/fchollet/deep-learning-models

There is a tutorial on actually running this here or a number of books available.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.