Quantcast
Viewing all articles
Browse latest Browse all 5930

基于OpenCV实现的Android移动端口红AR

这个是我们去年想做的一个项目,后来因为各种原因就此搁浅了。但是算法部分我已经把它基本成型了,对各种光线条件下都可以准确的找到嘴唇,提取唇形、然后通过色彩渲染自动变化颜色,实现各种颜色的口红实时渲染,基于OpenCV与Android NDK完成的算法演示。

算法的主要思路首先是通过人脸检测寻找到人脸区域,一旦找到之后就会使用跟踪算法对人脸部位进行跟踪、人脸检测算法可以选择Face++或者OpenCV自带的算法,然后对下部区域进行嘴唇检测,找到之后,选择不同光照下的嘴唇图像,提取ROI如下:

Image may be NSFW.
Clik here to view.
这里写图片描述

提取了超过1000张作为算法测试,根据这些提取得到上部唇形
Image may be NSFW.
Clik here to view.
这里写图片描述

进一步处理之后得到下部唇形状
Image may be NSFW.
Clik here to view.
这里写图片描述

对整个唇形数据处理之后得到
Image may be NSFW.
Clik here to view.
这里写图片描述

基本的命中率在99%左右,通过缓存等技术手段,达到实时不丢帧渲染,最终的渲染效果如下: 红色简单着色
Image may be NSFW.
Clik here to view.
这里写图片描述

蓝色简单着色
Image may be NSFW.
Clik here to view.
这里写图片描述

算法不足之处
渲染这块后来因为各种原因,没有去做,主要是没有钱继续下去,就成这个样子!但是整个基于OpenCV实现的移动端AR口红渲染整个实现步骤基本如此!

欢迎大家留言!!!

作者:jia20003 发表于2017/6/28 9:04:40 原文链接
阅读:171 评论:1 查看评论

Viewing all articles
Browse latest Browse all 5930

Trending Articles