代码之家  ›  专栏  ›  技术社区  ›  RobbR

判断照片中人的年龄的算法可行吗?

  •  36
  • RobbR  · 技术社区  · 16 年前

    我的朋友为一个非营利组织工作,该组织致力于阻止在Craigslist.org等网站上非法利用未成年人,Craigslist.org是一种更受欢迎的媒体。问题是,现在或不久的将来,是否有可能开发出一种算法来分析一个人的照片并返回他们相对年龄的预测。

    这听起来像一项艰巨的任务。我唯一的想法是某种贝叶斯概率系统。我知道,即使是人们也很难判断某人的年龄,但是贝叶斯垃圾邮件过滤器被宣传为“精确到人类的10倍”,所以这是可能的吗?

    但我相当缺乏经验。如果有人能建议这是否可行,如果可行,如何以及何时可行,我将不胜感激。

    编辑:感谢大家的回答。更重要的是,这项研究很有帮助,但我认为哈尔的解决方案目前是最实际的。

    18 回复  |  直到 16 年前
        1
  •  29
  •   Hal    16 年前

    这里有一个可能的(左场)解决方案。也许,您可以将其绑定到站点本身的某种验证码解决方案中。用其他新用户的图片提示新用户问题:“此人是否超过18岁?”确实,50%的成功率不是一个非常有效的验证码系统,但它是一个开始。

    再加上一些其他检查或重复检查,它就可以工作了。您可以向许多新用户显示图像,并将结果基于某个阈值。如果有8/10的人将某个形象标记为非未成年人,那么他们的年龄可能相当安全。

    但是,整个系统可以通过简单地上传别人的图片来规避,所以我不确定其中的任何一个有多有效。:)

        2
  •  14
  •   system PAUSE    16 年前
        3
  •  6
  •   brianegge    16 年前

    有可靠的算法来确定一张脸的吸引力。见 acm.org uni-regensburg.de . 想象一个可以预测年龄的算法不会太费劲。

    平滑度等特征可能与年龄有很强的相关性。不过,要想比你的普通卡尼更可靠可能需要付出很大的努力。

        4
  •  6
  •   James Anderson    16 年前

    我认为你需要法医人类学家(或者至少是解剖学家)的一些意见。

    身体的不同部位以不同的速度生长,所以可能会做一些事情,比如头和肩的大小,手臂的长度和身体的宽度。

    不幸的是,听起来他是在试图区分14岁和18岁。这仅仅是四年的差异,基因组成和章动的变化可能会使任何系统的准确率为+/-20%,对于这个年龄组来说,这相当于三年。

    另一方面,如果你有大量的照片样本,那么你可以用统计的方法来解释这些差异,并很好地了解一个网站是否可能利用未成年人系统化。

        5
  •  5
  •   Paul McMillan    16 年前

    你的问题的直接答案是,不,在不久的将来不会有这样的算法,而且如果没有强大的人工智能,很可能无法以任何精度实现。

    也就是说,一个实际的解决方案可能是亚马逊机械土耳其人:

    http://mturk.com

    在那里,你可以支付一点费用让真正的人为你完成一项任务。我可能会安排你的任务,让你付0.02美元让一个人一次估计5张脸的年龄。你可以与其他工人重复或三次检查你的结果,尤其是那些看起来接近你年龄限制的人。这可能是你唯一可行的解决方案,除了雇佣最低工资实习生手动审查所有提交。

        6
  •  4
  •   flybywire    16 年前

    使用机械土耳其

        7
  •  4
  •   Seth Moore    16 年前

    this study 他们通过分析面部几何结构和皱纹特征来尝试。问题是这会受到拍摄角度、灯光等的影响。

        8
  •  3
  •   recursive    16 年前

    从某种理论上讲,这是可能的。但就所有实际目的而言,目前这是不可能的。

        9
  •  2
  •   Spencer Ruport    16 年前

    我认为猛犸象是一种轻描淡写的说法。”“巨大的冰川”或“月亮”可能更合适。

    这并不是说它不值得去调查,但我觉得在你想出一些远程有用的东西之前,你会在这里待上几个小时。

        10
  •  1
  •   Kibbee    16 年前

    我不认为这是一台计算机所能做到的任何程度的精确性。人们甚至很难做到。我的意思是,你最近去过酒馆吗,他们应该向25岁以下的人(这里的饮酒年龄是19岁)索要身份证。显然有些 40 year olds 看起来不够老。仅仅通过看一个人的年龄来告诉他是一件很难做的事情。尤其是当你进入色情图片领域,他们试图让模特看起来比实际年龄年轻。

        11
  •  1
  •   Dominic Bou-Samra    16 年前

    我认为你在创作不同的构图时也会遇到困难。例如,一张脸上的角度,不同的灯光,以及背景,可能最重要的是…图像质量/分辨率。使用800x600图片比使用320x240要容易得多。算法只和主题一样好。

    我看不到这种方法(测量年龄的软件解决方案)非常有效。我喜欢用户标记图像的想法——人类可以比任何算法更有效地识别年龄。

        12
  •  1
  •   Rook    16 年前

    撇开实际的方法不谈,我建议现在不要试图朝这个方向发展任何东西。
    原因不多:
    1。猜测某人的年龄不是一项值得感激的任务
    2。人的生理“年龄”和“历法”年龄差别很大——我认识30岁的人,在买酒的时候还需要身份证,有些人还不到18岁,已经超过30岁了。
    三。有些人的长相不会随着时间的推移而改变,他们只是 那个 样子
    4。现在,每个人都在努力使自己看起来尽可能年轻,所以基本上,整个行业都在与你作对:(

    总之,长话短说,我认为目前还不可行。

        13
  •  1
  •   Martin Beckett    16 年前

    neural net 这是一个合理的方法,你需要一套培训的图片,与已知年龄的人和一点图像处理,以删除帽子等。

    编辑:问题已更改? 在闭路电视上,你可能会将某人分类为20-30或40-50,但你不会成为一个能辨别模特在照片中是17岁还是18岁的人。

        14
  •  1
  •   sebastiangeiger    16 年前

    就像图像分类中几乎所有的高级任务一样,这个主题仍在研究中。判断依据 this paper 这是可能的,但不平凡,也必须有很多(手动)注释的培训数据。如果不了解这个领域,并且没有图像处理经验,这项任务将花费您几个月的时间。

        15
  •  0
  •   mduvall    16 年前

    开发一种分类算法,该算法基于图片的许多值、面部区域内的深色像素数量(可能是皱纹)和头发颜色进行启发式分类。这些值应该位于任何轮廓式图片的常规区域内,如果您想成为一个花哨的人,用这些值携带权重,并开发一种能够快速搜索数十万个图像的游戏树,在特定年龄的值集内找到该图像在树中的“落下位置”。

        16
  •  0
  •   bobince    16 年前

    一些日本的自动售烟机就是这样做的。并非所有人都很好,但这可能无关紧要,因为正如哈尔所提到的,最简单的黑客只是使用 someone else's image

        17
  •  0
  •   Satbir    16 年前

    不可能什么都不是,只有付出的努力才会改变:

    我想如果你 针对一个特定功能 脸的

    你必须考虑多个因素,所以决定将躺在一个矩阵中,你必须提供多个东西,你将得到你的答案,我将列出一些特性:

    1)胡须(检测面部,现在检测面部胡须,帮助完全区分男性/女性 童子军

    2)头发

    3)皱纹

    4)面部尺寸

    5)面高宽比

    这将是一个艰巨的任务,但算法可以开发。

        18
  •  -1
  •   Alphaneo    16 年前

    到目前为止,这是有可能的90%的准确度。对。请参考以下链接。

    http://www.omron.com/r_d/coretech/vision/okao.html