isiis image segmentation and recognition
TRANSCRIPT
ISIIS Image Segmentation and Recognition
This software segments and recognizes the plankton specimens from ISIIS images. This document
provides a manual for using this software.
1. Prerequisites
This software needs OpenCV 2.1 and Gtkmm installation. The setup for OpenCV and Gtkmm
are provided with this exe. This exe will work only on Windows systems and cannot be used
on Mac/unix environment.
2. Installation
a. Install the opencv 2.1 from the pre-requisites folder
b. Install the Gtkmm from the pre-requisites folder
c. Run the Plankton_Images_GTK.exe from the exe folder.
3. Screen Shot
1. Display Pane
This pane displays the statistical information about the ISIIS image. It also displays the
preview of the image that is being segmented. Note that this pane will display details only
when you process a single image and not a folder of images.
2. Select Single Image
This button allows you to select an image you want to segment the planktons from. This button
just allows you to select the file. The processing is done after you click “Process Single Image”
(3).
3. Process Single Image
This button processes the image you selected in (2). It segments the image and names the
segmented images as “imagename_cropid” and places these images in the frameproc folder.
This folder will be created if it does not exist. This will also result in a popup histogram to be
displayed. You need to click or enter any key for the histogram distribution graph to disappear.
The histogram details are also saved as <imag_name_Reg.xml> in the same folder as the
segmented images.
4. View Size Frequency Histogram
This button allows you to view the histogram of any processed image. A file selection window
opens up which allows you to select the xml file of which you want to see the histogram graph.
5. Filter slider
This slider sets the filter condition for the extraction of blobs from the ISIIS image. Although
very small specs are removed after segmenting, the performance increases if you add this filter
so that the smaller specs are not detected at all. Typical value should be anywhere between 5
and 15. Typically being 7 or 8.
6. Length Of Major Axis slider
This provides the minimum length that the major axis of the plankton to satisfy. Typical value
is around 10.
7. Area slider
This adds a condition of what the minimum area of the plankton should be with respect to the
entire ISIIS image. For current ISIIS images they can be kept at 0.
8. Select Folder of Images
This button allows you to select a folder you want to segment the planktons images from. This
button just allows you to select the folder. The processing is done after you click “Process
Images” (9).
9. Process Images
This button processes the images from the folder you selected in (8). It segments the images
and names the segmented images as “imagename_cropid” and places these images in the
frameproc folder. This folder will be created if it does not exist. There will be no histogram
popup but the histogram will be saved in an xml file in the same folder as the image name.
Also the preview window (1) will also be empty and not statistics will be displayed. Statistics
will be saved in the xml file also in the same folder.
10. Train Classifier
A popup window opens that requires the folder with the training samples of all the classes. It
will extract the features and store them in the respective class folders. A file named
“feature.txt” will be created in each folder of the training samples and it will contain the
features of the training samples. Note that this file is always appended and therefore if you run
this again after running the exe, the file will contain the feature set twice. It is therefore
essential to delete the features.txt from the training sample folders when you run the train
classifier again. Then it will build the classification tree and save it in memory. Also the tree
structure is stored in memory and not on file. Therefore you will have to run the train classifier
everytime you run the exe.
11. Image Recognition
This will work only when the train classifier step (10) is done. A folder selection window will
appear which will allow the user to select a folder that contains a set of unknown images. After
selecting the folder, the exe will classify each image. Text files are created for the labeled
classes and the file names are appending to one of this file based on which class the unknown
image falls into. Thus the classification results are put into text files in the exe folder which
will have the addresses. Folders with class names are created in the same folder level as the
exe and the classified images are put into their respective folders. This helps in quickly
identifying the species in a particular category to estimate the accuracy of the recognition.
• Steps to process single image
o Click on “select single image”. Select an image and click ok. After that click on the
“process single image”. The preview pane will have the preview of the image and the
statistical information of the image. The segmented images will be stored in the folder
name same as that of the image in the frameproc folder.
• Steps to process folder of images
o Click on “select folder of images”. Select a folder and click ok. After that click on the
“process Images”. This will do segmentation on each image and store it in folders same
as the image names in the frameproc folder.
• Steps to process stack of images
o Processing stack of images is same as processing normal images.
• Steps for plankton recognition
o Click on train Classifiers and select the folder that contains the training samples of all
the classes. Then Click OK. This will create features.txt for each training class and also
build the classification tree in memory. After this click on “Image Recognition” and
select a folder of unknown images. This will recognize each image in the folder and
write the name of the file in the corr. Class file text file.
• Steps to add Unknown Classes
In order to add unknown classes in the classifier. The following steps need to be
followed.
1. Train classifier for a set of known classes and build the classification tree.
2. Run the Image Recognition for a small subset of images.
3. In the folder of each recognized class, identify the images that are incorrectly
classified and put them in a folder named “unknown-classname” where
“classname” would be the name of the class in which you found the mismatch.
Thus there will be an unknown folder for each of the class where an incorrect
classification was found.
4. Add these new folders to the training folder as new classes with the name
“unknown-classname”, delete the feature.txt from each of the folder and run whole
process again. i.e. train classifier and image recognition.