基于图像识别的失物招领微信小程序设计

2022-10-16 02:29张杨帆郝钰鑫李隐峰田鑫雨郑春红李泽昊
电子科技 2022年10期
关键词:失物失物招领证件

张杨帆,郝钰鑫,李隐峰,田鑫雨,郑春红,李泽昊

(西安电子科技大学 电子工程学院,陕西 西安 710071)

在高校校园中,证件物品丢失是一种普遍存在的现象。如表1所示,根据西安电子科技大学一卡通中心提供的数据,2019年全校共补办了17 162张一卡通,其中大部分是因为丢失而补办的。校园人口密集,活动范围广,遗失的物品难以找回。常见的寻物手段主要是在学校QQ群、BBS网站发布失物信息或在服务台询问,但这些方法的找回率较低。因此,需要有一个统一的失物招领信息发布平台。

表1 2019年度补办一卡通数量统计

本文所提出的智能招领小程序旨在建立一个面向师生的招领系统,用户可以利用微信账号直接登录本系统,发布失物招领的相关信息,并且可以接收来自系统的通知信息[1]。同时,系统采用图像文字识别技术,提高了失物信息上传效率,并可自动向失主发送短信和微信,提高了失物找回的成功率[2-4]。

1 系统设计

1.1 功能设计

智能失物招领小程序是以证件为主,以其他物品为辅的失物招领系统,可服务在校师生,帮助失主发布寻物信息和招领信息。该程序在发布过程中调用图像文字识别的接口帮助用户填写失物信息,在发布成功之后可以自动查询学校数据库中与证件号相匹配的用户信息,自动通知失主。该系统主要实现查找及发布失物招领信息功能、关键词搜索功能、图片文字识别功能、发布信息管理功能、短信/微信通知失主等功能[5]。

系统功能模块如图1所示,具体为:

图1 功能模块图

(1)登录模块。使用微信登录获取用户信息。用户第一次授权注册之后获取到其手机号、微信头像、微信昵称等字段;

(2)发布模块。用户可以在登录系统后发布失物招领信息,填写物品分类,上传图片,填写标题、内容、位置和联系方式,并进行信息发布[6]。发布后,用户可随时登录系统,并对录入信息进行修改及删除;

(3)图片识别和自动填表模块。当用户需要发布的失物招领信息是针对校园一卡通或身份证等证件时,用户在上传证件的正面图片后,系统会自动调用图片的文字识别接口,提取图片上的文字信息并自动完成表单的填写[7];

(4)短信和微信通知模块。在用户发布失物招领信息后,系统会调用学校内部数据库进行匹配,如果发现有失主的信息与该发布内容吻合,将通过发送手机短信和微信消息的方式通知失主;

(5)检索模块。用户可在未登录的情况下,浏览已经发布在系统内的所有信息,也可以输入关键词来搜索失物招领信息;

(6)个人中心模块。用户可在个人中心查看或修改个人信息,也可通过本模块查看管理已发布的信息或退出登录。

1.2 数据库设计

为实现上述功能,智能失物招领系统涉及4个实体,分别是用户、失物、类别和登录状态,各实体间的关系如图2所示[8-11]。

图2 数据库E-R图

本文涉及到的实体可被抽象地保存为数据库中的4张表:用户表(tb_user)、信息表(tb_item)、分类表(tb_category)和登录状态表(tb_token)。该系统的数据库表信息如表2所示。

表2 数据库表信息

1.3 系统概要设计

智能失物招领系统采取前后端分离的设计思路:前端使用微信开发者工具开发,采用WXML、WXSS和JavaScript语言完成;后端使用PHP语言开发,采用ThinkPHP框架[12]。数据库采用MySQL数据库。

用户使用小程序进行相关操作时,视图层把触发的事件通知到逻辑层进行业务处理,而逻辑层会将处理后的数据变化通知到视图层[13],从而触发视图层页面更新,其架构如图3所示。

图3 小程序架构图

后端接口从前端发来的HTTP POST和HTTP GET请求中接收必要的Request参数,经过验证和处理,返回明确的Response响应[14]。API接口运行流程如图4所示。

图4 ThinkPHP运行流程图

用户发布失物信息时,需要使用微信账号登录本系统,并在信息发布页填写详细信息。发布信息时,首先要选择物品类型并上传图片。系统将对接收的图片文件进行检查,检查内容包括文件格式的有效性及图片大小。如果图片大小超过一定的体积,则调用图片压缩的方法对图片进行压缩处理,然后对图片进行重命名,并将图片保存到文件夹中,向前端返回处理结果。如果物品属于证件,则会调用OCR文字识别模块。OCR模块通过图片URL获取图片文件内容,然后调用百度AI中OCR识别的SDK识别文字内容[15-16],再根据图片所选的物品类型调用不同的提取方法,调取出证件包含的关键文字信息整理,并将信息自动填写到前端对应的表单中,按照识别结果返回的坐标值对关键信息进行脱密图像处理。当失主发布信息后,如果招领用户数据库里面有该失主的联系信息(需要用户注册或者和学校数据库对接),则会给失主发送短信和企业微信通知。本系统的失物信息发布流程如图5所示。

图5 系统发布流程框图

此外,本文所设计的系统可通过Python程序[17],定时从学校BBS网站采集失物招领信息,并将系统中的新数据定时上传到BBS网站的失物招领页面上。

1.4 小程序界面设计

在微信中搜索校园智能失物招领小程序或扫描如图7所示的二维码,即可使用。

图6 小程序图标

图7 小程序二维码

小程序分为3个界面:动态信息页、信息发布页以及个人中心页。动态信息页展示所有已经发布的信息,如图8所示。如图9所示,在信息发布页上,可以上传失物招领或寻物启事信息,并可查看用户自身已发布信息[18],同时展示运行的实时数据。填写失物招领页如图10所示。个人中心页显示用户信息以及小程序二维码、版本号等相关信息。

图8 动态信息页

图9 信息发布页

图10 失物招领信息自动获取

如图11和图12所示,信息发布成功后,该程序短信、微信通知失主。失主点击图中链接即可确认领取,相关信息将自动从列表中删除,从而保护用户个人信息。

图11 短信通知

图12 企业微信通知

2 小程序运行情况

智能失物招领小程序已于2020年10月1日上线,并在校内进行了实际运行测试。学校食堂、图书馆、教学楼、校门、实验室、宿舍楼、家属区等地点的工作人员均已使用了本系统。当工作人员捡到丢失的证件和物品后,通过本系统将失物信息发布出来。系统设计人员采用上传失物信息即送话费的激励方式鼓励用户上传失物信息。系统上线5个月来,已经帮助数百人找回自己的证件或其他物品。系统运行数据如表3所示。 小程序累计用户数由腾讯小程序数据助手提供。

表3 系统运行数据统计表

为了评估本系统的效果,作者通过Python程序采集了本校BBS 网站2010年到 2021年3月15日的历史失物招领数据,共有18 187条, 其中成功找到失主的信息有1 267条,估算的成功率是6.97%。在2020年10月1日~2021年3月15日,智能招领小程序共发布1 723条,成功找到失主的信息有532条,成功率为 30.88%。一卡通招领信息为944条,成功找回的信息为390条,找回成功率为41.31%。身份证招领信息152条,成功找回的信息为67条,找回成功率为44.08%。

由表4可以看出,智能招领小程序的成功率是BBS网站的4.5倍左右,相比通过BBS网站的失物招领平台,本系统更加方便且成功率更高。

表4 学校BBS网站与本系统失物寻回率对比

本文对失物信息进行了分类统计,其他证件包括银行卡、社保卡、驾驶证等;其他物品包括电子设备、U盘、书籍等。本表统计的数据截止到2021年3月。如表5所示,一卡通等证件丢失数量占比较大。

表5 失物信息分类统计表

由于部分用户找回失物后未点击确认领取链接,实际确认领取的数量应该比表格中显示的数据更多。通过以上两组数据可见,本文设计的基于图像识别的失物招领微信小程序提升了失物找回成功率。

3 结束语

本文结合图像识别技术,运用PHP、JavaScript、Python等语言,使用MySQL数据库,设计了基于图像识别的微信小程序,并成功在校园内运行。该小程序界面设计简洁,便于用户使用,可快速识别证件等图片信息,并通过微信及短信通知失主,实现了失主与捡到物品者之间的直接通信,提高了失物寻回的成功率,减少了师生财物损失,具有较高应用价值,适合在校园内推广。

猜你喜欢
失物失物招领证件
失物招领处
失物招领处
知了的外衣
刚捡的
不要随便怀疑别人
不当“小捣蛋”
失物启事
中国人一生要办证件、证明超过400个
尼亚加拉瀑布欲拍卖游客失物
路不拾遗