8 ms·
Machine Vision made Easy - SimpleCV
- LiveTheDream 15y agoSource: https://github.com/ingenuitas/SimpleCV.git https://github.com/ingenuitas/SimpleCV.git
- Luyt 15y agoAh, that'd be https://github.com/ingenuitas/SimpleCV https://github.com/ingenuitas/SimpleCV
- ivankirigin 15y ago"Made easier" would be more accurate
- nobody3141592 15y agoTo install all you need is opencv, scipy and python in my experiecne the hardest part of machine vision (on a pC) is getting all the bits installed and playing nicely with each other
- jallmann 15y agoDoesn't sound like you've done a lot of computer vision, then...
- nobody3141592 15y agoAt least they teach you the maths of separable convolutions - they don't teach you that the defualt opencv built with vs will clash with Qt libs built with mingw but the ing system won't tell you this!
- dman 15y agoIf you are developing on Windows you are pushing against the tide.
- nobody3141592 15y agoIt's generally hard enough persuading someone that you can measure something from a picture - also telling them that they can't use 'normal' computer software is even harder. Of course back in the day, when it had to be a Sparc station crammed full of custom i860 boards it as even harder!
- anjc 15y agoComputer vision is made very easy with OpenCV and, say, C...but it's quickly outgrown if you're doing anything meaty.
- ecaron 15y agoIs CV a common term for "computer vision"? I'm used to CV meaning "curriculum vitae" and it took me ~2 minutes to realize the site had nothing to do with it. /me might be in the recruiting realm too long
- ComputerGuru 15y agoIt's a play on OpenCV.
- FuzzyDunlop 15y agoI thought the same, but wouldn't say it was the recruiting realm per se. More that an American would be more familiar with 'resumé' and might not instantly realise CV has another meaning elsewhere. There's no way I could get used to CV not being 'curriculum vitae'.
- esrauch 15y agoIn my experience (in the US), CV is usually used in Academia (what papers you have published, research you have done) and resume is used in industry settings.
- pbh 15y agoYes, I think computer vision is a common term for the area (at least, among academics and researchers), and CV is a common abbreviation. Examples include Intel's OpenCV and the CVPR conference. (I actually thought that it was weird that they called themselves "machine vision" rather than computer vision in the title.)
- thwest 15y agoOpenCV is OSS maintained by Willow Garage. Intel provides the Intel Performance Primitives which implement basic filtering up through haar, segementation, optical flow. Machine vision usually refers to the domain of industrial inspection where the scene contents are highly controlled, and computer vision usually refers to harder problems where someone is walking around a real environment with bad lighting and awkward perspectives.
- georgieporgie 15y agoLove the cats vs cheesburgers demo.
- kisielk 15y agoThe demo: http://www.youtube.com/watch?feature=player_profilepage&v=cH5e-ZkJa0U http://www.youtube.com/watch?feature=player_profilepage&...
- kscottz 15y agoThanks!
- tripzilch 15y agoWhile cute, I'm surprised why it seems to work so well. The extracted features appear to be nothing but small patches of various types and directions of edges. Training a Naive Bayes classifier on these features will try to determine the label roughly based on the unordered strength/number of occurences of these small feature patches. While it's obviously demonstrated that you can attain a surprising accuracy with this method, if the features in the "bag of features" method are all very local like in this demo, you are throwing away the larger scale features of the image. And intuitively, it's the larger scale features that ultimately determine the subject of a photograph. One thing this classifier would probably fail, would be a blurred photograph, that still would obviously depict either a cat or a cheeseburger to a human viewer, but it would completely mess up the local feature patches. A more interesting, and much harder, thing would have been to try and train a classifier to determine "cat", "cheeseburger" or "other/neither". I'm fairly sure you couldn't have done that with such local features. Just my educated Machine Learning opinion, of course :-) The demo itself is both hilarious, and a good demonstration of SimpleCV's ease of use.
- cbo 15y agoAt first glance, it looks like a good library for starting out with Vision. It's a very Pythonic library. I especially like some of the blatant honesty in their docstrings. https://github.com/ingenuitas/SimpleCV/blob/master/SimpleCV/Features/BOFFeatureExtractor.py https://github.com/ingenuitas/SimpleCV/blob/master/SimpleCV/... > def _makeCodebook(self,data,ncodes=128): > """ > Do the k-means ... this is slow as as shit > """ It certainly looks easier than starting with OpenCV alone. Moreover, Ingenuitas looks like an interesting company. Open source solutions for manufacturing is certainly nothing I've heard of before. Definitely something to keep an eye on.
- kscottz 15y agoThanks! I try to keep things real in the documentation. Sometimes things are slow, especially with python. After years of working as a closed-source defense contractor nothing feels better than having someone looking at my code and agreeing with me that a) it sucks and b) at least it works.
- stephth 15y agoIngenuitas got me curious too. It looks like an interesting team and company, and all your existing products are open source and free of charge, you don't seem to be selling anything. How do you make money?
- thorie 15y agoIs SimpleCV where I'm supposed to submit my resume?
- deleted 15y ago[deleted]
- basman 15y agoHow does this compare with OpenCV's existing python interface? The examples at http://opencv.willowgarage.com/documentation/python/cookbook.html http://opencv.willowgarage.com/documentation/python/cookbook... look fairly simple.
- sinope 15y agoI work for a startup that works in CV, and we use OpenCV for a lot of our work. I haven't used this yet, but I don't think it would too hard to beat OpenCV's default Python interface. It's a lot of rather terrible C++ => PyObject* junk. Generally we prototype in Python to figure out what works and rewrite in C++ whatever worked really well.
- nmz787 15y agoI'd also like to know the answer to this question. Also isn't openFrameworks supposeds to be more frame-worky than just a library (someone mentioned earlier simplecv aims to be more of a framework rather than just a library) Did the developers not realize there are similar solutions already in existence? Why not develop those further?
- gwillen 15y ago@sinope: Note that you appear to have been hell-banned. I can't find anything in your comment history that suggests why this would be, but the upshot is that nobody can see your comments. I'm not sure whether there's an appeal method; you may wish to consider a new account.
- csears 15y agoPerhaps it's just my setup (Chrome on Windows), but the site's font looks pixelated. Irony?
- fuzzythinker 15y agoFor those wanting to know the difference between this and openCV, Anthony summed it up pretty nicely: http://hplusmagazine.com/2011/09/20/make-computers-see-with-simplecv-the-open-source-framework-for-vision/ http://hplusmagazine.com/2011/09/20/make-computers-see-with-... (4th comment)
- nmz787 15y agoThat doesn't really make any comparison between open and simple CV. The example towards the end thqt compares two code snippets isn't even comparing the same operation, in the C code it creates a new image and places text on it, while the python code merely opens a file... Opening a file and displaying it in C is about one or two lines more of code
- nateberkopec 15y agoThe Processing/Java library is stupid easy to use. http://ubaa.net/shared/processing/opencv/ http://ubaa.net/shared/processing/opencv/
- ansgri 15y agoI don't see morphology filters supported. Huge fail.
- jphackworth 15y agoIt would be cool if there was "computer vision as a service". Just post a pic to the URL, and it sends back a string describing what it is.
- scommab 15y agohttp://developers.face.com/ http://developers.face.com/ has already started doing this (Though just for faces)
- lastsurvivor 15y agoI appreciate their effort and work. Nevertheless i believe OpenCV is quite easy to learn & use in a very short time. Why would i use this toolkit ?
- Kliment 15y agoI've written a LOT of OpenCV code. It's a pain. This makes it easier to do the stuff that is simple but messy to do with the normal OpenCV, and doesn't get in your way when you want to use the full API. I would have loved to have this a year ago.
- shaheeb 15y agoJust wanted to throw in my "hip hip hooray" for SimpleCV. I've been messing around with it (at shaheeb.com) to work on the DARPA Shredder Challenge (shredderchallenge.com). The code is transparent, but it still wraps up a lot of OpenCV boilerplate just right. I also wanted to mention that the team (Kat, Anthony et al.) are very responsive to their community and user base. All around kudos SimpleCV team. SR
- deleted 15y ago[deleted]
- ez77 15y agoSorry for not diving into the docs and firing the question... Could this be used to easily detect where the eyes, mouth, etc. are within an ID picture? I'm not talking about face recognition, but rather about (the more trivial) face-element recognition.
- tsumnia 15y agoCoincidentally I'm working on this type of thing right now. Right now, 'feature detection' is a tiny bit more difficult. I work with something known as Active Shape/Appearance Models which do just that. The issue with them is needing to be roughly in the right spot to correctly conform to the object. Once you detect the object, you can apply a mesh frame to detect the inner objects. I'd recommend looking at Stacked Active Shape Modelling for a nice edge detection approach to feature detection. SimpleCV just released a video about face detection but I don't think they've expanded into features yet. Hopefully they don't cause I want to do it!
- kscottz 15y agoThe short answer is yes this can be done. You can use the Haar cascade wavelet files that ship with OpenCV 2.3. I will see if I can toss those into SimpleCV.
- kscottz 15y agoI ticketed this up and I will get to it Monday. I should be able to ship it with SimpleCV 1.2. https://sourceforge.net/p/simplecv/tickets/180/ https://sourceforge.net/p/simplecv/tickets/180/
- kscottz 15y agoI am one of the SimpleCV Developers. We are overjoyed at all this feedback. We have a few really exciting things coming up that we would like to share: 1) We will probably release the SimpleCV 1.2 super packs next week. There are a ton of sweet new features. We could really use some beta testers. Please let us know if you are interested. 2) We just signed a book deal with O'Reilly Media to make a SimpleCV guide. We are soliciting input from the community about what CV problems they need solved, or cool projects they would like us to do. With respect to our business model, right now we are focused on quickly and cheaply delivering open-source machine vision solutions for manufacturing. If you have a manufacturing contact that has a machine vision problem and is looking for a solution we would love to talk to them. In the next month we will have a development scrum that will focus on our Seer product. Seer will the framework for deploying your computer vision projects in a cloud context. This means being able to remotely deploy and manage a vision system (i.e. CV as a service). Also along these lines we are actively looking for partners for the DARPA iFAB BAA that will be released soon (see: https://www.fbo.gov/index?s=opportunity&mode=form&id=d1b63a1890d7c187590e695bc8457fd6&tab=core&_cview=1 https://www.fbo.gov/index?s=opportunity&mode=form&id...). If you are going to submit a proposal for this contract we would love to talk to you. Since we're open source we welcome and encourage community participation and feedback. If you have a cool project or a pony request shoot us a message via twitter (@Simple_CV or @IngenuitasInc) and we can chat and perhaps help you with your project.