IMAGE ANALYSIS software

Understanding your images

Image analysis software puts into practice advances in computer vision to understand content of images and videos. With its solid background in deep learning and C++ programming, ScienceSoft’s computer vision team provides consulting and custom software development services in the fields of medical and industrial image analysis.

SOLUTIONS

Various industries apply image analysis to identify people and objects, assess quality and possible damage, grade and sort products and derive other meaningful information from images and videos.

We develop custom image analysis solutions tailored to specific needs of our customers and address a wide range of image analysis tasks in retail, in manufacturing, in healthcare, etc.

Image recognition tasks

Image recognition tasks

Detection

Looking for specific conditions in visual data: detecting regions of interest for further analysis, distinguishing objects from the background.

Recognition

Labeling or classifying objects in digital images based on one or several object classes: people, vehicles, electronic components, etc.

Identification

Recognizing individual features of an object and classifying it with more precision: identifying individual people, specific vehicles, animal species, device models, etc.

get a quote

Practical applications

Facial recognition

Facial recognition

Identifying a specific person’s face. Facial recognition has a variety of applications, from retailers recognizing their customers in order to provide them exclusive services to high-level security systems identifying suspects and trespassers.

Emotion recognition

Emotion recognition

Application examples include assessing the level of a customer’s satisfaction, allowing a smart camera to shoot a photo at the right moment, etc.

Quality inspection

Quality inspection

Checking for surface defects, foreign materials, discoloration, absence of components, etc. See our automated visual inspection page to find out more details.

Grading and sorting

Grading and sorting

Classifying objects according to their quality (e.g., grading fruits and vegetables) and then sorting them accordingly.

Counting

Counting

Using an optical system to count similar objects on the production line or in a warehouse.

Damage assessment

Damage assessment

Identifying damage issues in complex electronic devices, vehicles, etc.

Computer-aided diagnosis

Computer-aided diagnosis

Assisting diagnosticians in reading plane X-ray images, CT-, PET- and MRI-scans, ultrasound scans (including 3D and 4D), isotope scans, etc. Enhancing medical images, measuring organ dimensions and blood flow, detecting pathological signs and suggesting a diagnosis. For more details, see our page on medical image analysis.

3D reconstruction

3D reconstruction

Producing 3D models from 2D data (e.g., medical scans)

Optical character recognition

Optical character recognition

Reading texts and number sequences (printed and handwritten).

Event detection

Event detection

Identifying behavior anomalies and alarms in surveillance videos, counting people traversing a passage.

Organizing visual information

Organizing visual information

Indexing visual databases.

CHALLENGES WE SOLVE

  • Variability in the area of interest
    Software will locate the region of interest automatically (e.g., detect a barcode on a parcel or a road sign on a wayside).
  • Low-quality images (e.g., taken with a mobile-device camera)
    Image preprocessing will remove unnecessary noise and enhance image quality.
  • Object rotation
    We use SIFT and other state-of-the-art feature detection algorithms that are rotation-invariant to some reasonable extent.
  • Classification into numerous categories
    Training artificial neural networks with a sufficient amount of data, we can solve many classification challenges, including a large number of categories to classify.

APPROACHES

Depending on our customer’s specific problem, our consultants will suggest the most appropriate solution based on one of the following approaches or their combination.

Image analysis approaches

Rule-based

This approach will be a perfect choice if it’s possible to determine a limited set of strict rules. Usually, this would be the case when the visual data amount is small and their variability is low, for example, when the task is to detect and read a barcode stripe pattern.

Advantages

Advantages:

  • Shows excellent performance within a narrow domain.
  • Doesn’t require big datasets.
  • Performance can be easily validated.
  • Explicability – we can clearly see every decision step right in our code.
  • Easy debugging.

Disadvantages:

  • Requires explicit knowledge about all possible appearances of objects to analyze.
  • Poor generalization: rules should be highly specific in each particular case.
  • Labor-intensive development: each rule should be programmed explicitly, which takes time and effort.

Machine learning

Machine learning is particularly good at analyzing big and unstructured data, because it doesn’t need any explicit rules to be programmed. Instead, it uses big datasets to derive all the rules on its own.

Advantages

Advantages:

  • Deals better with complex objects and tasks.
  • Doesn’t require explicit knowledge.
  • Easier scalability.
  • Lower operational cost.

Disadvantages:

  • Requires large image datasets.
  • Implementation can be more complicated.
  • ‘Black-box’ problem – all the rules are hidden in the complex inner structure of an algorithm (e.g., deep neural network) and are difficult to extract.

CONSULTING

We look at a problem as a whole, considering all the nuances that might affect an image analysis system’s performance. Our experts will be eager to help you choose the most appropriate solution and avoid possible pitfalls.

A consultation will cover:

  • Camera and lighting selection
  • Process optimization
  • Integration with other IT systems (ERP, POS, etc.)

WHAT WE DO

  • Clarify requirements in detail
  • Create a proof of concept
  • Develop a prototype  
  • Implement the solution
  • Provide support and maintenance

TECHNOLOGY STACK

Programming languages:

  • C++
  • MATLAB/Octave
  • R
  • Python
  • Objective-C

Libraries and frameworks:

  • OpenCV 2.x, 3.x
  • Caffe
  • tesseract-ocr
  • MatConvNet
  • Numpy

Platforms:

  • Linux
  • Windows
  • Mac OS
  • Android

FIND OUT HOW TO SOLVE YOUR PROBLEM

Tell our consultants about your image analysis challenge and we will work to get you the solution you need.

get a quote