Ask Your Question

Distinguishing horse faces

asked 2015-08-24 14:38:20 -0600

SvdSinner gravatar image

updated 2015-08-25 09:52:13 -0600

I've built an automatic horse feeder for my horses, and am working on the software for it.

The goal is to identify which horse is at the feeder and use that to get how much food to dispense. I've got a web cam setup over the feeder, and it should be able to get a decent face shot of the horse. Additionally, the feeder has guides so that the horse's head will be in the same rough position when they enter.

As a newb to openCV, I wanted to ask a couple high-level questions before I dive into learning Open CV:

  1. Attached is a picture of the two horses. C:\fakepath\HorseFaces.jpg Is it safe to assume that they are sufficiently different to get a reasonable accuracy rate with openCV?
  2. If I want the image analyzed within 4-5 seconds, how much hardware will that require? (Modern windows machine, or can I use an old beast?)
  3. Would OpenCV have a reasonable chance to detect if something other than a horse was in the feeder? (Dog running through it's field of vision, raccoon, etc.?)
  4. What would it be a reasonable number of photos of the horses to use for matching? (IOW, is one good photo each all I will need, or should I have 4 (or 10 or 20) photos of each horse to improve accuracy?)
edit retag flag offensive close merge delete


@berak what is your opinion about "The goal is to identify which horse is at the feeder" ?

sturkmen gravatar imagesturkmen ( 2015-08-25 07:49:21 -0600 )edit

@sturkmen pardon ? (what's the issue with it ?)

berak gravatar imageberak ( 2015-08-25 08:17:12 -0600 )edit

i think @SvdSinner wants to idendify which horse of his horses at the feeder. ( sorry for my poor english )

sturkmen gravatar imagesturkmen ( 2015-08-25 08:29:04 -0600 )edit

i think horse detection can easily be implemented. but horse recognition needs another effort.

sturkmen gravatar imagesturkmen ( 2015-08-25 08:33:26 -0600 )edit

@SvdSinner i was intending to do practice about training cascade classifier. maybe we can cooperate on this subject

sturkmen gravatar imagesturkmen ( 2015-08-25 08:41:54 -0600 )edit

@berak For now I'm only concerned about those two horses. For question 3, I'm not trying to identify other things, I would just like to be able to determine if the web cam is most likely NOT seeing a horse in the feeder. (This would be to prevent dispensing when something else random triggers the motion sensor.) BTW, You should post your comment as an answer so that I can mark it.

SvdSinner gravatar imageSvdSinner ( 2015-08-25 09:47:27 -0600 )edit

@sturkmen I'mean always up for collaboration. The wifi equipment to enable the webcam will be arriving in a few days, and I'll be starting to set up the hardware, camera, etc. after that. Let me know what a you're thinking

SvdSinner gravatar imageSvdSinner ( 2015-08-25 11:32:40 -0600 )edit

i can contribute writing some code in c++. also i can work to train new classifier for horse detection. in the beginning we don't need the equipment :) you can find my e-mail here

sturkmen gravatar imagesturkmen ( 2015-08-25 11:58:19 -0600 )edit

1 answer

Sort by ┬╗ oldest newest most voted

answered 2015-08-25 00:41:14 -0600

berak gravatar image

updated 2015-08-25 11:35:31 -0600

  1. how many horses are there ? the two in the photo are clearly distinguishable.
  2. no worries, (people) recognition on 500 images can be done in millisecs. you can probably use any old beast you got.
  3. that's a different topic/problem (and might need seperate treatment), no ?

    a. it might work, if you have a 'not-a-horse' class, with pics of blue sky, dog,raccoon, and whatnot.

    b. you might train some general horse(head) 'detector' (like in horse-or-not), to go in front of the 'recognition' pass similar to the face detection (that's what @sturkmen was trying to hint at.)

  4. yes, usually recognition improves with image count. but again, it depends on the horse count, and on how easy they're seperable. start to collect pics from the feeders position, i guess. if your animals are that easy to seperate, like in the pic above, a handful of images will do for sure.

last, but not least - might be, that using opencv's face-reco framework is way overkill for this job. you might start with comparing the (grayscale) image via cv::norm() to some pics on disk, and take the one with the shortest distance.

edit flag offensive delete link more


another approach is using special noseband having a recognizable marker. it is easier to implement

sturkmen gravatar imagesturkmen ( 2015-08-25 10:06:58 -0600 )edit

gps chip dranl├Âten - fertig.

berak gravatar imageberak ( 2015-08-25 12:12:30 -0600 )edit

yes maybe there is better solutions out of computer vision

sturkmen gravatar imagesturkmen ( 2015-08-25 12:19:43 -0600 )edit

Question Tools



Asked: 2015-08-24 14:38:20 -0600

Seen: 822 times

Last updated: Aug 25 '15