CN113869413A - 一种中药饮片小包装目标检测识别方法及系统 - Google Patents
一种中药饮片小包装目标检测识别方法及系统 Download PDFInfo
- Publication number
- CN113869413A CN113869413A CN202111142794.1A CN202111142794A CN113869413A CN 113869413 A CN113869413 A CN 113869413A CN 202111142794 A CN202111142794 A CN 202111142794A CN 113869413 A CN113869413 A CN 113869413A
- Authority
- CN
- China
- Prior art keywords
- small
- image
- decoction pieces
- packages
- chinese medicine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Molecular Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Medical Preparation Storing Or Oral Administration Devices (AREA)
Abstract
本发明公开一种中药饮片小包装目标检测识别方法及系统,涉及中药饮片小包装的自动调配技术领域,包括:获取各类中药饮片小包装的图像集;每类中药饮片小包装的图像集均包括多个同类中药饮片小包装的图像;每张图像中均包括一个可抓取中药饮片小包装;对图像中的可抓取中药饮片小包装进行标定;利用标定后的图像构建训练数据集;利用训练数据集、K‑means++聚类算法和Focalloss损失函数对YOLO‑V4模型进行训练和优化;将待识别图像输入优化后的模型中,识别出待识别图像中可抓取中药饮片小包装的边界框以及可抓取中药饮片小包装的边界框的中心点。本发明能够快速精确地识别出可抓取中药饮片小包装的位置。
Description
技术领域
本发明涉及中药饮片小包装的自动调配技术领域,特别是涉及一种中药饮片小包装目标检测识别方法及系统。
背景技术
中药饮片小包装是不同规格的小袋包装,中药饮片小包装的包装袋大小按照1克~30克范围内的克数大小,如3克、5克、6克、10克、15克、30克等划分。中药饮片小包装目标检测识别对于中药饮片小包装的自动分拣系统尤为重要。由于中药饮片小包装为塑料材质,在摆放过程中易于出现堆叠和变形等现象,使用传统的图像识别算法解决这一类问题识别结果较差,即传统的图像识别算法对于中药饮片小包装这种塑料材质的堆叠变形不太好识别。
YOLO-V4算法是目前为止在目标检测领域综合性能较为出色的算法,不仅检测精度高,在检测速度上也强于其他算法,而且YOLO-V4算法在小物体检测以及目标分布集中的情况下也有出色的表现。目前物流分拣中有采用YOLO-V4算法识别堆叠服装包装以进行服装分拣,但是服装包装堆叠较整齐,不会存在中药饮片小包装堆叠无序、变形和杂乱无章等情况。此外,工厂金属零件分拣中也有采用YOLO-V4算法识别堆叠零件以进行零件分拣,但是金属零件为金属材质,与中药饮片小包装的塑料材质完全不同,并不会存在中药饮片小包装堆叠无序、变形和杂乱无章等情况。
目前,现有的YOLO-V4算法应用于中药饮片小包装目标检测识别以进行中药饮片小包装的自动分拣时,对于中药饮片小包装这种塑料材质的堆叠变形识别效果较差且识别速度较慢,无法快速精确地识别出可抓取中药饮片小包装的位置。
发明内容
本发明的目的是提供一种中药饮片小包装目标检测识别方法及系统,能够快速精确地识别出可抓取中药饮片小包装的位置。
为实现上述目的,本发明提供了如下方案:
一种中药饮片小包装目标检测识别方法,所述方法包括:
获取各类中药饮片小包装的图像集;每类所述中药饮片小包装的图像集均包括多个同类中药饮片小包装的图像;每张所述图像中均包括一个可抓取中药饮片小包装;所述可抓取中药饮片小包装为在所述图像中包装完整且无遮挡情况的中药饮片小包装;
对所述图像中的可抓取中药饮片小包装进行标定,得到标定后的图像;所述标定后的图像包括可抓取中药饮片小包装的边界框以及所述可抓取中药饮片小包装的边界框的中心点;
利用所述标定后的图像构建训练数据集;所述训练数据集包括各所述标定后的图像;
利用所述训练数据集、K-means++聚类算法和Focal loss损失函数对YOLO-V4模型进行训练和优化,得到优化后的YOLO-V4模型;
将待识别图像输入所述优化后的YOLO-V4模型中,识别出所述待识别图像中可抓取中药饮片小包装的边界框以及可抓取中药饮片小包装的边界框的中心点。
可选地,所述对所述图像中的可抓取中药饮片小包装进行标定,得到标定后的图像,具体包括:
利用LabelIMG软件对所述图像中的可抓取中药饮片小包装进行标定,得到标定后的图像。
可选地,所述利用所述训练数据集、K-means++聚类算法和Focal loss损失函数对YOLO-V4模型进行训练和优化,得到优化后的YOLO-V4模型,具体包括:
将所述训练数据集输入YOLO-V4模型中,利用K-means++聚类算法对各所述标定后的图像中的可抓取中药饮片小包装的边界框进行聚类,得到各类中药饮片小包装对应的可抓取中药饮片小包装的边界框,并利用Focal loss损失函数对YOLO-V4模型进行优化,得到优化后的YOLO-V4模型。
可选地,所述将待识别图像输入所述优化后的YOLO-V4模型中,识别出所述待识别图像中可抓取中药饮片小包装的边界框以及可抓取中药饮片小包装的边界框的中心点,具体包括:
将待识别图像输入所述优化后的YOLO-V4模型中,利用所述各类中药饮片小包装对应的可抓取中药饮片小包装的边界框识别出所述待识别图像中可抓取中药饮片小包装的边界框以及可抓取中药饮片小包装的边界框的中心点。
本发明还提供了如下方案:
一种中药饮片小包装目标检测识别系统,所述系统包括:
各类图像集获取模块,用于获取各类中药饮片小包装的图像集;每类所述中药饮片小包装的图像集均包括多个同类中药饮片小包装的图像;每张所述图像中均包括一个可抓取中药饮片小包装;所述可抓取中药饮片小包装为在所述图像中包装完整且无遮挡情况的中药饮片小包装;
标定模块,用于对所述图像中的可抓取中药饮片小包装进行标定,得到标定后的图像;所述标定后的图像包括可抓取中药饮片小包装的边界框以及所述可抓取中药饮片小包装的边界框的中心点;
训练数据集构建模块,用于利用所述标定后的图像构建训练数据集;所述训练数据集包括各所述标定后的图像;
模型训练和优化模块,用于利用所述训练数据集、K-means++聚类算法和Focalloss损失函数对YOLO-V4模型进行训练和优化,得到优化后的YOLO-V4模型;
识别模块,用于将待识别图像输入所述优化后的YOLO-V4模型中,识别出所述待识别图像中可抓取中药饮片小包装的边界框以及可抓取中药饮片小包装的边界框的中心点。
可选地,所述标定模块具体包括:
标定单元,用于利用LabelIMG软件对所述图像中的可抓取中药饮片小包装进行标定,得到标定后的图像。
可选地,所述模型训练和优化模块具体包括:
模型训练和优化单元,用于将所述训练数据集输入YOLO-V4模型中,利用K-means++聚类算法对各所述标定后的图像中的可抓取中药饮片小包装的边界框进行聚类,得到各类中药饮片小包装对应的可抓取中药饮片小包装的边界框,并利用Focal loss损失函数对YOLO-V4模型进行优化,得到优化后的YOLO-V4模型。
可选地,所述识别模块具体包括:
识别单元,用于将待识别图像输入所述优化后的YOLO-V4模型中,利用所述各类中药饮片小包装对应的可抓取中药饮片小包装的边界框识别出所述待识别图像中可抓取中药饮片小包装的边界框以及可抓取中药饮片小包装的边界框的中心点。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明公开的中药饮片小包装目标检测识别方法及系统,基于标定有可抓取中药饮片小包装的边界框和边界框中心点的可抓取中药饮片小包装图像,利用K-means++聚类算法和Focal Loss损失函数对YOLO-V4模型进行训练和优化,由于K-means++聚类算法能够对YOLO-V4模型的Anchor box进行重新聚类,修改网络参数,进一步提高了对中药饮片小包装中心点识别的准确率,使用Focal loss损失函数对YOLO-V4损失函数进行改进,解决了中药饮片小包装数据集不均衡问题,使得可抓取样本的识别率和位置回归准确率得到了提高,损失函数使得预测回归的速度和精度都得到了有效的提高,从而能够利用优化后的YOLO-V4模型快速精确地识别出可抓取中药饮片小包装的位置。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明中药饮片小包装目标检测识别方法实施例的流程图;
图2为本发明数据集标注示意图;
图3为本发明坐标转换示意图;
图4为本发明IoU示意图;
图5为本发明GIOU Loss示意图;
图6为本发明DIOU Loss示意图;
图7为本发明CIOU Loss示意图;
图8为本发明K-means++聚类结果示意图;
图9为本发明重置Anchor box训练损失函数结果示意图;
图10为本发明重置Anchor box训练测试集评估结果示意图;
图11为本发明Focal loss训练损失函数结果示意图;
图12为本发明Focal loss训练测试集评估结果示意图;
图13为实际流水线作业时获取的不同样本的示意图;
图14为本发明同种类别的中药饮片小包装识别结果示意图;
图15为本发明不同种类别的中药饮片小包装识别结果示意图;
图16为本发明中药饮片小包装目标检测识别系统实施例的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种中药饮片小包装目标检测识别方法及系统,能够快速精确地识别出可抓取中药饮片小包装的位置。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明中药饮片小包装目标检测识别方法实施例的流程图。参见图1,该中药饮片小包装目标检测识别方法包括:
步骤101:获取各类中药饮片小包装的图像集;每类中药饮片小包装的图像集均包括多个同类中药饮片小包装的图像;每张图像中均包括一个可抓取中药饮片小包装;可抓取中药饮片小包装为在图像中包装完整且无遮挡情况的中药饮片小包装。
步骤101中的中药饮片小包装是本领域的通用名称,具体可参见百度百科关于中药饮片小包装的定义。中药饮片小包装实行1克、2克、3克、5克、6克、10克、15克、20克、30克等不同规格的小袋包装,最大不超过30克。中药饮片小包装的最小尺寸即1克规格的小袋包装尺寸,中药饮片小包装的最大尺寸即30克规格的小袋包装尺寸。该实施例中,中药饮片小包装包括3克、5克、6克、10克、15克和30克这几种不同规格的小袋包装。
步骤102:对图像中的可抓取中药饮片小包装进行标定,得到标定后的图像;标定后的图像包括可抓取中药饮片小包装的边界框以及可抓取中药饮片小包装的边界框的中心点。
该步骤102具体包括:
利用LabelIMG软件对图像中的可抓取中药饮片小包装进行标定,得到标定后的图像。
步骤103:利用标定后的图像构建训练数据集;训练数据集包括各标定后的图像。
该步骤101-103针对本发明研究的中药饮片小包装特性和药房特性进行分析,制作中药饮片小包装的数据集,并对数据集进行增广,之后将其转化为YOLO-V4算法训练所需的VOC数据集格式,从而实现训练数据集制作及环境搭建,具体为:
1、考虑药房环境下的药袋特性
在中药饮片小包装自动分拣系统中,最重要的数据处理模块就是对中药饮片小包装的识别和定位。中药饮片小包装的特性和环境的特性会决定检测系统的特性,中药饮片小包装的特性和环境的特性如下:
(1)由于不同药房中的光线不同,会对采集到的数据产生影响,光线过于明亮或者暗的药房中,会造成图像质量比较差,对数据集制作要考虑这个因素,即对训练样本采用相同光照条件进行采集。
(2)药房中药饮片小包装生产厂家众多以及药品种类繁多,比如中药饮片小包装的大小、颜色,以及药材本身的颜色、规格等,会存在很大的区别,所以数据处理系统的算法应该可以识别各种类型的药包。
(3)由于中药饮片小包装存储框会有一定的深度,存储框中中药饮片小包装满时和药品少时的尺寸会有不同,此外中药饮片小包装本身也存在尺寸不同,因此对检测算法的多尺度检测性能要求较高,采用YOLO-V4算法能够避免对于较大或较小的中药饮片小包装不能检测。
因此在制作数据集时,需对不同光线、不同背景下的中药饮片小包装进行采集,除制作数据集时通过机械结构保证将中药饮片小包装与背景区分开外,还需将可抓取中药饮片小包装与不可抓取中药饮片小包装区分开。其中,可抓取中药饮片小包装即在图像中包装完整且无遮挡情况,可供后续抓取的中药饮片小包装,制作数据集时通过机械结构保证中药饮片小包装在图像中包装完整,无遮挡情况。不可抓取中药饮片小包装即通过图像判断有堆叠或者遮挡现象,在图像中包装判断为不完整,有遮挡情况的中药饮片小包装。
经过调研分析,不同生产厂商生产出的中药饮片小包装存在差异,主要是颜色以及材质上的差异,部分厂家生产的中药饮片小包装由于使用较差的材质,塑料包装较软,在存储过程中较容易变形,该类型的包装需要单独分类,是用其它方法处理,不在本发明方法中涉及,而同一厂商生产出的中药饮片小包装在包装上的材质相差较小,多为药品名称上的差异,因此本发明制作数据集采样时,对样本大致按照生产厂商和材质进行分类,并选取该生厂商中部分药品进行采样。
本发明的重点在于找出包装完整的中药饮片小包装,以便于后续的抓取。
2、数据集制作
本发明的数据集包含一种类别标签,即可抓取标签“Grab”。为了提高算法的泛化性能,除拍摄大量得到数据图片外,还对拍摄的数据集进行增广。
(1)数据集标注
本发明拍摄图片5400张,本发明使用LabelIMG软件对数据集进行标注,标注示意图如图2所示,通过LabelIMG标注图片可生成xml文件、文件图片名称、每个目标的坐标(左上角坐标和右下角坐标)以及类别标签“Grab”。
(2)格式转换
对数据集进行标注后,需要将xml文件转换为模型需要的txt文件,本发明采用VOC格式数据集进行训练。
将目标类别“Grab”用数字0表示,将左上角和右下角坐标转换为中心点和宽高,坐标转换关系如图3所示,一定格式保存类别和坐标信息的.txt文件来读取数据,x0和y0是表示中心点,xmax-xmin表示宽,ymax-ymin表示高。
本发明通过对药袋样本拍摄5400张图片数据,使用LabelIMG对图片进行标注,并对标注好的数据集,通过旋转、增加噪声等方法进行数据增广,最终得到了23140个标签图片数据。
3、环境搭建
本文选择Ubuntu 18.04.3LTS系统,CPU是CoreTMi9-9900KF CPU@3.60GHz×16(56CPU),RAM为64GB,GPU采用一块GeForce RTX 2080Ti,PyTorch作为模型的训练与测试平台,计算机配置为CPU i9,GPU 2080ti。
步骤104:利用训练数据集、K-means++聚类算法和Focal loss损失函数对YOLO-V4模型进行训练和优化,得到优化后的YOLO-V4模型。
该步骤104具体包括:
将训练数据集输入YOLO-V4模型中,利用K-means++聚类算法对各标定后的图像中的可抓取中药饮片小包装的边界框进行聚类,得到各类中药饮片小包装对应的可抓取中药饮片小包装的边界框,并利用Focal loss损失函数对YOLO-V4模型进行优化,得到优化后的YOLO-V4模型。
该步骤104为基于YOLO-V4药袋识别的训练与优化,具体包括:
1、基于K-means++聚类算法的Anchor box重置
YOLO-V4的Anchor box是在COCO数据集上通过聚类得到的,COCO的全称是CommonObjects in COntext,是微软团队提供的一个可以用来进行图像识别的数据集,MS COCO数据集中的图像分为训练、验证和测试集。本发明的样本为药房的中药饮片小包装,样本差异较小,因此,YOLO-V4得到的Anchor box在本发明中并不适用。针对这一问题,本发明使用K-means++聚类算法对药袋样本(23140个标签图片数据)重新进行聚类,得到适合本发明应用场景的Anchor box。Anchor box(先验框,即区域)是从开始就假定可能存在要检测目标的那个区域,通过一次一次的筛选,看这个区域是不是所需要的目标,最后得到比较准确的框。
K-means++聚类算法通过样本特征就可以找到样本之间的关系,从而对样本进行分组。K-means++聚类算法分组的原则是:组内样本之间相似性尽可能大,组间样本差异性尽可能大。K-means++聚类算法使用欧式距离来计算两个样本的相似性,但是本发明是对标签图片数据中的位置进行聚类,与普通样本不同,所以本发明先将标签样本GT(标签样本的标签框,即标签样本的边框)的宽高归一化后,采用聚类中心和标签图片数据的IoU,IoU全称是交并比,具有尺度不变性,是目标检测中最常用的指标。YOLO层预测的目标边框和标签图片数据中的边框的交集和并集的比值称为IoU,作为K-means++聚类算法衡量两个标签的相似度。将两个坐标框的左下角固定到同一位置,即可计算两个坐标框的IoU值,聚类距离计算如下式所示:
式中,ci为第i个聚类中心,j表示第j个标签。
K-means++算法与k-means算法的主要区别在于聚类中心的选取。K-means算法随机初始化K个聚类中心,而K-means++算法在选取第一个聚类中心时采取随机初始化,剩余的K-1个聚类中心是通过计算得到的。由于K-means算法的分类结果会受到初始点的选取而有所区别,又提出这种算法的改进:K-means++。K-means++算法对初始点的选择有改进,其他步骤与K-means算法一样。K-means++算法初始质心选取的基本思路是:初始的聚类中心之间的相互距离要尽可能的远,K-means++算法能显著地改善分类结果的最终误差。
本发明采用K-means++算法重新计算Anchor box的宽高,anchor boxes用来预测bounding box,通过宽高的不断迭代找到最后需要的位置宽高,具体步骤为:
Step1:随机从归一化后的标签样本GT中选择一个样本作为第一个聚类中心。
Step3:选择IoU距离dj最大的坐标框,作为新的聚类中心。
Step4:重复步骤Step2和Step3,直到K个聚类中心被确定。
Step5:遍历除了K个聚类中心的其余样本标签GT,将坐标框(包括目标边框和标签中的边框)划分到与其聚类距离d最小的聚类中心所属的类。其余样本是被遮挡的矩形框。
Step6:计算各类的坐标框的宽高均值(宽的均值和高的均值),作为新的聚类中心。
Step7:重复步骤Step5和Step6。直到新的聚类中心与原来的聚类中心相等或者两者的距离小于阈值就停止重新划分。停止划分后得到的是可抓取标签图片数据的中心坐标值,即实现本申请最终的目标识别。
2、基于Focal Loss的损失函数改进
本发明所针对的药袋识别,主要任务是将表层的、包装较为完整的药袋识别出来,以便后续的抓取,而针对于可识别和不可识别的目标,二者之间没有明确的界限,因此针对这类边界模糊的图片较难识别出来。针对不可抓取的药袋,YOLO-V4算法能够准确的识别出来,而可抓取的药袋识别效果较差。此外,由于实际场景中药包与药包之间是堆叠放置的,导致不可抓取的药包数量要大于可抓取的药包数量,导致可抓取和不可抓取的类别不均衡。
可抓取药包特征为最上层轮廓清晰,因此在实际采集图片数据时不可抓取药包数量会明显多余可抓取药包,从而导致分类类别出现不均衡现象。针对这一问题,本发明基于Focal Loss对YOLO-V4的损失函数进行优化,优化是用于减少不可抓取药包的干扰。
2017年,何恺明提出了Focal Loss,作者认为one-stage detector的准确率不如two-stage detector的原因是分类类别不均衡导致的。在目标检测过程中,一张图片可能生成千万个候选位置,而只有很少一部分是包含object的,因此会导致分类类别不均衡。分类类别不均衡会导致负样本数量太大,占总的loss大部分,而且负样本中多是容易分类的药包,使得模型优化方向不是我们所希望的。
Focal loss损失函数在原有的交叉损失熵函数上增加一个因子γ,其中,γ>0,减少易分类药包的损失,使得训练时更关注于困难的、错分的药包,此外,加入了平衡因子α可以用来平衡正负样本本身的比例不均,Focal loss损失函数的公式为现有公式,如下式所示:
首先在原有的交叉损失熵函数上增加一个因子γ,其中γ>0,减少易分类药包的损失,使得训练时更关注于困难的、错分的药包,简单而言,对于正样本,若预测结果概率为0.95,那么该样本肯定是简单样本,所以其损失函数(1-0.95)的γ次方就会很小,使得损失函数更小,若对于预测概率为0.3的样本,其损失函数就会很大,因此加入γ因子使得训练关注于难以区分的药包。
此外,加入了平衡因子α可以用来平衡正负样本本身的比例不均,可以有效地解决中药药袋可抓取和不可抓取药袋不均衡问题。本发明α中取0.25,即可抓取药包要比不可抓取药包占比小,这是因为不可抓取药包易分类。
YOLO-V4损失函数Loss由目标定位损失Losscoor、置信度损失Lossconf和目标分类损失Losscls三部分组成:
Loss=Losscoor+Lossconf+Losscls
目标定位损失Losscoor以均方差(MSE)作为损失函数的目标函数,使用均方差损失函数可以平衡小目标检测预测的偏移,目标定位损失Losscoor的计算公式为现有公式,如下式所示:
式中,代表了有目标落在了该单元格中,此时Pr(Object)=1,则表示单元格中不包含物体Pr(Object)=0,λcoord表示的是控制单元格内边界框预测位置的损失,λnoobj表示控制单元格内没有目标的损失,防止梯度跨越太大,导致模型不稳定。
置信度损失Lossconf这个值计算包含两部分,一是单元格内是否存在物体,二是预测框与真实框的IoU值,置信度损失Lossconf的计算公式为现有公式,如下式所示:
式中,表示第i个网格(算法自动计算出)的第j个Bounding box(边框)的置信度预测值,表示真实值,它的取值是由网格的Bounding box有没有负责预测某个对象决定的,如果负责则为1,否则为0,表示第i个网格的第j个Bounding box中存在对象则为1,不存在对象则λnoobj调节不存在对象的Bounding box的置信度误差系数,其中置信度的计算公式如下式所示:
式中,IoU全称是交并比,具有尺度不变性,是目标检测中最常用的指标。YOLO层预测的目标边框和标签中的边框的交集和并集的比值称为IoU,如图4所示。若单元格内有物体,那么Pr(Object)=1,反之pr(Object)=0,此时置信度为0。
IoU计算公式如下式所示:
YOLO-V4分类损失由均方误差转换为交叉损失熵即目标分类损失函数,目标分类损失Losscls的计算公式为现有公式,如下式所示:
在YOLO-V4损失函数中,对位置的回归采用均方差损失函数,YOLO-V4采用CIoU代替均方差作为边框误差,均方差损失函数Lcoor的计算公式为现有公式,如下式所示:
CIoU综合考虑了三个重要的几何因素:重叠面积、中心点距离和长宽比。使得预测回归的速度和精度都得到了有效的提高。
图4中,若预测框和目标框不相交时,IoU=0,无法反映两个框距离的远近,导致损失函数不可导,当两个预测框大小相同,两个IoU相同,IoU Loss无法区分这两种预测框的相交情况,在此基础上,提出了GIoU Loss,GIoU Loss如图5所示。
GIoU Loss计算公式为现有公式,如下式:
式中,C为预测框和目标框的最小外接矩形。
针对GIoULoss,我们发现当预测框在目标框内部时且预测框大小相同时,GIoU Los则会退化成IoU Loss,无法区分这种情况,因此又提出了DIoU Loss。DIoU Loss如图6所示。
DIoU Loss计算公式为现有公式,如下式所示:
DIoU Loss考虑了重叠面积和中心点距离,当目标框包裹预测框的时候,直接度量2个框的距离,因此DIoU Loss收敛的更快。
当预测框的中心点位置相同,但预测框的长宽比不同时,按照DIoU Loss公式计算时,仍旧无法区分这两种情况,因此又提出了CIoU Loss,CIOU Loss如图7所示。
CIoU Loss计算公式为现有公式,如下式:
式中,γ可以定义为:
CIoU Loss在DIoU Loss的基础上增加了一个影响因子,将预测框和目标框的长宽比考虑进去。
针对YOLO-V4模型在药袋识别中的问题,将Focal loss应用到目标分类损失函数和置信度损失函数中,即将Focal loss与目标分类损失函数和置信度损失函数结合,因此本发明修改后的损失函数(改进后的Focal loss损失函数)如下式所示:
式中,P是模型预测值,C是置信度,α因子类别权重1-Pj i是样本难度权重调节因子。
其中,α因子使得训练能够平衡可抓取药包和不可抓取药包比例不均的问题。添加一个γ(γ>0)因子,可以使得训练关注于这些较难正确识别的药包,调节简单样本权重降低的速率,当γ为0时即为交叉损失熵函数,当γ增加时,调整因子的影响也在增加。
损失函数使得预测回归的速度和精度都得到了有效的提高。损失函数的作用就是计算神经网络每次迭代的前向计算结果与真实值的差距,从而指导下一步的训练向正确的方向进行。修改后的损失函数可以提高收敛速度。
步骤105:将待识别图像输入优化后的YOLO-V4模型中,识别出待识别图像中可抓取中药饮片小包装的边界框以及可抓取中药饮片小包装的边界框的中心点。
该步骤105具体包括:
将待识别图像输入优化后的YOLO-V4模型中,利用各类中药饮片小包装对应的可抓取中药饮片小包装的边界框识别出待识别图像中可抓取中药饮片小包装的边界框以及可抓取中药饮片小包装的边界框的中心点。
本发明基于数据集制作、基于K-means++算法的Anchor box重置,优化Anchorbox,基于Focal Loss的损失函数改进,减少不可抓取药包比例,采用K-means++算法对中药饮片小包装数据集Anchor box进行重新聚类,修改网络参数,进一步提高了对中药饮片小包装中心点识别的准确率,进而提高了药袋抓取效率。使用Focal loss对YOLO-V4损失函数进行改进,解决了中药饮片小包装数据集不均衡问题,使得可抓取药包的识别率和位置回归准确率得到了提高。
下面对本发明方法进行测试及评估以进行算法验证及效果说明:
1、评估指标
本发明采用三种指标来评价YOLO-V4模型以及优化后的模型,分别为精准率(Precision P)、召回率(Recall R)、平均准确率(mean Average Precision mAP)。
(1)精确率(P)和召回率(R)
Precision指标可以称为精确率或查准率,Recall指标被称为召回率或查全率,计算方式如下式所示:
式中,TP为被模型预测为正的正样本,FP为被模型预测为负的正样本,FN为被模型预测为负的正样本。
(2)平均准确率(mAP)
准确度(Average Precision AP)为PR曲线下的面积,一般情况下式对各类别分别计算各自的AP,再计算各个类别的平均值即为mAP,mAP的值越高,说明模型的检测准确率越高,失误越少。
2、K-means++重置Anchor box前后对比
本发明用K-means++聚类算法,针对药袋数据集聚类了9种Anchor box,实验分别使用YOLO-V4原有的Anchor box(记为anchor1)和药袋数据集的Anchor box(记为anchor2),验证在药袋数据集上的性能。
本发明归一化后的宽高为416,K-means++聚类算法结果如图8所示。
通过K-means++算法得到的9个Anchor box为(63,81)、(86,100)、(117,96)、(107,122)、(127,148)、(142,123)、(162,160)、(190,195)、(246,258),准确率为85.15%。
为了确保实验结果的可比性,实验采用了相同的超参数:batch_size=24、epoch=300、image_size=416,使用TensorBoard将训练结果可视化,得到损失函数曲线实验结果如图9所示。
图9中最上面的曲线表示原有的Anchor box,最下面的曲线为重置后的Anchorbox,从图9中可以看出经过Anchor box重置后,模型损失函数在目标检测这一损失函数上比原模型初始损失函数值也更小,且损失函数下降速率更快,分类损失函数也有所下降,也更加稳定。修改Anchor box后,其对位置的损失函数初始位置和训练结束时的损失函数较未修改的模型都更小,下降趋势较原来也更加平缓。因此,选择重置后的Anchor box可以使得检测框Bounding box和标签中的真实GT的CIOU值更加接近。
图10中显示了评估指标中的平均准确度mAP、精确率P和召回率R在测试集上的性能,从图中对比可以看出,重置Anchor box后,经过训练300次,达到稳定后平均准确度mAP上升了0.018,精确率P和召回率R也都有所上升,且较原来模型,更快的趋于稳定,因此使用与数据集相应的Anchor box有利于模型的快速拟合,提高模型的预测精度。
3、Focal Loss损失函数优化前后对比
K-means++重置Anchor box后,mAP有所提高,准确度更高,因此以重置后的模型为基准,与使用Focal Loss改进后的目标函数模型进行对比。本发明对focal loss中的γ参数设置不同的值进行了多次实验,实验结果如图11和图12所示。
图11最上层曲线代表重置Anchor box后的YOLO-V4损失函数模型,中间曲线代表了γ=1.5的模型,最下层曲线代表了γ=2的模型,从图中可以看出使用Focal loss代替交叉损失熵函数,其在分类损失cls_loss和目标损失obj_loss的初始值相较于重置Anchorbox后的YOLO-V4模型要小,且能够更快的达到平衡状态,达到平衡状态后的稳定值也更小。位置损失函数ciou_loss的值较原有模型,下降速度更快,稳定状态后值更小,这说明了GroundTruth box和预测框之间的误差更小,位置回归更加准确。
对比γ=1.5和γ=2的模型来看,γ=2的模型在位置损失函数更小位置回归更加准确。
从图12中可以看出,使用Focal loss损失函数后,在召回率R和平均准确度mAP上改进后的模型均有所提高,平均准确度mAP在稳定状态下提高约1%。但是在准确度P上有所下降。这是因为,在实际进行数据集制作时,将略微存在遮挡问题,但是仍然满足抓取条件的药包严格设定为不可检测药包,然而在实际应用场景中,这一类药包是可供抓取的。为了保证识别出来的药包均为严格可抓取的药包,因此算法的准确率上有所牺牲,准确率P下降使得部分模糊药包被判定为不可抓取药包,保证识别出的药包均为完全可抓取药包,满足本发明设计系统的实际需求。
本发明综合考虑mAP值和准确率这两点,选用γ=1.5的模型作为最终预测模型。使用Focal loss改进YOLO-V4算法在本发明的应用场景中,训练得到的模型在性能上有所提高,是有利于中药饮片小包装的抓取的。
4、改进后的YOLO-V4算法在图片效果中的分析
本发明对YOLO-V4算法与改进后的算法在实验室搭建的原型机场景中进行测试,验证改进后的算法性能。图13为实际流水线作业时获取的当前视野范围内的不同图片的数据集,即各不同样本的示意图。
本发明中药饮片小包装的抓取在实际应用中,是一个存储框中仅有一种药品,因此,如背景下只有一种药品,更加容易识别出可抓取的样本。为了更好的验证改进后的算法在实际场景应用,本发明在一个场景下,放置多种种类的药品,堆叠摆放来进行测试。测试结果如图14所示。
从图14中可以看出,针对同一种中药饮片小包装,该系统能够很容易识别出可抓取中药饮片小包装,且可抓取样本标出的中药饮片小包装的形心点(中心点)在实际应用中确实可以抓取,符合本发明系统的需求。
从图15中可以看出,若应用场景中的中药饮片小包装不是同一个品种,该算法依然能够从众多的包装中找出包装完整,易于抓取的中药饮片小包装。识别出的中药饮片小包装的中心点坐标可供后续的抓取,该实验结果证明了该算法对不同种类中药饮片小包装识别的普适性。
本发明主要对中药饮片小包装的识别进行研究。中药饮片小包装由于塑料材质,在摆放过程中易于出现堆叠、变形等现象,使用传统的图像识别算法解决这一类问题识别结果较差,传统算法手工提取图像的特征,如纹理、色彩等,然后使用分类器训练提取到的特征,得出类别,对于塑料材质的堆叠变形不太好识别,因此本发明使用深度学习的目标检测算法进行识别,基于卷积神经网络的深度学习算法可以使用卷积操作提取特征,使得特征的提取和分类一步到位。YOLO-V4算法是目前为止在目标检测领域综合性能较为出色的算法,不仅检测精度高,在检测速度上也强于其它算法,可以保证本发明实时性的要求,而且YOLO-V4算法在小物体检测以及目标分布集中的情况下也有出色的表现,符合本发明对多尺度和药袋检测的要求,因此选用YOLO-V4作为中药饮片小包装识别的核心算法。本发明基于改进YOLO-V4的中药饮片小包装目标检测识别方法,从两个方面对现有的YOLO-V4算法进行了优化和实现:一是使用k-means++聚类算法重新设置了自定数据集的Anchor box,使得训练的loss下降更快,准确率也有所提高;二是对YOLO-V4算法的损失函数进行了改进,分析了原有的模型在本发明自定义数据集上存在的问题,使用Focal loss优化YOLO-V4的损失函数,使得对于分类的loss有所下降,对于可抓取和不可抓取的药袋分类更加准确。
本发明中药饮片小包装目标检测识别方法是主要针对于中药饮片小包装的识别进行的研究,将本发明中药饮片小包装目标检测识别方法应用于中药饮片小包装的目标检测识别时,能够快速精确地识别出可抓取中药饮片小包装的位置。本发明中药饮片小包装目标检测识别方法能够实现对于多种尺寸中药饮片小包装的快速精确识别。此外,本发明中药饮片小包装目标检测识别方法应用于除中药饮片小包装外其它中药包装的目标检测识别时,也能够快速精确地识别出可抓取中药包装的位置。
图16为本发明中药饮片小包装目标检测识别系统实施例的结构图,参见图16,该中药饮片小包装目标检测识别系统包括:
各类图像集获取模块1601,用于获取各类中药饮片小包装的图像集;每类中药饮片小包装的图像集均包括多个同类中药饮片小包装的图像;每张图像中均包括一个可抓取中药饮片小包装;可抓取中药饮片小包装为在图像中包装完整且无遮挡情况的中药饮片小包装。
标定模块1602,用于对图像中的可抓取中药饮片小包装进行标定,得到标定后的图像;标定后的图像包括可抓取中药饮片小包装的边界框以及可抓取中药饮片小包装的边界框的中心点。
训练数据集构建模块1603,用于利用标定后的图像构建训练数据集;训练数据集包括各标定后的图像。
模型训练和优化模块1604,用于利用训练数据集、K-means++聚类算法和Focalloss损失函数对YOLO-V4模型进行训练和优化,得到优化后的YOLO-V4模型。
识别模块1605,用于将待识别图像输入优化后的YOLO-V4模型中,识别出待识别图像中可抓取中药饮片小包装的边界框以及可抓取中药饮片小包装的边界框的中心点。
其中,标定模块1602具体包括:
标定单元,用于利用LabelIMG软件对图像中的可抓取中药饮片小包装进行标定,得到标定后的图像。
模型训练和优化模块1604具体包括:
模型训练和优化单元,用于将训练数据集输入YOLO-V4模型中,利用K-means++聚类算法对各标定后的图像中的可抓取中药饮片小包装的边界框进行聚类,得到各类中药饮片小包装对应的可抓取中药饮片小包装的边界框,并利用Focal loss损失函数对YOLO-V4模型进行优化,得到优化后的YOLO-V4模型。
识别模块1605具体包括:
识别单元,用于将待识别图像输入优化后的YOLO-V4模型中,利用各类中药饮片小包装对应的可抓取中药饮片小包装的边界框识别出待识别图像中可抓取中药饮片小包装的边界框以及可抓取中药饮片小包装的边界框的中心点。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种中药饮片小包装目标检测识别方法,其特征在于,所述方法包括:
获取各类中药饮片小包装的图像集;每类所述中药饮片小包装的图像集均包括多个同类中药饮片小包装的图像;每张所述图像中均包括一个可抓取中药饮片小包装;所述可抓取中药饮片小包装为在所述图像中包装完整且无遮挡情况的中药饮片小包装;
对所述图像中的可抓取中药饮片小包装进行标定,得到标定后的图像;所述标定后的图像包括可抓取中药饮片小包装的边界框以及所述可抓取中药饮片小包装的边界框的中心点;
利用所述标定后的图像构建训练数据集;所述训练数据集包括各所述标定后的图像;
利用所述训练数据集、K-means++聚类算法和Focal loss损失函数对YOLO-V4模型进行训练和优化,得到优化后的YOLO-V4模型;
将待识别图像输入所述优化后的YOLO-V4模型中,识别出所述待识别图像中可抓取中药饮片小包装的边界框以及可抓取中药饮片小包装的边界框的中心点。
2.根据权利要求1所述的中药饮片小包装目标检测识别方法,其特征在于,所述对所述图像中的可抓取中药饮片小包装进行标定,得到标定后的图像,具体包括:
利用LabelIMG软件对所述图像中的可抓取中药饮片小包装进行标定,得到标定后的图像。
3.根据权利要求1所述的中药饮片小包装目标检测识别方法,其特征在于,所述利用所述训练数据集、K-means++聚类算法和Focal loss损失函数对YOLO-V4模型进行训练和优化,得到优化后的YOLO-V4模型,具体包括:
将所述训练数据集输入YOLO-V4模型中,利用K-means++聚类算法对各所述标定后的图像中的可抓取中药饮片小包装的边界框进行聚类,得到各类中药饮片小包装对应的可抓取中药饮片小包装的边界框,并利用Focal loss损失函数对YOLO-V4模型进行优化,得到优化后的YOLO-V4模型。
4.根据权利要求3所述的中药饮片小包装目标检测识别方法,其特征在于,所述将待识别图像输入所述优化后的YOLO-V4模型中,识别出所述待识别图像中可抓取中药饮片小包装的边界框以及可抓取中药饮片小包装的边界框的中心点,具体包括:
将待识别图像输入所述优化后的YOLO-V4模型中,利用所述各类中药饮片小包装对应的可抓取中药饮片小包装的边界框识别出所述待识别图像中可抓取中药饮片小包装的边界框以及可抓取中药饮片小包装的边界框的中心点。
5.一种中药饮片小包装目标检测识别系统,其特征在于,所述系统包括:
各类图像集获取模块,用于获取各类中药饮片小包装的图像集;每类所述中药饮片小包装的图像集均包括多个同类中药饮片小包装的图像;每张所述图像中均包括一个可抓取中药饮片小包装;所述可抓取中药饮片小包装为在所述图像中包装完整且无遮挡情况的中药饮片小包装;
标定模块,用于对所述图像中的可抓取中药饮片小包装进行标定,得到标定后的图像;所述标定后的图像包括可抓取中药饮片小包装的边界框以及所述可抓取中药饮片小包装的边界框的中心点;
训练数据集构建模块,用于利用所述标定后的图像构建训练数据集;所述训练数据集包括各所述标定后的图像;
模型训练和优化模块,用于利用所述训练数据集、K-means++聚类算法和Focal loss损失函数对YOLO-V4模型进行训练和优化,得到优化后的YOLO-V4模型;
识别模块,用于将待识别图像输入所述优化后的YOLO-V4模型中,识别出所述待识别图像中可抓取中药饮片小包装的边界框以及可抓取中药饮片小包装的边界框的中心点。
6.根据权利要求5所述的中药饮片小包装目标检测识别系统,其特征在于,所述标定模块具体包括:
标定单元,用于利用LabelIMG软件对所述图像中的可抓取中药饮片小包装进行标定,得到标定后的图像。
7.根据权利要求5所述的中药饮片小包装目标检测识别系统,其特征在于,所述模型训练和优化模块具体包括:
模型训练和优化单元,用于将所述训练数据集输入YOLO-V4模型中,利用K-means++聚类算法对各所述标定后的图像中的可抓取中药饮片小包装的边界框进行聚类,得到各类中药饮片小包装对应的可抓取中药饮片小包装的边界框,并利用Focal loss损失函数对YOLO-V4模型进行优化,得到优化后的YOLO-V4模型。
8.根据权利要求7所述的中药饮片小包装目标检测识别系统,其特征在于,所述识别模块具体包括:
识别单元,用于将待识别图像输入所述优化后的YOLO-V4模型中,利用所述各类中药饮片小包装对应的可抓取中药饮片小包装的边界框识别出所述待识别图像中可抓取中药饮片小包装的边界框以及可抓取中药饮片小包装的边界框的中心点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111142794.1A CN113869413A (zh) | 2021-09-28 | 2021-09-28 | 一种中药饮片小包装目标检测识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111142794.1A CN113869413A (zh) | 2021-09-28 | 2021-09-28 | 一种中药饮片小包装目标检测识别方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113869413A true CN113869413A (zh) | 2021-12-31 |
Family
ID=78991979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111142794.1A Pending CN113869413A (zh) | 2021-09-28 | 2021-09-28 | 一种中药饮片小包装目标检测识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113869413A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114494250A (zh) * | 2022-04-01 | 2022-05-13 | 浙江大学湖州研究院 | 基于神经网络模型的地板缺陷检测方法 |
CN117314919A (zh) * | 2023-11-29 | 2023-12-29 | 嘉利胶袋制品(深圳)有限公司 | 基于机器视觉的包装袋生产分析方法、系统及存储介质 |
-
2021
- 2021-09-28 CN CN202111142794.1A patent/CN113869413A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114494250A (zh) * | 2022-04-01 | 2022-05-13 | 浙江大学湖州研究院 | 基于神经网络模型的地板缺陷检测方法 |
CN117314919A (zh) * | 2023-11-29 | 2023-12-29 | 嘉利胶袋制品(深圳)有限公司 | 基于机器视觉的包装袋生产分析方法、系统及存储介质 |
CN117314919B (zh) * | 2023-11-29 | 2024-03-19 | 嘉利胶袋制品(深圳)有限公司 | 基于机器视觉的包装袋生产分析方法、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10650237B2 (en) | Recognition process of an object in a query image | |
CN113869413A (zh) | 一种中药饮片小包装目标检测识别方法及系统 | |
Spinello et al. | Tracking people in 3D using a bottom-up top-down detector | |
CN110263774A (zh) | 一种人脸检测方法 | |
WO2017190574A1 (zh) | 一种基于聚合通道特征的快速行人检测方法 | |
CN111104898A (zh) | 基于目标语义和注意力机制的图像场景分类方法及装置 | |
CN104573744B (zh) | 精细粒度类别识别及物体的部分定位和特征提取方法 | |
CN108564094A (zh) | 一种基于卷积神经网络和分类器组合的材质识别方法 | |
CN108830332A (zh) | 一种视觉车辆检测方法及系统 | |
CN109740676A (zh) | 基于相似目标的物体检测迁移方法 | |
CN109858547A (zh) | 一种基于bssd的目标检测方法与装置 | |
CN114821102A (zh) | 密集柑橘数量检测方法、设备、存储介质及装置 | |
CN102385592A (zh) | 图像概念的检测方法和装置 | |
CN111353377A (zh) | 一种基于深度学习的电梯乘客数检测方法 | |
CN113501167A (zh) | 一种基于双目视觉的中药小包装定位方法 | |
CN107392129A (zh) | 基于Softmax的人脸检索方法和系统 | |
JP2018105690A (ja) | 自動分析装置および自動分析方法 | |
CN111860637A (zh) | 一种单发多框红外目标检测方法 | |
Zhao et al. | Deep‐learning‐based automatic evaluation of rice seed germination rate | |
US20150242676A1 (en) | Method for the Supervised Classification of Cells Included in Microscopy Images | |
CN110399828A (zh) | 一种基于多角度的深度卷积神经网络的车辆再识别方法 | |
CN106650773A (zh) | 一种基于SVM‑AdaBoost算法的行人检测方法 | |
Wang et al. | Dynamical and-or graph learning for object shape modeling and detection | |
CN105825497A (zh) | 用于图像处理的探针放置 | |
CN110136102A (zh) | 一种基于标准图比对的轮胎x光病疵检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |