基于快速图像识别的智能商场导引系统

2021-09-09 07:36王志斌丁万春李永新
现代计算机 2021年19期
关键词:子系统人脸人脸识别

王志斌,丁万春,李永新

(1.南京理工大学机械工程学院,南京 210018;2.易泰博商业设施(中国)有限公司,苏州 215000;3.南京理工大学机械工程学院,南京 210018)

0 引言

近些年来,随着互联网的迅猛发展,实体商场面对电子商务的挑战愈发艰巨。构筑良好的购物体验与提供贴心的线下购物服务作为实体商场对抗电子商务的有力竞争手段,在业内越来越得到重视。但是,商场导引作为顾客线下购物体验的重要一环却一直没有较大的发展[1]。同时,人脸识别技术作为一种方便快捷、非侵入性的智能识别技术,在人们的生活中得到了越来越多的运用。本项目作为智能商场系统的一部分,采用了人脸识别技术,通过智能设备对顾客提供全自动的导引服务,应用前景无比广阔。

根据调查,现有的人脸识别系统大都需要对使用者的人脸图片进行储存,但近些年来,人们的法律意识越来越强,人们对自己的肖像权也愈发重视,杭州等甚至已经拟定了地方相关条例来限制人脸识别技术的应用。所以民用人脸识别技术想要继续发展下去,必须做出一定改变来保护人们的隐私和肖像权。

1 需求分析与功能要求

本节对智能商场导引系统的需求与方案设计做出重点的分析,核心需求包括广告控制、智能导引、商品查询和自助结账四个要素,方案设计将系统分为人脸录入终端、人脸识别模块和云端服务器三个部分。

1.1 需求分析

大型商场中由于商品种类较多通常有着较多的分类区域,但导引、导购的方式还仅仅依靠商场进口的平面图和指示牌,大量消费者对于自身想要前往的区域完全没有了解。为解决消费者在商场中购物困难、路向不清等问题,结合人脸识别技术,以期利用一种非接触、全自动的商场导引系统来处理此类状况,它的核心需求主要包括以下几个方面:

(1)消费者可以利用商场入口与出口处的智能终端对超市内进行的促销活动内容以及商品的各类信息进行及时性的了解;

(2)商场的导引系统可以在消费者不依赖智能手机等移动终端的情况下进行导引工作;

(3)为商场管理者提供相应接口,使其可以通过系统实时发布优惠信息与商品广告。

(4)利用第三方支付平台实现商品的自助结账与小票打印功能。

以上4个核心需求基本上概括了系统设计的核心思想,它既包含多个客户端,也包含了服务器端,目的在于研制一种基于人脸识别技术的商场导引软件。在对上述需求具体阐述后,系统设计的主要使用目标为商场顾客与商场管理员,主要包括以下两个方面:

(1)商场顾客:商场顾客是使用导引系统的主要服务目标,商场顾客可以与人脸录入终端进行交互,对商场内不同商品的信息进行查询。且当目标在商场中进行购物时,系统可以为其提供导引信息;

(2)商场管理员:商场管理员使用系统后台管理系统,通过系统可以管理商品的资料与广告投放,从而提高销量,并完成相关记录,包括商品位置信息与销售信息等。

1.2 系统功能要求

根据前一小节的需求分析以及商场实际环境,提出了如图1所示的系统功能框架,受限于篇幅本文只介绍主要功能需求。

图1 系统功能框架图

2 整体方案设计

结合1.2小节中系统的功能要求,提出商场导引系统的整体设计方案,主要可以分为以下三个部分:

(1)放置在商场入口与出口处的人脸录入终端,主要为顾客提供商品查询、广告播放、会员资料查询等功能。顾客可以通过该终端在进入商场前就对这家商场的商品和特色有一个大概的了解,极大地方便了顾客在商城内的购物活动。同时该终端集成了一个人脸录入子系统,它在有顾客开始查询物品信息后录入操作该终端的顾客人脸信息,之后与顾客查询的商品位置信息绑定并上传至云端数据库进行存储。

(2)遍布在商场内部智能货架上的人脸识别模块,该模块实时扫描货架前的顾客人脸信息,并与数据库中的人脸信息进行识别。然后对识别出的顾客信息检索出结合绑定的商品信息,再通过与人脸识别模块相连的显示屏将导引信息传达给顾客。

(3)云端服务器,智能终端和人脸识别模块通过Wi-Fi接入互联网实现数据的交互。

三个部分之间具体关系如图2所示。

图2 导引系统结构图

2.1 人脸录入终端方案设计

根据之前章节中的场景需要,人脸录入终端需要拥有人脸录入、商品查询、广告播放、自助结账这四个功能,其中人脸录入和商品查询功能参与导引流程,广告播放与自助结账为辅助功能。它分为硬件和软件两个部分,硬件部分为RK3399商显智能主板以及扫码设备、热敏打印机、外置摄像头和触摸显示屏等各类外设,软件部分为Android程序。

2.1.1 人脸录入子系统

在人脸录入部分中,当商场顾客在智能终端上查询商品时,摄像头会开始读取视频画面。并采用Haar-like[2]特征以及AdaBoost[3]分类器进行人脸检测,检测到人脸区域后,系统会自动进行LBP[4]特征提取以及与商品信息进行关联并删除原始图片,最后上传至云端服务器,根据服务器中是否已存在相关信息决定录入或更新数据库。人脸检测与录入过程如图3所示。

2.1.2 商品查询子系统

在图4中,可以看出商品查询子系统的主要功能是为导引系统筛选顾客对象并提供商品对象,只有选择了目标商品的顾客才会被录入信息,同时商品查询子系统自身作为顾客提供商品信息查询功能,具体查询流程如图4所示。

图3 人脸录入系统流程图

图4 商品查询流程图

2.1.3 辅助功能系统

辅助功能系统包括广告播放子系统与自助结账子系统,它们不直接参与导引工作,但能提高顾客购物体验。其中广告播放子系统主要有解析服务器指令和加载广告资源两个功能,使人脸录入终端在无人操作时可以按照商场管理员的命令在不同时间段播放各类广告。自助结账子系统主要承担商品扫码、扫码支付和小票打印等功能,分别通过扫码设备外设、第三方支付平台和打印机外设实现。

2.2 人脸识别模块方案设计

人脸识别模块是导引系统的重要组成部分,主要承担检测与分辨人脸信息,并展示导引信息的工作需求。它由基于嵌入式的控制子系统、OpenMV[5]、导引信息显示子系统和通讯子系统四部分组成。

OpenMV负责人脸检测与特征提取,其中人脸检测部分与人脸录入子系统中相同,使用图片特征与分类器为Haar-like特征以及AdaBoost分类器。不同之处在于OpenMV的摄像头一直处于工作状态,实时检测画面中的人脸区域。在确定人脸区域后对目标人脸进行LBP特征提取。

基于嵌入式的控制子系统中烧写了本文提出的改进后的SVM分类器[6],通过分类器进行人脸识别,以判断是否为人脸录入终端录入过的人脸。如果是,就根据绑定的商品信息生成文字导引信息,导引信息显示子系统传递给顾客;如果不是,则不做处理。以上过程中所有的图片在LBP特征提取完毕后都会进行删除,以保护顾客的个人信息安全。具体流程如图5所示。

图5 人脸检测流程图

2.3 云平台方案设计

云存储平台主要用于存储特征数据,本系统主要选取云存储中大容量的对象存储作为重点存储采集得到的顾客人脸特征文件,在关系型数据库中创建数据表来保存顾客与商品的他信息。本文采用百度云作为开发平台,设计流程如图6所示。

图6 云平台设计流程图

3 人脸录入终端系统实现

3.1 硬件系统

为了实现系统要求中的人脸录入、商品查询、广告播放以及自助结账功能,我们需要选择合适硬件设备。系统的硬件设备主要包括以下方面:

(1)RK3399商显智能主板。该主板是标准3.5英寸工业级商显主板,主频高达1.4GHz,支持Type C的Display Port音视频输出板载HDMI2.0接口,支持HDCP1.4/2.2以及双通道24bit LVDS、eDP。

(2)触摸显示屏。触摸显示屏是人与智能设备交互的重要设备。本文选择RK3399商显智能主板配套的10.1英寸液晶显示屏带电容触摸屏RGB屏LVDS背光板工业显示屏。

(3)外置摄像头。外置摄像头是系统采集图像信息的关键设备,摄像头的性能直接影响采集到图像的质量,从而影响到后续的图像处理以及人脸检测过程。本文采用SONY公司出品的无线USB Android监控工业相机摄像头模组,该摄像头模组内置了镜头正畸功能,能够有效避免由于镜头畸变对采集图像造成的影响。

(4)扫码设备。扫码设备是用来实现商品扫码与查看商场会员信息功能的辅助设备,顾客可以通过出示手机上的二维码来登录账号进行查询。根据需求与实际情况,本文选择采用USB二维码扫码模组来实现系统所需功能。

(5)热敏打印机。热敏打印机主要负责打印小票的功能,本文使用的工业热敏打印机提供Android平台SDK,软件开发较为方便,同样也通过USB接口与主板连接。

实际组装效果如图7所示。

图7 智能终端硬件组装图

3.2 软件系统

(1)主程序

表1 主程序功能描述

图8 主程序执行流程图

(2)人脸检测程序

表2 人脸检测程序功能描述

图9 人脸检测程序执行流程图

(3)信息录入程序

表3 信息录入程序功能描述

图10 信息录入程序执行流程图

3.3 系统界面设计

系统的交互界面由Android Studio[7]编写,布局由超文本标记语言XML配置。程序被设定为启动主板后自动打开,之前介绍过热敏打印机的驱动文件是在程序内的,所以仅在该主板第一次启动程序时需要手动对驱动进行配置,配置完成将自动进入人机交互主界面,启动流程如图11所示。

图11 程序首次启动流程图

人脸录入终端的主要功能包括:商品查询、自助结账以及文字、图片、视频类型的广告播放。其中人脸录入过程在顾客进行商品查询并选择目标商品后完成,部分主要人机交互界面如图12所示。

图12 部分功能展示图

4 人脸识别模块系统实现

4.1 硬件系统

与商场入口的人脸录入系统相比,分布在商场智能货架上的人脸识别系统数量更多,但是功能也较为单一。综合考虑系统性能与成本因素本文选择采用嵌入式开发平台与OpenMV视觉模块对系统进行开发,并通过液晶显示屏实现人机交互。人脸系别系统的软件主要分为两个部分,其中嵌入式软件部分选择使用Qt[8]进行编写,OpenMV软件部分选择OpenMV配套IDE进行编写。

4.2 软件系统

(1)主程序

表4 主程序功能描述

图13 主程序执行流程图

(2)回调程序

表5 回调程序功能描述

图14 回调函数执行流程图

(3)识别程序

表6 识别程序功能描述

图15 导引信息显示程序执行流程图

(4)信息请求程序

表7 信息请求程序功能描述

图16 信息请求程序执行流程图

4.3 系统测试

为了方便说明,本文使用调试版交互界面进行功能讲解,界面主要由图像输出框与导引信息提示框组成。正式版与之相比没有图像输出框,只有导引信息提示框。以下是两位测试人员对系统的测试结果,测试人员一号与二号分别在录入终端上选择了商品苹果与洗发水,系统检测到录入人脸后给出提示信息;测试人员一号在未录入人脸的情况下被系统检测到人脸信息,系统不做提示;测试人员侧脸模拟经过顾客,系统未检测到人脸。具体情况如图17所示。

图17 人脸识别模块测试结果对比图

5 结语

在人脸识别技术蓬勃发展却也饱受争议的今天,将人脸识别技术应用于传统的商场导引需求之中。解决了传统商场导引中人力浪费、服务不及时等问题,有着不依赖便携式智能设备的特点,并对人脸识别中顾客的个人隐私安全提出了一种解决方案。系统在嵌入式、Android平台上进行开发,计算资源有限但成本较低,现实中有很强的应用价值。

猜你喜欢
子系统人脸人脸识别
玻璃窗上的人脸
人脸识别的“国标”来了
中科视拓开放商业版本人脸识别算法
网络空间供应链中入侵检测及防御子系统的投资机制研究
网络空间供应链中入侵检测及防御子系统的投资机制研究
智力考场:有趣的图片测试
荣耀畅玩7C:人脸识别
团队与知识管理的关系研究
“领家系”可爱脸VS“高冷系”美人脸
浅谈中职学校新型模块化机房建设