机器人视觉的电梯轿厢门状态识别系统

2018-04-11 09:13
单片机与嵌入式系统应用 2018年4期
关键词:电梯门轿厢电梯

(1.福州大学 物理与信息工程学院,福州 350108;2.福建师范大学)

引 言

随着中国经济的快速发展和国家新型城镇化规划(2014~2020年)的计划,高层建筑的普及变成不可避免的事,因为电梯具有快捷、省力、相对安全的特点,电梯作为必要垂直运输工具,得到了大量的应用。过去十年间,国内电梯拥有数总量持续增长,据国家质量监督检验检疫总局数据,截至2016年底,全国在用电梯总量达到493.69万台[1]。电梯的安全问题一直是人民密切关心的问题,电梯一旦出现事故,致死的概率高达70%。然而在电梯运行中,电梯轿厢门的开关是不可避免的,所以其可靠性是评价电梯安全性能的关键因素[2-3]。根据国家质量监督检验检疫总局的统计,在电梯的伤害事故中,超过80%是由于电梯轿厢门的故障导致的。减少电梯事故对人们在日常生活中的伤害,确保电梯轿厢门的安全可靠性,一直是电梯运维、电梯发展过程中一个重要的课题。

目前传统的监控方式分为人工监督和通过触发传感器监控,人工监视阶段对视频图像信息的处理也仅仅停留在获取显示阶段,没有对图像进行智能化处理,以便更轻易地获取现场信息。成人的注意力仅仅能高度集中20分钟左右,20分钟后人们的注意力就会显著降低,监控人员不可能一直保持警戒状态,而且反应速度慢,不能有效避免事故的发生。传感器触发的方式导致电梯控制系统结构复杂,传感器安装麻烦,而且反应速度慢、分辨率低。

现在电梯轿厢内摄像头变成了一个必备的设备,电梯轿厢内的监控视频图像可以很容易获取,不需要额外的传感器,因此选择以视频图像处理为基础,通过计算机视觉来实现电梯轿厢门状态的识别。

因此设计一套具有实时智能识别视频监控电梯门状态且安装便利的设备变成了重要课题。综上所述,采用Cortex-A9处理器作为整个系统的硬件处理器核心,通过在ARM-Linux中移植OpenCV作为系统的软件处理核心,通过基于Hough线变换算法来作为电梯轿厢门状态识别系统的核心算法[4]。

1 人数检测系统总体设计

系统采用USB摄像头加高性能的ARM作为整个系统的硬件架构。在ARM_Linux系统上移植OpenCV,基于V4L2通过USB摄像头采集视频图像,结合基于计算机视觉的门状态识别算法,在ARM上实现电梯轿厢门状态识别。系统总体设计方案如图1所示,系统由硬件层、操作系统层、应用软件层三部分组成。

图1 系统总体设计方案图

① 硬件层部分:Exynos4412核心板作为电梯门状态智能识别系统的控制处理中心,智能监控系统的硬件平台总体框图如图2所示。

图2 系统硬件平台总体框图

② 操作系统层部分:操作系统部分选择以U-Boot为基础的BootLoader,使用Yaffs的文件系统,Linux选择3.0.8版本的内核。

③ 应用软件层部分:OpenCV结合相应算法编写应用程序,实现电梯门状态的智能识别。

2 系统开发平台的搭建与图像采集

2.1 系统开发平台的搭建

(1)BootLoader制作

BootLoader用于引导操作系统内核,为系统的启动进行硬件初始化、分配内存空间和系统配置等工作。BootLoader的移植过程分为4步:①解压下载的u-boot.tat.bz2文件;②修改编译脚本、添加Exynos4412的平台信息;③选择交叉编译和编译需要的文件;④执行编译,生成u-boot.bin文件。

(2)Linux内核移植

本系统选择Linux3.0.8作为系统的内核,移植分为三大步骤:①下载Linux-3.0.8-20111118.tar.gz源代码并解压安装;②清除原有配置与中间无效积累的文件;③配置和编译内核下命令解压,配置主要包括:选择Linux开发平台为ARM、修改NandFlash分区表、修改内核配置文件等。

(3)根文件系统移植

选择Yaffs作为轿厢人数检测系统的文件系统,Yaffs具有高效性易移植,且为专门针对嵌入式系统设计的文件系统。文件系统移植过程分为4步:①创建目录;②创建设备文件;③加入配置文件;④添加内核模块。

(4)OpenCV移植

OpenCV的全称是Open Source Computer Vision Library,OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS 操作系统上[5],OpenCV内部主要由C/C++实现。OpenCV在ARM上移植主要分为以下几个步骤:①下载opencv-3.1.0.zip,解压后进入解压目录;②编写Makefile配置相应信息;③选择编译器为交叉编译工具链,C和C++编译器分别对应arm-arago-linux-gnueabi-gcc和arm-arago-linux-gnueabi-g++;④设置交叉编译工具链的根目录,用于查找需要的头文件和库。

2.2 基于V4L2的电梯轿厢内视频捕抓

V4L2是针对UVC免驱USB设备的编程框架[6],主要用来辅助USB摄像头采集视频图像等,图像的采集过程分为打开设备、设置视频的制式和帧格式、分配缓冲区及物理内存、读取数据、处理数据、关闭设备等步骤,函数编程的模式如图3所示。

图3 基于V4L2的电梯轿厢内图像采集过程

3 基于Hough线变换的电梯门状态识别

电梯门状态识别系统是通过Exynos4412驱动USB摄像头,借助V4L2采集轿厢内图像信息,获取一帧图像,在ARM-Linux系统上对图像完成预处理,预处理包括:灰度化、图像去噪声,将通过预处理之后的图像进行边缘检测获取边缘图像,为了得到更好的边缘效果,对获取的边缘图像进行膨胀处理,最后通过基于Hough的电梯门状态识别算法获得电梯门的开关状态,门状态识别系统总体流程如图4所示。

图4 门状态识别系统总体流程

通过比较电梯轿厢关门和打开的状态,可以发现,电梯关闭状态下左右两扇电梯轿厢门会形成一条为直线的门缝,如图5红色框所示,两扇电梯门关闭形成的门缝。电梯门形成的门缝具有直线特性,通过图像中特定的区域范围判断是否有超过特定长度的直线,从而判断门的开关状态,因此电梯门状态可通过判断图像中固定区域检测到直线的长度来实现。Hough线变换可以有效避免图像中一些特征点遮挡现象的干扰,具有很好的容错性和鲁棒性,所以采用基于Hough线变换来作为电梯门状态识别的核心算法。

图5 电梯轿箱内开关门状态图片

3.1 电梯门状态识别算法原理分析

Hough变换是一种使用表决原理的参数估计技术[7],基本思想是借助图像空间和Hough参数空间的点与线之间对偶的关系,在一个参数空间中通过累积器使用一个符合预先设定的阈值得到一个符合该特定形状的集合作为霍夫变换结果。

直角坐标系中直线L的方程为:

y=kx+b

(1)

用极坐标表示为:

r=x cos θ+y sinθ

(2)

式中,r为原点O到直线L的距离,θ为垂线与x轴之间的夹角,在直角坐标系中,xy平面的任意一条直线对应极坐标系中的的一条曲线。Hough线变换的本质就是点与线之间的对应关系,直角坐标系中的任意一条直线对应极坐标系中的一个点,直角坐标系的一点对应极坐标系中的一条曲线。

电梯闭合时,门缝具有直线特性,本文提出基于Hough线变换的电梯门状态识别算法,检测出电梯关门状态下形成的门缝,并计算检测直线的长度,分析出直线长度和开关门状态的关系。电梯开关门,门缝必定是出现在图像中间的固定区域,在对图像的Hough变换值进行搜索时,只需要在特定的固定区域进行搜索,可以减少搜索量,提高效率。

3.2 电梯门状态识别算法具体实现过程

电梯门状态识别算法具体实现步骤如下:

① 图像去噪:因为采集的过程中一定会受到噪声的影响,本文通过图像平滑来减少噪声对采集图像质量的影响,选择采用5×5方形窗口的中值滤波器去除图像噪声,在图像去噪声的同时又保存了图像中大部分细节信息。

② 运用Canny算法检测获取边缘图像,并进行二值化处理。

③ 计算轿厢宽度:通过角点检测确定出电梯轿厢门两个角落的角点,如图6所示中的A、B两点,计算两个角点之间的距离L。

④ 建立坐标系:取A和B两点之间中点作为直角坐标系的原点,建立x-y直角坐标如图6所示。

⑤ 在坐标系中获取门缝所在的目标区域S,如图6所示。

⑥ 在S区域内采用累计概率Hough变换,只在一定的范围内进行霍夫变换,计算单独线段的方向以及范围,从而减少计算量,缩短计算时间,大大提高效率。处理后的效果图,如图7所示。

⑦ 判断检测的直线是否存在连续的并且超过预先设定的长度,如果存在至少一条超过10 cm的直线,那么可以认为电梯门处于关闭状态,反之处于打开状态。

⑧ 检测结束。

在夜间没有灯光的情况通过红外摄像头采集的图像如图8所示,通过概率霍夫线变换一样可以检测轿厢门缝形成的直线,如图9所示。

图6 采集图像的直角坐标系

图7 采集图像的概率霍夫线变换

图8 夜间电梯内拍照情况

图9 夜间采集图像的概率霍夫线变换

结 语

[1] 中国产业信息网.2017年中国电梯产量、保有量及行业发展趋势[EB/OL].[2018-01].http://www.chyxx.com/industry/201705/520639.html.

[2] 李健辉.电梯事故首负责任,行业无法承受之殇[J].中国物业管理,2015(2):8-10.

[3] 郭雯雯.电梯事故分析及监督检验对策[J].质量技术监督研究,2006(8):102-104.

[4] 陈伟华,张滔.基于ARM移动机器人视觉系统的设计[J].机电工程技术,2012,41(7):26-29.

[5] Coombs,Joseph,Prabhu,et al.Overcoming the challenges of porting Open CV to TI's embedded ARM+DSP platforms[J].EN,2012,19(3):260-274.

[6] 潘宁,杨丹,宋恩民.基于V4L2的视频设备驱动开发[J].计算机工程与设计,2010,31(16).

[7] 段汝娇,赵伟,黄松岭.一种改进Hough变换的直线快速检测算法[J].仪器仪表学报,2010,31(12).

金晓磊(硕士研究生),主要研究方向为嵌入式系统与计算机视觉;潘鹏(硕士研究生),主要研究方向为大数据和数据挖掘。

猜你喜欢
电梯门轿厢电梯
浅谈儿童行为对电梯门区安全保护的影响
轿厢式垂直升降立体车库的研制及应用
电梯门旁路装置的有关要求及检验方法的探讨
安全检查表法在轿厢意外移动风险控制中的应用
浅谈电梯门回路检测功能
电梯门回路检测原理及检验方法分析
被困电梯以后
电梯轿厢报警装置失效如何处理
一种轿厢在门区意外移动的有效制停原理
电梯不吃人