17.4.20 漫画与人脸识别(三)Matching caricatures to photographs 小感

本文主要是介绍17.4.20 漫画与人脸识别(三)Matching caricatures to photographs 小感,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近读了《Matching caricatures to photographs》。

一、引言
人脸的肖像画可以单单靠几条线、几个点让人辨认出他是谁,即一张人脸的肖像画是一种informative的图片。对于给定的漫画,如何匹配到与之对应的照片是一种比较具有挑战性的人脸匹配问题。大部分的人可以通过一张漫画找到对应的照片,但是对于计算机而言,并没有这种能力。主要是因为,漫画中的人的特征常常会被夸张化,导致该特征特别明显,但是并不实际存在。一个好的漫画能够凸显出一个人的人脸的主要特征,排除次要的特征。
由于在漫画人脸识别领域的研究并不是很多,目前常见的方法有两种:一、定义一些不变的特。二、在不同的模式之间建立一个通用子空间。主要是人脸草图、人脸图片、2D/3D图片、红外人脸图片、高或者低分辨率图像。例如PCA,Bayesian face,Fisherface,appearance-based face recognition,还有利用文字描述的方法,还有利用SIFT,multi-scale LBP将草图进行编码到一个子空间。比较新的一些研究方法是 match caricature with photographs,可以利用人脸的68个特征(包括了性别,头发,眼睛形状等)。本文提出了的match 框架主要是利用人脸的性别、头发、鼻子形状,鼻子体积,眼镜等特征来提取自行从照片中提取人脸,并且为漫画人工标注label。同样的本文提出了一格数据库,其中包括200个照片和200个漫画,并且带有32个标注信息。本文利用Genetic Algorithm(GA)算法来衡量每个特征的权重关系,然后利用逻辑回归来判断GA算法得到的权重的好坏。

二、数据库以及特征的选取
首先,本文提出的漫画人脸数据库包含了200个人脸照片以及200个漫画,并且每一张人脸图片都有一张与之相似度较高的漫画。数据库中的人脸图像全部裁剪成480*640,为了能够得到更好的视觉效果,所有的漫画都经过了增强对比、去除背景噪音的操作。
这里写图片描述
(数据库中一些手画的黑白的漫画和实际的人脸照片)
接下来作者主要对32个特征进行筛选,每个特征都是大多数漫画家进行投票的结果。

三、自动人脸特征提取
在这一部分中,作者利用Pattern recognition algorithm的方法来自动提取32个特征中的23个。
这里写图片描述
接下来作者对几个比较重要的特征信息的提取方法分别进行了阐述,这些特征分别是性别、胡须、头发、眼镜、脸型、眉毛位置、嘴的宽度、眼睛形状、眉毛形状、鼻眼间距离、嘴唇厚度。
这里写图片描述
本文花了大篇幅的内容讲述了上面几个比较重要的特征。接着就是利用遗传算法Genetic Algorithm计算权重,然后利用逻辑回归来衡量权重好坏。
最终算到权重如下:
这里写图片描述
本文的实验结果如下:
这里写图片描述
从图中可以看出效果确实好了很多。

这篇关于17.4.20 漫画与人脸识别(三)Matching caricatures to photographs 小感的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/224242

相关文章

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

【JavaScript】LeetCode:16-20

文章目录 16 无重复字符的最长字串17 找到字符串中所有字母异位词18 和为K的子数组19 滑动窗口最大值20 最小覆盖字串 16 无重复字符的最长字串 滑动窗口 + 哈希表这里用哈希集合Set()实现。左指针i,右指针j,从头遍历数组,若j指针指向的元素不在set中,则加入该元素,否则更新结果res,删除集合中i指针指向的元素,进入下一轮循环。 /*** @param

深度学习实战:如何利用CNN实现人脸识别考勤系统

1. 何为CNN及其在人脸识别中的应用 卷积神经网络(CNN)是深度学习中的核心技术之一,擅长处理图像数据。CNN通过卷积层提取图像的局部特征,在人脸识别领域尤其适用。CNN的多个层次可以逐步提取面部的特征,最终实现精确的身份识别。对于考勤系统而言,CNN可以自动从摄像头捕捉的视频流中检测并识别出员工的面部。 我们在该项目中采用了 RetinaFace 模型,它基于CNN的结构实现高效、精准的

【语句】如何将列表拼接成字符串并截取20个字符后面的

base_info = "".join(tree.xpath('/html/head/script[4]/text()'))[20:] 以下是对这个语句的详细讲解: tree.xpath('/html/head/script[4]/text()')部分: tree:通常是一个已经构建好的 HTML 文档树对象,它是通过相关的 HTML 解析库(比如 lxml)对 HTML 文档进行解

leetcode#10. Regular Expression Matching

题目 Implement regular expression matching with support for ‘.’ and ‘*’. '.' Matches any single character.'*' Matches zero or more of the preceding element.The matching should cover the entire input

C++20中支持的非类型模板参数

C++20中支持将类类型作为非类型模板参数:作为模板参数传入的对象具有const T类型,其中T是对象的类型,并且具有静态存储持续时间(static storage duration)。       在C++20之前,非类型模板参数仅限于:左值引用类型、整数类型、指针类型、指向成员类型的指针、枚举类型、std::nullptr_t。在C++20中,它已扩展并支持:浮点类型、字面量类类

Google 实现量子霸权!3分20秒运算,世界第一超算要跑1万年!

大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 暴走大数据 点击右侧关注,暴走大数据! By  大数据技术与架构 场景描述:谷歌宣称“量子霸权”已经实现,他们首次在实验中证明了量子计算机对于传统架构计算机的优越性:在世界第一超算 Summit 需

UI 自动化技能:20个实战技巧!测试工程师必看!

大家周五 好啊!忙碌了一周,又可以懒洋洋躺在沙发上了~~~ 又到了每年的金九银十了,今天聊聊如何提升UI自动化话题... 你是否在求职过程中感受到UI自动化的技能不足? 随着测试行业的发展,UI自动化测试已成为每位测试工程师的必修课。无论你是想提升现有的测试效率,还是在找工作中获得竞争优势,掌握UI自动化技能都能为你带来巨大的帮助。那么,如何快速提升这些技能呢? UI(用户界面)自

【大数据Java基础- Java并发 20】深入分析synchronized的实现原理

记得刚刚开始学习Java的时候,一遇到多线程情况就是synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决多线程情况的百试不爽的良药。但是,随着我们学习的进行我们知道synchronized是一个重量级锁,相对于Lock,它会显得那么笨重,以至于我们认为它不是那么的高效而慢慢摒弃它。 诚然,随着Javs S