No description, website, or topics provided.
C++ Python CMake C
Switch branches/tags
Nothing to show
Latest commit 22838b0 Aug 15, 2015 @yodergj small fixes & enhancements
Permalink
Failed to load latest commit information.
FullProject Disable dependencies of avifile and update ffmpeg API Feb 25, 2012
HandyDemo Add video encoding support Aug 9, 2015
HandyMouse small fixes & enhancements Aug 15, 2015
HandyTrainer memory, app, and segmentation enhancements Aug 8, 2015
apps Code cleanup, remove avifile deps, update ffmpeg api Feb 26, 2012
classifier memory, app, and segmentation enhancements Aug 8, 2015
flesh Tweaks for flesh detection rules Mar 5, 2011
geometry segmentation improvements and trainer argument changes Jul 29, 2015
hand small fixes & enhancements Aug 15, 2015
image Add video encoding support Aug 9, 2015
scripts Build fixes for updated libs and initial VidPostureDetect Apr 24, 2011
test Build fixes for updated libs and initial VidPostureDetect Apr 24, 2011
utils Build fixes for updated libs and initial VidPostureDetect Apr 24, 2011
video
xmlutils Fixes for Trainer and classification. Migrate from libxml2 to xerces Jul 2, 2015
CMakeLists.txt Code cleanup, remove avifile deps, update ffmpeg api Feb 26, 2012
Features.txt
Plan.txt Initial implementation of AdaBoost Mar 21, 2010
Readme.txt Initial implementation of AdaBoost Mar 21, 2010

Readme.txt

Building

cmake is required for the build system
The following common libraries are also needed:
libxml2
Qt (version 4 or higher)
opencv
ffmpeg

cd HandDetection
mkdir build
cd build
cmake ..
make

The executables can be found in:
build/apps
build/vidproc


Running the flesh classifier trainer:

Usage: ./fleshTrainer <feature string> <flesh Image> [...] -x <non-flesh image> [...]

The feature string is a sequence of characters used to identify the colorspace components used as features in the classifier.  I use the string "IQ" for two components from the YIQ colorspace.

The "-x" is used to mark the transition from positive example images to negative example images and should only be entered once.



Running the hand block classifier trainer (not currently needed since the results aren't good enough):

Usage: ./handTrainer <feature string> <flesh classifier file> <hand Image> [...] -x <non-hand image> [...]

The feature string follows the same pattern as with the flesh trainer, but it doesn't have to match the features used to train the specified flesh-classifier file (which is the output from the fleshTrainer program).



Running the video flesh detection program:

Usage: ./fleshblockoutline <classifier file> <video file> <output directory>

Here the classifier file is the output from the fleshTrainer program.  I've always used various kinds of avi files for the video file, but it should handle a wide range of formats.  The output directory needs to be created before running the program.



Running the video hand detection program:

Usage: ./handVidDetect <flesh classifier file> <hand classifier file> <video file> <output directory>

This is like the fleshblockoutline program, but it also runs a hand classifier on the blocks found by the flesh classifier.  So far, I don't have any satisfactory results for the hand classifier.