自动模糊照片中人物的工具


11

我正在寻找一种轻松使照片上的人无法识别的方法。每当我在在线相册中放任何照片(通常是城市和风景)时,我都会首先使所有可识别的人都无法识别,因为我认为不公开陌生人的照片是礼貌的基本问题。

因此,我基本上想或多或少地执行Google对StreetView图片的操作。目前,我正在为每张照片手动执行此操作,方法是在Gimp中所有面孔周围绘制椭圆选择,然后在选择上使用模糊滤镜。

有没有一种工具可以让我一次单击或多或少地进行模糊处理?理想情况下,通过在第一步中向我显示所有可识别的面孔,然后让我取消选择我不想被模糊的面孔,可以吗?

(也可以将其他个人详细信息(例如汽车牌照)模糊掉,但是我的主要目标是找到这样一种模糊人脸的工具,因为人们经常出现在照片上,而清晰的车牌总数却很少此外,我正在寻找使人脸模糊的工具。像素化可能是一种后备方式,但它与图像的其余部分融合得并不好。

我已经在寻找这样的工具已有一段时间了,但是我发现的所有东西似乎都属于以下三类之一:

  • 它旨在在智能手机上运行,​​而不是在此应用程序之类的台式计算机上运行。
  • 它用于视频,如thisthis本文中的类似问题所示。
  • 它是基于Web的,因此需要将所有照片上传到某人的服务器进行处理,并且在编辑照片(例如使用此服务该编辑器)时需要互联网连接。

我正在专门寻找不需要Windows连接就可以在Windows和/或Ubuntu上运行的软件(例如,没有可以要求我上传所有照片进行处理的云工具)。免费工具会很好,但是付费工具总比没有工具要好。

Answers:


2

我从2010年开始为GIMP找到了人脸检测插件(不保证它仍然可以工作):

图片

否则,您可能必须推出自己的软件。在这种情况下,请参见以下链接:

面部检测软件
Microsoft Research Face SDK Beta
英特尔感知计算SDK

特别值得一提的是OpenCV。有关 使用python的示例,请参见检测面部,然后自动裁剪图片


1
不幸的是,我无法编译该插件。我安装了超出本文指示的软件包所需的一堆软件包,并更新了调用以cvHaarDetectObjects使其与当前(非向后兼容?)API匹配,并带有一个额外的参数,但是gcc现在在对的未定义引用上失败lrint
OR Mapper

lrint会“舍入到最接近的整数”,并定义为“ long int lrint(double x)”。应该很容易编码。
harrymc

我现在会接受这个答案,因为它是最有用的答案,而且看起来确实很有希望。不幸的是,SU的赏金系统没有给我足够的时间来充分尝试各种建议,以在赏金过期之前确定其最终用途…… 找到工作;-)换句话说,尽管我可能会添加一些,但还是要多谢稍后再进行其他说明。
OR Mapper

嗯 当我添加的定义时lrint,编译器会抱怨的定义冲突lrint,当我不添加定义时,编译器会抱怨lrint是未定义的引用。
或Mapper

找到有问题的定义,并基于它定义函数头。
harrymc

5

如果您对“需要一些组装”的解决方案感到满意,请尝试使用“ facedetect”(仅使用OpenCV)和ImageMagick。下页有一个示例:

http://www.thregr.org/~wavexx/hacks/facedetect/#blurring-faces-within-an-image

有关示例的几点注意事项:

  • 它使用像素化,但是您可以使用简单的“ -blur 0x100”轻松替换“ scale”运算符。
  • 在示例中,每个面孔都是独立处理的,这正是您所需要的:您可以在模糊处理之前使用“ display -crop GEOMETRY”显示面孔。使用“ zenity”或某些shell脚本,询问是否进行模糊处理相对简单。

但是,没有人脸检测软件能100%准确。您将同时得到误报和漏报。特别是,如果没有额外的培训,默认的OpenCV配置文件绝对不是市场上最好的。误报可以通过您所描述的方法轻松解决,但是遗漏是另一回事。不必手动查看所有照片可能不会为您节省很多时间。我想这取决于您的准确性要求。

要显示叠加的检测结果,请在图像样本上使用“ -o”标志,并查看检测率是否满足您的需求。


2

当前最好的答案似乎是:

https://github.com/openalpr/openalpr

不幸的是,这只是一个软件,仅用于检测。您需要将其集成到进行模糊处理的软件中。

我也有类似的需求,所以我可以尝试一下,但是我的编程技巧有点...生锈。

谷歌也有同样的问题。他们在这里发布了他们的研究,但未发布他们的代码:http : //static.googleusercontent.com/media/research.google.com/en//archive/papers/cbprivacy_iccv09.pdf


嗯,C ++不是我的核心语言,我目前没有时间进行实验,但是过了一段时间(几周?几个月?),我可能会考虑尝试进行实践。但是,从自述文件来看,这似乎仅用于牌照,而不是面部?
或Mapper

0

如果您更喜欢应用程序开发,则可以尝试使用Cloudinary的API。这是关于此的更多信息:http : //cloudinary.com/blog/automatic_face_blurring_in_images_made_easy

我找不到任何可以自动执行此操作的软件应用程序。可能有一些Photoshop或Gimp插件。


抱歉,我已经在自己的问题中链接到该文章,作为我想要的示例。我不想将照片上传到某些Web服务,因为传输需要很长时间,并且因为谁知道一旦在该公司的服务器上对照片进行处理,就会发生什么。如果没有独立的东西,我将继续寻找一些Gimp插件。
OR Mapper

@ORMapper:对不起,我必须跳过那个。让我们知道您是否找到任何应​​用程序。
亚历克斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.