1、本栏目责任编辑:唐一东人工智能Computer Knowledge and Technology电脑知识与技术第19卷第4期(2023年2月)第19卷第4期(2023年2月)E-mail:http:/Tel:+86-551-65690963 65690964ISSN 1009-3044Computer Knowledge and Technology电脑知识与技术Vol.19,No.4,February2023基于知识图谱WordNet实现多数据集合并及其在YOLO9000中的应用褚云飞1,陈业红1*,吴朝军2*(1.齐鲁工业大学 轻工学部 新媒体技术系,山东 济南 250353;2.齐鲁工业
2、大学 轻工学部 生物基材料与绿色造纸国家重点实验室,山东 济南 250353)摘要:超大规模训练数据及数据标注的高额代价是基于深度学习的目标检测算法面临的挑战之一,随着可检测目标类别数目的增加,情况变得尤其严重。YOLO9000提出一种目标检测和图像分类联合训练的方法,对COCO检测数据集和ImageNet分类数据集合并使用,提供了充足的训练数据,检测对象类别达到9000种。文章探讨YOLO9000中采用的数据集合并方法,即利用知识图谱WordNet信息,在两个不同类别的大型数据集上实现无冲突的图像标注策略。此方法以WordNet 为语义检索,构建 WordTree 数据结构,辅以在层级间进行
3、局域概率计算的多域 Softmax 函数设计,使得YOLO9000可以检测没有任何标记的检测数据的对象类别,大大提高了目标检测系统的检测数量,同时依然保持良好的实时性。本文论述的方法对于不同来源的数据集实施合并具有重要的指导意义。关键词:WordNet;WordTree;深度学习;目标检测;YOLO9000;Softmax中图分类号:TP183文献标识码:A文章编号:1009-3044(2023)04-0010-04开放科学(资源服务)标识码(OSID):1 概述在如今的生活中,人脸识别、自动驾驶、车辆检测、行人检测等视觉技术早已得到了普遍应用,为人们众多工作生活带来了便利。这些检测识别技术背
4、后依靠的是目标检测算法的产生和发展。社会生活要求目标检测系统足够快速、足够准确、有足够的能力检测更多对象。从传统到深度学习,目标检测算法不断地更新换代,不断改进先前的不足并提出更加强大和富有创意的方法。2014年,Ross Girshick极具创造性地提出Region-CNN算法,目标检测的实现从此拥有了卷积神经网络(CNN)的支持,继之以Fast R-CNN、Faster R-CNN,目标检测算法在深度学习的强大动力下不断改进1-2。由于R-CNN的网络是two-stage双阶段结构,也就是将候选区域的检测和分类识别分成两个阶段执行,它的系列算法检测精确度高,但缺点是检测速度慢,无法满足实时
5、性。2016年,Joseph Redmon提出YOLO算法,将候选区域检测和分类识别合为一个,成为Onestage单阶段结构的开山之作,大大提高了目标检测的速度。然而YOLO也有不足之处,与Fast R-CNN等基于Region proposal的方法相比,YOLO存在更大的定位误差和更低的召回率3。为了解决这些问题,一年后,Joseph Redmon 与导师 Ali Farhadi 对 YOLOv1 进行改进,发表了论文 YOLO9000:Better,Faster,Stronger,也就是YOLOv2,提高了YOLO的召回率,并对目标 精 确 定 位 改 进,同 时 保 持 了 分 类 准
6、 确 性。YOLO9000使用了World Tree整合COCO和ImageNet数据集,并在其上进行联合训练,能够检测9000多个目标类别,这是联合检测数据集和分类数据集实施共同训练突破数据集瓶颈的重要一步4。因此,笔者认为World Tree的构建,在整合数据以识别更多对象的工作中起到了关键作用。众所周知,深度学习的主要局限来自它对训练数据的规模和质量的极高要求,而基于WordTree的数据集合并策略无疑是解决此类问题的一般性方法,所以明晰YOLO中构建WordTree的基本原理和实现方法就具有非常重要的意义。2 相关工作2.1 知识图谱工具:WordNet内在的意义类似于一个最常见的依靠
7、语言学整合而成的英语词典,但更加具体的描述在于它还是一种知识谱图应用实例,即这本词典中的所有单词根据它们彼此间的意义联系组成了一个庞大的网络,所以我们常常将WordNet称作“单词的网络”。WordNet不仅提供了每个概念的含义,而且给出了单词的近义词或反义词,同时阐释出一义多词、一词多义、类别归属等收稿日期:2022-09-20基金项目:山东省制浆造纸科学与技术教育部重点实验室主任基金项目(ZR202001);2022年国家级大学生创新训练项目作者简介:褚云飞(2000),女,山东潍坊人,在读本科生,主要研究方向为新媒体技术;陈业红(1969),女,河北保定人,讲师,博士,主要研究方向为人工
8、智能与计算机视觉;吴朝军(1969),男,河南新乡人,教授,博士,主要研究方向为轻工科学与人工智能。10DOI:10.14004/ki.ckt.2023.0216人工智能本栏目责任编辑:唐一东Computer Knowledge and Technology电脑知识与技术第19卷第4期(2023年2月)第19卷第4期(2023年2月)问题,使用WordNet的基本功能可以参见文献5。作为知识图谱的应用工具,在数据标注上有重要语义作用6。图1是WordNet的一个应用网页,在检索栏中输入一个预检索的单词,选择检索的选项(同义、反义,关联等),可以输出相对应的所有单词义集以及例句。图1WordNe
9、t网站实例2.2 大型视觉数据库2.2.1 ImageNetImageNet是根据WordNet中的语义关系构建的图像数据集,其不仅数据量大而且带有数据标签。ImageNet数据集拥有1500万左右张图片,涉及2.2万类视觉对象。其中有超过103万张图像。ImageNet中虽然图片量大,但是全部经过了人工挑选、整理和标记,带有边框批注,是庞大的基于图像分类的数据集,类似于一个图像引擎7。ImageNet依据WordNet具有层次结构的英语词典设计标注名字空间,因而可以描述基于已有知识的不同概念间的语义关系6。2.2.2 VOCVOC数据集是著名的基于视觉目标检测任务的大型数据集,为目标检测模型
10、监督学习训练提供的标注数据,共涉及20个类别8。2.2.3 COCOCommon Objects in Context数据集可以用来完成图像物体检测、语义分割和字幕生成,主要对目标之间的上下文关系和目标的2维精确定位问题提供数据支持,是最重要的物体检测数据集之一9。MicrosoftCOCO是一个大型的数据集,包含有150万个对象实例,80个object类别,91个Stuff类别,超过33万张图片,其中20万张带有标注,分为训练、验证和测试三种数据集。2.3 Softmax()多分类输出层使用跨越所有可能类别的Softmax层来输出最终的目标类别的概率分布,是构造多分类器常使用的方法。Soft
11、max()函数输出的是每个分类的概率值,而不是输出一个整数的类别编码。通过Softmax()函数可以将多分类的输出值转换为范围在0,1,和为1的概率分布,将多分类的结果以概率形式展示出来。使用Softmax()要求同组输入Softmax层运算的元素应该是互斥的,结果输出为每个元素的条件概率。在机器学习尤其是深度学习中,Softmax()函数在多分类的场景中使用广泛10。公式(1)中,Softmax(zi)表示输出分类类别为i的概率,其中n为类别总数。Softmax(zi)=ezij=1nezj(1)图2Softmax层作为多值概率输出计算图示其中,输入的分类特征变量 z1,z2,z3经 Sof
12、tmax()映射为01之间的实数y1,y2,y3,y4并且能保证其归一化和为1。3 为什么要构建Word Tree图像分类任务一般只要求确定图像包含哪一种类别的目标,而目标检测不仅要确定图像类别,还需要确定目标的位置和大小,由此可见,检测数据集同时包含了分类信息和定位信息。用于检测任务的数据集标注工作代价更大,所以带标注的检测数据集的体量比起面向分类任务的数据集要小很多11-12。YOLO9000若想要检测更多的对象,但缺少对象检测训练的样本,于是联合ImageNet大量的分类样本和COCO的对象检测数据集一起训练,用仅带有分类标注的数据集来扩展可检测类别的数量,实现对更多种类的图像目标进行定
13、位和分类。YOLO9000同样使用跨所有可能类别的Softmax()输出层映射目标类别的概率分布,这也是多分类常常使用的方法。最直接的方法可以把 ImageNet 中的9000种类别的数据合并到COCO数据集中,并将Softmax()分类层改成9000维。然而,通过Softmax函数预测各个类别的概率分布的前提条件是:待检测的类别之间应该是互斥的,即不同输出类别对应的实例集合之间的交集应该是空。然而,ImageNet的对象类别与COCO的对象类别存在大量重叠,并不满足类别互斥的要求。COCO是检测数据集,一般只标注了常见目标而图像分类数据集ImageNet具有更广泛的标签范围。比如COCO数据
14、集中有“猫”这个类别,ImageNet中同样有此类别,并且又细分多个不同品种的猫,显然猫与不同品种的猫是包含关系,并不相互独立,所以无法用单个Softmax来做对象分类。YOLO9000作者选择将ImageNet和COCO数据集结合起来共同训练。如何整合数据,需要解决哪些问题以及如何解决这些问题是成功的关键。首先,针对具体实施中遇到的COCO和ImageNet数据集中类别不完全互斥的问题,作者提出了将两个数据集按照一定的框架整合到一起,形成一个具有多层分类结构的11本栏目责任编辑:唐一东人工智能Computer Knowledge and Technology电脑知识与技术第19卷第4期(20
15、23年2月)第19卷第4期(2023年2月)方法,即层级分类(Hierarchical classification)的方法4。两个数据集中类别依据的从属关系框架来自 WordNet这个表示单词内部关系的知识图谱工具。最后,解决完所有问题,YOLO9000 的作者根据设想建立出一种树型结构WordTree,提供能解决标签互斥的多标签标注机制。比如 COCO 对象类别有“狗”,而 ImageNet 细分成100多个品种的狗,狗与100多个狗的品种是包含关系,而不是互斥关系。一个“Norfolk terrier”标签同时也是“dog”,就可以采用“dog”和“Norfolk terrier”两个标
16、签来标注。YOLO9000没有直接使用WordNet对图像分类而是重新建立树的结构,原因在于WordNet是一个有向图结构,一种对象可以同时从属于多种属 性,比 如:dog 既 是 一 种 canine(犬),也是一种 domestic animal(家畜),它们都是WordNet中的同义词。语言的复杂性限制了数据集训练的可行性,YOLO9000并不使用完整的图结构,而是要通过ImageNet构建分层树来简化问题,使对象间的从属关系直接简洁,方便对象分类。4 如何构建WorldTree构建好的WordTree有9418个节点(对象类型),包括ImageNet 的Top 9000个对象,COCO
17、对象,以及ImageNet对象检测挑战数据集中的对象,以及为了添加这些对象,从WordNet路径中提取出的中间对象。结合COCO和ImageNet建立的WordTree如图3所示。World Tree以physical object为根节点,各名词依据相互间的关系构建树枝、树叶,节点间的连接,表达对象概念之间蕴含的上下位关系。构建World Tree的步骤是:1)建立WordTree根节点(Physical object);2)首先检查 ImagenNet和COCO中的所有欲加入的对象Oi;3)然后在WordNet中找Oi到对应的节点Ni;4)如果该节点 Ni 到 WordTree 根节点 R
18、(Physicalobject)的路径只有一条,就将该路径以及路径上的所有节点添加到WrodTree,转6(大部分对象都只有一条路径);5)否则,反复检查路径不唯一的对象所有的想要添加到已有的WordTree的路径长度,从中选择一条尽可能短的路径添加到已有WordTree中,转6;6)如果所有节点已加入,结束,否则转2。如图4所示,金毛狗的路径可以是金毛属于狗,狗属于动物,动物属于根节点object;也可以是金毛属于宠物,宠物又同时属于狗和豢养动物,豢养动物和狗都属于动物,最后找到根节点 object。找到金毛在WordNet中的三条路径,发现后述两条路径都有四条边,而第一条所述路径有三条边,
19、为最短路径,于是舍弃其他路径,将最短路径加入到已有WordTree中。依此方法,YOLO2 根据 WordNet,将 ImageNet 和COCO中的名词对象一起构建了一个WordTree,并且Wordtree中每个对象只有唯一路径连接到根目录。以Physical object为根节点,各名词依据相互间的关系构建树枝、树叶,节点间的连接,表达了对象概念之间蕴含的上位/下位关系。至此,虽然整个WordTree中的对象之间不是互斥的关系,但对于单个节点,属于它的所有子节点之间是互斥关系,这样就可以针对从属于同一层级对象的子节点使用Softmax操作来预测该层级下所有平行类别之间的概率分布。这样使用
20、有限多的softmax函数,就可以实现无线扩展对象的检测。为了评估此方法,还添加了ImageNet检测挑战中未包含的类。最终World Tree中的节点共对应9418个类别。在样本的选取上,由于ImageNet比COCO大得多,所以YOLO9000通过对COCO进行过度采样来平衡数据集,使得ImageNet与COCO采样的比例为4:1。5 如何利用WorldTree确定识别对象在所有对象互斥的情况下,采用softmax()预测n个类别的对象,输出可以采用n维向量表达,对象被预测到的类别对应的那一维数值接近1,其他维数值接近0。图3利用Wordtree 实现ImageNet与COCO数据集的标签
21、合并图4多路径寻优示意图12人工智能本栏目责任编辑:唐一东Computer Knowledge and Technology电脑知识与技术第19卷第4期(2023年2月)第19卷第4期(2023年2月)在World Tree中,采用softmax()层对对象进行分类的方法是:首先将World Tree中的所属于同一父类的叶子节点以及向上遍历所有可继续细分的属于同一父类的中间节点分组进行线性排列,然后对每一行属于同一父类的对象分别进行softmax()计算。这样计算得到的是每个节点对象的条件概率,也就是同义词集合中它们的每个下义词预测到的概率。例如:object根节点包含的子节点有动物、人工制品
22、,动物包含的子节点有猫、狗,狗包含的子节点有金毛、哈士奇、泰迪,如图5:图5WordTree部分分类示意图针对某单词树对应线性结构进行分段softmax概率计算,如图6所示:图6在每一层进行分类Softmax计算示意图对不同对象求得的各自 Softmax 值即为条件概率,例如:对第一层对象求条件概率:Pr(object)=1;对第二层对象求条件概率:Pr(动物|object)=a1,Pr(人工制品|object)=a2,.对第三层对象求条件概率:Pr(猫|动物)=b1,Pr(狗|动物)=b2,.对第四层对象求条件概率:Pr(金毛|狗)=c1,Pr(哈士奇|狗)=c2,Pr(泰迪|狗)=c3,.
23、对以上计算有:a1+a2+.=1,b1+b2+.=1,c1+c2+c3+.=1,.以此类推,直到叶子结点层。注意,此处每一个softmax()得到的分布表达只是边缘分布,求得softmax()值为在父节点条件下的相对概率。也就是说,每个对象输出的概率值只与和它并列的属于同一父类的所有节点有关,与其父类的父类以及继续向上层遍历的祖先的概率值无关。若需要计算某一节点的绝对分布,只需要计算从该节点到根节点一系列条件概率的连乘积,即其par(node)表示节点node的父节点。p(nodei)=p(nodei|par(nodei).p(par(nodei)|par(par(nodei).p(objec
24、t)(2)当然节点的条件概率并不能很好地对检测的对象进行预测分类,例如:同属于动物类别的狗和猫假定它们求得的softmax()值分别为0.3和0.6,同属于狗这个类别的金毛和哈士奇求得的softmax()值分别为0.7和0.1,同属于与狗并列的猫这个类别的波斯猫和波斯猫求得的softmax()值分别为0.2和0.5,显然所有叶子节点条件概率的最大值为金毛的0.7,但是无法说检测的对象预测为金毛,因为金毛的父类狗比和它并列的猫的条件概率值小得多,也就是说检测到的对象首先更有可能是猫而非狗,最终结果更大可能是从属于猫的某一类别。通过例子可以看出,想要得到的是某一特定节点的绝对概率,也就是与这个节点
25、相关的所有并列节点以及所有祖先都对该节点的概率起到影响,所以需要计算特定节点的绝对概率:沿着WordTree上根节点到达特定节点的路径,将所有经过的节点的条件概率相乘。例如想要知道一张图片是否为金毛,应该计算:Pr(金毛)=Pr(金毛|狗)*Pr(狗|动物)*Pr(动物|object)。通过WordTree求绝对概率的一个好处是:在新的或未知的目标类别上YOLO9000模型的性能没有下降太多。例如,如果检测一张狗的图片,但不确定它是什么类型的狗,YOLO9000仍然会高度自信地预测“狗”,只是扩展到狗的子节点可能会有更低的置信度4。理论上讲,预测对象时,应该对所有节点求绝对概率,最终比较大小。
26、而在实际预测过程中,并不计算出所有节点的绝对概率,而是采用一种比较简便的算法:从根节点开始向下遍历,对每一个节点,在它的所有子节点中,选择概率最大的那个继续向下遍历和计算概率值,其他非最大值的对象被舍弃,无须再计算它们的子节点的概率,到达每一层级都采取相同做法,一直遍历到某个节点的子节点概率低于设定的阈值,也就是该节点的概率值过小导致较难再取到,分类器无法明显分辨类别,或达到叶子节点时,取该节点在WordTree中对应的对象为输出的预测结果。就好比想要分辨一张图片为哈士奇还是波斯猫,首先要分辨这是狗还是猫,因为大多数狗和猫都有各自相同的特征,如果这张图片首先被判定大概率是狗,那它是波斯猫的概率
27、就很小,便可以忽略对猫的概率计算。6 结论与展望Word Tree是YOLO9000中为了解决Image Net和COCO数据集合并所遇到的标注不互斥的问题而构建的词集之间的树形结构。根据WordNet中的层级关系,WordTree以层级分类的方式将ImageNet和COCO数据集组合在一起,将数据集中的类别映射到树中的同义词集上,实现了在两个数据集上分类和检测的联合训练。借助WordTree进行联合训练后,YOLO9000利用COCO数据集中的数据检测图像中目标的位置和大小,利用ImageNet数据集中的数据对检测的目标进行分类13。WordTree为图像识别提供了更丰富、更详细的输出空间,
28、使用分层分类的数据集组合在分类、检测和分割领域大有益处。此方法能根据知识图谱WordNet中的从属关系结合不同来源的图像数据及标注词汇,从而大大扩大了模型训练数据的规模,并实现对更多对象的预测。(下转第39页)13人工智能本栏目责任编辑:唐一东Computer Knowledge and Technology电脑知识与技术第19卷第4期(2023年2月)第19卷第4期(2023年2月)表2消融实验算 法SSD本文算法本文算法网络主干VGG16ResNet50ResNet-50&BAFFIOU0.5085.7%87.2%89.8%0.7559.4%61.6%69.3%0.50:0.9553.1%
29、55.1%58.4%SSD算法与本文改进算法检测效果对比图如图3所示。由效果图可知针对远处以及较小人脸,本文算法相比原始算法具有更高的检测精度和更低的漏检率。(a)SSD算法检测结果(b)本文算法检测结果图3检测结果3 结束语本文提出了一种基于SSD改进的口罩佩戴检测算法。首先使用网络层次更深、特征提取能力更强的ResNet50替换原有算法的VGG16作为骨干网络。同时针对原始SSD算法多个预测特征层信息交互能力较弱的问题,提出BAFF特征融合机制。实验证明,本文提出的算法在百度飞桨上的行人口罩佩戴数据集上有良好的表现能力。改进后的算法在训练数据集上较原有算法的评价精度在 IOU 为 0.5、
30、0.75、0.50:0.95下分别提升4.1%、9.9%、5.3%。参考文献:1 WHO.WHO timeline-COVID-19 EB/OL.Geneva:WHO,2020-04-272020-05-19.https:/www.who.int/news-room/detail/27-04-2020-who-timeline-covid-19.2 吴尊友.新型冠状病毒肺炎无症状感染者在疫情传播中的作用与防控策略J.中华流行病学杂志,2020,41(6):801-805.3 Ren S Q,He K M,Girshick R,et al.Faster R-CNN:towards real-ti
31、me object detection with region proposal networksJ.IEEETransactions on Pattern Analysis and Machine Intelligence,2017,39(6):1137-1149.4 Liu W,Anguelov D,Erhan D,et al.SSD:single shot MultiBox detectorM/Computer Vision-ECCV 2016.Cham:Springer International Publishing,2016:21-37.5 Redmon J,Farhadi A.Y
32、OLOv3:an incremental improvementEB/OL.2018:arXiv:1804.02767.https:/arxiv.org/abs/1804.02767.6 张洁,陈莉,李铮,等.基于聚类与Faster RCNN的行人头部检测算法J.西北大学学报(自然科学版),2020,50(6):971-978.7 Neubeck A,Van Gool L.Efficient non-maximum suppressionC/18th International Conference on Pattern Recognition(ICPR06).August 20-24,200
33、6,Hong Kong,China.IEEE,2006:850-855.8 He K M,Zhang X Y,Ren S Q,et al.Deep residual learning forimage recognitionC/2016 IEEE Conference on Computer Vision and Pattern Recognition(CVPR).June 27-30,2016,LasVegas,NV,USA.IEEE,2016:770-778.9 董艳花,张树美,赵俊莉.基于残差结构的SSD口罩检测J.计算机技术与发展,2021,31(12):67-72.10 曾成,蒋瑜,
34、张尹人.基于改进YOLOv3的口罩佩戴检测方法J.计算机工程与设计,2021,42(5):1455-1462.11 Hu J,Shen L,Albanie S,et al.Squeeze-and-excitation networksEB/OL.2017:arXiv:1709.01507.https:/arxiv.org/abs/1709.01507.【通联编辑:代影】(上接第13页)Word Tree的构建为扩充检测类别提供了新的思路,树形结构对复杂问题的简化梳理提供了很好的工具。未来图像视觉检测任务可以运用WordTree整合更多不同来源的独立数据集,建立更庞大的数据集,为深度学习目标检测
35、系统提供强有力的支持,能够检测更多对象,在一些无监督的检测目标学习场合有可能做得更好。参考文献:1 Chen M M,Bai F S,Gerile Z.Special object detection based onmask rcnnC/2021 17th International Conference on Computational Intelligence and Security(CIS).November 19-22,2021,Chengdu,China.IEEE,2022:128-132.2 冉鹏,王灵,李昕,等.改进Softmax分类器的深度卷积神经网络及其在人脸识别中的应用
36、J.上海大学学报(自然科学版),2018,24(3):352-366.3 南晓虎,丁雷.深度学习的典型目标检测算法综述J.计算机应用研究,2020,37(S2):15-21.4 Farhadi,Ali Redmon,Joseph.YOLO9000:Better,faster,stronger.Proceedings-30th IEEE Conference on Computer Visionand Pattern Recognition,CVPR 2017:6517-6525.5 Word Net Search-3.1EB/OL.http:/wordnetweb.princeton.edu/
37、perl/webwn.6 Miller G A.WordNet:a lexical database for EnglishC/Proceedings of the workshop on Speech and Natural Language-HLT 91.February 23-26,1992.Harriman,New York.Morristown,NJ,USA:Association for Computational Linguistics,1992:483.7 Deng J,Dong W,Socher R,et al.ImageNet:a large-scale hierarchi
38、cal image databaseC/2009 IEEE Conference on ComputerVision and Pattern Recognition.June 20-25,2009,Miami,FL,USA.IEEE,2009:248-255.8 Everingham M,Eslami S M,Gool L,et al.The pascal visual objectclasses challenge:a retrospectiveJ.International Journal ofComputer Vision,2015,111(1):98-136.9 Lin T Y,Mai
39、re M,Belongie S,et al.Microsoft COCO:common objects in contextM.Computer Vision-ECCV 2014.Cham:Springer International Publishing,2014:740-755.10 S R.Reduced softmax unit for deep neural network acceleratorsEB/OL.2021:arXiv:2201.04562.https:/arxiv.org/abs/2201.0456211 赵凯琳,靳小龙,王元卓.小样本学习研究综述J.软件学报,2021,32(2):349-369.12 万磊,佟鑫,盛明伟,等.Softmax分类器深度学习图像分类方法应用综述J.导航与控制,2019,18(6):1-9,47.13 蔡余钰.基于3D运动约束的视觉多目标跟踪算法D.北京:北京交通大学,2020.【通联编辑:唐一东】39