基于EASYDL模型的图像识别数据处理系统
- 需求分析
1.1软件背景分析
世界已经进入工业自动化的时代。随着图像识别、语音识别、机械稳定化的发展。自动化已经成为公司或者企业发展的重要方向。自动化是指机器设备或生产过程在不需要人工直接干预情况下,按照预期的目标实现测量、控制等信息处理的过程。工业自动化要求的是自动和精准。自动控制可以通过传感器或者摄像头工具等实现。精准测量或者控制需要图像检测并识别到一定的精度范围。在工业自动化中,图像识别成为机器自动工作的眼睛。
工业自动化中的无人物流搬运系统是一种典型的自动化系统。无人物流系统分为好几大类别,有小型机器人按照路径将货物送到指定区域;有半导体物流天车搬运系统,通过抓取物体实现物体的搬运;有通过大型智能机器进行分类一堆混乱物体系统。这几类物流搬运系统都会用到计算机视觉图像识别,物体检测功能。本文就物流系统中的计算机识别为例进行扩展,设计一个基于EASYDL模型的图像检测和识别系统。
1.2软件作用范围
软件适合工业自动化中物体检测、物体识别,也适合于互联网公司图像处理的识别。就工业中的校对位置,或者寻找物体所在坐标,或者识别物体的距离远近有着重要的价值。
1.3软件开发技术
软件开发技术是软件开发之前要确定的条件之一。软件开发的技术应当选集成度高,开发效率高的技术。
- VS2019软件作为编程工具,C#作为编程语言,Sqlserver2019作为数据库软件。通过Web项目为客户提供美观的界面。
- EASYDL做为模型进行训练用户提供的图片数据。我们选取优异的模型结果进行导出SDK,为下一步的图像识别或者检测提供可靠的输出结果。
- Web项目采用MVC框架。前端用html技术,通过Control处理前端和后端传来的数据,后端是Sqlserver。
1.4功能性需求
- 用户注册登录
系统为使用者提供注册功能,需要邮箱验证码进行验证注册,注册数据通过sqlserver保存到数据库。登录需要数据用户名密码验证登录。
- 管理员登录
系统有一个管理员默认用户名admin和密码admin,可以上传最新的图像识别信息,或者图像识别博客,能够在主页中进行展示。
- 模型图像识别需求
系统需要给出图像识别的具体步骤。给出图像识别先要解决如何在EASYDL中上传大量文件,并能够将训练数据导出到本地,并启动相关服务。
- 图像检测识别
通过在网页中选择本地图片,然后进行相关识别,得到识别的图片。得到的识别图片可以下载到本地。
- 图像识别数据处理
我们要输入图片识别类型,照相机以及物理距离等得到自己想要校对物体或者照相机如何移动。
1.5非功能性需求
1.输入数据量规定合理,输出格式满足要求。
2.可以随时对数据进行增加,删除,修改,查询各种操作。
3.可以通过日志了解故障现象,发生时间。
4.输入界面美观大方,功能区分显眼,文字描述通俗易懂,并发性高,吞吐量大,系统安全有保障。
- 软件总体设计
2.1软件结构图
基于EASYDL模型的图像识别数据处理系统共有登录注册模块、管理员管理图像识别信息模块、EASYDL模型训练数据文档模块、图像检测识别模块和识别类型数据处理模块。图1为系统的软件结构图,概括了系统的所有功能信息。
图1 系统软件结构图
2.2功能模块组织
登录注册模块
注册采用的是通过邮箱验证的方式进行注册,在注册时会要求用户提供用户名、密码、和邮箱,系统会自动给注册邮箱发送验证码信息,若输入正确则验证成功,成功注册。用户登录需要验证用户名和密码,若与数据库中用户名密码一致则登录成功,进入主界面。
管理员管理图像识别信息模块
管理员账号密码是给定的admin,admin。管理员登录系统中,可以上传、修改、删除等图像识别相关内容信息,内容信息会显示到主界面。
EASYDL模型训练文档模块
系统是根据EASYDL模型进行图像识别的,所以会介绍EASYDL如何训练模型以及导出SDK的步骤。模型中识别可能会涉及到1个或者多个物体的识别,系统会根据识别结果进行获取一定的识别信息。
图像检测识别模块
图像检测模块,需要用户开启本地SDK服务,上传需要检测的图片,图片最好是平行与该物体时的照片。检测时会有结果返回,包括图像识别框、置信度的返回。
识别类型数据处理模块
识别类型数据处理模块是系统中的核心模块。我们识别到了一个物体,这个物体在图像中的位置。工业中的自动校正需要识别出整个物体,同时我们需要移动机械的位置进行矫正从而可以准确控制该物体。我们可以算出当前物体与照相机的距离,也能够拿到物体是不是我们需要的角度或者位置从而进行自动校正工作。
- 软件详细设计
软件详细设计围绕是软件中的各个功能的细节实现,我们要设计分析软件中的各个功能,思考实现此功能更好的技术或者框架。
C#借鉴了C++和java语言的优秀地方,又在MVC框架及封装上超越了这两种语言,系统通过C# .net技术进行开始项目,这能够保证系统的稳定性。系统采用工厂模式、单例模式等设计模式等保证系统的健壮性。
登录注册模块实现单点登录,登录时候只能保证一个用户的登录。要保证一定用户数量并发性。
- 软件实现
- 软件测试
- 总结