Skip to content
Jelle Spijker edited this page Jun 7, 2015 · 12 revisions

Introduction

This project finds its roots in the minor Embedded Vision Design @ HAN, hereafter named EVD. During this minor an embedded device was developed which analyses soil samples using a microscope. This Vision Soil Analyzer hereafter refereed to as VSA, analyzes samples using the optical properties. It gives an user information on color, texture and structure.

This is developed in collaboration with Royal IHC and MTI Holland. Royal IHC is one of Holland major shipyard companies and specializes in dredging and offshore. MTI Holland BV is royal IHC dredging knowledge center. They're worldwide leading centre of expertise in the area of translating knowledge of dredging, mining and deep-sea mining processes into the specification, design and application of equipment.

Both companies have an interests in knowing the properties of soil, be it to advise their customers or to further facilitate their own research and services. Current methods, like the Particle Size Analysis using a sieve and hydrometer are time consuming and non portable. To facilitate quick, accurate and on location soil research an embedded device has been developed. This VSA analyzes soil samples using a microscope and gives the user acceptable and quick results on the soil visual properties.

Quick and reliable results are a welcome addition into any laboratory, this combined with a device that is light and portable gives it's users an added benefit of shortened logistical operations for their soil samples. This results in some serious time benefits.

During the first period of the minor the basic prototype has been developed. This prototype ran in Matlab on a X64 desktop computer and was a first test case for the algorithms and idea's. In the second period this prototype is developed on an ARMv7 embedded Linux device and is compiled in C++. The goal of the software is to analyze soil samples and presenting the user with information regarding it's color, texture and structure.

Information regarding the color of a sample is presented to the user in the CIE Lab and Redness Index color-models. These color models show correlation between different soil properties, such as iron content and fertility. Conversion between different color-models are CPU intensive, because each pixel will be transformed using multiple algorithms. It's therefore paramount that calculations are done with an minimum of machine instructions and with acceptable errors.

Texture information is presented to a user via a Particle Size Distribution, hereafter named PSD. This is a cumulative function representing the ratio of different particle sizes in the soil sample. Due to the nature of a two dimensional digital image numerous problems arise. These are overlap of smaller particles by bigger particles, this gives a distortion in the PSD results, because the smaller particle is registered as part of the bigger particle. And another problem is the fact that soil particles are three dimensional. but the image is two dimensional.

Information about the structure of the soil is extrapolated from the individual particles shapes. These shapes are describes in the frequency domain, using a Fast Fourier Transform and fed into a Neural Network which classifies these shapes into standard soil categories. These are time consuming operations and therefore should be done with a minimum of machine instructions and efficient programming.

This wiki / product documentation gives the developer(s) and customers, namely MTI and IHC a tool to further the development of the VSA in to a full fledge market ready product. The [development environment](Development environment) and the used [protocols](Common development practices) are described in order to guard the quality of the work. The product itself is designed by determining a global IPO Input-Process-Output diagram. This leads to the [functional specifications](Functional Specification). To illustrate the working of the device further the User Interface will be designed which will be supplemented with a short manual. All the above design tools will come together in a detailed IPO. Correct working of the device is guaranteed with various [testing protocols](Testing protocols). The [vision related algorithms](Vision Realization) are describe in order to determine the most efficient working order.

Knowledge

On the following pages can the common knowledge be found on which this device operates

Color

Color information is converted from RGB-model to the CIE Lab an Redness Index models. These color models show correlation between different soil properties. More detailed information can be found at Color

Structure

The structure of the soil is determined by transforming the contour of the individual particles to the frequency domain and using the descriptors as input in a Neural Network. More information can be found Structure

Texture

The Texture of the sample is determined by calculating the area of the different particles and presenting them as a [Particle Size Distribution](Particle Size Distribution)

Software

The VSA is developed in C++ in a Linux environment. The IDE of choice is QT Creator Community edition This is opensource and available for Linux/Windows/Mac. Version control is done via Github the main project page is VisionSoilAnalyzer - project page

The detailed Doxygen documentation of the current program and libs can be found source documentation. Here can be found detailed graphs and all the source code of the complete document. This page is generated using Doxygen. This programs grabs user comments and converts them to source code documentation. Documentation [Rules](Doxygen Rules) are to be followed when writing code

Hardware

The software runs on desktop i386/x64 or ARMv7 architecture. Detailed information can be found in the hardware page

Clone this wiki locally