本发明涉及一种基于树莓派的服装识别系统及方法。

背景技术:

随着人们生活水平的不断提高,人们对于服装的需求不再是传统意义上的生活必需品,服装已经成为人们生活中的一种时尚消费品,所以很大一部分的消费者家里的衣服多到很难进行管理,且经常忘记按照类别放置衣服,从而在寻找某件衣服上要花费大量的时间,完全依靠人工对大量的服装进行分类管理效率低下,在大量的服装中寻找某类服装的难度很大,而且比较费时,不能满足实时性存取服装的要求。

技术实现要素:

有鉴于此,本发明的目的在于提供一种基于树莓派的服装识别系统及方法,能够智能、快速、准确的识别并存取服装。

为实现上述目的,本发明采用如下技术方案:

一种基于树莓派的服装识别系统,包括树莓派开发板;所述树莓派开发板连接有用于采集待识别服装图像采集模块、用于识别服装类型的服装识别模块、用于显示服装识别信息的显示模块、用于启动服装存储功能的第一触摸传感器模块、用于启动服装取用功能的第二触摸传感器模块和用于语音控制的语音模块;所述树莓派开发板还内置有linux操作系统的sd卡。

进一步的,所述的树莓派开发板的版本是paspberrypi3modeb型卡片式电脑,采用1.4ghz的64位四核处理器,板载bcm43143wifi和低功耗的蓝牙,有4个usb接口,1个网口,1个hdmi,一个4路立体声输出和复合视频端口,一个csi摄像头输入接口用于连接树莓派摄像头,一个微型sd端口用于下载操作系统以及存储数据,以及1个40针的gpio口。

进一步的,所述图像采集模块用树莓派专用的8百万像素的raspberrypicameramodulev2摄像头,与树莓派的csi摄像头接口通过15芯的排线连接。

进一步的,所述的服装识别模块使用ssd+mobilenet模型训练服装数据集以实现服装类型的识别。

进一步的,所述的触摸传感器模块采用ttp223b触摸传感器。

进一步的,所述的语音模块采用具备蓝牙功能的音响和带2.0usb口的麦克风连接树莓派的usb口。

一种基于树莓派的服装识别系统的识别方法,包括以下步骤:

步骤s1:当用户需要存储服装时,用户通过第一触碰触摸传感器启动存储服装的功能;

步骤s2:树莓派摄像头采集待存储的服装图片,并将图片传输至图像识别模块;

步骤s3:图像识别模块根据待存储的服装图片,通过服装识别模型识别出服装类型,并根据识别出的服装类型输出存放的位置;

步骤s4:将服装类型和存放的位置存储至sd卡,并输出至显示屏显示,同时语音模块以语音的方式告知用户这两个信息;

步骤s5:当用户需要取用服装时,用户通过第二触碰触摸传感器启动存取用服装的功能,并通过麦克风录制待取的服装名字;

步骤s6:将待取的服装名字与sd卡中存储中的各类服装的名字进行比对,若找到匹配的服装,就将该衣服的存放位置通过语音和显示屏的方式告知用户。

本发明与现有技术相比具有以下有益效果:

本发明不仅能够帮助用户快速准确的识别某类服装类型并存储到固定的位置,使得用户对服装的分类管理更加合理。还能通过语音的方式在大量的服装中寻找到某类要取的服装,所以能够节省人工归类服装和寻找某类服装的时间。

附图说明

图1是本发明系统结构示意图;

图2是本发明一实施例中识别的工作流程图;

图3是本发明一实施例中服装识别结果图;

图4是本发明一实施例中存储服装的流程示意图;

图5是本发明一实施例中取储服装的流程示意图。

具体实施方式

下面结合附图及实施例对本发明做进一步说明。

请参照图1,本发明提供一种基于树莓派的服装识别系统,包括树莓派开发板;所述树莓派开发板连接有用于采集待识别服装图像采集模块、用于识别服装类型的服装识别模块、用于显示服装识别信息的显示模块、用于启动服装存储功能的第一触摸传感器模块、用于启动服装取用功能的第二触摸传感器模块和用于语音控制的语音模块;所述树莓派开发板还内置有linux操作系统的sd卡。

在本实施例中,所述的树莓派开发板的版本是paspberrypi3modeb型卡片式电脑,采用1.4ghz的64位四核处理器,板载bcm43143wifi和低功耗的蓝牙,有4个usb接口,1个网口,1个hdmi,一个4路立体声输出和复合视频端口,一个csi摄像头输入接口用于连接树莓派摄像头,一个微型sd端口用于下载操作系统以及存储数据,以及1个40针的gpio口。

在本实施例中,所述图像采集模块用树莓派专用的8百万像素的raspberrypicameramodulev2摄像头,与树莓派的csi摄像头接口通过15芯的排线连接。

在本实施例中,所述的服装识别模块使用ssd+mobilenet模型训练服装数据集以实现服装类型的识别。

在本实施例中,所述的触摸传感器模块采用ttp223b触摸传感器。

在本实施例中,显示屏采用hdml接口与树莓派的hdml接口相连,并采用2a的电源供电。语音模块使用具备蓝牙功能的音响,通过树莓派开发板上的蓝牙适配器配对树莓派与音响的蓝牙,以达到无线传输的目的。使用带2.0usb口的麦克风连接树莓派的usb口,以实现与树莓派的人机对话,已完成服装的存储和取出的功能。

如图4和图5所示,在本实施例中,一种基于树莓派的服装识别系统的识别方法,将安装有linuxmate16.04系统的sd卡插入树莓派的sd卡槽中,再将树莓派摄像头插入树莓派的sci接口中,然后启动电源使树莓派处于待机状态,具体包括以下步骤:

步骤s1:当用户需要存储服装时,用户通过第一触碰触摸传感器启动存储服装的功能;

步骤s2:树莓派摄像头采集待存储的服装图片,并将图片传输至图像识别模块;

步骤s3:图像识别模块根据待存储的服装图片,通过服装识别模型识别出服装类型,并根据识别出的服装类型输出存放的位置;

步骤s4:将服装类型和存放的位置存储至sd卡,并输出至显示屏显示,同时语音模块以语音的方式告知用户这两个信息;

步骤s5:当用户需要取用服装时,用户通过第二触碰触摸传感器启动存取用服装的功能,并通过麦克风录制待取的服装名字;

步骤s6:将待取的服装名字与sd卡中存储中的各类服装的名字进行比对,若找到匹配的服装,就将该衣服的存放位置通过语音和显示屏的方式告知用户。

如图2和图3所式,本发明在树莓派开发板上使用python3编程语言编写服装识别程序。主要分为以下几个部分,分别是使用摄像头获取服装图像部分、加载已训练好的ssd_mobilenet_v1_cloth.pb模型部分、服装检测部分和检测结果可视化部分。

服装识别模型的训练过程是:按照服装的厚薄、上装、下装将服装数据集划分为14类,分别是羽绒服、西装型外套、夹克、高领毛衣、圆领毛衣、帽衫、衬衫、t恤衫、背心、连衣裙、牛仔裤、背带裤、半身裙和短裤。然后获取各类服装图片,每一类服装图片的数量为150-300张不等。将收集到的各种服装图片做成服装数据集,使用labelimg标注工具标注每张图片以生成xml文件,将xml文件分成训练、测试、验证三部分,再分别生成train.tfrecord、test.tfrecord和validation.tfrecord文件,这三个文件是后续训练识别模型的关键。根据这14类服装制作label_map.pbtxt文件,格式如下:

item{

id:1

name:'downjacket'

}

其中id号依次从1到14,name是每类服装对应的英文名。

本实施例从tensorflowdetectionmodelzoo上获取预训练模型ssd_mobilenet_v1_coco_2018_01_28,其中包含model.ckpt、checkpoint和配置文件这三个关键文件。将预训练模型中的配置文件复制一份到label_map.pbtxt所保存的文件夹下。修改配置文件的以下6个部分,如:将num_class改成服装类别数量14,将fine_tune_checkpoint改成预训练模型的model.ckpt所在的路径,将train_input_reader和eval_input_reader中label_map_path改成label_map.pbtxt所在的路径,将train_input_reader中的input_path改成train.tfrecord文件所在的路径,再将eval_input_reader中的input_path改成validation.tfrecord文件所在的路径。然后使用以下命令开始训练模型:

python3train.py--logtostderr--train_dir=training--pipeline_config_path=training/ssd_mobilenet_v1_coco.config

其中train.py是模型开始训练的关键文件,train_dir是label_map.pbtxt和配置文件保存的地址,也是模型训练过程中ckpt中间文件的保存地址,pipeline_config_path是配置文件保存的地址。

当损失loss稳定在一个比较小的值之间时,即loss降到1以下时,则可以停止训练。训练过程中会自动保存模型,但保存的是上下文模型,需要运行export_inference_graph.py程序将上下文模型转成二进制模型,所用的具体命令如下:

python3export_inference_graph.py--input_typeimage_tensor--pipeline_config_pathtraining/ssd_mobilenet_v1_coco.config--trained_checkpoint_prefixtraining/model.ckpt-30990--output_directoryinference_graph/ssd_whsyxt_inference_graph

其中model.ckpt后面的数字需根据训练过程中产生的ckpt文件后的最大数字填写,output_directory是二进制模型保存的地址,在该文件中生成的服装识别模型为frozen_inference_graph.pb,将该模型命名为ssd_mobilenet_v1_cloth.pb。

首先,将树莓派摄像头对准待识别的服装,启动摄像头拍摄服装,将拍摄的照片保存在指定的文件夹下。加载已训练过的ssd_mobilenet_v1_cloth.pb服装识别模型,使用该模型对刚刚拍摄的服装图片进行检测。

检测待识别服装的过程是:对于输入的服装图片,先进行图像预处理。图像预处理的过程是:先进行图像灰度化,对rgb三分量进行加权平均得到灰度图像,以减少处理的数据量和提高处理速度。接着,进行图像的几何变换,通过平移、旋转和缩放这几个变换来对采集到的服装图像进行处理,以矫正由于图像采集摄像头的摆放位置、成像角度、透视关系以及镜头自身原因导致的随机误差。最后,进行图像的增强,采用中值滤波法去除或减弱噪声对图像质量的影响。接着,使用模型中6个层数各不相同的卷积层得到hxwxchannel的extractedfeaturemap,再经过3x3x(25xnum_default_box)的深度可分解卷积核,卷积成hxwx(25xnum_default_box)的featuremap作为物体检测的预测。抽取其中六层的featuremap,在featuremap的每个小格(cell)上生成一系列固定大小defaultbox。假设每个featuremapcell有k个defaultbox,那么对于每个defaultbox都需要预测c个类别score和4个offset(位置信息),那么如果一个featuremap的大小是nxm,也就是有nxm个cell,那么这个featuremap就一共有(c+4)*k*nxm个输出。其中c*k*m*n表示每个defaultbox的confidence,即类别的概率;数量4*k*m*n是localization输出,表示每个defaultbox回归后的坐标。再将生成的所有defaultbox全部丢到nms(极大值抑制)中,使用nms过滤掉背景defaultbox和重叠度较大的defaultbox,最后输出筛选后的defaultbox即为检测结果。最后将识别的结果通过可视化部分的程序在窗口显示出来,显示的结果是在原有检测图片的基础上框出图片中的待识别的服装,并将服装的类型和应该存放的位置在图上标出来。

以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

python 图片识别服装_基于树莓派的服装识别系统及方法与流程相关推荐

  1. plc控制可调节阀流程图_一种基于PLC神经外科引流控制系统及方法与流程

    本发明属于医疗辅助技术领域,尤其涉及基于PLC神经外科引流控制系统及方法. 背景技术: 神经外科手术患者在做完手术后通常需要安置不同的引流管进行各种引流,这是一种常用的神经外壳急救手段,根据导管末端位 ...

  2. python提取人物特征_基于图像人物面部表情识别的特征提取优化方法与流程

    本发明涉及一种基于图像人物面部表情识别的特征提取优化方法,主要利用基于统计特征提取的二维主成分分析法和改进的粒子群算法优化图像矩阵的解,属于图像处理.模式识别和计算机视觉交叉技术应用领域. 背景技术: ...

  3. python实现人脸识别系统设计_基于ROS的人脸识别系统设计与实现

    基于ROS的人脸识别系统设计与实现 文/胡思旺 李春杰 [摘 要]摘 要 [期刊名称]<电子技术与软件工程> [年(卷),期]2019(000)007 [总页数]3 [关键词][关键词]R ...

  4. python语音控制智能家电_基于树莓派的智能家居语音控制系统

    2018-10 基于树莓派的智能家居语音控制系统 Intelligent home voice control system based on raspberry Pi 刘 华 , 田占生 , 冯宇飞 ...

  5. sim插拔识别时间_特斯拉+树莓派实现车牌识别检测系统

    转自机器之心 | 作者:Robert Lucian Chiriac | 参与:王子嘉.思.一鸣 怎样在不换车的前提下打造一个智能车系统呢?一段时间以来,本文作者 Robert Lucian Chiri ...

  6. python卡尔曼滤波室内定位_基于核函数与卡尔曼滤波的室内定位方法

    随着当今社会的发展,基于位置的服务变得越来越重要.室外定位技术以全球定位系统为基础,包括美国的GPS定位系统,俄罗斯的GLONASS定位系统以及我国自主研制的北斗卫星导航定位系统,利用这些定位系统可以 ...

  7. 深度相机 物体三维重建_基于深度相机的实时物体三维重建方法与流程

    本发明涉及三维成像领域,特别是一种能够实时地对物体或人体进行三维重建的方法. 背景技术: 三维重建技术一直是计算机图形学和计算机视觉领域的热点课题.三维重建就是从输入数据中建立3D模型.随着各种面向普 ...

  8. 大数据精准投放平台_基于大数据的广告精准投放方法与流程

    本发明涉及大数据及广告投放技术领域,尤其涉及一种基于大数据的广告精准投放方法. 背景技术: 随着市场经济的迅猛发展,广告成为经济行为中必不可少的重要工具,而由于用户群组成复杂,广告数量多,投放广告的终 ...

  9. aes解密流程图_基于AES和混沌的图像加密方法与流程

    本发明涉及一种信息加密技术,特别是涉及一种图像加密方法. 背景技术: 在军事系统.电子政务.金融系统以及日常生活等领域,每天都会产生大量的图像.为保护这些图像信息内容不被窃取,图像加密技术引起了学术界 ...

最新文章

  1. 据说只有程序员才看得懂 | 每日趣闻
  2. Centos7搭建Jira服务器
  3. Richardson RazorSQL中文版
  4. 如何查看静态库和动态库是32位还是64位
  5. 学生成绩管理系统python课程设计,简易学生成绩管理系统Python
  6. MySQL / 索引模型
  7. MVC UpdateModel的未能更新XXXXX的类型模型
  8. 模拟器不全屏_刺激战场:腾讯模拟器怎么设置才不卡
  9. hello python的代码,python基础教程之Hello World!
  10. 直观秒懂:这波动图全是泵,应有尽有!
  11. 在 MyEclipse 5.1GA 上使用 XFire 编写 Web Service
  12. 【干货】DTC模式如何引领消费品牌企业实现创新-罗兰贝格.pdf
  13. Linux 命令(123)—— iostat 命令
  14. python需要下载哪些软件-Python 从不懂到入门
  15. 修复VC6.0打开菜单项以及添加工程菜单项
  16. idea快捷键汇总mac_IntelliJ IDEA for mac 快捷键大全
  17. TIA博途WinCC如何组态设置声音报警输出?
  18. MongoDB——基础篇(文档操作)
  19. 微信小程序客服自动推送欢迎语php,如何实现小程序客服自动提示回复小程序卡片,弹出对应内容?小程序客服系统...
  20. java web play_玩转 Java Web 应用开发:Play 框架

热门文章

  1. matlab已知圆心和半径怎么作圆,MATLAB中已知圆心和半径画圆
  2. AdGuard 2.5.1.913 nightly 广告拦截工具
  3. 腾讯视频IP读物衍生电视剧运营
  4. java项目统一打印入参出参等日志
  5. 朝鲜青年结婚流行新大件——手机
  6. HPM6750系列--第一篇 初识HPM6750
  7. 斑马条纹是为了驱散舌蝇和马蝇
  8. Android GC日志
  9. 37岁生日快乐哦:说点大实话
  10. 数字证书连接服务器异常,连接时Socket.io + SSL +自签名CA证书出现错误