我正在寻找的是具有计算机视觉经验的人的建议,这些方法或算法最适合这个特定问题.我是一名经验丰富的程序员(主要是.NET),但我对计算机视觉几乎一无所知,我想节省时间.
我更喜欢不需要大型训练集的算法.
我想要检测的内容:
鲜明的色彩,锐利的边缘,缺乏渐变,噪音极小.
我设想最终的结果是像Picasa或Windows Live Gallery那样 - 我在一些图像中标记了一匹小马,程序发现其他图像包含相同的小马.
漫画家在他们的绘画作品中获得了特别强大的许可证,与未经修饰的照片相比 因此,试图通过颜色来识别Pinkie Pie并没有在她陷入大桶黑漆的框架中做很多好事.或者你可能认为你可以通过她的号角来识别Rarity,但考虑一下她希望自己可以成为一匹普通小马的那一集......但是在失去她的号角后,她学到了关于成为自己的一课.
真正.如此真实.
这意味着取决于您在此处尝试做什么以及它的规模,为众包系统提供接口可能是有意义的.如果您还没有看过白色手套项目,您可能会从中找到一些灵感:
http://whiteglovetracking.com/
但它不必全部是自动的或手动的.您可以使用多种技术组合,并在存在不确定性阈值时引入人工编辑器.
至于设计一个启发式,似乎开始了解小马的位置是为了寻找眼睛.从搜索"小马形状的东西"开始可能是一个失败的原因...特别是如果这些是可能有近距离的卡通帧.事实上,只看你的例子,独角兽只是一个头!
我建议的下一步是在眼睛周围的某个半径范围内寻找与头发和身体相匹配的颜色块.我收藏的所有My Little Ponies都有独特的头发和身体颜色,等等......我的意思是我不知道My Little Pony角色是否有独特的颜色组合!但他们可能会这样做.
一旦你直观了小马的颜色指纹,你就可以进一步搜索并可能通过使用类似洪水填充算法的东西得到一个边界框,假设小马是没有洞的单个多边形.再一次,眼睛可以让你很好地了解小马在画面中的大小,但漫画家们可以随时打破这种期望.再加上小马闭上眼睛或眨眼等等,所以你在这里做的任何事情都需要审查.
(注意:如果你有一个完整的视频流,你可以想象使用帧间分析来解决眨眼问题.更一般地说,小马可能是大多数静态帧中"动画最多"的东西. - 这可能会增强你对启发式找到它们的信心.)
但无论你选择做什么......记住友谊是魔术 - 图像识别也是如此!