基于深度学习和图像多样化分析技术的货物类型识别技术研究

作者: 娄莉 徐学宇 牛国锋 朱苗苗

基于深度学习和图像多样化分析技术的货物类型识别技术研究0

关键词:深度学习; 图像多样化分析; 货物识别

0 引言

在当今竞争激烈的全球商业环境中,中国作为世界级工厂的大国优势也在日益凸显,国内海量仓储货物的管理将耗费大量人力、物力资源。仓储货物管理至今仍然有许多依靠人力完成货物出入库时的信息登记和货物统计,该项工作不仅信息登记效率低,统计速度慢,还容易导致统计结果出错,而且人工成本较高[1]。目前,我国“物联网+”技术不断成熟,在各个领域内得到广泛应用,仓储货物识别及管理的现状对人们提出了更高的要求,要能够高效地实现仓储货物的智能化管理。随着数字技术的发展,图像视觉内容在仓储货物管理中能够起到很好的辅助作用。如何搜索到所需要的图像成为一个挑战,特别是在数据库中搜索相似的内容,即基于内容的图像检索是一个由来已久的研究领域,实时检索需要更高效、更准确的方法。人工智能在基于内容的检索方面取得了进展,极大地促进了智能搜索的进程。基于深度学习进行图像检索工作,自动化程度不断提高,并逐渐趋于高速小型化、智能化[2]。如何使用深度学习进行图像检索,并根据深度网络结构、深度特征、特征增强方法和网络微调策略等方法应用到仓储货物的管理中需要进行研究。仓储货物验收、复检等作业由于种类多且数量庞大,导致作业费时费力。本应用系统可实现自动对货物进行快速图像比对后查验识别,排查货物遗漏或错误等问题,从而减少人力与时间资源的成本投入,大大提高货物识别筛查验收效率,为仓储货物、快递公司等企业降低相关成本。

1 云端EasyDL 开发平台及系统架构

1.1 云端EasyDL 开发平台

2017年11月,EasyDL在国内率先推出针对AI零算法基础或者追求高效率开发的企业用户的AI开发平台,平台背后主要使用了深度学习的技术,提供从数据采集、标注、清洗到模型训练、部署的一站式AI开发能力。本系统在云端使用EasyDL AI开发平台,采用一站式完成模型训练及部署工作。EasyDL图像支持定制图像分类、物体检测、图像分割三类模型。这三类模型有效地利用图像多样化分析技术对图像进行处理,功能分别如下[3]:

1) 图像分类:识别一张图中是否为某类物体、某一状态或场景,主要应用于需要对整张图片内容的对比后进行分类的简单场景,相对比较单一。

2) 物体检测:检测图中每个物体的位置、名称等特征,应用在适合图中有多个主体要识别、要识别主体位置及数量的较复杂场景。

3) 图像分割:对比物体检测,支持用多边形标注训练数据模型,应用于要求较高的像素级识别目标,适合图中有多个主体、需识别其位置或轮廓的复杂场景。

1.2 系统架构及配置

本系统通过工作机终端连接到云端 EasyDL AI开发平台,外接网络摄像头,系统基本架构如图1所示。

通过工作机终端进行系统配置,在config文件中配置好摄像头相关参数信息,包括外接摄像头配置IP 地址,访问http端口、访问账号和密码等,配置数据库相关信息,包括设置服务器地址、访问账号、访问密码、数据库名等,并且进行数据库连接。同时设置系统处理日志输出到指定的文本文件中,日志记录文件将按照日期自动生成。

1.3 系统安全设计

公有云API、私有服务器和设备端SDK均支持图像分类、物体检测、图像分割三种模型。

训练完成的模型部署在私有CPU/GPU服务器上,支持私有API和服务器端SDK两种集成方式,可在内网或无网环境下使用模型,确保数据隐私。在私有API方式下,将模型以Docker形式在本地服务器(仅支持Linux) 上部署为http服务,可调用与公有云API 功能相同的接口,可纯离线完成部署,服务调用便捷,可进行设备端离线计算。在服务器端SDK方式下,将模型封装成适配本地服务器(支持Linux和Windows)的SDK,可集成在其他程序中运行,占用服务器资源更少,使用方法更灵活。

2 系统深度学习及物体检测

2.1 系统深度学习过程

2.1.1 模型创建

按照导航,在创建模型中填写系统要创建的模型名称、功能描述及个人相关信息等,即可创建模型,创建好的模型可在“ 我的模型”中进行相关信息的修改和查看。本系统创建的物体模型信息如图2所示。

2.1.2 模型训练

模型训练即系统的深度学习过程,通过学习数据集中的样本数据,让系统“认识”物体对象,并“记忆”对象特征。在EasyDL平台进行训练的过程中,可以可视化在线操作训练任务的启停、训练任务的配置。可以大幅减少线下搭建训练环境、自主编写算法代码的相关成本前期的数据提交到系统中后,在导航中的训练模型模块中选择需要训练的模型以及相应的数据,然后开始训练。训练完成的模型存储在云端,可通过独立Rest API调用模型,实现AI能力与业务系统或硬件设备整合。

EasyDL目前提供两种训练方式:常规训练和精度提升配置包。本系统采用精度提升配置包,选用百度自有超大规模预训练模型,让模型有更好的精度效果,并提供按云调用时延选择网络模型形式,根据实际需求及应用场景,选择优质模型。

训练时的算法选择也是重要的一环。不同的部署方式下,可以选择不同的算法。本系统选择采用公有云API中的高精度算法完成模型训练。

2.1.3 模型校验

模型训练完成后进行模型的校验。校验模型可通过模型评估报告或模型校验了解掌握模型效果。模型评估报告是在模型训练完成后,在导航“我的模型”列表中展示和查看模型效果以及详细的模型评估报告。模型在线校验:可以在左侧导航中找到“校验模型”,在线校验模型效果。模型校验功能如图3 所示。

2.1.4 发布模型

训练完成后,可将完成的模型部署在公有云服务器、通用小型设备、本地服务器等,可实现灵活适配各种使用场景及运行环境[4]。

1) 公有云在线服务部署:将训练完成的模型存储在云端,通过独立Rest API调用模型,实现AI能力与业务系统或硬件设备整合。云端部署的优越性在于具有完善的鉴权、流控等安全机制,GPU集群稳定,实现承载高并发请求,同时支持查找云端模型识别错误的数据,纠正结果并将其加入模型迭代的训练集中,不断优化模型效果。

2) 离线服务部署:训练完成的模型也可整体打包为纯离线服务,下载到本地后实现稳定调用。纯离线服务按部署硬件芯片不同分为本地服务器部署、通用小型设备部署。为了提供更好的算法与硬件推理效果,EasyDL提供软硬一体化部署方案。

2.2 物体检测

2.2.1 检测数据集管理

本系统在创建数据集时,包含了大量的用于机器识别深度学习的标签样板数据,建立相应的数据集,包含大量“海康威视””“紫光”“ 维达”等标签样板数据,标签样板数据集部分图如图4所示。用于检测的标签样板越多,系统的对比结果精确度就越高。

2.2.2 标签标注

标签可以理解为物体的标识,经过对比识别,通过标签标注将一张检测图中某物体标注为某特定标签,即系统将物体与该标签绑定,也是系统识别物体的过程。

2.2.3 公有云服务发布

物体检测结果在正式使用之前,还需要做的一项工作是为接口赋权,即物体检测API 发布。登录EasyDL云端控制台中创建一个应用,获得由一串数字组成的appid,然后就可以正式使用。

3 终端图像识别

3.1 摄像预览及图像识别

系统通过调用摄像头官方提供的CHCNetSDK DLL库调用摄像头,远程访问到摄像头并获取实时流数据,进行预览。

图像识别是将图像根据提取出的特征进行分类,进而将待识别的图像与已有的图像分类进行匹配[5]。图像识别可采用在线手动识别和离线自动识别两种方式实现。

3.1.1 在线手动识别

在线的手动识别功能通过人为的手动触发一次识别功能,系统会自动完成图像的抓取、图像检测和检测结果数据的统计。图像抓取是从当前网络摄像头的视频流中抓取某一时刻的图片,用于与数据集中的标签样板进行比对。图像检测过程是系统首先通过API Key 和Secret Key 获取Access_Token,通过HTTP/POST方式向云端发出请求,然后Access_Token 调用发布的API地址,并将图片作为参数提交请求,系统根据API返回的结果进行图像检测结果解析,响应结果正确,返回图片标识ID、分类名称、图像位置信息及图像识别结果的物体及数量等,并将检测结果的位置坐标在图像中绘制矩形框进行明显标识;当响应结果为错误时,返回错误并输出保存至日志文件中,最后将检测结果保存至Sqlserver数据库的数据表中。本系统采用在线手动识别模式,图像识别相应结果正确完成后的识别结果清晰,效果明显,如图5所示。

3.1.2 离线自动识别

离线自动识别功能使用系统定时器,可按需设置触发间隔时间,比如定时器设定时间间隔为1s,定时的自动触发识别功能每隔1秒执行1次自动识别操作,然后按照在线手动识别同样的步骤完成图像的识别,并输出结果。

3.2 实现的App 主要程序代码

本系统实现的主要程序代码如图6所示。

4 结束语

机器深度学习是仓储货物图像分析及类型识别的强大工具之一,它可以有效应用于物体检测、图像分割及物体分类中。本应用系统采用云端EasyDL AI 开发平台,通过工作机终端外接网络摄像头系统架构,设计实现基于机器深度学习和图像货物类型识别系统。本系统应用架构简单,针对仓储、物流企业实用性强,可为企业减少人力和时间资源的投入成本,大大提高货物识别筛查和验收效率。

上一篇 点击页面呼出菜单 下一篇