列车卧铺车票信息识别与应用系统设计
2019-04-04张衍会
摘 要:针对目前铁路列车卧铺车厢乘务员人工检票、换票和到站提醒的现状,设计了一种可自动检验车票、进行到站提醒的车票信息识别与应用系统,本系统包括车票识别终端和到站提醒终端。其中,车票识别终端基于图像识别技术对车票信息进行采集和识别,并通过GPRS进行信息传输;到站提醒终端基于CAN总线技术对各个铺位进行到站提醒。本系统可实现对乘客信息的高效管理、减少乘务员工作量、改进旅客乘车体验。
关键词:检票、图像识别、GPRS、CAN总线
0引言
我国地域辽阔,铁路列车运载力强、票价便宜,目前仍是人们出门远行的主要交通方式,乘坐卧铺是远途旅客的首要选择,尤其是高速卧铺列车的投入运行,更加方便了人们出行。目前,旅客乘坐卧铺列车,由乘务员人工检票,为防止旅客旅途中睡觉错过车站,乘务员会用卧铺证换取旅客车票并根据车票信息对乘客进行到站提醒。这种列车卧铺的管理方式效率较低,增加了乘务员的工作量,车票容易丢失,而且到站换票会影响到其他乘客[1]。针对目前乘务员人工检票、人工提醒的管理现状,以及乘务员不允许使用手机的管理规定,并从经济性角度考虑,本文设计了一种卧铺车票信息识别与应用系统,本系统具有自动检票、到站提醒功能。
1系统结构设计
系统总体结构设计如图1所示。该系统主要分为车票识别终端和到站提醒终端,车票识别终端设计为手持设备,每位乘务员人手一台;到站提醒终端设计为固定设备,主要由中央处理单元和声光提醒装置组成,中央处理单元可安置于列车长室,声光报警装置安装在每个卧铺床头;考虑到卧铺车厢内隔间对无线信号的影响,中央处理器与声光报警装置通过CAN总线进行通信,CAN总线传输距离可达千米,而且每个CAN中继节点下可连接110个通信节点,完全可以满足设计需求[2]。
本系统使用流程如下:车票识别终端的GPRS模块可与铁路售票系统联网以获取本次列车的已售车票信息,并把信息存放在存储模块中;乘务员在列车门口使用车票识别终端扫描车票,中央处理单元把扫描到的信息与存储模块内的信息进行比对,若车票信息与已售车票信息不一致,液晶显示模块可进行报错提示;若车票信息正确,则由中央处理单元对数据进行处理后通过GPRS模块传给到站提醒终端;到站提醒终端收到数据后进行存储,显示模块可现显示相关信息,GPS模块可进行车站定位,在即将到达某一站前20-30分钟内,中央处理单元通过CAN总线给对应的铺位发送提醒指令,声光提醒装置收到指令后对乘客进行提醒。声光提醒装置设置有关闭按钮,乘客按下关闭按钮后会有反馈指令传回中央处理器,显示模块可显示乘客已接收到提醒。
3车票信息识别
车票信息识别主要是依靠扫描模块摄取车票图像并提取图像信息,包括车次、车站、姓名、日期、车号及卧铺号,提取图像信息需要对图像进行预处理、文字识别及存储应用[3、4]。
3.1图像预处理
(1)图像定位
为了能准确快速地摄取车票图像,首先需要对图像进行定位校正,可通过提取车票二维码的3个角点来实现本功能[5]。以二维码图形的坐下角点开始按顺时针方向定义三个角点的坐标为(Z1(x,y),Z2(x,y),Z3(x,y)),这三个坐标的特征是Z1(x,y)、Z2(x,y)和Z2(x,y)、Z3(x,y)之间距离相等,通过这个特征可实现图像定位,表达式为:
(2)图像灰度化
由于摄取的车票图像是彩色的,由红绿蓝三种颜色组成,为了提高处理速度和节省内存空间,需要把图像进行灰度化处理,即把图像的灰度值限定在0-255之间,表达式为:
(3)字符区域提取
为了提取图像中的字符,需要把车次、姓名、车站、身份证号等文字所在区域从整张图像中分割出来,这些文字区域可视为一个矩形。以提取身份证号矩形区域为例,根据圖像定位(1)中二维码图形的坐标位置可以确定该矩形位置,若该矩形区域左上角点和右下角点坐标分别为L(x,y)、R(x,y),则其位置表达式为:
根据车票图像尺寸,身份证号文字区域的变量取值如下所示。
(4)图像去噪
在图像预处理过程中,可能会误把深色点渍识别为字符区域,为了提高识别精度需要对图像进行去噪处理,常用方法是均值滤波法,即将每个点视为一个窗口,求该窗口的灰度平均值,其表达式为:
上式求得的结果是以(x,y)为中心的(2d+1)*(2d+1)窗口内的灰度平均值,这样可提高图像的识别精度。
3.2文字识别
文字图像识别需要预先制作一副已知的文字图像模板,比如把0-9数字的图像进行灰度化预处理并做好模板后存储,当在图像中提取出文字后再与模板中的文字进行对比匹配[6],即遍历模板内的文字图像并计算相似度,其表达式为:
上式中m为文字图像模板标号,S(i,j)是目标图像文字在模板中坐标(i,j)处的像素值,Tm(i,j)是m号模板在图像坐标(i,j)处的像素值。当Tm(i,j)等于0时,将该模板的累计结果COUNTm的总数加1,则最后的文字相似度计算表达式为:
上式中W、H分别为模板的宽度和高度。
4通信数据帧设计
当手持终端获得车票的车次、姓名、车站、卧铺号等信息后,需要把信息打包成一帧数据包发送给到站提醒终端,提醒终端也需要把数据打包发送给声光报警装置,因此需要设计通信数据帧。以发送姓名、目的站、车号、卧铺号和高度信息为列,数据帧结构设计如表1所示。
程序设计中为方便调用和赋值,数据帧结构可用一个共用体类型变量进行定义,如下:
typedef union Ticket_info
{ unsigned char Ticket_array[30];
struct Ticket_data
{ unsigned char head; //帧头
unsigned char ID[4]; //标识码
unsigned char name[8] ; //姓名
unsigned char destination[10]; //目的站
unsigned char Tnum[2; //车号
unsigned char bednum[2]; //卧铺号
unsigned char bedheight[2]; //高度
unsigned char tail; //帧尾
} ticket_buf;
} TICKET_BUF;
在数据帧结构设计中,标识码具有非常重要的作用,尤其是提醒终端发送给某一个床位的声光提醒装置时起到滤波作用,即终端把一帧数据发送到CAN总线上,总线上所有的提醒装置都会比对自身的识别码,只有与这帧数据识别码一致的装置才会接受这组数据,这种滤波方式保证了总线数据传输的准确性。
5总结
本文基于图像识别、GPRS无线通信、CAN总线等技术设计的车票识别与应用系统,可实际解决目前列车卧铺人工管理存在的弊端,改进旅客出行体验。我国地域辽阔,新兴的高速卧铺列车也正在扩大使用范围和快速发展,本系统具备一定的发展前景,而且还可以推广至轮船、大巴车等交通工具上。
参考文献:
[1]邱建東,张衍会,王自强. 一种列车车载客运信息提取与运用系统:中国,201620030354.5[P].2016-06-15.
[2]徐镇华,马殷元.基于CAN总线和GPRS的温室大棚监控系统设计[J].测控技术,2018,37(01):78-81+86.
[3]耿兴龙. 基于移动智能平台的车载车票验票终端的研究[D].北方工业大学,2015.
[4]邱晓欢,陈勇.基于Jetson TK1的普通列车车票识别的设计与实现[J].科技与创新,2018(02):107-108.
[5]韩雪,粟慧龙.基于Android卧铺车厢车票识别APP的系统设计[J].数字技术与应用,2017(10):162-163.
[6]唐琎,李青.一种快速的模板匹配算法[J].计算机应用,2010,30(06):1559-1561+1564.
作者简介:
张衍会,山东泰安,硕士,主研领域:智能控制,嵌入式系统.