基于MCU的驱动视频监控系统的设计

描述

在视频监控方面,设计师及其客户长期以来一直被迫选择依赖“哑”大量图像捕获和存档的极其低效的系统,绝大部分记录的内容都没有兴趣,以及感兴趣的内容本身太难以在档案中找到,假设它已被存档。然而,现在,功能强大,高能效且经济高效的处理器,图像传感器和存储设备与日益复杂的软件相结合,为系统开发人员提供了将宝贵的计算机视觉处理功能整合到从消费者监控系统到可穿戴的“生命博客”摄像机。

智能的,事件驱动的视频监控仅在人或其他感兴趣的物体进入框架时记录图像,并且仅在物体保留的情况下记录图像。框架。这种自主智能可能历史上只能用于政府,军队和其他高端客户使用的昂贵,笨重,耗电的设备,现在它可以以消费者友好的价格提供,电池寿命长,并且形式因素小而轻,足以美观地坐在架子上。

您如何利用当今的视觉处理硬件和软件所带来的潜力?以下是基于消费者监控系统案例研究的一些想法:

基本设计可能会在帧中感知到运动并且持续一段固定时间时开始记录。稍微更精细的方法是可变长度记录,直到看到物体运动停止和/或物体从框架中消失为止。

然而,这种方法可能产生大量“误报” “由吹叶子,经过的车辆等引起的。因此,如果温血动物是唯一感兴趣的物体,您可能需要使用红外探测器或其他热传感器来补充可见光摄像机。更一般地说,可用的算法可以让你微调你的对象“触发器”的大小,颜色,距离,移动速率和其他阈值参数。

如果你所关心的人都知道怎么办?面部检测功能可以在这方面提供帮助。你可能甚至有兴趣在一个人进入框架时触发相机...除非那个人是你自己,你的配偶,你的孩子,邮递员等等。为此,你需要更强大的面部识别设施。

OpenCV计算机视觉库

该项目通常以其软件定义和开发计划(并从根本上受其约束)开始。在过去的几十年中,计算机视觉主要是一个学术研究领域;因此,在这个特定领域还没有一个庞大,成熟的行业专业知识库。另外,学术实验往往不能广泛地应用于现实世界的实施,例如,环境照明和天气条件可以在不同的使用情况之间变化,并且偏离研究实验室中发现的更受控制的条件。

幸运的是,像往常一样,开源社区需要资源帮助。 OpenCV(开源计算机视觉)库起源于英特尔的研究部门;该公司在2000年CVPR(IEEE计算机视觉和模式识别,一个着名的计算机视觉会议)上正式将其交给公众。在上半年的测试版中,OpenCV在2006年获得了v1.0“黄金”地位,其次是三年后的v2.0和2015年中期的v3.0(v3.1是最新版本,截至去年12月) )。

OpenCV,根据BSD许可证发布,可免费用于学术和商业用途。它采用优化的C/C ++编写,具有C ++,C,Python和Java接口,支持Windows,Linux,Mac OS,iOS和Android操作系统。特别是对于这个特殊的监控摄像机项目,该库包含超过2,500种算法,包括可用于识别物体以及跟踪物体,以及检测和识别人脸以及对人类行为进行分类的算法。

Microchip Technology的PIC32MZ EF系列MCU

然而,值得一提的是使用OpenCV的一个潜在缺点。该库的以Intel和PC为中心的起源反映在其中包含的大部分基础代码都是基于浮点的事实中,这对于某些仅定点的嵌入式系统设计而言可能是有问题的。说实话,大多数计算机视觉功能甚至不需要浮点精度。因此,一些处理器供应商已经开发了部分或全部OpenCV库的体系结构定制版本,解决了代码的浮点到定点转换以及提供其他优化。但是,如果您自己坚持进行转换,那么这种努力可能会成本和时间过高。

Microchip的新型PIC32MZ EF MCU为OpenCV浮点问题提供了直接的替代解决方案(图1) )。其核心是高性能32位MIPS microAptive处理器,运行频率高达200 MHz,能够处理各种计算机视觉功能。此外,反映了48个成员产品系列中的“EF”后缀,Microchip还在整数CPU旁嵌了一个32位和64位IEEE 754兼容的七级FPU,能够运行浮点OpenCV代码不变

神经网络

图1:高性能CPU与32位和64位FPU协处理器的组合使Microchip的PIC32MZ EF MCU成为可能使用开源代码时引人注目的候选人。 (图片由Microchip Technology提供)

PIC32MZ EF的其他有用方面包括其集成的10/100 Mbit以太网MAC和一系列系统接口(各种类型和数量在某种程度上取决于封装和引脚排列...... MCU系列有多种选择) 。 MAC与外部PHY相结合,可直接支持监控摄像机的网络连接需求(如果有线以太网是您选择的网络技术),或通过外部有线到无线以太网桥间接支持。或者,您可以通过连接到PIC32MZ EF USB 2.0或其他接口端口的外部收发器实现无线蜂窝和/或以太网连接。

图像传感器替代方案

前面提到的MCU接口分集不仅有利于提供网络连接的多样性,而且有利于图像传感器的灵活性。将摄像机连接到PIC32MZ EF的一种简单方法是在设计中集成OmniVision Technologies OVM7690 VGA分辨率摄像机模块,通过8位I/O端口连接到MCU(图2)。这种方法有利于几个关键原因;例如,OVM7690已经包含64°视场(对角线),F/3.0镜头形式的晶圆级光学元件,因此您无需在设计中添加单独的光学子系统。此外,OVM7690嵌入了专用的图像处理器,从而减轻了PIC32MZ EF的图像预处理任务,例如去马赛克,重新缩放,格式转换和曝光控制。

神经网络

神经网络

图2:集成的相机模块简化设计(顶部),但它提供的图像虽然赏心悦目,但可能不太适合计算机视觉处理比传统图像传感器的未处理输出(底部)。 (图片分别由OmniVision Technologies和安森美半导体提供)

然而,存在可能的情况,可能迫使您使用传统的图像传感器,例如安森美半导体的VGA分辨率NOIL1SM0300A,结合您自己设计的镜头,并通过其SPI端口连接到PIC32MZ EF。首先,相反,人眼赏心悦目的图像可能被视为对计算机视觉处理算法有害。例如,由图像预处理器自动完成的边缘增强可能会导致使对象与其背景区分开来的任务变得复杂。自动曝光控制,白平衡和黑平衡,色彩校正以及通常由相机模块中内置的图像协处理器默认执行的类似任务也是如此。

例如,您可能还需要不同于传感器模块制造商提供的镜头焦距和/或光圈。然而,无论您使用集成摄像头模块还是独立图像传感器,您都可能会发现具有成本效益的VGA分辨率产品选项就足够了;有时,甚至更便宜的QVGA或CIF分辨率产品甚至都是你需要的。您可能需要在分辨率上超过3 M像素的唯一情况是,如果您试图辨别远处的物体,或者在特别差的环境观察条件下,这两种情况都会受益于更大的源图像细节。如果您的目标客户坚持观看“HD”视频,您也可以选择更高分辨率的图像传感器或相机,无论计算机视觉软件是否需要它。

本地大容量存储

回想一下,该项目的基本目标是仅在相机“看到”感兴趣的事件时记录视频,并且仅在该事件持续的时间内记录视频。在这样做时,该实现最小化了设计所需的闪存或其他存储技术所需的容量(更不用说在该过程中节省宝贵的电池寿命)。尽管如此,512 KB到2 MB的闪存,以及集成在各种PIC32MZ EF MCU系列成员中的128 KB到512 KB的RAM,可能足以满足非易失性代码存储和瞬态数据存储的需要,更高容量的外部存储用于视频剪辑本身仍然是必要的。

您可以随时使用独立的NAND闪存设备(或其中一些),当然,通过I/O总线与MCU配对。但是,您需要开发自己的媒体管理软件,以处理背景“垃圾收集”清理闪存擦除块,这些块已经填满了有效和/或退役的视频数据,例如,以及磨损等级媒体是为了防止某些擦除块与其他擦除块“过热”。此外,这种媒体管理需要由MCU本身处理,从而消耗宝贵的处理器周期,否则可能会用于计算机视觉处理和其他任务。

相反,请考虑使用闪存大容量存储解决方案其中包括自己的媒体管理控制器。选项包括可移动SD卡(以及更小的迷你SD和micro SD兄弟),以及美光科技的BGA封装的e.MMC NAND闪存;这两个选项都通过几个引脚的I/O总线连接到PIC32MZ EF MCU(图3)。根据捕获的帧分辨率,帧速率和压缩格式,例如,Micron的32 GByte e.MMC应该可以存储数十分钟到数小时的视频。此外,通过电子邮件,短信或其他提醒,您可以将新视频的捕获状态(以及可选地,与所有视频本身一起)传达给监控系统所有者;视频将保留在相机中,以供后续查看,存档和/或删除。

图3:带有集成媒体管理控制器的闪存大容量存储解决方案可以释放系统处理器来处理其他任务并简化软件开发工作。 (图片由Micron Technology提供)

结论

该项目描述无疑是无所不包的;例如,仍然需要添加AC/DC和DC步进电源子系统,您可能还需要包括麦克风和ADC,以便与图像一起记录音频。但是,它涵盖了设计的一些关键部分。每个算法越复杂,你组合的越多,你最有可能最终使PIC32MZ EF的CPU和FPU的处理能力过载。话虽如此,新的算法,如用于对象识别的新兴卷积神经网络“深度学习”技术(图4),以及现有算法的优化一直在出现。

神经网络

图4:卷积神经网络(CNN)和其他“深度学习”方法,一旦经过一系列参考图像的训练,已被证明可以在实质性处理和实际处理的权衡中提供令人印象深刻的物体识别结果。内存要求。 (图片由维基百科提供)

强烈建议在生产前进行大量现场测试;不可避免地,您将遇到在产品开发过程中未考虑的环境条件和使用场景,这将需要进行算法微调。除了实现细微差别之外,将运行开源软件(如OpenCV)的PIC32MZ EF MCU等经济高效的处理器与传感器或相机模块捕获的图像相结合,存储到驻留闪存并通过网络连接进行传输,各种有趣的应用:现有产品的增强和全新的产品类别。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分