中科视拓获数千万pre-A轮融资,机器之心专访山世光
机器之心原创
作者:邱陆陆
10 月10日,中科视拓对外公布,获得安赐资本领投的数千万元 pre-A 轮融资。这是去年秋天中科视拓宣布成立,并获得线性资本领投的千万级天使轮融资后,首次公开融资消息。
去年初秋,中科院人脸识别专业研究员山世光携千万级天使融资创业的消息引发了人工智能领域内一次不小的震动,如今整整一年过去了,人脸识别领域繁盛如烈火烹油,而中科视拓这家静水深流的公司却并未给我们太多机会得以一窥其庐山真面目。9 月,机器之心来到中科视拓,与「学者山世光」聊了聊人脸识别学界 20 年里走过的万水千山和仍需努力的未竟革命,与「企业家山世光」谈了谈人脸识别在业界里能做的、要做的、想做的事,他的新身份带来的新视角,以及他通过赋能推动 AI 边界拓展的新计划。
以下为采访实录:
人脸识别领域的「激荡 20 年」
我从 97 年做本科毕业设计的时候就开始做人脸识别,概括下来,这 20 年里人脸识别领域经历了几次小起伏和一次大起伏。
如果从历史的角度看,94 年到 97 年其实是一个人脸识别的小高潮。美国的国家标准与技术研究院(NIST)在 1994-1995 年的时候举办了一个竞赛,叫 FERET(Face Recognition Technology),并且建了一个包含一千一百多人,数千张照片的人脸数据库。虽然现在看来这个数据库规模很小,但是在当时已经是很大的数据了。当时有一些美国的知名高校,比如 CMU、UMD、哥大,在 94、95 年参加竞赛,取得了一些进步,然后在 97 年的时候发表了一些文章。其中有一篇发表在 PAMI 上面的,叫做 Fisherface [1],可能现在还是自 91 年的 Eigenface [2] 以来,整个人脸识别领域引用最高的文章之一。Fisher 代表的是费舍尔线性判别分析(Fisher Discriminative Analysis)算法,对输入图像 X 用 W 做线性变换 Y = WX,将其降维映射到另一个空间得到向量 Y,而问题的核心在于如何找到合适的 W。97 年 Fisherface 这篇文章采用了线性判别分析方法,简单来说就是找一个空间,在这个空间里同一个人的照片尽可能聚集在一起,不同人的照片尽可能远离。这就是就是费舍尔判别准则:把同一个人的照片间距离称为类内距离,不同人的称为类间距离,判别函数试图让类内距离尽可能小,类间距离尽可能大。而 Fisherface 就基于这样一个准则去寻找 W,做线性变换。这个工作的影响非常深远,一直到 2010 年前后,很多人脸识别方法都还是在以这个准则为目标来寻求所谓最优的变换。
90 年代的小高峰过去之后,2002 年到 2004 年还有一些非常重要的工作,在对图像进行线性变换前先对它做特征提取。其中影响力最大的是 Gabor 小波变换 [3] 和 LBP(Local Binary Patterns)[4]。其中,Gabor 小波其实是一个加窗的傅里叶变换。我们把原图用 Gabor 滤波器函数进行处理,处理后维度可能比原图更高,例如,用了 40 个 Gabor 小波滤波器的话,维度会变成原图的 40 倍,我们在此基础上再去求 W,一方面 W 可以把特征维度降低,另一方面还是通过 W 实现类似 Fisher 的目标。
Gabor 小波变换是很早就有的方法,但是这个工作的意义体现在和后来的深度学习有密切的关系。Gabor 小波滤波器的参数,或者说权重,是通过 Gabor 小波人为定义出来的。深度学习的底层其实也是一些滤波器,它和传统方法的不同就是参数不是人为定出来而是通过数据学习出来的。而二者的联系在于,通过学习得来的底层滤波器非常像 Gabor 小波滤波器或者高斯导数滤波器。尤其是在一个不是特别深的卷积神经网络里,前面几层,尤其是第一层的滤波器会非常像人为定义出来的滤波器。这并不是一个偶然现象,其中是存在必然联系的,我们可以认为二者都是在试图提取一些特定朝向的边缘特征。除了与深度学习的联系之外,这个工作在性能上也较 Fisherface 有了大幅度的提高。
后来大家普遍觉得,寻求一个把不同人分得很开的低维空间这样一个非常复杂的目标可能不是一个简单的线性变换能够解决的。毕竟我们要把图像从非常高维的空间映射到非常低维的空间,同时又希望获得好的判别能力。所以大家想方设法地去找一些非线性的变换。我们实验室在 2007 年发过一篇 ICCV 的工作 [5],是在 Gabor 小波滤波器的基础上做分段线性来逼近一个可能非常复杂的非线性函数。这个工作后来也申请了专利,并授权给合作伙伴银晨做了大量的应用。这些应用包括国家出入境管理局的基于数亿护照照片的人脸识别系统,以及全国十余个省的省厅级大库人员比对系统。这也是人脸识别的在国内第一波成功应用,解决的是一个人有多个户口或护照的「多重身份问题」,这些系统最多在一个省内就识别出数以万计的有多重身份的人,其中不乏洗白了身份的在逃人员。
除了分段线性外,另一种常见方法是用 Kernel 技巧做非线性的特征提取。此外,2000 年《科学》杂志上的两篇文章,Isomap [6] 和 LLE [7],引领了流形学习这个领域的进展。因此 2000 年前后,特别是 03、04 年的时候,国内和国际上很多人开始做流形学习。流形学习试图找一个非线性的变换,得到一个好的空间,能够把类内聚集,类间分开这个目标实现得更好,本质上也是想解决非线性问题。
2009 年有一个稍显昙花一现的方法是稀疏表示。它本质上还是一个线性模型,只不过没有添加 L2 正则项,而是添加了 L1 或者 L0 的。我们倾向于认为它在信号处理等底层视觉处理上是有用的,但在人脸这样高层任务的处理上,不解决特征提取这个最根本问题。
2012 年左右,ImageNet 的巨大成功直接把深度学习带到了人脸识别领域。从 2013 年开始,人脸识别的所有技术非常迅速地切换到了深度学习上。深度学习的核心就是特征学习,换句话说,就是不再人为定义 Y = WX 形式的特征,而是交给数据去学习一个通过神经网络实现的 Y=f(X) 形式的变换。
深度学习有几个非常重要的特征:第一是非线性,并且和 Kernel 方法相比,是一个显式的非线性。Kernel 方法是通过在原始空间中进行 Kernel 函数计算逼近目标空间中的两个输入的点积,但由于 Kernel 函数的种类非常有限,所以不一定能找到适合特定问题的 Kernel 函数。第二是逐层抽象,这非常符合过去研究者一直期望找到的特征提取方式:从底层的边缘、角、点这样的基础特征,到圆、椭圆这样的稍微复杂的模式,再到眼睛、鼻子、嘴这样的部件,到脸型、是否带眼镜等属性,最后是性别、身份、表情等高级属性。这样的特征提取方式非常符合人在认知方面的需求。第三是技术上解决了多层特征提取问题,原来人为设计滤波器的时候做不了很多层。比如在一层 Gabor 小波滤波器的基础上再做一层 Gabor 小波滤波器的话,我们已经不知道是什么意思了。LBP、SIFT [8]、HOG 等方法尝试在滤波器的基础上做直方图的表达,然而再往上抽象,就又遇到瓶颈了。
我认为深度学习给人脸识别领域带来了一次跨越式的发展。举个例子,在 12 年甚至 13 年的时候,研究者还普遍认为,基于二代身份证的人证比对是一个不可能完成的任务。它的难度太大了:身份证的照片可能是多年以前差别很大的旧照,大小又只有 102×126,而且被从 30k 左右强制压缩到了 1k,损失了非常多信息。但是现在我们已经可以做到,在人配合地去看镜头的时候,做到 0.01% 的误识率(false accept rate)的情况下,有 98% 以上的识别率(Recognition rate)。也就是说一万个人冒充你,只有一个人能成功的条件下,自己本人被正确识别的概率在 98% 以上。在 13 年之前,万分之一精度可能只有 20% 不到的召回率。
图像识别「问题解决」目标尚远
如今,虽然 ImageNet 竞赛已经结束了,但是图像识别问题还远远没有解决。如果我们寄希望于用深度学习解决图像识别问题,就意味着我们要收集所有待识别物体的大量有标注数据。这件事情需要多少人力、物力、时间是不可知的,我们甚至无法定义这个世界上有多少需要识别的物体种类。ImageNet 中有一千类,然而日常生活中需要识别的物体至少在万类规模,大千世界里出现过的物体可能有百万类甚至更多。另外,实际应用中的大量需求是难以想象的,例如对车辆安检需求,可能需要拍车底部的照片。这样的问题是否只能通过采集大量数据来解决,还要打一个大大的问号,而且对于做科学技术的人来说,这个过程非常痛苦,不是一个「优雅」的解决办法。
我们期望有一个像人一样解决问题的办法。以让小区里的巡逻机器人学会检测狗屎为例:
在前深度学习时代,这个过程大概分三步:第一步,花几个月时间收集和标注几百或上千张图;第二步,观察并人为设计形状、颜色、纹理等特征;第三步,尝试各种分类器做测试,如果测试结果不好,返回第二步不断地迭代。人脸检测就是这样进行的,从上世纪八十年代开始做,大量研究者花了大概二十年时间,才得到了一个基本可用的模型,能较好地解决人脸检测的问题。而后在监控场景下做行人和车辆的检测,前后也花了大概十年的时间。就算基于这些经验,做出好用的狗屎检测器,至少还是需要一年左右的时间。
在深度学习时代,开发一个狗屎检测器的流程被大大缩短了。尽管深度学习需要收集大量的数据并进行标注(用矩形把图中的狗屎位置框出来),但由于众包平台的繁荣,收集一万张左右的数据可能只需要两星期。接下来,我们只需要挑几个已经被证明有效的深度学习模型进行优化训练就可以了,训练优化大概需要一个星期,就算换几个模型再试试看。这样完成整个过程只需要一两个月而已。而在后深度学习时代,我们期待先花几分钟时间,在网上随便收集几张狗屎照片,交给机器去完成余下所有的模型选择与优化工作,或许最终只需要一、两星期解决这个问题。
总之,我们认为,图像识别,或是说计算机视觉问题,应该有不依靠大数据的、更优雅的解决方案。我们的团队现在也作了一些这方面的尝试。例如以大量数据学习出来的人脸识别的模型为基础,使用少量数据精调,来完成表情识别、年龄估计等任务,这样得到的技术甚至赢得了国际竞赛的冠军或亚军。此外,在数据有限的情况下,我们还尝试了在深度学习过程中融入人类专家知识,以减少对数据量的需求。我们的一种策略是把神经网络中需要大量数据进行优化的低层连接权重,替换成人为定义的特征,例如传统的 Gabor 特征,从而减少对大数据的需求,也获得了不错的结果。
深度学习的端到端思想对人脸识别的影响
前深度学习时代的人脸识别的标准流程里,第一步是人脸检测,其结果就是在图片中的脸部区域打一个矩形框。第二步是寻找眼睛、鼻子、嘴等特征点,目的是把脸对齐,也就是把眼鼻嘴放在近乎相同的位置,好像所有的脸都能「串成一串」一样,且只保留脸的中心区域,甚至连头发不要。第三步是光照的预处理,通过高斯平滑、直方图均衡化等来进行亮度调节、偏光纠正等。第四步是做 Y= f(X) 的变换。第五步,是计算两张照片得到的 Y 的相似程度,如果超过特定的阈值,就认定是同一个人。
深度学习的到来对整个流程有一个巨大的冲击。
一开始,研究者用深度学习完成人脸检测、特征点定位、预处理、特征提取和识别等每个独立的步骤。而后首先被砍掉的是预处理,我们发现这个步骤是完全不必要的。理论上来解释,深度学习学出来的底层滤波器本身就可以完成光照的预处理,而且这个预处理是以「识别更准确」为目标进行的,而不是像原来的预处理一样,以「让人看得更清楚」为目标。人的知识和机器的知识其实是有冲突的,人类觉得好的知识不一定对机器识别有利。
而最近的一些工作,包括我们在今年 ICCV 上的一个工作 [9],就是把第二步特征点定位砍掉。因为神经网络也可以进行对齐变换,所以我们的工作通过空间变换(spatial transform),将图片自动按需进行矫正。并且我有一个猜测:传统的刻意把非正面照片转成正面照片的做法,也未必是有利于识别的。因为一个观察结果是,同一个人的两张正面照相似度可能小于一张正面、一张稍微转向的照片的相似度。最终,我们希望进行以识别为目标的对齐(recognition oriented alignment)。
在未来,或许检测和识别也可能合二为一。现在的检测是对一个通用的人脸的检测,未来或许可以实现检测和识别全部端到端完成:只有特定的某个人脸出现,才会触发检测框出现。
第五步的相似度(或距离测度)的计算方法存在一定的争议。我认为特征提取的过程已经通过损失函数暗含了距离测度的计算,所以深度特征提取与深度测度学习有一定的等价性。但也有不少学者在研究特征之间距离测度的学习,乃至于省略掉特征提取,直接学习输入两张人脸图片时的距离测度。
总体来说,深度学习的引入体现了端到端、数据驱动的思想:尽可能少地对流程进行干预、尽可能少地做人为假设。
当然,这一切的前提是大数据,否则还是需要人的知识嵌入。从进化的角度,人脑在出生时就是一个历代祖先大数据学习的结果。而人的个体的后天发育是通过观察得到的小数据和教育给予的知识对大脑进行适应性修改的过程。将现在的人工智能与人类进行对比,就能发现人工智能是专科智能而非全科智能,而且专科智能还太依赖大数据。我们可以认为深度学习其实只是归纳法的胜利,而人的学习还有很大一部分是基于演绎推理。因此,我认为在未来,会出现知识与数据联合驱动的方法,但这面临着一个非常大的挑战,即机器知识和人类知识在表示上的鸿沟的弥合。人的知识表达在书本上,机器的知识蕴含在神经网络里,现在二者没有办法对应,更不能互相转化。这是未来非常值得去研究的一件事情。
从服务到赋能,从技术到应用场景,不同视角下的 Seeta 业务版图
中科视拓的业务类型可以按照与客户合作的形式和应用的场景两种方式进行分类。
按照与客户合作的形式上,主要有四种:
一种是以提供 SDK 做技术服务的方式。客户购买 SDK,我们协助他们嵌入到产品里面去,这类客户大约有十余家。
另一种是深度授权与深度定制,与华为、平安、中国移动的合作都属于这一类。我们面向一些标杆客户提供非常开放的源码级的合作,甚至在这个过程中,我们也非常愿意帮助客户去提升自身团队的深度学习研发能力。
第三种,我们自己也在做 C 端产品和集成系统的开发。我们委托第三方开发硬件,搭载视拓的算法,开发出 1:1 人证验证一体机用于实名验证需求,开发出 1:N 人脸识别闸机等,可以给数千人规模的楼宇或单位做无卡的刷脸门禁或闸机,预期可以全面取代传统的刷卡门禁或闸机系统。
最后一种,也是我们正在推进的赋能型产品服务,Seeta Training As a Service,简称 SeeTaaS。我们的终极目标是做一个平台,底层有私有云或公有云形式的云端计算能力,上层有一套 SeeTaaS 软件,软硬件结合成一个黑盒子。用户将自己的数据给黑盒子做自动优化,包括模型自动选择、模型超参数和参数的自动优化,一段时间后得到完成的结果。我们已经做了初步的工作,通过这种方式对一些有严格保密要求的用户,例如航天和军工用户进行赋能。最终,我们希望达到的目标是,对不具备 AI 开发能力的公司进行赋能,希望在五年之后,我们的系统是一个不懂深度学习的中学生都可以通过简单的设置来使用的系统。而这个系统在处理过足够多数据的时候,可以像研究者一样积累经验,能够针对一批特定数据去进行分析,对可能的最优模型、超参数和参数、可能的优化方法与优化路径等进行推测和优化。
这个系统旨在填补 AI 人才与社会对 AI 技术需求之间的缺口。尽管 AI 人才的数量在增加,但这个速度和各行各业对特定领域的 AI 技术需求的增速还是不可相比的。很多传统行业企业都具有数据搜集的能力,因此我们的理想是,通过这个系统快速地开发出越来越多的 AI 引擎,由此使得整个社会里各行各业的智能化的水平得到很快的提升。我坚信,5 到 10 年后,AI 的开发肯定是可以走进高中课程去的。
从应用角度来看,人脸识别大概有十几种不同的应用场景,中科视拓的重点有以下几类:
第一个是人证一致性场景,解决实名制验证需求,识别的根基是公民身份证照片。我们和中国移动、中国电信等有实名制需求的企业合作,把客户现场照片和身份证表面/内部的照片,或者是通过姓名和身份证号在国家的身份证号码查验中心获得的照片进行比对。这是车站、码头、酒店、运营商、券商以及越来越多的互联网企业都有的实名制验证需求。这个场景下,我们实现了非常高的精度。在一万人来冒充你只有一个人成功的情况下,基本可以做到接近百分之九十九的准确率了。这其中的技术难点是对含有水纹噪声的身份证照片的处理。
第二个是「验明正身」需求,更多是民用的无感门禁、考勤加上访客系统,或者手机等私人物品的访问系统。这是一个巨大潜在市场的场景。和第一种场景不同,这一类场景的根照片的质量比较高,可以拿到近照、清晰照片,甚至可以让识别对象协助拍摄多角度照片乃至视频。因此这种场景下的精度更高,可以做到万人规模的单位,98% 的人次可以一次通过。
<iframe class="video_iframe" data-vidtype="2" allowfullscreen="" frameborder="0" data-ratio="1.7058823529411764" data-w="464" data-src="http://v.qq.com/iframe/player.html?vid=v1326jfi6f7&width=370&height=208.125&auto=0" width="370" height="208.125" data-vh="208.125" data-vw="370" style="display: none; width: 370px !important; height: 208.125px !important;"></iframe>
而且系统会进行适应性调整,就从一个生人系统变成一个熟人系统,会越用越好。这个系统的局限性是闸机系统还是以室内应用为主,在室外情况下受到阳光干扰会出现难以识别的情景。
第三个是泛安防领域的会议签到系统或者访客系统等,这是一类 1:N 问题,特殊性在于提交的照片通常不是证件照而是生活照。
上述几类都是配合用户,难度增加一层的应用场景是用户不会刻意配合的常客或白名单系统,例如在智慧商业领域,人脸识别技术也在快速切入。我们中科视拓正在和某无人零售商店合作开发面向无人商店的人脸识别系统。当然,最难的应用场景还是警用安全防范领域,这类应用因为识别对象可能进行刻意伪装而难度大增,但得益于数据获取机会的增多,人脸识别技术也在非常快速地进入这个市场,公安部门已经取得了不少战果。我们也和公安部门合作,开发了针对万人级别的黑名单库的人脸识别系统,这个场景的特殊性是需要控制虚警率尽可能的低,同时还要保证足够高的召回率。
其他外围的应用还包括情感计算,换言之,就是「察言观色」,通过眨眼次数、心跳次数、眼神集中度、七种基本表情和十几个面部肌肉运动单元的动作捕捉,做情绪指标估计。例如,用心跳次数估计做紧张指标。这类应用可以用于辅助金融机构的风控工作,代替业务员来对客户的风险性进行判断,解决业务员能力参差不齐的问题。也可以用于面试、教学效果评估、疲劳驾驶预防等场景。
从「学者山世光」到「企业家山世光」的这一年
中科视拓成立一年了,对于业界和学界的异同,还是有特别深的体会。相似的地方是,做学术和做企业对于价值的判断还是很相似的。一个学术工作的价值体现在别人没有做过或者做得不好,这在企业里也是非常类似的,物以稀为贵,而不是能做就有价值。因此我们在选择市场的过程中,除了在做较多人能做的事之外,也一直在探索有自己特色的东西,这种思路来源于我们从学术界带来的「求新求异」的思维模式。作为一家科技公司,比起商业方面的突出,我们有更大意愿在技术上做到和别人不一样。
而不同的地方在于,商业价值的体现不是一个纯粹的技术问题,而是如何让市场上的用户接受你的技术以及产品。所以从这个角度来说,企业就要反过来从用户的需求出发。例如我们做人脸闸机这个看起来别人也能做的项目,就是因为通过做这些项目才能够真正地理解用户的需求,反馈到技术上做更好的改进。虽然人脸识别看起来在快速落地,但其实还是有很多和核心技术没有直接关系的、需要根据用户需求设定策略的问题需要解决,而在学术界的时候,我们努力解决的问题有时候是我们想象出来的,实际应用中可能不会存在这样的问题。
我们和中科院计算所的实验室依然有非常紧密的联系,实验室定位为「视拓研究院」,而公司则把实验室的算法工程化、产品化。我经常说现在的 AI 技术等于 A (Algorithm) + B (Big Data) + C (Computation Power),实验室强调的是 A,是算法,公司会把数据和算力加进来,也会反过来为实验室提供数据和算力支持。
这一年,我们发现学术界和业界对数据的理解也很不一样。工业界的势头很猛、对学术界的冲击非常大。很多实验室对数据的重视程度不够,他们现在觉得很重要的问题其实业界已经通过数据解决了。所以学术界其实需要调整思路,把问题定义清楚,不要在算力和数据量跟不上的情况下试图在大数据问题上挑战工业界。现在在世界范围内,人工智能的最强驱动力量还是 Google、Facebook 这些企业,这也是很正常的一个现象,当一个领域开始走向成熟的时候,工业界有巨大的利益驱动,学术界反而因为需要发散的求异思考,所以看起来好像没有相对明确的目标。但是我相信学术界在几年之后会走出一条和工业界不一样的路。
工业界和学术界从方法论上来讲,应该有本质不同。工业界一定是数据驱动的方法论,而学术界一定要把知识加进来,把深度学习的作用「弱化」,找到可以利用小数据、脏数据、乱数据、半监督、弱监督、无监督数据的机器学习方法。我把这些数据条件称之为 X 数据,而支持 X 数据驱动的方法,一定要充分利用人类数千年来总结的各类知识。
过去讲「知识图谱」是仅仅从人的角度出发,现在我认为还应该把数据嵌入到知识图谱里面,通过这种方式去促进机器知识和人的知识的对应与相互利用,获得更高效的方法。例如图像识别领域最终的解决方案,可能是工业界和学术界一起配合,由工业界通过大数据给出万类规模的常见物体准确识别解决方案,而余下的大量不常见的物体识别问题,就需要学术界给出小样本解决方案了。
总而言之,现在学术界最大的任务应该是要把深度学习「搞掉」,而工业界要做的就是不断地收集数据,然后把深度学习用好,尽力向外推广,拓展它的边界。
公司大事记
2016 年 8 月,公司成立,获得天使投资
2016 年年底,与平安、电信等大公司达成合作
2017 年 1 月,与军方签署无人机视觉技术合作项目
2017 年 3 月,入选中关村前沿储备企业
2017 年 4 月,在杭州成立控股子公司「火视科技」,专注于产品与系统集成
2017 年 5 月,与航天部门签署人脸门禁系统合同
2017 年 6 月,门禁和考勤系统的产品正式问世
2017 年 7 月,第一版 SeeTaaS 系统开始内测
2017 年 8 月,完成 pre-A 轮投资
参考文献
[1] Belhumeur P N, Hespanha J P, Kriegman D J. Eigenfaces vs. fisherfaces: Recognition using class specific linear projection[J]. IEEE Transactions on pattern analysis and machine intelligence, 1997, 19(7): 711-720.
[2] Turk M, Pentland A. Eigenfaces for recognition[J]. Journal of cognitive neuroscience, 1991, 3(1): 71-86.
[3] Liu C, Wechsler H. Gabor feature based classification using the enhanced fisher linear discriminant model for face recognition[J]. IEEE Transactions on Image processing, 2002, 11(4): 467-476.
[4] Ahonen T, Hadid A, Pietikäinen M. Face recognition with local binary patterns[J]. Computer vision-eccv 2004, 2004: 469-481.
[5] Su Y, Shan S, Chen X, et al. Hierarchical ensemble of global and local classifiers for face recognition[J]. IEEE Transactions on Image Processing, 2009, 18(8): 1885-1896.
[6] Tenenbaum J B, De Silva V, Langford J C. A global geometric framework for nonlinear dimensionality reduction[J]. science, 2000, 290(5500): 2319-2323.
[7] Roweis S T, Saul L K. Nonlinear dimensionality reduction by locally linear embedding[J]. science, 2000, 290(5500): 2323-2326.
[8] Lowe D G. Object recognition from local scale-invariant features[C]//Computer vision, 1999. The proceedings of the seventh IEEE international conference on. Ieee, 1999, 2: 1150-1157.
[9] Wu W, Kan M, Liu X, et al. Recursive Spatial Transformer (ReST) for Alignment-Free Face Recognition[C]. ICCV, 2017.
本文为机器之心原创,转载请联系本公众号获得授权。
✄------------------------------------------------
加入机器之心(全职记者/实习生):hr@jiqizhixin.com
投稿或寻求报道:content@jiqizhixin.com
广告&商务合作:bd@jiqizhixin.com
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
随时掌握互联网精彩
- 1 准确把握守正创新的辩证关系 7933158
- 2 中国黄金原董事长家搜出大量黄金 7918775
- 3 空调英文不会男生盯着考场空调看 7843390
- 4 消费品以旧换新“加速度” 7721030
- 5 被铁路售票员的手速惊到了 7651595
- 6 网红赤木刚宪爆改赵露思 7550924
- 7 县委原书记大搞“刷白墙”被通报 7490877
- 8 山姆代购在厕所分装蛋糕 7343904
- 9 马龙刘诗雯穿正装打混双 7202983
- 10 刘强东提前发年终奖 7121081