七月在线公开课笔记-三十四-
七月在线公开课笔记(三十四)
人工智能—计算机视觉CV公开课(七月在线出品) - P22:凭什么,Transformer在CV领域这么火 - 七月在线-julyedu - BV17z4y167dq
今天由我来跟大家聊一聊关于这个transformer,为什么在这个cv领域这么火。
呃今天呢在直播间里我们会呃随机挑选很大概是20多名观众吧,呃赠送大家一些关于呃福利方面的一些事情,比如说我们会随机挑选两名观众送出关于这个著名的花,说深度学习的话说,同时呢我们也会挑选呃。
15~20名同学呃,会送给大家一些关于我们7月在线vip的月卡呃,名额有限,大家抓紧时间呃,首先呢我先给大家介绍一下关于我们7月在线呃,我们7月在线呢已经成立了,大概是7年左右的时间,在这7年方面呢。
我们从呃人才培养,企业服务,高效服务方面,我们都有了很大的突破,那么7月在线主要是致力于这个智能时代的在线教育平台,与行业的综合解决方案,我们主要关注的是ai方面的人才培养,企业服务和高效服务。
嗯好我闲言少叙,话不多说,我们抓紧时间开始聊一聊关于这个transformer在cv方面为什么这么火,嗯聊这个之前呢,我们先带大家看一下呃,稍微回顾一下这个transformer的这个起源嗯。
众所周知啊,transformer并不是起源于咱们这个计算机视觉领域,嗯,transformer呢大概是2020年左右,是在自然语言处理nlp领域大放异彩,呃在transformer之前呢。
n l b领域大家都知道啊,他们主要是以rn为主循环神经网络,我们比方说我们稍微看一下这个句子呃,在这个句子当中呢,哎我们最开始是一个人,然后巴拉巴拉他说了一堆话啊,这些我们都不关注。
然后在这个地方我们可以看到诶这儿有一个代词his,然后巴拉巴拉再往后a再往后又出现了一个代词he,然后一直往后一直往后诶,你看又出现了一个人,然后又出现了一个his诶,那么这个时候就有意思了。
对于我们人类来说,当我们看到这段话或者是听到这段话的时候,唉我们明白这些his对吧,它都是跟最前面这个人名相关系,但问题是让计算机去了解呃,这个高深的知识对于这个计算机来说确实有点难过。
尤其是你看第一个his a和第二个his,第二个he他离最开始的这个人民,他这个距离是非常非常的远对吧,那么如何能从第一个单词一直到如此远的这个距离,它们能构建关系呢,在最开始的rnn时代啊。
这个是非常非常难以做到的,唉所以当时的学者就在研究,那么有没有一种机制可以去呃让这个机器去在远距离的读文章的时候,是读句子的时候,让他们原理的单词互相关注呢,诶那么这个时候呢大家都开始慢慢考虑了。
比方说在最开始的我们来看这种r n时代,诶,r n时代呢我们是很难考虑的,我们r n时代它那个标志就是encoder和decoder,那么我们知道啊,这个encoder和decoder我首先输入一句话。
诶,当我进来一句话之后,我一层一层一层地进行编码,我去学习了解这句话的一些呃理论含义,然后慢慢的我再把我编码好的这些销量大或者是嵌入空间的这些特征,我输入到decode这块,然后一层一层一层。
然后让它进行重构,如果我们可以做一些,比如说机器翻译啊,或者是呃那个一问一答呀等等等等,那么在这个地方呢也跟我们刚刚跟大家聊的,它有两个最大的挑战,第一个挑战就是这种长距离的关系。
那么第二个挑战呢就是它所在的这个平行运算,当然了,这些东西都是呃都是这个a r p里面的东西,我们在这儿呢呃不会跟大家就是说太多,因为我们今天主要还是关注在我们计算机是一个领域,当然了。
这些问题注意这些问题,在2020年的时候,由谷歌大脑它所提出的transformer a,从此之后这些问题将不再是问题,好嗯大家可以看到啊,这个呢是我们在这个transformer领域来。
transformer的这个呃最开始的论文当中,attention is all your need,在这里面我们给大家选出了一句话,呃。
当时transformer里在transformer他横空出世的时候,可以说是嗯让众多的学者眼前一亮,嗯可以这么说,transformer在嗯整个ai界的地位。
就好比当年的resnet在计算机视觉里的地位,而且在现在看来呢,transformer他这个地位完全是更加的就是这个更加的稳固,而且更加的突出。
因为transformer呢它不光光在a lp领域大放异彩,它同时进军了c v界,而且如果你去看其他一些领域,比如说推荐系统,还有图人机网络,那么transformer也开始有了这种一统江湖的感觉。
ok所以说这也是我们为什么在现阶段呢,会去更加的关注于transformer好,那么transformer呢其实它也是比较容易理解的啊,transformer它出现的时候也是在a lp领域。
那么我们可以看到左边右边这一块呢,就是transformer的这个基本的结构,那么对于transformer来说,它也是遵循着这种encoder加decoder编码和解码的方式。
那么transformer的核心思想呢就是这个注意力机制的,那么对于他来说诶,我们可以让每一个单词可以和他全局,就说整个一个句子当中,其他所有的单词我们都去关注诶,那么这个时候呢我们就可以关注到啊。
比如说人名和后面的那些代词,他们之间的联系比较紧密,而人民他可能和后面的比如说冠词a an这些东西,他联系的不是那么的紧密,那么这些都是transformer的一些呃核心的思想好。
那么这个图呢其实就是显示的这个transformer的一个encoder和decoder,当然了,如果你去看transformer代码的时候。
你会发现transformer的encoder编码器和decode解码器,它并不只是有那么一层注意,它并不是有一个编码器,对一个解码器,它不是它是一个呃众多的编码器和众多的解码器相辅相成的。
ok那么这个就是我们看到的这个自注意力机制,呃如果你去了解这个自助力机制的话,我相信大家对这个公式应该是非常非常的熟悉才对对吧,呃当然了。
我们今天呢也不会跟大家过多的去聊transformer的内部的一些基点,我们会把我们的目光重点地区放在这个关于关于这个transformer,在cv当中的影响嗯在这说一个给大家广而告知一个东西吧。
呃我认为呢这个是大家的一个福利啊,福利之一呃,在这一块呢,a你看如果大家去看那个7月在线的高级小班第11期的时候,我们会在其中某一节直播课当中,给大家重点的去深入的讲解一下关于自主利益机制。
cf tention和transformer的这个架构,同时呢我们会去带领大家诶从这个如何从rnn之间,从rn最开始我们一步一步挖掘self复杂且自主力机制。
然后再去慢慢的带着大家过渡到transformer的架构当中,我们会重点的去聊一下关于那个q k和v之间的关系,ok同时呢如何在transformer当中,我们为什么要加入这个位置编码。
同时我们再加上位置编码之后,我们又如何去产生这个多头机制,多出多头助力机制,那么在呃cv高一小班第十期当中,其中有一节课我们会专门的去跟大家分享,有一个好消息是呃,如果大家能在今晚零点前报名的话。
我们会给大家现金优惠1000元,呃当然了,大家可以就是联系我们的呃工作人员老师,我们的7月在线的工作人员杨老师呢,也会在我们的直播间里面来帮助大家进行报名呃,同时呢我们也会在今天呢呃随机挑选幸运观众。
我们送出呃,我们的月卡会员我们也会挑选两名呃,互动观众呢,我们给跟大家送出两本画书,好,我们继续来看一下,那么transformer大概是在2020年的时候出现嗯,但是有很长的一段时间呢。
我们并没有把transformer应用到cv领域当中啊,那个时候呢,与其说诶众多的计算机数学的学者在观望,transformer在n lp领域的这个成就吧,倒不如说当时我们很难去把这个transfer。
去运用到我们的计算机学院领域,为什么这么说呢,其中有一个很重要的原因就是我们没有办法把transformer的输入诶,给它进行变更,大家看啊,在nlp领域当中。
transformer的每一个输入a它每一个输入它其实是一个token,怎么理解这个token的token一般大家会翻译成令牌,当然我们很少进行翻译啊,你可以把它想成每一个token。
就是每一个单词的一个失量诶,我们可以用一串数字来表示每一个单词对吧,那么这样的话我们的每一个单词哎,就可以把它从从一个文字的形式,或者从一些字母的形式变成数学的形式。
然后一个一个给它推入到这个transformer的输入当中,那么这是一个序列的形式,但是对于图像来说,大家想啊,从对于图像来说,它每一个图像呢都是由一个一个像素点组成的,那么在早期的时候。
我们很难去把一个像素点转化成一个一串十样的形式,然后再把它变成序列放到传输方面当中,那个时候时候是做不到的,而且这是第一,第二呢对于文字或者是语言来说,我们每一个单词或者是说每一句话。
它都是一些高级的语义的形式对吧,但是呢对于但是对于呃图像来说呢,每一个像素它是天然形成的,它是一种非常低级的语言形式,那么这个时候呢对于transformer来说,他更擅长处理那种比较高级的语信息。
而不像那种就像一颗一颗像素那种低级的语音信息,那么这个是在早期的时候,我们很难把这个lp当中的transformer直接嫁接到视觉当中,诶。
不过好像又出现了呃v i t呢大概是我印象大概是在23年之后吧,哎他第一次把这个整个呃图像就是transformer的,从n l p a去处理了一些它的输入,然后就把它嫁接到了整个的计算机视觉当中。
诶我看到有的这个同学大家跟老师一起聊聊,哎奇怪的知识增加了嗯威猛的小老虎诶,微博小老虎,那恭喜你啊,你可以去我们区在线那个官网直播当中呃,看到一些我们更多的一些奇怪的知识呃,为了方便你呢。
你可以获得我们今天的这个呃一个月的月卡的这个优惠呃,我们可以送你一个一个月的这个会员,那个微博小老虎,你可以联系一下我们后台的杨老师,来跟我们杨老师一块来去领取一下这个会员,好吧好,我们继续聊。
那么vn transfer,他是如何把这个呃图像从一个一个的像素点转化成一些,就是这种一个一个的序列呢,它是这么做的啊,其实我们现在看起来呢也比较简单,他把一张图像,你看他把一张图像呢它去进行了切割。
切割成一个patch,一个patch,而这个patch呢大家看就是这一个个小方块诶,就是这个小方块,那么这样的话我们不对一个一个像素点进行转化,我们可以把这一个一个的小的方块。
我们把它叫做patch来给它进行一种血液的转化,这样的话我们就可以把呃,整个一个图片转化成类似于一种文字的一种序列的形式,那么我们就可以把它叫做batch,ok好,那么我们可以继续再看。
当我们把整个一个图片之后,诶,我们把它分成patch,同时我们把它拉成一个序列,就拉平flatten成一个血一个序列的形式,我们对它进行加入呃,就是诶你看把它转化成一个序列形式。
然后我们把这一个一个的序列变成了这样一个一串的数字编码,同时我们为了对图像加以限制,我们还会再给他加入位置的编码,为什么要加入位置编码呢,那是因为在位置的编码当中。
我们希望最后你看我每一个小的patch或者每一个小的小方块,它在我原始的图像当中,它是有一固定的位置的对吧,你比方说我们第一个小方块诶,第一个patch这个地方它必须得出现在我图像的左上角。
如果你把它放在右下角的话,那么这样的话这个patch或者说这个图像它是会出现问题的,所以说这个也是我们为什么要加入位置编码的原因好,那么当我们有了整个这个输入序列的时候。
我们就可以把它应用到transformer当中,诶,那么这个时候第一次transformer就成功地运用到了图像当中,我们把它称作vision transformer,好。
那么关于这个vision transformer里面的具体细节,包括它的这个呃代码的这个实验形式,我们呢也会放在我们的呃cv高级小班第11期当中,其中有一节在线直播课。
跟大家去仔细的聊一聊关于vision transformer的基本原理和架构实现,同时呢呃我们也会跟大家聊一些关于这个关于vision transformer当中,它的多层多层税率机制的这个使用。
呃另外呢关于这个transfer,我们在前面也说了,这个transformer呢它是跨跨领域实现的,包括lp,包括cv,包括推荐系统,也包括这个图形机网络等等等等,不光这些等等等等。
那么我们也会在这个里面跟大家聊一聊,关于这个transformer的这个跨领域实现的一些方法,呃有一个好消息呢,也是一个福利呢,呃想告诉大家,如果你能在今晚零点前报名的,我们会直接对大家做一个现金优惠。
1000元的这个福利,好,我们继续当这个愚人transformer呃,第一次进入就是transformer的,通过b站transformer,他终于在cv界成功的嫁接或者是实践当中。
那么后来呢又有众多众多的学者对这个呃vision transformer,做了很多很多的变体诶,很多很多的变体诶,我们现在看到了很多的这个,我们看到了这个很多的这个呃。
热心的这个呃朋友a一直关注了我们的这个呃契约在线的啊,呃我们现在汽车在线呢也会给大家送出很多的福利诶,像这个像同学像同学,你可以去联系一下我们的这个呃企业在线的杨老师,后台工作人员。
我们送你一个关于呃一个月的这个契约在线的会员,你可以在我们区约在线的众多的这些呃实战课当中诶,可以进行学习和浏览,好我们继续看一下呃,那么对于这个呃对于vn transfer来说。
它的出现虽然是第一次把transformer应用到了计算机视觉当中,嗯,但是哎我看我们的jd 404647184同学说,我要说没有问题,我们把我们的话说送给你。
你可以到我们的后台去联系我们的契约在线的呃,杨老师或者其他的工作人员,好吧好,我们继续呃,令人transformer出现之后,我们有了众多众多的变体,那么这个时候呢。
那么这个时候呢我们呃很多的学者都对他进行了改建,其中呢不乏很多佼佼者,嗯今天呢我们也跟大家去聊一聊关于这个sue transformer,sun transformer呢。
他第一次出现是在2021年的10月12号,他出现之后,他收获了当年i c c v的best paper的一个假象,大家注意啊,这个i c c v呢是和呃吹爆ai等等的一些。
就是著名的这个会议并称的这个顶会会并称的顶会哎,谢唐钰同学和这个我们的wx a哇,你这个名字很难念呀,w f c8 e4 b c e f8 e c91 c72 同学哎,你可以联系一下,我们的确在线的呃。
杨老师后台工作人员呃,我们会送二位关于这个汽车在线一个月的会员卡,好吧好,我们继续,那么i c c v的嗯,它的影响力可以说是非常非常的深远,那么对于c来说,如果你能有幸a在i c c v上中一篇文章。
那么可以说呃对于你的这个求职,或者是你进入高校等等领域,会是一个非常了不起的敲门砖,它的难度非常之大,更别说switch transfarmer,他收获了当年i c c v的最佳论文奖。
最佳论文呢只会在每年出现那么一篇,可以说它的难度非常之大好,那么呃那么c transformer呢如果你去关注的话,它其实是出现,它其实是由这个微软亚洲亚洲研究院他们所做出的这个啊。
他们所做出的这个呃一个非常呃可以说是划时代的,具有里程碑意义的一篇文章,贝尔亚洲研究院呢它的这个重量我觉得很多朋友对于他都有所了解,微软亚洲研究院他们推出了一系列非常非常重要的。
或者是说非常非常有影响力的呃,一些高水平的论文或者研究,当年的u s net系列,就是微软亚洲研究院他们所出现的好,我们呢可以去看一下所in transformer它到底解决了什么样的问题,换句话说。
为什么sin transformer他能获得i c c v2021 年的最佳论文奖项,我们来看一下,孙transfer呢,他当时提出了一个问题。
哎你看就是说我如何把transformer从a l p应用到cp当中,我们面临了很多的问题,你比方说唉对于这个输入来说,你看那么呃这纯入我们刚才所言啊。
我对于nlp transformer的输入是一个黑一,一些具有高级语义的这些序列,比如说我们说的每一句话,他或者说我们写的每些呃每一段文字等等,那么它是是抽象的高级语义的输入信息,但是对于图像来说。
我一个一个的像素点,这都是低级的语音信息,哎这是一方面,另外一方面呢大家看啊,我们所说的每一句话或者每一段文字,那么它们都是很很短的一段序列,对吧,呃你像如果大家对a l p有所了解或者有所耳闻的话。
那么我们的输入比如说128个字,256个字,那么都很短很短,a但是对于图像的数来说,大家想我们当年c n n它的输入非常非常呃,短期或者说非常非常小的图片,1米night的224x124。
他已经非常大了,我是说的像素,它们长起来的一个数字非常大的,不是说它的图片很大啊,它的图片其实很小很小,随着科技的进步和技术的发展呢,我们现在出现的图像但是越来越大,你比方说现在4k还有8k。
那么他们的像素点的乘积,那所得到的值那更加的大,那么这样就会造成了你图像的每一个像素点比信息非常的低,但是呢整个我的计算量又非常非常的大。
那么这个呃就是呃我当年的这些transfer或者微信transfer,它所暴露的一些这些问题等等等等,当然还有很多很多的问题啊,这是其中的一部分哎那么这个时候四运船的方面就说了,我第一个站出来表示不服。
因为这些问题必须得到解决,那么他想做的事情呢,就是说干脆我去设计一个关于计算机视觉领域的,一个比较通用的股价网络吧,general purpose bbb a呃,ai加热的同学问抽奖了吗。
当然抽奖已经开始了诶,这位同学你可以联系我们的7月在线的后台的工作人员,联系我们的杨老师呃,我们会在我们会送你一个月的7月在线的会员,你可以利用这一个月时间来去我们的嗯。
可以到我们的这个呃确认线的官网上任意浏览一些你喜欢的一些课程,好呃,请到我们后台联系工作人员好诶,那three transfer它的解决方式是什么呢。
他就提出了一个东西叫做shifted windows,诶,你看这种就是可迁移或者是呃可随意变化的一些窗口诶,它具体是怎么做呢,我们一步一步来看,这个图是sin transformer。
他们在这个官网上面诶,他们在官网上面,你看它所对比的sin transformer的结构和v t的结构诶,我们可以看到啊,我们先看v i t吧,那么这个v i t的结构比较明显,你看它在我这三层上面。
你看三层上面它进行了这个16x16的网格划分,还有这个16x16的网格划分呢,其实我们就是相当于把一个图像化分割成了一个一个小的patch,大家把这个patch就理解成为这个小方块就可以了。
那么这个时候你会发现啊,在这每一层的fish mac上面,对于v i t来说,它永远是16,就是我均匀的划分,你看它永远是均匀的划分a大家再想想我们cnn对于cnn来说,我们的每一层随着我们层数的深入。
那么我们的cnn的那个feature map,或者说它的特征图的深度是不是也在随之增加呢,但是vii at它却是诶一直保持,同样大家知道cnn当时的这个性能是非常非常好的。
因为cn有很多各种各样的变种a那么第一个想想法就来了,那么对于sin transformer来说,诶他想我有没有可能唉我把整个图像随着这个程序的深入,我也对它进行一下cn类似的这个深度的变更呢。
比如说我最开始是呃降采样四倍,再往下八倍,再往下16倍等等等等,a那么这个就是他transformer和vii t的一个区别,它这块完全是仿照这个cn来做的,呃管子系数同学。
你可以去联系一下我们的这个后台工作人员杨老师,呃,你可以获得我们这个关于呃区域在线一个月的免费的会员,你可以在7月在线的官网上面去浏览,你想去看这些课程,好吧好,我们继续,那么这是一个问题。
你看他是怎么做的呢,cn transfer呢,它就在每一层上面,比如说我最开始的数据上面,我对它进行4x4的大型窗口的划分,注意啊,这个时候这个这一个一个红框,那么这个就是大型的一个窗口。
就是windows,ok就是windows,那么再往后再往下深入的时候,哎我们对它再往下进行划分,哎你看诶我稍微划分成这样一个大windows等等等等。
那么这样就可以实现了一个类似于cn降采样的一个效果,那么除此之外呢,除此之外呢使用传统方法,它还有很多很多的这个更加细节的划分,你比方说孙权的方面说,呃,我如果对于这个呃v t你看vip这块大家知道啊。
v i t它所核心采用的还是transfer当中的自主力机制诶,那么这个时候如果我在图像上面诶,我进行这个他进行这个呃自由理机制学习的时候,你看我一个大的图像。
我相当于我sin transformer里面的一个一个窗口window,那么这个时候呢整个从牙里面它有你大家数一下,它有16个patch,那么16个patch做这个自助力基础学习,它的计算会很大的诶。
那有没有可能我我对那个所以transfer当中我减少它的计算量呢,哎注意啊,这个时候确实是有所帮助的,如果价格销量呢,我们稍后给大家一一解答好。
那么switch fer它还有很多很多小tricks在里面嗯,保证了它的精度的提升的同时,a精度提升的同时呢,它的这个计算量还往下降了,降a不用用,同学诶,你可以联系一下我们的后台工作人员。
可以来一下我们的杨老师呃,去获得我们一个月的汽车在线的会员卡,好我们继续,我们来看一下这个关于sin transformer的它的一个股价网络吧,那么对于sin transformer来说呃。
我们先看左面这一部分,你看首先呢是我们图像的输入,对于我们图像来说,它就是一个平平无奇的图像,长乘以宽乘以三通道非常平平无奇,你可以拿任何的图像来说,比如说我们可以用这个,因为是net的这个图像。
24x24x3诶,进来之后,我们对每一个图像我们做一次patch partition的一个操作,还有这个patch partition的操作呢,大家就可以把它想象成哎我就是对你的图像我就进行了一个分割。
分区域也仅此而已,我把它进行了一个呃分成了切割成一个一个小块,一个一个pet操作,然后再往下呢,哎我进入我第一个stage,注意我再往下的每一个stage呢。
它都相当于我一个soon transformer stage,当我第一个sage进入之后,哎你看我有一个linear in bin操作,而这个操作呢大家就可以把它想象成为一个呃。
我把我的一个就是一个图像分成ph之后,我把它拉成一个序列,拉成一条,同时呢我们也对他加入了一些位置信息等等的一些操作,就是他的linur embedding之后呢。
再往后我就是会接一个sin transformer block,还有psmogin,然后再一个switch fblock,那么这个就会形成一我每一个stage,ok这里给大家插一个小的一个插曲啊。
我们sin transfer,如果你去看看他的代码实验的时候,你会惊讶的发现在代码里面的每一个stage的划分,它和这张图像上面的划分它还有所区别,在代码当中。
soon transformer他做了一个这个事情,他把每一个soon transformer block向后的一个psmog,他把它画成了一个,他把它画成了一个这个呃sch,比方说你看这一部分。
如果你去看代码啊,这个是它的sg one,这样是它的stage two a,再往后stage four,当然在最后他少了一个沉默,因为它没有了嘛,这个是在他代码当中的实现,它和它的图里面反而有所区别。
哎大龙同学呃,呃非常欢迎啊,你啊你说涨知识了诶,我们今天送你一本我们那个花书,哎,你可以去联系我们的后台工作人员,联系我们的确在线,杨老师,你可以去联系一下,他去取得我们的话,说好吧好,我们再来看。
那么这个是sin transformer在代码中间的一个很小的一个tricks on,呃当然了,它还有很多很多其他句子,比方说我们如果去看sin transfer brock,它的结构的时候。
我们可以接下来看到右侧这部分,右侧这部分呢它就相当于一个它就相当于一个呃,encoder和decoder的感觉,诶你看我首先进行一个输入,就是比如说我们的图像。
或者是我们前面一个soon transformer stage的输入,比如说feature maps,当我进来之后,我首先过一个l n l n的全称是layer normization。
就是我基于每一层的,其次帕,当然了,在我们的汽车在线的这个呃cd 11高级班当中,我们也会带给大家给大家讲一下到底什么是那家transformer,那么layer transformer它有什么优势。
它又和其他的传统,还有和sorry slayer normalization a lization,它有和其他的其他方法,比如说batch normalization。
比如说instant noliation,比如说group nomination,看不到底又有什么区别,它们又有什么优势,在什么样的情况下该选择不同的计算方法呢。
我们也会在我们的c v高级班当中给大家一一做解答,嗯好我们继续,那么对于layer normalization进来之后呢,我们会输入一个,你看w m s a w就是window的意思,诶这是w啊。
就是window的意思,然后m s a呢是multi head a attention,k multihad attention,然后他接过w m c a之后。
你看在这个地方它又有一次残差的连接a之后再过一个lon noization,再过一个呃mmp多层感知机,然后再来一个长下连接,那么这个就是我们的第一个呃encoder,ok那么这一块呢就是呃第一部分。
注意第一部分出来之后并没有结束,而且它并没有结束,它之后呢哎又向后,你看它又向后引入到了第二个诶小小的这个框框诶,那么在这个小框和前面小框呢,看唯一的区别就是看。
这唯一的区别就是这个地方w m i c变成了s w m i c,而这个s的意思就是shift,ok就是shift,那么我们会在我们的cv高级cv高级小班第11期当中呢,给大家具体的去撸一撸里面的代码。
带大家去看一下w m i c和s w m i c它们之间的区别,包括他们的代码实现,那么感兴趣的同学呢可以去看一下我们的呃,可以看看一下我们的这个cb呃,高级小班第11期。
今天晚上零点之前报名的同学呢可以获得1000元的优惠诶,我看我们的k w s k w z s同学呢说讲的挺细的,当然我们会讲得更细,在我们的这个直播课当中,毕竟公开课当中嘛很难讲的更细。
但是我也会尽我的全力来带给大家讲的更细,a k wz同学,你可以联系一下我们的后台工作人员,等下我们的呃联系我们的杨老师去领取一个一个月的会员的资格。
你可以在这一个月当中随意的在汽车赛的官网当中各种各项课程哎,畅想一下,去看一下你喜欢的一些课程好,我们继续,那么我们先看一下patch moj,对于python模型来说。
诶它的输入是一个月的tensors,这个tensors呢可以是你最开始的图像的那个序列,也可以就是我们at或共同的序列,也可以是我们的这些feature map,诶对于他来说,你看啊。
tensor进来以后,有个四川的block之后,我们再过一个ph墨镜,墨镜好之后,我们再往下走一个switch block等等等等,我们可以具体的看一下这个patch mod的这个它的它是怎么实现的。
你看首先呢我们是一张图像嗯,也可以说是一个非常maps,ok那么在这一块呢我们就把它看成h乘以w乘以c,ok乘以w乘以c,长乘以宽乘以下通道哎,对于拍摄motion的操作来说呢,我们可以把它进行切割。
你看比如说我在这个地方,我们把它按照我们的呃这个窗口来进行切割,诶,这个窗口诶我们把它看成一个2x2的一个宽度和长度,哎,当我们把它进行切割之后呢,你看啊我每一个窗口变成了二分之h乘以二分之w。
我是不是就完成了一次创作的切割,当我切割完之后,你看下一步我可以对切割好的各个窗口,我把它做一个congation操作,我把它并排起来,诶,这个是不是有点像我们的这个c n n当中的这个呃。
feature maps的一种感觉呢对吧,有点有点有个那个意思了对吧,有那个滋味,然后我们把这个condition有了这个深度之后,我们对它进行一次layer norvisation。
这个lynomization呢可以说是这个是transfer当中的一个常规操作了啊,呃今天呢由于这个时间篇幅有限的,我们没有办法给大家展开这个layer normalization那些个具体探讨。
我们会在我们cp高一小盘第11期当中给大家去聊一聊,各种其次化的一些区别和优势,好大家看啊,我们最开始我的这个深度可以说是c,但是当我把它切割成四块的时候,哎我就变成了再给他做一个可限定性操作。
我的深度就变成了4c a,然后你看在视频传输方面当中,它做了一个linear projection a,他把4c变成了2c诶,这个操作其实最开始我们很奇怪,最开始真的我觉得很奇怪。
我明明已经深度已经有了4c了,我为什么还要把它变成2c呢,哎这个时候大家去看一下,我们可以看一下我们的图像的操作,你看cn的操作,我们最开始有一个image的操作,image的图像,我进来之后,你看啊。
随着我的层数的增加,你看我们在这儿开始256深度,然后512乘数变深了,你看我的这个depth是不是也在变声,而如果你去观察的时候,观察cn他们他们往深走的时候,他们的层数的那个深度会从最开始的呃。
比如说256c一直变变成二分之c就变成2c,然后4c8 c可以说它是按照二倍数往下走的,所以说这个时候呢cn transfer去借鉴cn,它也遵循了这个,他把每一层的深度变成了2c。
然后再往下下一个变成4c,再再往下一个变成8c,那么这个时候也是smogin它的一个小的cheese呃,学生有女同学跟老师说,哎老师这个画图的真用心,当然我们cba呃,我们这个企业在线的每一个老师。
在每一堂课堂当中呢,我们都会把我们的这个课件做一个精心的打磨,呃如果你有兴趣的话,你可以去联系我们后台工作老师,学生有理同学去呃领取一个一个月的这个呃7月在线的会员卡啊,7月汽车在线的官网当中。
畅想一下你所喜欢的各各种和一个知识,好,我们继续,我们再去回答刚才之前给大家挖的那个坑,那个问题,我们在最开始说嗯,遵循transformer呢。
它采取了一个叫做window的multitself tension的一个操作,那么在这个操作当中,它可以去把这个计算量大幅的降低,大幅的减少,诶,他是怎么做到的呢,我们带给大家一点一点的看。
一点一点的去深入的挖掘,深入的挖掘好,首先我们先看一下左边这个图,对于左边这个图呢,它这个就是平平无奇的打ma transformer的一个操作,我们把整个一个图像我们给它变成这个呃。
我们给它变成一个一个的patch,然后针对一个patch呢,哎我们做这个多头注意力机制,大家看下面这个公式啊,这个公式就是多头注意力机制的它的一个呃复杂度诶。
稍后我给大家去讲一讲它是如何达到或者如何求出这个复杂度,等不及我们在下一页幻灯片上给大家讲这个哎,初一同学你可以去呃我们的呃联系一下我们后台工作人员,我们的杨老师去领取一个我们一个月的7月在线的会员好。
我们再来看右边这个右边的这个就是刚才给大家讲的这个window multi head,self tan的一个方式,你看他是不是诶也把这个图像做一个bh moon的操作,分成了四块。
然后在每一块当中做这个mc,而他的这个结果呢我们可以看到啊,这个下面是它的复杂度好,我们是去看一下整个这个复杂度它是如何求出来的,在大众同学喜欢老师的课程。
那么你不妨去嗯浏览一下企鹅在线的这个其他的课程,你可以联系我们后台工作人员老师去领取一个月的会员,嗯去里面看一下我们具体的信息呢,也会在我们的cv高级小班第11期给大家了解到。
我们再往下看每一个这个公式的求导的时候,我们先给大家明确一些概念啊,首先你看在整个图像当中,我们来说或者是这个fish map当中,h这个h我们把它认为是我们的theshmap的呃高度,height。
fishmap高度,这个是高度,然后w呢我们认为是fishmap宽度,这一部分是它的宽度,那么除此之外呢,c就是常规操作了啊,c就是我们的depth k c就是我们depths诶,rome同学。
我对你很眼熟哟,你可以去呃我们的工作人员领取一个一个月的,我们的确在线的会员去畅想一下,我去看一下我们趣味在线的其他课程,好我们继续这个地方呢有一个单有个字母叫做m。
这个m呢就是我们的window size,你看我们把整个图像划分成为一个一个的小的window,这个地方我们划分成了四个window,然后呢每一个window size。
每一个window它都有它的大小,那么window size就是用m来表示,比方说我们在这个地方,我们的windows size是ok我们的windows是二,好来吧。
我带大家去看一下刚才这个公式mc它的复杂度它到底是如何做成的呢,好我们来看一下嗯,我们来看一下啊,这个就是我们transformer或者是vision transformer,他的这个具体的公式对吧。
我们今天不聊这个公式怎么来的,我们会在cp高级小班11期当中给大家进行解答,我们今天只看一下它的复杂度是如何求的,首先我们来看上面这三个公式,上面这三个公式啊。
哎这一部分它这一部分呢就是求了一个我对我本身的fish max诶,我做一个q k和v的划分,哎鹤阳同学说刚上就看到核心模式不错,诶,如果嗯嗯我们这个直播课其实会最后在7月在下面还有一个回拨。
会放在我们的官方链接当中,也方便大家之后的头部好吧,我们来看一下上三个公式呢,它是对q k,也就是对整个a矩阵,就是我们的feature maps,这个矩阵做了一个q k v的划分。
我们来看一下它是怎么划分的呢,你看对于a矩阵来说,a矩阵来说,它乘以首先乘以一个呃系数矩阵wq,而且w q呢就是我们关于这个q a索引值q的一个参数矩阵,w这是可学习的矩阵。
a的维度是a h乘以w乘以c,你看a h乘以w呢是我们的这个是我们的长和宽,c是我们的depth,而w这个可学习的参数曲线,它的这个呃维度是c乘以c,大家知道啊,矩阵相乘,哎我来我来用笔台给大家画一下。
对于矩阵相乘来说,你看我们的维度需要保证中间这两个维度必须是相等的,这样我们才能进行相乘对吧,你看这我们都是a都是c,所以说当这样的话,我们才能完成我们的相乘好。
那么之后呢我们来看一下它的复杂度怎么求呢,它的复杂度就是h乘以w,然后再乘以c乘以c,那么这个时候你会发现对于我第一个公式,我的计算的复杂度,欧米伽q就等于h乘以w乘以c的平方。
ok那么这是我第一个公式的计算复杂度,如果你去看我第二个公式的话,对于我第二个公式来说,我同样对于原始的这个特征矩阵a矩阵诶,我们对他找一个key关键字的一个呃矩阵,它也是乘以了一个可学习的wk诶。
可学习的这个参数矩阵,那么同理它的维度,你看它的维度跟上面的维度是一样的,所以它也是它的计算复杂度也会变成h w乘以c的平方,这个是跟矩阵的计算复杂度的计算方式一样啊。
那么下面是求这个value值的这个矩阵,那么它的复杂度也是一样,所以对于上面三个矩阵来说,我们最终得到的计算复杂度就是三倍的hw乘以c的平方好,嗯嗯我们搞定了,第一个,我们再往下看诶,你看这个公式啊。
首先我算出了k q v,这是第一步,第二步我会去计算这个分子q乘以k的转置好,我们来看一下它的维度,对于q来说,它的维度是h w乘以c,对于k的转折来说,它是c乘以h w,注意啊,这是k的转置。
c乘以10w,所以说这个时候矩阵相乘它们的复杂度,我们照样看a a h w和c乘以十差标全部乘起来,那么它的复杂度就会变成hw的平方乘以c,那么这就是我分子的计算复杂度,ok这是分子计算复杂度。
好这一步搞定,再往下根号d,注意啊,根号d是个常数k所以它它的计算时间可以复制,完全忽略,下一步呢就是在我们的soft max,在soft max的计算的时候,我们会发现他的时间微乎其微。
所以他们的计算复杂度我们直接忽略掉,我们不会再考虑微乎其微,再往下当我们计算完smax之后,你看我们还有一个值v没有相乘,所以这个时候呢我们乘以它的v,ok我们乘以它的v,我们可以看一下。
对于上面的矩阵相乘a它的维度是a乘以w乘以h w,我们取第一个v的维度是hw乘以c,所以它的计算复杂度就会变成hw的平方乘以c,那么这又是我们把我们的v矩阵也乘进来,好到此为止呢。
我们的attention已经计算完了,哎再往下呢我们别忘了我们还有一个输出,这个是o wo是我们的这个输出的一个可学习的参数,而在这个地方当中呢。
我们照样计算a h w乘以h w乘以c那么这个就是它的计算复杂度好,当我们讲完整个transformer,他的这个残忍的公式,包括他最后的计算复杂度的时候,我们就得到了我们的最终的公式a。
我看有的同学说怎么上来就讲这么复杂呢,呵呵不着急啊,我们如果你忘掉的话,我们还会看下面这一部分好嗯,诶我们看一下开美颜同学,你可以去联系一下我们的后台工作人员。
联系一下我们的确定杨老师去领取我们的一个月的,关于这个7月在线的这个会员卡,去里面可以嗯自由自在的畅想一下,就在线官网当中的各个课程好,我们继续来看,刚刚呢我们跟大家聊了关于这个v transfer。
它整个呃marty had deftention的计算复杂度诶,我们再看一下对于windows的计算,注意啊,对于windows对于sn transfer来说,它采取的是划分窗口,划分windows。
那么对于windows来说,你看他不会去整个计算呃,整个一幅图的这个复杂度,你看他在这个里面它进行了计算对吧,它就在这个里面它进行了计算好,这样的话它的复杂度如何计算呢,我们先来看一下嗯。
我们还是先沿袭上一个上一页当中,我们用h w c当做一个windows,其实就是整成一个图或者一个fishman当做一个大的运动,这个是我们刚刚推导出来的,它是计算复杂度,那么再往下看呢。
如果我把我的h换成m w换成m哎,我们做一次这个替换啊,它就会变成这个样子,我们完全是做了一次替换,就是我们没有再去算一遍,把h换成m w换成m m呢,是我的windows size好。
那么这个是我们的整个的window a,但是呢大家别忘了啊,你虽然这有整个的window,但是你前面还得再把你有到底有多少个n来进行计算,呃,这个应该是n个windows吧。
这应该是winn个windows这样一个问题,d o w s好,你看那你到底有多少个window呢,我们来看一下m是我的window size,它是怎么来的呢,它其实就是window size。
等于我们的h除以我们的n n就是在图像的高这个上面,哎我们到底有多少个,那么这个时候我们可以看到n就相当于什么呢,n就相当于h除以m,那么同理啊,我们对于整个图像和我们的windows来说。
我们都把它当成方阵,所以这个时候呢我们可以看到这个是n h也就是n h对于n w来说,它就也会变成w除以m m是我们的windows size好。
那么这个时候呢我们就可以把我们到底有多少个window乘到这个地方,就会变成我们最终的一个结果,好在这儿呢,其实给再给大家呃,多说一点,如果大家去看sin transformer的代码实现的时候。
你就会发现在swing transformer代码实现当中,它只是加了一个非常非常hard coding的一个限制,它要限制出诶,你看你的nh和nw必须是一个整数。
这个是他在于官方的资讯传统中加了一个限制啊,但是大家其实想一想呃,当我们实际应用当中的时候,其实很难保证它是整数对吧,那么这个时候其实你有很多处理方法,比如说一种处理方法,就是你去把这个图像。
你就把它resize成脸的一个整数,比如说我们拿音频net来说啊,imagine net的数是24,24x3,那么有有一个方法,你可以把你的输入图像reset乘24x24x3的一个整数倍。
这样的话你的nh和n w换,换句话说,你的窗口切分你就会变成一个整数,这是一种方法,但这种方法我不是非常推荐,因为这种方法你reset过图像之后,你势必会造成一些损失,那么还有的一些朋友呢,他会这么做。
我不对它进行resize,我怎么做呢,我对你的图像进行填充,我用零进行填充,填充的话,这样你就会把整个图像你做窗口切割的时候,你把它填充成24x24的整数倍。
这样的话你窗口切割你最后的nh和n w就会变成一个整数k,那么具体的实现方法呢,由于今天是今天我们公开课时间有限的,我们没有办法代替大家去实际的录一下我们sin transformer代码。
在我们的cv高级小班第11期当中呢,我们会带着大家去看一下这个它的代码到底是如何实现的,和我们有没有什么改进空间的哎,感兴趣的同学可以去关注一下我们的cd在线高级小八第11期。
如果今天12点之前任何同学去报名的话,我们都会对报名的同学诶做一个1000万的优惠,好我们继续来看,好我们继续来看一下,大家记不记得我们刚刚开始讲那个three in transformer结构的时候。
我们在看每一个transformer block的时候,我们会发现它的每一个block诶,它是由两部分组成,那么这两部分它唯一的区别呢就是一个是window w m i c。
一个是shifted window s w m c,那么它里面有什么区别呢,其实你看这个名字啊,我们就能看得出来它区别就在于这个shifted shifted。
我们去看一下它为什么要做这个shifted呢,首先我们来看一下这个图,那么在这个图当中呢,你看啊,我们是会对这里面的每一个patch,就是windows里面的每一个patch做这个注意力机制的计算诶。
比方说我这个patch他可以关注到同一个window里面的每一个patch对吧,你看我把它都给大家打上阴影,打一个点,我这些同一个窗口里面的所有的patch,它会互相关注,但是他却没有办法关注,他。
没有办法关注,这个是另外一个window里面的patch,这个是他不可以做的啊,注意这个是他不可以做的,那么这个时候就会陷陷入到一个问题当中,我对于我这个小白来说。
他只能关注于同一个window里面的不同的batch,换句话说他只能关注到的是局部注意力机制对吧,对于其他的,比如说其他的这些地方,它是没有办法关注到的,那么如果我们的窗口永远保持这个样子的时候。
那么我你所谓的注意力机制其实是残缺的,它是残缺的,我们希望的是全局注意力机制,我们希望的是每一个patch能希望它能关注到整个图像当中的每一个块,这样的话我才能解决这个呃。
long range长距离的一个关系,对不对,那么怎么来做呢,你想v圈传的方法,它不存在这个问题啊,它在整个一个图上面,我你就互相关注,但是它质量还大,那么这个时候他就想出了一个干脆我shift吧。
你看我每次shift的时候,我在第l层的时候,我是保持这个样子,我在下一个层次当中,我首先向右移动二分之m个距离,m呢是我的windows size诶,我先向右移动二分解m。
同时我在向下我也移动二分之m个距离,你看这个时候呢,我们就会把你看这样子呢,我们就会在下一层,我们就会出现新的九个窗口,a新九个窗口,你看这个时候当我移动移动完成之后,你比方说我这个小patch。
我在上一层我只能关注到他同一个window size对吧,我没有办法关注到这一块,这是在我上一层没有办法关注到的,但是在我下一层当中,你看他俩是不是属于同一个window了。
那么这个时候他们俩就可以互相关注了,那么sin transformer,他利用这种shift window的效果,它就起到了一个全局注意机制的一个一个方案a,但是啊注意想法是很好的。
但是现实是非常骨感的,他这么做,你确实能把局部转化成全局,但是如果我们去看一下计算量的时候,本来我每一个层,每一层每一个layer都是四个窗口,四个window size啊,四个window。
可是我这么幸运之后,我就变成了九个运动,而且大家注意啊,这个还只是我移了一次,如果再往下移动的时候,谁知道会出现多少个window呢,那么这样的话势必会在我计算的时候出现大量的问题,而且这是第一个现象。
我windows数量增加了,同时你看在我之前我四个运动的时候,我每一个窗口我的大小是一样的呀,可是你当你移动之后变成九个窗口的时候,我的大小每一个window大小不一样。
你比方说这个windo大小12x2,这个windo大小是4x2,还有最大的这一块是4x4,那这样的话你的计算量是不是会增加,对不对,我的初衷是减少计算量,怎么又变成增加计算量的。
所以说这个时候所以传输方面的学者呢,他又想了一招诶,你看他又想了一招,它使它的每一次每一层的这个window size都一样,他干了一件什么事情呢,很简单,你不是变成了九个了吗,对吧。
我把你这个我进行平移拼接一下,你看原来的a我给它放在这个地方,原来的b我放在了这原来的c我放在了这一块,当我拼移之后,我再次对他进行4x4的切割,你看这样的话,我是不是就成了九个windows。
又变回我四个windows了,数量保持不变,同时我这四个windows的windows size是不是也变成了相同的了,哎想法是非常好的,但是注意啊,我特别喜欢说,但是而且也希望大家主要抓我那个。
但是后面那句话,你看在我这种平移完之后,我对于我这一个窗口来说,反正你也是同一个窗口,就是你回到之前,你也是在这儿,你是同一个窗口,你里面的每一个patch你互相关注没问题。
但是你想对于我其他的这三个window,我们以这个为例,我相同颜色代表着我在我平移之前,它是处于不同的窗口之间,而我们知道不同的窗口,我是不能对它不同窗口里面的patch。
我是不能对它做这个呃自主意力机制的一个学习,不然的话你就变成了v i t了对吧,那么这个时候我们只能对这种相同颜色,比如说这四个点,他们之间去做自主力机制,不同颜色它就不能做,那么这个时候怎么办呢。
我们很简单,我们拿一个mask,我们拿一个野马矩阵诶,我们对它来进行标记,我们去标记出你哪些patch是来自于同一个窗口,哪些patch来源于不同的窗口,那么这样的话我们就可以去读取你这个mask诶。
我们就会知道相同窗口的好,这部分开始你们去互相关注吧,不同窗口诶,你俩颜色不一样哟,好你俩不可以互相关注,你俩必须形同陌路,那么这个就是它聊了一个叫做shifted一个操作,那么具体的代码实现呢。
我们会在我们的c位高级小班第十期当中带着大家去撸一下代码,好老师用这个图呢去给大家去做了一个,这个图呢我带大家去就是做了一个划分,其实你看啊,这是我们的原始图像,就乘以九,a9 乘以九。
然后呢呃我们还是为了保持跟前面的呃,就是跟前面的那个啊论文当中的原始的那个图的花粉保持一致啊,我们这是我们的a绿框是我们的c篮筐是我们的b好,篮筐是我们的b你看这个时候呢,a代表0号区域。
c代表1号和2号区域,同理,b代表3号和6号区域,好,我们首先进行挪动,我们第一次挪动的时候是我们把c移动到了这里,好,这是我们的第一次挪动,那么这个时候我们的区域就会变成012放到下面啊。
对a号去真正走动了啊,01号放到下面,然后上面的保持不变,这是我的第一次能动好,我们再次进行挪动,我们会把纵向的就是这一块纵向的我们挪到了这边,好这个时候呢你就会发现我们的360区域,这题有意思啊。
360区域诶变到了这个图像的右侧,然后呃同理啊,一二点还是在下方好,当我们shifty完了之后,诶,shift完了之后,我们再进行这种4x4的一个大的一个窗口的划分,我们变成四个运动啊,不是4x4啊。
应该是四四个windo好,这个时候你会发现5号和3号区域就变成了一个大的运动,你看这个是5号三个区域,形成了这个window最下面最复杂的区域呢,0268它形成了新的一个window。
然后4号区域它和它之前原来的window保持不变,ok那么这个时候我们就需要在每一个window里面做我们的自助力机制了,但是别忘了我们刚才说过,你这些是我平移之后的。
我需要记录我平移之前每个windows每个windows里面它的patch的归属好,怎么计算呢,诶我我们在这个计算之前,我们先看一下,这个是老师给大家呃做了一个就是呃叫做sally shifting。
这个是他论文代码当中实现的一个方法,他做了一个平移之后,你会发现你看这个区域跟老师刚刚那个话题区域一样,平移之后原始的图像呢就会变成右侧这个图像,ok就会变成右侧这个图像,好,我们来看一下。
我们以5号区域和3号区域为例,给大家讲解,5号区域和3号区域呢,对呀,然后我们大家知道他们俩会合成一个新的window,而是一个新的windo,但是最新的windows里面是来源于两个不同的区域诶。
我们区有三个区域,5号区域的patch内部可以做呃,这个自主力是自注意力机制的学习,5号区和三区域相互之间不可以学习,我们以5号区域的0号ph为例,你比方说在银行配置当中,如果你指数自助力机制。
你会发现他会把每一个字注意机制都有研究,比如说a00 代表着0号区域和0号区域内部的一个关注,a01 代表0号,0号patch和1号patch,他们之间那个呃呃自制力的这个系数。
同理a02 是0号区域和2号区域a的一个自由的系数,但是我们可不希望0号区域和2号区域互相关注啊,所以我们怎么做呢,我们可以看另一部分,就是我们给他讲个100,直上减个100。
我们知道对于smax这种函数来说,当它的值是一个负数的值的时候,soft max的结果是会趋向于零的,那么这个时候它是不是就相当于你0号区域,0号patch和2号patch,他俩关注了一个寂寞。
因为你的soft max或者说你的这个阿尔法零二或者a02 ,它是零,相当于他俩没有进行关注,所以这个就是为什么我们需要有一个mask来去标注诶。
标注这个同呃这个同一个windows里面就是shit之后,这个windows里面他们的这些小的patch到底是哪,来自于平行之前的哪一个区域的好。
那么我们的阴影部分就相当于是我们的这个我们的这个mask好,具体的方法呢我们会在我们的cv高级小班当中嗯,带着大家去撸一撸你们的代码,去看一看代码当中如何实现的,那么如果大家对我们的高级小班关心的话。
我再给大家说一下,关于我们更多的高小班知识,我们稍后再说,那么这个图呢是这个sin transformer官方代码当中呃,它的一个性能图呃,今天呢我在公开课当中。
我并不想过多的去带大家去关注一下这个性能的里面的一个具体指标,但是在这儿呢我想跟大家说一个事儿,如果你去看一下这些指标的话,你会发现你会发现啊,所以传统方面它的强大之处,他不光光可以做。
你想要分类它这个太太简单了,对于他来说,所以说它不仅仅是可以作为一个非常强悍的一个bbb股价提取网络,就是特征提取网络诶,大家知道之前一个非常具有里程碑的一个background是resnet系列。
那么现在ctransformer横空出世了,好那么three transfer它除了作为一个特定地区的强力武将网络之外,他还可以做下个任务,比如说目标检测,比如说实例分割,比如说视觉追踪。
比如说交叉领域的,比如说生物医学,医疗等等等等,那么这个都是孙transformer的强大之处,这也是为什么我们说three transformer,它是它的地位。
相当于当年renet系列在计算机视觉领域的地位好,呃由于这个公开课的时间有限呢,我没有办法去再给大家展开sin transformer,我们会在这个cv高级小班第11期当中,诶。
我们去跟大家聊一聊sin transformer的一些具体细节,大家以为我们在这个cv高级小班第十期里面真一讲cn transfer呢,那就可可就大错特错了,我们会在cv高一小班里面。
除了前期的理论学习之外,我们还会带给大家做六大企业级的项目,哎我们带大家一个一个来看一下我们有哪六大解析项目呢,首先第一个企业级项目呢是我们的多模态系统,那么对于多模态图文系统来说,诶大家知道啊。
当今呃这个人工智能或者是深度学习,他们研究的领域,我们已经很难满足于单独的去关注某一个细小的细分领域,我们以我们的野心已经不局限于此了,那么现在的很多人去去关注如何跨领域研究,注意啊。
我这样说的话语还不是交叉学科,交叉学科,我们稍后再聊跨领域,比如说我们可不可以把nlp和cv,我们把它俩a融合在一起一块研究研究呢,对吧,你看nlp它的输入是每一个文字或者说每一个文本或者是语音。
这些都是高级语义呀,自然界原本不存在,是我们人类发明出来的高级语言,而图像是我们的低级语言,我们有没有可能去把高级语音信息,文本信息或语音信息,让他去辅助我们的这个呃这个呃计算机视觉来去。
更加的高效的去提取一下我们里面当中的这种啊这种视觉信息呢,哎当然可以了,那么这个就是多模态领域所理解的,你别看文本图像诶,我们把它凑成一对一对的,然后我们继续就可以把它丢入到我们的多模态模型当中。
那么这个里面它有很多很多比较经典的这个比较经典的这个方案,比如说keep c r i p clip模型等等等,那么我们会在我们的第一个企业级项目当中跟大家聊一下,a多模态图文搜索系统好,那么第二部分。
第二个写进项目呢是基于自监督学习范式的视觉编码系统实现,什么是自监督学习呢,说到自监督学习的,我们就得跟大家说说有监督学习和无监督学习,比如说我们之前的那个图像呃,图像识别就是对图像进行分类。
哎我们的数据是一波图像,然后我们会告诉呃这个我们的机器它的label是什么,或者它的分类是什么,这个叫做有监督学习,对于注意啊,对于我们很多在企业当中实际应用的时候呢,我们会发现模型不是问题。
问题是我们的数据标注,数据标注是最花费时间的,那么这个时候大家就想有没有可能做不让他进行实验的标注呢,就不做人工的标注呢,那么这个就是衍生出的这个无监督学习,但是无监督学习到它的性能有点野蛮。
它不像人没监督那么让人去放心,所以这个时候呢大家又出现了一个自监督学习或者是半监督学习,我去告诉我的机器诶,我给你一批数呃,呃我给你一批就是人工标注的一些数据,然后绝大部分人都是没有人工标注的。
那么我希望机器在有在这个人工标注的这部分数据充分的学习,同时去自我的标准,对于那些没有标注的,那么这个就是无监督学习啊,不知道这个就是半监督学习,也叫做自监督学习,那么这一块特别有实际应用啊。
比如说老师跟学生讲课,老师给学生来讲一些示范的一些例题,那么剩下那些习题册唉,学生你就可以学习好了,老师给你的例题就是人工标注的一些东西呢,你就可以对一些剩下大量的没有标注的那些习题做一个自我的学习。
那么自监督学习其实是一个非常老的话题了,那么对于他来说,我们如何用我们的transformer,哎,如何用我们的transfer对它进行一个深度学习呢,或者说对他进行一个更加高效的利用呢。
那么这个就是我们在企业项目二当中,在这里带领大家去研究的,我们会在这个企业呃,这个项目当中呢去给大家聊一下sin transformer具体的代码实现,我们每一个项目都会去带着大家去撸一撸代码,去爽。
去爽一爽代码的感觉,诶如果大家能在经历完嗯,12点之前报名,可以拿一个我们的呃1000元的优惠券,直接直接呃去掉1000元,好,我们继续a3 ,刚才说错了呃,这个自研都学项目二呢。
我们会带大家聊一下关于这个m1 ,还有还有i bought,那么这些都是大佬级的算法好,那么在项目三当中,我们会带着大家去看一下关于这个呃sin transformer。
对于transformer的具体的代码实现呃,那么在这个里面呢,我们跟大家聊一聊这个transformer based视觉特性提取系统,除此以外,我们还会跟大家在这个项目当中聊一聊高效的并行计算。
高效的并行计算,o大家知道啊,我们计算我们就我们训练我们的模型当中,如果你只有一块显卡的时候,你会发现你的计算的时间非常非常的长,而且也导致你的效率很不高,呃同时呢你的这个每by size也比较过小。
那么如果我们有多快显卡的时候,我们就会做并行计算,增加我们的提高我们的效率,增加我们的精度,那么现在很多很多公司可以说基本上我不敢说所有的这个a i公司,但是绝对是a i公司,他们都会去玩并行计算。
那么它又是怎么实现的呢,它的原理是什么,同时它在代码当中该如何实现呢,我们也会在这个第三个企业级项目当中带给大家进行学习,好我们再往下看,那么下一个项目呢是这个计算机视觉跟踪系统,嗯,大家知道啊。
关于这个视觉跟踪呢,它的难度非常大,你看我们最开始是目标识别对吧,最开始目标识别在目标识别的基础上,我们出现了目标检测,哎在目标检测的基础上呢,我们下一步就可以做我们的tracking,视觉跟踪系统啊。
我们就可以做tracking了,还tracking的难度,目标跟踪的难度它比目标检测的难度还大,但是它的实际应用实际应用项目意义却比目标检测也更大,哎你比方说我们看下面这个图。
我每一个汽车我不光用框框给你标注,同时我还需要对你进行一个追踪的感觉,我需要比如说这是1号框,这是2号框,这是3号框,对不对,然后在下一层的时候,你是否还在在的话。
同一个汽车我给你分配同样的i d等等等等,那么这个是视觉追踪的过程,它的这个应用比较广,比如说地铁站高,还有呃什么高铁,还有机场的入口都会有这种视觉追踪的方式,大家看那个好莱坞的科幻电影啊。
他们有那种比如说呃通过那种多个摄像头而去实施追踪那个嫌疑人,那么都是用的视觉追踪的技术,那么我们会在第四个企业级项目当中跟大家聊一聊视觉跟踪系统,ok那么这一块呢我们还是那句话。
如果大家能在今晚零点前报名,灯会直接享受1000元的现金优惠,好我们继续下一个项目呢是基于深度学习的图像分割系统,诶那么图像分割呢它的应用也非常广,你比方说在这个分驾驶,self driving当中。
无人驾驶当中,我们需要知道我们的场,就对周围的场景做场景感知,那么我们会用到这个呃分割系统,比如说实例分割,比如说语义分割来,我们对它对周围的场景做一个认识,相同的属性的物体。
我们会用相同的颜色对它进行区分,那么同样分割呃,可以说也是一个很老的话题了啊,那么在这么长的时间当中,图像分割到底已经发展到了什么程度呢,这个时候大家就可以去我们的第五个项目当中去深入的了解好。
下一个呢是我们第11期项目新增的一个呃,一个项目叫做行为识别与分析系统,那么在这个项目当中呢,我们会去带着大家去了解一下什么是信息识别与分析,大家看我们在早期我们只能做目标识别之后。
我们可以做detection,再下一步注意啊,再下一步就有意思了,我们可以做人体姿态估计,人体的自带估计,当你有了人体自带估计的,你是不是可以就在估计的基础上面做一个行为识别与分析的。
ok可以说前面识别与分析系统的就越往下游任务走,它对我们整体系统的难度就更加的加大了,那么我们呃在c v d 11期,我们也是首次新增了一个新的项目,新增识别与分析系统,我们之前是并没有这个项目的。
呃我们也是花了很长的时间,我们去精心打磨这个项目,进行打磨课件,进行延时代码,然后精心的去设问,思思索如何才能把这么复杂的系统来一点一点的抽丝抽丝的剥离出来,给大家呈现,让大家全部明白。
那么这是我们的契约在线的一个使命,呃,那么感激的同学的话,你可以去关注一下我们的cv高级小盘,第十期,你以为就仅仅而言吗,我们不止如此呀,其实我们还有我们在第11期里面还新增了关于实战当中的。
你看模型量化与知识蒸馏,这些还有超大模型量化与蒸馏实战,那么这些都涉及到了模型压缩,还有模型的量化,它的意义是什么呢,因为我们在实际生产当中呢,我们会发现在企业里面还有或者在高校里面。
我们通常都会把这种超大规模的模型去压缩,变成一个小规模小尺度的模型,还有这个小的模型呢,它的精度诶,它的精度会保持不变,如果精度受损的话,也会让它局限在2%的这个曲线当中,就是你进度。
你不能从100%或者百分之九十八一下给我掉到50%,那我要你何用,但是如果你从98%加到了96%以内,那么在实际过程当中,实际生产过程当中,国内这么小的精度的这个呃损失我可以忽略不计。
但是呢我的魔仙大幅度的变小,这样的话我们就有可能是把我们的呃,就大模型迁移到我们的签署系统当中,或者说迁移到便携式的小系统当中,为什么这么多呢,比如说你的手机,你手机的功耗。
你手机的电量肯定没有你计算机或者是呃超级计算机,笔记本,台式机这种的那个功耗大,对不对,那么这个时候我们的小尺度的模型就有了它的实际意义,我们也是首次在计算在cb高小盘第十期当中呢。
引入了众多的关于这个模型,部署模型,压缩等等等等的一些就是等等等等一些知识点,也是我们首次的一些,所以感兴趣的同学可以去我们的cv高小班第十期当中呢去看一下,我们如果能在今晚零点前报名呢。
我们有一个100元的现金,1000元的现金优惠,sorry,1000元优,除此之外呢我们还会带着大家去聊一聊关于图神经网络这一块,大家知道啊,现在图神经网络真的是火的一塌糊涂。
那么我们也带着大家去聊一下关于图神经网络的一些系统,诶他的一些应用,你以为就这些项目吗,当然我们还有一些其他的一些项目啊,是在我们之前的一些呃cv呃,高级的前前几期呢,我们当中的一些呃一些这个项目。
我们也以在线视频的方式也呈现给了大家好,7月在线呢在高一小班当中,我们不同于其他的这种呃在线教育机构,我们呢还有最关键最关键的就是为大家的将来的面试求职保驾护航,我们会有专门的求职辅导老师去。
首先带着大家去给大家讲解一下如何去打模拟的简历,如何在面试当中a获得一定的优势,去和你的面试官进行博弈,如何呃在呃进入公司之后,唉,最开始的适应期如何快速度过,那么7月在线都会为你保驾护航,除此之外呢。
契约在线还有一个比较一个强优势,就是这个内推我们会呃,因为我们有着7年的办学经验,我们有跟很多的互联网大厂嗯,都都跟他有着天然的联系,所以呢我们会对我们的学员高级班的学员啊,极限高级班的学员。
我们会对第一个职位的内推来帮助你最后进入这个嗯,嗯早日拿到大厂的offer,ok那么这个都是我们cv高级小班第11期的一个新的优势好,另外呢我们也希望对大家提出一个新的一个呃项目。
是做这个ai学术论文的一对一辅导,因为我们在这么长时间的办学当中呢,我们会发现有很多很多的朋友,他们都会对发表论文有着一个硬性的要求呃,你看王小李说你的硕士博士需要毕业,你需要论文啊。
那么当你进入公司或者是进入高校,尤其是高校,你拿到论文,你发表了很多高校的s a论文,这个时候呢你才会那么这个时候你才会有往上爬的可能性,那么基本上说对于这个论文来说呢。
是你们是很多同学很多朋友的一个硬性要求,同时呢也是非常头痛的,他笔录代码难多了,路代码其实对我们来说很简单,只要我们其实大学老师帮助大家诶,就很容易搞定,但是论文可没有那么简单简单。
所以说我们其实在现在又提出来一个一对一的论文辅导,我们会对每一个报名ai学术论文圈的这个学员做一个一对一的摸底,一对一的排查,然后针对你的研究方向,或者是你感兴趣的研究方向。
然后我们会专门有迷失带领大家去呃做一个论文的深入的研究,同时来来帮助你,对你对这个论文发表进行一个辅导,那么感兴趣的同学的话,可以就是看一下我们的这个ai学术论文的一对一辅导。
那么呃今天的课件呢会同步更新到我们的这个群里面,大家可以联系我们后台老师要一下,同时我们的这个直播的公开课直播视频的也会呃,也会最终发到我们的官网上面呃,如果大家来得晚,或者是说还想回顾的话。
也可以到我们官网上去去看一下我们的这个ai学术论文的一对一辅导,和我们的cv高级小班的第11期,ok嗯,ok那么今天呢就是我们的公开课的全部内容好,那么还是那句话。
如果大家呃可以在我们的今晚12点之前报名,我们cv高一小班第十期的话,你可以享受一个呃优惠1000元的一个福利好,那么我们今天的直播就先到这里喽,呃拿到我们的a不能说的秘密。
诶这样你去问我们的呃后台工作人员老师,要一个一个月的契约在线的一个会员卡,好吧,呃这个也是我们送你的福利,张敏同学,我应该已经送给你了吧,如果没有去领取的话,抓紧时间和我们的后台工作人员老师。
或者是你去和你认识的任何一个7月在线的一个工作人员,7月在线的老师,你都可以去问他要这个一个月的会员卡啊,你就去跟老师说是呃cv庞老师给的好吧,让你同学不能说的秘密,还有前面我们点的一些幸运观众。
ok好,那么今天呢我们的直播就先到这里了。
那么首先祝大家生活愉快,工作顺利,同时呢如果有兴趣的同学呢,我们也希望大家早日的来到我们的cv高级小班第11期,同时也早日的拿到我们最终的大家心仪的大厂的offer好,那么今天的课程就先到这里。
那么祝大家嗯早点休息晚安,别忘了,如果感兴趣的话,去我们的cv高级小班,抓紧时间报名又好,那么我们的今天直播就到这里。
人工智能—计算机视觉CV公开课(七月在线出品) - P3:计算机视觉技术跨平台应用实践 - 七月在线-julyedu - BV17z4y167dq
呃,那我现在开始呃,7月在线的各位伙伴大家好,我叫杨飞,是来自于好未来AIlab的算法科学家。呃,今天呢我很荣幸来参加这个分享活动。我分享的题目是计算机视觉技术跨平台应用实践。😊。
呃,那我先简单介绍一下我自己。呃,我是去年呃也就是18年8月份的时候加入了好未来AI lab。呃,作为算法科学家,主要是做这个计算机视觉以及一部分跟语音相关的工作。那在之前呢。
我是在facebook呃工作了5年多的时间,呃,同样是做计算机视觉方向的算法科学家。呃,那在之前呢我是在新德西州立大学呃拿到的博士学位。呃,在中科院计算所拿到的硕士呃,在清华计算机系拿到本科,呃。
中间呢也曾经在微软公司短暂工作过一年。😊,呃,那我今天的题目呢是计算机视觉技术,跨平台应用实践。呃,这本身是一个比较宽泛的题目。啊,所以说我分享的内容呢不是专注于某一个具体的问题或者某一个具体的方法。
那这里边呢会涉及到一些方面。呃,比如说呃如何构建一个大规模的后台云服务。呃,如何在移动端呃去开发和部署我们计算机视觉的模型。呃,以及最后呢就是跟我现在的工作呃比较紧密相关的。
就是如何把AI技术应用到教育场景当中。呃,这里边呢我会介绍一些我自己的工作。呃,这个呃介绍一些这个行业发展的现状,呃,我自己的工作呢,以及呃我现在和以前的同事的一些工作。呃。
同时呢我会讨论一下这个实际产品当中遇到一些问题和挑战。
OK好。嗯,那么现在呢对于呃像互联网公司或者像其他很多行业,我们都有海量的这个图片和这个视频的数据。那从这些是数据出发的话,我们常常希望回答一些关于数据的问题。
那比如说那像这个呃PPT里边的这张这个例子啊,那么这是一张呃照片呢,还是一张这个素描的话,那么这张照片当中呢,包含什么是包含人吗?或者还是包含什么样的呃什么样的物体。那么这里边如果是人或者是物体的话。
他们看上去是什么样子的。那么他们在做一些什么事情。那么这里面它是一张呃室内的场景呢,还是一个室外的场景,它是一个风景名胜吗?或者说这个图片当中包含一些文本的信息吗?如果有的话,这个文本是什么?
那同时呢呃也有很多这个产品比较关心的是那这个图片是不是一个呃含有一些不良的内容。如果有的话呢,需要从这个互联网平台上把它过滤掉。
OK那么这里边呢就会用到很多这个AI技术,以及这个卷积神经网络,用来做这个图片的分类和物体检测的技术。那么对于卷积是呃卷积神经网络的发展历史,大家应该已经呃相当的熟悉了。
那么第一呃我这里面可以快速的总结一下。那么第一个成功应用的卷积神经网络呢,是闫兰坤在98年开发的李奈。呃,闫兰坤本人呢,后来呃当时呢是在这个贝尔实验室。那么后来呢也是呃呃成为这个深度学习的开创者之一。
那么在13年的时候,他加入facefacebook领导了facebook的人工智能实验室。呃,那么98年的时候呢,他做的这个算法,其实是呃本身呢是一个只有5层的一个神经网络。那么它结构很简单啊。
只有卷积层下载样层,然后后边呢再加上这个最后是一个全连接层。那么最后呢网络的输出呢是数字0到9的一个类别的标签。那么这个结构虽然很简单。但是呢在当时已经能够很好的取得这个手写体数字识别的效果。
并且呢已经这个算法呢实际上是在跑在这个ATM自动取款机上面。那么到12年开始呢,就是出了alexnet之后呢,实际上大家充分正呃认识到了这个卷积神经网络,它的这个呃它的价值。
所以说呢这个alexnet在12年是一个第一个大规模的卷积神经网络,并且呢它赢得了12年的agenet图片比赛,图片识别比赛的冠军,而且呢大幅度领先之前传统的方法。alexnet呢有5个卷积层呃。
和三个全年阶层呃,并且呢使用re去做这种非非线性的国一化。那么跟其他传统算法相比的话呢,它的精度提高了呃20%以上。那么从呃Alexnet开始呢,就有大量的研究,呃。
是把这个深度呃把卷积神经网络和深度学习应用在图片的分类领域。那么在14年的时候呢,有了两种更深的神经网络。那,第一种呢是这个牛津大学,他们提出来这个VGGnet和alexnet相比呢。
这个VGGnet它的网络深度,从8层,提高到了16层或者19层。啊,这里边它叠加了多个三层3的一个卷积层,所以呢它的结构看上去实际上是非常直观。那这里边就有一个问题啊。
就是为什么把这个多个3乘3的卷积层叠到一起的时候,可以得到一个更好的效果呢?那每一个3乘3的卷积层,它的感知范围只有这个3乘3个像素,对吧?但是我们当我们把多个3乘3卷积呃叠加到一起的时候。
比如说VGG里边是16层或者19层。那么这个时候呢。就相当于呃这个时候每一个像素它的感受也就得到了很大的扩大。啊,比如说如果我们把3个3乘3叠到一起,它实际上等价1个7乘7的一个卷积。那么同时呢。
因为它的网络结构更深,那么它有更多的这种非线性运算在里边,以及更好更少的参数啊,那么同呃那么它就比较适合做这个计算机图片的呃,就做计算机图片的分类。那么在14年的时候呢。
还有另外一种网络结构叫googlenet。他当时赢得了当年的net比赛冠军。所以呢当时VGG只是差了一点点,这个遗遗憾呢得到第二位。那googlenet呢实际上是一种更深的网络结构。
大家可以看到它的网络结构跟VGG比的话其实复杂了很多。它一共有22层,同时呢它使用一种叫inception的一种模块。那这里边inception呢是一种局部的网络模型,啊,它包含多个分支。
这里边有1乘1的这个分支,有3乘3的分支,还有5乘5的分支,每个分支呢是一个卷积。那么它把所有这些分支的输出呢,通过并行连接起来,同时呢为了降低复杂度。
还使用了这个1乘1的这种bottlene瓶颈层来降低这维度。那么跟alexnet和VGG相比呢,这个goglenet大幅度减少了参数的数量。
它只有这个500万的参数比它只有500万参数比alexnet小了12倍。同时呢效果也有了提升。那么VGG和glenet都是通过更深的网络得到更好的效果。那如果我们继续加深这个模型的深度。
那么我们能得到更好的效果吗?那么在呃针对这个问题呢,其实凯明做了很多的研究工作,那么他的研究显示了简单的去叠加更多的层只会使模型的性能变差。那这里边一个重要的原因呢,就是当我们叠加层数越多的候。
那么反向传播实际上会导致这个整个梯度的下梯度的消失叫那么那么如何去避免这个反向传播当中的梯度消失的问题呢?那么明就设计的这种叫resnet残差网络。那么net本呢是一种新的网络结构。
它呢提出了提出一种跨层连接,那就像我们这个呃左边这幅图,这个这个曲线所示,那么通过跨层连接呢它可以跳过一层或者跳过多层。
这样的话呢这个网络不再是拟合从一个输入X到一个输出的Y而拟合的是这个输出和输入之间的这个残差Y减X。那么通过这种网络设计。那么这样的。差呢其实更容易被拟合。那么通过这种方法的话。
ressonnet可以训练到150层,甚至可以训练到1000层。呃,ressonnet赢得了15年的呃各项意net和coco竞赛的冠军。同时呢也是16年的CPR best paper。
那现在我们已经看过了几个这种呃做图片分类的网络模型啊,那么我们比较这几种模型的话,可以把这些模型都画在一幅图上。那这幅图当中呢,Y轴是图像识别的精度。X轴呢是运行模型时的实际计算量。
那么这里边的单位呢是10亿次加乘运算。而这样这张图当中的圆圈的面积呢表示的是模型的大小,也就是这个模型包含的参数的数量。啊,这里我们可以看到alexnet呢是在这个图片的左下角。
那么它是第一个提出来的这种大规模的做图片分类的模型CN模型。所以呢它的这个模型很大,因为它的面积很大,参数很多。但是呢呃这个Alexnet本身它的计算量不大,所以呢它呃它在这个整个X轴来讲。
它是靠最左边。同时呢它相对于后续的这些模型来讲呢,它的精度也是比较低,所以在Y轴来讲呢,它是在最下边。那么在这张图的上边呢,我们可以看到,像包括inception也好,像resnet也好。
那么它呢在精度上来讲,它可以得到很好的精度。而同时呢它的这个网络的大小和运算量也都比较适中,是属于比较小。而这张图的最右侧,我们可以看到像VGG和VGG的16和VGG的19。那么它都是相当大的模型。
这个整个圆圈占的面积很大。同时呢它这个网络计算量也很大,属于这个X轴的最右边。那么它的精度呢是要比早期的Xnet要好一些。但是呢是比不过后边的inception和resnet模型。
OK那么看完前面四个模型以后呢,我们可以看两个ressonnet改进工作。那么这两个改进工作效果都很好,而且呢也非常容易的使用。呃,比如说第一个改进工作呢叫dancenet呃。
dancenet作者呢是来自于康奈尔清华,还有facebook的 air research。那dancenet工作呢是赢得了CPR17年的最佳论文。啊。
那desite模型设计呢是在层和层之间加了更多的连接。那每一层的输入呢是前边若干层的输出,它不仅仅是前面一层,而是前面多层的输出。那么同样呢dnet使用这种模块化的概念,只有模块内部的层才把它连接起来。
那么通过这些连接的话,一层的输出呢可以被后边很多层所使用,使得这个模型的效率更更高效。那么比较dsnet和 resnet来讲,在同样的精度情况下,dsnet可以使用更小的参数和更少的计算量。
那reson的另外一项改进工作呢叫res next啊,那么这他的作者呢是呃UCSD的谢三宁啊,以及凯明和rososegersh。那res next呢使用的是这种分组卷积的方式。那我们看这张图里边。
左边呢实际上是经典的resnet模块。那么它有一个呃这个它有它它有一个这样的一个跨层的结构。那么右边的话呢是新的这个res next模块,它呢会把这种呃这种传统的卷积呢分成了多个组。那么这里边呢。
它把128个神经元分成了32个组。那么这个时候它的神经元的总数量是跟左边相比的话,是提高了两倍。但是因为进行了分组,那它的计算量呢和左边resnet比,实际上是一致的。
那么这里边通过加入更多的神经元可以提高整个模型的精度。
OK那前面的话我们其实过了呃快速的过了几个这个图片分类的模型。那后边的话呢我也会简单的介绍一下,做一些呃物体检测的话,会使用哪些方法。那么对物体检测和图片分类呢?它不同的地方,就是对于图片分类。
我们只需要给一个类别的标签啊,那么这个图片是一张猫的图片或者是一张狗的图片啊对于物体检测来讲呢,除了我们要知道啊,这是一张猫的图片以外呢,我们还需要知道这个图片呃这个猫在图片当中处于一个什么样的位置。
那么这里通常呢我们是用一个矩形框叫bonuning box去把这个物体圈出来。那么一张图片当中呢可能有很多个物体。那么有这类物体呢可能属于一个类别或者是多个类别。
那这里面我们都会用不同的矩形框去圈出每一个物体。
那么对于这个物体的检测和物体的定位来讲,那么呃我这呃可能很多伙伴也是比较熟悉一些传统的做物体检测的方法。那么它采采用方法呢通常是用一种滑动窗口的方法。那比如说我们举人脸检测为一个例子。那给定一张图片呢。
我们选取一个窗口可以提取出这个窗口当中的特征,那么在和人脸模型进行比较。那么如果这个窗口当中特征呢,和这个人脸的模型是比较符合的。那么就认为这个窗口呢是一个人脸的区域。
那但是一张图片呢实际上人脸可能出现在各种不同的位置,对吧?那么它大小也可能不一样。所以说呢为了检测出一张图片当中所有的人脸,那么我们就需要使用这种滑动窗口,也就是说我们要去设置各种窗口的大小长宽比。
以及呢不同的位置,让这个窗口呢在图片当中进行滑动。那么对于每个位置呢,我们都需要抽出它的特征。然后呢和标准模型做一个匹配。对吧?那么这是一种滑动窗口。那么当我们使用这些CN的模型,也就是深度学习。
那深度学习跟传统模型比呢,其实在分类上面有了很大的提升。但如果我们直接把这个呃CN的模型,就是深度学习的模型放到这种呃检测问题当中呢,我们就发现因为我们要去比较很多很多的窗口。
这里常常是几十万或者几百万。而对于每个窗口,如果我们再去提取这种深度特征。那这个计算的开销就会非常非常的大。所以说呢我们会看到后边很多检测方法。
其实核心它的做到一点就是如何设计一种模型去减少这里边做检测需要所需的计算量。那么第一种方法呢,我们这里叫做overfi的方法,它是呢是2013年的imnet定位比赛的冠军。
那么overfi的特点呢就是它充分利用了这种卷积的特征。那么它只跑一次模型,那么就可以实现跟滑动窗口等价的效果。那overfi的方法本身也很直观。就是首先我们有一个分类的模型。
那像之前我们看到的像alexnet5个呃5层呃这个CN呃五层卷积层和三层和三层的这个全连接层,那么对于这种overfi这类的检测器呢,它首先是把所有的全连接层换成了卷积层。
因为全连接全连接层呢实际上是对输入的维度是有要求的对吧?那这里边呃而我们换成卷积层呢,实际上它是没有一个要求,这样的话呢,输入图像可以不用是固定的分辨率或者长宽比。我们可以输入一张更大的图像。
那么最后一层的输出呢跟之前像呃alexnet这样的分类方法比的话呢,像分类方法它主要是一个oft maxax的标签,对吧?如果是1000个类别的话呢,那这是一个长为1000的一个 vector。
那么像overfi这种方法呢,因为它把全连接层都换成了卷积层。那所以说呢它的输出呢也变成一个二维的一个map。而这个map当中的每每一个点,它对应的是一个可以是个1000维的一个一个 vector。
那就每个点呢会有一个soft max。呃,那么这个时候呢,我们可以通过计算每一个卷积它的感受也的大小,那么可以倒推出来。对于它最后输出的这个map,每个点它会对应出来原始的图片输入的一个矩形框。
那我们在最终的这个输出层里边,先去找到这个分呃这个值最大的呃,那么这个呃而且大于某个阈值的类别。那我们就可以得到对应原始图片,它的这个位置。也就是说它属于哪个矩形框。那么这是非常直观的方法。
那么那种呃那么对这种方法的话,其实大家可以看到它很直观。但是呢因为受限于整个CN它的这种包括padding啊,包括 pullinguling,所以说呢它的精度会受到一些影响。
那么第二种呢,我们介绍的方法呢叫做这个RCN叫做region啊CN方法。那么同样呢,它也要去避免滑动窗口的方法。那么CN呢它的这个策略呢是首先呢需要在这个图片当中去选择一些窗口。
那么这个时候呢会使用一些窗口的检测器。呃,这里有一些很多不同的算法算法可以去选窗口。那么这个窗口呢实际上是一些看上去像是一个物体这样的一个矩形框。那么CN里边呢使用窗口的方法呢。
叫selective search。那么通过selective search呢,可以把窗口的数量从像原来这种sliding window滑动窗口,这种从几几十万几百万的量级的窗口降到几千。
那么拿到这个几千个新的窗口之后呢,在每个窗口里面再跑一个CN模型判断这是一个什么物体。那么跟原来这种sling window相比呢,可以大大减少计算量。那么这就是CN它的这个这个策略。
那么在RCN提出来之后呢,其实后边也变得非常的流行。那么后边呢rossh呢就又提出了呃这种改进工作,包括fast RRCN和fast RRCN。
那我们看到这个RCN呢是通过selective search试的方法。那从原始图片当中,它选择了3000个窗口,每个窗口呢都跑了一个卷积神经网络。所以要跑一个神经网络跑3000次。
这个计算量仍然是非常巨大的。那这里边就可以我们就可以想一下,有哪些计算可以是被复用的呢。那这里啊就是对于fast RCN来讲呢,他提出一种方法,就是图片呢先输入一个一个。sorry呃纯点击的一个网络。
那么这个网络呢是在整张图片上面提取一次CN特征。那么在这个之后呢,我们再可以用这个像select search或者其他方法给我们提供的一些窗口。那么在这个CN的特征上面,再去提取每个窗口里面的特征。
这样呢就对前面这个网络来讲呢,它只需要计算一次,而不需要去计算几千次,这样的话可以大大的降低这个计算量。
那后续呢像和face加佳的孙建老师呢,也共同提出了一个叫fatRCN的工作。那么faRCN呢是把这个选择窗口的算法和这个检测算法合并到一个模型里边。
因为我们之前看到RCN和fatRCN实际上都有两个模型,一种呢是找窗口,一种呢是每个窗口做判定,对吧?那么对faRCN来讲呢,只做一个模型,但这个模型呢就看我们会看到它有两个分支。
那么首先最下边也是现有一个CN的模型,从图像当中提取特征。那么得到这个图像的CN特征描述,然后这个时候两个分支,一个分支呢叫做regionpropo network。那么叫RPN网络。
那么RPN网络呢是从这个CN的特征出发,去预测出一些窗口的位置。那么这些窗口呢,我们叫proposal。那么有了这些propoal之后呢,我们可以看到右侧的分支。
那么可以我们会用这些proposal从CN的feature层,也就是说下边这这个黑色的这个层去从这些窗口当中提取特征。然后呢。
后边再用这个像fa2CN的一个方式去判断每个窗口是不是一个某个特定类别的物体。所以这里边呢,因为它把原来两个模型合并到一个模型里面,它可以进一步的提高效呃性能。Okay。那呃之前呢我们看到像RCN也好。
或者像fatRCN和fastRCN,他都一定要先找窗口,然后呢再去判断这个窗口里边是特定是不是特定的类别。那在16年的时候。
有一项非常受关注的工作就叫SSD叫single shot multibox detector。那么它是北卡的呃刘微博士提出来的。那么SSD的窗呃,它是我们可以看到它完全放弃了窗口。它。
允许呃它整个呢是1个CN的一个网络。而同时在最后呢是允许从CN的各层输出当中去预测这个呃物体检测的结果。这样的话,通过这种方式呢去适应不同的大小,物体大小。
那么对于小物体可以由更底层的这个feature做预测。而大物体呢可以有更上层的这个feature做预测。那么SSD呢本身结构非常清晰,非常简简洁。所以说呢它后边有有非常广的一个应用。
那么除了SSD之外呢,我们可以也有一些其他非常流行的OD检测的工作。比如像像优鲁,像优鲁的后边的优路9000,也就是V2或者是优鲁V3这样的一系列工作。那么优鲁呢跟SSD相比呢。
它其实单独设计的网络结构呃,专门去优化这个结构,用来提高这个检测的速度和精度。那这里边呢我们就嗯略过这个更多的细节了。这感兴的小伙伴呢可以专门去参考嗯,其实在线有专门的课程去讲述这些方法的细节。O那好。
那之前呢我们其实花了很多时间去看这个呃过去这几年这种state art的方法,也就是说从学术界或者工业界采用哪些方法去做物体的分类和检测。那现在呢如果说我们先确定了一种分类方法。
比如说net那这里我们可能有开源的像也好,或者像orflow也好,我们很方便可以得到一些开源的代码。那我们可以模仿这些代码,或我们可以把这些代码直接用起来去写我们的训练程序。
同时呢我们可以去下载像net或者像其他的一些大规模的一些公开数据集去训练模型。那这些的话其实大家都可以在学校里做,也可以在公司里面做。但是下一步如果说我们有了这些工作以后,我们想做一个产品。
那这个时候会遇到哪些新的问题呢。那我这里边简单的去列了一些问题。我们可以大家可以看一下,比如说我们想去想去。😊,对一些图片进行分类或者对物物体进行检测。那么首先我们去回答的是数据的问题。
或者是类别的问题,对吧?那么我们需要去进行哪些类别的判定?那么这些类别是怎么定义的?那这个问题看上去嗯是一个似乎是很简单。但是在实际当中呢,实际上我们会遇到很各种各样的比较奇怪的情况。
比如说我们想去判断一张图片是不是苹果那那当我们在比如说我们在spacebook或者在其他的这种网上去爬很多照片的话,那我们会看到各种各样苹果的例子。比如说整个的一个红苹果,它是一个苹果。
那绿苹果是一个苹果。那如果切开的苹果,我们是不是怎么定义它,它还是一个苹果嘛?或者说如果把一个苹果切成块,做成这个苹果的沙拉,或者我们看到一些苹果树,树上结了几百个苹果,对吧?
那它是不是符合我们真正想要的这个类别的定义,所以当我们做实际问题的时候呢,其实第一步就是要去花很多的时间先去解决我们数据的问题,先去解决这种数据定义的问题。那我们定义好数据之后呢,那么下一个问题呢。
就是我们要训练我们的模型,达到我们想要的精度和性能。我们需要多少这种训练的数据啊,比如说我们需要5000张苹果的照片去训练一个苹果的类别。那这可以是一个可以是一个合理的一个数字,对吧?
那么现在有了这个数字之后呢?那下一步我们怎么去搜集我们想要的这种训练图片或者是测试图片,通过什么途径去搜集。对,那这里边呢很重要的一点,就是呃我们想搜集过来的训练图片或者是测试图片。
一定是尽可能去满足真正线上产品,它所面对的这个数据的分布。对,如果我们通过不同的途径去搜集图片。比如说所有的苹果都是这种素描苹果。那我们把它把这个模型部署了以后呢,对真实的苹果照片肯定性能就不好。
那么下一个问题呢,就是我们现在有了一些图片,那么怎么去得得到一些高质量的一些标注结果。因为标注呢实际上是一个纯体力的一个过程,对吧?那么对于标注人员来讲呢,那么它会有疲劳,那么它会有不认真的情况。
那我们怎么能够保证我们的数据标注是真正能够达到一定的精度,我们是一个可靠的数据,可以用来做训练和测试?那么对于数据来讲,还有一个问题叫做i unbalanced data。
就是数据本身呢可能是一个不平衡的。那比如说我们想去搜苹果的图片,可以非常轻松的搜搜到这个几十万几百万张。但是呢如果说我们想去搜一些嗯,比如说一种非常稀有的一种蜥引,对吧?那么我们可能很难去找到图片。
所以说如果我们构建了一个数据集,这里边一种图片它可以是是10万张。而另外一个类别呢,它只有几张,那我们是很难去把另外第二个类别去训练出来的。所以说呢在训练过程当中怎么去处理这种val data。
那么这也是一个值得考虑的问题。那么类似呢也有些叫做rere categoriesries,就有些cateeggory呢,它实际上出现的频率太低了,我们很难去搜集数据。那在这种情况下怎么办?
那后边其实还有很多啊,比如说。如果两个类别之间,它是有这种 overlapping的关系,也就是说两个类别有一些例子,它既属于第一个类别,又属于第二个类别。
那如果这个时候我们用简单的这个soft max,那么softm呢是N选一的一个结构。那么这个时候可能就不会得到一个我们理想的结果,对吧?那还有一个问题呢,就是在场在这个产品当中。
如果我们已经花了很大的力气去训练好了一个模型,这个模型有1000个类别。那么突然呢我们又来了一个新的产品需求,要求我们在训练一个新的类别。那这个时候我们是要完全推倒重来呢?还是有什么更好的方法。
可以在已有的模型上去加这些类别。那么这这都是一些问题。那后边我还列了很多问题,那这里边呢我们就不再去细细致讨论了。
那后边呢我们其实可以看一下,就是如果说我们想去部署一个大规模的一个图像理解的服务,那么这个服务应该是长成一个什么样子的那我这里边呢去主要是嗯介绍两种方案。
那么呃一种呢实际上是一个实时叫做叫做 synchronized一个实时服务。那么这个实时服务的一个简图。大家可以看到,当用户呢最开始的时候发送了一个请求。这个请求呢包含的是一个照片。那这个例子里边呢。
它是一个猫的照片,那么上传到我们后台。那后台的本身呢我们会做很多工作。比如说呢把这张照片呢放到这个数据仓库里面存起来,对吧?然后呢,这其中一项工作呢是我们希望对这个图片本身进行理解。
我们想判断这个图片的内容是什么。那这时候一种方法呢就是。我们可以给我们的另外一个后台服务。比如说1个RPC的服务去发一个请一个请求。那么这个请求呢是一个同步的请求。
这个同步请求后边呢会发到我们的这个呃图像理解的这个后台服务集群上边。那么这个集群呢,首先它是一个有一个service一个负载均衡器。那比如说我们有1000台服务器,可以同时呢去对对图片进行分类。
那么这个负载均衡器要做的作用呢,就是它从这1000台机器当中呢去找一台机器,然后呢把这个请求呢发给这一台机器,对?那么这一台机器呢去专门对这个图片进行处理,去跑我们之前训练好的CN的模型。
然后呢再把结果呢存到这种结果存到这种结果的这个数据库里边。那么这是一个比较简单的流程。所以对这样一个流程来讲,其实我们可以关心的一些问题。
首先呢就是我们怎么去设这个time out就是当一个请求过来的时候,什么时候是一个超是怎么样去设置一个很好的超时,设置一个合理的超时。那为什么这个很重要呢?是因为我们跑CN模型的时候,常常耗时是很高。
而不像我们呃平时的一些呃之前的一些操作,呃,比如说可以每秒钟单台机器可以达到几千几万的QPS对于我们跑新恩模型来讲,如果是1个CPU机器,那么一秒钟可能几个QPS就已经很不错了,对吧?
所以说这个它的整个处理时长会很长,所以time out怎么设是一个问题,那么这另外一个问题呢,就是怎么去做负载均衡。呃,因为如果说我们。每每一台机器每秒钟可以处理1000次,这个负载均衡。
可能我们通过这个random selection,那随便找一台机器。当这个数量很大的时候呢,其实这些机器之间很容易可以达到一个平衡。但如果说一台机器一秒钟只处理一次,那它正在处理当中。
这时候我们再塞给一个新的请求过去。那这个时候呢它就会呃会被大大的延时,所以说用什么样的方式去实现负载均衡,这是一个问题。那另外呢就是如果说我们的这个嗯这些服务器部署在不同的国家或者是不同的不同的州。
不同的大陆。那么这个之间呢怎么在跨区域之间或者是跨大陆之间去做负载均衡。那么这同样的是一些问题。那么这种呃实时的这种方案呢,其实我们可以看到它结构非常简单,我们发一个请求,然后就在等什么时候呢请求完成。
把结果返回来。那么它的一个问题呢,就是呃我们在实际线上的产品当中呢,实际上我们会知道我们整个的请求是有峰值和低谷,对吧?那么比如说呃比如说我们用一些像微博也好,对吧?或者就像这样的网站。
可能我们在呃在晚上六七点钟的时候可能是一个峰值,但是在夜里边三四点钟,这时候大家都睡觉了,这时候必然是一个低谷,所以说如果我们按照同步的方式去部署我们的服务的话呢。
那我们就必须按照这种峰值的方式去去放置设置足够的服务器。那么到低谷的时候呢,这里边可能有一半以上的服务器实际上是没有被利用过的,所以就会导致服务器的利用效率低。那么真的这种情况下呢。
我们还可以设计另外一种方式。那么就是异步的方案。那么异步方案跟同步相呃方案比不一样的地方呢,就是这个请求不是直接发给后台服务的,而是呢先放到一个堆列里边。那么这个我们有1000台机器。
1000台这个跑这个算法模型的服务器。那每个服务器这个时候请求不是从队列直接推过来,而它主动去队列里面去取。当它处理完当前手上的请求之后,它就有了足够的这种计算资源,可以去队列里面去取下一个请求。
么这种方式呢就是变这种推送的模式,变成一个取呃请求的一个模式。而同时呢我们还可以设定一些priority,就是说也许这里边这个请这个队列可以是多个队列呃,优先级不同,对吧?我们可以先处理高优先级的呃。
那么这里的一个好处呢,就是呃我们可以不需要去呃处理整个的峰值,而可以去用更少的机器呢,可以去提供这种服务。当然了,它跟这个呃think比就实时比的话,它实际上并不是一种实时的模式,而是一种异步的模式。
OK那么在实际场景当中呢,实际上我们发现我们既有同步的需求,也有异步的需求。所以说我们在部署这个我们后台服务的时候呢,实际上是一种混合的一种模型。那么前边呢我们其介绍了一下呃,这个模型长什么样。
以及呢这个整个系统应该长什么样。那后边呢我会演示一个例子,就是如何呃如何去设计和搭建一个自助式的系统。那么这种自助式的平台呢,就是在facebook里面呢叫做叫做los。
那么他每天呢可以去呃在上面呢是跑几十亿张图片。那么它有很多功能,呃,比如说帮助产产品团队呢去呃去描述图片本身的内容,或者呢他可以帮助盲人去呃去描述这个图片的信信息。
并且通过TDS通过语音的方式反馈给盲人。那么他可以把一些呃值得纪念的一些呃过去的一些老照片或者视频,可以去选举出来。然后推呃这个就是发给大家。而同时呢他可以去提高这个图片搜索或者是视频搜索它的这个效果。
因为我们第一步呢,如果我们先理解的图片或者视频的内容。那么它一定是有助于这个提升我们搜索结结果的精度,同时呢可以去帮助这个呃过滤掉很多不良的内容。所以在facebook里边呢。
有很多很多产品团队嗯都在用这样的一个平台。那么这个平台的好处呢,就是当这个平台搭建成功了之后,那么算法团队实际上就不需要再继续投入算法工程师和人力去去针对每一个需求都去给他训练单独的模型。
而产品团队呢或者是客户。他可以直接用这样一个平台去在他的数据集上去训练他想要的模型。那么这样一个平台呢,是要呃就是大概是一个什么样的一个结构呢?那么首先呢我们可以举一个图片呃图像识别这样一个例子。
那我们可能会跑多种主流的模型,比如说resnet。那么在这里边我们遇到的问题就是我们想训练一个ressonnet模型。那么这个训练时间呢常常是多个小时或者是几天甚至几周的时间。那么在产品当中呢。
有很多很多应用场景都需要去练训练这种图像理解或者是分类的模型。那如果说我们针对每一个场景都去训练一个单独的模型的话,那慢慢的我们就会发现这种请求会越来越多,可能呢会有几十种几百种请求都会过来。
那么因为这里边去呃对于图像理解来讲,有很多不同的应用场合。那这个时候作为这个算法团队,他肯定是没有足够的人力和资源进行这种单独的训练,给每一个产品团队都去专门去做模型的训练的。那为了解决这个问题呢。
我们先可以使用尽可能多的一些数据。啊,比如说比这个eagenet百万级别再大很多,比如千万或者是亿亿这个级别的数据,先去训练一个主模型。啊,那么当我们有新的训练任务的时候呢。
我们并不是从零开始去全新的训练一个全新的模型,而是呢使用这个主模型,它所提供的表征。那么在这个基础上呢进行训练。那一个模型有很多层,那么从哪一层呢去取出这个图像的表征进行训练呢?
我们这里可以把选择权去交给用户。那么用户呢可以在这个平台上去选择一层。那么如果说他选择的是一些呃比较靠前的层呢,那么这时候特征呢是一些呃比较更偏向图像的一些特征。
那后续呢也就意味着他需要去加进去更多的一些个更大的一个模型。在这个基础上,那么这种呢就是他会比较方便进行训练,但是后续呢这个上线之后呢,需要做的事情会比较多。啊,sorry,这个这个说的不准确。
但这种呢就是它实际上呢是对方对训练来讲不是很方便。因为它后边要对接一个比较大的模型。但是呢因为它呃但是因为它这个后边的模型比较大,所以呢它可以专专门针对他想要的场景,得到一个更高的精度。
那么另外一种情况呢,就是他可以直接选择最靠后的层。比如倒数第二层。那这个时候已经是一个非常高维度的一个语义信息了,它在后边可能只加一个线性一个判别就可以了。那这种的好处呢就是它的训练的这个负担很轻。
那可以几分钟就可以完成一个训练一个模型,在它想要类别上面,但是缺点呢就是因为它后边的模型是非常轻,并没有专门针对它的数据做优化。所以说它的性能会有一些有一些影响。
OK所以说我们把这个定义呢本身是交给用户。那么选取不同的层呢,实际上就是一个精度和一个速度的这样的一个tra off。那这里我会嗯显示一个例子,就是用户他会怎样去使用这样一个平台。啊。
那么首先呢用户可以先去创建一个新的模型。那这个模型呢叫做骑马马贝骑马。
那么下一步呢就是他要去定一些他想要的数据。那这里呢他是从facebook或者从instagram去根据图片标签去搜一些结果出来。
Okay。啊,那这里我们会做到做一个图片剧类的工作,把这个输入图片几千张汇聚成不同类别。这样的话会方便我们去做标注。它不需要每张图片做标注,而只需要去先去看这种类别。比如这个类别里面主要的都是人气码。
但是有一些照片只包含马,所以它把它标记成了一种复利的样本。嗯,所以通过这种方式的话,它可以快速的去搜集一些数据啊,然后呢去标注一些数据。那下一步有了这个数据之后呢,那么他就可以去训练这个模型。
那么他可以把这个模型提交给这个lomus系统啊,因为这里边它用了一个后边只加了一层,所以这个训练是非常非常快的。那么可以在这种一分钟之内,甚至这个更快的时间内就可以结束。那么当训练之后呢。
你们可以看到它在测试集上边会有这个呃这种sre的分布以及这个测试的性能,这种ROC曲线等等。那么这个模型嗯这个训练之后呢,它就可以把这个模型真正部署上线,真正看一下这个模型在上线上跑什么样。
那么线上这个结果呢,它可以过一下。那么如果是正确的结果呢,那么它可以啊放在那儿错误的结果呢,那么它可以单独标出来,又可以加到新的这个训练集合里边。
那么我们刚刚看到有一些例子呢,其实只有马没有人。所以说这对于骑马来讲是一个复利样本。那么为了搜集复利样本呢,实际上我们也可以通过呃搜索标签的方式,就是专门搜索标签当中含有马这些图片。
然后把整个搜到的图片都加到这个复利样本作为训练,作为训练图片。
那么加到新的这些样本,包括正力和负力之后呢,那我们就会重新训练。然后呢重新去看这个模型本身它的精度和性能。
然后呢,这里边我们可以呃设定合适的浴池。那么通过点击这种鼠标呢,就可以把这个模型部署到线上。当这个模型部署到线上之后呢,那么它就和其他的这种计算机视觉模型一起,每天呢会处理几十一张的这种图片。
那么这就是呃演示的一个例子。OK那么之前呢我们介绍了这个呃就是后台的一个云服务。那么包含的这个图片的分类检测啊,以及这个后台的一个架构,以及包括这个自助式的服务。那后边呢我会再介绍一下。
就是如何去把这样的视觉模型放到手机端。那这里面有三部分。那么第一部分呢就是这个模型结构应该是什么样的。因为手机端和服务端,它会有一个非常不同的一个模型设计。那后边呢我会介绍两个例子。
那么一个呢是这种在手机端可以实时去做的这种style transfer,也就画风的变化。那么第二个例子呢,就是在手机端可以实时去做的这种人体姿态的检测。
那在手机上去运行神经网络模型和在GPU服务器上相比呢,会有很大的不同。因为在手机上面我们有CPU内存和功耗的限制。那么最近几年来呃这种大部分深度学习研究工作呢,还是集中在训练高精度的模型。
不停的去提高模型的精度。那么绝大部分模型呢并不是给手机设计的,所以呢不能直接去移植到手机上运行。那举个例子,比如说刚才我们去也提到过的一个残插网络,就resnet50。
那么它有50层的这种卷积和全年阶层。对一张输入图片来讲,要做几十亿次的加成和运算啊,所以这样的一个模型,它从大小从运算量来讲,它都不能在手机上运行的。那么在手机上面呢。
我们需要专门去设计一些比较小的网络结构。那么这样的一些模型呢,需要在速度和精度之间呢去得到一个平衡。那么前面我们已经看过6个模型,那么这些模型呢都是高精度模型,模型本身大小呢在十几兆到几百兆之间。
那么在手机上面这个模型显然是太大了。所以说另外一个方向呢,就是我们要去构建一些小模型结构。那么这里面呢先去我们也可以快速去看几个例子。那么第一个例子呢就叫squenet。它是16年提出来的。
那么它本身呢是一种比较高效的一个模型结构。那么它包含了一种叫做fire block这样一个结构。那么这样一个结构呢包含了1乘1的卷积和3乘3的卷积。那么跟alexnet比呢。
它的模型大小只有alexnet50分呃50分之1,但是呢它可以得到跟alexnet同样的精度。那么另外一个例子呢,像mobilnet它是google研发的另外一个高效的模型,专门针对移动端和嵌入平台。
那mobilnet的使用深度呃,它的嗯它可以使用的一种叫做分深度可分离卷积。那么它把标准卷积呢分解成一个逐通道卷积,叫dwise convolution。
还有一个叫主点卷积叫pixelvis convolution。那么逐通道卷积呢是对每一个输入通道进行卷积。那主点卷积呢是使用一点1乘一的这个卷积核,在每个点上把多个通道的输出结合起来。
那这个方法可以极大的减少这个计算的计算量,同时呢减少这个模型的大小。那呃我们从这个图的上面我们可以看到,那么最顶上呢它是一个传统的卷积,所以它的整个计算量呢实际上是一个6个数字相乘,对吧?
那么到后边的话呢,如果是呃主通道卷积的话呢,那这里边就可以去掉最后一个数字,它就5个数字相乘。然后如果是主点卷积的话,只能是数四个数相乘。所以说呢如果我们把上边最上面的一拆解成二和3放在一起。
那这个时候它计算量比以前就是大大降低。那么除了mobilnet之外呢,像这个呃还有叫shaufflenet啊,这个呢也是呃之前孙建老师的团队提出来的。那么shalenet他要做的事情呢。
就是呃他做了分组选机。而同时呢为了防止这个每组它的这个信息相互之间不能流通。那么它加了这种shuffle层。那么shale呢会把这个一个组的信息,把它通过shale的方式呢,把它放到另外一个组进行输入。
那么通过这种方式呢,也可以得到一个小模型,同时呢也可以得到很好的效果。那么在这个之后呢呃还有一系列工作,像mobilnet v two啊shalenet v two啊等等等等。那么具体细节的话呢。
大家可以参考paper,或者看其业在线的其他课程。OK那之前我们讨论几种小模型的设计。那么除了模型设计之外呢,其实还有一些工作,可以专门针对一个已经有的模型去进行压缩。那么减枝呢就是这样的一种方式。
那么减枝这种方式呢是首先我们有一个模型,那么我们希望去移除模型当中的一些连接结构,同时呢还希望尽可能去保持这个模型的精度,那我们看到这个图的最左边呢是原始的网络结构。那么经过减脂之后呢。
会得到这个中间这个网络结构。那么这个时候呢,它的这个模型的大小呢就被大大压缩。那如果说我们想去训练一个呃减枝,就这种这种方式呢,那我们可以去呃一种方式呢就是像韩松他在尼ps15年提出的这种方式。
就是首先呢他可以去训练一个呃完整的一个网络结构,然后这个时候呢去把一些呃接近于零的一些权重,可以把它去掉,叫做pro。然后在这之后呢,它可以再去做一次训练。那么通过一个迭代的方式呢,那么最终来讲呢。
可以得到一个比较好的,那么既能保持这个图片呃这个模型的精度,同时呢又能。大大去减少去呃可以减掉很多值,可以大大减少这个权重的数量。
OK那么除了这个之外呢,呃我们还可以看到另外一个也是呃韩松在16年提出来工作。那就除了减脂,我们还可以做一个工作,呃就叫做呃叫做量化,那么量化的工作呢,是这样,就是呃最开始原始的网络呢。
它我们是用32位的浮点数去存一个wat去存这个每一个节每一个这个神经元的一个权重。那如果说我们把一个32位的浮点数变成一个8位,那么这个时候会发生什么样事情呢?
那这时候我们呃首先可能会损失一些模型的精度,那么这是肯定的。但是呢我们可以采用一些方式去尽可能去降低这种模型精度的损失。那么在实际上中我们发现有很多模型当从32位到8位的时候。
还能近似的去保持原来这种模型精度。那么这个对于移动端对于手机平台来讲,那么就是一种非常好的一种方法。那么同样呢它也可以通过这种反复迭代的方法。就最开始的时候训练是1个32位的权重。
那么然后呢对这种权重呢进行聚类,然后呢去设做一个codebook。那么对于原来32位的权重呢,每一个可以在coded book里边去查查找它的对应的code。那么一共有256种code。
所以我们存的时候呢,那么就不再去存原始的权重,而只要去存0到20255之间这个代码。这样的话呢,我们就把32位的这个权重呢变成了一个8位。
啊,那么我们可以同时使用减质和量化的方法。那我们在实验当中呢,实际上是把这个模型可以压缩到原来的8分之1,而这个精度还可以维持不变。OK那么在实际当中呢呃如果没有特殊的硬件支持。
那么压缩模型呢并不能显著的降低运行的时间。因为在手机上面我们支持的还是传统的卷积,它不能直接去运行运行这种压缩后的模型。那么模型呢还是需要去解压缩到原始的结构。那么另外一方面呢。
那目前我们看到有些特殊设计的芯片已经可以去直接的去运行压缩后的模型。这样的话可以更高效一些。那么在实际产品当中呢,我们是使用这种可贝wo的框架。呃,可贝wo呢实际上是是贾迎清。
他在这个呃加入facebook之后呢,那么他带领团队去搭建了一个新的深度学习框架,专门去针对呃移动平台进行了优化。那么在手机端呢,它整个的这种可代码的这种安装包是小一兆。所以说就是非常非常简练。
非常呃精干的一种框架。么现在手机上呢,它同时提供的CPUGPU和DSP啊,我们的模型呢可以选择在CPU或者在GPU或者在DSP上面去运行。
那这里边呢我们可以也做了一些比较,就是在CPU上边啊,我们可以用Npack。那么在GPU上边呢,如果是呃iphone手机或者IOS上边。
我们需要用的是这种apple它所提供的这种深度学习库叫做metal。那如果是在这种呃在snapdragon,也就是在高通的这种芯片上呢。
那我们用的是这种叫呃SNP snappy这样就是高通它官方提供的这种卷机呃这种这种模型。那么。呃,这里边我们会呃就是做这里边我们做了一些实验。呃,就是如果说我们在手机上使用DSP的话。
那么它的能耗其实是非常非常低的,非常适合长时间的去做这种神经网络模型的这种呃,就是比如说监控啊或者是呃做预测。
那下面我会呃显示两个例子,那么一个例子呢是这种在手机上可以做实时的这个呃图片风格的转换。那这里所用的方法呢我就大概跳过了。嗯,这里边主要方法呢是justin在2016年啊。
他呃他一篇paper当中描述的方法就使用的是image transform net。那justin呢是李飞菲在呃在斯坦福带的博士生O那这个我们把这个justing这套方法呢。
在呃做了模型要呃做了模型的各种模型的优化,以及这个底层的工程的优化。那么把它跑在手机上。那么这个呢就是呃这个实际上在手机上跑的效果。
啊,这个输入图片是720P的那我们这里可以做到一个接近实时的一个风格变换。那我们呃这里边还有呃我再给大家看第二第二个例子呢,就是我们在手机上如何去做实时的一个姿态检测。那么对于人体姿态来讲。
这也就呃这也是一个非常受关注的问题。因为它有很多不同的应用场景。那我们描述人体姿态的话呢,可以用这种它的特征点的位置。比如说眼睛中心的位置啊,或者肩膀中心或者是手肘手腕的位置。
那么我们通过一系列特征点可以去描述出这个人体姿态的轮廓是什么样。那这里边呢为了做姿态检测呢,我们使用的是这种呃像何凯明在17年他提出来这种macarRCN的这种网络结构。
那macarRCN呢同样呃我这里很多伙伴应该非常熟悉他是ICC17年的最佳年度论文。那它是一个非常简洁通的框架,他可以同时实现这个物体的检测特征提取,还有物体和背景的分割。
OK所以我们具体的这个框架的话就跳过。
🎼那么这个是呃在手机上面实时去跑的结果。那这里我们是采用的是三星的S7galaxy S7。
🎼呃底层的话是通过snappy做的优化。
好,那么第三部分呢,我想给大家介绍内容呢,就是呃就是AI在这个教育行业的应用。OK那么这个呃主要是呃就是从去年我加入呃好未的AI lab之后呢,呃这里边呃很多团队伙伴的工作。
那么AI呢实际上在教育行业当中有非常非常多的应用。那么教育行业的核心痛点呢,就是啊本身优质和稀缺的教育资源,是就是和优质的教育资源其实是非常非常稀缺的。
那么我们可以通过把AI技术应用到这种传统的教育场景当中去提升效率,去提高教学的效果。那么从AI技术来讲呢,我们可以把计算机视觉的技术,包括人脸的分析,包括人体姿态动作的分析。
包括手势以及像OCR做自动判题自动阅卷啊等等等等。那么对于语音来讲呢,我们可以做语音的识别啊,那么可以做这种在机器础上可以做绘画的系统。那么可以做语音的评测。
尤其呢比如说可以用来去帮助我们非非英语母语的这种学生去锻炼锻炼这种呃外语水平。那么同时还可以做语音的合成。那么还有呢就是像NLP自然语言处理方向,我们可以做语义的理解,可以做这种呃作文的自动阅卷。
自动自自动评分。然后其他呢还有像这种数据挖掘的方向。那么有了数据挖掘之后呢,我们可以做一些更好的自动化教学,那帮助学生呢去呃推荐一些更适合他的一些课程,呃,设计一些更适合他的一些练习等等等等。Okay。
那么我们这里边在CV上面呢要做的工作呢,就是想把AI技术融入到传统的这种课堂互动当中。那么去重新去定义这个课堂的40分钟。那么通过把AI技术融入到课堂当中呢,我们可以给每个学生一个个性化的专关注和互动。
并且呢可以去提供这种基于课堂教学过程的这种评测和反馈。那么真正把这种优质的教学资源去呃输出输出到每个教室。那这里边呢我们首先是啊在教室上面去这个布置摄像头。那么有了这个摄像头之后呢,跟老师相比。
那么老师呢同时只能关注少数的两三个学生。那如果一个教室里面有几十个学生,那么他实际上很难去同时关注到每一个人。但是呢我们可以通过摄像头可以把计算机视觉的方法,那布布置到教室里边。
那这样的话我们可以关注到每一个人看到每一个人的反馈,并且把这种反馈呢实时提供给老师。那这里呢也是我们可以去做各种关于人脸的分析,表情的分析,关于姿态行为分析等等。那同时呢我们可以通过麦克风的形式。
那么让这个教室里边呢去有100双耳朵。那么有了耳朵之后呢,实际上我们可以去呃可以去使用AI的技术,包括ASR的技术,包括语音情感,包括自然语言理解等技术,把它呢都应用到教室里边。
那么这里呢我呃先播放一个例子。好,同学们,你发现呢一般的数据已经填上去了是吧?那接下来呢调查一下我们班的情况啊,请问有多少同学喜欢喝矿泉水呢?😊,哎,好啦,哎,人数不是很多。
那接下来问一问有多少同学喜欢喝果汁呢?😊,哇,这个同学好像很多啊,几乎全都举手了,是不是?好了,来老师数了一下啊,发现差不多应该有15个人。让我听一下啊,15。😊,嗯,好,那么这个例子当中呢。
呃其实大家可以看到了,呃,这里我们做了这种姿呃人体的骨骼点检测和姿态的检测。那么可以通过人体的骨骼点呢,可以检测到学生举手的动作。那这里呢我们就可以统计出来有多少学生在举手,有多少同学没有再举手。
那么这这是其中呃一种信号可以给老师提供一种定量的反馈。好,同学们O那么除了刚才像举手的这种检测或者是动作检测之外呢,那我们还可以针对这种教学场景去提供各种各样维度的信号,做全方位的评估。
那比如说像这种学生的专注度啊、愉悦度啊,他回答老师的这种问题的次数,还有这种课程呃课程的亮点等等等等。那么另外一个例子呢,就是呃这里边就是呃呃刚刚我们其实也看了,这是举手检测。那么对于举手检测来讲呢。
我们可以通过不同的方式去做。那么一种呢是通过这种呃骨骼点关键节点的检测。那么这种检测方式呢,其实我们可以看到呃,因为人因为教室当中比较特殊的地方,就是学生之间学生会做的比较密集。
所以很可能一个人在举手的时候呢,我们会把它误判成另外一个学生在举手。那么也就是这样一个模型本身呢,它的这个呃精度和召回也是有一定限制。那么所以呢我们采用了一种混合模型。就是一方面呢,我们使用了。呃。
使用了谷歌点模型。而另外另外一方面呢,我们使用了基于区域的这种判别模型。当我们把两个模型做融合之后呢,其实可以得到更好的这个谷歌点检测的效果。
O。呃,那么另外一个例子呢,就是我们去通过呃OCR的方法呢去做这种试卷,或者是做这种练习册的自动评分。那这里边呢除了传统的OCR,我们要去做这种文本的检测,文本定位和识别之外呢。
这里边还需要去做一些呃版面的分析啊,以及最后判级策略的分析等等。
那这这整个过程呢,就是当我们输入一张图片之后,那么首先呢我们要去做这种图像的预处理,去把它矫正过来。而同时呢去通过预呃这种二值化的方式呢去进一步的去去除掉图片当中的这种其他不相关的信息。
而后边呢我们去做的就是文本的检测,然后去做版面的分析。那么最后呢去做一个判题策略去判断这个学生哪些题是正确的,哪些题是错误的那这里边的难点呢就在于实际上我们在真正看练习册当中会看到很多很多种不同的题型。
那比如说他可能是一个口算题啊,比如说一加一等于2。那这种的话呢,其实非常容易进行判断的。但是呢学生在练习册上面,他可能写的是竖式,可能是脱式计算,有可能是方程公式,各种等等等等。
所以这里边的这个版面分析和这个最后判题策略如何设计。其实这是一个呃这是一个难点。
OK那么呃后边呢就是呃这个我想呃简单回顾一下之前给大家介绍的内容。呃,首先呢就是呃就是最近这些年呢随着这个深度学习和这个卷积网络的发展,实际上在很多跟图像相关的这个领域呢,都得到一个长足的进步。
那么在工业界当中呢,我们现在主要做的呢是叫做application drivenve research,就是我们从实际应用出发。那么根据实际应用场景呢,去看我们需要去做哪些研究工作。那么工业界当中呢。
他去喜欢的算法和学术的界当中实际上还有一些不一样的地方。那工业界当中它所去喜欢的呃就是说比较好的一些算法呢,实际上他想需要做到这样几点。那么首先呢就是simple和 effectiveffect。
就是这个算法呢,其实呃常常来讲是比较简单,而且呢比较有效的方法是一个比较好的方法。如果一个算法本身过于复杂。那么它的参数过多。那么这个时候呢也就意味着它的整个的影响或者是比较有限的。
那么同时呢我们还希望这个算法本身。它是足够的灵活,并且呢是scalable。也就是说它可以进行大规模处理。也就是一种算法,如果说它不够灵活,或者说这个算法虽然精度高,但是它的计算链开销量太大。
那么它就没办法进行大规模部署。那么这样的一些算法呢也比较难于在工业协当中应用。那么从这个具体从学术研究,从从写paper到这个在工业界当中呢去做产品,这里面其实还有很多很多不同的问题呃。
就是还有很多很多很难的问题,需要在工业界当中需要去考虑,需要去解决的。而这里边呢,就包括了我们之前介绍到的,怎么在做一个大规模的后台服务,以及呢怎么在手机上面去跑一些高效的这些CN的模型。
啊,那么最后呢就是允许我这个一分钟时间打一个广告啊,就是呃目前呢我是在好未来的AIla做算法科学家的工作。那么好未来呢是呃目前国内是呃是目前呢国内市值最高的教育集团,那么它是在纽约证交所上市。
那我看看了一下,他今天的市值呢是170亿美金啊,所以可以说它是这个国国内规模最大的这种教育集团之一了。那么它有33万呃3万以上的员工,那么有这个4万450万的线下的学员和3600万的线上学员。
那么好未来本身作为教育集团来讲呢,线下有很多子品牌,包括学而思,包括力部,包括这个摩比啊考满分等等等等。那么好未来本身呢它是一个非常非常重视技术的公司。呃,本身它的文化呢是通过技术去推动教育进步。
那么整个的后台研发人员呢超过了5000人。那么AI lab所以呃基于这个技术来讲呢,我们在去年也成立了在前年成立了AIla在17年夏天的时候,那么成立了一年半来一年半以呃这个时间来呢。
我们已经构建了1个100多人的一个研发。😊,团队,那么在图像啊、语音啊、LLP数据等方向都呃在推动AI在教育领域的落地。
OK啊,那么继续1页PPT广告。就是目前的话呢啊好来AI lab还有很多这种代招的职位,包括科学家,包括工程师、项目经理运营等等。那如果大家对我们感兴趣的话呢,呃欢迎大家扫描这个图片左边的二维码。啊。
那么以上呢就是我的分享啊,非常感谢谢谢大家。😊。
人工智能—计算机视觉CV公开课(七月在线出品) - P4:计算机视觉漫谈 - 七月在线-julyedu - BV17z4y167dq
。
微信用户442447,我们是老朋友了。好,大家好,呃,我是CV庞老师。今天主要想跟大家聊一下是有关计算机视觉的一些事情。
那么今天我我们主要会呃聊一下三个话题。第一个话题是目标检测。第二个话题是关键点检测。第三个话题是开狗的竞赛。好,那么我们先从第一个话题来聊吧。
目标检测呃,英文名叫object detection。呃,有些同学总反映这个屏幕有时一直偏黑。呃,我不知道大家用是电脑还是手机看的啊,要不大家试试电脑。好,我们先调一下目标检测。
每次聊这个目标检测呢,我们总会先从目标识别来开始聊。呃,为什么非要从目标识别开始聊呢?呃,因为我们通常会把目标识别所使用的卷积神经网络,当然会是各式各样的卷积神经网络,作为目标检测的基础网络。
他的目的是做一件事情,就是说我们希望在通过目标识别的基础上来找到很多大量的图像当中所拥有的特征,英文叫featuresO。那么目标识别呢,我们一般来说。目识别一般来说呃,它主要做一个分类问题。
比如说我现在有三张图像,第一张图像是宝宝,第二张图像是山猫,第三只那第三张图像是狗okK那么图像经过一个卷积神经网络,那么它会告诉我这张图像里面有什么?okK那么有什么这个问题呢?
就是说哎比如说是不是猫是不是狗是不是小孩,那么这个统称为一个叫分类问题。
O。那么呃对于目标检测来说呢,我们除了想知道这个分类问题,我们还想知道另外一个。所对的目标在哪里?我们就话说说就是一个定位问题。比方说这张图像,这张图像当中有一只狗和一只小孩儿。好。
那么对于目标1别来说,它的输出只会告诉我狗与小孩儿。对于目标检测来说呢,除了仅仅呃所知道的主题,那么我们还希望知道狗在哪里,小孩在哪里。那么我们用两个。呃,矩形框来将其圈出。
同时给出相应的呃这个主题的名字。那么这个就是目标检测所解决的问题。好。
那么话说到目标检测上面,我们看一下它具体的一个呃大概过程吧。比如说我这有一张照相。OK这张照相的主体呢。嗯,这张照相的主体呢,它是一只呃小狗。那么对于目标识别来说,我们会经过一些卷积层,石化层。
包括全连接层。OK一直到最后的输出,比如说我这里的输出呃,哎我有四类。大家对于目标识别来说,我们是没有最后一类的,最后一类是背景OK那么我们有假如说现在我们有四类。而某一类的值非常的高。
那么这个值就代表概率值就是呃出现对应这条类的概率值的非常的高。OK比如说我们这儿那个狗的概率值非常高。那么我们就默认好。那么对于这张图像来说,它的主体是狗,这个就是目标识别。对于目标检测来说。
我们希望加一个定位问题。好,我们用一个矩形框来进行定位。那么如何定义这个矩形框呢?通常来说,我们会用四个值来定义,分别是BXYW和H。B代表的意思很好理解。funding box。
OK把ning box直移过来,就是将其呃围起来的一个框。那么其实就是我们用的矩形框。OKXOY对应的是中心点的位置,就是矩形框中心点的位置,中心点就是最角线的交点。W和H分别对应的是宽和高。
那么通过这四个数据,中心点的位置,中心点的坐标和矩形框的宽于高。那么我们就可以精准的定义出这个矩形框到底在哪里。那么好,那么如何在这个目标分类目标识别就是分类问题的基础上来把矩形框来抽出来呢。
比如说我们在最后几层,我们抽一个分支,那么这个分支它所预测的值,那么就是四个值就是它的输出值就是对应的4个值。同时,我们的Y。Y就是我们最后的输出值O输出值。如果对于目标识别来说。
它仅仅是分类问题来说呢,我们Y可能只有三个值,就是最后的C1C2C3对应的分别是哪一个类。OK那么如果说这个是目标检测问题呢?我们所看到的这个地方我们会有8个值。第一个值PC。
PC的意思是代表这个地方是否有我们想要的这个主题。okK其实说白了对应的就是那个background背景。如果PCV一,那么代表呃我们这个地方呢呃应该是有我们所我们所感兴趣的东西,但具体是什么。
不知道我们只知道哦O有感兴趣的去的东西,意味着它不是背景。好。紧接下来跟着四个值,就分别是我们刚才提到的bonning box的呃用于定位的这4个值BXYW和H。再往下C1C2和C3。
这三个值那么就分别对应着是哪一个类?OK就是呃前一步目标是有哪一个类。比如说如果说PC等于1okK那么我们就知道呃,在这个这块呢应该是由我们所感兴趣的东西,它不是背景。那么我们看到C一等于一。哦。
那那个时候我们就明白啊,在这个地方呢C一呃是就是这个这块是C一这个类。我们去查一下C一对应的什么。比如C一对应的狗,那么我们就知道这个类,然后通过BXYW和H,我们就可以精准的定位到狗所在的位置。
假如说。PC等于0,那么代表这块是背景。那么对于PC是呃下面的那所有的那些值,我们就不再关心了。ok我们完全不关心,反正你这也是微姐,你是啥,我们不careOK呃,好,我们现在重新捋一下。
我们现在呢对于目标检测来说,我们有一个输入,这个输入当然就是一张图像了。同时我们对应的一个输出。ok对应的一个输出输出呢就是我们所用的Y。那么我们大家都很清楚,其实做深度学习。
我们无非就是想找到一个就是我们在我们的网络上想找到这些对应的参数,使得用这些对应的参数所得到的输出Y。来无限的接近于我们的光tro,我们的真实的值。OK这个是它的一个核心思想。就是我们做这个深度学习。
你不管是哪个领域的,不管是关节点检测、目标目标检测,包括呃视觉追踪等等,它都是一个核心思想。好,那么我们。先来构建一下他的。损失函数。OK随失函数。比方说你看L就代表着los function的los。
O就是随失函数这个呃这个函数的定义。那么我们现在有两个,一个是Y,上面画一个三角,就是向上的三角,我们叫Y hat。另外一个是一个YOK那么我们把。呃,我们可以把这个Y hat。
OK我们可以把外head当做是ground truth。ground truth的意思就是值意外要真实值。就是说我们在这个训练网络之前,我们会人工的做一些标记。比如说我们会人工的把这个狗来圈出来。
那么用这些真实值作为对比。减真实值与我们所做出来的预测值Y预测值就预测值的意思就是说我们网络直接输出的这个值OK那么我们用这两个值的差来代表你和函呃这个损失函数。我们的目的就是最小化这个损失函数。
换通俗点来说,就是说想要我们网络的输出与我们之前人工所标注的这个越接近越好。那么好,我们看一下具体的含义吧。当这个PC等于零的时候,意味着我们所处的这个区域,它是个背景。那么下面的是什么值。
我们一点都不关心,那反正也是背景。那么这个时候我们只需要呃校正PC这个类和PC hatt这个类的差的平方即可。如果说PC等于一的话。那么就意味着此处是由我们所感兴趣的物体。
那么我们就需要校正PC下面所有的值。那么呃最简单的方法呢就是把这个呃所有值我们进行这个插在求求平方和。OK那么这个呢就是目标检测它所。的一个最基本的思想。好。那么比方说我们现在这张图像。
我们想检测是不是狗,那么其实我们就可以用一个寄训框来进行划窗。OK那么这个呢就是一个最简单的,我们可以把它叫做呃狗狗检测器。那么现在就有一个问题。当我就用一个矩型框进行划窗之后。
那么其实可能在这个狗狗这个附近,我会有很多很多的矩型框都将这个狗狗框住了。那么最后我们需要选择哪一个呢?所以我们通常会有一个概念叫做IOU。OK引入一个再角呃,引入一个概念叫做IOU。
Inter over unit。那么。这个值就是我们对应的每一个矩型框,它都会有呃不同不样,就是不一样的IOU值。我们只需要找到最大的IOU值即可。那么同学肯定想问嗯,IOU的具体的样子是什么呢?
我们看一下。嗯,在这儿呢我们有两个框,绿色的框,就是我们训练之前人工所标注的框,你就叫做真实的框。红色的框呢就是我们这个网络所输出的,在某一时刻所输出的一个矩型框,就是我们的预测框预测值。
那么IOU的意思就是说呃,它等于他们这两个框的交集,除以它们的并级,通俗的或者是直观上来理解呢,其实就是我们这个红色的预测框与预测的真实框,他们所覆盖的面积越大越好。O他们所覆盖越面积越大越好。
这样的话也就是说这两个框会无限的接近。OK比如说无限的接近。那么我们最后只需要在这众多的框里面找出这个最接近的那个框即可。我会找出这个最接近的矿机壳。呃,那么到现在为止呢。
大家其实已经了解了呃目标检测大家是做什么的和大家的一个最基本的核心思想。那么我们先看一下,就是我们在往下走之前,我们先看一下一个目标检测的实例。
🎼这个目标检测是UloV4。
🎼。
🎼The。
🎼The。
🎼The。
🎼The。🎼OK呃,给大家稍微放了一个一分钟的一个小视频。那么这个小视频呢大家就可以呃稍微的了解了一下这个目标检测的一个实例。那么呃肯定有会有朋学问。那么我这个实例也看到了。
那么目标检测主要能有哪些应用呢,或者是它能做什么呢?那么我们看一个最基本的,也是我们就是通常学目标检测的时候,会呃自己手写一个的一个最基本小训练,就是车牌识别。
车牌识别在这个。呃,就是技术的应用当中已经是非常非常成熟了。而且在咱们国内的那个基本上每个小区呃,它呃绝大部分它都会应用了这个车牌识别。那么它是怎么做呢?那么首先我们需要用一个摄像头来捕捉到这个车辆。
同时需要精准的定位出你这个车牌所在的位置及车牌,你车牌上面所显显示的数字和字母。OK那么这个就是一个最简最基本最简单的一个应用。通过这个车牌识别呢,我们可以呃做很多事情,比如说。呃。
首先呢我们可以做这个呃定位自己的车辆,对吧?那么第二是哎我们可以通过这个车辆车牌号的识别呢,我们是不是又可以就是检测这个车流量就等等。那么我们再看这个图。那么呃目目标目标检测其实有一个非常广的应用。
就是无人驾驶。
okK我无人驾驶。我们可以看,比如说。在这个无人驾驶当中,如果我们在车辆的前方有一个上头,我们是可以知道我们车辆前方的一切的车况。比如说我前面我的车辆与我前方最接近就是最近的一个车辆,我们的距离是多少?
如果说我们的车距过境。那么呃系统就需要发出自动报警,同时帮我减速。okK如果说我的车距是大于呃大于一个就是安全值,那么可一切OK。又或者说。在我这个车辆自动行驶的过程当中。
突然有行人闯入ok突然有行人闯入。那么这个时候车辆就会需要提醒,前方有行人,请立即减速,然后同时帮我做一下这个减速的这个动作,就是等等。呃,一包括比如说我们在这个呃高速上,我们需要检测这个车流。
O检测这个车流,那么这些都是一个目标识别,目标检测的一个很广泛的应用。OK我们也可以在这个摄像头,就是我们把摄像头安装在这个呃道路的两侧。OK去检测人流量,或者是进行逃犯追踪等等。
呃,当我们嗯在一个很陌生的地方旅游,那么如果我们说看到一个很标志的建筑物,嗯,可能我们不知道我们这个建筑物,它的这个具体的这个比如说它有什么特殊的意义呀。而且我们旁边假如说没有导游的话。
这个时候我们可以掏出手机拍一张照片,同时把照片传送到网上。那么照片就会直接在你的这个就是你所拍摄的照片当中挑选出这个主体建筑,然后搜索相应的这个建筑的页面来就是告诉我们你在哪里建筑有什么特殊的故事等等。
OK。
呃,目标检测还有一个非常广泛的应用呢,就是在工业上。呃,像我们这个图中所显示的就是右上角显示的这个呃配送车。配送车呃,在这次就是抗疫当中有着非常嗯显著的应用。就比如说在这个呃。在医院。
如果说我们得到了就是被检测者的血液,或者是患者的血液血液样本。然后如果说我们是。让我们的医护人员直接用手去抓。同时在亲自运送的时候,那么这个时候其实它是有一定的感染几率的。
ok因为这个是呃呃这个细菌的传染性特别强或者病毒的传染性特别强。那么这个时候我们的配送车就可以代替我们的人,我们的医护人员做这个非常危险的事情。OK大家注意啊。
这个配送车不是说我们说拿一个遥控器来控制它进行行走。而我们的配送车首先它是一个呃特种车辆,它需要做到一个恒温恒湿,同时可调节温度的恒温恒湿。然后当我们拥有我们这个。呃,学就是被检测的血液样本的时候。
它可以自主的进行这个路线的选择,然后将被检测这个样本从某一地,然后运送到我们的最后的这个实验室。那么期间,如果说遇到走廊里有认识有人或者是有其他障碍物的时候,它需要自动避让。
而且自动规划出你的行进路线等等。还有一个非常典型的应用,就是嗯比方说那个无人酒店O无人酒店里面呢包括那个送餐车,它也是一个非常经典的应用。当然对于这个工厂来说,它最大的应用就是呃机械臂。
那么机械臂对这个目标的抓取,它的前一步就是需要非常精准的定位。要知道这个,比如说我们传送带呢,它是它不可能走一下停一下,那这个效率会非常的低,它会有匀速的一直前进。
那么机械臂当他看到的时候做出决定的时候,和他手伸出去的时候,其实这个是有一个时间差的。那么机械臂就需要。它不停的实时准确的定位出我们所这个目标在这个床在上的位置。OK就是等等。这些就是应用嘛。
包括这个机器机器狗大赛,机器狗呢需要准确的判断出我的球所在的位置,同时要判断出我面前的这些其他机械狗是低是有。
呃,目标检测的另外一个很广泛的应用呢就是这个图像就是医疗上在医疗上它需要定位出这个我们所疑似的区域来为这个医呃为医生呃就是提供帮助等等。
呃,自从2013年RCN提出之后,目标检测其实已经得到了非常十足的发展。如果我们看7年前的那个RCN。你如果你看它的那个效果,同时你对比我们现在最最新出现的优乐V4的时候。
基本上我感觉你会发现嗯他们真的是天差地别。好,那么呃聊完这些最基本或者是最。呃,最通俗的一些关于目标检测的事情。那么这个时候我们想看一下目标检测的算法,它到底有哪些,或者是呃它有哪些主要的流派呢?呃。
在今天呢我给大家分了两个流派,一个是毛框派,就是说它是否用到安可,用到毛框。
呃,或者是另外一种纽派,就是说哎我不用anor了,我叫它工作叫anor free。
我们具体的看一下,第一,毛光派O。呃,说到毛框派呢,其实呃毛框派是目前就是比较主流的一个分支。呃,毛框派在以前我们通常会把它叫做呃就是有两个新的就或者子的分支,一个叫做one stage。
一个叫做tto stage。通换句话来说,玩幻派它会又分成你这个网络是一步走还是两步走来完成你的检测。我们先入两步走。
两个不同呢,比如说RCN系列算法,像什么老早以前的fasterfaster啊CN又或者是后来的呃maRCNmaster scoringingRCN等等。那么他们的方法永远是。
首先我用一个呃最基本的骨干网络,比如说各种各样的CNN我来进行特征提取。当我提取好这些特征之后呢,我们就开始分两步图分成两个tage了。首首先第一个stage就是要提出。呃。
就是要提出这个呃一个叫proposal,就或者英文翻译过来叫做候选区域。所谓的候选区域就是说在这些区域上面疑似有相应的物体,注意是疑似,有相应的物体。那么我的下一个stage。
就是说我把这些疑似的候选区域,我传过来,然后在疑似的候选区域上面,我做一些比较精准的呃就是研究里面到底有没有物体,或者到底有没有目标,同时它的目标是有哪些。那么这个就是tool stage。
另外一个是one stage。比如说SSD,比如说优lo,他们的想法就是说。我在你这个提取好的特征上面,我进行均匀的不同位置的密集抽样。当抽样的时候,我们可以选择。就是这个不同尺度的长宽比。
然后我再利用CNN体取的特征后,直接进行分类与回归。这个过程只需要一步,因为它不需要再找什么,就是这个候选的感兴趣区域。okK所以它的优势跟tto stage来相比,它的速度是非常快的OK。呃。
我们在这儿用一个macarCN来给大家进行一个举举呃就是详细的呃就是说明说明一下什么是毛框。呃,为什么用我maCN给大家进行解释呢?呃,当然我们现在已经有很多很多其他的网络,就是toc的网络。
因为maCN呢它的应用是非常广泛的,它不单单是用在目标检测当中,它也会用在实力分割,它也会用在关键点检测当中。呃,而且maCN由于它的性能是比较稳定,所以它也会应用在其他各种各样的行业当中。呃。
我们在这儿,比如说如果说mus斯car和CN我们用来找人的话,就是以找人来做举例。那么他会先。找人找出人所在的位置,同时他会做一个实力分割。musRCN它是基于这个fasterRCN的基础上。
我们可以看一下这两张图像的对比,左图是fa呃fasterRCN右图是musaskRCN。那么它最显著的一个区别就是。CN比法斯达CN多一个框,OK多一个分支。那么这个分支它主要做的就是。呃。
实力分割OK当呃这个马斯达森还有其他就是对比巴斯达森生级的地方。嗯,比如说它有1个ROIal layerok在这我们就不再赘述了。呃,对于这个损失函数来说呢,呃,由于fasterN它只有两个分支。
就是两个输出。那么所以它会有两个损失。那么但是对于maN来说,由于它多出来了一个,所以它就会再多出来一个lo maskO来我们具体看一下这个maRCN它的这个呃骨价的就是详细的作用吧。
比如说我们从下往上看,最下面是一张图像被检测的图像,首先它会经过一个呃检测就是呃骨干网络,比如说我们可以进行对它进行磨改,你可以用最老早之前的什么VGG呃1619。
你也可以用残渣网络呃renet501011等等。当然你也可以选取dancenet又或者是你在选取CP net CSP net它其实严格意义。讲它并不是一个net,而它是一个思想。这个在我们的这个。
目标检测实战课上面我们已经给它进行了提及。比如说我们可以改成CSPdnet53等等。那么他们不管你用哪一种网络,我们所做的,其实无外乎有一件事情就是对图像做一个特征提取。那么在这儿我想跟大家说一个就是。
呃,首先呃我想给大家提一个叫FPN的一个网络,就是这个特征金字塔网络。会有有有的人把它叫做藏期金字塔网络都可以。首先我有一张图像,我们对它进行就是卷积的就是一个作用的时候,随着我们的卷积的层数增加。
它的高级的语域信息也越来越丰富。但是它会也会带来一个问题,就是说你的分辨率会随之降低。那么当你分辨率降低,比如说在最上层分辨率特别低的时候,就会导致一个一个非常严重的一个问题。
或它会忽略小物体的一些信息。所以说如果我们仅仅在顶层提取特征,并且进行目标预测的时候,呃,虽然在最顶层的时候,高级雨义也非常多,但是会使得预测效果不好,因为它忽略掉了小物体的检测。
所以说FPN他所做的事情就是说哎我可以在这个不同的物体上面,我进行呃不同的层级上面我进行物物体的检测。那么对应的是大物体,中物体或小物体来进行检测,这个就是FPN的思想。当然了。
现在FPN它已经不是就是一个最新的或者是效果最好的了。之后又出现了P呃PAN。PN也是在那个优乐V4上面所采用的。呃,我们在我们的这个实战课程,就是目标检测实战课程当中呢给大家进行了介绍。
感兴趣的同学可以就是到我们的官网搜索一下呃,目标检测CV实战课呃,从ma斯卡CN到优乐V4全部一网打尽。我们在那个里面会给大家做一个呃最详尽的一个介绍。OK。呃,经过masRCN的第一步之后。
我们来到了它的第二部分。第二部分就是我们所谓的呃RPN。就是所谓的我们有一个stage,我们来提取一些感兴趣的一致的不选区域。呃,在这儿我们就需要给大家引出来这个是什么是anor,这是为什么?呃。
为什么我们把它叫做毛光派?我们看一下,对于某一个点,我们可以用很多不同大小的这些。呃,不同的好的这些就是boning box了,我来进行检测。那么大家可以看到我们现在就有个最基本的问题。
我们用什么样子的这个呃就是bonuning box来进行检测呢?对应着一个图像,比如我想检测张翼。那么这个时候我们已经画出了很多不同形状的bonning box。O。
那么哪些是哪些就是怎么样的boning box最好的呢?我们不能说把所有的呃就是不同大小,不同样式的这个boning box全部检测一遍。那么这样做的话,理论上是可行的。但实际上来说。
你这样做的意义非常非常的小。为什么我们没有那么多时间来炫荡?因为我们需要有一个实质性。那么在此我们就引出了我们的毛荒。OK我们可以在训练之前,我们先预定一些曝光。比如说你可以定它的这个比例。
我们的比例就是说它的宽除以高的比例。如果说你是0。5的话,这个比例是0。5的话,那么它就是一个瘦长的矩型。如果宽和高的比例是1比1的话,那么它对应的就是一个正方形。如果是二的话。
它就是一个横向的呃这个矩形。那么通过比例来说,我们就可以得出这个呃毛框的一个大概的形状。同时我们也可以预定义一些它的scalekill,就是它的大小。OK比如说我们可以定义出32个P像素。
64个像素或者是256像素等等。呃,然后通过比例和基本的这个宽度或者是大小,那么我们就可以比较准确的做出了一个3乘3等于9个毛框的,就是预定义毛框。O预定义毛框。同时我们如果说给出这个。
某些值我们就可以把这个预定义好的毛框来准确的定位到图像当中。OK那么一般来说定义这个毛框呢,它有两种样式。第一种样式,比如说我定义左上角,或者是右下角okK这是一个方式。通过左上角和右下角。
我们就可以准确的画出这个矩形框,又或者是还有之间的老方法,我们定义出中心,同时定义出这个毛框的框和高,那么我们就可以找出来这个呃毛框的具体位置。那么有些同学肯定会想问,哎,我这些预定义好的毛框。
那么它毕竟不是我最后的这个真实呃就是真实的这个光柱子这个框。我们可以回忆一下之前有一张图,我们找那个张毅。那么他的这个呃由于他是就是这个人呢,他是一个瘦长型的,同时我无法保证这个瘦长型的这个框。
他就是0。5的比例。那么我们怎么做呢?那么其实在这个。呃,在这个呃定义项来说,比如说我们现在找这个。呃,我们现在找这个RPN,它的最上面的输出,就是我通过这个毛框的帮忙呢,呃我们在图像当中的某一个像素。
我们找一个毛框。然后我最后输出有两个,一个叫做分类,这个很好理解。这个分类就是找哎我这个呃框所框住的对象,我到底是他就是大概是个什么样子。注意这个分类我不进行做一个很细微的分类,很细微的分类。
就是意思就是说我需要找出这个目标到底属于哪一类,是人是狗是机器等等。但是在这个地方,我们不做这个分类,我们只做是不是有没有东西或者是是不是背景ok所以说这个分类。
我们可以有比如说假如说你是有做了1000个框。那么这个时候你就有2000个分类,O是背景,不是背景。那么同时我们还会有第二个呃输出。这个我们做的是看比如说4K可那他做的就是回归O为什么说他做的回归呢?
我们的目的是。当我检测出这个毛框,呃,哎,比如说我这可能是有一次东西的时候,我们希望这个毛框对它进行一个变形,来使得让它就是更更精准的来跟这个我们真实的这个矩形框来进行一个匹配。
比如说我们可以把这个毛框。如果说它特别瘦,就是根据我真实的这个框特别瘦,我就让它变胖一点。如果它太胖了,我就让它窄一点,或者是呃太高后让它低一点太低,我让它高一点等等。我们进行对毛框的一个微调。
O那么通过这个毛在毛框上检测有没有这个物体,然后我们又通过对毛框进行微调,那么我们就可以得到我们最后的这个矩形框。呃。所以说我们做一个先做一个前背景区分,我们之后也可以再做一个这个回归。那么通过这两步。
我们就可以找到这个矩形框当中那个最好的那个呃是不是有东西。然后我们可以对我们这个呃矩形框呢做一个就是选取,比如说前6000个高分候选框,然后再配合起回归值。比如说我这儿有一个。图像是卡卡罗特呃。
旁着一个龙珠。那么我们先找到,比如说我们讲到了全6000个,同时呃我们想找出来最后。这个比如说我们这个紫色是我们真实的浅白色或是浅蓝色,是我们的预测出来的。我们希望对它进行一个微调,哎。
让它最后匹配上去。呃,如果说我们微调之后,我们还有很多很多的这个比如说高于这个IOU值的很多很多框。那么我们再做一个就是呃非极大值抑制来找到最优的那个最后的框。
那么整个这个流程就是基本上就是目标检测的流程。OK。
对于这个mas和CN来说呢,它还有一个分支。这个分支呢是做那个呃掩码分支。我们给大家看一下这个大概是什么样子。比如说maRCN嗯,现在就看大家看到的呃上面这个浅色的那个分支呢。
就是我们做的这个目标检测的这个分支。然后在下面的那一层呢,它是就是做掩码,比如说我们最后找到那个是28乘28乘以80,这个28乘以28,就是我最掩码的长和宽。那么最后乘以80。
它的呃原因是coco是有80个类,所以它这写了1个80,就是说我们需要预算多少个类,我们最后那个值就是多少。呃,说的细一点,什么是掩码呢?比方说我们找到这张图像,我们想看一下这个呃红色衣服。
就是背就是红色衣服背影的这个人他这块的掩码,我们看一下最后28乘28最后的一个输出。它呢是一个黑白色的一个图像,首先是像素级的图像。OK是1个28乘28的一个预测。我们通过这个黑色的这个像素。
我们就可以把人的这个轮廓就是大概就是圈出来。当然这个并不是我们最后想要的结果,我们会做一些软化。哎,我们使得我们这个看起来这个人的那个过度非常非常的均匀。O。
那么这个就是maskRCN他做的这个mask的分支,它的目的就是做实际分割,就是说找出来这个。我们所检测区域里面所这个所被检测物体的一个真实的轮廓ok。
呃,在这儿我想跟大家推荐就是两个课程,一个是呃CV就业的小班第五期。呃,这个课程呢我们现在就是刚刚开课,然后呃会有老师直接对就是每堂课对大家进行一个直播。然后我们我们所做的目标呢。
就是说手把手带着大家一起。搞完搞清楚理论的同时,然后把代码基础,夯实代码基础通过N个项目来进行一个一个的,就是领着大家把代码走完。目标就是帮大家找到一个很好的工作,所以叫就业班。
同时如果呃大家仅仅只对这个目标检测感兴趣的话,我向大家推荐这个重庆实战目标检测。那么这堂课程的在我们的第第二个阶段的第三堂课,我们会跟大家聊一下安克下面的主题网络会跟大家更细致的聊一下关于这个毛框。
我么这是这个毛框法进行检测。O。
同时也会跟大家聊一些就是里面的主流网络。
那么除了毛框法以外,还有一个分支,这个分支是最早出现在16年。它是我们它开创了aner free的方法。它的第一个就是叫做cor netO我们看一下,如果我们说不用毛光来进行辅助检测的话。
那么我们来怎么做呢?它其实做了一个关键点的定位检测,以cornet为例,最早图像于2016年,我们看它的图像,它只是找出在每项图像上找出左上角的点和右下角的点OK那么通过左上角和右下角的点。
我们就可以把这个呃。
呃,最后目标检测所所用到的曲形框来准确的定位出来,它不需要模框,它每次只是找两个角点OK。
我们可以看一下这两个焦点呃他这个想法呢,一个大概的这个流程。那么首先我们有有一张图像,在这个图像当中有两个滑雪站立的人,它通过一个contion net。
就是通过一个股架网络来提找出这个图像当中的一些特征。然后它会有两个分支。上面一个分支是找出左上角的拐点,下面这一它它呢是找出右下角的拐点。那么通过左上角右下角的拐点,它就可以精准的定位出来这个图像。
那么当我们仔细看的时候,我们可以看到它左上角呢会有两个东西,一个叫做hit maps热力图,另外一个叫做embeddingO我们一个一个给大家讲什么是热力图,什么是embeds。
首先我们知道什么是热力图,大家看一下,那么这个图呢就是一个关节点的热力图。
呃,比方说第二张图像是人的脖子,那么中间就是黄色,中间有太红的那个呢,就是这个呃人的脖子所出现的这个图像。那就凸现的位置。那么大家肯定想问,哎,为什么有不同的颜色呢?
那么我们用不同的颜色来代表该像素所在的位置,它这个是否有我们所感兴趣的,注意感兴的那个点所出现的概率值?当颜色越亮的时候,我们就认为呃该像素点所在的位置呢呃出现某一个点的概率的非常非常的高。
比如说红色是最亮的,那么红色的概率是非常高的。如果说变成蓝色的话,那么我们就基本上认为呃这些点像素点所处的位置。这个呃某一个点出现的概率基本上为0OK这个就是热力图。
除了热历图以外,第二个就是这个inbeddings,我们返回去,就是这个embeddingsembedding呢它的意思就是说它这个点所在这个位置的特征features就是就是点的特征。
只不过是它把它叫做了一个非常专业的才叫做embedding。那么这个时候我们就知道了。当我找到这里这些点的时候,比如说左上角的点。和右下角的点,那么我们只需要做一个两个点的匹配即可。
那么把这两个点匹配好之后,哎,它们是否属于同一个目标。如果是的话,那么我们就将它就是框起来。如果不是的话,我们就继续找是的那个点,O那么这个时候同学先想问,哎,它如何判断这个是还是不是呢?
ok那么它的其实想法很简单,我们不是有这个inbedding吗?inbedding是这个点的那个特征。那么如果你是同一个目标?那么你们这个inbodydding特征其实应该是非常近的。没错吧。
如果说你们分属于不同的目标,那么你们的特征肯定是非常远的。那么我就可以通过匹配这两个点的特征的这个差值,我们来定义出它是否应该属于同一个目标。这个就是corronnet的核心思想。OK核心思想。
比如说我先通过一个 glassnet work,这个也是一个CNO然后我们分别找出左上角和右下角的点。那么我们也可以看到这个对于这个点呢,我们它最后出来是三个东西,一个是he maps。
一个是inbedding。它最后一个还有一个叫offsetoffset呢,它这个其实就是一个修正。就它的目的就是说哎我找到这个点子之后,我需要和我的光兔s进行比较。然后如果点歪了的话。
我希望就是对它进行一个修正,这个就是offset作用。O。嗯。呃,在这儿的话呃,大家已经明白了corronnet就在2016年第一次出现这个aner free的时候,它的一个核心思想。
那么在这儿它会出现一个新的ping,指持化层叫做corner pullinging。corner pullinging的想法呢。也比较就是它设计的非常精妙。大家可以看一下这张图。
我们以这个上上面这一行就是那个左上角那个点来给大家举例。呃,这这个就是左上角的点,它的那个如何进行cor铺ok。对于第一组feature map呢。
它是对于每一行按照从右向左的顺序选择已经滑动的范围的最大值。大家可以想想为什么要从右向左。那么另外一个是我会从下往上进行滑动,来选择滑动范围的最大值,那为什么是从下往上呢?
我们大家可以想象这个左对于左上角的点,你找最左上角的点,一个是左一个是上,那么如何找左呢?从右往左滑,如果找上呢,从下往上滑,那么这个就是找左上角点的这个col pulling的这个想法。那么相反。
如果说对应的来说,如果你想找右下角的点,右和下找右的话,就是从左向右找下的话,就是从上向下滑,O它这个设计是非常巧妙的。这个是corner pulling的一个就是更详细的一个介绍。
比如说我们这个这个是找左上角点从左从右向左滑和从下往上滑。当找到滑动范围的最大值的时候,我们再进行相加,所得到的值就是corner pulling的这个最终的结果。O。呃,在201呃16年出现了。
出现了就是contronet在这个后之后。又出现了另外一个网络,也是比较一个经典的网络,叫sernnet。centernnet呢也是这个呃它的方法呢也是就是aner free,我不找毛光,我直接找点。
那么它跟cornet的一个区别呢,呃呃主要是它在cornet的基础上面,它不在仅仅找两个角点,我同时也需要找一个中心点。我们从算法名字上也可以找到什么是呃为什么叫sernnet呢?就是找它的这个中心点。
ok。呃。它的相同点是我都采用这个head map日历属来实现。OK损失函数也一样,但是呢我需要把中心点找到okK我们为什么这么做呢?我们可以看一下。
基于这个现在看到这个图像是corronnet的个结果。由于corronnet注意我只是找两个焦点,而且这两个焦点,因为它是叫焦点,所以它通常来说不会在这个物体的上面。OK那么当你不在物体的上面的时候。
那么你其实就会损失掉属于物体的那部分语信息。OK而且因为你是角点的话,所以这个会对于图像的边缘异常的敏感。OK异常的敏感。那么就会找到我们看这个左上角这个图本身。当中没有这个框。
但是他给我找出来一堆的框O一堆的框,就是因为你仅仅找焦点所导致的问题。那么sernnet他就提出来,当这种方法我如何去掉这些就是根本就就是找错这个矩形框呢,他的想法就是说哎我再找一个中心点。
比如说我某一个框找错了。然后如果我找出这个中心点,我先把这些你你所匹配好的这些角点,我先画一个框,然后我在框,你这个框当中呢,我选取一个中心区域,就是你正中心我选取个中心区域。
同时我预测出这个中心点的位置。假如说你找对的话,那么肯定我所找的center的这个位置,就应该落在我由两个角点所确定好的中心区域的位置上。OK只要在这个中心区域位置当中就行。假如说你找错了。
那么你这个呃我所预出来的center,我就不在我这个由角点对应的这个中心区域上面。那么就说明我这个框是错误的。大家可以看这个图像嗯这个码,我找出来一不是两个框,由于我的中心点在其中一个框的中心区域上。
那么我就认为这个框是正确的,我就可以删掉另外一个框,这个就是centernet的一个核心思想。okK。
那么sternet由于它找到了中心点,所以它在找角点的基础上,我同时找了一个center的这个呃分支。O就是我们所看到的这个区域。当然了,这个sernnet其实它是19年初的嘛。呃。
它现在其实也出现了一些新的改进。比如说呃3ryplnetok这等等。呃,在我们的这个呃目标检测。
就是丛林实战目标检测,我们会在这个有一堂课。第四堂课专门给大家讲一下这个center,就是其是专门讲一下,就是呃安科 free的一些方法。同时如果大家想对这个代码能力进行提高的话。
我建议大家就是看关注一下我们就业班第五期,呃,我们就业班跟实战班有个最显著的区别,就是就业班会更加专注于我们项目的代码的具体实现。老师会手把手的教你如何进行录代码,它的目的就是就业。呃。
如果仅仅想看一下理论的话,建议大家看一下这个呃关于那个实战重林实战目标检测。在第四课当中呢,我们会跟大家聊一下具体的安科 free的一些方法。O。
当讲完这个目标检测的时候,我们通常会跟大家聊一下这个关键点检测。为什么呢?其实最开始我们只是仅仅只有目标检测,只不过在后续的情况,后续的这个发展当中,我们已经不仅仅满足于找到目标。
我们还希望准确的定位出我们所找到目标的一些关键点,ok关键点。那么什么是关键点检测通俗来讲,就是找这些关键点。那么它可以分成四大类。比如说人体骨骼点检测human pose estimation。
嗯,第二个Fual landmark detection。呃,人脸的特征点检测。当然既然我能检测骨骼点,又能检测人脸,我是不是可以检测这个手的这个关节点?OK手的关节点。嗯,这些都是基于人的。
那么当然还有比较稍微呃相对来说是比较简单的,就是基于这个物体物体的关键点检测okK呃,在这儿我给大家聊一下前两个吧。
首先是人体骨骼碘检测,这个也是在关键点检测里面最大的一个分支,也是出现最早的一个分支。
人体的骨呃ho pose estimation,人体骨骼炎检测,它顾名思义就是说我在头像当中找出人体骨骼点所在的位置。O所在的位置。呃,比如说大家看到的这个。呃,首先是左图。
左图上面是cogo所定义的17个人体的骨骼点。呃,比如说人的脚踝、手腕、脖子、眼睛,呃,还有耳朵、嘴嘴巴或者是鼻子OK。呃,那么这些我通过定义这个人的这个谷骼点,然后我在我的视频当中。
我不停的找到这些谷骼点。通过它的变化,比如说它的位置的移动,我就可以明白人在这个呃图像当中,他到底在做什么。OK那么它其实也是已经是对那个目标检测一个更加细致的一个研究。OK关键点检测。呃。
当然你通俗意义上讲呢,关键点检测其实它就属于目标检测,只不过我的目标从一个物体来变成了一个点。OK对于人体骨骼炎来检测来说呢,它有两个分支,一个叫做top down,一个叫做botom up。
自顶向下,他的思想就是我先把人找到,然后我再去找点bo map,他的想法是反过来的,我不找人了,我先把点找到,然后再进行归纳哪些点属于同一个人,哪些点不属于同一个人,属于同一个人的,我把它连接起来。
这就是它的一个核心思想。我们先看一下top down吧。
先找人后找点。对于一个图像来说,我先把人框出来,然后我再把他身上的点连接起来啊,不是身上的点找到,最后我再把点进行连接,这就是top down的思想。
ok所以说它会有一个人体的目标检测器。不管你是用one stage还是two stage也好,它都会就是。把这个呃目标线索找到,大家注意到没?我这儿写的全是毛框派的方法,我。呃,我并没有写。呃。
我并没我并没有写这个aner free的方法。因为对于这个人体目标检测呢,呃你 anchorcur free,你你你去找一些关键的点。比如说脚点中心点,那么我也可以直接找就直接把这个谷歌的关键点找到。
我不去找你的这些呃就是所谓的这个角点和中心点了。所以说对于top down的方法来说,我们一般通常使用的还是毛毛框拜的方法。O。
呃,给大家再看一下这个muss考CN。😊,这个mCN呢,它其实就是不光我可以就是刚才给大家聊的呃,找人目标检测,同时我做一个实例分割,我还可以进行一个关键点检测。先给大家看一个它的实例。
有。どどら。で。有生的。🎼有一小走。🎼不り。🎼也是。Ice cold, Michelle, fight but at white coat。This was, but I'm good girls。
damn good girls, straight masterpiece。🎼打ling。Wm living it up in the city。
I duck so with saying wrong, gotta kiss myself, So pretty I'。
🎼Go the police and the fire made too high。😊,🎼Make a dragon wonna retire made a too high。
🎼せね you know whoア。B by that, break it down。🎼irl先 to哈luh girll先哈luh。😊,S in halllujah。
because outside phone don't give it to you。🎼我们自。Don't believe it, just watch。
🎼重复力也 just吧。OK相信大家已经看到了这个mus斯卡CEN在这个。😊,呃,在这个就是呃关键点检测上面的一个实力应用OK。
那么对于ma斯尔CN来说,他可以先找人再进行实力分割,再进行关键点检测。呃。呃,由于在之前我们就是上一节,我们已经给大家介绍了一下这个ma斯carRCN的一个大致的就是骨骼的这个。
就是每一块到底是做什么的。然后我们看一下,那么如何在实力分工的基础上做关联检测呢?它还是作用于最后那个。mask分支上啊,我们这张图已经大家有所了解了。那么大家可以看最后那个输出28乘28乘以80。
因为我们说过80的意思是在coco数据集上,它有80个类。ok那么注意对于我们的这个关键点进行检测。人拿coco的人体来说,它有17个关键点。那么也就是说我们把这个mask去掉。
我们改它改成key points。然后我们把80去掉,变成17。就是说我需要检测这17个类。所以说大家从这儿就可以看出来,你对应的这个17个类,也就是说对应你的17个点。
那么它的想法就是说我对每一个关键点进行一个类,就是一个分类,进行一个分类查找。OK所以说我可能出来17张图,最后把它合成在一张图上,那么合成出来的图,就是我们最这个关键点所在的位置图。好。
也就是说我们添加了这个呃key point head。然后我对每一个key point,我做一个就是掩码的预测OK然后最后我们就是找出它的空间位置。在这儿我想给大家提一下,就是这个关于这个。
掩码的这个就是就就就是就是这个呃这个预测。我们可以看一下,一般来说这个one one hot encoding。这直叫做一键编码。😡,那么一键编码来说,它可以就是怎么做呢?比如说我对于body下面。
我是head还是hand还是foot,我对于每一个值,假如说它是headd,那我们就给它写成100。只在hat上面有值,其他地方上为0,或者是hand,我们是010。如果是负的角呢,就是001。
这个就是onehou口点。当然呢,我们也可以把它用纯这种这种样式来写,就是把它扩扩出来,扩成3乘3的一个方式。那么只在对角线上有值,就代表着它对应的哪个值OK。这个就是大家所看到这个hiat map。
就是大家所看到hit map。😊,它是对于每一个关节点关或者关键点,我们找到啊它的这个一个热力图。这刚才也跟大家聊了,这个热力图呢就是这个某一个像素点。
它所对应的呃有是否存在关节关键点的一个最大的概率值O。当我找完这17个点的时候,17张热力图,我把它合成到一张图上。那么它就是最后我们所看到的这个样子。ok我们找到这些所有的图。
下一步呢就是将所有的观点进行连线。那么这个就是top down自顶向下的一个方法。除了这个分支以外。其实还有一个呃也是比较也是一个另外一个非常主流的分支,就是自底向上。哎,我们先找点后归纳。
比如说最经典的这个16年的open pose。大家看到了就是它的一个呃步骤。首先我们输出一张图像。然后我们进来以后,我们分成两个两条线。上面这条线呢我去找这些所有关键关键点。然后下面这个分支呢。
我去找搜它每一个关键点所就是呃它的一个连接关系。然后我通过关键点和连接关系。我想最终嗯匹配一下哪些点属于同一个目标,哪些点不是最终我们确定的就是这个呃匹配好了之后的这个连接关系。
就是我们所看到最右边这个图。
如果在细微的聊一下,我们首先open po。通过一个。比如说我们的卷积神经网络,哎,我们找到图片特征图,然后我们上面的这个分支呢就是预测人体关键点的这个confindence map。
这个confidence map哈,它其实名字起的非常高大上,其实它就是我们的热力图,它ok就是这个热力图。😊,好,那么这是我们的上面这个分支。我们下面这个分支呢。
我是预测这个叫part ainities。襄养厂。这个香料草它起的名字真的非常高大上。他他说白了就是我想找两个关键点的关联度。你是否有关联。是的话,哎,我就将你你定义成同一个人,不是的话,那就拉倒了。
O它如何找这个关联度呢,它的方法也很简单,就是说把两个点连起来。然后我看一下你这两个点的这个某个区域哎,我是否是同一是否是同一个目标,比如说如果是的话,以这个蓝色和红色点为例。
如果是它是在人的手轴上的话,那么你就最后的这个L值,那么就是不是零。如果说你这两个点连起来,它根本就不在同一个呃就同一个胳膊上,那么你中间连线上的某这些点肯定有值为零,就是代表着不在上面。
那么这个就是它的一个核心思想。O就是它的一个核心思想。😊。
呃,关键点应用有哪些呃应用呢?比如说我们最经典的无人超市。O给大家看一下。Four years ago, we started to wonder。
What would shopping look like if you could walk into a store, grab what you want, and just go?
What if we could weave the most advanced machine learning, computer vision。
and AI into the very fabric of a store, so you never have to wait in line?No lines, no checkouts。
no registers。Welcome to Amazon Go。Use the Amazon Go app to enter。
Then put away your phone and start shopping。It's really that simple。Take whatever you like。
Anything you pick up is automatically added to your virtual car。
If you change your mind about that cupcake。Just put it back。
Our technology will update your virtual cart automatically。So how does it work?
We used computer vision, deep learning algorithms at sensoror fusion。
much like you'd find in self driving cars, we call it just walk Out technology。
Once you've got everything you want, you can just go。When you leave。
our Just walkout technology adds up your virtual cart and charges your Amazon account。
you receive a sent straight to the app and you can keep going。🎼Amazon go。No lines, no checkout, no。
seriously。
OK好,大家已经看到了一个这个无人超市。这个无人超市呢是co是2017年亚马逊推出的呃,他第一次就是提出了无人超市的概念。大家想一想你这个无人超市它上面也提到了,我们用计算机视觉的方式。
说完就是我们用个摄像头,哎,我们先进行捕捉。然后我们用什么一些d learning的一些方式和这个呃包括这个刷感器融合的一些方式有来进行就是找找什么?难道仅仅的是找人吗?我们只如果只找到人。
不知道人在里面具体干什么的话,那么对无人超市来说,你这个找的意义何在?所以说他找的就是说我们人体的每一个关键点。😊,O。呃,所以说那么这个关键点,我们通过这个关键点来我们进行准确的定位。
然后通过它这个呃定位之后的每一个它所发生的这个轨迹,我们就可以知道比如说我手在做什么。和我的物品有个交互,他拿了哪些物品移动了多少距离,他是拿走了,放到自己的包里呢。
还是说他把拿起看了一看又放回原处等等。那么这些都是关键点定位的一个非常好的一个应用。OK那么。呃,其实我个人认为啊,做五人超市做的最好的是我们国家。呃,给大家看一个一个非常有名的这个网红郭杰瑞。
他所做的一个无人市无人超市就是在我们国内无人超市一个挑战。他想挑战偷一下我们的无人超市,我们看一下。🎼大家好,我是郭日,我现在在山海哄场。What would shopping look?大家好。
我是郭哲,我现在在上海虹桥机场。那一天我在纽约,我拍一个amazon的无人超市店,那我看了很多评论,但大家都说就我没有那样的无人超市,但是我现在在上海虹桥机场,哎,我看到了一个无人超市,我很好奇呃。
在中国的无人超市怎么样。所以现在我要做一个对比,我要看一看中国无人超市可不可以偷到东西,比amazon够方便因为你就是要用微信。😊。
你就杀这个二维吗?🎼我们现在也要看看这里有没有很多摄像头,上面有很多,但是我记得应爱这里也有恩该也有一个摄。😊。
🎼,🎼,在这里有钢法偷东西吗?你可以尝试一下,你就知道了,有钢盒吗?啊,没办法,没真的没办法,真的没办法,我可以我可以试一下,没问题。那你们我我可以吗你试一下啊。🎼我要喝这个,我很喜欢白涮锅。😊。
🎼这个我喝完了这个我喝完了,这个我配合我们饭他们在一起。🎼他们有 cafe and Amazon没有咖fe。🎼So看一看。🎼う。🎼如果我没有带走,他会不会受我的牵?就把它他放在那。🎼我要。
🎼把这个放在我的脑子。🎼还有辣条。好。🎼这个很贵。😊,🎼哎,我知道我有好多朋友喜欢这个。😊,🎼我用不要这个草莓酸来。🎼我不要这个味道,我要另外一个味道。这个味道。🎼如拿个棉签好看出还说什不好吃。😊。
🎼Oh。🎼我的身体里面已经有太多东西,所以我需要试着换法,我想一想,你看一看我又试着翻看法。😊,我们我我们走这个。🎼123。🎼,🎼他出门之后跟amazon差不多一样,我现在走,我现在去。🎼。
🎼我是这个我的顶当名,他的叮当这么快的,有可能就10秒。那爱on我忘了我我等你应该5时15分钟。那我们先看一看它对不对?我们对于买了一个这个咖啡。😊,呃,这个在帽子。我忘了。这个这个我们用新的方法偷。
哎呀,那个新的方法没有用这个。😮,这实。谢谢。有。哎,这个。也有,所以这个是那个我喝过的酸奶,但是我就喝一瓶,他知道我只喝一瓶,但这个叮当都是对的,每一个味道它都是我我拿什么?
所以让我觉得这个很厉害的科技是,他觉得我把这个扔起来,然后他就道那个百香果的酸奶,他说我喝一瓶这一瓶,那这就是你第一次去一个欧润超市吗?不是不是你我一经常去,你经常去你为什么去欧欧人超市比样方便?😊。
🎼出门就出来了,那这这个不是让我买的豆浆一个豆在美国,我们大部分的老人家不咱们用一个智能手机。总来说是这样在美国只有一个很有钱,很有名的公司叫叫amazon做5人超市。
在中国是一个我从来没听过的公司叫云南做5人超市比amazon更好的地方是第一你不需要下1个APP你就需要用微信。第二,它比你的订单很快。amazon有可能是要等1分钟这个是鸡毛。😊。
🎼你的天公做这个手。OK那么通过这个视频,大家可以看到了我们国家在无人超市上面的一个应用。嗯,郭杰瑞在里面挑战了很多很多高难度的一些动作。
但是我说的这个高难度是指它用各种方法来去拿走我们超市里面所有的物品,大家也看到了,他用一罐空的牛奶进行置换。然后通或者是用这个手直接把物品物品抛了出来。那么这些动作,这些动作检测。
它都是通过关键点关键点定位关键点之间的一个交互就等等。那么这些都是关键点检测的一个非常好的应用。那么除此之外呢,呃可能大家一个就是再推荐一个吧,就叫home court。
这个是NBA它做的一个呃就是一个应用。那么通过这个home court呢,大家可以看一下。
あらたら。
🎼We not come through。
Everybody front row。And I stop holding everybody too。
🎼by。🎼ら到ら到ら。たたた!
🎼Streep phone。
🎼Swip。🎼说我吗。
🎼,OK我们看到了这个一个新的应用NBA他们除了这个APP它所做的,无非就是说我通过你的手机,我来捕捉到你的人在这个图像当中,它的这个位置。
同时我捕捉到你的每一个关键点或者关节点来进行一个对你的姿态的这个检测。然后通过你各种各样的姿态,我来确定你这个比如说投篮动作是否标准等等。又或者是哎你需要做多少个某一项动作,你到底做了多少个动。
它一个进行自动检测的过程。那么除了这块呃,它还其实呃还有很多很多各种各样的应用,比如说自动驾驶需要做一个人机交货,又或者是VR体验行为检测呃,等等。那么针对这些很广泛的应用,它的核心思想。
其实就是关键点检测。那么我们7月在线也推出了针对关键点检测的,首先是一个实战课,就是叫做这个。
呃,关键点检测感兴趣的话,大家可以到我们主页上面看一下。关键点检测。我们会给大家具体的讲一下,就是我们所所对应的四大个四大方向。O人体骨点人脸特征点手部关节点和物体的关键点。
O那么同时如果大家想就是对这个某一项的。比如说代码进行更加细致的一个了解的话,那么强力推荐大家去我们的CV就业课小班上面,我们看一下。在那个那堂呃就是这个系课程当中呢。
我们会有专门的老师会给大家手把手的。😊,教大家如何录代码,当然也会把原理给大家讲的非常的透彻。它的时间比较长,因为我们的目标是最后帮助大家进行就业。
OK所以说我们会有一个更加好的与大家的一个就是沟通交互的一个过程。呃,如果你们报了我们的就业班的话,我们也可以享受到这个我们专门的这个GPU就是在线云GPUO来帮助大家进行一个学习。
okK我们再往下聊。😊,刚才聊了一下这个人体骨核点检测。那么还有一个比较非常非常广泛的应用,就是人脸特征点检测。OK那么其实它你无非也就是一个分类问题。我个人认为你比如说我用不同的这个网络不同的CN。
我先进行提取特征,然后我把这个最后所有的特征点,我把它拉平,最后我进行一个分类。O比如说是不是我们要的这个点,是不是我们要的点O那么在这儿它的这个主体思想,就和我们之前那个人就是人体骨核点检测的思想。
其实大同小异。呃,我就不在这儿给大家进行赘述了。我现要想说的是就是说它的一个应用,当我把人脸的特征点检测出来之后,那么我们更多做的是一个人脸的比对,O人脸的比对。它比如说我分为人脸1比11比N1比大N。
😊。
大比大到底什么意思呢?我们具体看一下,对于人脸的比对来说,其实我们应用就是最常见的生活当中就是人脸一比1静态人脸比对。换句话说,证明你就是。当我呃比如说当呃人民警察呃拿到你的身份证,同时看到你之后。
当这个看摄像头看你啊,又或者是你在银行工作人员拿到你的身份证,需要证明你就是你就是你本人。那么他用一个摄像头采集你的人脸。同时用你的一个身份证的呃读取机器来读取你的身份证的信息。那么通过比对之后。
这就是在后端比对之后来证明你就是你本人,这个是人脸比对,一个最常见的应用,也是我们生活当中嗯,就是应用最广泛的。当然还有一种方叫做人脸一笔小N,他被称为动态人脸比对。比如说我将一张人脸照片。
与人脸库的多张照片进行逐一比对。现在我们输入一张迪丽热巴的照片,然后。我们有一个人脸的数据库,那么人脸数据库里面有大量的这个人脸的照片。那么他所做的就是说我用一张照片与里面的N张照片进行比对。
最后输出哦,这是迪丽热巴的照片。好。嗯,大家注意这个地方呢,人脸的数据库的大小会直接影响我这个呃速度和准确率。嗯。人脸一笔大恩。😊,它是静态大库检索,它也是找相似。呃,比如说我输入一张图片。
然后我在我这个非常大的这个比如说百度的图像,人脸图像数据库作当中,我进行比对。那么它的这个输出它会给你输一些相似的这些照片,人脸一笔大NOK。
还有一种是人脸大M比达,就是说我是两个数据库进行比对。相当其实这个相当于就是我M个人脸一比大N的这个进就是呃比对。okK那么当大家想到,哎,人脸人脸错后两个字可是比对呀,那么如何进行比对呢?
它其实方法也是利用这个CN的思想。比如说我现在有两张人脸照片,我通过CN的一个特征提取,注意这2个CNN作用在两个不同照片上的CN它的结构和参数均相同。换句话来说,这压根就是同一个卷积神经网络。
然后我在两张照片当中,我找到不同的这个呃特征点的encoing。这个encoing其实就是一个矢量,就是这个人脸特征。然后我通过这些特征,我进行相似度的一个比较。如果相似度的值非常小。呃。
如果不是这个相似度比较,如果我比较出来,最后那个值非常小,那么它是大概率相同的人。如果说值非常大,那么大概率不同的人,当然我们也可以反着定线。比如说如果你的值大,你就是大概率相同的人或者值小呢。
就是大概率不同的人就等等。当然这个都可以,这个就是进行一个相似度的比较。😊,在这儿我要提一下这个。做的最牛逼的哈,我个人感觉是旷世做的,他提取到了8000点。
那么通过这个8000点的人脸这个关键点的技术呢,它就基本上。可以说是把你脸上的每一个细微的毛孔都进行了定义。OK那么大家可以想象它有什么更牛逼的应用呢?比如说电影以前拍电影的时候需要电影员做贴片。
在脸上贴上片儿之后,然后通过一个识别。大家想想你贴片你能贴多少个贴片在脸上。但是对于8000点的这个。利用呢相当于我可以精准的敷现你的每一个每一个毛孔都可以搞定OK。呃。像在5月份开始呢。
我们7月在线陆陆续续的上线了四门和计算机视觉相关的课程。呃,关键点检测丛力实战目标检测,视觉跟踪实战与行为识别分析。那么在这儿我们已经给大家啊推荐了这个目标检测。同时,关于关键点检测这块呢。
我们有这个关键点检测的实战。嗯,观点检测实战它是在目标检测的基础上面,嗯只逐渐过渡到关键点检测的4个分支。人体自在估计人脸特征点检测手部关节点检测和3D物体关键点检测。
那么在关键点实战课程当中会给大家就是逐一讲解。当然我们这个实战课程还是比较偏理论的。呃,为了保证大家对于这个代码有一个更加细致,或者是更加深入的了解。
我建议大家可以关注一下我们CV就业小盘第五期第五期刚刚开课。对于每一堂课上嗯会有老师对跟大家进行直播,讲解每一处。同时我们还有这个呃QQ小群。来对大家一个进行不停的实施的答疑。呃。
我们的目标呢就是手把手带着教育大家完成每一个项目,最终让大家找到一份心仪的工作OK。
呃,今天公开课的第三个话题就是聊一下cago。呃,今年的开口呢刚刚结束呃。呃,大家可以就是关注一下,那么什么是cago呢?开go是一个比赛。
ok开go是一个比赛,它其实是一个比赛平台。如果大家在google或者是百度里面搜索cago,我会直接进入它的页面,给大家具体讲一下他到底是做什么的。首先我们说了cago是一个平台。
它提供的是做一个模型的一个竞赛。注意他这个竞赛,不是说我出一道题让你做,而是说他有很多很多的题目,让不同的人你选择你感兴趣的一些题目,然后去呃做一些和其他的选手做一个比赛。你所。😊,弄的这个结果越好。
那么你的这个排名越高。那么针对不同的比赛项目,有可能你会拿到一笔丰厚的奖金。OK所以说大家看这个图,从左到右,首先会有人在上面提出一些具体的问题,同时给出这个针对这些问题所需要的一些数据。
O这个是网上平台所提供的。然后我们会有一帮集合爱好者,然后聚集在一起。然后我们就用自己的智慧和一些呃我们手头上的一些工具,比如说各种各样的库,pytoch testflowcas等等。
解决提出一些模型解决相应的问题。这个就是cagook。那么。开go呢它会大家可以看到它会提供一些就是有很多的竞赛呢,他会提供一些非常丰厚的奖金。然后这些奖金呢,如果他一般只会颁给前三名。
如果你的这个水平非常高,所得到的这个模型效果非常好,那么你就可以拿走相应的奖金。大家注意啊,奖金结算是以人是以美元来结算,不是以人民币来结算。所以说你比如说呃第一个5万美元。
5万美元呢对应过来是现在是7的汇率是35万人民币,会颁发给前三名。第一名的奖金是最多的。那么如果我们拿到的这个奖金,可以说是一个非常嗯不菲的一个数目okK。
呃,那么开口呢。它这个影响力非常大了,它影响力非常大。它会有很多著名的公司,比如google、亚马逊、facebook呃等等,它会提供一些就是很有很有这个呃怎么说呢?
就是说很有呃竞赛味道的这个很不同的类型的题目,然后呃会来自200多个国家的呃呃60呃就是很多很多的数据科学家来,我们来进行那个不同的那个训练就有不同的那个解决。注意你可以单独参加比赛。
你也可以组团去参加比赛,都是没有问题的。O。😊,为什么要给大家提这个开go呢?当然如果我们拿到一个很好的名次,呃,在某一问题拿到很好的名次,然后拿到这个不菲的奖金,这个固然是很好的。当然有的同学说。
哎呀,前三名太难拿了,毕竟是前前那么多聪明的人,你拿到前三名真的是太难太难了。那么如果我们没拿到前三名,如果你也有一个非常不错的名次的话,不一定是前十啊,你也可以是前100。这个因为他很难。
所以说你只要哎参与了在你的排名排行榜上有你的名字,那么你对找工作来说会非常非常有帮助的。😊。
就这么说,呃,如果说你对这个就是找工作面试的时候,你说哎呀我做过多少多少项目,多整了多少多少牛逼的事情,你不如直接向你的面试官露出你曾经参加过开过,你拿过什么样的名次,更加有说服力。okK更加有说服力。
所以说你不仅拿到了钱,你还最后就是可以得到名儿。OK当然我们的这个一切都是为了就业出发嘛,这也是我们7月在线为什么要开设这个就业小班的目的,就是我们希望帮助大家来找到一份心仪的工作?OK提升大家的实力。
呃。写如果你参加开go的话,也希望大家多看一下这个叫cago blog。呃,他会经常呃做一些。就是比如说如果你在某一项比赛当中拿到了前三名,他会对你进行一个专门的这个前三名的采访。
然后把采访的心得公布上去。呃,我们可以看他的这个采访心得也就是了解到人家是怎么做的。同时cago也会公开他们的个人简历。OK公开大家的个人简历。
如何参加这个开国比赛呢?呃以这个为例,这是twitter的一个为例。呃,首先你需要注册一个账户,然后对于每一个比赛点击draawin competition。
完成之后点击smit combination。Sit prediction。然后经过一系列就是比如说呃一段时间,然后他会公布哎,对你的名次,前三名会拿到相应的奖金,奖金金是以美元来结算的。大家注意啊。
就是在你这个提交上去之后,你还可以不停的进行提交,就是说不停的哎你觉得你的传把你的模型哎,效果不错。那么你也可以把你这个再重新铺上去覆盖你之前的提交,只要在这个时间呃允许的时间段之内就可以。O。
那么这个就是开go,我们7月在线呢企业播出了一个关于这个开go的呃一个最新的一个教程,是2020年的一个课程。2020年开狗竞赛的课程,我们帮助大家打开口竞赛。呃。
那个里面会给大家就是具体才从理论上介绍一下呃,哪些什么是开口竞赛,同时给大家一些实战项目。当然如果大家想对这个呃代码更细致的一个了解,强烈建议大家进行我们就业班的一个学习。
OK跟大家聊一下竞有哪些类型的竞赛吧。毕竟我们如果呃想参加开购的话,我们会发现这里面有些很多很多的一些类型,选择一个是最适合自己的类型,那么才是最重要的。OK知己知彼,百战不殆。😊,呃。
我们先看一下支笔吧,我们先聊一下有竞赛的一些模式。今在有哪些模式呢?比如说一般的模式呃一些其他的一些模式。我们可以看一下,这里罗列这里罗列出来了一些呃一般的一些模式。
比如说featured researchsearch started playground,具体是什么意思呢?我们看第一个featured。这个是最广的,就是显示数量最多的一个。
他顾名思义就是说一些公司呢他会抛出一些以商业为目的的预测问题。OK。比如说呃那个。那个。allstate这个公司它会抛出一个就是来通通过这个呃如何调整保险的这个呃政策,来使公司得到一个最大的收益。
那么这个公司它就会呃先抛出它的一些数据集,让大家进行一个训练。那么对于这类的呃竞赛呢,他会每个公司都会提供一笔非常丰厚的奖金。说白了我们的目的就是拿钱拿钱再拿钱。OK这是第一类。第二类research。
大家通过这个research就知道了,它直一过来就是研究。也就是说没有钱拿。okK没有钱拿,它主要是解决一个实质性的问题,可以从一个领域宏观的来看待这个领域的相关问题。O。
第三个是startedstarted呢大家也可以很直观的了解嘛,star起始开始。所以说这类的问题呢就是为初学者他所。提供的一个就是呃刚刚第一次来参加,我你先练练手。
这里面的题目呢都是一些非常比较经典的题目。OK那么这些经典的题目。😊,呃,他不会再有奖金。当呃,当然因为有这些太经典的题目了,所以有很多人他都会再进行就是冲刺。
就是再进行预测它的结果其实已经非常非常的好了。所以。这个这些经典问题的这些。最后的那个排行榜呢,它只会对最近一段时间内的这个呃得分的一个排行。okK他不会跟太早以前的一个排行。
这个我个人认为是对这个初学者来说呃,最友好的一个。大家也可以看看别人是怎么做的。因为这些源码其实网上已经都有了,开个会直接给大家抛出来。第四类是叫做playground的。playground。
play玩耍。所以说这个主要是呃玩票性质的ok玩票性质的,它的这些也比较简单。你比如说分辨狗和猫。就分辨狗和猫,我感觉只要是最开始接触卷积神经网络的第一个非常简单的。
但是会去那个ci法数据上荡一下这个,然后做一些呃狗和猫的一个分类。那么它这个就是说一个呃就是玩票性质的。😊,也是对于初学者来说,呃,有时候他会给一些荣誉,呃,有时候他会给一个很少的一些奖金。
okK那么后两个个人认为都是让大家进行练手的。呃,如果你想做research的话,你就进行research研究。如果你我就是目标就是拿钱拿钱再拿钱,那么我们就可以考虑第一类fishature。
那么除了最经典最常见的这四类呢,其实它还有三类。这三类呢。比如说呃recruitment。从名字上面我们就可以明白,这玩意儿就是某个公司为了招聘他所进行设置的。
比如说沃尔玛他会做一个就是做一个呃营业额的预测。那么针对相应的公司,他们会把他们遇到的问题扑上去。我的目标就是哎你来应聘,那你去做题吧,你把这个问题解决出来,开口上面,哎,那么我就认为你具有相应的能力。
他专门是为了招聘来取的。呃,对于每年来说,它又会有两大。开会上没有两大竞赛,呃,一个是大概在。😊,一个是大概在夏天吧,一个是呃大概在3月份,呃,就是春末春天春末的时候,还有一个是在那个感恩节的时候呃。
不是不是sorry圣诞节的时候,当然对于这两个我目前来我不想做过多的介绍。😊,因为对我们来说没什么用,为什么?因为现在中美关系来说,再加上疫情的原因,这些两级赛是需要到现场的。
所以说我们这就不再里多赘述了。还有一项是limited的,这个是是大师邀请赛,因为他们必须是开国官方,他所给你发一个邀请函,让你参加,然后你再来参加这些,这个是大师的大师云集的一个地方。OK。
它的影响力为什么要参加开口呢?首先。😊,奖金,那就不说了。如果你参加feature的话,你的目标就是拿钱拿钱再拿钱。OK第二,哎知识知识的一个提升。那么呃通过每你每一次调节你的结构,优化你的结构。
调节你的参数,它的一个性能的一个最强值,那么你就会更加的对你首先是你对网络更加了解。第二,你会有很多很多,如何提升你这个网络性能的一个知识。所以知识的提升。第三,交友。😊。
都说这个github是呃我们世界上最大的腾信交友网站。其实开go也差不多了。那么在这个community呃呃ction这这块呢,开go它会有一个就是它的一个交流网站。那么对于这个交流网站。
它会有很多很多的志同道合的人士,里面不乏大牛。你你们不乏大牛,你在这个里面呃跟大家也会各种讨论问题来建议你的友谊。如何快速找大牛呢?开go是一个非常好的一个平台。第四,流行度呃或者知名度okK。😊。
品牌知名度呀。呃,在这儿我想跟大家说就是。如果你是初学者,我建议你从入门级的呃started或者是playground的比赛开始,从中了解一些打开口比赛的一些基本的思路和套路。
一方面能取得一个比较好的成绩,同时给自己建立信心。OK呃,当然了,如果是有同学说,哎,我对这个呃入门不是就是比如我刚入行不是很长,就是时间不是很长,嗯,不是很了解,怕少走弯路。
那么我们就建议大家来报我们的呃开口竞赛。我们刚刚更新的一期,他会在8月下旬开课OK呃,同时我们也欢迎大家在这个。就是比赛就是我们的就业班当中,就业班当中有一块是专门讲开go的进行比赛的手把手。
大家就是教呃大家如何进行撸代码。呃,我们就业班呢其实呃它涵盖了就是很多的一些分支。那么对于每些分支,因为它的时间跨度比较长。所以它会尽全力的给大家讲明白,呃,这里面的每一个用处,就每一个原理。
同时呃教大家如何实战的进行落地。项目手把手教大家撸代码。OK。😊,一般来说,你如果对计算机视觉有兴趣呢,以后想申请相关方案的研究生或者是呃从事相关的这个工作。呃。
我相议大家直接专注于计算机视约的比赛项目。因为开口它其实有很多比赛项目了,它有ILP也有其他的等等。然后如果你同一个类型的比赛题目,其实它大大多都是有套路的,你打的比赛多了。
套路模型楚人的成绩会越来越好。当然当然也可以就是针对性的选择那个比赛来进行那个细分领域,比如说同样是计算机视觉的题目呢,呃有的是和生物医学有关,比如说蛋白质的图谱分类,有的是和动物保护有关。
比如说做头巾的识别等等OK。如果你急于利用开go比赛精历,提升自己的背景,自约起来比较困难,或者是不知道怎么怎么搞,建议大家找一个比较经验丰富的老司机带一带,非常有效。当然大牛其实不是很好找。
而而且你找到大牛,人家有没有时间的?我给大家推荐一个大牛。在7月在线里面有有一个老师叫做CV刘老师,他会专门带着大家就是如何一步一步完成开狗的竞赛。OKCV刘老师呢呃也就是新开设的2020年的这个呃。
😊。
开口竞赛的实战课程ok开口竞赛的实战课程。呃,欢迎大家呃就是了解一下呃,开口竞赛里面到底是做什么的。呃,和每一个项目如何打。这个里面它不不光仅仅有CV的相关的。它有ALRP的知识。呃。
大家可以就是进行跟我们的后台老师呃详细了解一下。那么我们更推荐大家就是参加我们的雀小班,一步一步的是手把手的教大家进行如何录入代码,如何完成一个落地的项目,我们的目标就是帮助大家进行就业。OK不可需的。
😊,只是进行实干。呃,那么今天就是我们的这个关于呃今天公开课的一个。
主要的内容呃跟大家聊的时间也挺长了。呃,大家那是国内时间也不早了。呃,如果对我们课程有兴趣的话,呃,强烈建议大家就是和我们的后台老师去聊一聊,或者是直接在我们群里找我们的相关的老师。
今天给大家推荐了四门课程,分别是目标检测呃,关键点检测呃,开go竞赛和我们的就业班第五期。那么通过这些课程,我们希望能快速的帮助大家进行一个能力的提升OK。呃,今天是公开课嘛,鉴于这个呃篇幅有限。
那么我们所呃给大家讲的这个知识点,只能是帮助大家进行一个宏观的了解。同时阐明我们相应课程呢有哪些优势。呃,具体的课程呢还需要大家向我们的后台老师做进行一些咨询,了解一下我们哪我们的课程的一些呃规划。
同时呃我们最近有会对每节课程有一些优惠。具体具体的优惠折扣呢,针对不同的课程,它的折扣力度不一样,所以也希望大家就是跟我们的后台老师呃,就是进行一个呃细致的了解。呃,时间不早了,呃。
大家也跟大家聊这么多。呃,呃,关于课程的这个具体的事情呢,大家可以直接在我们的群里和我们的呃相应的7月在线的老师进行沟通。也可以直接到我们的官网搜索我们的课程。
然后找到呃我们课程里面呃就是每一课程的我们客服人员,然后聊一下我们每一堂课程的呃相关的知识和我们的如何报名和我们的优惠折扣力度。我们的目标呢就是帮助大家快速的提升。呃。
实际上帮目的是为了帮助大家快速的对理论进行一个了解。呃,就业班希望大家呃能实打实的呃呃实打实的这个就是聊一下,最后。😊,呃,最后那个我们的目标就是。帮助大家进行就业OK呃,今天就先到这里呃。
感谢大家今天来就是和我们的呃一个深入的了解。呃。🤢,如果对课程有要求的,欢迎大家到我们的那个呃联系一下我们的招生老师OK。那么今天就到这里,再见,大家晚安。
人工智能—计算机视觉CV公开课(七月在线出品) - P5:目标检测这些年的那些事 - 七月在线-julyedu - BV17z4y167dq
hello,大家晚上好。我是你们的老朋友,CV庞老师。今天主要和大家聊一下目标检测在这些年发展的过程里面所遇到的哪些事儿。说白了也是希望给大家呃大概勾勒出一个关于目标检测的一个画卷OK。呃。
在正式纪间开始之前,想和大家呃说一下,呃,就是鉴于7月15号到7月21号是我们7月在线5周年的年庆活动。我们也非常感谢大家一直以来对7月在线的支持与肯定。呃,中年庆期间呢,我们课程会呃有出现时上最低价。
而且即将会出现一分钱买包括好客。而且在今天的课程当中,呃,我们会呃向大家有大礼包放呃,放出,我们会有一些课程的免单券。当然也是看大家的呃踊跃程度。然后我们到时候希望你呃拿到我们的免单券。ok。
O我们今天正式开始。呃,主要讲的是目标检测这些年的那些事儿,呃,基本上讲的是三个话题吧。第一个话题是跟大家聊一下目标检测。呃,在这些年的股价网络的一些演变过程。
然后我们会再跟大家聊一下关于这个目标检测的主要的一些分支和在这些分支当中,我们会呃遇到的哪些比较经典的框架。ok或者经典的网络。在最后的时候我们也会跟大家稍微聊一下这个优乐V4。
因为优乐V4实在是太火了。那么它为什么这么狂呢?我们会跟大家稍微的聊一聊ok我们先开始第一个话题。
呃,讲到这个目标检测这些年的这种演变过程,我们最开始要跟大家聊,它演变的是股价网络的演变。那么说到股价网络你的演变,其实说直白点,那就是CNN的演变。当然我们这里说的CN不是美国那个新闻CNN啊。
我们说的是卷积神经网络。我们通常用卷积神经网络来作为整个呃目标检测的一个骨架网络,或者是骨干网络。OK那么卷积网络它做是什么问题呢?在这儿我稍微给大家就是呃聊一下最基础的那个卷积神经网络。
我们稍微聊一下。
OK那么卷积神经网络它主要做的是目标识别,而目标识别所解决的问题也是分类问题。O什么是分类问题?比方说我这儿有三台电脑,O大家都属于三台电脑。呃,台式机电脑。笔记本电脑还有平板电脑okK那么我们知道。
这是三台电脑,它可以说是属于一个大类,都是电脑。但是如果仔细观察的话,它又可以说是属于三个小类。那么我们需要把它进行分类的话,那么这就是一个目标识别的问题。对于我们人类来说,我们会。怎样就是区分呢?
当然很简单了,找共同点和不同点嘛,对不对?共同点呢都是电脑,那么不同点有哪些?比方说我们可以看到它的大小不一样,台式机的大小一般都是最大的。平板电脑一般都是最小的。然后它们的形状可能不一样,对吧?
材质不一样,而且便捷性它也确实也不一样。我觉得我们一般不会抱着一个台式机的主机和显示器到处跑。okK那么这些就是它的不同点。通过找到共同点,我们会区问它的一个大类。那么通过找一些不同点。
我们对它进行区分的一个小类。OK。那么计算机是怎么办呢?计算机它是通过找到目标的相关的特征,就是features来对目标进行识别与探究。OK我们所谓的找features。
那么这些feature是哪是具体是什么意思呢?我们给大家举几个例子,第一个颜色特征。在计算机视觉领域,呃,我们会把一张彩色图片来用不同的呃就是手法来表示。比如说最经典的RGBORGB就是红蓝绿。
而且我们会通过一个范围,对每一个呃颜色或者是每一个通道,我们把它定义为,如果是整数的话,就是0到255。如果是浮点数或者小数的话,是0到1,这是一种表示方法。当然我们也可以通过用其他的方式表示。
比如说HSL。就是我们看到的右上角这个等等来表示。okK这我就不给大家展开叙述了。还有一些特征,比如说形状特征,我们拿这张图片来举例。在这张图像当中,我们可以发现。哎,这是一条线,对吧?
那么这儿是一个角。同样这个是个结构,那么这些特征就叫做形状特征。还有一些特征是纹理特征。比如说我们看到的这两张图像,左边这张图像它仿佛是一些。六边形就是正六边形的不同的,就是这个呃叠加。
那么这些特征叫做纹理特征。OK当然计算机视觉还会呃主动的去发现很多很多其他不一样的特征。O。但是所有的特征他们就会组成。就是所有的这些小点,他们都我们都把它归为特征。
而计算机视觉就是说我通过挖掘这些特征来找到不同类的相同点和不同点OK。呃,在这儿我们要提出来一个问题,就是为什么CNN我们会就是用来就是呃探究这个对图像的目标识别呢?O。当然答案其实也很明确了。
比如说我们会在不同的区域呃来发现一些相同的一些特征。给大家举两个例子。在这儿呢我有两张图像,都是鸟类图像。OK大家可以看到这个景身呢都特别浅。那么在这个鸟类图像当中,我们希望找到一些共同的特征。
因为我们仔细看啊这两这两个鸟类属于两个不同的品种,但是大类都是鸟类。但是我们会发现在这个地方就是我们红色框标出来的这个地方,这个地方呢是鸟嘴,对吧?那么这个时候我们就可以用一个神经单位来说。
okK这个是一个鸟嘴的检测器。O。当然我们在第二个图像当中,我们也发现在某一个区域也是有个类似的东西。那么这个我们就把它也用一个神经单元来说,那么它也是找到的鸟嘴OK但是说白了这两个神经单元。
虽然上面找的是我们可以叫做在呃上方会找到一个鸟嘴,然后在第二个图像当中的中部,我们找到一个鸟嘴。但是说句实话,他们俩做的是同样的事情,对吧?同样的事情。呃,在这同样的事情当中。
那么我们就可以用相同的参数来进行呃表示ok或者说我们是对他们进行共养参数等等。OK这张图像是一张比较经典的CAN的就是一个结构图。我们给大家大致说一下。左侧。是一张图像。OK当然我们看到是一张鹿的图像。
然后我们看最右侧,先看最右侧那个紫色框output这个output这块说的就是我们在检测完这张图像当中之后,我们会有一些类,就是我们先预定一些类,比如说我们预定了狗猫鹿和狮子。然后我们在这些类当中。
我们会有每一个类有一个分数得分最高的,我们就认为它是呃针对这个类,它出现的概率。那么得分最高的就属于也就是说概率最大的,那么就极大可能这张图片所对应的就是这个类。ok那么它的中间会出现很多很多的层。
比如说卷积层石化层。还有全连接层等等。在这儿呢我就不给大家展开说了。因为这个毕竟我们不是在聊这个呃CN呃,但是在我们之后的课程当中,我们会给大家学习介绍OK。在这个地方我们一般还会想跟大家说一下。
就是说机器我们总说它是在找特征,找特征。OK那么这个机器到底它在学习什么?比方说我们看这张图像。这张图像我们知道okK它是一个外星人的笔记笔记本电脑。但是对于。图像当呃机器人他检测到这个区域的时候。
就是我们红色框标注这个区域的时候。外星人会不是机器人会想okK当我想象到这个区域的时候,那么这块代表着整个图像,它到底是外星人呢还是笔记本呢?这个时候就很麻烦了,对吧?那么我们来看一下。呃。
机器到底在学习特征的时候,它学习到的是什么?我们拿alexnet来举例。alex因为alexnet是出现最早的,当然也是一个非常成功的一个里程碑式的网络。我们看一下,在alexnet的第一层的时候。
他会看到什么?O。我们仔细看。现在给大家放出的这张图像,就是它第一层当中所呃对应识别出来的一个就是特征的图。我们可以看到呃在这张图的,比如说这上半部分,比如说我们拿左上角来举例吧。
左上角我们能隐约的看到它是类似于1个201饼干,只不过是把夹心儿呃加到了饼干上,OK就是两个白线条对角线线条,然后一个黑色对角线线条。OK那么我们就知道okK在这个区域。
它出现的应该是黑白呃白黑白相间的一个呃特征。如果再往下看,就是最下方的时候,我们可以看到在某一处它会出现某一个色彩的特征。OK那么这个就是在alexide第一层它所学到的特征。当我们如果放眼望去。
在第五层之后。Snet第五层之后,那么这个就是它所表现的特征。在这个时候我们会发现嗯这些图片其实已经很接近就是我们的我们人类的一些直观感受。对吧比说我们已经能看到这是小孩,这是小狗等等。O。😊。
那么这个就是CN它所呃学习在不同层所学习到的知识。当然我们这个时候就可以理解在。比较呃靠前的或者是嗯比较早一点的层述的时候,他学习到那些所谓的feature或是所谓的语义,那么它都是比较低级的语义。
对吧?它可能是线条,可能是颜色等等。但是在呃就是靠后的层数当中,或者是呃比较高级的层数当中,他所学到的是这些语言,是我们认为是比较高级的语言。因为这个时候我们已经可以就是直接观观察到他学习的大概是什么。
就是很符合我们人类的认知。O呃,在2012年的时候。alexand横空出世,当时它只有8层。但是它的不准确率注意我这儿说的是不准确率,它是16。4%。如果是准确率的话,我们就做一个意减,呃。
就是就可以了OK。那么在14年的时候。14年的时候。呃,谷歌出了VGG这个也是一个非常快里程碑式的一个网络。而且现在我们还经常用VGG那么它最高是出到了19层。当然它还有一个版本是16层。
它的不准确率是降低到了7。3%。同年,谷歌又出现了一个。Googlenet。他搭到了22层。O它的不准率去率是6。7%。那么这个时候我们可能就要想。呃,是不是这个层数越深越好?ok是不是层数越深越好?
那么从现在这幅图上来看,貌似是层数越深,那么我的准确率就越高。换句话说,就是我的不准确率一直在降低。那么是不是我们把层数搭的越高越好,甚至是无限高。那么我们最后得出来的结果就是最好的呢?当然这个答案是。
呃,我。呃,在那个时候啊是答案是否定的。当然后来大家也出现了,答家也当然也是有可能是肯定的。为什么这么说呢?因为如果我们不采取一些措施的话。你的层数越深。你可能会导致出现一个灾难性的结果。为什么这么说?
因为我们在搭建CAN的时候,而且我们在正向运算和反向运算来降低它的误差的时候。这个我们用的方法是求导。当你的层数特别深的时候,我们可能会遇到一个问题,就是说。激度消失或者是导数消失。呃。
在这儿这么说的时候,可能会给就是不太了解CEN的同学造成一些困惑。呃,因为呃如果想把这块完全展开的话,我们会在我们之后的课堂上,就正式的课堂上会给大家就是很详细的描述。
OK在这儿呢就是告诉告诉大家一个概念。如果你无限大层数的时候,同时你不采取任何手腕的时候,这个时候会造成肌度消失,也就会导致你最后的结果完全不准确。OK那么如何解决这个问题呢?2016年的时候。
我们出现了一个非常嗯跨里程碑的一个网络,而且现在也会在大量使用的一个网络。就是reson nightOre night。呃。它的不准确率同时也降低到了33。57%。大家注意它的层数达到了152层。
对比googlenet。22层它连呃这个我们叫残插网络,ret stillnet。他连他的零头都不到。Okay。一年之后,17年的时候会出现另外一个网络。叫dancenet,它不可思议的达到了264层。
okK当然在19年的时候,又会出现另外一个一个系列的新的网络叫CSPnet。一会儿我给大家稍微聊一下ok那么我们先看一下。ressonite的结构吧。okresson结构吧。
大家看到现在这张图是一个比较传统的,或者是一个比较经典的,就是呃CN的其的某一个神经元的一个大概结构。okK那么我们看从下往上看啊,最下面这个X的是个输入。O就是神经元的输入。
我们可以把它认为是你的这张图片呢,我们也可以把它。认为是你经过很多层之后的一个featuresOX输入,然后我们通过我们这个虚线框,通过权正权重就是W乘以X呃,然后再经过呃就是layer层。
再做一层非线性变换。就是我们现在看到的这个蓝色的部分OK。呃,做完非线性电变换的时候,然后我们会把我们的输入输入到下一个神经元,这个是一个比较传统的这个呃神经元的一个计算。那么对于resnet来说呢。
或者是参家网络来说呢。他会做一个事情,就是说。我在做非线性变换之前,我把我的输入哎,我在直接。加到我最后说的那个FX上面。那么。我们这么做的目的就是说我们要防止梯度消失。换句话说。
就是说我把X的信息又重新丢到了下一层当中去。这样的话,即便呃你梯度消失已经发生了,但是呢我没有得到之前的一些feature。之前的features。那么这个时候我们就在防止梯土消失。
OK这个是一个ressonnet的一个核心思想。当然了呃在其实在ressonnet当中,它也有一些变种。比如说我们不直接进行加,我们作为一个一乘一的卷节,又或者是我们加了一个铺ing层就等等。
那么但是这些变种呢,它其实都是万变不离其中的,ok它都是利用这个思想。对呀,这就是这己一种特征特征融合的方式,不过只不过是特征融合的手段是不一样的OK。我们看这幅图。
这幅图就是一个resnet的一个框架图。我们在每一层就是我们现在看啊最左面的输入,这是图像。然后最右面我们画一个箭头,就是再继续往后输出ok中间的不同颜色的区块,比如说黄色、红色呃,这个是。呃。
这个是呃青色吧,还有最后的那个呃灰色ok等等。呃,老师对这个颜色的表达可能不是特别准确,因为我不是学美术的,就大家这个大概理解一下。就是说对于这四个不同的颜色,我们认为这四个不同的颜色呢。
就是一个残插block残差块。okK那么每经过一个残渣块,我都会把前面的输入直接丢到后面就是残渣块结束直中去一个特征的融合。呃,有个同学问一乘一的卷积,因为现在变题是怎么操作的?呃。
在我们正式的那个目标检测的课程当中,会给大家具体讲解这个变成是怎么操作的啊。呃稍微给大家讲一个一乘一的卷积,就是我们提一句哈就是这个呃。一乘一的卷积呢,它其实就是呃我们最大的作用就是进行降维。
OK就是进行降维。呃,总结一下USnet它减轻了梯度消失,同时加强了特征的传递。musaskCNN我们一会儿还会给大家就是聊在那个讲那个目标检测当中那个第一阶段ok我第一个分支我会给大家去再聊的。呃。
要给大家提醒一下的是,在ressonnet在这一块呢是我是写的一个java,就是测试融合,我们是会做一个呃像素级别的,直接进行相加。O在17年的时候,就是ressonnet出现。一年之后,17年的时候。
我们出现了另外一个网络是dessnetokdesnet。我们看一下这个dnet这个图,它有点像yesnet。呃,有个同学问我分类任务网络用的最多效果最好。呃,我不能直接就是这么回答。
但是因为这为什么这么说呢?因为你针对不同的项目,注意啊,针对不同的项目,它其实是有就是呃不同的网络,它会有就是更强的一个能力。所以我不能说一个通俗的说它是最好。但是我会给大家说一下。
一般我会采用CSP系列里面的一种。O我们很快就给大家讲到,就假方大给大家讲到,而且优6V4,我印象就是用的drknet53的一个变种CSP darkrknet我一会给大家提啊。呃。呃,那当然了。
很高兴大家就是不停的问我问题,一会儿我会在大家当中,我会抽选一些呃热心提问的同学,然后给贡献出我们的大礼包。OK我们继续。我们看desnet的这个图像。desside这个图像呃。
它其实是不是跟beside有点接近?OK我们回推上一张图像。resnet残插网络,它只是唉我前面的那个输入,我直接会丢掉,就是我画一条线,直接丢掉呃,直接丢到呃我的输出当中。
但是我们仔细看dessnet,它不仅仅是把前面的这些就是我前一层的输入,我直接丢到我我的下一层的输呃呃输出,呃不呃,我这个不能这么说啊。
就是说我把我不仅仅是我把前一前面我的一个输入直接引到我这个block的输出当中,同时我把我前面所有层的输入,我全部拿过来。ok我全部拿过来。那么这样的话,它会有一些好处,我给大家总结一下。
当然最开始它嗯的前两条它是resnet的好处。O毕竟它是在呃残差网络的一个技术上的一个变种嘛,对吧?同时它这么做呢,它会更有效的利用了这个features。而且在一定程度上较少的减少了这个参数的数量。
为什么会减少呢?一会儿给大家就是告诉大家。呃,要给大家提醒一下的是就是。在desna当中,它是不是进行像素级的相加,而是做concation。就是就是大家看到那个绿色的圈C。
它的意思就是说我把我的这些features,然后并排就是并排的放在那里。O并排的放在那里。给大家看一下论文当中的出现的这个图片。OK这个是论文当中出现这个图片,我们大家可以仔细看一下。
每一个颜色就是可以说每一个系列的颜色,比如说最开始的红色系列,最深的那个红色就左上角最深的红色手的输入是一张图像。然后呃紧接下来是类似就是红色系吧。我们把它它是一个呃第一个block,紧接下来的绿色系。
又是一个block。那么我们这有5个dance blockok我直接给大家看一下它的结构。那么在这张图像当中,就是左上这张图像当中,我们可以看到我们所有的输入。
就是前面所有的输入都会引到之后的所有输入上去。OK比如说我们所看到的。呃,我们看一下啊,X1X1这个block的输入,它其实只有一个,因为它是作为最靠前的嘛,它只有一个输入,就是X0给的输入。
但是对于X2这个紫色的这个block呢,它就会有两个输入,一个是X一直接给的输入。另外是我们把X零引过来的输入,同理对于黄色呃这个系列的这个block d block。
X3X3它所引出就是接收到的输入有3个,一个是它前面X2给的输入,一个是我们把X一引过来的输入。同时X0也引过来的输入OK就以此呃以此类推。这个就是大自然的思想ok。呃,如何呃提一下啊。
就是刚才不是有那个同学还问那一乘1的那个卷积,我们还是那句话,1乘一的卷积,我们主要的目目标是降维,减少参数数量O。讲到嗯d nest这个这个的时候,这个是在17年的时候出现的。O17年的时候出现的。
在呃19年的时候,就是两年之后横空出世了一个系列网络OK。恒中是一个系列网络,这个系列网络我们叫CSPnetsok CSPnet。为什么这么说呢?因为这个CSP网络系列呢,它不是一个网络。
OK它是一个思想,它会针对就是我前面所有的比如说残渣网络也好,或者是呃单net网络也好,我们会针对它这个系列来进行一些改变。O我们看一下它是具体怎么变的吧。现在这幅图是呃论文当中出现的图OK。左上角。
A它是达斯net的一个图ok。还这就是我们之前那个思想。嗯,我们不同的颜色,比如说最开始我们的输入是一个。呃,这是什么色儿?我要不我们把它称为淡紫色吧,好吧。呃。
就是左上角最开始的输入是淡紫色的一个block,然后我们会把它引到X一输入。同时我们把呃X一的输入输入和呃之前的输入我们并列起来O再然后我们把输入引到X2,就是下一个dance block当中。
同时我们把前面所有的输入都并列起来。它这个是一个呃比较抽象的图。这个图,它的思想和我们之前看到的这个呃左下角这个图,它是一模一样的。O再看明白这个图当中。
我们就可以给大家去说一下CSP net它是怎么想的。O对于CSP net呢,它的想法其实也很简单,它把我最前面注意啊,他把我最前面我这个X一就是X零吧,就是X一系列的输入,我先一批为2O就是我P成两半。
左面一半右面一半。OK我把左面的那一半,我先留着,我先留着,留着过年。然后我把我右面的那一半我往后传递O那么右面的这一半,它再往下传递的当中,这个其实就是dnet了。O但是我把我左面留下的那一半呢。
我先留着。当我传递完几个就是呃这个CSP的block的时候,然后我再把左面的一半,我直接拉到最后的输出当中去。ok我直接拉到最后的输出当中去。那么这个就是它dnet呃,这个就是CSPnet的一个想法。
他这么做呢。它可以说是我增加了呃记入信息的通道,然后同时也减少了计算量。OK在论文当中他会提到呃,就是除了他就是聊了一下最基本他的一个思想,他同时会提到就是说我把我左面劈开的这一半,我最后我融合的时候。
他大概有三种融合方式,再加上他的一个最开始的不融合。OK他会进行一个比较,具体怎么比较呢?我们会在我们的课堂上。我们会在我们的课堂上给大家就是直接做更清晰的呃讲解。OK就这样给大家推荐。两门课。
第一个是我们的就业小班的第五期。ok呃,第二是我们的关于这个目标检测的一个实战课。呃,有经常有同学在线下的时候问我,哎,老师,你说这个就业班和实战班有什么区别呢?当然除了价格了,那么对于就业班来说。
我们会更多的关注呃同学们的这个呃代码的代码的这个演展示。OK通过这个。呃,手把手教大家一步一步马在马,这是我们就会班的一个特色。但是对于这个实战班呢,实战班是面向就是说我想快速的学习相应的知识。
O那么我们更主更注重的是一个理论的讲解。OK跟大家说个好事儿啊,就是说如果你今晚在我们的直播间报名这个CV就业小班第五期的话,我们会给大家在那个原价的基础上,就是原现有的优惠价的基础上。
我们会再给大家狠狠的打折。O再给大家狠狠的打折。当然了会有没有限制。因为呃不可能全部。我们会有抽奖名额限制。OK关于这个就位小班的那个我就透露到这就透露到这儿。呃。呃,线下怎么报名?呃,课程呃。
先说线下怎么报名吧,我先把这个咨询方式发到评论区,我们会有一些呃很多报名方式OK。呃,这么说,我现在给大家发这个网站是我们的那个客服的官方链接。如果对我7月在线不是很了解的同学。
你可以呃就是打开这个链接,或者是直接在我们的那个主页上面找到我们的客服进行咨询。当然呢我们也会有那个小群,呃,如果在已经在群里的同学哈。你可以只是在群里面直接问咨询一下里面的老师。
老师会直接对你直接告诉你。然后呃书伟直接告诉你,就是这个大概是几折。我在这呢就不跟大家去透露几折了。OK呃,当然你一定要就是跟你的老师我跟他聊,就是说你们是今天晚上听了CV潘老师的那个公开课。
然后我来报名的。那么这个时候呢,你就会呃收到这个恒恒的价,就是恒恒的这个折扣。OK呃,当然了,已经加过,就是在群里加过老师微信了呢,你就不用再重复加了。你就问那些呃。
就是你已经的加到了老师关于那个详细的资料就可以OK。呃,有同学问我那个课程是不是都是老师讲的呢?哎,如果不知道怎么加的话,你在群里面直接问哎,哪个是老师啊,冒个泡,我们聊一聊,OK也可以。呃。
这个呃丛林实战目标检测这个实战课是老师主讲,就是就就是潘老师主讲,我会给大家就是讲的更细一点。有同学问这个呃实战班的价格和讲模型的细节。我们的模型会专门抠细节,就是在理论上专门抠细节。
同时我们也会给大家就是放出这个关于模型的代码,告诉大家怎么运行。呃,同时也大概讲解一下代码,当然不会像就业班讲那么细啊,对,这是有两个班。呃。我们可以看一下。这个是我们实战班,在实战班的前两节。
第一节呢当然是就是给大家打一个那个基础。然后第二个就是第二堂课呢是讲那个骨干网络,这里面会给大家讲的更细。就是把具体的呃比如说参加网络呃dancenet,还有这个CSP系列的每一个细节给大家扣清楚。
ok当然最后也会带大家呃搭建一用拍到搭建一个你自己的。卷机神经网络。okK呃,我们现在呢就已经聊完了第一个话题。
在第一个话题聊完之后,哎,我们这个时候。呃,哎有个同学问我,这两个班有什么区别?
我们回回馈一下,简单的回答一下这个同学的问题啊。我们一个是就业小班第五期,这个我们的目标很明确,就是为了大家的就业。O同时在这个就业小班里面呢,我们的人数少。然后老师呢这样的会有更多的经验来会帮助大家。
而且我们就业小班,更注重大家的是就在理论的基础上更注重的就是大家的实战经验。这个实战经验说白了就是你的录代码经验,老师会手把手的带你录代码从训练你的网络,然后到如何调餐,一步一步教你O对于实战课程呢。
它主要是。实战课程主要是目的就是让你快速的掌握呃这个理论模型细节OK那么这个是实战课程。呃,轻量级的网络我们呃我现在还没有加进去。但是如果有同学感兴趣的话。
我会在课堂上的当中会给大家把轻量级的网络就是加进来。呃,有同学问我想写科研论文的话,报哪个?这个的话呃问的问题比较好啊呃。如果你也想就是做科研的话,我个人认为你首先第一步你需要对模型有一个了解。呃。
那么我建议你如果呃先对模型了解的话,你可以先考虑一下这个目标检测,就是实战课,就是优面几堂课程。呃,右面这堂课程主要是会带你快速的入门。快速的了解这个模型的细节,这是你的第一步嘛。
但是如果你想真正做科研的时候,你需要很强的撸代码能力。那个时候我建议你得考虑一下CV就业小班。但是话说回来,今天晚上如果你报名CV就业小班第五期的话,我们的价格会在优惠的基础上再狠狠的打折。
okK不过名额有限。
呃。这已经跟大家介绍了一下那个哎我们有交流群。哎,我们的后台老师可以把这个交流群嗯,就是我们。哎,我们呃这样吧,我们让那个后台工作老师把交流群的群号,就是微信群群号发到那个我们的这个评论间。
我跟后台老师说一声哈呃哦对,在这的时候这样吧。我看一下刚才有哪些同学问我呃,这个就是我们提问的非常多呢哈。呃,然后我们送一个大礼包先出去。呃,我回对一下啊。呃,有一个同学叫思考和推演的极致快感。哎呀。
妈呀,你这个你这个名称很好哟。呃,我把你复制一下,复制一下哈。OK思考和推远的及时夸奖这位同学呃,恭喜你,你先拿到我们第一个大礼包。我们这个大礼包呢是呃我们在那个CV课程的呃CV课程的一个免单券。O。
😊,呃,你最后就是结束的时候,你可以呃和那个我们的那个后台老师说一声,然后我们到时候把这个一门课程的免单卷送给你。然后这个免单券是计算机视由特训第四期的免单卷OK。
O我已经和那个后台的老师说了一下我们的群号,一会后台的老师会把我们的这个微信群群号发到直播间。好,我们继续呃,我们现在聊一下我们的第二个话题。第二个话题是。这个话题非常大,我们可能会花很长的时间。
很长篇幅来聊这个话题。这个是我们就是说大概聊描一描述一下目标检测的这个主流的分支。当然我这写了一个是三大主流分支。当然有的人会说它嗯严格意义上讲吧,它可能是两大主流分支也行,一会儿我给大家聊一下。
为什么这么划分。ok我们在第一个。
我们在第一个topic里面,我们大概聊了一下,就是说呃这个目标检测是做什么的。呃,刚才有个同学让我做个自我介绍。呃,我讲完这个话题给大再给大家做一个自我介绍,好吧。呃。
我们目标识别我们主要是作为一个分类的问题,对吧?比如说我们找到这个baby,我们找到了杀猫,我们找到了狗的照片。这个是目标识别,它是一个分类的问题?你属于哪一类?但是对于目标检测呢。
我们不光是想一个分类问题。同时比如这张图片,我们知道图片图片是一个狗,一个浴缸和一个小孩,对吧?如果是分类问题呢,我们只能做到这一步了,但是目标检测,我们其实更想要的是一个定位问题。对吧一个定位问题。
那么这个定位问题,换句话说,我们用一个矩型框,我们用一个矩型框,我们把这个我们想找到的这个主体框出来。比如说我拿黑色矩型框框出的是狗。
我在紫色矩型框框注的是babyO那么总结一下目标检测是在目标识别的基础上,再加第二个话题,就是说定位问题。既然为什么我们会要在第一个话题当中跟大家聊一下这个呃骨干网络。O骨干网络。好,我们看一下。
我们拿这张图像来举例。这张图像呢是一个很可爱的狗狗的一个照片OK。如果经过。这个。CNN我们看啊,如果经过一个就是比较传统的一个,或者是随便1个CAN吧,我们最后会得出一个分类,4分类。四个。
比如说第一个是狗,第二个是猫,第三个是小孩儿。大家注意啊,第四个类我们把它称为背景类。但是实际上来说。实际上来说呢,它是三个类狗猫和baby。但通常来说,我们都会在我们已知的呃多少类上面。
我们再加一okK因为我们把它认为是背景类ok。这张图像我们最后找到的是狗,所以我们在狗后面画一个笑脸。那么这个呢就是一个比较呃传统的或者比较经典的CN的话题。然后如果我们想做定位的时候。
一张图片有多个类别的分可以聊一聊吗?O我们一会儿跟大家聊一下,哎,我们的赵老师已经把客服的微信号发给了大家啊,就是大家可以就是想咨询课程的话,直接加赵老师的微信。
然后和大家和赵老师聊关于我们就业小班第五期的狠狠的折扣。O我们继续。大家看现在呢我用一个紫色的框,我把它框到了那个小狗子上面。呃,那个多个类别的话,我一会儿跟大家聊哈,我们先从单个类别来入手。
那么在这个句情框框住之后,我们不能说哎我们把在照片上,我们把它框出来,然后直接丢给就是我们的呃第二就后呃我们丢给我们的下一个工作人员说呃,你自己找吧。你看啊,反正我已经给你框住了。
那么这个时候你下一阶段的工作人员或者是你的计算机器人,他会很懵逼的。我靠,难道我还要再在你的图像当中,我把这个框框出来吗?你你就不能直接给我更详细的东西吗?当然可以。那么所谓的更详细的东西。
其实就是这个矩形框在这个图像当中的坐标。okK在图样当中坐标,我们把这个矩形框呢叫做boning box。然后它的坐标我们看啊,这儿的坐标是BSBYBWBH。
OK那么这个XY就是B是代表bonuning box的意思。XY是代表中心点的意思,就是它的那个我的画两条对角线,那个那个交点就是中心点。然后W和H是这个矩型框的宽和高ok。那么。聊到这儿的时候。
我们看一下我们怎么样得到这个这个矩情框的这个。就是就这四个坐标呢,或者这四个值呢。那么在这个CN的图像当中,其实我们会在它的后几层。注意我们会在它的后几层,我们加一个分支出来。O我们加一个分支出来。
那么这个分支它所得到结果,你也可以把它讲一个四分类的问题。OK你也可以把它叫做一个私分类的问题。呃。这个四分类只不过它分类的是四个值BXBYBW和BH。O。然后对于我们的这个结果,Y注意啊。
我们这个Y呢是那个预测值,就是最后的预测值。对于Y来说呢,我们先回顾一下CNCN的那个YOCN的Y它是我们上面的那个分类的。那个概率值,比如说狗猫baby。注意啊,这个时候只有三类。
O那么我这也就是说我一个Y有三个值啊,不是不能叫三个值吧。这个Y的矢量里面里面含有三个值,这样说的还比较严谨,里面含有这三个值,它所对应的就是最大概率。但是对于目标检测的Y来说,它会有注意看啊。
以这个为例。它会有8个值,第一个值是PC。PC的意思就是说它是哪这就就是说我这个地方。我有没有就有没有我对应的类O这有没有对应的类PC唯一的时候,我们就认为okK你这个类呃这里面有我对应的类。
注意我这有我对应的类,我指的是前面的狗猫和小孩儿。如果PC为0的话,那么我对类也就是背景。O。当我有一的时候,哎,我找到一个就PC为一的时候,那么我们认为这个地方它应该有点东西。
那么我们再研究研究里面的东西具体是什么OK。我们就知道这不是背景,我们再看下面BXYW和H这个对应的就是你的矩型框的那个坐标。然后再往下那个100所对应的就是我们你属于哪一类。比如说我C一对应的是狗。
C2对应的是猫,C3对应的是baby。那么我do是一的时候O。我明白了这个矩形框,它说的类别就是狗。如果你的PC为零的时候,你下面的值是试,我就我就不关心了。
反正你PC等于零的意思就是说我这儿有类的概率为零,或者是我这儿的类为背景,就是background的背景。O。😊,呃,我们再重新捋一下哈,我们这儿有一个输入是一张照片,我们输出是我们的Y值。
Y值的具体也给大家稍微聊了一下。哎,有个同学问的问题好啊,他说那个图像分割呃和目标检测的区别是什么?这个问题问的好呃。图像分割和目标检测呢,它有一个哎先说图像分割吧。图像分割在现在它有两个最主要的分支。
一个是实力分割,一个是语义分割。什么意思呢?比如说在一张图像当中,假如说我有一个草坪上我有5只小狗,ok5只小狗在玩,那么我做图像分割的时候,那么我我会把所有的小狗用一个颜色表示出来。
草坪用另外一个颜色表示出来。那么我就是说注意这个表示呢,它不是用矩形框表示,而是我把你的这个轮廓直接抠出来。ok这个叫语义分割。实力分割呢。他的意思就是说,我这个实力分割。
我是把呃我每一个小狗用不同的颜色来表示出来。即便你的小狗有重叠,我要用不同的颜色表示出来。大家注意啊,那么这个时候我们就可以了了解,对于目标检测来说,我仅仅是把一个框框出来了,对吧?我用个矩型框框出来。
但是对是语义对对于分割来说,我不但要框出来,我还会在你的这个框图当中,我把你的这个轮廓表示出来。换句话说,它的计算量会更大。相相比较而言啊。呃,图样风割是比较精细的目标检测,你可以这么说。
当然你呃我们一般也会说呃针对不同的用处,我们来就是不同的项目,不同的用途,我们来做那个更加精细的就是一个呃网络的选择。关于你这个。图样分割目标里的模型可以混着用。
一会儿我给大家讲一下maCNOK讲maLCN的时候,它也可以做实呃那个呃实际分割。我一会儿我会给大家演示一下那个实际分割,就是这个分割到底是怎么做的。我会用我会用一张呃PPT来给大家进行演示一下。
okK对,他是像素级别的预测哦,对了,呃,思考和推演的及时快感。你记得加一下我们赵老师的那个客服微信哈。然后你跟他领一下免单券。同时也跟他咨询一下呃关于那个呃CV就业小班和那个目标检测班的那个优惠券。
那,当然那只要是今天报名的同学,我们都有很大的优惠哈。OK我们回到我们现在的这个图像呃这个PPT当中。关于这个目标定呃目标检测呢,我们有一个输入就是一张图像,一个输出。哎,就是我们现在看到的Y。
那么我们其不管是目标检测还是目标识别,哪怕你是语义分割。呃,可以说在这个深度学习当中,我们最重要的就是构建我们的呃损失函数,就是lo function损失函数。什么叫做损失函数呢?大家看这个。
看这个公式呢。哎,有个同学问啊,会不会出现多个外盾一个狗会,但是呢我们会用其他方式来解决这个问题,一会儿再讲那个呃。在讲那个毛框的时候,我给大家解释怎么来处理啊。呃,我们继续哈,在那个大家看这个公式。
这个哇这个好复杂啊嘛一看我都说实话,我第一次看的时候,这是我想这什么玩意儿很很难理解呀。但是我们给大家解释一下,你就会发现它其实很简单。
首先我们看这个等号的左边OLL就是这个lo function的意思,就是我们那个或者叫误差,或者也叫损失函数的意思啊,它是个函数,然后函数呢它想做的就是两个一个差值,Y上面加一个帽子。
我们叫它Y hat减去Y。那么这个Y hat就是你的预测出来的值,就是你网络直接计算所得到的值,而你那个Y就是直接那个Y呢,这个是你在训练之前你会做一个人工的一个就是标注的一个过程。那么人工标注的话。
我们也会呃通过人工,我们在图像当中,我们把这个紫色的框标出来。O给出紫色的框,我们也会相应的给出它的这个分值。比如说这个是。后紫色的框的分值就是PC等于一,然后相应紫色框的4个坐标值。
然后C等于1C2C3等于0。那么这个就是Yhead和Y。那么Yhead是我们网络直接输出的一个预测值,它与真实之间的差,就是我们把其中的每一项进行呃相减,同时求平方OK。
那么这个就是比较一个就是lo function,一个比较那个。就是最直白的一个解释。然后那么对于这个最直白的解释当中,注意,如果PC等于一的话,你再这么做。如果PC等于零的话,你千万别再往后求。
就是后面更加细节的那个呃坐标值的校正呀,没有这个必要啊。因为当你PC等于零的话,我们就知道哎,这个地方是背景,我们不关心我们只关心PC的就行。B的误差就可以。OK当你构建好lo function的时候。
那么你的下一步就是想办法把这个误差函数最小化。为什么要最小化呢?说白了就是我想把我的预测出呃,我的是网络预测出来这个值无限的接近于我的真实值。也就是说,我想让我们这个网络呃预测的越像真的越好。
OK这个就是它的核心思想。我们看一下这个一类的这个CNN。呃,我们把它这个C音呢叫做狗狗检测器。最今年的我们拿一个框,然后进行划窗okK然后直接找到。呃,为什么说呢这个划窗呢?
因为这儿想跟大家就是讲一下关于这个IOU的一个概念。因为IOU是会在这个就是不管你是在目标检测当中也好,在我们其他的,比如说关键点检测也好。唉,关于关键点检测,我们也有一门相应的课程,是是我主讲的。
大家有兴趣的话可以去看一下。或者是在这个。营养风格当中也好,这个IOU这个概念比较重要。我们看一下什么是IOU呢?LU的全称叫做。
interction over unitO那么我们的目标是想找到一个窗口,还有最大的IOUOK还有最大IU我们只看一个图吧,拿这张图来举例,绿色的框是我们真实值。
O红色的框是我们的那个预测出来的这个呃就是矩形框。那么IOU的定义就是说。你这个你们这两框的交集除以你们这两框的并级。直观应该解释就是说如果你这两个框就是你的预测框和你真实的那个框。
你们重叠的部分越多或者重叠的部分越大越好。OK很直观,对吧?我们看哈。当然这个时候,你比方说我我预测出来了很多框。哎,这个时候那个可以稍微回答一下这个呃手机用户633460这个同学的一个问题啊。
就是这个时候呢,我们回答出呃我们先看第一个不第一步。我们首先我们设置一个阀值,就是IOU的这个大致。比如说我设置为80%就0。8%,然后我会当我找出了很多的这个预测出来很多的均匀框的时候。
那么我们看一下,如果你这个IOU的值,我们分别计算一下。当你大于那个0。8的时候,我就可以留下小于0。8的时候,我直接丢掉。那么我们最后希望找到一个最接近的或者是呃这个矩形框有最大要用的值。
这是第一种方法。当然它其实还有另外一种方法,就是说呃在即便你设置了0。8,你也可能找出来很多的这个矩形框。那么这个时候我们可以采取一个非极大值预呃非极大值抑制的方法,这个稍后我给大家再聊一下啊。
OK我们的目标呢就是找到一个最大值具具有IOU最大值的这个框。这个就是我们目标检测的。一个核心的想法。okK就不管你目标检测是用的呃任何一种框架,不管你是哪个分支,我们最后想干的事情就是这个事情。呃。
到这儿的时候呢,给大家看一下,就一更直观的看一下这个呃这个目标检测它是就是它的一个应用吧。OK一个实实力的应用。呃,这个是一个网友传到这个youtube上的,他是那个优乐V视的一个结果哈。
我觉得挺搞笑的,就给大家呃就是剖一下。嗯,那个呃我在这个是个视频,我给大家播的时候呢,大家也可以就是加一下那个我们的这个呃老师的一个微信。OK我再把老师的客服微信,再重新给大家发一下。
就是赵老师的客服微信。O。对。🎼。🎼The。いて。呃,okK这个呢就是一个比较直观的一个就是应用呃,这个。挺搞笑的哈,是周星驰的那个喜剧之王那个片段。呃。老师你问老师。
那个优lo的屏幕指标MAP是什么意思啊?这个这个我没给大家放在今天的课堂上PPT里头。呃,这个MAP呢它的全称叫做呃平均呃。M是MEAN的意思,A是average的意思呃,P是呃那个精精确度的意思。
O它的意思就是说我这个基于不同的IOU的值,我会做一个精确度的那个一个计算。然后我把你所有的这个计算,我求平均就是MAP对,就是平均精度。呃,在我们的那个课呃后面的那个实战课和那个小班课程。
我们会给大家具体讲一下那个MAP它是就是怎么样得来的啊。呃,今天这个课就不给大家展开讲,大家有知道这个平均精度是一个量化标准就行了。呃,手机用户622980,你加一下我们的客服赵老师的微信。
然后呃然后那个客服老师会给你送一个呃。特训班第四期的免单券okK这是一个大礼包。
好,我们继续。呃,在这给大家说一个几个应用吧,就是几个常见的应用。第一个最常见的应用呢就是这个。车牌识别。OK车牌识别。
这个呢当然这个车牌识别其实在很多情况下用比较传统的这个计算机数学的方法也能也能计算啊,这个也是比较用的已经非常成熟,同时已经非常牛逼的一个应用,太成熟了。ok就不给大家具体说了。我们再看一下自动驾驶。
自动驾驶呢是现在一个非常火的一个问题。呃,自动驾驶呢这块儿。自动驾驶其实它涵盖的这个领域比较多,因为本身自动驾驶它就是一个很就是一个很大的话题。比如说我们现在有那个L2L4级别的驾驶啊,那么除了这些呢。
自动驾驶还涉及到,比如说目标检测领域。我首先我最基本的就是说我通过我这个摄像头,我需要知道我前面的路况是什么样子的,或者是前面说有障碍物,同时我需要对这个障碍物,我进行一个更加细致的判断。
它前面比如障碍物是行人还是还是那个那叫什么,就是。呃,哥你叫就是阻挡车辆的那个。呃,比比如我们就说一个木桩吧,好吧,等等。忧郁或者是我前面的是不是一个车辆,那么这个车辆是我对我相向而驶,还是相对而驶。
对吧?如果是相向而驶的话,同一个方向是我跟着他就行。如果是相对而驶的话,他向我驶,我是不是得进行避让等等。这个就是一个目标检测的一个话题,同时我会检测到,我前面假如说我是一个我车辆,它离我太近。
我车距过近的话,我是不是应该报警,就是提醒司机,哎,我应该注意呃,前方有那前方有那个车距过近,我需要那个拉杆车距等等。当然我们不光还做这些,我们还能做。比如说目标跟踪哦。
我们7月在线就是也开设了一个关于目标跟踪的一个呃就是课程,呃,也是由我主讲的。呃,也是由我主讲的那个大家感兴趣的话,也可以去也可以去就是看一下。呃,如果你今晚就报名的话,你可以享受一个很大的折扣。对。
目标跟踪。呃,然后你我们可以加一下赵老师的微信,然后就是我们加下赵老师的微信。呃,然后直接问。呃,具体的折扣是什么?好,我们看一下,除了呃这个呃刚才所说的那个应用以外,比如说行程检测这个行程检测呢。
我们一般可以装在那个一方面装在汽车上,同时我们也可以装在我们的这个监控的上头上面。哎,我们可以算一下它的人流量大概是什么?同时我们也可以呃进行那个逃犯追踪等等啊,我希惯用什么框架。
我现在比较钟爱CSP系列。当然这个也是具体问题,具体分析啊。当然我们也可以做一个就是图像的一个识别。这个图像的识别呢,这不是这个叫建筑物识别。这个是呃例子。比如说当我们旅游的时候,我们到一个某一个地方。
我们发现一个地标,但是我们不知道这个地标是什么。而且我们也假如说我们也不知道这个城市是什么。那么我们想找到这个地标的那个具体的详细资料。我们可以拿手拿起手机拍一张照片,然后把这个照片直接发送到呃。
比如说百度上或者是谷歌上面,然后它就会进行图像的搜索,这个时候会告诉你ok你这个对应的资料。呃。说到应用,我们就不得不体这个工业级别的应用啊。比如说呃物流那个物流配送车,也比如说那个机械臂。
因为这个目标检测其实在这两个就是工业级工厂当中,它的应用是非常非常广泛的。因为我们想实现它的所有的自动化,我们就需要首先对那个目标进行定位。有的同学问我多视角下,如何识别不同图片中的物的是同一个问题的。
你这个问题问的非常好。呃,这个这个问题其实是我们那个目标跟踪那门课程当中的一个需要解答的一个呃第一个问,第一个大问题。呃,简单说用一句话简单说一下吧。其实我们就是呃在多视角下找到这两个物体的这个。
找到这样物体的那个呃相似度OK呃,对基术特征,然后找相似度。比如说你可以用CM当中的最小二乘法,然后你也可以用那个呃深度学习当中的那个那叫。那叫相似度匹配网络okK等等。呃,在我们今天所输出的大礼包呢。
呃有那个免单券那一门课程是的t the floor。但是在我我们就是我所开设的这些课程当中,我用的是拍toOK就目标检测是拍to。然后我们的CP剧业小班也是拍took。呃,我就是除了这个哎这个配送车。
我想那个重点描述一下啊,这个配送车呃,在这个就是我们现阶道的这个抗疫的过程当中,它发挥了很大的作用。因为比如说呃在那个我们拿医院来举例吧。医院我们会有那个就是呃样本配送车。因为这些患者的样本呢,呃。
它其实有很大的传染性,如果你直接用手碰的话,哪哪怕你这个防护也特别强,它其实还是有一定的概率呃被占染,虽然这概率比较低。但是为了保护我们的医务工作人员,我们想做到百分之百的安全。
那么这个时候我们就用配送车来进行运送,当然这个配送车它不是一般的配送车。对于所有的样本来说,它需要在恒温恒湿的条件下,那么针对这种情况就会呃我们就是咱们的国家就会造出恒温恒湿的配送车。
O我们通过遥控来就是告诉这个。配动车你需要达到什么样的温度和湿度,然后我告诉他,你给我把目标送到,就是我们这样本送到哪里去。然后这个小车就会直接呃直接就是把样本运送到某一个地方,然后。
运输到到那个地方的时候,那也有一个就是接待的一个机器人,他把他的那个样本直接用机器来这个就是传就是接收,然后可以机器进行直接分析。那么整个这个过程就没有人为的干预。
除了机器上面还有一个就是医学上也有个比较经典的应用。比如说我们在这个CATT图像当中,我们会进行这个搜索,我们找到它所对应的对应的那个有问题的区域等等。okK这些是应用计算机视觉可以识别出来两张相似的。
可以的,可以的,它都是一个先提取,然后再进行下一步的过程,就是刚才老师给大家提了,比如说slam当中的那个所求二乘法,然后深度学习当中有一个叫做相似度匹配网络等等啊。
呃,大家现在看到这张图片呢。就是一个我只能说是一个大概的那个就是演变的一个那个呃就是算法框架啊。当然它其实还有很多他也没有写上去。呃,不过我我就是在网上找一个,就是哎比较稍微比较一个全的。
放在放到这儿了。但现在看到那个红色呃,像框出的红色线在框出的是呃公认的一些就是当时是具有化学在里程碑的一些一些那个经典的模块。O。😊,好,说到这儿,我们就可以聊一下这个目标检测的三大分类的。
目标检测三大分类。two stages one stage和ancle freeok呃,我给大家起了名,注意这个tto stage我我叫了个别人叫二刀斩。当然这个不是人家官方的名称啊。
人家官方就叫t stages,只是我是这么给大家起了一下。拍照者和他跟副料有什么区别?拍到是facebook做的那个它的flow是谷歌做的,但是有什么区别的话,呃,这个可以说仁者见仁智者见智吧。呃。
为什么我们选用了拍到uch呢?是因为拍到时呃它更多的着重于动态的动态图上,而且它我感觉它的那个更易上手啊,更易上手。其实你只要掌握了某一项,比较精通就可以。只不过现在拍套时用的人用户更多嘛。呃,好。
我们继续回来我们的算法流派啊,二刀斩two stages一刀流one stage和空手道aner free,这个是我给大家,我给人家起的别名啊,人家本身不叫这个呃,为什么这么说呢?二刀斩就挥两刀嘛。
因为我需要两个阶段我来进行计算一刀流我只需要一个阶段我直接搞定。然后这个aner free呢是这么说的啊,就是说呃如果说是最就是。最那个。所最科学或者是最精确的表示呢。
算法留掰只有两种就是二招斩和一刀流one stage和呃one stage two stages但是为什么我把aner free单独提拿出来了,因为在很多情况下呃,这个大家都是基于毛光,因为毛光是什么?
一会跟大家聊。呃,基于这个毛光就是an,其实它所做的工作。但是呢在18年之后会出现了另外一种声音,就是说an呢我们放弃 anchor,我们直接不用aner直接进行预测。
就是通过关键点来进行这个目标检测的预测,它不用aner,所以叫做aner free呃,代表做呢也有呃,所以这个时候我们就会提出来,我们我就把它归到了这个第三类,但是话说回来啊。
这个aner free它其实它对应的,比如说有些网络它是to有些网络它是one stage的,所以这个有的人把这个目标检测直接就分成两大类,人家那个也是对的。
而且可以说是更更那个经就是更严谨的一种表述吧。OK。这个是。这个是这个。算法流派的那个主我给大家列一下,就是主要的那个呃一些经典的吧。ok。看看大家的问题啊。好,我们我们唉我再往下。
我就会给大家具体讲一下那个这三大流派当中的他们具体是大概是怎么做的。然后会拿每个流派拿一个网络给大家大概聊一下这个手机用户479376同学问的挺好的。不过你这个问题是关于sam的问题呃,和这个问题呃。
不是特别和我们今天的话题不是特别搭。呃,vislam我我大是是用心话稍微说一下吧哈,传统的就是比较经典的是那个磁带模型。当然现阶段我觉得你可以更加的关注一下深度学习和这个视觉slam的一些结合,好吧。
呃,我们继续呃,我在讲解的时候,因为我记得前面有个同学问我希望老师做一下自我介绍,我在这我给大家大致做一下自我介绍吧。呃,后面我姓庞,大家可以叫我庞老师或者是CV庞老师都可以。
然后我是美国科罗大大学博士毕业。呃,我现在在美国的一所大学,然后做大学讲师。O我主要的研究方向是深度学习当中的计算机视觉方向。O呃,像主攻呃,我会主攻那个目标检测,然后图卷机网络,呃,还有目标识呃。
咱目标学就不说了,还有目标追踪,呃,还有关点检测。呃,我会主攻这些方向,这也是为什么我会在这个。这是为什么我会在这个我们7月在线,然后主讲这些课程,就是主讲这一系列的课程O。呃,关于这个图卷机网络。
我再给大家多提一下图卷机网络呃,它的简写是GNN注意卷积网络,我们是CN图卷机网络是GNN。然后这个是现在这个人工智能的一个拐点,就是在学术界这个GN是其是现在是非常火的。
所以我们也开设了相应的开设了就是针对这个图卷机网络课程。呃,从明天开始,我们会正式开设这就是正式开讲目标时目标检测。哎,有个同学问我们的实战课程是不是去gitthub,然后扒一下代码。
然后修改修改自己跑数据集。首先我首先跟大家说实战检测,我们不是什么实战检测实战课程,我们更多的会呃就是关注到这个模型的各个细节和模型的演变之后如何推理出来的。这个是我们更关心的。
然后对于实战课程当中的代码,我会给大家就是把这个代码就是直接发给大家。然后给大家大概讲一下代码当中的每一块大概是个什么样子的。然后呃告诉大家怎么运行。但是由于实战课程的篇幅有限。
所以我们不会把代码的一一行一行给大家,就是一行一行去那么抠。呃,然后如果大家想对那个代码就是有更多的了解的话,我建议大家去报一下我们的那个CVA的就业小班第五期那个实战课程里面啊,不是那个就业课程里面。
老师会在手把手带着大家1。1点扣代码,然后呃讲解每一行怎么用,同时如何训练,如何调三等等。就是实战呃那就业课程我们会更更多的关注于代码上。因为实战因为就业课程。
我们的目标就是就业实战课程我们更多的是理论上的那个讲解,同时稍微会给大家稍微讲一些代码。呃,我们会更多哦,因为我的那个课程我们是用的是拍。好,我们继续啊。
我们先看那个分之第一分之1两道展two stagesok。
two stages呢在这儿我会给大家说一下那个maCN。实战呃当然会公示论文,而且在实战课程当中,我会给大家就是讲一下如何快速高效的阅读论文ok。两个班代码不一样。好,我我们继续先讲一下今天的内容哈。
呃,fast RCN和maask RN这个是在to stage里面,我给大家去大概聊一下呃。有个同学问去要自己想找那个开源代码,怎么修改相关参数?你需要报哪个班?呃。
如果你这个代码你不是很就是你下载下来不是特别了解的话,我建议你去报那个就业小班OK因为就业小班,我们的老师会更多的帮你就是调餐,还有写搭建自己的代码。ok我建议你去报那个就业小班。
如果是更多想了解这个代码是就是它是为什么这么大,说白就理论呢,我建议你报实战班OK。对我现在在美国跟大家有时差,呃,这个是客服的一个微信,大家可以就是我们赵老师,我们可以跟赵老师聊一下具体的课程。好。
我们回到我们的课今天的公开课当中。我们先说fa斯呃fascarCN吧,这个fascarCN数据说已经非常老了,现在用的人已经比较少了。但是我们是希望通过它来引出我们的ma斯carCN。
okK对于发sCN来说,就是对于两刀斩这种来说,它的主要思路就是说我首先我用那个骨架网络或者是骨干网络,我来提取这个feature,提取图像特征。提取到图像特征之后,我们就开始分支了。
上面那只我们会找到这个。感兴趣区域,所以我们叫感兴趣区感兴趣区域的生成器。就是说什么叫感兴趣区域呢?说白了就是我们先进行一步预筛选,就相当于我们在那个面试当中,这是你的初示。第一轮。
我们先大概进行筛选一下,找到哪些区域有疑似的图像。OK当然这个是很可能就不是很可能肯定是不准的,就叫预筛选。然后我们在第二个阶段当中呢,我们会在你的感兴趣区域的感兴趣区域上,我们在精确的进行一次搜寻。
找一下里面是否有相关的这些。就是相应的我们所要找到的对象。呃。这个就是所有两道涨或to c的它的一个大概的一个模就是模型。这个有有同学问我图像分纷,关于你这个问题,我们最后讲完课我们再聊吧。好吧。
因为这个呃我们今天主要是讲目标检测嘛,好吧。呃。musask和CN我们给大家讲聊一下mask和CN注意啊。maCN它其实不光你可以做目标检测,就是我上面写那一个找人,我写有找。
其实你还可以找任何任何东西啊,我只不过写了个找人,就是目标检测,它同时在目标检测基础上还做了一个实力分割。那么我们在实力分割的基础上,我们还可以再干进一步,就是做关键点检测。关键点检测。
大家可以感兴趣的话,可以看一下我的另外一门课程叫就是关键点检测实战课程。O在这就不多说了。我们看一下这张图像。呃,这张图像我们是左侧是faster RCN。
右侧是maask RRCNOK我们仔细观察一下它的区别。最大的一个区别注意啊,当然它有很多区别,我只是最大的一个区别,就是maCN是在fasster CN基础上,它增加了一个mas branch。
ok增加了一个m branch。那么相应的。相应的这个呃。它我们的los function也会多一个。在发s上面,它的los function主要是计算,一个是回归的los function。
另外一个是分类的los function。这个回归的los function,你可以把它想做是那个就是我们之前找那个bning box的呃lo。那么maCN因为它多一个分支。
所以它又会有一个mask的lo functionok。我们仔细看一下,首先也是CN区域,这个就是我们的股价网络区域,它的目的就是提取feature。在这儿呢我想给大家多聊一下啊。3D实呃检测的话。
我们在那个实战班当中,就是目标检测的实战班当中,我们其实主要还是呃聊那个图像,就是2D的那个呃检测。但3D的那个检测的的话,我们就我们会那个。呃,就是大家提一下,但不会更多的深入讲解。哎。
微信用户442447同学说的好,打基础就实战,想深挖就小班。没错。哎,微信同学呃,不是微信同学,呃,2442447同学请联系下赵老师,然后收一下我们的大礼包,好吧,我们的一个免单券。
这是我们赵老师微信去呃和他领一下我们的呃免单券。O我们继续在这儿我想更多的给大家说一,就说一个东西吧,就是这个FPN叫做金字塔网络。金字塔网络为什么说在这提一下呢?呃。
因为金字塔网络其实是我们在那个呃实战当中,我们会发现它对识别各种的大中小物体会有一个非常好的一个效果。哎,我记得前面好像有一个同学好像问过我一下,关于这个如何识别小物体。呃,在这说一下啊。
金财网络其实它有很多的形式。呃,当然这个是在预测这块有很多的形式。一般我们大概我们可以归为四类。我们今天主要说一个比较经典的一类,这个也是在那个优录V3上,就第三个版本上呃应用的比较广泛的。
okK就是说我把我的这个图像,我们先看最左侧那个图啊,这样吧,我们先看这张图,这张图我们从下往上看。最下面最下面的这个图呢是我们的输入图像,然后我们依次往上我们进行降采样。除非这样来样。
就是我把它这个图像缩小OK。Oh yeah。然后这样的话,我们呃这呃也也不能说图像缩小,就是说我经过我这个卷积层,我经过不同的卷积层之后。
然后我每一层我都会把它就是相应的这个得到这个fishature的这个大小会注意啊,我不是说深度,我只是说大小,它会进行就是一个相当于呃res会降低,就是分辨率会降低。那么随着卷积的层数增加。
但是大家不知道还记不记得我们在讲第一个top的时候,我们说那个呃在那个卷积的层数比较浅的时候,我的语翼是非常比较低的语义。比如说我找一些结构,一些颜色,但是随着卷积层数的加深。
然后这个时候我所得到的语义也是比较丰富的。OK那么随着卷积层数的增加,高级语义信息也会越来越丰富。但是问题是分辨率也会随之降低。O这样就会导致一个问题,就是说。
我在顶层的或者是我在呃深层的转接呃的结果上面,我虽然我会有很多的高级语义。我知道哎这块是猫,那块是狗,但问题是。你忽略了小物体的一些信息,就因为你的分辨率很低。所以如果你在顶层。
就是仅仅在顶层呢提取你的特征,再然后再进行目标预测的。这个的预测效果不是特别好,它会忽略略掉小物体的检测。okK它只能检测出一些大物体。所以这个金字塔级点网络呢。
它的想法就是说我在我不同层上面我都做预测。O那么你的小物体的话,我在我也做一些预测。但是我会在你这个呃就是分辨率比较大的比较浅层的卷型上进行预测。就是我们现在看到的这个图像okK就是这样给大家提一嘴啊。
这个就是FPN。在我们的那个课程。训练时候,如果说你最优的卷机尺寸。我姑且认为你是在问我那个感受也OK在我的那个目标识别的那个。实战课人的第二堂课,我会给大家讲一下这个感受也啊。通常大家用的。
比如说3乘3或者5乘5。当然这个也具体具体的分析啊。或者在实战课程当中,我再给大家回答这个问题。马斯奥西恩的第二部。就是提取feature啊,不是不是说错了呃,不是提取feature。
是找那个感兴趣区域。在这个地方呢,我们这里需要给大家就是聊一下这个anker,就是毛框。我们看一下,以这张图为举例。这张图像当中它的毛框,我们假如设我们随便找一个点。就现在大家看到这个张毅手上拿着头盔。
上面有个红点OK这个红点。红点上面我们就以这个区域为,就是这个中心区域啊,我们找它的毛呃,我们就是呃用毛框来进行判断一些,就是这个物体的。就是这个毛框里面有没有物体,有会有没有我们山想找到的对象。
但是这个毛框如何定义呢?什么叫模型融合呢?你想做那个特征融合吧。就是这个毛方的那个大小怎么定义呢?你比方说我可以哎用这个正方形,不同大小的正方形来定义,我也可以用这些长条形。来定义,对吧?
当然我也可以用数的长效性来定义。那么如何定义这个毛框,它就会出现一个问题。因为你这个毛框我是在你这个图像当中,我会把你分成就是大小不等的这些小的网格或者小的sell,我给小的网格。
然后我针对你每一个网格,我都会把我预定义好这个毛框。哎,我丢进来,我根据这个毛框,我来找里面有没有相应对象。那么这个时候就会出现一个问题啊,那个毛框如何定义?你看一下啊。在那个网络的训练之前。
我们会给毛框有两个值。第一个值是它的那个比例,就是长宽比例。我们比如说我们0。51和2,那么对应出来,就大家现在看到这个样子,同时我们还定义出这个skills。
skills就是说它这个是多少个pelok呃,当然我估计有同学肯定想问我,你这个大小是怎么来的呢?我不知道大家自己就是呃在那个训练网络的时候,有没有更改过这个毛框的这个节节预定义啊,这个毛框的定义。
他的依据是。以coco举例,coco总共有80类,那么它这个80类。coco提供的官方的80类上面,它会同时给你一个annotation,就是标注文件。那么我们可以用剧类的思想,比如KNN思想来。
你把这80类所对的就是所有的那个毛框,就是我们比如说我们呃分成大概就是我三大类。那么这三大类的意思就是说它的按套它的大小和比例来进行划分。那么最后可以。得出就是我们那个对K k music啊。
最后得出这个我们现在这个呃就是resure和这个skills的那个值。O。那么根据这个毛框,同时呢我们也会只是找到就是关于不管是毛框也好,矩形,就是我们就做预测的矩形框也好,我们都会有这个。
对应的4个值,这四个值呢有两种,就是这个表示方法。第一种是。角点X1Y1和X2Y2就是通过左上角的点和右上角的点,我们来找到的最就是这个矩形框的这个具体坐标。呃。
也可以通过中心点和这个矩形框的宽和高来就是找到这个矩形框的精确坐标。O。😊,这个是一个毛框的第一。在那个RPN那个阶段的RPN就是reion network,就是说感兴趣这我们来找个感兴趣区域。
大家看这个图啊,这个是一个比较经典的那个fa那个图。首先看那个网格,这个网格就是我真实图像,就是我把这个真实图像我切割成呃不要切割,就是划分出来多少乘以多少的这个小的网格小的sell。
然后我根据这些小的sell,啊我在它的每一个点上面,我们来精确的就是找到就是按根据这个毛框来,我们来找这个呃具体的里面有没有这个目标,那么这个时候。我们看就是最上方,我们最上方它会有两个分值。
一个是2K Sc。它这个是我们是找分类,为什么找2K score呢?我这个地方我找的是前景还是背景,它说白就是二分类问题。O是前景的话,说明哎里面有我感兴趣的这些目标。如果是背景的话,我直接个忽略ok。
另外,4K coordinateiness我这个做的呢啊是一个回归问题。为什么要回归问题呢?我是为什么叫4K为什么叫4K。因为我想找我这个矩型框的四个坐标值O4个最标值。我们之前虽然有毛框。
就是我们预定出来一些毛框,但有个最大的问题是你所预定的这个毛框,我不管你是K means还是KN等等这个你找到的你的这个各种比例啊,各种大小,我不管你怎么找到的但有个最大的问题是你所预定的毛框。
你和我最终找到的预测的这个矩型框的大小,那根本就不匹配,对不对?那你也可以说哎恰巧它匹配的,那是恰巧的问题,但绝大型多数情况下,你的这个毛框的大小和你的预测出来真实的那个呃目标目标的大小是不一样的。
那么这个时候我们就需要做这个回归问题。目的就是说我把这个微调毛框让它和你所准备的真实值就光数字越接近越好,这就这回归问题O。我们可以对你这个固定大小的毛框进行微调,拉长拉宽变胖变瘦都可以。呃。OK。
我们看一下。总结一下啊,那么他这块一个是呃ma萨CN,他会首先对你各种N多的后远光进行过滤,按照前景呃来那个前景的得分来进行排序,而不是对应该是得分来进行排序。同时对你前6000个高分候选框。
然后配合你的那个回归值。然后我根据你这个高分后仰框,我来记来那个就是筛选。你看这个是七龙珠的一个图像,我想找到是那个龙珠的具体位置。紫色框是我的真实的呃,浅蓝色的框是我的预测你出来那个框。
我的目标就是让浅蓝色的框越来越靠近我的真实的那个紫色的框OK。那么这个时候就我之前有同学问我,就是说。假如说你这个框呃,你发现我们预测出来这个框,你的IOU也很高。
虽然你我取了假如说IOU值我临业值我取了0。9%,就是大于90%的这个分数,我才把它标标注。但也有可能我这个框它左移右移上移下移的一个像素,呃,对吧?那么这个时候你的这个。它的职业也很高。
我不能我怎么办?我们就用极大值抑知,就是说我取里面最完美的就是说分数最高的那个,然后我只取它其中的一个就是我们就NMS在过滤的方法,极大值抑制的方法,我们来找到最后的那个唯一的一个框。呃。
说一下最后那个branch啊,就是mask branchnch。之前有个同学问我这关于这个图像分割的问题。在这儿我给大家看一下这个mask branch,就是maskRC因为它这一块它就是做图像分割。
它做的实力分割。我们看一下它这块具体是怎么做的,和大概是什么样子。呃,这张图像上面它我们现在看看到的这个比较明显的这个区域啊,这个呢就是mask和CN的那个第三个就是多出来的那个分支。
就是msask分支。我们可以看最后一层是28乘28乘80,28乘28是它的fish值大小,这个不用管,为什么说乘以80呢?因为针对coco来说,它有80类。所以我们乘以80。okK我们这有个mask。
我们具体看一下。这一张图像。在这个地方呢,我已经找到了这个穿红衣服的一个人,这是我想找到的那个对象。然后我如果做mat的时候。注意看,这个是我第一次就是我预测出来的28乘28。我以像素级别。
我大概对它的轮廓进行一下抠,就是抠出来。那么下一步我还会再做一些微调,就是精细的微调,使它的边缘,然后就是越来越光滑,越来越柔和。那么这个就是我们所做的那个mask,它的那个具体在干什么。
就是说我要找出这个轮廓的具体的那个样子。现在大家看到就是mask那个大概结果啊。OK说到这儿,还是希望大家啊在今天在这个优惠期间呢,就是今天晚上直播当中呢,呃我就或者直播课结束的时候。
你加一下赵老师的微信。然后如果你报就业班第五期的时候,会有在原来的优惠价的基础上会有一个更大的折扣,具体折扣是多少,请大家咨询一下赵老师,当然这个名额是有限的。另外关于我们实战检测的话呢,我们会。
我们会在第三堂课。呃,跟大家聊一下,就是这个主题网络啊,就是第三堂课会跟大家聊一下这个。to stage具体的问题,我们具体看。
我们再往下看这个关于这个第二个分支,我们叫它一刀流。
一交流呢,这个我会以SSD给大家,就是大概举个例子,它的那个前面第一部分它还是feature instructor。当然它必须得通过CN骨干网活络来进行提取。然后我最后骨干网络,我所提取出来了之后。
我只有一步就是直接进行检测物体。公开课会有回放。会在周一或者周二时候给大家挂到我们的官网上。啊,但是看回放的时候,那个呃这个大折扣和。我们的大礼包就没有了啊。
这个只有今天直播课程当中会就是加赵老师的微信,我们才会出现。呃,我们大概跟大家聊一下SSD的那个结构吧,这个SSD是。三就是三个机构他们所就是推出来的哈。
他们所推出来的SID当时SID推出来其实也引起了一下轰动。嗯,他为什么叫SID呢?叫single short multi box detector?就是我就是我通过一个shot一就是我通过单次。
一阶段我直接得出来结论。我们要给大家就是讲一个比较简单的。其实用一句话给大家概括SSD的思想呢,它其看起来很简单,怎么说呢?一句话概括啊。SSD说白就两步特征提取和检测目标说完了。
当然大家要是这么说的话,感觉哎你这老师怎么就是说的也太简单了吧,你要这么说,我也会讲课了,对吧?我给大家具体讲一下,为什么说白就这两部呢?特征提取和检测目标。我们先看第一步啊,特征提取。😊。
大家看那个图。这个图呢。我们先做第一步测征提取这个图,你看左面这部分,它其实就是VGG16的前几层。注意,就是危机意识的前几层。O。😊,这前几层呢,比如说你现在我给大家抛出来V16啊,它会把。
你的在这个地方就是conmotion4第四个大block的第三个小层,它在这儿进行一个截取ok。那么这个全前面我用VGG16的特征提取,然后我在10个VGG16的第四个block。
第四个卷积block的第三个小层,然后我进行一个提取。然后我下一步就是检测目标。OK我在这儿截取之后,我在这儿的feature进行检测目标。举个例子。呃,拿这张图像进行举例啊嗯。呃。
在这个康路413之后,下一步呢就是进行目标检测。我们看这个图。那么我们的目标就是说我们把你这个输出画成这个以网格的形状来画出。这儿我画了个8乘8的网络啊,其实呢它真实情况是38乘38。
当然我如果画这个38乘38太细了,所以我以8乘8来给大家进行举例。我把它画成了8乘8的这个空间网格,我们把每一个网格叫做sellO就是叫或者单元格。
我们对于每一个单元格SSE都会根据这个毛预预定好的毛光做4个预测。然后我们每一个预测都会有一个矩型框来框注,就是我们现在大家看到的这个,然后我每个进型框可以给21个分数。这个分数代表每一类的概率值。
它所谓的211个分类呢,其实是我做20个分类加一这个20个分类就是我们自己定义好的20个分类。然后加一呢,这个为什么加一呢?一代表背景,就是有一类有一类呢作为零代表背减,也就是说如果有背景的话。
就是说没有被检测目标?所以这个为什么是21,就是20加1。那么在这个呃康入士4杠3这一层呢,我们相当于做了38乘38乘4的一个预测。乘4是因为我们做一个矩型框的一个预测啊。O。呃,四个均光。
所以说四个预测。当然呢可以想象啊,其实你绝大部分预测什么都找不到,对吧?因为你是个背景类。然后我们再看SID呢,我会给不同的类,我们会做一个就是每一个我会做一个分数。okK就是我们看到的。呃。
然后这个分数我给大家具体举具体说一下啊,我们以这个来举例。SSD它没有PN这个区域候弦网络,它没有这一步,因为它是one stage的。那么它会用一个简单的方法来就是取而代之。
就是说我SSD计算的位置和类的时候呢,我用的是小卷积的这个filter。在特征提取之后,我在每一个cel上,我用33这种小的卷积来进行预测。我深度为25,为什么是二手呢?21加4。O。
21给大家解释了这个四就是做一个4个距离方的预测。呃,但是呢。刚才说的是比较简单,但是其实SSD上面它不光光只做了一次预测,我也不光光只做了一次预测。呃。
刚才我们讲的是在VGG16的con4-3后面做预测,但实际的应用人家还会在后面再接我的这个呃CN的后面后面那一部分。
然后我对每一块我也进行一次预测O大家还记不记得我们之前讲那个FPN的时候给大家提了一下,随着你这个卷卷积网络的这个层数的加深越深的层数,我高级语义越高。但是同时对应的分辨率越低。
那么这个时候所以说呃SIT它做一个非常滑头的事,就是说我对你每一个最后CN的每一个那个卷积块,我都做一次预测。我用你的高分辨率,我来检测小物体低分辨率,那么我来检测大物体O。
这个是一个它最后那个总的结构图。3乘3预测和 anchorker是啥关系?3乘3跟3是那个我们的那个卷积的那个卷积盒,我是用它来我进行就是呃划窗式的。我找里面有没有目标。anker呢是我们就是之前讲的。
我如何确定我的感兴趣需求,或者是我如何来根据每excel,我来找那个我来进行预测,我是根据那 anchorker值。ok我是根据那个 anchorker值。这个不是特种融合啊这个不是特种融合。
这个就是我针对每一个每一处我所得到的这个特征,我来进行那个进行预测,它不是融合。当然在那个unlo上面,它会有一个融合的过程,但这个地方它不是融合。我们看一下。
这个是他那个最后的那个大概的那个呃完整的那个结果。但是我想说是啥呢?就是说如果我把所有的这些就是我在每一块我都进行预测呢,它的这个精度会高,但是呢速度代价的速度会放慢。O在这个论文当中。
它会说如果我全部加上之后呢,我的速度会比完全不加。减速20%OK减速20%。呃,要提醒大家的时候,在某一处它会做一个6次预矩形框的预测。O。呃,在那个我们的目标检测的课程的第三堂课。
我们会给大家更多的就是讲一下呃全链接。呃,我们会给大家更多的讲一下那个就是它的具体的那个过程。呃,今天毕竟是公开课就给大家大致介绍一下O。又到了我们送大礼包的环节了。
我看一下前半有哪个同学呃特别爱提问哈哦,我大概扫了一眼哇,这好多手机用户这个尾号老是有点那个嗯,看着有点懵逼。那好吧,那个我是我就看一眼这个手机用户呃,4598849问老师能不能给个,那那就拿拿走一个。
我们拿走一个大礼包,好吧。呃,然后请同学加那个我们的那个客服微信哈,就是479376同学加一下我们赵老师的微信,问老师要一下呃。
再往下聊一下啊,今天聊时间比也比较长,时间也很久,我们快速先我们快速先把这个呃分主要的分支聊完。然后第三个分支呢确实是控手到aner free。当然讲这个时候我还给大家听一下。
它这个有的人呃就是并不承认这是一个大的分支。因为更严谨的来讲来说,我们其实只有两个分支,一个是one stage,一个to stage,只不过是为什么提出了第三个分支呢,第三个分支。
其实它主要是说我前两个分支主要的思想都是利用anker,利用毛框来进行一个预训练。呃,然后对于那个呃第三种分析是我完全我不通过我毛框来进行检测,我通过关键点来进行一个预测。但是呃针对不同的网络。
就是针对这个分下不同的网络,它其实有的也是一个run stage,有的也是tto stages。所以有的人也会把它归进去。
OK这是这么说。呃,给大家是,比如说呃对,讲这个之前,我给大家说一下那个。沙漏网络模型,因为这个他们都是。不管是connet或者是conconnet light或者是sernnet。
它主要都是第一步它提取模型就提取特征,它用的都会是那个沙漏模型。我给大家大概聊聊一下大家看啊这个沙漏模型,那个CN,我们先说CN啊,CN它所造成的这个features。
呃,它所造成的features。它大概是这给大家列一下,大概是这个样子的。我们可以看到在那个第一层的时候,哇,这个雨衣真的是太太低级了。然后在是很高级的时候会出现,比如说人脸的一些模型。
我给人脸的一些模型。
呃。那么我们就认为在这个CN当中。CNN当中,比如说我在某一处,我可能以人来举例啊,我找到了是这个人体的这个胳膊。因为人体的胳膊其实它这个还是比较好找的。它的信息不是相对比而言不是特别丰富。
我们假设啊注意这里只是假设在浅层的某一某一处呢,他找到的是这个一个胳膊,然后在深层的某一处,他发现的是人脸。OK他家发现的是人脸。那么呃去沙漏网络呢,它主要的贡献就是在于利用多尺度特征来识别姿态。
OK识别这就是识别我们这个目标。呃,像我们以前的这种就是估计姿态的这个网络结构,就普通的CAN,它一般会用最后一层的卷积特征,这样会造成信息的丢失。但事实上呢,对于姿态估计这种关联性的任务。呃。
我们一般最好是在不同的呃就是在featuresfeatures之之上,我们同时不是不就是我们找一下这个呃识别精度ok。那么这个就是沙漏网络的一个大概模型。为什么叫沙漏网络?
你看这个长得是不是非常像那个横过来的沙漏O。那么像比如说我们想理解人的姿态好,就拿这来举例。对于一些高级的任务,比如说行为识别来说就比较重要,而且这个行为识别也是这个人机交互的基础,对吧?呃。
像这个我们做这个所谓的沙漏,我们会把图像进行下载样分析,然后上载样分析,然后再进行,这是第一个沙漏模型,然后再进行呃下载样分析和上载样。针对它不同的分辨率。我们可以做不同的文章。
这个是一个大概的那个沙lo模型的一个就是结构图。这沙布模块结构图沙漠模块的那个。呃,设计初衷就是为了捕捉每个信息尺度下的信息,比如说图捕捉脸和手这些部分的时候需要局部特征。最后对人体姿态进行预测的时候。
又需要整体的信息啊就等等。啊。具体的那个我们会在我们的那个目标检测上面给大家就是讲的更细。这样给大家大概提一下,另外给大家提一下就是。呃。这个关于he map。呃,鬼魔同学问这个跟resnet有啥区别。
这个好像跟啊我明白了。你是看到这个地方是问我这个跟ressonnet是不是是不是长得很像,对吧?你注意啊,resnet它只是一个思想,它的思想就是说我为了防止梯度消失。呃。
然后我把我前面的一个feature,我直接引到后面你要看字你要猛的一看这个模型,它确实跟ressonnet很像,但你注意它这个插作模型,它更重要的是就是说我下面这个分值,我下面这个分支。
我更重要的是什么呢?我就是说下采样再进行上采样,但是这个上下采样的方式有很多种啊,比如说直接采样,你也可以用p的方式进行降维。要等等那个resite它没有这一步。
reite就是直接就是进行1个CN的那个卷基层就过去了啊。再再给大家说一下这个headt map。因为在不管是你关键点检测也好,在安ual free的这个思想里面也好,它重要其实是找一个点。而这个点呢。
它我们会总提出headt map或者热力图。那么什么是热力图呢?我先喝口水。什么是热力图呢?这个热力图其实说白了就是那个高斯概率图。他你你比方说我现在这个人拿最后一张照片来举例吧,就是最右面的照片。
这个是人的这个右脚踝。okK那么你可以看到右脚踝的部分,它会有一个非常发光的那个点,非常亮的那个点。看起来像热力的意思。
它这个点的意思就是说在这个地方出现角踝的概率是最大的OK所以热力图它其实就是一个高斯的这个概率分布图,就是在某一处,那就是在整个这张图上。呃。
来每一个每个上素点都代表你出现我们想找个对应的这个点的概率值。OK蓝色区域就是代表着这基本上这个概率很小,可以忽略。然后最亮的那个红色区域。红色区域啊就代表哎这个地方出现的概率是最高的O。
给大家聊一下colnet。col net是第一次提出aner free思想。我印象是在2018年吧。好像是2018年。呃,他出现了一个就是第一次说X free啊。
他的想法就是说哎我在你这个我不找你的个目标框了,我我因为我没有毛框的设置,我直接去找点,我找你的左两个焦点,一该是左上面这个角点和右上面这个焦点。我用这两个角点,我来代替你的bonningbox。
就我直接找点。OK这个图就是他那个cornet第一次2018出现的第一次出现的那个大概的一个结构图。OK在2019年的时候,cornnet的原作者。
他提出了那个cornet改进版叫cornet light。一会给大家稍微提一下。我们先看cornet啊,这个是它那个结构图。我们可以看出最左面输入一张图像,经过call呃,经过卷积层,它会有两个分支。
注注意啊,这两个分就不是两个tage啊,它不是它它是一个tage。一个t呃,它会有两个分支。第一个分支就是说我找我左上角那个点,我下面那个分支是我找右下角那个点,然后我找点的时候,我会找两个东西。
一个是找我的he map,刚才给大家解释过了,就是说我所找相应的点在图中出现的概率值。那么它同时还出现了另外一个东西叫做embedding嵌入 embedding它的意思就是说我你这个点所在这个位置。
我从过 map不找到了吗?然后我inbedding就是说我在这个位置上面,它的这个特征属性,我把它按这个向量的形式给它列下来。那么这个就是inbedding。那么大家可以想一下。当我不停的找到这个时候。
由于你看我这个头像上我有两个人,那么这个时候我就至少能找到两个左上角的点和两个右下角的点。那么我如何来判别哪一个左上角的点对应哪一个右下角的点呢?就说白就是我如果组队,那么他的想法就是说我。
我通过直接计算inbody的相似度,就是说我通过计算你属性的相似度,我们认为相似度越高,那么这两个点越可能成为一组点。OK这就是框业的核心思想。呃。
在那个当然它其实还有一个东西就是offsetoffset就是进行微调,就是进行修正。因为我可能找偏了进行修正。然后我们呃再跟大家多聊一下这个cor pullinging。因为在那个提出来之后。
qua pullinging的思想呢是呃它一个非常新颖的思想。corn pullingdding就是说是作者在connet提中的一个新的使法方式,在之前都没有。呃。它这个呃方式呢它比较巧妙。
ok我们看一下啊。这个是以那个左上角的点为举例。OK但对于第一组的那个feature map呢,它会按从左向右就是横向我从左向右的这个顺序。我选择已经划过的范围的最大值。
对于第二组的fishsure map,我会由从下到上我的顺序选择这个已划动的范围的最大值。OK它的动机就是说我们为了更好的适应co的检测。估计大家听到这有点懵,老师你在讲什么呢?
我们给大家看一个更细的例子啊。这个更细的例子。这个例子呢就是coum pullinging的就是一个想法。我们先看先看上面上面那一行,上面那一行呢我是从右到左,我找一下,因为我找左上角的点。
我就是从右到左。呃,同时我的第二个先第二个好像我要从从下到上,这样我们能定位到左上角这个点。如果你想找右下角那个点方向是反的啊,跟大家提一下,方向是反的。这个是左上角的点为例。首先我从右到左。
那么我依次找我相应的最大值。比如说我的像素是21302,那么我从右到左找的时候,我这个先从二开始找ok我的最大值是2找到0,那么我的最大值还是2,然后再往下找找到是三像素3。
那么这个时候我的最大值由二变成了3,再往前依次依次找。再然后我是从下往上找,是一个意思。当我找完之后,我进行相加,那么我就可以找到每在对应的像素点的最大的那个ping。
就是coin pullinging那个值是多少?这个就是conin pulling的一个呃就是想法。当然他这个connnet它当年在呃。提出来的时候,它的是一个缺点,就是速度比较慢okK速度比较慢。呃。
有这个速度慢的时候呢。呃呃,所以在19年4月18号的时候,connet出现了它的一个新的一个。就是一个升级版吧。这个升级版呢呃就会。解决速度慢的问题。大家想一下速度慢,我可以怎么样解决呢?
其实第一个解决方案就是说我减少处理像素数量。那么第二个想法就是说我不减少像素数量,我减少你每一个像素的处理量。okK那么针对这两种思想。conlonect它出现了两个变种。
一个叫做呃conect second,一个叫做squeeze。O。然后second呢,它可以是比较适用于离线处理。它可以在呃它将corronnet在co上的效率呃提高了6倍。同时AP值也提高了1%。
另外一个squize会用于实时检测,会用于实时检测,它可以提高目前主流的实时检测。呃,且当然啊它是跟优乐V3相比啊。呃,就是相比一个是进行实时,一个是进行那个提高检测效率,一个是提高检测的准确度ok。
这个就是conronnet light的一个大概的思想。给大家稍微聊聊一下,因为时间也不早了。稍微聊一下这个框带呢,首先从右上角开始往下看啊,它找下先降怎样,它在降怎样的地方呢。
我通过这个就是刚才我们聊的沙漏网络。我在不同的地方就不同的那个阶段,我找到了不同针对不同的那个呃分辨率、小物体、大物体,还有中等物体。然后它比较一个强妙思想是,它引入了attention maps哦。
对了,在我们的那个目标检测第四节课,我会给大家聊一下那个tion就是attention这块是具体怎么怎么做的啊。maps呢它就会我对不同的物体,我会进行那个不同的注意力的区分。然后我在当你找到这些之后。
我根据那个注意力比较大的呃注意力就是注意力的那个相互程度,我会找到一些候选区域。那么这个候选区域这个大概那个位置,然后我会选择前比就是排名比较高的那个K,我来再进行第二次的我仔细看。
那么当我找到排名比较高的这个前K的那个区域呢,我这个时候我还在我的将怎样的那个图像上,我这个就很难区分。那么这个时候呢,我会返回到原图,我进行一次切割,就是把原图上面呃高分辨率的图像,我切割下来。
然后我再经过一个那个沙拉网络,然后我再具体的看出来它里面到底对应的是什么样的目标。这个就是con个思想。当然connet它在connet基础上,除了这个想法之外。它还有很多就是其他的小的技巧。
在公文课我们就不再给大家具体聊了。到时候就是在去正式的实战课程当中再给大家具体讲解。还有一个是centernnet啊, centerernnet是在特别特别逗。colnet在18年提出之后。
在19年的4月18号它进行了改版。第二天,sternet横空出世,sernnet他会说他说的是让我针对connernet,他提出的一些问题和一些解决方案。但是没想到一天之后。呃,不是呃。
没想到一天前就是他正式发表一天前connet已经做了该版。但是这个centernnet它这个思想也是比较强妙的。什么叫centernnet呢?顾名思义,我就是找那个最中间的那个点。
为什么他为什么这么说呢?他认为corronnet我找两个角点,这两个角点呢,它会因为它不是很代表这个目标的这个语义。大家可以想想你这个角点这两个点其实都没有落在你这个主体目标身上。
所以你这个feature找起来,容易去找那个图像当中边缘的点,这个就是corronnet就是第一个版本,它会出现的一个问题。紫色框是我的真实真实框。给波同学说的好,一个外国名字都看不到。跟大家说啊。
在我们人工智能领域,如果这篇论文没有中国人的名字或者是华裔的名字,这篇论文基本不用看了。咱们中文就这么有自信。ok。我们回回到回到这个地方看啊。Sternet呃。呃,这个图紫色是我真实的,我想找到的。
红色是我找是预测出来,找它是找偏了的啊。就是因为呃刚才我们说说的,基于关键点的one stage的时候我直接找角点,它无法感知内部的具体信息。所以我这个就它会更多的对那个边缘处,它感兴趣就会出现了偏差。
我也就是出现了偏差。所以说三net还要提出来一个理论,就是说我干脆我就直接找我这个中心点吧。因为中心点一般来说,如果中心点它是落在物体上,我通过它非者分析落在物体上,那么说明我这个框是找对了,对吧?
如果说我这个中心点落在物体之外,哎,那么我们就说明这个框是找错了,它其实就是这个思想。
这个是它的一个大概的样子。你看它把one stage的。connet变成了toth stage。okK为什么to stage呢?它是多加了一个啊,多加了一个,就是说我上面是上面那个stage是找小点。
下面那个stage,我是找中心点。O我是预测中心点,说白了sernnet就是corronnet加中心点预测。这是三ter铺in三ter铺in的他的想法呢。它其实是跟cor站非常接近。
它就是说我不光你这个呃找那个cornet同时,我在你我水平方向求最大值的同时呢,我再算一个从头到左的这个3net。然后再把你水平和垂直相加的这个结果,我直接找到三net这个时间也不早了。
这个三ternet子那个就想法,我们具体在那个课程当中再给大家讲。在那个我们小班就是小班上面呃和那个实战目标检测上面,我们都会给大家具体说一下。在实战的那个课程当中。
第四堂课会给大家具体讲一下他是怎如何改进的okK。又到了送那个免单券的时间了。呃,从上次送免单券到这次送免单券,鬼魔同学,你去呃,我你哎鬼魔同学,你问我们的那个赵老师呃拿一下免单券,好吧。
关于课程咨询的。哎呦,这突然突然出现两个同学啊。啊,没问题,那现在时间也不早了,也感谢大家陪跟老师聊了这么久那个。😊,哎呀,手机尾号太长了,这383同学。376同学437同学多问老师要一个,好吧。
这是老师的微信。大家记一下,给老师发送过去。好,我们现在接着聊,大家不着急啊,我们还有一个话题。
呃,是讲那个英乐V4的,呃,讲完这个之后呢,呃就是我们再给大家具体聊一下ok我们还会给大家送礼包,大家先别急。
优乐V4凭什么这么狂呢?呃,先跟大家说一下哈,市面上出现了一个优乐V5,但是在科学界我们不承认优乐V5,它应该叫这个名字,它是一个投机取巧的。优乐V4在呃西安系统约有你呃。那个呃说到哪了?
在就是在科学界,我们只承认优lo到最经典的版本是UloV4。为什么这么说呢?因为大家可以看一下那个之前的那个优lo版本。我不管是UoV1还是UoV4,它都会出现了一个就是呃很大篇幅的一个进行改进。
就是结构的改进结构的变化。尤其是前三个。呃,U乐V5科文也不是很认同啊。呃,优乐呃,这个是优乐之父叫Joy,这哥们儿非常厉害。
但是由于那个呃他认为美国就是国家就是他利用那个呃他的成果进行一些军事上的一些就是应用。所以他愤然退出了计算机视觉圈O愤然退出了计算机视觉圈。呃,但是呢U了V4是呃这个是一个俄国人和两个台湾人。
他们呃就是。中国台湾省人每次看到他们就是写这些台湾都让我很生气。他们应该写台湾后面的逗号china才对OK我们接下这聊啊,就是一个俄罗斯人,他是一座嘛,他把这个就是做出来优V4。但是呢虽然这个优乐之父。
他并没有参与,但是优乐之父也对他这个第四个版本给予了高度的一个评价。他是比较认可的。所以我们也把这个优乐V4呢,就是认为是优lo到目前为止的一个最新的版本。至于优乐V5那个说句实话。
那个有点那个背离了优乐精神啊,呃,那个我们并不承认他是第五个版本。那这时候也可以是我一家之言啊,呃,如果就是当然有的人我就认为是第五个版本,那当然也可以啊,仅代表我个人观点。哎,手机用户缴了。
同学说错了呃,是是说是说对了,说对了是说对了。我正想说这个优乐V4可以说是认为是目标检测算法的发展概况,也可以或者是算法调和手册。你说的很对啊。其实到这儿,我们基本上。已经聊了两个小时了。
坚持到现在同学都是真的勇士。呃,我们也为了现在已经10点半了,让大家早点休息哈,大概稍微聊一下吧。为什么这么讲呢?U6V4它在前期它讲的主要两个东西,一个叫做backag of freebie BOF。
一个叫做backag of specials。你要执译过来,一个叫做赠品,一一个叫做主餐。我第一次看到那时候其实很懵逼,是啥意思呀?怎么跟吃也挂上勾了?其实呃这个赠品和主餐呢,它都是用乐V斯。
他大概讲了一下,就是说我他首先他做了一个总结啊,就是总结。比如说BOF里面数据增管的方法有哪些呃,网络智动化的方法有哪些,或者是就等等我就不给大家一一读了。同时在那个第2个BOS里面。
他也就是给大家总结了一下。就是说我这些比如如森的感受也的方法。就是等等呃,就是呃他会有这些的东西,他做了一个列举,然后用。呃,很简短的几句话。大概概括了一下。
就是这个BOS呃就就是就这些呃各种小的这个cherickcks的一些方法。在我们的课堂当中,第五次课我们也就会给大家讲一下这些具体的这些方法。它的是什么意思。它如果实现就是在那个目标检测实战班第五次课。
在那个就业小班第五期里面,呃,在那个代码的就手把手教大家,就是写的时候,那个会直接就是给大家就是也会给大家应用到这些小的方法。最小的方法在这儿我就不给大家一一讲了。我一旦讲开,今天晚上我们就可以通宵了。
呃,看一下优6V4,直接给大家总结一下啊,它的组成部分就有就3个。一个是呃backbone,它股价网络使用的是乐V3,但是的那大概在53,但是他用了CSP的思想。
这是为什么在第一第一个top里面要给大家聊一下CSP它的那个nck部分是用的SPP和PN部分也是用的乐V3里head呃,具体我会在实战课中给大家讲,然后在它的那些改进方法当中。
我给大家用那个红红色的表标示出来,这个红色就是它所采用的方法,那给它所采用的方法。了V4它是用了各种各样的方法,然后给总结出来,就是说这些方法是最香的。这些方法是最小的O。最响的太香了。我再回到这儿啊。
所以说呃就这么说吧,好像是在那个。学术上面创新不像呃前三个版本那么来的呃幅度大,但是呢最难能可贵的是它的落地感特别强。就是说白它特别它的工程,它能够实际落到工程上面。因为它也经帮你设了很多很多种情况。
然后最后告诉你,哎,这些情况是最好的,所以说它实际上它是非常香的。嗯。在我们的第四堂课呃第五堂课当中会给大家讲一下具体的。呃,会给大家讲一下具体的那个就是方法。在第六堂课当中,除了讲优乐V4。
还会给大家讲一下那个以facenet。因为以facenet个人认为是到目前为止最准的一个网络。优乐V4是最快也是比较香的一个网络O。实战班有折扣,在今天的话请咨询我们的老师。哎,对我跟大家说一下啊。
去领优惠券的时候呢,呃去去加一下赵老师的微信。如果说是要呃咨询课程的话,请就是直接就是找我们的客服,然后或者是直接就是在那个微信群里面加那个群的那个呃你相应的那个咨询老师。呃。
相应的就是我们7月3天的一些老师直接问他,就是跟大家说,就是我们今天想报班,不管实战班还有就业班,我们都会在现有的优惠折成功上,还有大的折扣。但是那个名额是有限的。呃,就是希望大家就是赶紧去问一下。
OK具体折扣力度呢,我们呃是那个老师会给大家就是做出解答。有的同学问学西安证数业要看哪些初论文。an free,我给大家推荐三个论文。O第一个论文cononnet cornernet系列。
一个是connet18年的,你需要大概了解一下,然后再看connet light。同时你看一下sernnet,呃,特别搞笑的是,在那个sternet推出的同时。
还推出了另一个版本的sernnet也是中文人做的。他们叫呃。object呃 special我我大家记不清了,你搜三net,你会搜出来两个版本。另外一个版本就是呃就是呃就是同时同时推出的另外一个三net。
它俩其实思相很接近的。当然了,你也可以就是说直接就是来报名我们的那个目标检测实战班。然后因为具体我个会议大家直接讲解页免去了大家看这些论文的痛苦。细密度图像分类不是老师主要做的。
在这儿就不给不给大家接着具体聊了,好吧。那个在那个十呃小班课程当中,有一个老师专门做这个细腻度图像分类的,你可以找他咨询。
okK今天就是。我们主要聊的。关键点检测定位人脸检测哪些推荐的?我已经给大家回答问题啊,那个关键你的关键点定位呢。呃,他这我我们首先我们有一个课程,就是我我庞老师主讲的那个观点定位这门课程。
上面会给大家讲那个呃骨骼点定位,人脸的定位,还有那个。呃,还有那个物体的关点定位。进度最高,我们应用efficientnet。呃,我说哪儿了?关键定位这个其实就涉涉及到你具体需要哪个关点定位?呃。
就是就是哪种类型的观点定位啊,你比方说。那个国眼定位自顶而下,还有那个不是自底向上和自顶向下,就是它有两个分值,像maCN就可以做。然后open po比较经典,不过那比较早了。
然后现在还有那个CPN还有CPN的变种MSPN这些都是做关点定位的都非常效果比较不错。HRnet它也可以做,只不过是它那个资源销量太大。看论文好痛苦,是是好痛苦。在那个课程当中。在我们的实战课程当中。
我会给大家讲一下,就是如何快速阅读英文文献。因为老师是在美国任教嘛。所以说最一开始我也经历过这个过程。我记得我最一开始看看完第一段,看第二段,看完第二段的时候,第一段我基本上忘的已经很干净了。
就根本就我有一个自动过滤的功能,就基本上全忘了,就是我在早期的时候看论文。但是慢慢的时候经过一种课意的训练。呃,我现在看论文速度比较快。呃,基本上就最慢,我也会在20分钟之内把这个论文。
大概就是能给能就是有个比较呃清晰的了解和定位。呃,这个我会在那个课实战课程当中给大家就是介绍一下你如何快速精准的去读论文。O在这儿就不跟大家说了。有个同学问啊还同样同学哈。😊。
这个为什么许多模型的数差不在24乘24,那是因为。那是因为你太大的模型进去,你接动量太大了,所以我们一般都会去压缩模型。而且我印象2424好像我不大确定啊,好像是在那个是imnet呃。
就就是有一就是那个图像那个数据网站,比如说coco啊一接带的好像是他们最开始的图像是定位在24乘24。还是那个PAS我我都我大大记不清,就是就是很早了那个这个玩意说来话长,是在历史原因。那最早的时候。
因为那个呃你分辨率太高的话,你会导致我的这个呃计算量太大,所以他们都会压缩图像电到24。呃,有个同学问的好,目标检测不要。不不不需要不需要什么alexnet,因为Alexnet现在已经没人用了,太早了。
真的不需要啊。那个目标检测的话。这样吧,这个同学我建议你去跟一下我们这个目标检测的实战课程。嗯,你我你会跟着我们的课程走,你会呃就是大概了解一下,就是不是大概了也。
就很详细的了解一下每一个模型的那个呃是怎么设计的。我不建议你从最开始的论文开始看,因为这个一是浪费太多的时间和精力的。而且第二个问题是很多这个已经就是现在已经不用,就早期的已经不用了。
我所以我们就更更多的关于那个比较呃有这个里程碑的,就是呃这些网络ok因为这些有里程碑嘛。比如说ma,虽然出现的也比较早。但是它现在在应用的范围生意很广。ok然后就是看一下当现在就是比较特别流行。
同时呃效果特别好的一些主流网络。我们送个大礼包吧。😡,往回看一下,看看哪位同学呃老问我问题哈。QQ用户45003,恭喜你拿到我们大礼包了。这个3D好多都是从图像中加深度图。这个图像呃对啊。
他那个你想3D嘛,3D就是1个2D,再加一个ds。人脸检测和目标检测主要差在哪儿?目标检测这么说吧,目标检测的再往下做可以做关键点检测。人脸检测是关键点检测的一个分支,它是直接对点进行定位。哎。
98一同学。今天下午的赵老师,我把赵老师的微信号给你。OK981同学和QQ同学,然后请联系下我们的老师,然后我们会送你一个大礼包。同时今天晚上联系我们老师,呃,不管是呃就业班,还有第五期就业班。
还是我们的目标检测的班级。呃,目外的实战班都会在原始的基础基础上有一个比较大的优惠。呃,请联系下我们的老师。目标跟踪的实战课我们已经开设了,也是由我主讲。在我们的官网上可以看到呃。
那个之后我们也会再做一个目标跟踪类的一个大概的公开课。好,161同学是用16同学连一下我们赵老师,我们收一个大礼包。然后今天时间也不早了,我们送大礼包活动也就到现在截止,好吧。
再发一下了赵老师的这个微信号。然后收到大礼包的同学,请联系一下我们的老师。然后呃今天我们的课程就到这里了,大家时间也不早了,也感谢大家就是一直陪伴我们到这么晚。嗯,大家早好休息O嗯。
拿到阿里巴同学去用免单券,然后那个给自看一下我们的第四期的课程。然后其他同学如果今天在我们就是报我们就业小班或者是呃呃实战班呢,我们会有一个很大的优折上折的优惠。OK那么我们今天就呃先聊到这里。