Hi!
A bit of background/motivation: Sharing photos of protests can be an important part of the PR of political organizations. However, not everyone feels safe sharing their faces in connection to political organizing. That’s why usually, faces are pixellated, or people wear face covering masks (which might be illegal on protests in some juristictions). Pixellated/hidden faces are quite ugly to normies, though, which can reduce the effectiveness of the publication.
So I had this idea: What if instead of pixelating the faces, I run some CV software on the image and all the faces get swapped with the faces of Hedy Lamarr, Diego Luna, or JC Denton. I remember that Snapchat could do live faceswaps with the selfie cam ten years ago, so some desktop software like that shouldn’t be too hard to find in 2025, right? /j
Unfortunately, all the stuff I managed to find was some computer science projects in which you train some monster model with one hell of a dataset of each face you want to replace/emplace (which defeats the purpose of anonymizing political activists). Or some obnoxious AI startup which is waaaaay too busy sucking off Elon Musk and/or Sam Altman. I don’t want to give my money/data to some doomed AI startup which ends up selling our likenesses to the NSA.
TL;DR: Is there some kind of desktop software which detects faces in an image and swaps them with another face? It’s ok if there’s only a framework (as long as it’s not as bad as all the horrible OpenCV results you find in online tutorials).
You can do something like this easily using stable diffusion and inpainting. Look into comfyUI or the AI horde if you don’t have a GPU. You just mark a spot (a face) and ask the model to generate a face for you on that spot.
Thanks for the tip. I’d still prefer to run it locally (considering I want to protect identities… but I guess that you can paint over the faces with blobs and stable diffusion does the rest).
I’m honestly a bit baffled that it seemed so easy for snapchat 10 years ago and you can’t find this stuff in the frikkin Debian repos.
In my experience Linux repos don’t tend to include stuff like ComfyUI.
Thanks for the tip. I’d still prefer to run it locally (considering I want to protect identities… but I guess that you can paint over the faces with blobs and stable diffusion does the rest).
Them you can run it locally. You might be able to run it on RAM only but it will be very slow, but fort your use case it might be fine.
In my experience Linux repos don’t tend to include stuff like ComfyUI
What I meant is that I’m baffled that the tech from waaay back then isn’t more widely available by now (as widely available as “even the debian repos got a version of it”).
Them you can run it locally. You might be able to run it on RAM only but it will be very slow, but fort your use case it might be fine.
I could, but inswapper_128 seems ok to use for nou. Now I need to check if my org would be ok with that approach. 😬
aighte, if it doesn’t and you need a trusted GPU to use, lemme know and I can hook you up with mine.
That’s nice of you, thx!
You can also just literally edit in any mask you want on photos. E.g. Stephen St. [email protected] posted this candid of protestors on August 28th against the genocide in Gaza:
And he could have protected them more than Laurence B. Alexander did hiring saboteurs, e.g.:
But always be mindful about of authoritarians hiring saboteurs at any protest. Lemmy thread discussing this.
I was hoping for some more automated and clean looking solution. But thanks anyway.
What about just not taking pictures or video of faces?
If you want to do some PR that appeals to people that aren’t already on the left, then it’s sometimes unavoidable.
I remember not being on the left. I didn’t need to see faces to feel ways about stuff.
Especially if both sides are fucking masked!
Especially if both sides are fucking masked!
I’m not talking about the current situation in the US. I’m talking about e.g. protest in Europe which aren’t necessarily as heated up as the protests in LA right now. That might have not come across, sorry.
It’s just more friendly to non-radicalised folks if the sharepic of the local union don’t show up in balaclavas.
Still, i remember before i was quite so radical, and i don’t think that would have been true for me?
That’s good for you, butedoesn’t apply to everyone.
Okay, but if we’re speaking for people who are presumably neither of us, then that’s my best tool.
What did you think, when you first saw masked protestors?
I’m not really interested in this kind of discussion. I was asking for a tool, not for a discussion of wether or not to use that tool.
No
I found a github repo which uses insightface to do the exact job I wanted. I needed to fix the code a bit, but I managed to faceswap the crew of Star Trek TNG on the faces of these protestors who I found on a image search engine:
Bonus - Diego Luna on some stock image:
GL🖖 on your AI
slopproject!🤭😉 It missed a few spots!Where exactly? I couldn’t find any missed faces.
I think leaving hair and other features makes it a poor anonymizing tool. The faces may have been altered, but there’s still information that can be used my motivated actors to correlate identities.
apparel, keepsakes, skeletal structures, gait, stylometry/graphy, etc.
Even the SIM & IMEI/ESN owners in this picture can be precisely tracked by geolocation of the time the picture was taken, since we know the date&hour of when the protest took place.
True. But depending on how much you pixellate that, those features are still commonlyseen when the faces are blurred.
of hand
Those are faceswapped. (Which shows how effective this is ;)
Check it with the original.
I did… Are you colorblind? I used purple to signify errors.
But those faces were swapped. (E.g.: that’s whoppie Goldberg to the far left)