Download Latest Version RDF-mapping-v1.0.zip (54.9 kB)
Email in envelope

Get an email when there's a new version of Fish4Knowledge Project

Home / Fish Recognition
Name Modified Size InfoDownloads / Week
Parent folder
README 2013-10-15 2.8 kB
fishRecognition.zip 2013-10-15 66.7 MB
Totals: 2 Items   66.7 MB 4
% -----------------------------------------------------------------------
% Copyright (2013): Phoenix X. Huang
%
% This software is distributed under the terms
% of the GNU General Public License 2.0.
% 
% Permission to use, copy, and distribute this software for
% any purpose without fee is hereby granted, provided that this entire
% notice is included in all copies of any software which is or includes
% a copy or modification of this software and in all copies of the
% supporting documentation for such software.
% This software is being provided "as is", without any express or
% implied warranty.  In particular, the authors do not make any
% representation or warranty of any kind concerning the merchantability
% of this software or its fitness for any particular purpose."
% ----------------------------------------------------------------------

This is a set of MATLAB m-files implementing the BGOT hierarchical classfication
algorithm for fish recognition described in the paper
P. X. Huang, B. J. Boom, J. He, and R. Fisher. "Underwater
live fish recognition using balance-guaranteed optimized
tree", ACCV 2012

Testing:
It consists of a sample MATLAB scripts called "sample_predictSpecies.m" and 
the simple demo exemplifies how to use the program. 
It calls "interface_recognizeFishFromImage" as a main function.
Four auxiliary functions: "interface_generateFeatureSet.m", 
"interface_classification.m", "interface_rejection23.m" and
"result_trajvote_byScore.m", which are called by the main program.

For instructions type "help interface_recognizeFishFromImage" at the MATLAB prompt,
or read the first few lines of the "interface_recognizeFishFromImage.m" file.

Training:
The training procedure takes 2 steps: construct BGOT, build GMM for rejection.
1.construct BGOT (like "BGOT_1301_69f" in data_23Species.mat):
(1). generate feature matrix with self normalization: 
    [features]= interface_generateFeatureSet(fishImg, binImg, 1, 1);
(2). build BGOT with feature and class labels, see "sample_trainBGOT.m" 
    libsvm referes to [1]:
    [ BGOT ] = interface_trainBGOTFromImage( features, class_id );
(3). assign feature selection result to BGOT node, 'Subfeature' field.
2.build GMM for rejection (like model "GMM_model.model" in data_23Species.mat),
see "sample_trainGMM.m".
(1). choose proper component number, "gmm_mixtures4"[2] function.
(2). train GMM from given features, "classify_GMM_train".
    
[1]. C.-C. Chang and C.-J. Lin. LIBSVM : a library for support vector machines.
ACM Transactions on Intelligent Systems and Technology, 2:27:1--27:27, 2011. 
[2]. M. A. T. Figueiredo and A. Jain. Unsupervised learning of finite mixture models. 
IEEE Transactions on Pattern Analysis and Machine Intelligence, 24(3):381¨C396, 2002.
Source: README, updated 2013-10-15