技术文章

基于级联形状回归模型的世纪晟人脸识别实现

自古美人都是妖i 提交于 2021-02-17 19:04:12
—简介—— 脸部建模一直是计算机图像和视觉领域的热门话题,每个人脸模型的网格顶点个数各不相同,也就是拓扑结构不同。因此我们需要对我们的训练数据,做一个归一化处理。这里以世纪晟科技构建的一个快速的、交互的、基于深度学习的人脸建模框架为基础,展示级联形状回归模型在特征点定位任务上取得了重大突破。 ——级联线性回归模型—— 近来,级联形状回归模型在特征点定位任务上取得了重大突破,该方法使用回归模型,直接学习从人脸表观到人脸形状(或者人脸形状模型的参数)的映射函数,进而建立从表观到形状的对应关系。 面部特征点定位问题可以看作是学习一个回归函数F,以图象I作为输入,输出θ为特征点的位置(人脸形状):θ = F(I) 简单的说,级联回归模型可以统一为以下框架:学习多个回归函数{f1 ,…, fn-1, fn}来逼近函数F: θ = F(I)= fn (fn-1 (…f1(θ0, I) ,I) , I) θi= fi (θi-1, I), i=1,…,n 所谓的级联,即当前函数fi的输入依赖于上一级函数fi-1的输出θi-1,而每一个fi的学习目标都是逼近特征点的真实位置θ,θ0为初始形状。通常情况,fi不是直接回归真实位置θ,而回归当前形状θi-1与真实位置θ之间的差:Δθi = θ - θi-1 ——典型的形状回归方法—— 如下图所示,给定初始形状θ0,通常为平均形状

Linux的时间设置与同步

一笑奈何 提交于 2021-02-17 19:03:25
linux的时间,时区 无法同步的问题 一,   查看当前时间:     # date +"%Y-%m-%d %H-%M-%S"    可以直接通过命令来设置时间:     # date -s "2018-12-27 21:00:00"   别忘了写入到 硬件时钟:     # hwclock –w 二,   设置时区的命令:     # tzselect 选择 5.Asia 选择   9.China 选择   1.Beijing Time 1 . Yes   这是选择时区的步骤啦~ 接下来通过 ntp 同步一下网络时间 三,   同步ntp服务器网络时间     # ntpdate ntp1.aliyun.com       同步后的时间      # date     Thu Dec 27 21:15:42 CST 2018    ntp服务器的地址:     Aliyun : ntp1.aliyun.com     Ntp服务器(上海) : ntpdate ntp.api.bz 来源: oschina 链接: https://my.oschina.net/u/3906464/blog/4316629

Nodejs介绍和环境搭建

99封情书 提交于 2021-02-17 19:03:00
Nodejs是JavaScript的运行环境,它让 Java Script 可以开发后端程序,实现几乎其他后端 Node.js 是一个 Javascript 运行环境 (runtime) 可以与 PHP、 JSP、 Python、 Ruby 等后端语言平起平坐。 Nodejs 是基于 V8 引擎, V8 是 Google 发布的开源 JavaScript 引擎,本身就是用于 Chrome 浏览器 的 JS 解释部分,但是 Ryan Dahl 把这个 V8 搬到了服务器上,用于做服务器的软件。 优势: 1.NodeJs 语法完全是 js 语法   懂 JS 基础就可以学会 Nodejs 后端开发。成本。Node 打破了过去 JavaScript 只能在浏览器中运行的局面。前后端编程环境统一,可以大大降低开发 2.NodeJs 超强的高并发能力。   Node.js 的首要目标是提供一种简单的、用于创建高性能服务器及可在该服务器中运行的各种应用程 序的开发工具。首先让我们来看一下现在的服务器端语言中存在着什么问题。在 Java、PHP 或者.net等服务器端语言中,会为每一个客户端连接创建一个新的线程。而每个线程需要耗费大约 2MB 内存理论上, 一个 8GB 内存的服务器可以同时连接的最大用户数为 4000个左右 。要让 Web 应用程序支持更多的用户,就 需要增加服务器的数量,而

Mac新手必看教程——轻松玩转Mac OS

旧街凉风 提交于 2021-02-17 19:02:26
背景:   大部分用户接触的第一个操作系统大多是windows,本人记得曾经小学的微机课也是以win98为基础学习了一众office软件。随着工作的多样化,单一的windows系统已经无法满足部分需求,而隔壁苹果的Mac OS得益于稳定的系统以及较为完善的软件应用也越来越受青睐。不少用户第一次接触Mac OS茫然不知所措,甚至有人不舍得学习成本,转而在苹果电脑上安装windows系统。这当然没啥问题,只是错过了Mac OS这样一个优秀的系统有些遗憾。 本人结合自身体验以及网络资料整理讲述Mac OS基础知识。文章为方便理解部分内容会以windows做参考,但绝不是比较孰好孰坏,请各位切勿对号入座在评论区引战。 本文所有内容基于Mac OS Mojave 。使用大量动图配以文字说明,力求用最直接的方式让各位易于理解。下面是文章目, 关于桌面 程序坞(Dock栏) 桌面底部的一栏称之为程序坞,如果你是一台全新的MAC底部则会默认显示一些系统自带的应用,例如访达(finder)、浏览器、照片等常用软件; 关闭/退出应用 在应用和窗口的左上角有红黄绿三个小点,大家可以理解为Windows上的最大化、最小化、关闭。但这其中又有一点点区别,点击最小化按钮会将应用窗口变为一个缩略图排布在Dock栏右侧;点击关闭按钮并不是完全退出应用,而是将应用的窗口关闭

一文带你快速入门etcd(万字长文)

≯℡__Kan透↙ 提交于 2021-02-17 19:01:44
2018年12月 etcd 作为孵化项目 CNCF(云原生计算基金会),几天前 CNCF 宣布 etcd 正式毕业,成为 CNCF 顶级项目。CNCF 官方表示 etcd 项目的采用率持续增加,也有稳定的治理流程,功能已达一定成熟度。 etcd 已经被许多公司用于实际生产,其中包括亚马逊、百度、思科、EMC、谷歌、阿里、华为、IBM、Red Hat、Uber、Verizon 等;而且其身影也出现在包括 Kubernetes、CoreDNS、M3、Rook 以及 TiKV 等项目当中。 前面的系列 etcd 文章已经部分介绍了 etcd。本文将会做一个快速入门的介绍,带领大家十分钟快速入门云原生存储组件 etcd,主要内容如下(本文较长,建议收藏): etcd 简介,以及其应用场景 etcd 的多种安装模式及高可用运维 etcd v3 的架构解析 etcdctl 的实践应用 1 etcd 介绍 2013 年 6 月,CoreOS 发起了 etcd 项目。etcd 使用 Go 语言实现,是分布式系统中重要的基础组件,目前最新版本为 V3.4.9。etcd 可以用来构建高可用的分布式键值数据库,根据官网介绍,总结来说有如下的特点: 简单:etcd 的安装简单,且为用户提供了 HTTP API,用户使用起来也很简单 存储:etcd 的基本功能,数据分层存储在文件目录中

Netty 和 RPC 框架线程模型分析

元气小坏坏 提交于 2021-02-17 19:00:52
点击上方 蓝色字体 ,选择“标星公众号” 优质文章,第一时间送达 作者: 架构师笔记 来源: http://suo.im/5D3PnG 1.背景 1.1 线程模型的重要性 对于 RPC 框架而言,影响其性能指标的主要有三个要素: I/O 模型:采用的是同步 BIO、还是非阻塞的 NIO、以及全异步的事件驱动 I/O(AIO)。 协议和序列化方式:它主要影响消息的序列化、反序列化性能,以及消息的通信效率。 线程模型:主要影响消息的读取和发送效率、以及调度的性能。 除了对性能有影响,在一些场景下,线程模型的变化也会影响到功能的正确性,例如 Netty 从 3.X 版本升级到 4.X 版本之后,重构和优化了线程模型。当业务没有意识到线程模型发生变化时,就会踩到一些性能和功能方面的坑。 1.2 Netty 和 RPC 框架的线程模型关系 作为一个高性能的 NIO 通信框架,Netty 主要关注的是 I/O 通信相关的线程工作策略,以及提供的用户扩展点 ChannelHandler 的执行策略,示例如下: 图 1 Netty 多线程模型 该线程模型的工作特点如下: 有专门一个(一组)NIO 线程 -Acceptor 线程用于监听服务端,接收客户端的 TCP 连接请求。 网络 I/O 操作 - 读、写等由一个 NIO 线程池负责,线程池可以采用标准的 JDK 线程池实现,它包含一个任务队列和

MySQL实战案例二(很快啊)

眉间皱痕 提交于 2021-02-17 19:00:00
点击上方“ 五角钱的程序员 ”,选择“ 设为星标 ” 第一时间关注技术干货! ✨一起 学习、成长、温情的热爱生活✨ 图丨pexels 1、创建数据库day01_test02_market #1、创建数据库Market,进入进行操作 CREATE DATABASE day01_test02_market; 2、创建表格customers 字段名 数据类型 c_num int(11) c_name varchar(50) c_contact varchar(50) c_city varchar(50) c_birth date #2、创建数据表 customers, CREATE TABLE customers( c_num INT , c_name VARCHAR ( 50 ), c_contact VARCHAR ( 50 ), c_city VARCHAR ( 50 ), c_birth DATE ); 将c_contact字段移动到c_birth字段后面 #3、将c_contact字段插入到c_birth字段后面 ALTER TABLE customers MODIFY c_contact VARCHAR ( 50 ) AFTER c_birth; 将c_name字段数据类型改为 varchar(70) #4、将c_name字段数据类型改为 varchar(70). ALTER

使用cordova + vue搭建混合app框架

自古美人都是妖i 提交于 2021-02-17 18:59:25
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/zxj0904010228/article/details/83143563 1. 前言:在进行hybrid app开发时,可以采用vue.js前端框架进行h5页面开发,然后使用跨平台cordova工具打包成app,如android或ios等,再h5页面也可以使用cordova丰富的插件调用原生代码,获取设备相关信息、调取手机摄像头等 2. 创建cordova项目 1) 创建cordova项目 前提:安装node和cordova,安装方式很简单,自行百度就可以了 cordova create cordovaApp com.test.cordova myApp 2)创建平台 进入cordovaApp目录 cordova platform add android 创建android平台 或cordova platform add ios 创建ios平台 3)cordova打包命令,打包成apk的时候使用 cordova build android 此时会将cordovaApp/www目录下的文件打包成apk文件,即可安装到手机 3. 在cordova项目目录下创建vue 项目 在当前cordova项目目录下,使用vue

Linux Shell 逻辑运算符、逻辑表达式详解

限于喜欢 提交于 2021-02-17 18:58:59
shell的逻辑运算符 涉及有以下几种类型,因此只要适当选择,可以解决我们很多复杂的判断,达到事半功倍效果。 一、逻辑运算符 逻辑卷标 表示意思 1. 关于档案与目录的侦测逻辑卷标! -f 常用!侦测『档案』是否存在 eg: if [ -f filename ] -d 常用!侦测『目录』是否存在 -b 侦测是否为一个『 block 档案』 -c 侦测是否为一个『 character 档案』 -S 侦测是否为一个『 socket 标签档案』 -L 侦测是否为一个『 symbolic link 的档案』 -e 侦测『某个东西』是否存在! 2. 关于程序的逻辑卷标! -G 侦测是否由 GID 所执行的程序所拥有 -O 侦测是否由 UID 所执行的程序所拥有 -p 侦测是否为程序间传送信息的 name pipe 或是 FIFO (老实说,这个不太懂!) 3. 关于档案的属性侦测! -r 侦测是否为可读的属性 -w 侦测是否为可以写入的属性 -x 侦测是否为可执行的属性 -s 侦测是否为『非空白档案』 -u 侦测是否具有『 SUID 』的属性 -g 侦测是否具有『 SGID 』的属性 -k 侦测是否具有『 sticky bit 』的属性 4. 两个档案之间的判断与比较 ;例如[ test file1 -nt file2 ] -nt 第一个档案比第二个档案新 -ot 第一个档案比第二个档案旧

Redis系列三

穿精又带淫゛_ 提交于 2021-02-17 18:58:39
前言   从学校出来,做开发工作也有一定时间了,最近有想系统地进一步深入学习,但发现基础知识不够扎实,故此来回顾基础知识,进一步巩固、加深印象。   最初开始接触编程时,总是自己跌跌撞撞、不断摸索地去学习,再一点点应用到实际项目中,知识点才更加清晰。后来,尝试写博客,把学到的知识试着分享出来,也是一次巩固的过程。 1、问:Redis雪崩了解吗?   答:我了解的。目前电商首页以及热点数据都会去做缓存,一般缓存都是定时任务去刷新,或者是查不到之后去更新,定时任务刷新就有一个问题。   举个简单例子:如果所有首页的key失效时间都是12小时,中午12点刷新,我0点开始抢单活动,大量用户涌入,假设当时每秒6000个请求,本来缓存可以扛住每秒5000个请求,但是缓存当时所有的 Key 都失效了。此时,1秒 6000个请求全部打到数据库,数据库必然扛不住,它会报一下警,但实际情况可能是DBA都没反应过来数据库就直接挂了。此时,如果没有什么特别的方案来处理这个故障,DBA很着急,重启数据库,但是数据库马上又被新的流量打死了。这就是我理解的缓存雪崩。    同一时间缓存大面积失效,那一瞬间Redis跟没有一样,这个数量界别的请求直接打到数据库几乎是灾难性的。试想一下,如果打挂的是一个用户服务的库,那其他依赖它的库所有的接口几乎都会报错,如果没有做熔断等策略,基本上就是一瞬间挂一片的节奏