视频直播美颜SDK算法代码解析

Posted 美狐美颜sdk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了视频直播美颜SDK算法代码解析相关的知识,希望对你有一定的参考价值。

随着短视频、直播软件一类app的流行,美颜sdk的应用也越来越广泛。所谓“美颜”,简单解释下,就是通过视频(图片)技术对人脸进行美化。但是就“美化”这个词,却牵扯到众多深度学习、图像处理、图像学技术。今天小编就给大家讲讲,美颜sdk的基础技术、算法原理,以及代码相关的知识。

一、人脸检测

美颜sdk中所用到的人脸检测技术指的是对视频中、图片中的人脸进行检测,并且准确定位人脸的位置。而人脸检测主要的技术难点在于,如何在特定光照条件,人脸姿态变化、人脸表情变化、遮挡等情况下,从视频或图片中检测出人脸。而人脸检测的发展时期也分为两个时期,一个是深度学习时期。在深度学习之前,人脸检测主要是套用人工设计好的特征,根据人工特征来训练检测器来检测人脸。但当深度学习在计算机视觉领域占据绝对主导地位之后,人们便开始尝试用深度神经网络来训练人脸检测模型。

二、人脸关键点定位

这种技术是对人脸中眉毛、眼睛、鼻子、嘴巴以及脸部的轮廓进行定位。它是紧接在人脸检测后,首先在视频或者图片中检测到人脸,然后才对检测到的人脸做关键点定位。人脸关键点定位技术同人脸检测技术一样,在实际应用中,也存在人脸的尺度、光照、表情、姿态、遮挡等问题,因此绝大多数视频或者图片获得准确的人脸关键点,也是一个比较难的任务。
三、代码解析
//
// MGDetectRect.h
// MGFacepp
//
// Created by Megvii on 2017/10/18.
// Copyright © 2017年 megvii. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

typedef NS_ENUM(NSInteger, MGOrientation)
MGOrientationLeft,
MGOrientationUp,
MGOrientationRight,
MGOrientationDown,
;

@interface MGDetectRectInfo : NSObject

@property (nonatomic, assign) float confidence;

@property (nonatomic, assign) float angle;

@property (nonatomic, assign) MGOrientation orient;

@property (nonatomic, assign) CGRect rect;

@end

相同的,人脸关键点定位技术的发展,也可分为深度学习前的时期和深度学习时期:在前期,传统的人脸关键点技术,包含主动形状模型(ASM),主动外观模型(AAM)等,而后期神经网络技术的发展,也使得人脸关键点检测逐渐建立在此技术上。当有了关键点后,美颜sdk中的瘦脸、磨皮、美白等“美颜”操作才能正常进行。这些算法一般都应用在手机等移动设备中,例如在android上可以使用OpenGL ES,在ios上可以使用Metal根据人脸关键点的位置,对人脸进行瘦脸、磨皮、美白等渲染。

综上,这就是美颜sdk中所用到的基本技术和相关的算法原理,由于篇幅原因,关于磨皮,美白等方面的详解将放到下期再进行讲解。如果您对美颜sdk开发感兴趣,欢迎咨询官方客服。

声明:本文由美狐原创,未经允许禁止转载,谢谢合作。

利用美颜SDK技术使直播源代码更加完善

直播行业最近融资不断,让整个行业的生命力再次上升。为了行业更好更快的发展,业内技术人员对直播源代码展开新一轮的研究!通过加入美颜SDK让直播源代码作为直播行业生命力具体的展示,我们来看一下加入美颜SDK后,直播源代码作为一块基石,是怎样得到广大用户的喜爱的?

1)、首先是音频采集方面的升级
音频数据既能与图像结合组合成音视频数据,也能以纯音频的方式采集播放,后者在很多成熟的应用场景如在线电台和语音电台等起着非常重要的作用。音频的采集过程主要通过设备将环境中的模拟信号采集成 PCM 编码的原始数据,然后编码压缩成 MP3 等格式的数据分发出去,这样无论是直播系统软件还是短视频开发软件,都可以很好地利用这一技术,达到全新的音视频效果。
2)、其次是美颜SDK处理的效果
都说「80% 的主播没有美颜根本没法看」,美颜滤镜是直播产品中最常见的功能之一。最近准备在香港上市的美图公司的主打产品就是美颜相机和美拍,有媒体戏称其会冲击化妆品行业,其实就是美颜SDK的效果的功劳,让美女主播们不化妆也可以自信的直播,而美颜相机的用户则可以拍出「更好的自己」。
美颜SDK的主要原理是通过「磨皮+美白」来达到整体美颜的效果。磨皮的技术术语是「去噪」,也即对图像中的噪点进行去除或者模糊化处理,常见的去噪算法有均值模糊、高斯模糊和中值滤波等。当然, 由于脸部的每个部位不尽相同,脸上的雀斑可能呈现出眼睛黑点的样子,对整张图像进行「去噪」处理的时候不需要将眼睛也去掉,因此这个环节中也涉及到人脸识别和皮肤检测技术。
3)、利用美颜SDK连麦的效果
连麦是互动直播中常见的需求,其利用美颜SDK技术的实现可以让主播和部分观众之间可以进行实时互动,可以实现动态贴纸,美颜滤镜,视频美化的效果,然后将互动结果实时播放给其他观众观看。
基于人脸识别技术全新推出的图像处理美化软件开发工具包,集美颜滤镜,2D、3D动态贴纸,视频美化等功能为一体。我们提供基础应用SDK集成接入,SDK功能定制,云端API调用,人脸识别技术支持等服务。

以上是关于视频直播美颜SDK算法代码解析的主要内容,如果未能解决你的问题,请参考以下文章

利用美颜SDK技术使直播源代码更加完善

美颜SDK技术架构技术实现技术应用分析

原价399,限时1元!7天人工智能入门训练营:带你从0掌握机器学习算法!

作为主播应该如何挑选一款直播美颜SDK?

2018传智黑马Python人工智能视频教程(基础+就业+面试)

在 Flutter 多人视频通话中实现虚拟背景美颜与空间音效