3078| 0
|
[《Huskylens趣味AI入门》] 【Mind+Huskylens趣味AI入门】系列课程—07 自助收银台 |
本帖最后由 木子呢 于 2021-9-23 18:21 编辑 课时7:自 助 收 银 台 7.1 项目介绍 7.1.1背景导入 世界上最遥远的距离莫过于,旁边排队的队伍永远比你的快。 每次去超市购物,特别是遇到周末或者促销,收银台长长的结账队伍都会让人望而却步。自助收银已经是超市和便利店的迫切需求。选购完商品,顾客可以自行扫码结算。依次扫描商品的条形码,屏幕上便会显示商品的名称、单价、总价等信息,顾客核对无误后扫码付款或刷脸支付,轻松完成此次购物。 自助收银服务,不仅减轻了收银员的工作压力,更减少了排队等待的时间,还能够直观显示商品信息,提升顾客的购物体验。 7.1.2任务拆解 通过Huskylens和Mind+模拟自助收银的过程。首先,切换至Huskylens条形码识别功能学习不同商品对应的条形码;在Mind+中布置收银台场景并录入商品的名称和价格信息,建立商品库;当选购完商品,使用Huskylens扫描商品的条形码,舞台区显示购物信息并计算总价。 STEP1:使用Huskylens的条形码识别功能,学习条形码。 STEP2:上传角色和背景,调整大小与位置,布置收银台的场景 STEP3:新建商品库列表,录入商品信息。 STEP4:判断Huskylens是否识别到已学习的条形码。 STEP5:获取商品信息,显示购物清单、小计并计算商品总价。 (目标功能实现效果示意) 7.2 项目准备 7.2.1 软件设置 打开Mind+软件,确认软件为“实时模式”。点击“扩展”,在“功能模块”里加载“Huskylens教育版”。点击“返回”到主界面可以看到功能模块添加成功。 7.2.2 硬件连接 用USB线把Huskylens连接到电脑,接着点击扩展功能旁的橙色感叹号,进行连接。连接成功后感叹号会变成绿色对勾(如下图),“返回编辑器”就完成连接啦。 7.3 程序思路 点击绿旗清除历史购物信息,当Huskylens识别到已学习的条形码,将商品信息加入清单并计算总价。 7.4 功能实现 7.4.1 Huskylens条形码识别 (1)功能设置 拨动“功能按键”,直至屏幕顶部显示“条形码识别”。进入二级菜单,打开“学习多个”开关(进度条变蓝),保存参数并返回。 (2)学习条形码 将HuskyLens屏幕中央的“+”字对准目标条形码块,屏幕上会有一个橙色方框。调整HuskyLens与条形码的角度和距离,让橙色方框尽量框住整个条形码。 按下“学习按键”学习第一个条形码,屏幕上有消息提示:“再按一次继续,按其他按键结束”。用相同方式学习其它条形码。如果不再需要学习了,则在倒计时结束前按下”功能按键”即可,或者不操作任何按键,等待倒计时结束。 HuskyLens显示的条形码ID与学习的先后顺序是一致的,也就是:ID会按顺序依次标注为“ID1”,“ID2”,以此类推。请按以下顺序进行学习。 (3)识别条形码 HuskyLens识别到已学习过的条形码,屏幕会框选出条形码并显示ID,不同条形码可以同时识别并追踪,且边框颜色也不同。 7.4.2 Mind+舞台场景布置 (1)添加背景 把鼠标移到“背景库”,点击“上传背景”,打开文件夹上传背景文件“超市场景”。 在“背景”模块里编辑背景图片大小和位置,让背景覆盖整个画布,图片最右侧的收银台显示在画面中。 (2)添加角色 保留mind+角色。在“角色库”选择“上传角色”,打开本地文件夹选择“Huskylens”完成上传。 调整角色在舞台中的大小和位置,舞台布置如下图所示: 7.4.3创建商品库 实现效果:超市里的商品信息都是提前录好的,所以我们也要先录入商品信息。使用列表功能,新建列表并命名”商品库“,录入将商品的名称与单价信息。 点击左侧”变量“模块,找到”新建列表“并点击,输入列表名点击确定。 列表创建完成后左侧会出现列表名称和列表指令,勾选列表可在舞台区显示。通过点击+号新增列表项,-号删除列表项。如下图所示录入5件商品的名称和单价,例如:苹果¥5。 <知识延申> 什么是列表? 列表是数据结构术语,指一种数据项构成的有限序列,也就是按照一定的线性顺序,排列而成的数据项的集合,在这种数据结构上进行的基本操作,包括对元素的的查找,插入,和删除。 7.4.4 Huskylens条形码识别 实现效果:点击绿旗,Huskylens提示”请开始扫描商品“。把商品条形码放到Huskylens摄像头前,获取条形码信息。设置变量ID存储Huskylens识别到的条形码ID号。判断条形码是否已学习。 7.4.5 获取商品信息并显示 实现效果:当Huskylens识别到学习的商品条形码ID时,获取商品库中对应的信息。将信息中包含的商品名及单价分别加入购物清单和小计列表,并实时更新商品总价。 使用变量ID,获取商品库中对应编号的数据。(Huskylens学习顺序需与商品库顺序一致)。当Huskylens识别到ID1-5的条形码时,就能够得到对应的商品信息啦。 新建变量:物品,单价,总价。 新建列表:购物清单,小计。 商品库中的每一项数据都包含物品名和单价两部分信息。当我们在扫描商品条形码时,将对应的”物品“加入”购物清单“列表,将”单价“加入”小计“列表。商品总价通过单价相加获得。 在运算符模块中找到如上指令,可以获取字符串中的某一段字符。使用这个指令将商品库中的商品信息截取,分别用变量”物品“和”单价“进行储存。 与Huskylens条形码识别的代码进行组合,并当绿旗点击时删除之前的”购物清单“和”小计“里的所有项目,将总价归零。当扫描学习过的条形码时,获取商品库中对应的信息加入购物清单和小计,计算总价并告知顾客。这里要注意,Huskylens扫描商品条形码时,只要变量ID已学习的判断为真,内部的代码会循环执行。为避免不断添加相同的商品,需在循环中增加延时,”说总价“后等待的3秒可以实现相同的效果。全部代码如下: 7.5 总结拓展 7.5.1 知识小结 硬件知识:Huskylens条形码识别功能的应用 编程知识:新建列表并理解列表功能;字符串的截取和合并 7.5.2 项目拓展 如果其中一个商品我们买了多个,在第二次扫描后,购物信息要如何显示?试试看将商品的数量也在舞台中展示,并实时更新小计的金额。 我们需要先判断条形码ID的对应商品是否已包含在购物清单里。 新建列表:数量。储存商品的数量,如果已经扫描过,把对应商品数量+1 新建变量:编号。记录已购商品在购物清单中的顺序编号,获取物品当前的数量和小计。 7.6 拓展阅读 7.6.1什么是条形码 条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条(简称条)和白条(简称空)排成的平行线图案。条形码可以标出物品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点、类别、日期等许多信息,因而在商品流通、图书管理、邮政管理、银行系统等许多领域都得到广泛的应用。 7.6.2条形码识别原理 条码符号是由反射率不同的“条”、“空”按照一定的编码规则组合起来的一种信息符号。由于条码符号中“条”、“空”对光线具有不同的反射率,从而使条码扫描器接受到强弱不同的反射光信号,相应地产生电位高低不同的电脉冲。而条码符号中“条”、“空”的宽度则决定电位高低不同的电脉冲信号的长短。扫描器接收到的光信号需要经光电转换成电信号并通过放大电路进行放大。由于扫描光点具有一定的尺寸、条码印刷时的边缘模糊性以及一些其他原因,经过电路放大的条码电信号是一种平滑的起伏信号,这种信号被称为“模拟电信号”。“模拟电信号”需经整形变成通常的“数字信号”。根据码制所对应的编码规则,译码器便可将“数字信号”识读译成数字、字符信息。 7.6.3商品识别 对于购买商品的判断,有几种较为流行的方式。一种是通过RFID(Radio Frequency Identification,无线射频识别)技术,每种商品中都嵌入有电子芯片,芯片中记录商品的名称及价格等信息。消费者在通过自助收银区时,会有感应设备读取芯片中的信息,从而确定所购买的商品。 另一种是通过图像识别技术,采集消费者拿取与退回商品的动作,以及货架中商品的变化状态来判断商品是否被购买。同时依靠红外传感器、压力传感器等设备确定商品的重量等信息。这样超市不仅仅知道消费者买了什么,也同样知道买了多少。 大数据时代,无人超市的运营更为高效与合理。货架商品的实时检测,方便及时完成补货等操作,同时也记录下消费者的购买喜好。实时的客流量、日均停留时间、回头率等各种运营数据的检测与分析,让超市更加了解消费者。未来,无人超市也许会成为一种趋势。 (部分图片来源于网络,只为课程内容配图,不做商用。如果您发现文章内有侵犯您知识产权的作品,请直接私信我们,我们会及时修改或删除。) 附录1:程序指令 附件下载: |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed