Hey HN! We originally built this as part of a bigger app but since removing backgrounds of images can be a tiresome task in itself we thought why not release it as a standalone tool? Feedback appreciated!
Great job! As a note, I think you will likely collect lots of deep links to "missing" pictures over time as your service becomes popular - you already got two such links on this page in a few hours...
One idea for the "enter a URL" path. If you save the image URL for a longer time period, you could give the viewer the option to re-run that URL and perhaps save it to that location for another hour.
Or show a message like what Flask's logo does when you right-click it the first time [0]. e.g. "Note: Direct linking will not work. This image will disappear from our servers in an hour." (Possibly with "Click here to post to Twitter instead," which can help "persist" an image while spreading the site a bit further in the process.)
You might want to make it more obvious that pictures aren't linkable by doing something like returning the image from a POST (might make for bad UI) or returning the image as a data url.
I cheated a little bit by creating an AI that allowed me to do it faster in a semi-automatic fashion. However, the first batch to train this "labeling"-network was generated manually, which took forever.
Fantastic! great job. On the photo I tried I was holding a water bottle, it between the water bottle and my body it left a small area (inside my elbow) - also between my knees. Given how fantastic it is, if there were a way for you to add a click to remove more parts that it hadn't thought of as the background (in this case between my elbow and body) it might be good. The wall itself in that space was very regular, but I can see why it didn't remove it, it might as well have been a jacket or something, in which case no need to remove it.
The outline of my body that it did make was amazing.
We once had to get photos taken in Mumbai. The shop had two guys working Photoshop to remove the dirt marks from the wall behind us. Why did they not just paint the wall ? Because the Photoshop artists were part of the service, so they could charge us for it.
You, sir, are going to put Photoshop wallahs out of work !
> We process them, and temporarily store the results so you can download them. After that (about an hour later) we delete your files. We do not share your images or use them for any other purpose than removing the background and letting you download the result.
Glad they respect your rights on the image and delete their temp files after a reasonable amount of time.
I am not even kidding. This is probably the first time I have seen a truly useful application of AI that automates a normally labor-intensive and menial task. Kudos!
Around 2008, one of my first jobs out of college was working as a photo retoucher for a retail fashion company. One of our main tasks was placing 3rd party product shots on a neutral background so that the photography would look consistent. I was pretty good with it and had a few tricks up my sleeve (Photoshop Actions FTW!) but it was still pretty time intensive.
Even back then, I was fearful of making a career out of that job. At worst, my company could have offshored a lot of that work rather than paying full time benefits in NYC. And while there were a few plugins back then, they weren't this good.
I'm fortunate I was able to move my career in another direction, but I did work with some amazing people who knew PS/photography inside and out. A part of me is sad that these skills are increasingly obsolete.
As someone who used to also work in this space, I don't really agree with the sentiment. The manual cutting part of the work was always the boring and mundane part and honestly I would've always appreciated better automation in that regard. Making the rote work automatic leaves you with more time to work on the creative aspects of the work, it doesn't make it obsolete.
I think they are using image segmentation with Deep Learning. The technique should be similar to this. Of course, there will be some traditional CV techniques as well.
I think many mobile device/camera apps have been doing this. The portrait feature where the background bokeh is artificially made is using a similar technique.
Thanks for doing this! This is an awesome app! I have a lot of pain trying to remove the background.
How long did it take to build this particular app?
The demos look awesome, but unfortunately it works neither in FF 64 nor Chromium 71 even without adblocker:
It keeps saying: "Removing background ..." and does not show an edited version of the uploaded image.
I used to work in VFX, where I did my fair share of pain and roto.(before moving to tech) Cutting out hair was my single biggest dread. However this appears to do a stella job automatically.
It's amazing that this can be done automatically, major kudos to the team. The breadth of what current AI can do is already astounding.
However, as someone who's been doing this kind of work professionally for decades, I find the demo results rather poor.
I have mixed feelings about what I think is a trend, such as fake software bokeh, for instance. Even though it makes pro techniques available to the masses, quality takes such a plunge that I fear we may not recover, setting the “good enough” bar way too low.
It would be so awesome if I could something like this at a much smaller scale in a darktable module for cleaning up images and for doing artistic types of portrait editing. Nice work!
> for performance reasons the output image is limited to 500 × 500 pixels. We are currently looking into ways to increase this limit (...)
Curious to see how this tool will evolve.
Already impressive, with many potential use cases: products, animals, photomontages.
Besides resolution, how the app will handle super thin elements like hair will be key.
A lot of tedious work is still required to cut out figures properly with Photoshop even though their selection tools got better over the years.
I guess for people wanting to get better resolution you could make a mask at 500x500 and then scale that up to your image size, add smoothing to the mask layer (or vectorise the mask edge) and apply to image of arbitrary size.
Computation time increases quadratically with image size, so we had to set some limit. For now that's 500x500 px but we are looking into ways to increase the limit!
Video: Possible, we tried this prototypically already, but it would need some more optimization for good results (e.g. to avoid flickering between frames).
For higher resolution you should seriously consider charging a subscription, or on a pay-for-credits basis. Many organizations, especially those with limited or highly-demanded in-house design talent (ranging from finance to marketing to funded startups), would absolutely justify this product at rates absurdly greater than server costs. Unlike Fivver talent manually tracing boundaries, this has near instant turnaround, and that is HUGE for people with deadlines and infinite Uber budgets who just need stock images combined together.
Just want to jump in on this - I spent a significant amount of time in the print ad design world and something like this would be an easily justified expense.
I do video effects work and I'd suggest this could be very useful even with jitter, if you allow expanding the selection. A lot of time is spent creating "garbage mattes" for green screen footage, basically just roughly rotoscoping out the background so you can do key removal on just the important bits. So you could even massively downsample the video for your processing and still have a good enough matte.
Although, with your tech, and the more limited problem space of green screens and poorly lit green screens, you could probably make a pretty amazing tool to do the entire green screen removal.
I uploaded a photo of myself as a kid with my sister and grandpa. Early 80's, a washed out photo, where the lines were less definitive. Had some issues with that image.
I'm pleasantly surprised with how well this works. It would be awesome if you added the ability to pick a second photo to provide a new background. Of course this isn't that hard to do on my own once I have the background removed, but saving another step would be great :)
Really impressive! as a photographer this is the most time consuming part of any edit. Just curious, are you doing this with photoshop or something more low level? Any technical write up would be fascinating to read!
The project utilizes CRF as RNN model to assign labels to pixels. The demo preserves pixels assigned to people while blacking out pixels associated with other labels. (Think of it as automating background removal around people)
I used to spend hours cutting "renders" of images a decade ago.. and while I found a few images that confused it, many worked with surprising effect! Color me impressed!
> We use sophisticated AI technology to detect foreground layers and separate them from the background.
You use "sophisticated AI technology"?
Why can't you write, that you trained a CNN and do some image postprocessing? This kind of voodoo-language turns me as a potential technical customer completely off.
Customers like you don't pay that good, that's why xD
Welcome to the world of marketing where you use phrases like this to attract customers who don't have a clue about what AI could be but the power to decide about money.