在图片中识别动物

Luk*_*uby 4 real-time image-recognition video-processing computer-vision

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

Pet*_*dis 5

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

高级管道将是:

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

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

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

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

    • 在像caffeTensorflow这样的框架中部署你自己的神经网络(但你可能需要很多例子,至少我会说成千上万)
    • 使用识别一般物体的图像分类API,如ClarifaiImagga--如果幸运的话,它会注意到快照显示鼠标或松鼠(松鼠咀嚼电缆吗?),但很可能是在专门的任务上像这样,这些引擎会变得非常困惑!
    • 使用自定义图像分类API服务,它通常比滚动您自己的神经网络更强大,因为它可以使用大量技巧来整理这些图像,即使您只为每个图像类别提供了少量示例(false /真警报在这里); vize.it就是一个很好的例子(任何人都可以贡献更多这样的服务?).

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

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