Show HN: Remove unwanted objects in photos simply by dragging boxes
cleanupphotos.com
cleanupphotos.com
Not too bad! Can definitely tell it's been edited, but for a quick removal it was painless.
For context: https://www.history.com/news/josef-stalin-great-purge-photo-...
Example URL:
https://cleanupphotos.com/cleanup/false/NUMBER_GOES_HERE
Response contents: Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.Turns out the Font family is specified as "Copperplate, Papyrus, fantasy" and my system didn't have any font that matched. Fixed it by installing the Impact font, as it matches "fantasy".
An image hosting site that cannot (errrrr, "cannot") display images. Imagine.
I can identify two steps:
- Identifying an approximate shape of background vs foreground to get something more precise than just a rectangle. What is it called? Just background detection?
- Actually filling-in the holes. I think this is called a diffusion task? Is that correct? ddg-ing around looks like diffusion is the name of the method rather than the actual task, but I can't find the name of the task.
I'm curious at whether some existing open models would be usable on smartphones to make an opensource app (or maybe there are already such apps I'm unaware of)
In general, diffusion isn’t a good way to do it, as diffusion fills in the missing hole with data with fewer small details than the surrounding area.
Modern smartphones are fast enough for implementations.
I made one of these back in the day. Also allowing positive selections gives the model a lot more information and gives the user more power. You can use that to easily remove gridlines and smudge marks in photos of drawings without having to select every little thing you want deleted, or similarly you can positively select the main subject and a bit of scenery, negatively select a few passers-by, and let the model remove a crowd. The key point is that it moves some of the training-time bias toward a runtime selection, allowing better results on a wider variety of tasks (at the cost of more clicks on photos the model understands with few removals happening).
Still: great work, OP!
Unfortunately both output images at thumbnail quality, so it's an academic exercise only and not anything actually useful.
Edit: saw matsemann's comment - I was using Firefox, where selecting areas and clicking remove did nothing. Tried Chrome and got the same result of progress bar and then broken image. Same result in Safari. All on MacOS.
Although perhaps the emotional implications of using "hug" are worth the unusual nature of the phrase.
Then why not release an offline version?
What 'computational resources' are needed here, a 2nd-gen GPU? I think this kind of object removal would be awesome if it were implemented as a Gimp plugin, and even if you needed to wait for a few seconds for the changes to apply. Gimp allows scripting in Python, which seems to be what most DL projects are using these days:
https://gimp.org/ https://docs.gimp.org/2.10/en/gimp-scripting.html
I am just skeptical of any website/backend-locked software that asks for my data these days -- for which we have Big Tech to thank for -- and this is not the first website-only project shared on HN.
We are working on more advanced backend to get a cleaner job done, sorry for the frustration. Thanks for trying it out and the valuable feedback!
This is valuable feedback, thank you!
If that is what people want to do with the tool is beyond your control but to showcase it in your example gets you on the hook for ill-intent.
I can think of two related topics:
* Export restriction on encryption (does not apply here)
* YouTube's content policy on hacking tutorials (not applicable here either, since this is not YouTube)
Given that this project is an alternative to Adobe's features, the latter may feel tempted to claim this is a tool intended for copyright circumvention.
[1]: https://commonsware.com/blog/2020/10/24/youtube-dl-avoiding-...
Particularly, inducement liability could be a real issue here.
In MGM v. Grokster, the Supreme Court unanimously said, "[O]ne who distributes a device with the object of promoting its use to infringe copyright, as shown by clear expression or other affirmative steps taken to foster infringement, is liable for the resulting acts of infringement by third parties."
You probably can't sue a knife maker because you killed someone with one of their knives. My knives usually cut vegetables and tofu, which is allowed as far as I know.
Similar here, but worse than the knife/tool analogy: when you rip a copyright CD the system gathers all the data on the CD to present in the interface but doesn't warn you about the copyright; it is designed to rip commercial, copyrighted music.
This process is automatic. Your browser will redirect to your requested content shortly.
Please allow up to 5 seconds…
Redirecting…
FOREVER.
Thanks for using this garbage service.
By 'traffic routing' do you mean CDN, or reverse-proxy or what? A single server with properly-configured client-side HTTP caching should do the trick for serving a static site.