While, arguably, the legs are part of Zuckerberg, it is an unusual pose and instead the AI picked the subject in a way that is totally suited for inclusion against another background (for example a montage of various founders). The outline it chose looks great.
It's a pleasing result that shows the power of AI.
I was going to say that I like the MediaPipe Selfie Segmentation model for doing this sort of thing in a web page, but I've just noticed (when getting the GitHub link[1]) that Google have marked the code as legacy[2] ... no idea if the new solution is better/easier to use[3].
Mediapipe is such a mess (but so useful). I wish someone would just extract the main tflite models and make a light wrapper around it on GitHub somewhere
Encouraging users to run some random binary from GitHub is a really good way to spread all kinds of viruses. People should only run binaries from trusted sources.
You're totally right, it's just as bad, maybe even worse because build tools sometimes ask for admin permissions. People should ideally really on some kind of reputation system or get software from trusted vendors.
This is more than entitled behavior, it’s downright harmful.
When (not if, when) binaries get trojanned, this causes blame to be directed at the original author, and takes a lot of work to explain that they are not at fault - this has happened in many supposedly reputable download sites including SourceForge, TUCOwS, Download.com and many others (yes, I haven’t used windows in 20 years or so, no idea what the hip new places are)
Say “thank you”, and spend 10 more minutes yourself to set it up (even if compilation takes 5 hours, it’s usually 10 mins to get it started). And then offer it for others, and handle the ricochets when it gets trojanned with no wrong done by you.
If just 20 people adopted such a process, there would be 98% less complaints of this kind.
Trojaned installers by download.com were rampant back in the day. They would take your program and wrap it up in a nice little installer wizard and then also stuff a bunch of adware and spyware in there with it
I don't understand what's the harm of having a releases page with a binary and its md5 hash, or how that keeps anyone from just compiling an unofficial binary themselves and adding malware to it.
Anyone not technical enough to compile a binary has to give up trying to use it or risk some unnoficially distributed executable .
But not on the official page, right? And there's nothing stopping someone from doing that now is there? I don't see how the original authors providing binaries is less secure than anything else.
Sure, but what does that have to do with distributing binaries off Github? Maybe if Bonzie Buddy and IE6 make a comeback but I don't see that happening.
A checksum can be falsified as easily as a binary, and so can a signature. Only if you participate in a web or trust are you theoretically better off... but most people don't, so all such measures do is give a false sense of security.
I've not tried it with AI projects, but pyinstaller does a usually pretty solid job of packing up most python projects, and it's pretty simple to get started with.
I've packaged various AI/ML/PyTorch/TensorFlow things with PyInstaller in the past. It took some hours of initial work, but the result was good. Things might be easier now.
I am not a python dev and testing AI stuff in Python made me hate python ecosystem (not the language ) a lot. All this new AI projects are made by enthusiaste, they depend on a specific CUDA version, a specific A,B,D python lib versions. Very often shit does not work anymore and you need to google and hope other person was unlucky before you and posted some commit version of the stuff that still works.
My advice for people that test AI stuff, after you get it working do not update, try if possible to install the new version side by side and see if it works, it saves you the pain to roll back to a good version.
If you're going to use something that needs a bit of technical skill to operate correctly, you're going to need at least enough skill to get it running.
Roads would be far safer if every car had some facility by which you had to remove and refit some random engine or braking system component correctly before it would start.
Besides what beagle3 wrote: Providing binaries for various platforms is more work than you might think and the people who like to do development work are rarely the same people that like packaging and distribution. That's why developer and maintainer are separate persons more often than not.
My problem is the assumption by authors that the project being installed is the only one on the machine, and the fact that projects get so tied to particular versions of libraries. Therefore installing the PyTorch specified in this version is likely to be injurious to other existing installations, unless you handle it all in a Conda wrapper.
I do realize it's not the same at all, but Pixelmator for Mac is a great little image editor that has "Remove background" and more AI-powered features, such as smart up-scaling.
Nope. This works on any old picture you can view. Just as the text highlight in a picture is also os wide. Just background AI processing. It’s very neato
I don't remember the steps, but its either in a menu or you can press and hold the foreground object to make a "cut out" of it and paste it in a different app. https://youtu.be/qX82kIaRNKA?t=15
Once you run out of free "credits", they give you a tiny image and you have to pay to get more for for full-res. For a while that was all I had as far as AI bg removal goes and it was quite frustrating.
Chucked this into a Dockerfile, and had a play with it. (Takes a while for torch to download, had to set the pip default-timeout higher)
Seems to work pretty well, there were some images I had where it left a bit of a blur around hair, but overall it worked pretty well on most of the ones I tried!
Chucked in imagemagik as well to do some trimming/colour manipulation - works pretty nicely
Author of project here. Waking up and seeing my project on the front of HN blew me away, thank you everyone. I will go ahead and update the about us on the page on the website.
I am a painter who has collaborated with computer vision engineers on style transfer between paintings (aesthetic exemplars) and photographs. One of the things that distinguishes a painter from a camera operator is their depth aware organisation of colour contrasts. I use plural as there are many forms of colour contrast. I believe that effective Foreground-background separation has greatly underestimated potential to impact the future of the photographically acquired image. More power to you sir.
FYI... the golden value in FG.BG separation is the single pixel bleed between the two. Unless the new background is of the same value as the old, then this would show up as a light or a dark fringe. At erode filter can remove this in hard-edged objects, but an erode would destroy fuzzy objects like hair. This is why compositors often separate soft and hard selections.
This project looks promising!
Your pricing is also attractive, at about half of Unscreen's API. Plus you're open source which is another bonus point.
However, your pricing structure is confusing to me: what does "commercial license for 10" mean when pricing for developers? If we want to integrate your tool in an app, then we would need to have commercial licenses for all generated content, in order to pass that on to the end user. Can you clarify that point?
Also, your outputs all seem to have all-white backgrounds. Would it be possible to specify an image or hex color code that would be used as the new background?
You assume that the new one would replace the original.
It’s digital, both would exist. This simply makes it easier to do something people have done manually since the invention of the photograph, or even prior with print.
It’s the equivalent of scissors or a razor blade but automated. It’s not even the first ML based solution, and doesn’t do anything that we don’t already do every day for advertising or film.
It's not about the possibility but the ease of use.
ChatGPT doesn't do something new too, text were written before, but know it easier and faster for more people.
This is good. Remove.bg is pretty much the gold standard of background removal services due to it's nearly flawless detection of lines separating foreground from the background. But it is a paid service, there are other 2 free services that I have used occasionally when I have needed to remove background which allow download of full sized image after removing the background.
Adobe is by the best for free services which allows downloading full size transparent image. I compared your tool with the other 3. The results can be seen at https://i.imgur.com/RQT28yp.jpg
I will download this and try to build myself. Thanks for making it open source.
Are you trying to just cut out the person with those? Looks like adobe and remove.bg do the best on getting a good selection (edges) but OP's tool does best on selecting just the person.
I am just comparing default output from each tool. OP's tool asks for what object to detect and keep, I had selected human so I guess that's why it only kept the person. But yes, my intention was to keep just the person. For this photo, I would go with Adobe because OP's tool adds a halo like outline all around the person. It would differ from photo to photo I think.
95 comments
[ 2.7 ms ] story [ 145 ms ] threadSide note, I checked your website and the about page is empty
https://backgroundremoverai.com/about/
But then somehow it was removed.
https://BackgroundRemoverAI.com
Uploaded this photo:
https://ibb.co/9bv0662
Selected the option to remove all background elements and nearly instantly got this result:
https://ibb.co/WfFsbqW
While, arguably, the legs are part of Zuckerberg, it is an unusual pose and instead the AI picked the subject in a way that is totally suited for inclusion against another background (for example a montage of various founders). The outline it chose looks great.
It's a pleasing result that shows the power of AI.
For what it's worth, my CodePen using the old model is here: https://codepen.io/kaliedarik/pen/PopBxBM
[1] - https://github.com/google/mediapipe/blob/master/docs/solutio...
[2] - "Attention: Thank you for your interest in MediaPipe Solutions. As of April 4, 2023, this solution was upgraded to a new MediaPipe Solution."
[3] - https://developers.google.com/mediapipe/solutions/vision/ima...
Me and 99% of users won't check the code for malicious behaviour so I might as well run a binary from the web.
All of these, along with those package managers have had malware posted to them.
When (not if, when) binaries get trojanned, this causes blame to be directed at the original author, and takes a lot of work to explain that they are not at fault - this has happened in many supposedly reputable download sites including SourceForge, TUCOwS, Download.com and many others (yes, I haven’t used windows in 20 years or so, no idea what the hip new places are)
Say “thank you”, and spend 10 more minutes yourself to set it up (even if compilation takes 5 hours, it’s usually 10 mins to get it started). And then offer it for others, and handle the ricochets when it gets trojanned with no wrong done by you.
If just 20 people adopted such a process, there would be 98% less complaints of this kind.
Genuinely curious.
Anyone not technical enough to compile a binary has to give up trying to use it or risk some unnoficially distributed executable .
Not to mention that the md5 checksum is a very poor choice for this purpose because of the ease of creating md5 collisions.
That's the whole point of using a cryptographic signature backed by a web of trust instead of a mere hash.
Okay so if 20 people did the same work over and over it would reduce 98% of the complaints.
Contrast that to if the author did the work once, it would reduce 100% of the complaints!
Do they owe you anything?
I am not a python dev and testing AI stuff in Python made me hate python ecosystem (not the language ) a lot. All this new AI projects are made by enthusiaste, they depend on a specific CUDA version, a specific A,B,D python lib versions. Very often shit does not work anymore and you need to google and hope other person was unlucky before you and posted some commit version of the stuff that still works.
My advice for people that test AI stuff, after you get it working do not update, try if possible to install the new version side by side and see if it works, it saves you the pain to roll back to a good version.
If you're going to use something that needs a bit of technical skill to operate correctly, you're going to need at least enough skill to get it running.
Roads would be far safer if every car had some facility by which you had to remove and refit some random engine or braking system component correctly before it would start.
https://www.pixelmator.com/
The Lock Screen on iOS , safari, photos, keynote, shortcuts etc…
I don’t think there’s API access though which would be really handy.
I don't remember the steps, but its either in a menu or you can press and hold the foreground object to make a "cut out" of it and paste it in a different app. https://youtu.be/qX82kIaRNKA?t=15
At least https://baseline.is/tools/background-remover/ is free, but not open-source either.
Would be happy to learn of an alternative!
Seems to work pretty well, there were some images I had where it left a bit of a blur around hair, but overall it worked pretty well on most of the ones I tried!
Chucked in imagemagik as well to do some trimming/colour manipulation - works pretty nicely
https://gist.github.com/benperiton/2d37ea18377a80f9b9768522d...
However, your pricing structure is confusing to me: what does "commercial license for 10" mean when pricing for developers? If we want to integrate your tool in an app, then we would need to have commercial licenses for all generated content, in order to pass that on to the end user. Can you clarify that point?
Also, your outputs all seem to have all-white backgrounds. Would it be possible to specify an image or hex color code that would be used as the new background?
The easiest one to get started with is probably Real-ESRGAN: https://github.com/xinntao/Real-ESRGAN
It’s digital, both would exist. This simply makes it easier to do something people have done manually since the invention of the photograph, or even prior with print.
It’s the equivalent of scissors or a razor blade but automated. It’s not even the first ML based solution, and doesn’t do anything that we don’t already do every day for advertising or film.
You assume that people keep photos they don't want, especially if they show "flaws" they don't like.
You’re making an appeal to “authenticity” that hasn’t been true for probably longer than any of us on here have been alive.
The video I tried couldn’t be played or downloaded.
[1] https://en.wikipedia.org/wiki/Hand-in-waistcoat
https://www.inpixio.com/remove-background/
https://express.adobe.com/tools/remove-background
Adobe is by the best for free services which allows downloading full size transparent image. I compared your tool with the other 3. The results can be seen at https://i.imgur.com/RQT28yp.jpg
I will download this and try to build myself. Thanks for making it open source.
(I'm joking, of course).