It’s really tedious to do it manually and something like OpenCV shines.
We found a repo [1] with python code that automatically detects and blurs faces. This script was one of many, except it had a very high accuracy. Over 90%.
Removing exif data is a great idea.
[1] github.com/telesoho/faceblur
Perhaps it’s better to remove the section of photo with a person’s face instead? Or draw a shape over their face and flatten the image? It seems to me as long as the pixels are there the identifying data is there for anyone willing to spend the time and effort to find it.
Edit: Apparently it was interpol, not the US government. I can't find the reddit thread but here's a NYT article with the photo: https://thelede.blogs.nytimes.com/2007/10/08/interpol-untwir...
I would pixelate the faces to be just 4x4 giant pixels. It destroys nearly as much information as blacking them out while still not disrupting the image too much
The short explanation is blurs are kernels that spread a pixel's value across other pixels, so knowing this, you can treat blurred pixel values as a system of equations to solve.