Show HN: Remove backgrounds from images online
clippingmagic.com
clippingmagic.com
There's a great website http://alphamatting.com/ that provides a benchmark dataset and a comparison of a lot of influential methods.
I applaud your work in making a real time and interactive matting algorithm! One day it might be also as accurate as state of the art methods. You guys should write a paper about your method.
Thanks for the link! Real time is a pretty big constraint, and the input for those results is a much more complete labeling than we expect (only 22 to 44 pixels around the ground truth boundary are left uncertain). But I'll definitely read the paper and hopefully we can gain some insights from it!
Might (one of) you know what's the state of the art in research on this topic as well?
The only thing I might suggest is that for photos with softer edges, you might offer some degree of "feathering" on the edges of the cut out. I don't know how hard this is with your algorithm, but it seems like it might be an easy fix.
Did you guys consider in the future to add multiple object segmentation? That looks like a natural next step. Keep it up the good work! :)
I'll be recommending this to many people!
[1] https://www.evernote.com/shard/s130/sh/2ef070f7-252d-4e79-8e...
Some pictures needed more work than others, but the results were always great!
A pretty busy background, soft/furry edges between subject and background, less-than-obvious clear color boundaries.
The real-time feedback makes it easy to give it the markings that it needs in less than 20 seconds for a near perfect crop (or as good as one would expect with fluffy hair as a boundary). I was pleasantly surprised.
I screwed up the first image I tried to clip. Maybe have a walkthrough of the features when the user first uses it? I didnt notice the help button until it was too late. I thought if I closed out of the editor and clicked on the image again, it would let me start over but it just takes you back to the editor. It would be nice if there was a way to redo editing the image from the start.
The help should have shown during the upload / init!?
(all these wonderful tradeoffs between "first visit" vs "repeat visit" - and what if it was missed the first time, blabla... )
The second time I loaded an image, it did the same thing, and only then did I actually click Help.
My second attempt turned out much better. http://i.imgur.com/kCthvpZ.png
Because this is exactly how the gimp tool works - you highlight the foreground, background areas and it shows you in real time what it's picking.
It's so similar to it I was wondering if it actually IS it (behind the scenes).
For quick and dirty work I'd use this for sure but revert to a desktop tool for precision work I think.
Does anyone know other Linux tools, or online for that, that do this comparatively well?
Yes it does. Look at the link in my post - Figure 14.33. The dark blue area is the background that will be removed.
My wife will love this for creating transparencies (she does serigraphy).
The one suggestion I would make is to follow Photoshop's shortcuts. Space-Drag to move the image, [ or ] to change the brush size, scroll wheel to zoom (already there), and letters to select the various brushes.
(I'm one of the devs)
Filters could also be a consideration for future (ie. popular things like black and white background with a color foreground)
[1] http://i5.minus.com/i49HmJ8HXW90P.png
[2]http://i4.minus.com/ipofptgUlIIlj.png
closer inspection on the preview reveals this
http://i1.minus.com/iTe6ZEeS9Xv1k.png
It's playing nice with all the other screenshots I've thrown at it so far, though.
here's the original I guess if anyone wants to see if it happens with them too
"Network Error
We are having trouble connecting to the server. The following tasks have been unable to complete: Connecting to worker "Unable to connect to the worker." Waiting"
This is occurring after I drag and drop an image
http://ec2-23-20-184-45.compute-1.amazonaws.com:9006/api/web....
I thought it'd have trouble since the bird is constantly changing colors but with just a scribble and a circle it figured it out.
Pros: Doesn't require the fg/bg coloring step needed here, just figures out your FG without intervention. Cons: Have to register for an account to access it currently, but can use FB or Google to register
(Disclaimer: I'm one of the devs)
Now, that's not how people actually use it at first - they "just scribble" (which our example might exacerbate), and then accidentally go outside the actual lines => not good.
Will need to figure out a way to make that more clear.
Unfortunately it is freezing up on me using an image with a gradient at about 90% of the initialization.
I think I stuck a race condition in there somewhere and it's getting exposed for the first time.
Please try uploading the image again :-/
Great domain name too, especially how hard that is these days.
Does work well in high contrast shots.
Opera 12.15 is apparently not compatible since it lacks data URLs.
Safari Version 6.0 (7536.25) freezes at the same place.
Firefox 20.0 gives me an error in a dialog box saying that it's "unable to connect to worker."
Edit: I'm in Japan and going through a http proxy, if that makes a difference.
Couple bugs: 1) Chrome on Win8 consistently gives me the Network Error dialog when trying to upload 2) Was able to get it working fine on IE10, but sometimes the background still shows up in the preview, even though it is erased correctly in the download. http://i.imgur.com/fSB4n4r.jpg
Also, it'd be really cool to have a "simplify lines" type feature, I was using a fairly dark photo and the lines were a bit jagged - but generally the foreground item will have smooth edges.
Just deployed a smaller brush size (30px instead of 40px when zoomed out).
It should get picked up when you reload the page (though default asset caching might hold it for another hour. Well, well)
In the end I settle for a hybrid like this https://gist.github.com/mvsantos/5554663
(the detection script should be accurate, so if they add them it should "just work")
I won't even let Chrome on my sytem directly (i.e. outside of a VM), because I'm tired of it downloading updates with some super needy background service, keeping 100s of megabytes around for no good reason, and no way to turn it off. At least Mozilla products ask. For that reason alone Opera and Firefox play in an entirely different league than Chrome or Safari. Fuck features, let me see your heart... Firefox I use and love, it's just not my main browser because only Opera has bookmark management worth calling that.
(I'm one of the devs)
I just helped dto implement color blind support in his game 2x0ng[0][1] and we settled on the solid colors being hashed[2] to allow people with all forms of color blindness access the game.
[0] https://github.com/dto/2x0ng [1] http://blocky.io/2x0ng.html [2] http://imgur.com/a/098zC
(I'm one of the devs)
There are many ways to solve such a problem. Another one beside GrabCub would be e.g. Watershed.
https://en.wikipedia.org/wiki/GrabCut
http://en.wikipedia.org/wiki/Watershed_%28image_processing%2...
So many variations available via e.g. OpenCV.
Regarding the segmentation phase, we were not satisfied with any existing algorithms because we wanted the tool to be as real-time as possible (for up to 4 megapixel images), so we rolled our own segmentation algorithm that has some similarities to GrabCuts (not GraphCuts).
But the binary segmentation is really only a small part of the technical challenge. You also need to figure out how to anti-alias the boundary, and remove the background halo. Simply feathering doesn't do the job unless you also erode the foreground first, which we wanted to avoid. So we developed a custom sub-pixel background-removal and anti-aliasing algorithm.