编者按:细粒度图像识别和检索的差异有哪些呢?细粒度视觉有哪些重要实际应用及重要场景呢?未来细粒度图像分析领域又会如何发展呢?为此,VALSE Webinar 2020-20期邀请了宋一晢(University of Surrey)、刘武(京东AI研究院)、王旗龙(天津大学)、明悦(北京邮电大学)、王正(东京大学)等五位领域的专家,在魏秀参(南京理工大学)的主持下,围绕4个议题开展了深入探讨。本文是该次Panel讨论的文字实录。
点击查看本次VALSE Webinar活动详情以及讨论嘉宾和主持人的简介等信息:VALSE Webinar 20-20期 「见微知著」(2) - 细粒度视觉检索特辑也欢迎您关注VALSE的B站号ValseWebinar观看VALSE webinar历次活动的录像。
文字整理 | 班瀚文
制版编辑 | 程 一
01
细粒度图像识别和检索的差异?
王正:首先很直观的是识别和检索,它的实现形式不一样。检索呈现形式是一种排序,识别返回一个是与非的问题。但是这两个问题也是可以联系起来的,比如我有一个排序结果,设置一个阈值,那么排在阈值前的就可以认为它是我要识别的目标。对于细粒度的问题要考虑到底多细叫细,我认为检索这个层面会更细一点。假如识别把猫和狗分开,再细一点是把拉布拉多和牧羊犬分开以及不同种类的拉布拉多。但是实际上很多时候检索是一种实例级别的,把我家的拉布拉多和魏老师的拉布拉多得分开,它的粒度会更细,所以我认为检索这个层面的粒度会更细一点,谢谢。
02
细粒度视觉有哪些重要实际应用?有哪些重要场景?
刘武:我先简单说一下,刚才我给了一些场景,比较典型的像商品的细粒度检索,通过细粒度检索来做商品的结算。我也有接触过其他的一些场景,细粒度最先提出来的数据集是做鸟类的细粒度识别,中国有很多的湿地公园包括保护区,里面有很多不同的鸟类的,在做这种鸟类保护的时候,也要对应到细粒度识别的方法,来识别出具体是哪一类鸟,总结鸟类的数量是增加了还是减少了,对鸟类保护有很大的作用。另外,京东有一个拍照购的功能,就是可以拍一张图像,在京东商城上搜这个商品,这里边也会用到细粒度搜索的技术。
王正:我结合周围的例子说一下可能的应用,我有一个同事在日本做漫画搜索,他提出了一个数据集叫Manga109,漫画这个细粒度检索还是一个比较难的问题,因为我们发现,日本人画的漫画,大部分情况下都是发型和衣服不一样,把某个漫画人物检索出来还是有一定难度的,另外实际上有可能同一个人的发型会变,比如孙悟空超级赛亚人3的状态,他的头发会变长。所以我觉得漫画检索也算是细粒度检索的一个部分。另外我们有跟本田合作,他做了一款导航机器人,因为导航机器人实际上有两类摄像头,一类是对着前方,有点类似于自动驾驶车,会分割前景,判断前面的目标,躲避遮挡。后方实际上也有一个摄像头,因为跟随者的速度和机器人走的速度不一样,在一般情况下,现在的设计都是用后方的摄像头是对着人脸,人脸如果离开了再重新进来,他会重新注册这个脸,再用机器人导航这个人。可能有种情况,现在大家都戴了口罩或者距离比较远,有些遮挡,人脸不是太可靠。现在我们试着用ReID的技术来解决这个问题。当然这种细粒度也会有一些类似于监控场景的ReID的同样的问题,还会有一些其他的问题,比如在机场多买了一些东西,或是戴了一个帽子,或者把外套脱下来,这样的一些变化。这是我想向大家介绍的细粒度视觉的应用,一个就是漫画检索方面,另一个是机器人视觉的应用,谢谢。
王旗龙:在我看来视觉的应用可能多多少少都会涉及到一些细粒度的识别,只是大家现在不会特意去叫细粒度视觉。刚才王正老师也提到了个体识别的问题,包括人脸大家觉得应用很多,但是人脸也是一个很明确的个体识别的案例。划分来看,它也完全是细粒度识别的问题,包括刘武老师也介绍了关于人的识别,车辆的识别,商品的识别,这些都是细粒度的问题。我们现在来做视觉应用的时候,可能是多粒度或者是跨粒度的问题,可能有粗粒度,但是当某些具体任务的时候,都会多多少少涉及到细粒度的问题,所以这是一个很常见的,只要涉及到视觉识别、检索类的东西,一般情况避免不了细粒度的事情。大家对这个的认可度不是特别高,实际上会遇到,但是并不会把细粒度这个概念提的特别明确。
明悦:关于实际应用方面的问题,对于细粒度来讲,应用领域还是特别多的,刚才宋老师刘老师讲了很多的工作,给我的感觉都是一些很新颖的思路,实际上非常有需要也有需求,又和我们的研究密切相关。因为平时我做关于视频、行为或者人脸面部分析的工作,所以这里面,我觉得当前的细粒度的处理可能更多面向了图片方面的研究,我们现在有的工作,包括行为识别方面的细粒度的研究,比如要做一些司机或驾驶员他的行为、面部表情、精神状态的分析。比如都是一样的表情,或者是同样的一个动作,对于不同的人、不同的目标来讲,就有可能有很多很多的差异,这个我觉得也是和细粒度非常相关的工作。
还有车辆、零部件的检测,这些零部件里面会有很多不同的伤痕,因为要让这个零部件有比较好运行的进展,我们对它伤痕的检测或者是细小的瑕疵,都需要对他有一些关注。但是对于不同的部件来讲,可能也有很多细粒度需要我们去进一步分析的部分,这个就是在这方面研究当中遇到的一些问题,希望和各位老师共同探讨。
宋一晢:刚才几个老师说的都非常好,这个讨论的话题也非常有意义,fine-grained确实是vision的一个core problem,希望大家首先不要被fine-grained classification思想束缚,刚才几个老师也说过了还有很多应用场景可以去慢慢地孵化。我们做的很多应该是retrieval这方面,当然发现应用场景是很重要的。我还发现一些用户习惯的养成可能是一个突破口。用户习惯在哪养成?比如很多人说,我不会画,我认为文字比较好,或者我认为照片比较好,是不是在有一些environment里,没办法照相,也很难打字,比如在AR和VR领域,就是一个大家考虑的方向。在retrieval来讲,这个input很重要,首先这个input就得有细粒度的信息,它没有细粒度信息的注入,这个retrieval也没有办法去做,所以我刚刚想到补充一下,用户行为的养成很重要。第二个,就是一些场景,没有办法用到比较传统的input的时候,其他的input例如手绘这种,是不是就会有用武之地。但是我还是很高兴,看到刘老师在京东做了很多工作,这些方面已经有一些idea落地了。我认为再往前想一想,可能还有更好的应用场景,谢谢。
03
细粒度视觉数据库有哪些?标注困难的问题如何解决?当前自监督和半监督学习对细粒度视觉研究有何益处?
王正:首先我说一下成像的过程,有一个目标在一个环境里,通过摄像机的拍摄形成一张图片。我觉得细粒度有这样一些问题,这个目标的细节怎么样被捕捉?这个目标和环境有什么样的关系?成像的视角会不会对这个目标有影响?以及刚才宋老师说的人的熟练程度,或者人看待这个目标有什么样的主观想法。
除了刚才说到一些数据集之外,我想提几个数据集,一个是Google Landmark Retrieval数据集。它就是有一个问题,拍摄的目标。比如拍摄东京铁塔,它的背景会有很多的干扰,比如这个东京铁塔特别小,或者是从下往上拍,这个目标随背景变化,以及背景噪声对它造成的影响会有很多问题,这是一类数据集。
第二个是新出来的University1652数据集,悉尼科技大学杨毅老师组做的。他在这个基础上会考虑拍摄的设备的变化,比如拍了1652个学校的建筑物图片,包括几种视角,一种是用手机拍摄的这种站在地上的视角,还有一种就是用无人机环绕拍的。另外一个是从卫星拍的。这种大的视角变化会带来目标特征的强烈变化,一些细节在不同的视角下它就会有一些缺失。
第三个,因为我以前一直做ReID,宋老师之前在北大出过一个sketch ReID的数据集,它是照着监控里的人的图片画的数据集。但是这个数据集它是有一个统一的风格,我们考虑未来在sketch引入了以后,有没有可能在这个领域不同人画,因为当一个真实案件发生了以后,不可能把画这个数据集的人来画一个图像,他有可能是不同的人画的。所以我觉得不同的人对人的认知和画图的方式,都会对这个检索的效果产生一些影响。
这是关于数据集方面的,关于标注方面,我觉得标注类别的还好,但是如果更细了,比如画sketch这种就比较难。另外,当在实际应用中没有那么多标注的时候,还是要借助模型或者是聚类的方式先找到一些聚类,然后把这些hard example拿出来给用户来标,那种easy example可以附一些伪标签。中文大学的李鸿升老师之前在VALSE上也讲过他们的MMT和SPCL的工作,怎么样用现有的模型,来帮助大家去标注,谢谢。
明悦:我做的时候觉得数据标注还是一个挺困难的问题,尤其是做一个实际项目的时候。有的时候就会想到,是不是能够借助比如脑认知科学,或者人类的视觉感知的偏向性的方面来辅助做一些标注性的工作。我们也在做一些相关的探索,看看是不是能够帮助我们完成这样的一个标注的工作。另外有一些数据时空上面的相关信息,能不能帮我们解决一些标注上面的问题。但是这个问题,尤其是对于细粒度来讲,可能和我们其他的问题还有一定的差异。有的问题,比如某一个人的身份,或者说某一个粗粒度的行为、表情,可能标注会留意一些,对于细粒度来讲,可能包含姿态的变化、行为习惯上面的变化,还有一些比较细节上的信息,这些我们怎么样去探索一个更好的方式方法,包括借鉴其他领域的知识去帮我们完成这样的工作,我认为还是需要去进一步去深入探讨的比较大的问题。
刘武:首先我也觉得从细粒度分类到检索,把这个问题推向了从一个封闭域有限类别的标注变成了一个开放域的无限类别的标注,一旦是一个检索问题,类别可能会发生很多变化,包括以后也可能会有一些变化,给标注带来了很大的难度。以ReID为例,如果去人标的话,需要看好多的摄像头,看好多的数据,才能挑出一两个相关的可以标注的,困难还是非常大的,所以我们也提了data hangther这种自动标注的方法,有了这些自动标注的方法,我们可以大大节省标注的时间,同时也可以做半监督的学习。我们能够通过这些出标注的数据,能不能做到模型提升,而模型的提升反过来做提高标注的预标注的效果,两者是不是可以做到左右互补的正向反馈提高标注的效果。当然它可能会有一个bar在那,到达bar之后再需要人帮助,像教孩子学习一样,再教他一些新的知识,再来提升这个效果,这是从本身来解决数据标注的问题。现在一个目前在发展的方向是做数据的生成,很多3D引擎都已经有一种非常逼真的效果,可以通过这些3D的引擎去生成一些数据,比如现在已有工作来生成ReID的数据。生成的这类数据我们既不需要去采集也不需要去标记,生成之后就可以用了,可以用来提高ReID的效果,以后我们也可以通过3D的引擎来生成细粒度商品的数据或者是动作的数据,通过生成这些数据,我们也同样可以来训练提升模型效果。
另外还有做一些数据的增强,或者是用self-learning的方法,来提高模型的效果,也可以绕过很多标注困难的情况。
王旗龙:现在细粒度数据库还是挺多的,但是有些数据库的定义是没有具体定义到这个层次上的,有些是定义的比较明确,有些定义的不太明确,包括一些场景类,SUN和Indoor这种比较早期的场景数据库,可以看成是一种细粒度,而且有些学者也把它当成有细粒度的任务去研究,因为它都是场景的数据集。包括一些交通标识的识别,也可以认为是一种细粒度。还有fashion、衣服之类的,有一些并没有明确提出来是细粒度,有些明确提出来了。还有一些现在做识别来说,这些数据集可能大家都用的比较多,就像Birds, Aircraft, Cars这些比较早期的,现在大家做research的时候经常用。还有iNaturalist这些图像类的。视频类的像是商汤,CVPR 2020,提出来一个关于FineGym,是一个专门做视频的,明确强调细粒度的数据库。这种数据库现在挺多的,而且类别数也逐渐地增多,也更多的偏向实用性,还有包括秀参老师本身也在做关于商品的数据库。这些数据库还是挺多,而且慢慢地推动这个community一直往前走。其实这个领域在不断的发展,这个dataset还是很重要的。数据库的标注我认为是细粒度比较重要、比较难的一个问题。很多的情况需要一些专家的知识,这可能是比较麻烦的事情。如果一些常见的物体,所有人都可以去标注,甚至一些不具备专家知识的也会标注,但是对于细粒度的问题来说,包括刚刚说的狗的种类,物种的种类,确实是非常难标注的一个问题。但是这个事情是可以尝试解决的,用自监督的方式去做细粒度是一个非常好的方式,也是非常值得去做的方式。我们现在的数据是有,但是标注是个问题,自监督可以一定程度上解决标注的问题。解决标注的问题,可以尝试定义下游不需要重新用label去确立的一些问题,比如宋老师提到的retrieval的问题,是非常好的方式,用自监督的方式去发掘细粒度视觉数据中common的structure,然后利用这样的特征,去做一些无监督下游的任务,我觉得可能是一个非常好的尝试。但如果是用这样的方式再做Classification的话,可能还会有一些问题,因为其需要训练Classifier,所以还会遇到标注label的问题。半监督的方式,最近也一直在提,包括一些few short的方式去做细粒度,比如样本很少去做的话都有一个帮助。
最后一方面,如果模型本身对抗噪能力比较好的话,其实是一个不错的方向。因为也许我们预标注困难的话,如果我们允许在一定程度上给他标注信息是不太对的。如果对这个的label noise或者对于这样的错误标注有一个自纠错能力的话,这可能对细粒度来说更为重要。我见到一篇论文也说到了,我们现有的这些标注的细粒度数据集还是存在一些标注错误的。当把这些标注错误的数据去掉的时候,我们很多模型,还是可以得到进一步的提升,所以暗示着我们现有的这个模型,对于错误标注还是一个蛮大的影响。如果说能在这方面解决,标注困难,避免不了有很多标注错误,如果说对这方面比较鲁棒,或者说有自纠错能力的话,我们可能对于细粒度的问题更为重要,因为标注是一个很大的问题。
04
从近几年国际相关顶级会议或可发现传统细粒度图像识别工作有渐趋减少的端倪,未来细粒度图像分析领域会如何发展、趋势为何?
王正:我主要说三个方向,第一类是怎么处理这种复杂场景下的细粒度的识别或是检索,像Google Landmark Retrieval,它的背景噪声很大,但是在细粒度检索的时候,我们需要关注的是目标的比较细节的信息。当我们用这种局部特征,像是shift或者是deep local feature的时候,这个点有可能提在背景上。这类问题怎么处理?因为现在大部分原来做细粒度的问题,背景还是比较干净的,整个画面中大部分还是一个目标。
第二类趋势是关注多视角或者是多模态的问题,上周在华尔兹的报告中,北大彭宇新老师介绍了他们的工作,因为他也是做细粒度的,他的关注点就是在这种跨模态的工作,包括文字、图像、视频等信息的融合。然后在check instance search这样的评测中,他也是开始关注到的是人物或者是地点,人物或者是相关行为结合的检索任务。我们现在关注的这种行人检索问题,现在也开始研究像是跨红外和可见光,跨sketch和photo以及跨real和virtual的这种data,还有包括现在宋老师做的这个,我觉得也算是跨模态的一些工作。另外,刚才提及的university的数据集,它的不同视角也是一种比较大的图像目标信息的变化。这类变化需要关注到是怎么样去做这种alignment。
第三类问题是关于风格的不同。因为人对客观事物的认知不同,画出来的画,或者拍摄出来的东西,或者是描述出来的语言,就会有一些差距。怎么样去解决这样的一些style的bias也是可以关注的问题。当然这是主要的三个可以关注的,还有攻击和对抗,数据的隐私保护,以及无监督这样的问题在细粒度识别中也是可以去关注的。
王旗龙:我简单说一下我对这个问题的看法和理解,我先说一下关于我个人审稿经验的一个bias。包括CVPR 2020、ECCV 2020和 NeruIPS 2020一共是7篇关于细粒度识别的文章。当然这7篇细粒度识别的文章,给我的看法更多的还是关注在传统问题上,比如attention、一些表达的问题或者是一些loss的问题。他们其实都有一个共同的问题,就是数据集比较老。当然这肯定是根据我经验的一个bias,Birds、Aircraft、Car基本上是从这三个数据集上去做。所谓性能来说,在这几个数据集上达到一定的饱和程度了,可能有一些数据集有同样的问题,比如都是有一个浮动的问题。另外一个看起来更像是现有工作的补充,所以我觉得这也是一个限制。从个人经验来看,我反而觉得大家对细粒度的问题的认可度受到某种东西的限制。我总觉得现在大家对细粒度的概念并不是特别的清楚,而且对细粒度的概念又比较受制于一些传统的问题,或者说传统数据集的限制,大家一提到fine-gained的时候,往往会想到一些相关的数据集,相关的任务。可能将来,对于细粒度发展一个相对抽象一点的东西,就是我们能否对细粒度有一个具体化或者是抽象化的严格定义。刚才有老师也提到了对抗攻击,对抗攻击也是有一个抽象出来的formulation:在对图像干扰非常小的情况,最大的影响classification结果,但是细粒度只有一个非常一般化的描述:类内变化明显,类间的差别比较细微。这是在写图像分类论文,或者是做细粒度相关的论文,或者做细粒度相关工作的时候,大家往往都会用到的一句话。这样一句话可能也导致大家对细粒度问题这样的认可,也是一个问题。
第二个,我觉得从方法论上,或者从技术上来说,因为细粒度识别也分成几个不同的平行化的方法论,比如早期的Part-based方法和High-order Pooling,宋老师基于attention或是基于loss,大家对于这些方法,在做的过程中并没有分析这些方法起效的本质原因。比如有些方法,在不同的任务上,不同的dataset上肯定是不一致的,这个不一致是由什么原因导致的?再比如细粒度识别任务中存在哪些问题?哪些方法对于解决哪些问题比较好?有没有哪些问题是所有现在的方法都解决不了的?这样的一个工作可能对于细粒度图像识别在技术上的发展是一个比较好的东西,也比较重要。有哪些方法适合解决哪些问题,他们的combine会解决哪些问题,或者这些方法都不能解决哪些问题。这件事情也有类似的工作出现,只不过可能因为一些原因没有录用,但是我觉得这个工作还是蛮好的,这个信息也是对于技术上起着一个推进的作用。
另外一个,现在更多的关注是classification 、检索这些问题,有些问题可能也是在这种Fine-grained背景下会有一些影响,比如刚才提到的开放集的识别,对于新类和旧类、已知类和未知类这样一个检测的问题,传统的问题上是否有同样的一个性质。包括现有的这种细粒度识别模型的安全性怎么样,它对于造成的影响抗干扰能力怎么样,这个都是可以探讨的,可以把这个问题给扩大化,把这个任务扩大化,这是我的一个看法。
刘武:近年来细粒度图像识别工作逐渐减少,刚才王老师说的原因非常到位,目前的数据集大小太受限。今年也有审稿人在审稿细粒度图像识别时提出了数据集太小的问题,尽管论文已经用了现有的三大细粒度识别的数据集。我觉得这个领域要再出一个热点的话,特别需要一个非常大规模的、通用化的、有助于落地应用的数据集出现,可能会带来一波新的浪潮。刚才王老师也都分析了很多发展和趋势,我也都非常认可,就不再赘述了,大家可以再多去思考一下。
往期回顾
活动参与方式
1、VALSE Webinar活动依托在线直播平台进行,活动时讲者会上传PPT或共享屏幕,听众可以看到Slides,听到讲者的语音,并通过聊天功能与讲者交互;
2、为参加活动,请关注VALSE微信公众号:valse_wechat 或加入VALSE QQ群(目前A、B、C、D、E、F、G、H、I、J、K、L、M、N群已满,除讲者等嘉宾外,只能申请加入VALSE O群,群号:1149026774);
*注:申请加入VALSE QQ群时需验证姓名、单位和身份,缺一不可。入群后,请实名,姓名身份单位。身份:学校及科研单位人员T;企业研发I;博士D;硕士M。
3、在活动开始前5分钟左右,讲者会开启直播,听众点击直播链接即可参加活动,支持安装Windows系统的电脑、MAC电脑、手机等设备;
4、活动过程中,请不要说无关话语,以免影响活动正常进行;
5、活动过程中,如出现听不到或看不到视频等问题,建议退出再重新进入,一般都能解决问题;
6、建议务必在速度较快的网络上参加活动,优先采用有线网络连接;
7、VALSE微信公众号会在每周四发布下一周Webinar报告的通知及直播链接。
8、Webinar报告的PPT(经讲者允许后),会在VALSE官网每期报告通知的最下方更新[slides]。
9、Webinar报告的视频(经讲者允许后),会更新在VALSE爱奇艺、西瓜视频(请搜索ValseWebinar)、B站(VALSE_webinar)。