在图片中识别动物

时间:2016-10-05 15:22:34

标签: computer-vision real-time video-processing image-recognition

我正面临一个具有挑战性的问题。我工作的公司的庭院是一个相机陷阱,拍摄每一个动作的照片。在其中一些图片中,有不同种类的动物(主要是深灰色小鼠)会对我们的电缆系统造成损害。我的想法是使用一些可以识别图片上是否有灰色鼠标的应用程序。理想情况下是实时的。到目前为止,我们已经开发出一种解决方案,可以为每个动作发送警报但大多数警报都是错你能否提供一些关于如何解决问题的可能方法的信息?

2 个答案:

答案 0 :(得分:5)

用技术术语来说,上面描述的内容通常称为事件检测。我知道没有现成的方法可以同时解决所有这些问题,但是即使您不想编写任何计算机视觉算法或其他类似的算法,只需编写一点编程就可以设置。

高级管道将是:

  • 确保您的视频质量足够。灰鼠听起来有点硬朗,加上照片可能是在晚上拍摄的 - 所以你应该有足够的红外线照明等等。但如果一个人可以知道警报是假的还是真的,你应该没事。

  • 在移动时部署动作检测并拍摄快照图像。看起来你已经解决了这个问题,太棒了!细化您的设置可能会让其他人受益您可能还需要仅从图像中裁剪运动区域,您是否正在这样做?

  • 构建图片档案,包括您决定是否为虚假或真实警报(机器学习用语中的标签)。尝试为这两种情况收集至少几十个示例图像,并使它们代表真实世界的变化(你在白天也有问题吗?你所在的地区是否有降雪?)。

  • 对从视频流快照中获取的图像进行分类,以检查它是否为误报或包含吃电缆的坏生物。这听起来很难,但深度学习和机器学习正在飞速发展;你可以:

    • caffeTensorflow这样的框架中部署您自己的神经网络(但您可能需要很多示例,至少数万个我会说)
    • 使用可识别一般对象的图像分类API,如ClarifaiImagga - 如果幸运的话,它会注意到快照显示的是鼠标或松鼠(松鼠是否在电缆上咀嚼? ),但很可能在像这样的专业任务中,这些引擎会变得相当混乱!
    • 使用自定义图像分类API服务,这通常甚至更强大而不是滚动您自己的神经网络,因为它可以使用大量技巧来整理这些图像如果你只为每个图像类别提供少量示例(这里是假/真警报); vize.it的完美示例(任何人都可以提供更多此类服务?)

实时方面有点开放,因为神经网络需要一些时间来处理图像 - 您还需要在使用公共API时包含数据传输等,但是如果您推出自己的产品,则需要花费大量精力来获得低延迟,因为默认情况下框架是针对吞吐量进行优化的(预测)。一般来说,如果您对延迟时间很长并且上网速度很好,那么任何服务都应该没问题。

免责声明:我是vize.it的共同创作者之一。

答案 1 :(得分:0)

如何养猫?

此外,您可以使用IBM Watson Visual Recognition 服务训练自己的自定义分类器。 (演示:https://visual-recognition-demo.mybluemix.net/train)可以自由尝试,您只需要为要识别的不同类别提供示例图像。总的来说,彼得的答案非常好。