Ask Your Question

Revision history [back]

Detecting silver coins on a carpet with camera mounted to iRobot Create

Hello! I'm trying to detect silver coins on a carpet (I know what the carpet looks like). The camera is going to be mounted to an iRobot Create. I took 20 pictures of the coins (quarters, nickels and dimes) at approximately the angle the camera will be mounted at on the Create (it isn't mounted yet). I also took 20 pictures of the carpet without the coins to use as the negative images.

I ran the command:

opencv_createsamples -info positives.txt -vec positives.vec -num 20 -maxxangle 1.1 -maxyangle 1.1 -maxzangle 0.5 -w 50 -h 50

Then I ran:

opencv_traincascade -data output_xml -vec positives.vec -bg negatives.txt -numStages 10 -minHitRate 0.999 -maxFalseAlarmRate 0.5 -numPos 20 -numNeg 20 -w 80 -h 40 -mode ALL -precalcValBufSize 2048 -precalcIdxBufSize 2048

It only completed three stages then said the max false alarm rate had been reached. When I used opencv's facedetect to test the .xml file, there were many circles where there we no coins:

./facedetect --scale=2 --cascade="cascade.xml"

Am I taking the right approach to trying to detect coins on a carpet?

Thanks!