Home

Welcome to The Visible Kitteh Project

Problem Description:

We have a problem. His name is Timothy. He is a sweet if very _loud_ tabby cat that we love dearly. One thing we really don't love however is the carnage. Timothy is a very good hunter and his favorite thing to do with his prey after he has caught it is bring it inside and finish it off under my wife's desk.

Now this poses two problems.

First, cleaning blood, feathers, fur and viscera out of the carpet under the desk and off the walls.

Second, some times they get away.

My wife is tired of cleaning the carpet under her desk. I am tired of chasing field mice around the house with a shoebox. It is time for a change.

Requirements:

Prevent the cat from being able to enter the house when he has an animal in his mouth.

Nice to have's:

Do so in a way that doesn't terrify the other cat whom we are trying to train to use the cat door to enter the house.

Methodology:

Object Recognition using Haar Cascades. Implementing it using the OpenCV libraries Java bindings for Android. Ultimately I would like to try and switch back to doing this on the Arduino platform for a low cost, low power consumption solution but I just couldn't find enough reference code or documentation to learn how to do it.

Status:

PHASE ONE IS IN PLACE!!!

TVKP went in place in learning mode 20120421 @~12:30 am. I am currently capturing images with which to re-train the object recognition portion.

Object recognition code is working as a POC but was trained with really crappy data and thus is pretty darned unreliable.

The physical door mechanism is nearly complete. I need to go after the bits with a file, primarily to make the return of the locking pin a bit smoother.

I am currently working on the control circuit to drive the coil.

The code for the project is available on github. Please excuse the messiness and potentially any profanity in the comments. ^_^ I will be doing a complete rewrite in order to correct some difficulties in analysing the success rate of the code but the existing code is fully functional.

After several weeks and _many_ hours of research and experimentation I have successfully written code that recognizes a black and white cat profile. I have started a tutorial here to help others skip past the misunderstandings and lack of useful documentation that I stumbled past while trying to figure all of this out.

This is not my original idea. I first saw this documented years ago called The Flo Control Project. While the site describes the methodology very well the actual technology involved isn't mentioned at all. This is probably related to the fact that the author is involved in a commercial enterprise selling visual recognition software. The Visible Kitteh Project was started as first an attempt to duplicate his fine results and second to share my discovery so that others can use it or build upon it. Contributions and comments are welcome. The site is a bit chaotic and disorganized at present but it is improving.

Here's Timothy looking mischievous

Updates

Project updates

Tasks & Actions

What's left to do for this project.

Project Documents

Just what it says on the board.

Recent Updates

Or maybe not so recent. I have an actual job. In fact I have a job that keeps me busy and involves a lot of travel. I would love to dedicate my life to this project but it's not going to happen.

Contact

Got a really good idea to contribute to this project? Lemme know.