发明内容
本申请的目的在于提供一种衣物分拣方法、装置、计算机可读介质以及电子设备,至少在一定程度上克服相关技术中衣物的破损判断不准确导致衣物分拣不当等技术问题。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供一种衣物分拣方法,包括:
获取衣物的图像数据,识别所述衣物的图像数据,得到破损处图像数据;
识别所述衣物的破损处图像数据得到长度特征信息、位置特征信息和工整度特征信息;
根据所述长度特征信息、位置特征信息和工整度特征信息确定所述衣物的破损值;
基于所述破损值对所述衣物进行分拣。
在本申请的一些实施例中,基于以上技术方案,识别所述衣物的破损处图像数据得到长度特征信息,包括:
对所述破损处图像数据进行标记点拟合;
将所述标记点相互连接,将距离最远的两个标记点的距离作为长度特征信息。
在本申请的一些实施例中,基于以上技术方案,识别所述衣物的破损处图像数据得到位置特征信息和工整度特征信息,包括:
通过预训练的第一机器学习模型识别所述破损处图像数据,得到位置特征信息,所述第一机器学习模型是以破损处图像数据样本为输入,以位置特征信息为输出进行训练的机器学习模型;
通过预训练的第二机器学习模型识别所述破损处图像数据,得到工整度特征信息,所述第二机器学习模型是以破损处图像数据样本为输入,以工整度特征信息为输出进行训练的机器学习模型。
在本申请的一些实施例中,基于以上技术方案,根据所述长度特征信息、位置特征信息和工整度特征信息确定所述衣物的破损值,包括:
基于所述长度特征信息和所述工整度特征信息得到长度破损值和工整度破损值,基于所述位置特征信息确定衣物的破损所在位置;
若衣物的破损所在位置位于衣物的袖口或口袋位置,则确定所述衣物的破损值为零;
若衣物的破损所在位置位于衣物的边角位置或除袖口和口袋位置之外的非边角位置,则将所述长度破损值和工整度破损值求平均值得到所述衣物的破损值。
在本申请的一些实施例中,基于以上技术方案,根据所述长度特征信息、位置特征信息和工整度特征信息确定所述衣物的破损值,包括:
基于所述长度特征信息和所述工整度特征信息得到长度破损值和工整度破损值,基于所述位置特征信息确定衣物的破损所在位置;
若所述工整度破损值小于设定阈值,则所述衣物的破损值为零。
在本申请的一些实施例中,基于以上技术方案,根据所述长度特征信息、位置特征信息和工整度特征信息确定所述衣物的破损值,包括:
若所述工整度破损值大于等于设定阈值,则判断衣物的破损所在位置;
若衣物的破损所在位置位于衣物的袖口或口袋位置,则确定所述衣物的破损值为零;
若衣物的破损所在位置位于衣物的边角位置,则在所述长度破损值大于第一设定阈值时,将所述长度破损值作为所述衣物的破损值;
若衣物的破损所在位置位于除袖口和口袋位置之外的非边角位置,则在所述长度破损值大于第二设定阈值时,将所述长度破损值作为所述衣物的破损值,所述第一设定阈值大于所述第二设定阈值。
在本申请的一些实施例中,基于以上技术方案,基于所述破损值对所述衣物进行分拣,包括:
设立多个破损值区间;
确定所述破损值所在区间为待分拣区间;
将所述衣物分拣到所述待分拣区间对应的衣物中。
根据本申请实施例的一个方面,提供一种衣物分拣装置,包括:
获取模块,用于获取衣物的图像数据,识别所述衣物的图像数据,得到破损处图像数据;
识别模块,用于识别所述衣物的破损处图像数据得到长度特征信息、位置特征信息和工整度特征信息;
计算模块,用于根据所述长度特征信息、位置特征信息和工整度特征信息确定所述衣物的破损值;
分拣模块,用于基于所述破损值对所述衣物进行分拣。
在本申请的一些实施例中,基于以上技术方案,所述识别模块包括长度识别单元,所述长度识别单元包括:
拟合单元,用于对所述破损处图像数据进行标记点拟合;
连接单元,用于将所述标记点相互连接,将距离最远的两个标记点的距离作为长度特征信息。
在本申请的一些实施例中,基于以上技术方案,所述识别模块包括位置识别单元和工整度识别单元;
所述位置识别单元用于通过预训练的第一机器学习模型识别所述破损处图像数据,得到位置特征信息,所述第一机器学习模型是以破损处图像数据样本为输入,以位置特征信息为输出进行训练的机器学习模型;
所述工整度识别单元用于通过预训练的第二机器学习模型识别所述破损处图像数据,得到工整度特征信息,所述第二机器学习模型是以破损处图像数据样本为输入,以工整度特征信息为输出进行训练的机器学习模型。
在本申请的一些实施例中,基于以上技术方案,所述计算模块包括:
子特征获取单元,用于基于所述长度特征信息和所述工整度特征信息得到长度破损值和工整度破损值,基于所述位置特征信息确定衣物的破损所在位置;
位置判断单元,用于在衣物的破损所在位置位于衣物的袖口或口袋位置时,则确定所述衣物的破损值为零;
平均计算单元,用于在衣物的破损所在位置位于衣物的边角位置或除袖口和口袋位置之外的非边角位置时,将所述长度破损值和工整度破损值求平均值得到所述衣物的破损值。
在本申请的一些实施例中,基于以上技术方案,所述计算模块包括:
子特征获取单元,用于基于所述长度特征信息和所述工整度特征信息得到长度破损值和工整度破损值,基于所述位置特征信息确定衣物的破损所在位置;
第一判断单元,用于在所述工整度破损值小于设定阈值时,确定所述衣物的破损值为零。
在本申请的一些实施例中,基于以上技术方案,所述计算模块还包括:
第二判断单元,用于在所述工整度破损值大于等于设定阈值,判断衣物的破损所在位置;
第三判断单元,用于在衣物的破损所在位置位于衣物的袖口或口袋位置时,确定所述衣物的破损值为零;
第四判断单元,用于在衣物的破损所在位置位于衣物的边角位置时,且在所述长度破损值大于第一设定阈值时,将所述长度破损值作为所述衣物的破损值;
第五判断单元,用于在衣物的破损所在位置位于除袖口和口袋位置之外的非边角位置时,且在所述长度破损值大于第二设定阈值时,将所述长度破损值作为所述衣物的破损值;
其中,所述第一设定阈值大于所述第二设定阈值。
在本申请的一些实施例中,基于以上技术方案,所述分拣模块包括:
区间设立单元,用于设立多个破损值区间;
区间判断单元,用于确定所述破损值所在区间为待分拣区间;
分拣单元,用于将所述衣物分拣到所述待分拣区间对应的衣物中。
根据本申请实施例的一个方面,提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如以上技术方案中的衣物分拣方法。
根据本申请实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器被配置为经由执行所述可执行指令来执行如以上技术方案中的衣物分拣方法。
根据本申请实施例的一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上技术方案中的衣物分拣方法。
在本申请实施例提供的技术方案中,本申请通过获取衣物的图像数据,识别所述衣物的图像数据,得到破损处图像数据;再识别所述衣物的破损处图像数据得到长度特征信息、位置特征信息和工整度特征信息;根据所述长度特征信息、位置特征信息和工整度特征信息确定所述衣物的破损值;基于所述破损值对所述衣物进行分拣。通过本申请的衣物分拣方法,可以利用破损图像的长度特征信息、位置特征信息和工整度特征信息结合来对衣物的破损进行判断,可以准确的判断衣物的破损情况,并根据衣物的不同破损程度进行不同分拣,可以提高破损检测的准确度,减少了人工投入,降低了衣物回收的成本,避免出现破损识别不准确导致分拣不当问题,有利于衣物的后续处理。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
日常生活中,对于旧衣物的回收分拣,常常需要人工通过衣物的破损情况来判断衣物的破损程度,从而根据破损程度进行分拣,将不同破损程度的衣物进行不同的后续处理。
然而,利用人工进行分拣费时费力,而且存在分拣不准确的情况。而现有对于衣物的自动分拣中,会常常出现分拣错误的情况。其中,主要包括以下几个问题。第一,随着衣物设计的多样性,很多衣物会故意设计漏洞或条纹等来提高风格,因此,现有对于衣物的破损识别经常会将未破损的衣物作为破损衣物进行回收;第二,对于口袋和袖口等,常常也被识别为破损,导致不当分拣。第三,无法对破损程度做判断,即分拣结果只能实现破损回收和衣服完好不破损进行重新利用两种分拣情况,不会根据不同破损程度进行不同分拣。
以上这些问题,都会大大的影响衣物破损情况的判断,会出现分拣不当,导致旧衣物的实际破损情况与分拣的结果不匹配,这样会增加旧衣物的回收成本,不利于衣物的回收处理。
为了解决以上的技术问题,本申请公开了一种衣物分拣方法、衣物分拣装置、计算机可读介质以及电子设备,下面将通过各个方面进一步说明本申请的内容。
图1示意性地示出了应用本申请技术方案的示例性系统架构框图。
如图1所示,系统架构100可以包括终端设备110、网络120和服务器130。终端设备110可以包括智能手机、平板电脑、笔记本电脑、台式电脑等各种电子设备。服务器130可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。网络120可以是能够在终端设备110和服务器130之间提供通信链路的各种连接类型的通信介质,例如可以是有线通信链路或者无线通信链路。
根据实现需要,本申请实施例中的系统架构可以具有任意数目的终端设备、网络和服务器。例如,服务器130可以是由多个服务器设备组成的服务器群组。另外,本申请实施例提供的技术方案可以应用于终端设备110,也可以应用于服务器130,或者可以由终端设备110和服务器130共同实施,本申请对此不做特殊限定。
在本申请的一个实施例中,本申请的终端设备110或服务器130可以获取衣物的图像数据,识别衣物的图像数据,得到破损处图像数据;再识别衣物的破损处图像数据得到长度特征信息、位置特征信息和工整度特征信息;并根据长度特征信息、位置特征信息和工整度特征信息确定衣物的破损值;最后基于破损值对衣物进行分拣。其中,本申请的终端设备110或服务器130还可以是设置在衣物回收箱中的控制终端,当衣物通过衣物回收箱回收时,利用衣物回收箱的摄像头采集衣物的图像数据,并通过本申请的终端设备110或服务器130进行处理并执行分拣。本申请的终端设备110或服务器130还可以应用在衣物分拣设备中,例如,衣物分拣设备通过传送带传输衣物,通过传送带上的摄像头采集衣物图像数据,利用本申请终端设备110或服务器130利用本申请的衣物分拣方法来对传送带上的衣物进行分拣。
以上部分介绍了应用本申请技术方案的示例性系统架构的内容,接下来继续介绍本申请的衣物分拣方法。
如图2所示,图2示意性地示出了本申请衣物分拣方法的流程图。根据本申请实施例的一个方面,本申请提供一种衣物分拣方法,包括步骤S210-步骤S240。
在步骤S210中:获取衣物的图像数据,识别衣物的图像数据,得到破损处图像数据。
衣物的图像数据可以通过摄像头进行采集。摄像头可以对需要分拣的衣物进行自动拍照,本申请可以利用衣物回收箱上的摄像头来采集衣物的图像数据,也可以利用衣物自动分拣设备传送带正上方的摄像头来采集衣物的图像数据。
获取到衣物图像数据后,可以对衣物图像数据进行识别,以获得破损处图像数据。其中,本申请在对衣物的图像数据进行识别之前,还可以对衣物的图像数据进行预处理。预处理的方式可以是分别设定衣物的图像数据的标准长宽比,通过将衣物的图像数据进行放大缩小,以使衣物的图像数据的长宽比与基准长宽比相同。例如,本申请可以设定衣物的图像数据的基准长宽比为20cm*20cm。
其中,本申请对衣物图像数据进行识别的方法可以是将足够数量的破损处图像数据放入机器学习模型中进行机器学习,得到破损图像识别模型,然后将衣物图像数据输入破损图像识别模型,并对该衣物图像数据进行扫描,获取与破损图像识别模型相同的破损图像,将破损图像裁剪放大,以得到破损处图像数据。
本申请还可以利用RESNET算法(RESNET,残差网络算法,网络中包含了卷积层、一个全连接层,池化层会将其转化成一个特征向量,最后分类器会对这个特征向量进行计算并输出类别概率,主要应用于类别分类场景)对衣物图像数据进进行识别以得到破损处图像数据。
本申请还提供了一种识别衣物的图像数据,得到破损处图像数据的方法,如图3所示,图3示意性地示出了本申请得到破损处图像数据的方法流程图。本申请识别衣物的图像数据,得到破损处图像数据的方法包括步骤S310-步骤S320。
步骤S310:将衣物的图像数据根据连续像素组成切分成不同的子图像区域。
连续像素组成是指成片存在的相同像素,对于衣物来说,总体的颜色同属于一个风格,例如,一件上衣,其大部分区域都是白色,然后在领口位置有一些装置或衣服正面有一些装饰,对应红色,那么对应的这些都构成了连续像素组成。
本申请可以对衣物的图像数据识别后,根据连续像素组成将衣物的图像数据切分成多个子图像区域,例如,一件上衣切分之后,袖子部分是一个子图像区域,袖口部分构成了一个子图像区域,装饰部分构成了一个子图像区域等等。切分后形成了多个面积大小不同的子图像区域。
步骤S320:若子图像区域的面积小于特定阈值,则将该子图像区域对应的图像作为破损处图像数据。
本申请将面积小于特定阈值的子图像区域对应的图像作为破损处图像数据。对于破损处图像来说,其位于衣物中的区域一般较小,因此,当获取到不同的子图像区域后,将面积较小的几个子图像区域的图像作为破损处图像。为了避免出错,本申请还可以判断子图像区域的颜色,若该子图像区域的颜色是红色,绿色等较为鲜艳的颜色,对应的也会将这些区域排除,以避免部分衣物装饰部分面积太小的情况。本申请还可以将常见的破损图像的颜色记录下来,然后将面积较小的几个子图像区域中与常见的破损图像的颜色相同的子图像区域对应的图像作为破损处图像数据。
本申请利用步骤S310-步骤S320的方法,不需要输入大量的样本,识别步骤简单,识别速度快。
其中,本申请在步骤S210中获得的破损处图像数据并不一定就是破损的图像,本申请可能会将部分袖口数据,部分装饰数据也识别出来作为此处的破损处图像数据,因此,本申请还需要利用以下步骤进行破损判断。
在步骤S220中:识别衣物的破损处图像数据得到长度特征信息、位置特征信息和工整度特征信息。
获取到衣物的破损处图像数据后,就可以对衣物的破损处图像数据进行识别来获取关于该破损处的长度特征信息、位置特征信息和工整度特征信息。
下面具体公开获取各个特征信息的方法。
在本申请的一个实施例中,如图4所示,图4示意性地示出了本申请获取破损处长度特征信息的方法流程图。
识别衣物的破损处图像数据得到长度特征信息的方法,包括步骤S410-步骤S420。
步骤S410:对破损处图像数据进行标记点拟合。
本申请通过轮廓检测算法,得到破损处图像的轮廓。对破损处图像的轮廓进行边缘轮廓提取;将提取到的边缘轮廓进行多边形拟合处理,从拟合的多边形得到处理后的破损处图像的轮廓。
具体的,对轮廓进行多边形拟合采用的是一种迭代端点的拟合方法,在该拟合算法中,迭代次数越多,对轮廓的拟合精度就越高,拟合后的轮廓线就越接近原始轮廓线。请参阅图5,图5为本申请实施例提供的边缘轮廓进行多边形拟合处理的原理图。该拟合算法拟合一条轮廓的主要步骤如下:
(1)设置一个距离阈值T;
(2)选取轮廓线的起始点A和终止点B为拟合多边形的两个端点;
(3)计算在轮廓线AB上A、B两点间所有点到A、B连线的距离,选出这其中距离最大点C,并设此最大距离值为H;
(4)比较H和T,如果H>T,说明C是拟合多边形的一个端点,继续步骤(5);如果H<T,则跳出算法,说明该段轮廓线上不存在端点;
(5)端点C将轮廓线AB分为AC和BC两部分,按照(2)、(3)、(4)、(5)步骤,分别找出这两部分轮廓线上的端点;依此找出曲线AB上所有端点(A、B、C、D……),将它们按照顺序连接起来,即获得最后拟合的多边形,端点A、B、C、D……即为多边形顶点。
通过以上的轮廓拟合步骤可以获取到破损处图像数据的破损处轮廓,其中,该破损处轮廓由标记点组成。
步骤S420:将标记点相互连接,将距离最远的两个标记点的距离作为长度特征信息。
将步骤S410得到的标记点进行相互连接,并将距离最远的两个标记点的距离作为长度特征信息,可以得到关于破损处图像数据的长度特征信息。其中,本申请还可以为不同的长度特征数据设定不同的破损值。破损值可以用于指代衣物的破损程度,当破损值为零时,表示该衣物完好,并未破损,可以重新利用。当破损值为100时,表示该衣物已经百分百破损,可以直接进行回收处理。本申请中的长度特征数据和破损值的关系一般是正相关的关系,即长度特征数据越大,对应的破损值就越大,例如,当衣物破损处图像的长度特征信息为2cm时,对应的破损值可以为40,当衣物的衣物破损处图像的长度特征信息大于10cm时,对应的破损值可以为100,因此,通过长度特征信息可以获得一定的破损值。
其中,本申请的长度特征信息还可以利用长度测量算法来测量获取,本申请对此不作限定。
以上公开了长度特征信息的识别内容,接下来继续公开位置特征信息和工整度特征信息的识别过程。
在本申请的一个实施例中,识别衣物的破损处图像数据得到位置特征信息,包括:通过预训练的第一机器学习模型识别破损处图像数据,得到位置特征信息,第一机器学习模型是以破损处图像数据样本为输入,以位置特征信息为输出进行训练的机器学习模型。
位置特征信息指的是破损处图像在整个衣物图像中的位置,该位置包括:边角位置,非边角位置,袖口位置,口袋位置,领口位置。本申请可以预先以破损处图像数据样本为输入,以位置特征信息为输出进行训练的得到第一机器学习模型,即基于破损处图像数据的输入,可以输出对应的位置特征信息。利用该方法可以获取到破损处图像在整个衣物图像中的位置。
本申请还可以结合衣物的图像数据来进行破损处图像在整个衣物图像中的位置判断。该方法可以通过将衣物的图像数据根据使用情况进行自动分区,例如,衣物的图像数据可以分为边角区,非边角区,袖口区,口袋区,领口区;当识别到破损处图像时,判断该破损处图像位于哪个区域,对应的就表示该破损处图像在整个衣物图像中的位置。例如,某一个破损在边角区,对应的该破损处图像在整个衣物图像中的位置为边角位置。
以上公开了本申请位置特征信息的识别内容,接下来继续公开本申请工整度特征信息的识别过程。
在本申请的一个实施例中,识别衣物的破损处图像数据得到工整度特征信息,包括:通过预训练的第二机器学习模型识别破损处图像数据,得到工整度特征信息,第二机器学习模型是以破损处图像数据样本为输入,以工整度特征信息为输出进行训练的机器学习模型。
工整度特征信息指破损处图像的工整度,由于一些个性化设计的原因,一般对于工整度较高的破损是人为加工形成的,而自然导致的破损一般都是不规则和不工整的,因此,本申请通过采集工整度特征信息来进一步精确衣物破损情况的判断。
其中,本申请对于工整度特征信息的获取可以通过预先以破损处图像数据样本为输入,以工整度特征信息为输出进行训练得到第二机器学习模型。进行训练时,可以输入足够多的破损处图像,并且这些破损处图像都标记了工整值。例如,破损处图像非常工整,对应的工整值为100,本申请可以为不同的图像构建不同的工整度值,工整度越高的,对应的工整值就越大。通过本申请的第二机器学习模型,当输入一个破损处图像数据时,可以输出对应的工整值。
其中,本申请的工整值和破损值也是相关的,工整度与破损值成负相关关系,即工整值越大,对应的破损值就越小。
通过以上步骤得到长度特征信息、位置特征信息和工整度特征信息,继续进行步骤S230。
在步骤S230中:根据长度特征信息、位置特征信息和工整度特征信息确定衣物的破损值。
本申请可以根据长度特征信息、位置特征信息和工整度特征信息综合来确定衣物的破损值。具体的方法如下。
在本申请的一个实施例中,如图6所示,图6示意性地示出了本申请确定衣物破损值的第一种方法的方法流程图。根据长度特征信息、位置特征信息和工整度特征信息确定衣物的破损值的方法,包括步骤S610-步骤S630。
步骤S610:基于长度特征信息和工整度特征信息得到长度破损值和工整度破损值,基于位置特征信息确定衣物的破损所在位置。
其中,长度特征信息和工整度特征信息与对应的破损值相关,可以通过长度特征信息来获取长度破损值,长度特征信息中衣物的破损长度越长,对应的长度破损值越大,本申请可以通过预先设置的长度破损值与长度特征信息的对应表来获取到长度破损值。而同样的工整度特征信息中包括的工整值与工整度破损值也预先设置有对应表,因此,也可以利用工整度特征信息的工整值来获取工整度破损值。而位置特征信息可以获取到衣物的破损所在位置,例如,位于边角位置等。
步骤S620:若衣物的破损所在位置位于衣物的袖口或口袋位置,则确定衣物的破损值为零。
本申请确定衣物破损值的第一种方法中,首先判断的是衣物的破损所在位置,如果衣物的破损所在位置位于衣物的袖口或口袋位置或领口位置,可以确定衣物的破损值为零,表示该衣物不存在破损,对应的表示破损处图像数据中的破损是袖口,口袋和领口等正常的设计,并非实际破损。
步骤S630:若衣物的破损所在位置位于衣物的边角位置或除袖口和口袋位置之外的非边角位置,则将长度破损值和工整度破损值求平均值得到衣物的破损值。
当判断得到衣物的破损所在位置位于衣物的边角位置或除袖口和口袋位置之外的非边角位置时,本申请可以将长度破损值和工整度破损值求平均值后得到衣物的破损值。利用第一种方法可以在确定位置的情况下,同时兼顾长度特征信息和工整度特征信息,利用两者对应破损值的平均值作为衣物的破损值,破损检测较为精确。
以上公开了本申请确定衣物破损值的第一种方法的内容,接下来继续公开第二种方法。
在本申请的一个实施例中,如图7所示,图7示意性地示出了本申请确定衣物破损值的第二种方法的方法流程图。根据长度特征信息、位置特征信息和工整度特征信息确定衣物的破损值的方法,还包括步骤S710-步骤S740。
步骤S710:基于长度特征信息和工整度特征信息得到长度破损值和工整度破损值,基于位置特征信息确定衣物的破损所在位置。
该步骤与步骤S610相似,此处不再赘述。
步骤S720:若工整度破损值小于设定阈值,则衣物的破损值为零。
本申请确定衣物破损值的第二种方法优先判断工整度特征,本申请可以为工整度破损值定一个设定阈值,当工整度破损值小于设定阈值,表示该破损是工整的,因此不是实际破损,对应的就表示衣物的破损值为零。
步骤S730:若工整度破损值大于等于设定阈值,则判断衣物的破损所在位置,若衣物的破损所在位置位于衣物的袖口或口袋位置,则确定衣物的破损值为零。
当工整度破损值大于等于设定阈值,则需要进一步的判断衣物的破损所在位置。若衣物的破损所在位置位于衣物的袖口或口袋位置,则确定衣物的破损值为零。表示该破损并非实际破损,因此排除了位于袖口,口袋,领口处被认定为是破损的情况。
步骤S740:若衣物的破损所在位置位于除袖口和口袋位置之外的其它位置,则将长度破损值作为衣物的破损值。
本申请确定衣物破损值的第二种方法中,首先判断工整度,然后判断位置,当这两者都排除之后,再判断长度特征信息,以长度破损值作为衣物的破损值,利用以上方法可以精确的判断出衣物的破损情况,有利于衣物后续的回收利用。
当衣物的破损所在位置位于除袖口和口袋位置之外的其它位置时,本申请还对边角位置和非边角位置做了区分。具体确定衣物破损值的方法包括:
若衣物的破损所在位置位于衣物的边角位置,则在长度破损值大于第一设定阈值时,将长度破损值作为衣物的破损值;
若衣物的破损所在位置位于除袖口和口袋位置之外的非边角位置,则在长度破损值大于第二设定阈值时,将长度破损值作为衣物的破损值。其中,第一设定阈值大于第二设定阈值。
本申请对于长度特征信息也设立了设定阈值,对于小于设定阈值的破损一般认为不构成破损,例如,一件衣物的破损仅有0.5cm,对应的并不影响该衣物的使用,因此,可以不认定为是破损的情况。
对应的,本申请针对破损处位于边角处和非边角处,阈值的设定不同。当位于边角处时,对应的第一设定阈值要大于位于非边角位置的第二设定阈值,例如,第一阈值为0.2cm,第二阈值为0.1cm。对于衣物来说,位于边角位置的破损不容易影响衣物的使用,也不容易被看到,而对于非边角位置的破损则容易被看到,因此,本申请对于两个不同的位置分别设立了不同的阈值,一步的提高本申请对于破损判断的精确性。
通过以上步骤获得衣物的破损值后,继续步骤S240。
在步骤S240中:基于破损值对衣物进行分拣。
本申请可以通过设定破损值阈值的方式来对衣物进行分拣。当识别得到的衣物破损值大于等于该破损值阈值,表示该衣物破损严重,可以将该衣物投入纺织厂或服装厂进行回收;当当识别得到的衣物破损值小于该破损值阈值,表示该衣物还比较完好,可以将该衣物捐献,进行再次使用。
在本申请的一个实施例中,本申请还可以利用以下方法进行分拣,如图8所示,图8示意性地示出了本申请基于破损值对衣物进行分拣的方法流程图。基于破损值对衣物进行分拣的方法,还包括步骤S810-步骤S830。
步骤S810:设立多个破损值区间。
本申请可以设立不同的破损值区间,例如,将破损值为0-25的作为一个区间,表示该区间的衣物轻度破损或无破损,不影响正常使用。将破损值为25-50的设立一个区间,表示该区间的衣物中度破损,还可以进行改造利用。将破损值为50-75的设立为一个区间,表示该区间的衣物为重度破损,无法进行正常使用和改造。将破损值为75-100的设立为一个区间,表示完全破损,该区间的衣物可以投入纺织厂进行降解后利用。
步骤S820:确定破损值所在区间为待分拣区间。
确定了破损值区间后,需要判断得到的衣物的破损值位于哪个区间,并将该区间作为待分拣区间。
步骤S830:将衣物分拣到待分拣区间对应的衣物中。
最后将衣物分拣到待分拣区间对应的衣物中,即可完成分拣。
其中,以上的步骤S210-步骤S240是对衣物中存在一个破损处图像进行判断并分拣的方法。当衣物中存在多个破损处图像时,则可以将该衣物的破损值定为100,即表示该衣物已破损。
在本申请实施例提供的技术方案中,本申请通过获取衣物的图像数据,识别衣物的图像数据,得到破损处图像数据;再识别衣物的破损处图像数据得到长度特征信息、位置特征信息和工整度特征信息;根据长度特征信息、位置特征信息和工整度特征信息确定衣物的破损值;基于破损值对衣物进行分拣。通过本申请的衣物分拣方法,可以利用破损图像的长度特征信息、位置特征信息和工整度特征信息结合来对衣物的破损进行判断,可以准确的判断衣物的破损情况,并根据衣物的不同破损程度进行不同分拣,提高破损检测的准确度,减少了人工投入,降低了衣物回收的成本,避免出现破损识别不准确导致分拣不当问题,有利于衣物的后续处理。
应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
以上部分介绍了本申请衣物分拣方法的内容,接下来继续介绍本申请衣物分拣装置的内容。
如图9所示,图9示意性地示出了本申请实施例提供的衣物分拣装置的结构框图。
根据本申请实施例的一个方面,提供一种衣物分拣装置900,包括:
获取模块910,用于获取衣物的图像数据,识别衣物的图像数据,得到破损处图像数据;
识别模块920,用于识别衣物的破损处图像数据得到长度特征信息、位置特征信息和工整度特征信息;
计算模块930,用于根据长度特征信息、位置特征信息和工整度特征信息确定衣物的破损值;
分拣模块940,用于基于破损值对衣物进行分拣。
在本申请的一些实施例中,基于以上技术方案,识别模块920包括长度识别单元,长度识别单元包括:
拟合单元,用于对破损处图像数据进行标记点拟合;
连接单元,用于将标记点相互连接,将距离最远的两个标记点的距离作为长度特征信息。
在本申请的一些实施例中,基于以上技术方案,识别模块920包括位置识别单元和工整度识别单元;
位置识别单元用于通过预训练的第一机器学习模型识别破损处图像数据,得到位置特征信息,第一机器学习模型是以破损处图像数据样本为输入,以位置特征信息为输出进行训练的机器学习模型;
工整度识别单元用于通过预训练的第二机器学习模型识别破损处图像数据,得到工整度特征信息,第二机器学习模型是以破损处图像数据样本为输入,以工整度特征信息为输出进行训练的机器学习模型。
在本申请的一些实施例中,基于以上技术方案,计算模块930包括:
子特征获取单元,用于基于长度特征信息和工整度特征信息得到长度破损值和工整度破损值,基于位置特征信息确定衣物的破损所在位置;
位置判断单元,用于在衣物的破损所在位置位于衣物的袖口或口袋位置时,则确定衣物的破损值为零;
平均计算单元,用于在衣物的破损所在位置位于衣物的边角位置或除袖口和口袋位置之外的非边角位置时,将长度破损值和工整度破损值求平均值得到衣物的破损值。
在本申请的一些实施例中,基于以上技术方案,计算模块930包括:
子特征获取单元,用于基于长度特征信息和工整度特征信息得到长度破损值和工整度破损值,基于位置特征信息确定衣物的破损所在位置;
第一判断单元,用于在工整度破损值小于设定阈值时,确定衣物的破损值为零。
在本申请的一些实施例中,基于以上技术方案,计算模块还包括:
第二判断单元,用于在工整度破损值大于等于设定阈值,判断衣物的破损所在位置;
第三判断单元,用于在衣物的破损所在位置位于衣物的袖口或口袋位置时,确定衣物的破损值为零;
第四判断单元,用于在衣物的破损所在位置位于衣物的边角位置时,且在长度破损值大于第一设定阈值时,将长度破损值作为衣物的破损值;
第五判断单元,用于在衣物的破损所在位置位于除袖口和口袋位置之外的非边角位置时,且在长度破损值大于第二设定阈值时,将长度破损值作为衣物的破损值;
其中,第一设定阈值大于第二设定阈值。
在本申请的一些实施例中,基于以上技术方案,分拣模块940包括:
区间设立单元,用于设立多个破损值区间;
区间判断单元,用于确定破损值所在区间为待分拣区间;
分拣单元,用于将衣物分拣到待分拣区间对应的衣物中。
本申请各实施例中提供的衣物分拣装置的具体细节已经在对应的方法实施例中进行了详细的描述,此处不再赘述。
以上部分介绍了本申请衣物分拣计算装置的内容,接下来继续介绍本申请其它方面的内容。
根据本申请实施例的一个方面,提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如以上技术方案中的衣物分拣方法。
根据本申请实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器被配置为经由执行可执行指令来执行如以上技术方案中的衣物分拣方法。
根据本申请实施例的一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上技术方案中的衣物分拣方法。
图10示意性地示出了用于实现本申请实施例的电子设备的计算机系统结构框图。
需要说明的是,图10示出的电子设备的计算机系统1000仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图10所示,计算机系统1000包括中央处理器1001(Central Processing Unit,CPU),其可以根据存储在只读存储器1002(Read-Only Memory,ROM)中的程序或者从存储部分1008加载到随机访问存储器1003(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器1003中,还存储有系统操作所需的各种程序和数据。中央处理器1001、在只读存储器1002以及随机访问存储器1003通过总线1004彼此相连。输入/输出接口1005(Input/Output接口,即I/O接口)也连接至总线1004。
以下部件连接至输入/输出接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至输入/输出接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理器1001执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。