www.haiyu68.com是钓鱼用品大全网站么。 在线等

www.haiyu68.com是钓鱼网站么。 在线等_百度知道
www.haiyu68.com是钓鱼网站么。 在线等
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
釣魚島大學校長知道合伙人
来自电脑网络类芝麻团
釣魚島大學校長
采纳数:12135
获赞数:17151
参与团队:
百发百的诈骗网站,。不是钓鱼,而是诈骗钱的
happy迷你豆豆知道合伙人
来自电脑网络类芝麻团
happy迷你豆豆
采纳数:17
获赞数:16
擅长:暂未定制
参与团队:
不是的。我在360检测过,没有警告
那是诈骗么
wanghhf558知道合伙人
wanghhf558
采纳数:17
获赞数:16
擅长:暂未定制
把电瓶给弄走
不要搞笑好吧
为你推荐:
其他类似问题
您可能关注的内容
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。&p&我来整理一堆爆照贴&/p&&p&话说最近的骗照技术越来越高端了&/p&&p&&br&&/p&&p&&b&技术无罪类&/b&&/p&&ul&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&如何判断一张以人物腿部为主体的照片在摄影方面的好坏?&/a& &/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&大胸女生怎么拍小清新照好看? - 摄影&/a&&/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&如何利用黄金分割构图法来拍摄人物腿部? - 拍摄技巧&/a&&/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&拍摄人物腿部、足部等局部照片时,摄影师应该怎么把握好构图? - 钓鱼(广义的)&/a& &/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&如何用手机拍出一张特别好看的自拍?&/a&&/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&如何把穿丝袜的女人拍的很好看? - 钓鱼(广义的)&/a&*&/li&&/ul&&p&&b&细分市场类
&/b&真是从头到脚啊&/p&&p&头发:&/p&&ul&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&长发及腰是一种什么感觉? - X 是种怎样的体验&/a&&/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&女生拥有一头短发是一种什么体验? - 发型&/a&&/li&&/ul&&p&脸:&/p&&ul&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&眼睛好看是一种什么样的体验?&/a&&/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&闭着眼睛特别好看是种什么体验?&/a& &/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&有很诱人的嘴唇是怎样一种什么体验? - 调查类问题&/a& &/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&圆脸是什么体验? - X 是种怎样的体验&/a&&/li&&/ul&&p&胸&/p&&ul&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&大胸的妹子都有什么样的五官呢?&/a&&/li&&/ul&&p&腰臀:&/p&&ul&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&屁股翘是一种怎样的感受? - X 是种怎样的体验&/a& &/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&什么样的腰臀线才算好看? - 钓鱼(广义的)&/a&&/li&&/ul&&p&腿:&/p&&ul&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&如何优雅地露出绝对领域? - 调查类问题&/a& &/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&知乎上哪个妹子腿最漂亮? - 腿&/a& &/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&知乎的妹子们在冬天是如何保养自己的腿和脚的? - 美容护肤&/a&&br&脚也不放过&br&&a href=&https://www.zhihu.com/question/& class=&internal&&拍摄人物腿部、足部等局部照片时,摄影师应该怎么把握好构图? - 钓鱼(广义的)&/a&*&/li&&/ul&&p&特质细分:&br&身材类&/p&&ul&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&男生喜欢的“微胖女生”身材究竟是什么样的?&/a&&/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&比例绝佳的身材是什么样的? - 生活&/a& &/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&假如有一位个高腿长屁股翘,而胸小的女朋友是什么体验?!? - 钓鱼(广义的)&/a& &/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&作为身高 175cm 以上的女生是一种什么样的体验? - 体验&/a&&/li&&/ul&&p&长相类&/p&&ul&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&(15岁到35岁之间的姑娘)长相甜美是怎样的一种体验(请用图回答)? - 女生&/a& &/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&作为长相可爱却不爱卖萌的妹纸是怎样的体验? - 两性关系&/a&&/li&&/ul&&p&混合类&/p&&ul&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&长的矮又平胸是种怎样的体验? - X 是种怎样的体验&/a& &/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&长得美又吃不胖是怎样一种体验? - X 是种怎样的体验&/a&&/li&&/ul&&p&&b&借壳上市类&/b&&/p&&ul&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&马尾辫怎么绑才好看?&/a& &/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&双马尾怎么绑才显得萌? - 女性&/a& &/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&减肥对外貌的改变有多大? - 强答&/a& &/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&女生如何健身不减胸?&/a& &/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&那些胸大的女生怎么跑步的? - 生活&/a&&/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&有一个非常漂亮的女儿是什么感觉?&/a& &/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&拍照的时候,如何笑得好看些?避免看起来像是假笑?&/a& &/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&一个 18-25 岁的姑娘,很会打台球是一种怎样的体验? - 钓鱼(广义的)&/a& &/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&什么才是真正的绝对领域? - 钓鱼(广义的)&/a& &/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&为什么男人对丝袜有幻想,会被诱惑,尤其是黑丝? - 钓鱼(广义的)&/a& &/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&拥有股下三角的人是不是只在动漫存在? - 钓鱼(广义的)&/a&&/li&&/ul&&p&&b&曲线救国类&/b&&br&着装类&/p&&ul&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&长筒袜/过膝袜怎么穿的很好看? - 服饰搭配&/a&*&/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&裙子、丝袜、高跟,三者之间应该要如何搭配? - 服饰搭配&/a&*&/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&胸大且瘦的女生求推荐泳衣?&/a& &/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&旅行拍照穿的超好看(上镜)的衣服有哪些? - 服饰搭配&/a&&/li&&/ul&&p&化妆类&/p&&ul&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&化妆后颜值和素颜差距很大是种怎样的体验? - 钓鱼(广义的)&/a& &/li&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&有什么适合大胸妹子的服装品牌? - 服饰搭配&/a&&/li&&/ul&&p&&br&&/p&&p&&b&下网捞鱼类&/b& &/p&&ul&&li&&a href=&https://www.zhihu.com/question/& class=&internal&&有一群长的漂亮的好朋友是什么体验?&/a&&/li&&/ul&&p&&br&&/p&&p&什么?你问我在哪里搞这么多问题?我就是把轮子哥&a class=&member_mention& href=&//www.zhihu.com/people/ecc0ec035f& data-hash=&ecc0ec035f& data-hovercard=&p$b$ecc0ec035f&&@vczh&/a&最近三周的动态翻了翻。。。。。&/p&&p&/捂脸,逃,匿名吧还是。----------------------&/p&&p&&br&&/p&&p&&br&&/p&&p&&br&&/p&&p&&br&&/p&&p&&br&&/p&&p&&br&&/p&&p&&br&&/p&&p&第二更: ------------------------------------------------------------------------------------------------------------&/p&&p&事到如今,我就收个网吧:&/p&&p&辛苦各位老司机了,哈!哈!哈!哈!&/p&&p&&br&&/p&&figure&&img src=&https://pic3.zhimg.com/50/v2-d8c604b1c0ec76f360e282d8_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&645& data-rawheight=&1652& class=&origin_image zh-lightbox-thumb& width=&645& data-original=&https://pic3.zhimg.com/50/v2-d8c604b1c0ec76f360e282d8_r.jpg&&&/figure&&p&你乎真会起名字,还小说预备&/p&&p&&br&&/p&&p&&br&&/p&&p&感谢轮子哥翻牌子在一天之内带来了接近两千赞。&/p&&p&&br&&/p&&p&想想本答案发布两年以来才只有三千赞,说明我乎诸位还是洁身自好,身不由己的&/p&&p&&br&&/p&&p&&br&&/p&&hr&&p&郑重警告!收藏事件也会展现在你们的时间线上面的。所以大家还是在收藏的同时点个赞吧φ(゜▽゜*)?&/p&&p&&br&&/p&&p&&br&&/p&&p&另外那些让我取匿的,套路太深。不上十万赞绝不取匿&/p&
我来整理一堆爆照贴话说最近的骗照技术越来越高端了 技术无罪类
&figure&&img src=&https://pic1.zhimg.com/v2-e7e898c1f719_b.jpg& data-rawwidth=&5473& data-rawheight=&3868& class=&origin_image zh-lightbox-thumb& width=&5473& data-original=&https://pic1.zhimg.com/v2-e7e898c1f719_r.jpg&&&/figure&&p&本文转载自公众号《与有三学AI》&/p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzA3NDIyMjM1NA%3D%3D%26mid%3D%26idx%3D1%26sn%3D79b16adfdea5e21fdde27b%26chksm%3Dcf43fd41a3d6ca850be33c8517745cea3bbeddd52fb15d770e97db%23rd& data-draft-node=&block& data-draft-type=&link-card& data-image=&https://pic3.zhimg.com/v2-2d9ceed78978badf52f685b50ced44c6_ipico.jpg& data-image-width=&358& data-image-height=&358& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&为了压榨CNN模型,这几年大家都干了什么&/a&&p&如果从2006年算,深度学习从产生到火爆已经&b&十年了&/b&,在工业界已经产生了很多落地的应用。现在网络的深度已经可达1000层以上,下面我们关注一个问题:&/p&&p&这些年大家是&b&&u&怎么“压榨”CNN模型的&/u&。&/b&&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-a4bc9ccabcbf_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&500& data-rawheight=&281& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&https://pic4.zhimg.com/v2-a4bc9ccabcbf_r.jpg&&&/figure&&p&首先回顾一下几个经典模型,我们主要看看&b&&u&深度和caffe模型大小&/u&。&/b&&/p&&b&&figure&&img src=&https://pic2.zhimg.com/v2-bed4b9c3bdfefb327cd2d_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&829& data-rawheight=&234& class=&origin_image zh-lightbox-thumb& width=&829& data-original=&https://pic2.zhimg.com/v2-bed4b9c3bdfefb327cd2d_r.jpg&&&/figure&&/b&&p&当然,在实际应用中,各自调试出的version会有出入,网络的大小也不止和深度有关系,此处想说明的问题是:好像&b&&u&模型大小(参数量)和模型的深浅并非是正相关&/u&。&/b&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-a137e98b5c3d5eaa44c792cdd733820c_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&500& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&https://pic1.zhimg.com/v2-a137e98b5c3d5eaa44c792cdd733820c_r.jpg&&&/figure&&p&&b&下面言归正传,这里要讲的压榨主要是将模型变小,以便在ARM,FPGA,ASIC等存储空间有限的平台应用。&/b&&/p&&p&从2个方面进行回顾。第一条是&b&&u&经典模型的设计路线&/u&&/b&,可以看得出本身就在不断压缩模型。第二条是在&b&&u&网络结构基本不变&/u&&/b&的情况下,对&b&&u&模型参数的压缩&/u&&/b&。&/p&&blockquote&&b&1.经典模型进阶路&/b&&/blockquote&&ul&&li&&b&Fully connect to local connect&/b& &/li&&/ul&&p&这里我们仍然放这张经典的比较图,从最早的&b&全连接神经网络到卷积神经网络&/b&本身就是一场大的参数压缩革命。&/p&&p&按照全连接神经网络的思想,的图像,如果隐藏层也是同样大小(个)的神经元,那么由于神经元和图像每一个像素连接,则会有参数×。光是一层网络,就已经有10^12个参数。&br&&/p&&p&而如果采用卷积神经网络,则由于&b&权值共享&/b&,对于同样多的隐藏层,假如每个神经元只和输入10×10的局部patch相连接,且卷积核移动步长为10,则参数为:×100,降低了4个数量级。&br&&/p&&p&至于为什么可以这么做,读者可以自己去关注卷积神经网络的由来,主要原理在于&b&图像的局部patch可以与全图有类似的统计特性&/b&。&br&&/p&&p&&b&这第一招,也是最厉害的一招,一举将神经网络的参数减小许多个数量级,才能有深度学习的发展。&/b&&/p&&b&&figure&&img src=&https://pic3.zhimg.com/v2-a77c19e03d25dfcd372ee_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&671& data-rawheight=&251& class=&origin_image zh-lightbox-thumb& width=&671& data-original=&https://pic3.zhimg.com/v2-a77c19e03d25dfcd372ee_r.jpg&&&/figure&&/b&&p&&br&&/p&&p&&br&&/p&&ul&&li&&b&NIN 1×1卷积使用&/b& &/li&&/ul&&p&Alexnet[1]是一个8层的卷积神经网络,有约60M个参数,如果采用32bit float存下来有200M。值得一提的是,AlexNet中仍然有3个全连接层,其参数量占比参数总量超过了90%。&br&&/p&&p&NIN[2]是一个4层的网络结构,其直接对标对象就是AlexNet,那么为什么模型大小只有前者的1/10呢?&/p&&p&除了去掉了全连接层外(&b&这也是模型变小的关键&/b&),提出了&b&1×1的卷积核&/b&,后来被广泛用于GoogLeNet[3]和ResNet[4]。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-3ee90532fbe77abf416f4c532c0154b7_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&399& data-rawheight=&300& class=&content_image& width=&399&&&/figure&&p&&br&&/p&&p&下面举一个例子,假如输入为28×28×192,输出feature map通道数为128。那么,直接接3×3卷积,参数量为3×3×192×128=221184。&/p&&p&如果先用1×1卷积进行降维到96个通道,然后再用3×3升维到128,则参数量为:1×1×192×96+3×3×96×128=129024,参数量减少一半。虽然参数量减少不是很明显,但是如果1×1输出维度降低到48呢?则参数量又减少一半。对于上千层的大网络来说,效果还是很明显了。&/p&&p&移动端对模型大小很敏感。下载一个100M的app与50M的app,首先用户心理接受程度就不一样。&/p&&p&到此你可能有一个疑问?&b&原则上降低通道数是会降低性能的,这里为什么却可以降维呢?&/b&&/p&&p&笔者没有能力去完整回答这个问题,但是我们可以从很多embedding技术,比如PCA等中得到思考,&b&降低一定的维度可以去除冗余数据,损失的精度其实很多情况下都不会对我们解决问题有很大影响。&/b&&/p&&p&当然了该文章最重要的贡献&b&应该是通过这种内嵌的结构,在通道之间组合信息从而增强了网络的非线性表达能力&/b&。&/p&&p&一句话:1×1卷积,在 GoogLeNet Inception v1[3]以及后续版本,ResNet[4]中都大量得到应用,有减少模型参数的作用。&/p&&ul&&li&&b&卷积拆分&/b& &/li&&/ul&&p&(1) VGG&/p&&p&VGG可以认为是AlexNet的增强版,&b&两倍的深度,两倍的参数量&/b&。不过,也提出了一个模型压缩的trick,后来也被广泛借鉴。&/p&&p&那就是,对于5×5的卷积,使用两个3×3的卷积串联,可以得到同样的感受野,但参数量却有所降低,为3×3×2/(5×5)=0.72,同样的道理3个3×3卷积代替一个7×7,则参数压缩比3×3×3/(7×7)=0.55,降低一倍的参数量,也是很可观的。&/p&&p&(2) GoogLeNet[3]&br&GoogleLet Inception v2就借鉴了VGG上面的思想。而到了Inception V3[3]网络,则更进一步,将&b&大卷积分解(Factorization)为小卷积&/b&。&/p&&p&比如7×7的卷积,拆分成1×7和7×1的卷积后。参数量压缩比为1×7×2/(7×7)=0.29,比上面拆分成3个3×3的卷积,更加节省参数了。&/p&&p&问题是这种&b&非对称的拆分,居然比对称地拆分成几个小卷积核改进效果更明显&/b&,增加了特征多样性。&/p&&p&只能说&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-1c53d9b485e318a05fc7_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&700& data-rawheight=&254& class=&origin_image zh-lightbox-thumb& width=&700& data-original=&https://pic4.zhimg.com/v2-1c53d9b485e318a05fc7_r.jpg&&&/figure&&p&后来的Resnet就不说了,也是上面这些trick。到现在,&b&基本上网络中都是3×3卷积和1×1卷积&/b&,5×5很少见,7×7几乎不可见。&/p&&p&(3) SqueezeNet[7]&/p&&p&squeezenet将上面1×1降维的思想进一步拓展。通过减少3×3的filter数量,将其一部分替换为1×1来实现压缩。&/p&&p&具体的一个子结构如下:&b&一个squeeze模块加上一个expand模块&/b&,使squeeze中的通道数量,少于expand通道数量就行。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-042aa4ffa0ebccd_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&477& data-rawheight=&288& class=&origin_image zh-lightbox-thumb& width=&477& data-original=&https://pic3.zhimg.com/v2-042aa4ffa0ebccd_r.jpg&&&/figure&&p&举上面那个例子,假如输入为M维,如果直接接3×3卷积,输出为8个通道,则参数量:M×3×3×8.&/p&&p&如果按上图的做法,则参数量为M×1×1×3+3×4×1×1+3×4×3×3,压缩比为:(40+M)/24M, 当M比较大时,约0.04.&/p&&p&文章最终将&b&AlexNet压缩到原来1/50&/b&,而性能几乎不变。&br&&/p&&p&据我所知的在卷积结构上做文章的,基本上都在这里,当然怎么训练出本来就小的模型不算。&/p&&blockquote&&b&2.模型参数压缩方法&/b&&/blockquote&&p&&b&2.1 SVD分解法&/b&&/p&&p&有研究表明,&b&一层的weights,可以通过其子集进行精确预测&/b&,所以可以使用奇异值分解(SVD分解)来对&b&每一层进行低秩近似&/b&,下面只提一下基本原理和结论。&/p&&p&原理:对于一个m×k维的实数矩阵W,其可以进行奇异值分解为W=USV,其中U维度为m×m,S维度为m×k,V维度为k×k。S是&b&非负实数对角矩阵&/b&,如果&b&将其对角线的值降序排列并发现其值衰减很快&/b&,则只需要前面几维就能保持W的绝大多数信息不丢失,这也是PCA的原理。&/p&&p&假如只保留t维,那么原来的计算复杂度为O(m×k),现在则变成了O(m×t+t×t+t×k),对于足够小的t,O(m×t+t×t+t×k)远小于O(m×k)。&/p&&p&不过这个方法实际的&b&模型压缩比并不明显&/b&,在文章[8]中为2~3的左右,加速比也是2~3左右。所以同类的方法,就不再深究。&/p&&p&&b&2.2 权重参数量化与剪枝&/b& &/p&&p&下面是近两年比较有代表性的研究,主要是通过&b&权重剪枝,量化编码&/b&等方法来实现模型压缩。其实最早也有直接对每个权重独立量化的研究[9],但是效果显然是不如下面的结果的。&br&&/p&&p&&b&(1) DeepCompresion&/b& &/p&&p&这是2016 ICLR最佳论文。文章早期的工作,是Network Pruning,就是去除网络中权重低于一定阈值的参数后,重新finetune一个稀疏网络。在这篇文章中,则进一步添加了量化和编码,思路很清晰简单如下。&/p&&p&&b&(1) 网络剪枝:移除不重要的连接;&/b&&/p&&p&&b&(2) 权重量化与共享:让许多连接共享同一权重,使原始存储整个网络权重变为只需要存储码本(有效的权重)和索引;&/b&&/p&&p&&b&(3) 霍夫曼编码:更高效利用了权重的有偏分布;&/b&&/p&&p&第一部分很好理解,就是如下流程:&/p&&p&&b&(1) 普通网络训练;&/b&&/p&&p&&b&(2) 删除权重小于一定阈值的连接得到稀疏网络;&/b&&/p&&p&&b&(3) 对稀疏网络再训练;&/b&&/p&&p&霍夫曼编码是一种成熟的编码技巧与cnn无关。下面只说说第二部分,这是从文章摘取的图,对于一个4×4的权值矩阵,量化权重为4阶(-1.0,0,1.5,2.0)。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-17057aa29fbc659cb674ab45ef2d4a38_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&755& data-rawheight=&461& class=&origin_image zh-lightbox-thumb& width=&755& data-original=&https://pic1.zhimg.com/v2-17057aa29fbc659cb674ab45ef2d4a38_r.jpg&&&/figure&&p&那么索引表就是:&/p&&p&0:-1.0&/p&&p&1:0&/p&&p&2:1.5&/p&&p&3:2.0&/p&&p&对weights采用cluster index进行存储后,原来需要&b&16个32bit float&/b&,现在只需要&b&4个32bit float码字,与16个2bit uint索引&/b&,参数量为原来的(16×2+4×32)/(16×32)=0.31。&/p&&p&存储是没问题了,那如何对量化值进行更新呢?事实上,文中仅对码字进行更新。如上图:将&b&索引相同的地方梯度求和乘以学习率,叠加到码字&/b&。&/p&&p&这样的效果,就等价于&b&不断求取weights的聚类中心&/b&。原来有成千上万个weights,现在经过一个有效的聚类后,每一个weights都用其聚类中心进行替代,作者的研究表明这样并不会降低网络的效果。而聚类的迭代过程,通过BP的反向传播完成,不得不说,想法非常plain和beautiful,难怪能得best paper。&/p&&p&看下表就知道最终的压缩效率非常可观,把500M的VGG干到了11M。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-2fdd38145a76efe8d1e1d_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1006& data-rawheight=&333& class=&origin_image zh-lightbox-thumb& width=&1006& data-original=&https://pic2.zhimg.com/v2-2fdd38145a76efe8d1e1d_r.jpg&&&/figure&&p&文中还比较了如果只用剪枝或者只用量化对结果的影响,表明各自都对压缩比低于一定阈值时很敏感,如下。而&b&combine两个trick,则在压缩比达到5%时,仍然性能不降&/b&。当然了还有如&b&卷积层对压缩比比全连接层更敏感&/b&等结论,感兴趣可以自己去读。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-fae874ef2ba0ab5758c94_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&818& data-rawheight=&346& class=&origin_image zh-lightbox-thumb& width=&818& data-original=&https://pic1.zhimg.com/v2-fae874ef2ba0ab5758c94_r.jpg&&&/figure&&p&&b&(2) Binarized Neural Networks&/b& &/p&&p&如果说deep compression是&b&float到uint的压缩&/b&,那么这篇就是&b&uint到bool&/b&的压缩了。前者只是将weights进行量化,而这个,权重只有+1或者-1二值。&/p&&p&将&b&权重和每层的激活值全部&/b&二值化。如此一来大部分数学运算都是位运算。&/p&&p&二值化的方法也很简单,文章提到了两种,第一种就是符号函数,即x&0,则f(x)=1,x&0,则f(x)=-1。另一种是以一定的概率赋值,是不是想起了dropout?文中就是,只有在激活函数时,才采用第二种二值化方法,其余都采用符号函数。&/p&&p&其实大问题就是一个,&b&符号函数的导数并不连续&/b&,那怎么进行梯度传播?文中将sign(x)进行放松,在-1到1之间采用了线性函数。&/p&&p&&b&f(x) = max(-1,min(1,x))&/b&&/p&&p&主要事项:&/p&&p&(1) &b&在训练过程中还是需要保存实数的参数的&/b&。&/p&&p&(2)在进行&b&权重参数更新时,裁剪超出[-1,1]的部分&/b&,保证权重参数始终是[-1,1]之间的实数。&/p&&p&而在&b&使用参数时,则将参数进行二值化&/b&。&/p&&p&最终效果到底如何?在一些比较小的数据集,比如MNIST,CIFAR-10上,精度稍微有所下降但不明显,模型大学降低为原来的1/32,32bit的float变成1 bit。对于时间代价可见下图,第2个直方图是MNIST数据集的结果,作者的优化将速度相对于cublas提升了约3.4倍,而精度不变(第三个直方图)。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-5bf2d_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&469& data-rawheight=&389& class=&origin_image zh-lightbox-thumb& width=&469& data-original=&https://pic1.zhimg.com/v2-5bf2d_r.jpg&&&/figure&&p&类似的还有什么&b&XORnet,YodaNet&/b&,感兴趣的可以去选读。&/p&&p&就这么多,本文主要关注的是&b&模型压缩&/b&,这跟&b&计算量压缩&/b&不等价,&b&跟加速&/b&也不等价,希望不要搞混淆。&/p&&p&如有疏漏,错误,请批评指正,谢谢!&/p&&figure&&img src=&https://pic2.zhimg.com/v2-5c292d0d10dc53700ded8b66aefbbced_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&960& data-rawheight=&635& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&https://pic2.zhimg.com/v2-5c292d0d10dc53700ded8b66aefbbced_r.jpg&&&/figure&&p&&b&更多请移步&/b&&/p&&blockquote&1,我的gitchat达人课&/blockquote&&a href=&http://link.zhihu.com/?target=http%3A//gitbook.cn/gitchat/column/5a6011fbbd5ffc& data-draft-node=&block& data-draft-type=&link-card& data-image=&https://pic4.zhimg.com/v2-d72d5e46ebabd371db4df83_180x120.jpg& data-image-width=&1920& data-image-height=&1080& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&龙鹏的达人课&/a&&blockquote&2,AI技术公众号,《与有三学AI》&/blockquote&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzA3NDIyMjM1NA%3D%3D%26mid%3D%26idx%3D1%26sn%3D46c5d72dd51ed2f2871ba%26chksm%3Dcf22501feda3afff66beec38a09ec0ff91ac58c70a4f8c00da83b8ecfbf50175%23rd& data-draft-node=&block& data-draft-type=&link-card& data-image=&https://pic3.zhimg.com/v2-2d9ceed78978badf52f685b50ced44c6_ipico.jpg& data-image-width=&358& data-image-height=&358& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&一文说说这十多年来计算机玩摄影的历史&/a&&blockquote&3,以及摄影号,《有三工作室》&/blockquote&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzA3MzczNzY0Mw%3D%3D%26mid%3D%26idx%3D1%26sn%3Db54acd6e2bfcc123d7a9988%26chksm%3Dcc5e1aedfef841768acff589a93d8234fab318bbe682a9dard& data-draft-node=&block& data-draft-type=&link-card& data-image=&https://pic3.zhimg.com/v2-8a86f4fce0dea9544dc9dde_ipico.jpg& data-image-width=&640& data-image-height=&640& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&冯小刚说,“他懂我”&/a&&p&&br&&/p&&blockquote&&b&时隔一年,以mobilenet为代表的很多技术已经更新了,我会找时间再来补上,等不及的大家自己去学习吧。&/b&&/blockquote&&p&【1】Krizhevsky A, Sutskever I, Hinton G E. Imagenet classification with deep convolutional neural networks[C]//Advances in neural information processing systems. -1105.&/p&&p&【2】Lin M, Chen Q, Yan S. Network in network[J]. arXiv preprint arXiv:, 2013.&/p&&p&【3】Szegedy C, Liu W, Jia Y, et al. Going deeper with convolutions[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. .&/p&&p&【4】He K, Zhang X, Ren S, et al. Deep residual learning for image recognition[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 8.&/p&&p&【5】Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition[J]. arXiv preprint arXiv:, 2014.&/p&&p&【6】Szegedy C, Vanhoucke V, Ioffe S, et al. Rethinking the inception architecture for computer vision[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: &a href=&tel:&&&/a&.&/p&&p&【7】Iandola F N, Han S, Moskewicz M W, et al. SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and& 0.5 MB model size[J]. arXiv preprint arXiv:, 2016.&/p&&p&【8】Denton E L, Zaremba W, Bruna J, et al. Exploiting linear structure within convolutional networks for efficient evaluation[C]//Advances in Neural Information Processing Systems. -1277.&/p&&p&【9】Vanhoucke V, Senior A, Mao M Z. Improving the speed of neural networks on CPUs[C]//Proc. Deep Learning and Unsupervised Feature Learning NIPS Workshop. .&/p&&p&【10】Han S, Mao H, Dally W J. Deep compression: Compressing deep neural networks with pruning, trained quantization and huffman coding[J]. arXiv preprint arXiv:, 2015.&/p&&p&【11】Hubara I, Courbariaux M, Soudry D, et al. Binarized neural networks[C]//Advances in Neural Information Processing Systems. 2016: &a href=&tel:&&&/a&.&/p&
本文转载自公众号《与有三学AI》如果从2006年算,深度学习从产生到火爆已经十年了,在工业界已经产生了很多落地的应用。现在网络的深度已经可达1000层以上,下面我们关注一个问题:这些年大家是怎么“压榨”CNN模型的。…
&p&我来说一个基本上我们都会用到的功能:&b&制作表格&/b&。Latex对表格支持不是十分友好,每次做表格的时候都要手写一大堆代码,而且如果需要调格式,那就更麻烦了。&/p&&p&推荐这个在线制作Latex表格的网站神器!真正的所见即所得,支持代码与表格之间的无缝转换!更支持与Excel的复制粘贴,非常好用!地址在这里:&a href=&//link.zhihu.com/?target=http%3A//www.tablesgenerator.com& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&tablesgenerator.com&/span&&span class=&invisible&&&/span&&/a&&/p&&p&除去Latex之外,网站还支持Markdown,HTML等多种格式的表格生成。再也不用花时间做表格了!(当然,如果需要特别精细的调整,还是需要结合自己的需要灵活用LaTex代码调整。这个工具只是辅助,但是基本上能解决很多的大问题的。)&/p&&p&(楼下有牛人愿意写Latex代码做表格,你们厉害,我不行,我low)&/p&&figure&&img src=&https://pic3.zhimg.com/50/v2-f0dfbdfeb7d1_b.jpg& data-rawwidth=&750& data-rawheight=&1334& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&https://pic3.zhimg.com/50/v2-f0dfbdfeb7d1_r.jpg&&&/figure&
我来说一个基本上我们都会用到的功能:制作表格。Latex对表格支持不是十分友好,每次做表格的时候都要手写一大堆代码,而且如果需要调格式,那就更麻烦了。推荐这个在线制作Latex表格的网站神器!真正的所见即所得,支持代码与表格之间的无缝转换!更支持与…
&figure&&img src=&https://pic3.zhimg.com/v2-aa7d4a351ea50f7efeda_b.jpg& data-rawwidth=&693& data-rawheight=&417& class=&origin_image zh-lightbox-thumb& width=&693& data-original=&https://pic3.zhimg.com/v2-aa7d4a351ea50f7efeda_r.jpg&&&/figure&&p&&b&原文:&/b&&a href=&https://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NTIxNTg0OA%3D%3D%26mid%3D%26idx%3D3%26sn%3D408fcb4ebbd%26chksm%3Dec57a2ffdb202be99a2cac4cd4a3d3b4ddc0c42cc523ad048cd7916%26mpshare%3D1%26scene%3D1%26srcid%3D1220YhdmvFYgMG4yFH58F2A4%23rd& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&独家 | 基于深度学习的行人重识别研究综述&/a&&/p&&p&&b&作者:罗浩&/b&&/p&&p&&b&备注:&/b&为雷锋网/AI 科技评论写的一篇文章,原文没有公式编辑器,所以在知乎上发布一版&/p&&p&&b&前言:&/b&行人重识别(Person Re-identification)也称行人再识别,本文简称为ReID,是利用计算机视觉技术判断图像或者视频序列中是否存在特定行人的技术。广泛被认为是一个图像检索的子问题。给定一个监控行人图像,检索跨设备下的该行人图像。&/p&&p&在监控视频中,由于相机分辨率和拍摄角度的缘故,通常无法得到质量非常高的人脸图片。当人脸识别失效的情况下,ReID就成为了一个非常重要的替代品技术。ReID有一个非常重要的特性就是跨摄像头,所以学术论文里评价性能的时候,是要检索出不同摄像头下的相同行人图片。ReID已经在学术界研究多年,但直到最近几年随着深度学习的发展,才取得了非常巨大的突破。因此本文介绍一些近几年基于深度学习的ReID工作,由于精力有限并不能涵盖所有工作,只能介绍几篇代表性的工作。按照个人的习惯,我把这些方法分为以下几类:&/p&&ol&&li&基于表征学习的ReID方法&/li&&li&基于度量学习的ReID方法&/li&&li&基于局部特征的ReID方法&/li&&li&基于视频序列的ReID方法&/li&&li&基于GAN造图的ReID方法&/li&&/ol&&h2&1、基于表征学习的ReID方法&/h2&&p&基于表征学习(Representation learning)的方法是一类非常常用的行人重识别方法[1-4]。这主要得益于深度学习,尤其是卷积神经网络(Convolutional neural network, CNN)的快速发展。由于CNN可以自动从原始的图像数据中根据任务需求自动提取出表征特征(Representation),所以有些研究者把行人重识别问题看做分类(Classification/Identification)问题或者验证(Verification)问题:(1)分类问题是指利用行人的ID或者属性等作为训练标签来训练模型;(2)验证问题是指输入一对(两张)行人图片,让网络来学习这两张图片是否属于同一个行人。&/p&&p&论文[1]利用Classification/Identification loss和verification loss来训练网络,其网络示意图如下图所示。网络输入为若干对行人图片,包括分类子网络(Classification Subnet)和验证子网络(Verification Subnet)。分类子网络对图片进行ID预测,根据预测的ID来计算分类误差损失。验证子网络融合两张图片的特征,判断这两张图片是否属于同一个行人,该子网络实质上等于一个二分类网络。经过足够数据的训练,再次输入一张测试图片,网络将自动提取出一个特征,这个特征用于行人重识别任务。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-0e942e3f97dcdc1b29c64e9_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&804& data-rawheight=&394& class=&origin_image zh-lightbox-thumb& width=&804& data-original=&https://pic2.zhimg.com/v2-0e942e3f97dcdc1b29c64e9_r.jpg&&&/figure&&p&但是也有论文认为光靠行人的ID信息不足以学习出一个泛化能力足够强的模型。在这些工作中,它们额外标注了行人图片的属性特征,例如性别、头发、衣着等属性。通过引入行人属性标签,模型不但要准确地预测出行人ID,还要预测出各项正确的行人属性,这大大增加了模型的泛化能力,多数论文也显示这种方法是有效的。下图是其中一个示例[2],从图中可以看出,网络输出的特征不仅用于预测行人的ID信息,还用于预测各项行人属性。通过结合ID损失和属性损失能够提高网络的泛化能力。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-4eb252ed2bbcb4d78a51fc8d68cfdd10_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1011& data-rawheight=&369& class=&origin_image zh-lightbox-thumb& width=&1011& data-original=&https://pic3.zhimg.com/v2-4eb252ed2bbcb4d78a51fc8d68cfdd10_r.jpg&&&/figure&&p&如今依然有大量工作是基于表征学习,表征学习也成为了ReID领域的一个非常重要的baseline,并且表征学习的方法比较鲁棒,训练比较稳定,结果也比较容易复现。但是个人的实际经验感觉表征学习容易在数据集的domain上过拟合,并且当训练ID增加到一定程度的时候会显得比较乏力。&/p&&h2&2、基于度量学习的ReID方法&/h2&&p&度量学习(Metric learning)是广泛用于图像检索领域的一种方法。不同于表征学习,度量学习旨在通过网络学习出两张图片的相似度。在行人重识别问题上,具体为同一行人的不同图片相似度大于不同行人的不同图片。最后网络的损失函数使得相同行人图片(正样本对)的距离尽可能小,不同行人图片(负样本对)的距离尽可能大。常用的度量学习损失方法有对比损失(Contrastive loss)[5]、三元组损失(Triplet loss)[6-8]、 四元组损失(Quadruplet loss)[9]、难样本采样三元组损失(Triplet hard loss with batch hard mining, TriHard loss)[10]、边界挖掘损失(Margin sample mining loss, MSML)[11]。首先,假如有两张输入图片 &img src=&https://www.zhihu.com/equation?tex=I_1& alt=&I_1& eeimg=&1&& 和 &img src=&https://www.zhihu.com/equation?tex=I_2& alt=&I_2& eeimg=&1&& ,通过网络的前馈我们可以得到它们归一化后的特征向量 &img src=&https://www.zhihu.com/equation?tex=f_%7BI_1%7D& alt=&f_{I_1}& eeimg=&1&& 和 &img src=&https://www.zhihu.com/equation?tex=f_%7BI_2%7D& alt=&f_{I_2}& eeimg=&1&& 。我们定义这两张图片特征向量的欧式距离为:&/p&&p&&img src=&https://www.zhihu.com/equation?tex=d_%7BI_1%2CI_2%7D+%3D+%7C%7Cf_%7BI_1%7D-f_%7BI_2%7D+%7C%7C_2& alt=&d_{I_1,I_2} = ||f_{I_1}-f_{I_2} ||_2& eeimg=&1&&&/p&&p&&b&(1)对比损失(Contrastive loss)&/b&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-cc7f31e9ffa4f106a60ccd2_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1200& data-rawheight=&495& class=&origin_image zh-lightbox-thumb& width=&1200& data-original=&https://pic3.zhimg.com/v2-cc7f31e9ffa4f106a60ccd2_r.jpg&&&/figure&&p&对比损失用于训练孪生网络(Siamese network),其结构图如上图所示。孪生网络的输入为一对(两张)图片 &img src=&https://www.zhihu.com/equation?tex=I_a& alt=&I_a& eeimg=&1&& 和 &img src=&https://www.zhihu.com/equation?tex=I_b& alt=&I_b& eeimg=&1&& ,这两张图片可以为同一行人,也可以为不同行人。每一对训练图片都有一个标签 &img src=&https://www.zhihu.com/equation?tex=y& alt=&y& eeimg=&1&& ,其中 &img src=&https://www.zhihu.com/equation?tex=y%3D1& alt=&y=1& eeimg=&1&& 表示两张图片属于同一个行人(正样本对),反之 &img src=&https://www.zhihu.com/equation?tex=y%3D0& alt=&y=0& eeimg=&1&& 表示它们属于不同行人(负样本对)。之后,对比损失函数写作:&/p&&p&&img src=&https://www.zhihu.com/equation?tex=+L_c+%3D+yd_%7BI_a%2CI_b%7D%5E2%2B%281-y%29%28%5Calpha+-+d_%7BI_a%2CI_b%7D%29%5E2_%2B& alt=& L_c = yd_{I_a,I_b}^2+(1-y)(\alpha - d_{I_a,I_b})^2_+& eeimg=&1&&&/p&&p&其中 &img src=&https://www.zhihu.com/equation?tex=%28z%29_%2B& alt=&(z)_+& eeimg=&1&& 表示 &img src=&https://www.zhihu.com/equation?tex=max%28z%2C0%29& alt=&max(z,0)& eeimg=&1&& , &img src=&https://www.zhihu.com/equation?tex=%5Calpha& alt=&\alpha& eeimg=&1&& 是根据实际需求设计的阈值参数。为了最小化损失函数,当网络输入一对正样本对, &img src=&https://www.zhihu.com/equation?tex=d%28I_a%2CI_b%29& alt=&d(I_a,I_b)& eeimg=&1&& 会逐渐变小,即相同ID的行人图片会逐渐在特征空间形成聚类。反之,当网络输入一对负样本对时, &img src=&https://www.zhihu.com/equation?tex=d%28I_a%2CI_b%29& alt=&d(I_a,I_b)& eeimg=&1&& 会逐渐变大直到超过设定的 &img src=&https://www.zhihu.com/equation?tex=%5Calpha& alt=&\alpha& eeimg=&1&& 。通过最小化 &img src=&https://www.zhihu.com/equation?tex=L_c& alt=&L_c& eeimg=&1&& ,最后可以使得正样本对之间的距离逐渐变小,负样本对之间的距离逐渐变大,从而满足行人重识别任务的需要。&/p&&p&&b&(2)三元组损失(Triplet loss)&/b&&/p&&p&三元组损失是一种被广泛应用的度量学习损失,之后的大量度量学习方法也是基于三元组损失演变而来。顾名思义,三元组损失需要三张输入图片。和对比损失不同,一个输入的三元组(Triplet)包括一对正样本对和一对负样本对。三张图片分别命名为固定图片(Anchor) &img src=&https://www.zhihu.com/equation?tex=a& alt=&a& eeimg=&1&& ,正样本图片(Positive) &img src=&https://www.zhihu.com/equation?tex=p& alt=&p& eeimg=&1&& 和负样本图片(Negative) &img src=&https://www.zhihu.com/equation?tex=n& alt=&n& eeimg=&1&& 。图片 &img src=&https://www.zhihu.com/equation?tex=a& alt=&a& eeimg=&1&& 和图片 &img src=&https://www.zhihu.com/equation?tex=p& alt=&p& eeimg=&1&& 为一对正样本对,图片 &img src=&https://www.zhihu.com/equation?tex=a& alt=&a& eeimg=&1&& 和图片 &img src=&https://www.zhihu.com/equation?tex=n& alt=&n& eeimg=&1&& 为一对负样本对。则三元组损失表示为:&/p&&p&&img src=&https://www.zhihu.com/equation?tex=L_t+%3D+%28d_%7Ba%2Cp%7D-d_%7Ba%2Cn%7D%2B%5Calpha%29_%2B& alt=&L_t = (d_{a,p}-d_{a,n}+\alpha)_+& eeimg=&1&&&/p&&p&如下图所示,三元组可以拉近正样本对之间的距离,推开负样本对之间的距离,最后使得相同ID的行人图片在特征空间里形成聚类,达到行人重识别的目的。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-d8f4fdccfd00fd9557d4e_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&535& data-rawheight=&211& class=&origin_image zh-lightbox-thumb& width=&535& data-original=&https://pic2.zhimg.com/v2-d8f4fdccfd00fd9557d4e_r.jpg&&&/figure&&p&论文[8]认为原版的Triplet loss只考虑正负样本对之间的相对距离,而并没有考虑正样本对之间的绝对距离,为此提出改进三元组损失(Improved triplet loss):&/p&&p&&img src=&https://www.zhihu.com/equation?tex=+L_it+%3D+d_%7Ba%2Cp%7D%2B%28d_%7Ba%2Cp%7D-d_%7Ba%2Cn%7D%2B%5Calpha%29_%2B& alt=& L_it = d_{a,p}+(d_{a,p}-d_{a,n}+\alpha)_+& eeimg=&1&&&/p&&p&公式添加 &img src=&https://www.zhihu.com/equation?tex=d_%7Ba%2Cp%7D& alt=&d_{a,p}& eeimg=&1&& 项,保证网络不仅能够在特征空间把正负样本推开,也能保证正样本对之间的距离很近。&/p&&p&&b&(3) 四元组损失(Quadruplet loss)&/b&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-9cfa5f8e463acb10d976a_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&916& data-rawheight=&460& class=&origin_image zh-lightbox-thumb& width=&916& data-original=&https://pic4.zhimg.com/v2-9cfa5f8e463acb10d976a_r.jpg&&&/figure&&p&四元组损失是三元组损失的另一个改进版本。顾名思义,四元组(Quadruplet)需要四张输入图片,和三元组不同的是多了一张负样本图片。即四张图片为固定图片(Anchor)
&img src=&https://www.zhihu.com/equation?tex=a& alt=&a& eeimg=&1&& ,正样本图片(Positive)
&img src=&https://www.zhihu.com/equation?tex=p& alt=&p& eeimg=&1&& ,负样本图片1(Negative1) &img src=&https://www.zhihu.com/equation?tex=n1& alt=&n1& eeimg=&1&& 和负样本图片2(Negative2)
&img src=&https://www.zhihu.com/equation?tex=n2& alt=&n2& eeimg=&1&& 。其中 &img src=&https://www.zhihu.com/equation?tex=n1& alt=&n1& eeimg=&1&& 和 &img src=&https://www.zhihu.com/equation?tex=n2& alt=&n2& eeimg=&1&& 是两张不同行人ID的图片,其结构如上图所示。则四元组损失表示为:&/p&&p&&img src=&https://www.zhihu.com/equation?tex=_q+%3D+%28d_%7Ba%2Cp%7D-d_%7Ba%2Cn1%7D%2B%5Calpha%29_%2B+%2B+%28d_%7Ba%2Cp%7D-d_%7Bn1%2Cn2%7D%2B%5Cbeta%29_%2B& alt=&_q = (d_{a,p}-d_{a,n1}+\alpha)_+ + (d_{a,p}-d_{n1,n2}+\beta)_+& eeimg=&1&&&/p&&p&其中 &img src=&https://www.zhihu.com/equation?tex=%5Calpha& alt=&\alpha& eeimg=&1&& 和 &img src=&https://www.zhihu.com/equation?tex=%5Cbeta& alt=&\beta& eeimg=&1&& 是手动设置的正常数,通常设置 &img src=&https://www.zhihu.com/equation?tex=%5Cbeta& alt=&\beta& eeimg=&1&& 小于 &img src=&https://www.zhihu.com/equation?tex=%5Calpha& alt=&\alpha& eeimg=&1&& ,前一项称为强推动,后一项称为弱推动。相比于三元组损失只考虑正负样本间的相对距离,四元组添加的第二项不共享ID,所以考虑的是正负样本间的绝对距离。因此,四元组损失通常能让模型学习到更好的表征。&/p&&p&&b&(4)难样本采样三元组损失(Triplet loss with batch hard mining, TriHard loss)&/b&&/p&&p&难样采样三元组损失(本文之后用TriHard损失表示)是三元组损失的改进版。传统的三元组随机从训练数据中抽样三张图片,这样的做法虽然比较简单,但是抽样出来的大部分都是简单易区分的样本对。如果大量训练的样本对都是简单的样本对,那么这是不利于网络学习到更好的表征。大量论文发现用更难的样本去训练网络能够提高网络的泛化能力,而采样难样本对的方法很多。论文[10]提出了一种基于训练批量(Batch)的在线难样本采样方法——TriHard Loss。&/p&&p&TriHard损失的核心思想是:对于每一个训练batch,随机挑选 &img src=&https://www.zhihu.com/equation?tex=P& alt=&P& eeimg=&1&& 个ID的行人,每个行人随机挑选 &img src=&https://www.zhihu.com/equation?tex=K& alt=&K& eeimg=&1&& 张不同的图片,即一个batch含有 &img src=&https://www.zhihu.com/equation?tex=P+%5Ctimes+K& alt=&P \times K& eeimg=&1&& 张图片。之后对于batch中的每一张图片 &img src=&https://www.zhihu.com/equation?tex=a& alt=&a& eeimg=&1&& ,我们可以挑选一个最难的正样本和一个最难的负样本和 &img src=&https://www.zhihu.com/equation?tex=a& alt=&a& eeimg=&1&& 组成一个三元组。&/p&&p&首先我们定义和 &img src=&https://www.zhihu.com/equation?tex=a& alt=&a& eeimg=&1&& 为相同ID的图片集为 &img src=&https://www.zhihu.com/equation?tex=A& alt=&A& eeimg=&1&& ,剩下不同ID的图片图片集为 &img src=&https://www.zhihu.com/equation?tex=B& alt=&B& eeimg=&1&& ,则TriHard损失表示为:&/p&&p&&img src=&https://www.zhihu.com/equation?tex=+L_%7Bth%7D+%3D+%5Cfrac%7B1%7D%7BP+%5Ctimes+K%7D%5Csum_%7Ba+%5Cin+batch%7D%28%5Cmax_%7Bp+%5Cin+A%7D+d_%7Ba%2Cp%7D-%5Cmin_%7Bn+%5Cin+B%7D+d_%7Ba%2Cn%7D%2B%5Calpha%29_%2B& alt=& L_{th} = \frac{1}{P \times K}\sum_{a \in batch}(\max_{p \in A} d_{a,p}-\min_{n \in B} d_{a,n}+\alpha)_+& eeimg=&1&&&/p&&p&其中 &img src=&https://www.zhihu.com/equation?tex=%5Calpha& alt=&\alpha& eeimg=&1&& 是人为设定的阈值参数。TriHard损失会计算 &img src=&https://www.zhihu.com/equation?tex=a& alt=&a& eeimg=&1&& 和batch中的每一张图片在特征空间的欧式距离,然后选出与 &img src=&https://www.zhihu.com/equation?tex=a& alt=&a& eeimg=&1&& 距离最远(最不像)的正样本 &img src=&https://www.zhihu.com/equation?tex=p& alt=&p& eeimg=&1&& 和距离最近(最像)的负样本 &img src=&https://www.zhihu.com/equation?tex=n& alt=&n& eeimg=&1&& 来计算三元组损失。通常TriHard损失效果比传统的三元组损失要好。&/p&&p&&b&(5)边界挖掘损失(Margin sample mining loss, MSML)&/b&&/p&&p&边界样本挖掘损失(MSML)是一种引入难样本采样思想的度量学习方法。三元组损失只考虑了正负样本对之间的相对距离。为了引入正负样本对之间的绝对距离,四元组损失加入一张负样本组成了四元组&img src=&https://www.zhihu.com/equation?tex=%5C%7Ba%2Cp%2Cn_1%2Cn_2%5C%7D& alt=&\{a,p,n_1,n_2\}& eeimg=&1&&。四元组损失也定义为:&/p&&p&&img src=&https://www.zhihu.com/equation?tex=+L_q+%3D+%28d_%7Ba%2Cp%7D-d_%7Ba%2Cn1%7D%2B%5Calpha%29_%2B+%2B+%28d_%7Ba%2Cp%7D-d_%7Bn1%2Cn2%7D%2B%5Cbeta%29_%2B& alt=& L_q = (d_{a,p}-d_{a,n1}+\alpha)_+ + (d_{a,p}-d_{n1,n2}+\beta)_+& eeimg=&1&&&/p&&p&假如我们忽视参数 &img src=&https://www.zhihu.com/equation?tex=%5Calpha& alt=&\alpha& eeimg=&1&& 和 &img src=&https://www.zhihu.com/equation?tex=%5Cbeta& alt=&\beta& eeimg=&1&& 的影响,我们可以用一种更加通用的形式表示四元组损失:&/p&&p&&img src=&https://www.zhihu.com/equation?tex=+L_%7Bq%5E%5Cprime%7D+%3D+%28d_%7Ba%2Cp%7D-d_%7Bm%2Cn%7D%2B%5Calpha%29_%2B& alt=& L_{q^\prime} = (d_{a,p}-d_{m,n}+\alpha)_+& eeimg=&1&&&/p&&p&其中 &img src=&https://www.zhihu.com/equation?tex=m& alt=&m& eeimg=&1&& 和 &img src=&https://www.zhihu.com/equation?tex=n& alt=&n& eeimg=&1&& 是一对负样本对, &img src=&https://www.zhihu.com/equation?tex=m& alt=&m& eeimg=&1&& 和 &img src=&https://www.zhihu.com/equation?tex=a& alt=&a& eeimg=&1&& 既可以是一对正样本对也可以是一对负样本对。之后把TriHard loss的难样本挖掘思想引入进来,便可以得到:&/p&&p&&img src=&https://www.zhihu.com/equation?tex=L_%7Bmsml%7D+%3D+%28%5Cmax_%7Ba%2Cp%7D+d_%7Ba%2Cp%7D-%5Cmin_%7Bm%2Cn%7D+d_%7Bm%2Cn%7D%2B%5Calpha%29_%2B& alt=&L_{msml} = (\max_{a,p} d_{a,p}-\min_{m,n} d_{m,n}+\alpha)_+& eeimg=&1&&&/p&&p&其中 &img src=&https://www.zhihu.com/equation?tex=a%2Cp%2Cm%2Cn& alt=&a,p,m,n& eeimg=&1&& 均是batch中的图片, &img src=&https://www.zhihu.com/equation?tex=a%2Cp& alt=&a,p& eeimg=&1&& 是batch中最不像的正样本对, &img src=&https://www.zhihu.com/equation?tex=m%2Cn& alt=&m,n& eeimg=&1&& 是batch 中最像的负样本对, &img src=&https://www.zhihu.com/equation?tex=a%2Cm& alt=&a,m& eeimg=&1&& 皆可以是正样本对也可以是负样本对。概括而言TriHard损失是针对batch中的每一张图片都挑选了一个三元组,而MSML损失只挑选出最难的一个正样本对和最难的一个负样本对计算损失。所以MSML是比TriHard更难的一种难样本采样,此外 &img src=&https://www.zhihu.com/equation?tex=%5Cmax_%7Ba%2Cp%7D+d_%7Ba%2Cp%7D& alt=&\max_{a,p} d_{a,p}& eeimg=&1&& 可以看作是正样本对距离的上界, &img src=&https://www.zhihu.com/equation?tex=%5Cmin_%7Bm%2Cn%7D+d_%7Bm%2Cn%7D& alt=&\min_{m,n} d_{m,n}& eeimg=&1&& 可以看作是负样本对的下界。MSML是为了把正负样本对的边界给推开,因此命名为边界样本挖掘损失。总的概括,MSML是同时兼顾相对距离和绝对距离并引入了难样本采样思想的度量学习方法。其演变思想如下图:&/p&&figure&&img src=&https://pic2.zhimg.com/v2-21f0dd52f44a10e9943e64_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&800& data-rawheight=&346& class=&origin_image zh-lightbox-thumb& width=&800& data-original=&https://pic2.zhimg.com/v2-21f0dd52f44a10e9943e64_r.jpg&&&/figure&&p&&b&(6)各种loss的性能对比&/b&&/p&&p&在论文[11]之中,对上面提到的主要损失函数在尽可能公平的实验的条件下进行性能对比,实验结果如下表所示。作为一个参考&/p&&figure&&img src=&https://pic1.zhimg.com/v2-d37e5ce46f0ed7552cad_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&800& data-rawheight=&339& class=&origin_image zh-lightbox-thumb& width=&800& data-original=&https://pic1.zhimg.com/v2-d37e5ce46f0ed7552cad_r.jpg&&&/figure&&h2&3、基于局部特征的ReID方法&/h2&&p&早期的ReID研究大家还主要关注点在全局的global feature上,就是用整图得到一个特征向量进行图像检索。但是后来大家逐渐发现全局特征遇到了瓶颈,于是开始渐渐研究起局部的local
feature。常用的提取局部特征的思路主要有图像切块、利用骨架关键点定位以及姿态矫正等等。&/p&&p&(1)图片切块是一种很常见的提取局部特征方式[12]。如下图所示,图片被垂直等分为若干份,因为垂直切割更符合我们对人体识别的直观感受,所以行人重识别领域很少用到水平切割。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-cd4fc5d8b88_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&883& data-rawheight=&268& class=&origin_image zh-lightbox-thumb& width=&883& data-original=&https://pic2.zhimg.com/v2-cd4fc5d8b88_r.jpg&&&/figure&&p&之后,被分割好的若干块图像块按照顺序送到一个长短时记忆网络(Long short term memory network, LSTM),最后的特征融合了所有图像块的局部特征。但是这种缺点在于对图像对齐的要求比较高,如果两幅图像没有上下对齐,那么很可能出现头和上身对比的现象,反而使得模型判断错误。&/p&&p&(2)为了解决图像不对齐情况下手动图像切片失效的问题,一些论文利用一些先验知识先将行人进行对齐,这些先验知识主要是预训练的人体姿态(Pose)和骨架关键点(Skeleton) 模型。论文[13]先用姿态估计的模型估计出行人的关键点,然后用仿射变换使得相同的关键点对齐。如下图所示,一个行人通常被分为14个关键点,这14个关键点把人体结果分为若干个区域。为了提取不同尺度上的局部特征,作者设定了三个不同的PoseBox组合。之后这三个PoseBox矫正后的图片和原始为矫正的图片一起送到网络里去提取特征,这个特征包含了全局信息和局部信息。特别提出,这个仿射变换可以在进入网络之前的预处理中进行,也可以在输入到网络后进行。如果是后者的话需要需要对仿射变换做一个改进,因为传统的仿射变化是不可导的。为了使得网络可以训练,需要引入可导的近似放射变化,在本文中不赘述相关知识。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-a7c4e13ec4acf89a72339d8_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&454& data-rawheight=&247& class=&origin_image zh-lightbox-thumb& width=&454& data-original=&https://pic1.zhimg.com/v2-a7c4e13ec4acf89a72339d8_r.jpg&&&/figure&&p&(3)CVPR2017的工作Spindle Net[14]也利用了14个人体关键点来提取局部特征。和论文[12]不同的是,Spindle Net并没有用仿射变换来对齐局部图像区域,而是直接利用这些关键点来抠出感兴趣区域(Region of interest, ROI)。Spindle Net网络如下图所示,首先通过骨架关键点提取的网络提取14个人体关键点,之后利用这些关键点提取7个人体结构ROI。网络中所有提取特征的CNN(橙色表示)参数都是共享的,这个CNN分成了线性的三个子网络FEN-C1、FEN-C2、FEN-C3。对于输入的一张行人图片,有一个预训练好的骨架关键点提取CNN(蓝色表示)来获得14个人体关键点,从而得到7个ROI区域,其中包括三个大区域(头、上身、下身)和四个四肢小区域。这7个ROI区域和原始图片进入同一个CNN网络提取特征。原始图片经过完整的CNN得到一个全局特征。三个大区域经过FEN-C2和FEN-C3子网络得到三个局部特征。四个四肢区域经过FEN-C3子网络得到四个局部特征。之后这8个特征按照图示的方式在不同的尺度进行联结,最终得到一个融合全局特征和多个尺度局部特征的行人重识别特征。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-40200ddf39fcd24a82698e7deb7aa3f5_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1408& data-rawheight=&492& class=&origin_image zh-lightbox-thumb& width=&1408& data-original=&https://pic1.zhimg.com/v2-40200ddf39fcd24a82698e7deb7aa3f5_r.jpg&&&/figure&&p&(4)论文[15]提出了一种全局-局部对齐特征描述子(Global-Local-Alignment Descriptor, GLAD),来解决行人姿态变化的问题。与Spindle Net类似,GLAD利用提取的人体关键点把图片分为头部、上身和下身三个部分。之后将整图和三个局部图片一起输入到一个参数共享CNN网络中,最后提取的特征融合了全局和局部的特征。为了适应不同分辨率大小的图片输入,网络利用全局平均池化(Global average pooling, GAP)来提取各自的特征。和Spindle Net略微不同的是四个输入图片各自计算对应的损失,而不是融合为一个特征计算一个总的损失。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-9c7e73d03ec_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1118& data-rawheight=&763& class=&origin_image zh-lightbox-thumb& width=&1118& data-original=&https://pic4.zhimg.com/v2-9c7e73d03ec_r.jpg&&&/figure&&p&(5)以上所有的局部特征对齐方法都需要一个额外的骨架关键点或者姿态估计的模型。而训练一个可以达到实用程度的模型需要收集足够多的训练数据,这个代价是非常大的。为了解决以上问题,AlignedReID[16]提出基于SP距离的自动对齐模型,在不需要额外信息的情况下来自动对齐局部特征。而采用的方法就是动态对齐算法,或者也叫最短路径距离。这个最短距离就是自动计算出的local distance。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-3e5ade588caec675c3e97_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&710& data-rawheight=&317& class=&origin_image zh-lightbox-thumb& width=&710& data-original=&https://pic4.zhimg.com/v2-3e5ade588caec675c3e97_r.jpg&&&/figure&&p&这个local distance可以和任何global distance的方法结合起来,论文[15]选择以TriHard loss作为baseline实验,最后整个网络的结构如下图所示,具体细节可以去看原论文。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-80e3fa5c412f88a8bbdd2f6c_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1254& data-rawheight=&370& class=&origin_image zh-lightbox-thumb& width=&1254& data-original=&https://pic3.zhimg.com/v2-80e3fa5c412f88a8bbdd2f6c_r.jpg&&&/figure&&p&&br&&/p&&h2&4、基于视频序列的ReID方法&/h2&&p&目前单帧的ReID研究还是主流,因为相对来说数据集比较小,哪怕一个单GPU的PC做一次实验也不会花太长时间。但是通常单帧图像的信息是有限的,因此有很多工作集中在利用视频序列来进行行人重识别方法的研究[17-24]。基于视频序列的方法最主要的不同点就是这类方法不仅考虑了图像的内容信息,还考虑了帧与帧之间的运动信息等。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-d01defd25e58a0351c27f_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&797& data-rawheight=&488& class=&origin_image zh-lightbox-thumb& width=&797& data-original=&https://pic2.zhimg.com/v2-d01defd25e58a0351c27f_r.jpg&&&/figure&&p&基于单帧图像的方法主要思想是利用CNN来提取图像的空间特征,而基于视频序列的方法主要思想是利用CNN 来提取空间特征的同时利用递归循环网络(Recurrent neural networks, RNN)来提取时序特征。上图是非常典型的思路,网络输入为图像序列。每张图像都经过一个共享的CNN提取出图像空间内容特征,之后这些特征向量被输入到一个RNN网络去提取最终的特征。最终的特征融合了单帧图像的内容特征和帧与帧之间的运动特征。而这个特征用于代替前面单帧方法的图像特征来训练网络。&/p&&p&视频序列类的代表方法之一是累计运动背景网络(Accumulative motion context network, AMOC)[23]。AMOC输入的包括原始的图像序列和提取的光流序列。通常提取光流信息需要用到传统的光流提取算法,但是这些算法计算耗时,并且无法与深度学习网络兼容。为了能够得到一个自动提取光流的网络,作者首先训练了一个运动信息网络(Motion network, Moti Nets)。这个运动网络输入为原始的图像序列,标签为传统方法提取的光流序列。如下图所示,原始的图像序列显示在第一排,提取的光流序列显示在第二排。网络有三个光流预测的输出,分别为Pred1,Pred2,Pred3,这三个输出能够预测三个不同尺度的光流图。最后网络融合了三个尺度上的光流预测输出来得到最终光流图,预测的光流序列在第三排显示。通过最小化预测光流图和提取光流图的误差,网络能够提取出较准确的运动特征。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-9ed4efb7e67fbda0729a6a_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1064& data-rawheight=&792& class=&origin_image zh-lightbox-thumb& width=&1064& data-original=&https://pic3.zhimg.com/v2-9ed4efb7e67fbda0729a6a_r.jpg&&&/figure&&p&AMOC的核心思想在于网络除了要提取序列图像的特征,还要提取运动光流的运动特征,其网络结构图如下图所示。AMOC拥有空间信息网络(Spatial network, Spat Nets)和运动信息网络两个子网络。图像序列的每一帧图像都被输入到Spat Nets来提取图像的全局内容特征。而相邻的两帧将会送到Moti Nets来提取光流图特征。之后空间特征和光流特征融合后输入到一个RNN来提取时序特征。通过AMOC网络,每个图像序列都能被提取出一个融合了内容信息、运动信息的特征。网络采用了分类损失和对比损失来训练模型。融合了运动信息的序列图像特征能够提高行人重识别的准确度。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-def49a9326dedfa9c74a61b_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1015& data-rawheight=&576& class=&origin_image zh-lightbox-thumb& width=&1015& data-original=&https://pic4.zhimg.com/v2-def49a9326dedfa9c74a61b_r.jpg&&&/figure&&p&&br&&/p&&p&论文[24]从另外一个角度展示了多帧序列弥补单帧信息不足的作用,目前大部分video based ReID方法还是不管三七二十一的把序列信息输给网络,让网络去自己学有用的信息,并没有直观的去解释为什么多帧信息有用。而论文[24]则很明确地指出当单帧图像遇到遮挡等情况的时候,可以用多帧的其他信息来弥补,直接诱导网络去对图片进行一个质量判断,降低质量差的帧的重要度。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-011cdcffd6c_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&772& data-rawheight=&486& class=&origin_image zh-lightbox-thumb& width=&772& data-original=&https://pic2.zhimg.com/v2-011cdcffd6c_r.jpg&&&/figure&&p&如上图,文章认为在遮挡较严重的情况下,如果用一般的pooling会造成attention map变差,遮挡区域的特征会丢失很多。而利用论文的方法每帧进行一个质量判断,就可以着重考虑那些比较完整的几帧,使得attention map比较完整。而关键的实现就是利用一个pose estimation的网络,论文叫做landmark detector。当landmark不完整的时候就证明存在遮挡,则图片质量就会变差。之后pose feature map和global feature map都同时输入到网络,让网络对每帧进行一个权重判断,给高质量帧打上高权重,然后对feature map进行一个线性叠加。思路比较简单但是还是比较让人信服的。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-c2643bfcaefb7d3ff101bcc432ed7315_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1533& data-rawheight=&728& class=&origin_image zh-lightbox-thumb& width=&1533& data-original=&https://pic3.zhimg.com/v2-c2643bfcaefb7d3ff101bcc432ed7315_r.jpg&&&/figure&&h2&5、基于GAN造图的ReID方法&/h2&&p&ReID有一个非常大的问题就是数据获取困难,截止CVPR18 deadline截稿之前,最大的ReID数据集也就小几千个ID,几万张图片(序列假定只算一张)。因此在ICCV17 GAN造图做ReID挖了第一个坑之后,就有大量GAN的工作涌现,尤其是在CVPR18 deadline截稿之后arxiv出现了好几篇很好的paper。&/p&&p&论文[25]是第一篇用GAN做ReID的文章,发表在ICCV17会议,虽然论文比较简单,但是作为挖坑鼻祖引出一系列很好的工作。如下图,这篇论文生成的图像质量还不是很高,甚至可以用很惨来形容。另外一个问题就是由于图像是随机生成的,也就是说是没有可以标注label可以用。为了解决这个问题,论文提出一个标签平滑的方法。实际操作也很简单,就是把label vector每一个元素的值都取一样,满足加起来为1。反正也看不出属于哪个人,那就一碗水端平。生成的图像作为训练数据加入到训练之中,由于当时的baseline还不像现在这么高,所以效果还挺明显的,至少数据量多了过拟合能避免很多。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-abfd28fe0f_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&715& data-rawheight=&341& class=&origin_image zh-lightbox-thumb& width=&715& data-original=&https://pic3.zhimg.com/v2-abfd28fe0f_r.jpg&&&/figure&&p&论文[26]是上一篇论文的加强版,来自同一个课题组。前一篇的GAN造图还是随机的,在这一篇中变成了可以控制的生成图。ReID有个问题就是不同的摄像头存在着bias,这个bias可能来自光线、角度等各个因素。为了克服这个问题,论文使用GAN将一个摄像头的图片transfer到另外一个摄像头。在GAN方面依然还是比较正常的应用,和前作不同的是这篇论文生成的图是可以控制,也就是说ID是明确的。于是标签平滑也做了改进,公式如下:&/p&&p&&img src=&https://www.zhihu.com/equation?tex=q_%7BLSR%7D%28c%29%3D%5Cleft%5C%7B+%5Cbegin%7Barray%7D%7Brcl%7D+%261-%5Cepsilon%2B%5Cfrac%7B%5Cepsilon%7D%7BC%7D+%26+c+%3D+y%5C%5C+%26%5Cfrac%7B%5Cepsilon%7D%7BC%7D+%26+c%5Cne+y+%5Cend%7Barray%7D+%5Cright.& alt=&q_{LSR}(c)=\left\{ \begin{array}{rcl} &1-\epsilon+\frac{\epsilon}{C} & c = y\\ &\frac{\epsilon}{C} & c\ne y \end{array} \right.& eeimg=&1&&&/p&&p&其中 &img src=&https://www.zhihu.com/equation?tex=C& alt=&C& eeimg=&1&& 是ID的数量。 &img src=&https://www.zhihu.com/equation?tex=%5Cepsilon& alt=&\epsilon& eeimg=&1&& 是手动设置的平滑参数,当 &img src=&https://www.zhihu.com/equation?tex=%5Cepsilon+%3D+0& alt=&\epsilon = 0& eeimg=&1&& 时就是正常的one-hot向量,不过由于是造的图,所以希望label不要这么hard,因此加入了一个平滑参数,实验表明这样做效果不错。最终整体的网络框架如下图:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-cea904b679dd17a7b214_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1349& data-rawheight=&517& class=&origin_image zh-lightbox-thumb& width=&1349& data-original=&https://pic4.zhimg.com/v2-cea904b679dd17a7b214_r.jpg&&&/figure&&p&除了摄像头的bias,ReID还有个问题就是数据集存在bias,这个bias很大一部分原因就是环境造成的。为了克服这个bias,论文[27]使用GAN把一个数据集的行人迁移到另外一个数据集。为了实现这个迁移,GAN的loss稍微设计了一下,一个是前景的绝对误差loss,一个是正常的判别器loss。判别器loss是用来判断生成的图属于哪个域,前景的loss是为了保证行人前景尽可能逼真不变。这个前景mask使用PSPnet来得到的,效果如下图。论文的另外一个贡献就是提出了一个MSMT17数据集,是个挺大的数据集,希望能够早日public出来。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-dadc1bbf0bae9_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&751& data-rawheight=&744& class=&origin_image zh-lightbox-thumb& width=&751& data-original=&https://pic3.zhimg.com/v2-dadc1bbf0bae9_r.jpg&&&/figure&&p&ReID的其中一个难点就是姿态的不同,为了克服这个问题论文[28]使用GAN造出了一系列标准的姿态图片。论文总共提取了8个pose,这个8个pose基本涵盖了各个角度。每一张图片都生成这样标准的8个pose,那么pose不同的问题就解决。最终用这些图片的feature进行一个average pooling得到最终的feature,这个feature融合了各个pose的信息,很好地解决的pose bias问题。无论从生成图还是从实验的结果来看,这个工作都是很不错的。这个工作把single query做成了multi query,但是你没法反驳,因为所有的图都是GAN生成的。除了生成这些图需要额外的时间开销以外,并没有利用额外的数据信息。当然这个工作也需要一个预训练的pose estimation网络来进行pose提取。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-e4abddaa226_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&582& data-rawheight=&435& class=&origin_image zh-lightbox-thumb& width=&582& data-original=&https://pic1.zhimg.com/v2-e4abddaa226_r.jpg&&&/figure&&p&总的来说,GAN造图都是为了从某个角度上解决ReID的困难,缺啥就让GAN来补啥,不得不说GAN还真是一个强大的东西。&/p&&p&&br&&/p&&p&&b&后言:&/b&以上就是基于深度学习的行人重识别研究综述,选取了部分代表性的论文,希望能够帮助刚进入这个领域的人快速了解近几年的工作。当然还有很多优秀的工作没有放进来,ICCV17的ReID文章就有十几篇。这几年加起来应该有上百篇相关文章,包括一些无监督、半监督、cross-domain等工作都没有提到,实在精力和能力有限。&/p&&hr&&h2&参考文献&/h2&&p&[1] Mengyue Geng, Yaowei Wang, Tao Xiang, Yonghong Tian. Deep transfer learning for person reidentification[J]. arXiv preprint arXiv:, 2016.&/p&&p&[2] Yutian Lin, Liang Zheng, Zhedong Zheng, YuWu, Yi Yang. Improving person re-identification by attribute and identity learning[J]. arXiv preprint arXiv:, 2017.&/p&&p&[3] Liang Zheng, Yi Yang, Alexander G Hauptmann. Person re-identification: Past, present and future[J]. arXiv preprint arXiv:, 2016.&/p&&p&[4] Tetsu Matsukawa, Einoshin Suzuki. Person re-identification using cnn features learned from combination of attributes[C]//Pattern Recognition (ICPR), 2016 23rd International Conference on. IEEE, –2433.&/p&&p&[5] Rahul Rama Varior, Mrinal Haloi, Gang Wang. Gated siamese convolutional neural network architecture for human re-identification[C]//European Conference on Computer Vision. Springer, .&/p&&p&[6] Florian Schroff, Dmitry Kalenichenko, James Philbin. Facenet: A unified embedding for face recognition and clustering[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition..&/p&&p&[7] Hao Liu, Jiashi Feng, Meibin Qi, Jianguo Jiang, Shuicheng Yan. End-to-end comparative attention networks for person re-identification[J]. IEEE Transactions on Image Processing, 2017.&/p&&p&[8] De Cheng, Yihong Gong, Sanping Zhou, Jinjun Wang, Nanning Zheng. Person re-identification by multichannel parts-based cnn with improved triplet loss function[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 44.&/p&&p&[9] Weihua Chen, Xiaotang Chen, Jianguo Zhang, Kaiqi Huang. Beyond triplet loss: a deep quadruplet network for person re-identification[J]. arXiv preprint arXiv:, 2017.&/p&&p&[10] Alexander Hermans, Lucas Beyer, Bastian Leibe. In defense of the triplet loss for person reidentification[J]. arXiv preprint arXiv:, 2017&/p&&p&[11] Xiao Q, Luo H, Zhang C. Margin Sample Mining Loss: A Deep Learning Based Method for Person Re-identification[J]. 2017.&/p&&p&[12] Rahul Rama Varior, Bing Shuai, Jiwen Lu, Dong Xu, Gang Wang. A siamese long short-term memory architecture for human re-identification[C]//European Conference on Computer Vision. Springer, 3.&/p&&p&[13] Liang Zheng, Yujia Huang, Huchuan Lu, Yi Yang. Pose invariant embedding for deep person reidentification[J]. arXiv preprint arXiv:, 2017.&/p&&p&[14] Haiyu Zhao, Maoqing Tian, Shuyang Sun, Jing Shao, Junjie Yan, Shuai Yi, Xiaogang Wang, Xiaoou Tang. Spindle net: Person re-identification with human body region guided feature decomposition and fusion[C]. CVPR, 2017.&/p&&p&[15] Longhui Wei, Shiliang Zhang, Hantao Yao, Wen Gao, Qi Tian. Glad: Global-local-alignment descriptor for pedestrian retrieval[J]. arXiv preprint arXiv:, 2017.&/p&&p&[16] Zhang, X., Luo, H., Fan, X., Xiang, W., Sun, Y., Xiao, Q., ... & Sun, J. (2017). AlignedReID: Surpassing Human-Level Performance in Person Re-Identification. &i&arXiv preprint arXiv:&/i&.&/p&&p&[17] Taiqing Wang, Shaogang Gong, Xiatian Zhu, Shengjin Wang. Person re-identification by discriminative selection in video ranking[J]. IEEE transactions on pattern analysis and machine intelligence, ):.&/p&&p&[18] Dongyu Zhang, Wenxi Wu, Hui Cheng, Ruimao Zhang, Zhenjiang Dong, Zhaoquan Cai. Image-to-video person re-identification with temporally memorized similarity learning[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2017.&/p&&p&[19] Jinjie You, Ancong Wu, Xiang Li, Wei-Shi Zheng. Top-push video-based person reidentification[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.–1353.&/p&&p&[20] Xiaolong Ma, Xiatian Zhu, Shaogang Gong, Xudong Xie, Jianming Hu, Kin-Man Lam, Yisheng Zhong. Person re-identification by unsupervised video matching[J]. Pattern Recognition, –210.&/p&&p&[21] Niall McLaughlin, Jesus Martinez del Rincon, Paul Miller. Recurrent convolutional network for videobased person re-identification[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. –1334.&/p&&p&[22] Rui Zhao, Wanli Oyang, Xiaogang Wang. Person re-identification by saliency learning[J]. IEEE transactions on pattern analysis and machine intelligence, ):356–370.&/p&&p&[23] Hao Liu, Zequn Jie, Karlekar Jayashree, Meibin Qi, Jianguo Jiang, Shuicheng Yan, Jiashi Feng. Video based person re-identification with accumulative motion context[J]. arXiv preprint arXiv:,2017.&/p&&p&[24] Song G, Leng B, Liu Y, et al. Region-based Quality Estimation Network for Large-scale Person Re-identification[J]. arXiv preprint arXiv:, 2017.&/p&&p&[25] Zheng Z, Zheng L, Yang Y. Unlabeled samples generated by gan improve the person re-identification baseline in vitro[J]. arXiv preprint arXiv:, 2017.&/p&&p&[26] Zhong Z, Zheng L, Zheng Z, et al. Camera Style Adaptation for Person Re-identification[J]. arXiv preprint arXiv:, 2017.&/p&&p&[27] Wei L, Zhang S, Gao W, et al. Person Transfer GAN to Bridge Domain Gap for Person Re-Identification[J]. arXiv preprint arXiv:, 2017.&/p&&p&[28] Qian X, Fu Y, Wang W, et al. Pose-Normalized Image Generation for Person Re-identification[J]. arXiv preprint arXiv:, 2017.&/p&
原文:作者:罗浩备注:为雷锋网/AI 科技评论写的一篇文章,原文没有公式编辑器,所以在知乎上发布一版前言:行人重识别(Person Re-identification)也称行人再识别,本文简称为ReID,是利用计算机视觉技术判断图…
&p&我们“有调评测”购入了&b&21款主流&/b&的蓝牙耳机并进行了评测,帮你找出合适的蓝牙耳机。&/p&&p&按照苹果的作风,iPhone8肯定也会和去年发布的iPhone7一样去掉耳机孔,这就会使得更多的用户将目光投向蓝牙耳机,毕竟&b&少了一个接口&/b&还是比较麻烦的。&/p&&p&那么问题来了,如何挑选适合自己的蓝牙耳机呢?&/p&&p&需要说明的是,使用耳机的人当中,因为大部分选择的是耳塞式,而头戴式的占比较少,所以本次评测主要以耳塞(立体声)为主,头戴的我们日后再说~&/p&&figure&&img src=&https://pic3.zhimg.com/50/v2-cab296cfb13bcdc_b.jpg& data-rawwidth=&768& data-rawheight=&536& class=&origin_image zh-lightbox-thumb& width=&768& data-original=&https://pic3.zhimg.com/50/v2-cab296cfb13bcdc_r.jpg&&&/figure&&br&&figure&&img src=&https://pic1.zhimg.com/50/v2-662c578eb6a28e7a85e55b7bb2580203_b.jpg& data-rawwidth=&659& data-rawheight=&162& class=&origin_image zh-lightbox-thumb& width=&659& data-original=&https://pic1.zhimg.com/50/v2-662c578eb6a28e7a85e55b7bb2580203_r.jpg&&&/figure&&p&我们选取了300~2500元价格区间内,知名度较高的&b&11个品牌21款&/b&蓝牙耳机进行评测。&/p&&figure&&img src=&https://pic2.zhimg.com/50/v2-4c56f02b6a52d3da034d9f_b.jpg& data-rawwidth=&768& data-rawheight=&329& class=&origin_image zh-lightbox-thumb& width=&768& data-original=&https://pic2.zhimg.com/50/v2-4c56f02b6a52d3da034d9f_r.jpg&&&/figure&&p&图中从左至右,从上至下依次是:&/p&&figure&&img src=&https://pic3.zhimg.com/50/v2-5ad6c58f4cfef741bc1fdb_b.jpg& data-rawwidth=&719& data-rawheight=&669& class=&origin_image zh-lightbox-thumb& width=&719& data-original=&https://pic3.zhimg.com/50/v2-5ad6c58f4cfef741bc1fdb_r.jpg&&&/figure&&p&&i&(价格为有调当时购入的价格,采购于京东商城或品牌天猫旗舰店)&/i&&/p&&figure&&img src=&https://pic4.zhimg.com/50/v2-c4d7c89ca7d3a6bfec41825_b.jpg& data-rawwidth=&662& data-rawheight=&155& class=&origin_image zh-lightbox-thumb& width=&662& data-original=&https://pic4.zhimg.com/50/v2-c4d7c89ca7d3a6bfec41825_r.jpg&&&/figure&&h2&蓝牙耳机工作原理&/h2&&p&蓝牙耳机的工作原理大致可分为如图的四个步骤:&/p&&figure&&img src=&https://pic2.zhimg.com/50/v2-a4df1f3ef11feaabddabff55_b.jpg& data-rawwidth=&768& data-rawheight=&269& class=&origin_image zh-lightbox-thumb& width=&768& data-original=&https://pic2.zhimg.com/50/v2-a4df1f3ef11feaabddabff55_r.jpg&&&/figure&&p&手机中的解码芯片对MP3等音乐文件进行&b&解码&/b&,产生&b&数字信号&/b&并通过蓝牙发送给蓝牙耳机;&/p&&ul&&li&蓝牙耳机接收数字信号,并通过蓝牙耳机内部的&b&数模转换芯片&/b&,把它转换成人耳能听懂的&b&模拟信号&/b&;&/li&&li&将模拟信号进行&b&放大&/b&,需要用到耳机内部的信号放大芯片;&/li&&li&耳机单元接收放大后的信号并发出声音,此时耳朵便听到了&b&音乐声&/b&。&/li&&/ul&&h2&蓝牙耳机听个响?&/h2&&p&然而一直以来,蓝牙耳机的音质却饱受诟病,在发烧友圈中甚至经常流传“蓝牙耳机听个响”这个说法,其原因主要有两点:&/p&&ul&&li&蓝牙传输音频数据时对音频进行了有损压缩,损失了音质;&/li&&li&数模转换、放大都在蓝牙耳机内部完成,在那么小的体积上想同时做好这两件事&b&就很难了&/b&,所以为了便携和价格,进一步&b&牺牲音质&/b&。&/li&&/ul&&p&其中第二点是最主要的原因,了解蓝牙耳机原理之后我们知道,要使蓝牙耳机正常工作,需要在耳机外壳中装入电池、蓝牙模块、数模转换电路、放大电路、耳机单元等等一系列组件,这就十分考验厂商的产品&b&设计能力&/b&以及&b&综合技术实力&/b&。然而做到这一步,也仅仅是满足了“发声”的需求。想要声音好听,还需要&b&调音&/b&,这个环节要验证不同材料不同振膜不同线材下,耳机声音的具体表现,总之是一个较为复杂的过程,也是厂商的主要研发成本。&/p&&blockquote&简单来说,蓝牙耳机是一种妥协思维的产物,为了摆脱耳机线的束缚而降低了部分音质。不过目前来看,传统耳机大厂做出来的蓝牙耳机音质普遍比较好(当然价格也较贵),可以满足大部分用户对音乐的欣赏需求,而那些小厂出品的低价蓝牙耳机确实也就只能“听个响”了。&/blockquote&&h2&常见英文缩写介绍&/h2&&ul&&li&&b&NFC:&/b&近场通讯技术,佩戴了此功能的蓝牙耳机可以通过与播放设备触碰的方式,进行快速配对连接。&/li&&li&&b&AAC:&/b&杜比实验室提供的技术,是一种高压缩比的编码算法,Apple music上有大量的AAC音频,同码率下音质优于MP3,iPhone进行蓝牙传输时会使用AAC编码。&/li&&li&&b&AptX:&/b&高通主推的编码技术,比传统蓝牙编码效率更高,声音保留的细节更多。大部分安卓新机配备AptX,但需要蓝牙耳机也支持Ap}

我要回帖

更多关于 李大毛钓鱼视频2017 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信