智能制造
基于java的图书管理系统Digital Space P .229
图书馆智能座位管理系统
陈南南  李鸿翔  林聪明  彭荣超  厦门大学嘉庚学院信息科学与技术学院
摘要:分析了高校图书馆座位管理以及预约制度,针对其中存在的问题,提出了基于空座检测的图书馆座位管理系统。该系统通过监控图像识别空座信息,实现图书馆座位的查询、预约、短时离座管理功能,从而一定程度上解决了图书馆的占座问题。
关键字:图书馆 座位管理 预约 空座检测中图分类号:G250.7          文献标识码:A
高校的图书馆是重要的学习空间,特别是考试之前,高校学生日益增多,而校园中的图书馆座位资源有限,不合理占座的现象已经司空见惯。目前各高校图书馆的藏书资源、目录资源等都实现了计算机管理,唯独座位资源还停留在人工管理阶段。
1 图书馆管理系统现状
为了合理管理图书馆座位资源,部分高校开发了图书馆座位管
理系统,但这些系统在使用过程中也存在以下一些问题。
(1)占座问题。目前的图书馆管理系统大多是通过校园一卡通或其他身份验证方式确定读者身份,随后通过图书馆的触摸屏设备或计算机查询图书馆座位分布和实时使用情况,根据显示屏显示的座位闲置情况选择座位,读者流量较多时也可选择自动排座。这种方式一定程度上解决了图书馆座位无序就坐的问题,但也引发了新的“占座”问题。部分读者在刷卡选座后离开图书馆长时间未回,甚至出现替人刷卡占座的现象,导致真正有需求的读者无法使用图书馆座位资源。
(2)成本高。为了解决图书馆座位预约后,座位空置“占座”问题,有的高校使用人工的方式定时巡查座位,长时间空闲的座位将被回收。这种方式增加了人力成本。在有的研究中,通过增加了红外线感应器
对座位情况进行检测 。这种方式需要对所有座位进行改造,增加了部署的难度和成本。
(3)离馆与短时离座难以区分无论是人工方式或是自动方式,都需要对长时间无人的座位进行回收,但如何区分离馆和短时离座也是一个难题。若使用人工方式巡查回收,工作人员无法长时间驻留座位附近判断用户是离馆还是短时离座,经常会造成误判,引发误会和矛盾。有的高校通过校园卡预约后可使用图书馆座位资源,每次有效时间为两小时。继续使用,须在下一时段前30分钟内进行续约,超时后座位会被自动释放。一些认真学习的学生通常会忘记按时续约,造成座位被强行回收。
针对以上情况,本文提出了一种基于摄像头空座检测的图书馆座位管理系统。
2 系统设计
主要包括以下功能:
(1)座位信息实时检测
统带有网络摄像头等图像抓取设备,继而将图像传至服务器再经过图像识别算法处理,将图书馆的每一个位置的情况实时反馈到前端网站上,用户根据空座信息进行座位预订。
(2)座位预订功能
用户登录网站根据图书馆座位实时状态,可以直接在网站上进行预订,预订
后在规定时限内到达图书馆,若用户未在时限内抵达图书馆,将取消预约并归还座位。
(3)续约功能在图书馆期间,若临时有事需要离开,用户可以根据自己需要离开的时间,
选择是否续约,若不续约直接离开,系统只为用户保留座位10分钟。选择续约,系统将为用户重新预订该位置,但回到座位后需手动解除续约,超过30分钟后“不回来”或者“不解除续约状态”都视为放弃座位。极大程度地提高了系统的灵活性。
(4)查询及修改功能预订好座位后,因故无法到达图书馆,可以取消预约。也可查询当前预约情况。
(5)违规记录
对于预约后,无故未到达图书馆或恶意预约占座等行为记录
至数据库,同时制定规则限制其在某段时间内使用预约功能。
3 系统实现
图1 系统功能示意图
如图2所示,本文提出的图书馆座位管理系统包括摄像头模块、服务器模块、客户端模块、空座检测模块。3.1服务端模块
服务端模块通过接收摄像头拍摄传回的图像进行空座检测,更新数据库信息,并处理用户的预约和查询请求。
云服务器使用linux centos 版本系统运行服务端程序,与摄像头之间的通信不断的通过websocket 定时收发数据,摄像头通过无线wifi 模块进行数据的发送。
在socket 服务器框架中,通过设置客户端连接对应一个Connection 对象,完成对象的onMessage、onClose 等回调,同时提供了向客户端发送数据send 接口与关闭连接close 接口,以及其它一些必要的接口。在此基础上通过tcp 协议进行数据的传输,服务端将接收到的数据信息通过相关的算法进行处理和分析,存储至对应的mysql关系数据库表中,服务端基于ngnix 环境下运行,使用php 语言对客户端开放各个请求接口,返回相应的请求数据,对于部分长时间不改变的数据而言,会使用缓存集redis 或者memory 进行数据上的缓存,提高服务端的数据返回速度,客户端数据的接收速率,将速率提升至毫秒级返回,提升用户体验水平。
同时,在用户数据请求量庞大时,必须进行高并发处理,通过反向代理达到负载均衡,即将工作任务分发至各个服务器,使得每个服务器能正常运行,否则系统会崩溃重启。对于服务端与客户端之间交互数
据的安全性,各个接口请求的数据,进行MD5的32位不规则加密,达到防篡改的目的。3.2 客户端模块
客户端是用户预订和查询的交互界面,为了方便使用,分别设计了PC 端页面和基于Android 的APP 客户端。
用户可以通过客户端进行座位的查看、筛选、预订。对于已经进行了座位预订的用户,同样可以查看自己所预订位置的信息,进行续约、退订、改选座位等操作。除主要的预订座位功能,用户可以查看到图书馆不同时段的人数分布情况、图书馆近日新闻等信息,同时可以对该系统进行留言反馈。
Android 端采用了Retrofit +RxJava + OkHttp 的网络框架 ,其中Retrofit 负责请求的数据和请求的结果,使用接口的方式呈现。OkHttp 负责请求的过程,RxJava 负责异步,以及各种线程之间的切换。图片加载使用Glide 图片加载库, 服务端返回图片链接url, 用Glide 加载显示图片。Android 界面如图2所示。
智能制造
数码世界 P .230
图2 Android 客户端界面
3.3空座检测模块
空座检测模块负责将下位机摄像头传回服务器的图像信息通过图像识别算法转化成座位信息并存入数据库。
首先使用网络摄像头拍摄现场图像,通过FTP 发送到服务器,服务器使用shell 脚本将图片拷贝到图像识别工程中,工程将检测得到的座位信息存放在数据库,供客户端提取。
识别工程中的算法通过“不同光照条件下的阈值选择”、“感兴趣区域”、“标记识别”、“移动物体检测”以及一些逻辑程序来判断各个座位的实时状态。
(1)不同光照条件下的阈值选择针对同一个环境,在不同光照强度下采集到的图片需要有合理的阈值去处理,才能够识别出标记,以及检测到物体移动。在本系统采用的方案是,先采集优越环境下不同光照强度下的图片,采集图片四个角落各取4个像素点共16个像素点计算平均灰度值,再出适合的阈值,将它们的对应关系制成表格。当使用时,对拍摄到的图片同样进行平均灰度值的计算,再查表选择阈值。
(2)有效区域
采集到一张图片并不是图中所有信息都是有效信息,将图片中有效区域“裁剪”出来,即将座位的部分提取出来,减少后续算法的计算量,提高算法效率,如图3所示,将座位从整张图片中提取出来。
图3 有效区域提取
(3)标记识别
为了判断是否空座有多种方法,比如识别人体轮廓,识别人脸等,这些识别精确率高,但算法复杂度大。本系统仅需检测空座信息,无需识别具体用户。因此在座位(或桌面也可)上放置标记,利用ORB (Oriented FAST and Rotated BRIEF)特征检测与匹配来寻图片中椅子上的标记,若无标记则表明非空座,识别效果如图所示。
ORB 算法是基于FAST 特征检测与BRIEF 特征描述子匹配实现,并在它们原来的基础上做了改进与优化[4]。
FAST 特征点是没有尺度不变性的,所以通过构建高斯金字塔,然后在每一层金字塔图像上检测角点,来实现尺度不变性。ORB 选择了BRIEF 作为特征描述方法,但是BRIEF 是没有旋转不变性的,所以需要给BRIEF 加上旋转不变性,把这种方法称为“Steer BREIF”。
图4 空座标记识别
(4)移动物体检测
用标记识别方法可以判断空座,但有些用户会使用书包等物品遮盖标记,从而造成座位有人的假象,而本人长时间离馆,造成资源浪费。因此,增加判断遮挡物是否是移动物体的方式区分人体和占座物品。系统使用改进的帧间差分法来判断图片区域内是否存在移动物体。
首先采集3帧图像,其次对图像进行边缘提取得到连续的3帧边缘图像, 然后对两组相邻的边缘图像差分运算,也就是进行3帧差分,把两次差分后的图像再进行“与”运算,然后根据图像信息使用自适应迭代阈值的计算方法进行二值化处理,最后通过图像形态学处理(腐蚀、膨胀等)完成确定移动物体的区域 。
(5)空座检测模块流程
最后通过一些简单逻辑结合以上技术,从而使整个识别流程合理运作,提取出正确、有效的座位信息。
首先,开启所有座位的标记检测及运动物体检测,只有当一个座位的标记被覆盖以及存在运动物体两个条件同时成立时,并且两个条件在将来20秒内没有发生改变才判断该座位此时有人使用,如图5所示。保持20秒不改变的理由是防止路过现象。
当一个座位被预订或者用户选择了续约座位,将关闭该座位的标记检测及运动检测,直到用户通过刷卡签到和返回座位,将重新打开该座位的检测。
图5 入座状态检测过程
若一旦一个座位的状态从被使用变为无人使用,则开启计时,超出10分钟则视为离开即放弃座位。在10分钟内一旦该座位的状态从无人状态转换为被使用,则再将来20秒中的检测内一旦出现该座位无人,则判定为“路过”,不会关闭10分钟的离开计时。如20秒内的检测中一直保持被使用状态,则表示用户短时离开并回到座位了,关闭10分钟的离开计时,用户继续使用座位。
4 结束语
本文通过分析目前高校图书馆管理系统中存在的一些问题,设计和实
现了一个通过摄像头传输的图像进行空座检测从而进行图书馆座位管理的系统。系统的主要优点包括:第一,无需人工,自动检测空座;第二,使用网络摄像头,每个摄像头可检测多个座位,无需对图书馆线路进行过多改造,成本低;第三,功能设计人性化,暂时离座可保留座位。当然,一切的管理制度都离不开用户的遵守,良好的学习阅读环境需要系统和人的共同努力。
参考文献
[1]王璐.大学校园占座现象的管理学分析[J].社科纵横,2008(23): 82-83.
[2]郝亚楠,邵红宇.高校图书馆座位管理系统的利与弊[J].晋图学刊,2014(04):17-20.[3]秦剑飞,王安,沈谢,等.基于RFID 图书馆座位管理系统[J].科技信息,2014( 3) : 27-28.
[4]Rublee E,Rabaud V ,Konolige K,et al.ORB: An efficient alternative to SIFT or SURF[C].Proceedings of IEEE International Conference on Computer Vision,Washington,USA,2011: 2564-2571.
[5]刘伟洋,陈侃松,张丹,兰智高,冯杰.改进三帧差分算法在移动物体检测中的应用[J].计算机测量与控制,2017,25(02):177-180.