Ting

换脸新潮流:BIGO风靡全球的人脸风格迁移技术

三世轮回 提交于 2020-08-16 01:48:50
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 引 1974年,我国的考古学家在陕西省西安市发掘出了兵马俑,并被其神态各异惟妙惟肖的面部表情所震撼。同年,一篇名为《A Parametric Model for Human Faces》论文迈出了人脸属性编辑这一领域的第一步。而半个世纪后的今天,BIGO自主研发的FaceMagic的换脸技术让你随心所欲地化身为兵马俑,世界名画,或者电影里的超级英雄, 产品一推出即风靡全球。 BIGO为了把这项创新技术带给全球用户,研发人员克服了各种挑战。技术挑战主要来源于三个方面:第一是人脸特征迁移技术,我们创新性地尝试把风格迁移的思路用于人脸特征迁移中,克服了当时主流的deep fake、 3D方案等技术的不足。 第二是全球化问题,因为BIGO用户来源于全球各地,为了解决不同人种的肤色、五官结构的差异问题,我们构建了千万量级的全球化的人脸数据集,极大地涵盖肤色、性别、年龄等差异性,力求把全球每一位用户的效果做到最佳 。第三是多属性,多场景的效果优化,我们在不断优化网络结构的同时尝试人脸属性、人脸姿态等约束,并大力提升大规模数据的训练效率,充分挖掘数据的多样性特征,把换脸效果做到更加鲁棒、真实、自然。FaceMagic仍在吸引越来越多人的参与,自上线以来,全球生产总量接近1亿。功能推出后

Python实现一键换底片!不用抠图,想换什么换什么

允我心安 提交于 2020-07-28 12:19:03
生活中我们会拍很多的证件照,有的要求红底,有的是白底,有的是蓝底,今天不通过抠图,实现一键换底片,想换什么换什么。 知识点: 1.图像处理 2.OpenCV 3.numpy 4.python基础知识 环境: windows pycharm python3 步骤 1、倒入库 import numpy as np import cv2 如果直接在命令提示符中安装的话要换个名称 pip install OpenCV-python 2、图像导入 img = cv2.imread('timg.jpg') 3、缩放 rows,cols,channels = img.shape print(rows,cols,channels) img = cv2.resize(img,None,fx=0.5,fy=0.5) rows,cols,channels = img.shape print(rows,cols,channels) 4、显示图像内容,并进行处理 转换图像为二值化图 cv2.imshow('img',img) hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV) cv2.imshow('hsv',hsv) lower_blue = np.array([90,70,90]) upper_blue = np.array([110,255,255]) 二值化功能

【今日CV 计算机视觉论文速览】 11 Mar 2019

久未见 提交于 2020-04-30 21:10:29
今日CS.CV计算机视觉论文速览 Mon, 11 Mar 2019 Totally 35 papers Interesting: 📚 Three-Player GAN ,在通常GAN的基础上增加了生成器和分类器间的竞争。利用C来合成更为困难的样本,随后这些样本将提高分类器的能力。(from ESAT-PSI) 当分类器加入时,生成的数据分布改变了不再是real/fake,而是更难分辨的中间数据: 📚 , 基于分级的方法来实现弱监督语义分割,加快语义分割的速度。(from Eindhoven University of Technology) 基础分类器先分类,而后将相关车辆行人的像素交给子分类器,右图是相关数据集和模型表现。 📚 3DN ,三维的可变形网络,实现了三维模型的风格迁移。(from USC) 其损失包含了以下部分: mesh的两项为形状损失,包含了CD(chamfer )和EMD(earth mover)两项,来确定变型后的模型与目标模型的外形。point的两项用于保持对称性,所以要通过点云来比较。为了避免自交叉引入了局域变异不变性损失,保持源形状的局域几何特性拉普拉斯损失。 code :github.com/laughtervv/3DN 📚 FastDepth ,用于嵌入式设备的快速单目深度估计,利用了depthwise

CVPR 2020 | 京东AI研究院对视觉与语言的思考:从自洽、交互到共生

六眼飞鱼酱① 提交于 2020-04-13 20:10:41
【今日推荐】:为什么一到面试就懵逼!>>> 纵观视觉与语言在这六年间的飞速发展史,它就仿佛是两种不同文化(计算机视觉与自然语言处理)的碰撞与交融。这里每一种文化最初的进化都是 自洽 的,即独立地演化形成一套完备的视觉理解或语言建模体系;演化至今,我们当前所迎来的则是两种文化间的 交互 ,自此视觉理解和语言建模不再是简单串联的两个模块,而是通过互相的信息传递成为共同促进的一个整体;对于视觉与语言的未来,则一定是聚焦于两者更为本质和紧密的 共生 ,它所渴望的,将是挣脱开数据标注的桎梏,在海量的弱监督甚至于无监督数据上找寻两者间最为本质的联系,并以之为起源,如「道生一,一生二,二生三,三生万物」一般,赋予模型在各种视觉与语言任务上的生命力。 This monkey on the back of horse Disney made the best cake of all time using projection Tiny squid flopping around on the rocky bottom of fish tank 注:为了更好地便于读者理解和推动视觉语言领域的发展,将这几年我们关于视觉与语言的代表性工作(LSTM-A [1],GCN-LSTM [2],HIP [3],X-LAN [4])进行开源,这些对应的源码都在 GitHub 上陆续公开( https://

开发人员如何解决 Spring Cloud 服务冲突和实例乱窜?

荒凉一梦 提交于 2019-11-29 06:54:15
作者:zlt2000 原文:https://www.cnblogs.com/zlt2000/p/11459390.html?utm_source=tuicool&utm_medium=referral 一、背景 在我们开发微服务架构系统时,虽然说每个微服务都是孤立的可以单独开发,但实际上并非如此,要调试和测试你的服务不仅需要您的微服务启动和运行,还需要它的上下文服务、依赖的基础服务等都要运行;但如果你的系统服务数和依赖比较多呢,那就是一个比较棘手的问题!有没有办法能提高开发效率呢? 如上图所示,我们能不能用 服务器把所有的服务都部署 起来,然后开发 只在本地运行自己所负责开发的服务 ,因为需要依赖其他服务所以本地启动的服务也需要注册到公共的注册中心里; 例子中业务服务B有3台实例注册到注册中心里 分别是:服务上的、开发A与开发B自己本机启动的 但是这样做又会出现新的问题: 服务会冲突乱窜 ,意思就是开发A在debug自己的业务服务B服务的时候可能请求会跳转到其他人的实例上(服务器、开发B) 二、解决思路 解决这个服务乱窜问题有一个比较优雅的方式就是自定义负载均衡规则,主要实现以下目标: 普通用户 访问服务器上的页面时,请求的所有路由只调用服务器上的实例 开发A 访问时,请求的所有路由优先调用开发A本机启动的实例,如果没有则调用服务器上的实例 开发B 访问时同上

安排:《蚂蚁花呗1234面:Redis+分布式架构+MySQL+linux+红黑树》

守給你的承諾、 提交于 2019-11-29 00:23:34
前言: 大厂面试机会难得,为了提高面试通关率,建议朋友们在面试前先复盘自己的知识栈,依据掌握程度划分重要、优先级,系统地去学习!如果不准备充分就去参加面试,既会失去进入大厂的机会,更是对自己的不负责。 蚂蚁花呗一面(一个小时): 1、Java容器有哪些?哪些是同步容器,哪些是并发容器? 2、ArrayList和LinkedList的插入和访问的时间复杂度? 3、java反射原理, 注解原理? 4、说说一致性 Hash 原理 5、新生代分为几个区?使用什么算法进行垃圾回收?为什么使用这个算法? 6、HashMap在什么情况下会扩容,或者有哪些操作会导致扩容? 7、HashMap push方法的执行过程? 8、HashMap检测到hash冲突后,将元素插入在链表的末尾还是开头? 9、1.8还采用了红黑树,讲讲红黑树的特性,为什么人家一定要用红黑树而不是AVL、B树之类的? 10、https和http区别,有没有用过其他安全传输手段? 11、线程池的工作原理,几个重要参数,然后给了具体几个参数分析线程池会怎么做,最后问阻塞队列的作用是什么? 12、linux怎么查看系统负载情况? 13、请详细描述springmvc处理请求全流程? 14、spring 一个bean装配的过程? 15、项目用 Spring 比较多,有没有了解 Spring 的原理?AOP 和 IOC 的原理 蚂蚁花呗二面:

《用消息服务来提高微服务的可靠性》

北城余情 提交于 2019-11-28 22:59:28
前言: 过去,我们很容易通过:取出裸机服务器、安装所有必需的软件、添加所有应用代码、将数据加载上去的一系列流程,来部署单体应用程序(monolithic application)。由于一切组件都集中在一台服务器上,因此这种应用不但能够处理较大的流量,并且非常容易管理与部署。 然而,此类应用存在的大问题便是效率低下。例如,您必须事先估算峰值时的负载,才能配上足够性能的服务器。但是具有此类配置服务器的资源又会在正常负载下处于闲置状态,甚至在小负载时造成大量的浪费。 此外,我们可能需要痛苦地通过手动操作,来对该服务器进行资源上的扩展。而如果某个组件需要比服务器本身更多的资源时,整台机器必须被迫停机升级,这势必会影响到所有其他的组件。因此,诚然裸机服务器仍有它独有的适用场景,但是它们已逐渐被新的微服务架构所取代。 什么是微服务架构? 微服务架构是一种软件开发技术,它将应用程序构建成松耦合的服务集合。这些具有轻量级协议特征的细化服务,不但提高了应用程序的模块化特性,而且便于被理解、开发和测试。小型自治化的团队通过使用它们能够独立地进行并行开发、部署、以及扩展各自的服务。另外,基于微服务的架构还能够支持持续交付与部署(来源:维基百科, https://en.wikipedia.org/wiki/Microservices )。 因此,我们不再被限制在一台服务器上部署所有的代码、数据库和数据资产

《集群、限流、缓存 BAT 大厂无非也就是这么做的》

别来无恙 提交于 2019-11-28 22:17:31
前言 前阵子有网友询问,如何优化网站?这个问题真的很大,跟他简单的聊了一下,随便说了几点,觉得有必要整理一篇文章出来,正好前阵子在做爬虫博客,于是把大体思路分享出来,与大家互通有无,共同进步。 优化 版本一 系统开始是这样子的,一个 Tomcat 拖着一个 MySql 服务,跑在一个 2C 4G 的Linux服务器上,所有的请求都走 Tomcat,所有的查询都走 MySql,看起来像一句废话? 资源是有限的,那么如何有效的利用资源,提升服务性能?Tomcat 号称能抗住数十万并发访问,但是这事也得分场景,还得有足够牛逼的机器。 Tomcat 优化 Tomcat支持以下三种模式: BIO:一个线程处理一个请求,缺点:并发量高时,线程数较多,浪费资源,Tomcat7或以下在Linux系统中默认使用这种方式。 NIO:利用Java的异步IO处理,可以通过少量的线程处理大量的请求。Tomcat8在Linux系统中默认使用这种方式。Tomcat7 必须修改Connector配置来启(conf/server.xml配置文件): <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000" redirectPort="8443"/> APR(Apache