While it isn't specific to dogs and cats, nor open source or publicly available, doesn't Google already have this ability?
- https://encrypted.google.com/search?tbm=isch&q=dogs&tbs=imgo...
- https://encrypted.google.com/search?tbm=isch&q=cats&tbs=imgo...
edit: I'm sure some of theirs is from metadata, but I thought I read a while back that they were doing some graphical identification also.