SCI论文(www.lunwensci.com)
摘 要:基于 STM32F429 微控制器为主控单元,搭载实时性高、启动速度快、内核精简的实时操作系统 μC/OS-III,采 用 FatFS 文件系统实现对大容量数据存取管理。采用 COMS 数字摄像头 OV2640 采集图像,视觉处理算法 OpenCV 移植并改 进,对采集到的图像进行分析,判断画面是否出现入侵物体。发现入侵物体立即蜂鸣器报警,并将入侵画面保存到 SD 卡中。 系统根据 RTC 时间为基准,保证系统长期工作正常。
关键词:STM32 ,μC/OS-III ,智能监控 ,入侵检测 ,视觉分析
The Design of Intelligent Monitoring Image System Base on STM32
MA Wenjie
(North China Electric Power University, Beijing 100096)
【Abstract】: Based on STM32F429 microcontroller as the main control unit, equipped with real-time high-speed, fast start-up core real-time operating system μC/OS-III, using FatFS file system to achieve high-capacity data access management. The COMS digital camera OV2640 is used to collect images, the visual processing algorithm OpenCV is transplanted and improved, and the collected images are analyzed to determine whether there is an intrusion object. Found bursts of intruding objects immediately alarm, and the invasion of the screen is saved to the SD card. The system is based on the RTC time to ensure that the system works normally for a long time.
【Key words】: STM32;μC/OS-III;intelligent monitoring;intrusion detection;visual analysis
1 研究目的及意义
公共安全一直以来都是人们最为关心的重要问题, 随着信息化和计算机视觉快速发展,传统人工监控的方 法已经很难满足监控要求,因此智能监控成为公共安防 领域的核心技术之一。
目前国内图像系统基本使用处理器或者高性能 DSP、FPGA 做硬件加速,这些平台必须投入大量项目 预算,且存在开发周期漫长,售后保障维护费用高等问 题。使用 STM32 为控制处理核心做实际应用,由于微 控制器不断革新的性能,超低的功耗,最大程度降低开 发成本,实现一个处理器,控制整套系统。
2 数字图像处理
2.1 灰度处理
图像处理技术使用算法去除噪声,增强图像特征,提 取特征,而灰度处理通常为第一步。取灰度像素为 8 位,灰度图像即由黑到白的分布像素图像。本设计使用加权 平均法对 RGB 以不同的权值进行灰度分布。不同环境 不同系统应动态调整为不同权值,如式(1)所示权值 x、y、z 的和应为 1. 无特殊情况权值取 0.3、0.6、0.1 方便计算。
Gray = R × x + G × y + B × z (1)
2.2 图像滤波
由于视频摄像头采集、传输视频图像往往受椒盐噪 声、高斯噪声等各种干扰噪声影响,图像传感器工作时 也会受到内部元器件的噪声,感光元器件受热、受振同 样会产生噪声,去除噪声就成为图像处理的必要手段。
采用中值滤波 [1] 能滤掉噪声让图像真实,消除单独 的噪声点。算法去噪效果依赖于两个相关又完全分开的 要素域像素值。中值滤波的基本原理是把数字图像中某 点的值,用该点相邻域的中值代替,中值滤波基本算法如式(2)所示,num1-numn 为领域像素值。
2.3 图形阈值化处理
图像的二值化即阈值化,即图像只由两个像素(0 或 255)组成,整个图像看起来“非黑即白”,图像不再是 多级像素值。二值化后处理简单和数据量小。像素二值化变换公式如式(3)所示 :
经过灰度化处理后,阈值的设定通过灰度直方图中 像素的灰度集中区域选择。灰度图像直方图两个最大灰 度值中间的最小灰度值一般选作动态二值化阈值,也可 固定阈值。使用二值化变化算法后可以观察到背景和目 标运动物体已经基本分离。
2.4 形态学处理
膨胀与腐蚀是两个基本形态学处理,其作用相反。 腐蚀 [2] 主要收缩图像边界,消除图像中不相关像素、边 缘点,可分开两个图像连通域的物体。其具体公式如 式(4) 所示 :
E = X ⊗ B = {x, y | Bx, y ⊆ X} (4)
腐蚀后的图像为 E,腐蚀 X 的结构元素模板为 B, X 任一种由 0 或 1 像素组成的图形。在 B 中有一个中 心点,以中心点腐蚀。经过二值化后的图像像素集合为 X。用 B 来腐蚀原图像二值化后的图像 X 得到集合 E, E 是由 B 完全包括在 X 中时 B 的当前位置的集合。
模板 B 使其在 X 图像域拖动,当 B 的中心点移动 到与 X 图像上的某点(x, y)重合时,遍历模板内所有 像素,当素点对应相同的以(x, y)为中心的相同位置 的像素,将像素点(x,y)保留在 E 中,否则去掉。腐 蚀处理示收缩边界如图 1 所示。
膨胀主要连接图像缝隙,对图像边界点进行扩充, 膨胀边界点让图像完整,使物体和背景之间相互交融。
其具体公式如式(5)所示 :
S = X ⊕ B = {x, y | Bx, y ∩ X ≠∅} (5)
膨胀后的图像为 S, 膨胀 X 的结构元素模板为 B, 经过二值化后的图像像素集合为 X。
模板 B 使其在 X 图像域拖动,当 B 的中心点移到 X 图像上的某点(x, y)时,遍历模板内所有像素,当 有一个相同的像素点在模板 B 内的像素点与 X 图像存 在,将像素点保留(x, y)在 S 中,否则去掉。膨胀助 理连接缝隙如图 2 所示。
2.5 目标检测算法
帧差法 [3] 是目标检测算法的一种,指通过同一位置 像素点前后两帧图像的差分值作为目标运动像素点偏移 的根据。当同一范围域像素点前后两帧图像的差分值有 较大区别,标识该目标位置发现运动物体。如果同一范 围域像素点前后两帧图像的差分值很小几乎可以忽略。 同一范围域图像即可框出运动物体即目标对象。帧差法 需设置差分阈值,阈值的设定通过图像多帧图像学习, 我们也可以通过移植简单机器学习算法那样进行设定, 微妙变化的差分值影响动态阈值,方便计算也可固定阈 值。帧差法对适应动态场景的改变有较好的支持,通过 少量先验图像帧及跨度较短的提取帧,即可实现目标检 测,算法易于实现,处理运动幅度较大的物体检测效果 更优,对于场景光线变化的不敏感,有利于实时对运动目标监测。其具体公式如式(6)所示 :
3 硬件设计
3.1 STM32F429
作为 Cortex M3 市场的最大占有者, ST 公司在 2012 年底又推出了基于 ARM Cortex M4 内核更高性能的 STM32F429 系列, 主频 180MHz, 该芯片增加对 SDRAM 接口,支持强大的图像显示、处理引擎。由于其内部 RC 振荡器时钟频率精度较差,使用频率 25MHz 的有 源晶振作为主时钟源, 32.768kHz 的石英晶体谐振器作 为 RTC 时钟源,为系统提供稳定、可靠的时间。
3.2 OV2640 摄像头
OV2640 是 OV(OmniVision)公司生产的一颗 1/4 寸的 CMOS UXGA(1632×1232) 图像传感器。该体积小、工作电压低。通过 SCCB 总线控制,可以输出整 帧、子采样缩放和取窗口等方式完全控制图像质量、数 据格式和传输方式。
STM32F429 芯片拥有 DCMI 寄存器, 将 DCMI 管 脚连接到拥有 DCMI 摄像头,该接口用来接收高速图像 数据流。DCMI 接收到的摄像头数据在 DCMI_DR 寄存 器中通过 DMA 进行传输图像单片机指定地址缓冲区。
4 软件设计
4.1 μC/OS-III 任务管理
单片机系统通常不使用操作系统,但使用 μC/OS- III 这种实时系统可扩展、可固化、抢占式的实时内核, 能够最大程度管理程序运行,它管理的任务个数不受限 制。内核提供了现代实时内核所有功能,让监控系统不 在“裸奔”,例如资源管理、同步、内部通信。
首先调用 OSInit(&err); 初始化。需要创建一个主任 务,其他任务都在主任务中派生。在调用 OSTaskCreate 时一定要调用 OS_CRITICAL_ENTER(); 函数进入临界区。 创建任务完成以后调用 OS_CRITICAL_EXIT(); 函数退出 临界区。最后调用 OSStart(&err); 启动 μC/OS-III。
μC/OS-III 中允许一个任务运行一段时间后让出 CPU 的使用权,让拥有同优先级的下一任务运行。使用时间片 轮转调度的话我们需要使用 OSSchedRoundRobinCfg(); 函数。
4.2 FATFS 文件系统
单片机系统通常不使用文件系统,但对于监控系统图片的存储功能, FATFS[4] 作为一个完全免费开源文件 系统。它支持多种格式, 例如 exFAT、FATl2、FATl6 和 FAT32 等,文件系统分配不同缓冲区,支持不同存 储介质。
用户在应用层只需要懂得常规文件操作方式,例 如,常见文件操作函数,打开、关闭、读写等,再调用 FATFS 模块提供的函数接口即可。底层接口包括存储媒 介读、写接口(disk I/O), 具体函数是 disk_initialize、 disk_status、disk_read、disk_write、disk_ioctl 和 get_fattime 对以上 6 个函数硬件适配。
4.3 程序设计
程序流程主要为两个任务。一个任务作为图像处理 算法任务,负责将采集到的图像通过灰度处理、图像滤 波、阈值化处理、形态学处理、目标检查判断是否有运 动物体入侵,如果有发现入侵物体,锁定目标开启拍照 任务并进行报警直至入侵物体消失。当触发拍照任务, 立刻切换到拍照模式, 拍摄 1600×1200 最高画质相片 至 SD 卡。程序设计流程简要,保证单片机性能。
程序流程采用双任务的方式,将运动物体检测和拍 照两个任务独立,使程序高内聚,低耦合。具体程序流 程如图 3 所示。
5 实验结果
程序运行时可以观察串口或网口查看调试记录或者运行记录。我们可以看到程序初始化信息、SD 卡信息 以及我们对图片进行保存、删除操作时打印的信息。通过 SD 卡接到电脑我们可以看见入侵的图片。图像的处 理结果是与二值化的阈值和帧差灵敏度有关,所以对应 不同的环境,不同入侵物体,不同的光照条件,需要根 据实际情况调试参数以达到最佳效果。
6 结语
本文在借鉴前人研究的经验和教训的基础上,对运 动物体检查技术进行了由浅至深的模块化研究说明。系 统正常运行时,在摄像头正常照射范围内出现运动物 体,会自动报警并将当前画面实时地保存在 SD 卡中。 图像实际处理效果会受天气、光照、背景变化影响,算 法适用于固定场景摄影,达到最佳的识别效果。
参考文献
[1] 赵丽娜.智能监控系统中运动目标检测与跟踪算法的研究 [D].哈尔滨:哈尔滨理工大学,2014.
[2] 周芳.智能监控系统中运动目标识别技术的研究[D].武汉:武 汉科技大学,2011.
[3] 张叶.智能监控系统中目标检测算法的研究[D].成都:成都理 工大学,2015.
[4]李世奇,董浩斌,李荣生.基于FatFs文件系统的SD卡存储器 设计[J].测控技术,2011.30(12):79-81.
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!
文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jisuanjilunwen/52749.html