Awhile ago Dave Vondle from IDEO posted a request for help on the oF board and we thought it would be a fun way to collaborate. The fruit of that collaboration is CYA, a toolkit for sensing people in spaces. A little while into the development we met James George, whose work on Sniff was closely related to the aims of the CYA project and he began working on it as well. We are looking to release the first version in early March. Before that we are hoping to get some feedback from the great community on this board.
http://lab.rockwellgroup.com/code/CYA-win.zip
http://lab.rockwellgroup.com/code/CYA-mac.zip
http://lab.rockwellgroup.com/code/CYA-src.zip
The basic structure is a server client model with the server sending OSC / TUIO style OSC / or TCP info to a client which could be in oF, Processing, Flash, PD, Max, etc. (anything that can listen to OSC)
We plan on using this for rapid prototyping, educational workshops, and providing the source openly for use in production . It builds on the backs of giants and our hope is that we can contribute ways to make it easier for beginners to explore computer vision while also providing a framework for experts to build off of. Part of our goal is to provide quality over quantity of options in terms of the data sent out. So for instance, we might create certain combinations of filters, etc. that people in this community use as a preset.
So, LOTS to do and any feedback / discussion in regards on the following would be really appreciated.
* How do you do video sensing? What are your steps? i.e. - Grab video, bg subtraction, threshold, track blobs
* How could we make it easier to use for beginners? Those of you who teach, what are the hang-ups?
* Right now we are gathering persistent id, boundingrect, centroid (center of mass), velocity of blob, average optical flow velocity, contours. Make sense? Anything else that would make sense to send?
* We have designed the addon to also allow for linking in existing openFrameworks addons. We are curious if people would like to use it this way, and if they interface is intuitive and easy to program with.
* Any other camera / image filters that you use?
Some of the big unfinished things:
-
speed + optimization
-
direct TCP sending to Flash
-
Haar stuff - finding a quicker way to track, some glitches, deciding how to send it
-
optical flow sending - separate or integrated differently into blobs
-
cleaning files (consistent naming conventions, removing deprecated code)
-
concise addon
We are working through all the licensing issues to release this under the MIT license and any help or feedback in that regard would be greatly appreciated. There are many snippets of code in here from these boards and if you have better versions or would like to receive more credit please let us know. There are some goodies in here too, for instance we built a few classes for use with ofxControlPanel that let you make groups, text fields, etc.
Warm Regards and Many Thanks,
LAB at Rockwell Group (James Tichenor, Keetra Dixon, Brett Renfer, Joshua Walton), Dave Vondle, James George