Module 5.1
Seamless Cloning
Table of Contents
Introduction
Poisson Image Editing
Cloning in 1D
Cloning in 2D
Seamless Cloning Example
References and Further
Reading
En este modulo, se presenta una nueva función llamada “Seamless
Cloning” que se traduciría como “Clonado sin costuras”, es “Seamless Cloning, reemplazamos los
componentes x e y del gradiente de la imagen de destino con los componentes x e
y del gradiente de la imagen fuente. Las condiciones de contorno son
satisfechas en el contorno, allí los valores de los pixeles deberían ser los
mismos que en la imagen de destino.
La función seamlessClone(),
tiene los siguientes parámetros en C++.
seamlessClone (Mat src, Mat dst, Mat mask, Point center, Mat output, int
flags)
La función acepta dos
“flags”, “NORMAL_CLONE” y “MIXED_CLONE”.
Module 5.2
SnapChat Filters FaceSwap
Table of Contents
Overview
FaceSwap
In this lecture, we will learn how to perform
Face swapping i.e. swap out a face in one image
with a completely different face. We will be
using concepts from week 3 and week 4 in this
module. Please complete them before starting
this module.
Why is Face-Swap difficult ?
Figure 2 : Original Image of Presidential
Candidates
FaceSwap : Step by Step
1. Face Alignment
Facial Landmark Detection
2. Find Convex Hull
3. Delaunay Triangulation
4. Affine warp triangles
5. Blending of images
5.1 Blending for Image based FaceSwap - Seamless
Cloning
5.2 Blending for Video based FaceSwap - Color
Correction and Alpha Blending
Code and Tutorial for Image based Face swap
Code and Tutorial for Video based Face swap
References and Further Reading
En este modulo, aprendemos
una técnica para cambiar una cara por otra diferente. Para lograr un resultado
capaz de burlar en muchas ocasiones al cerebro, estos son los pasos:
1.- Alineamiento de las caras usando los puntos de
referencia obtenidos con Dlib. Usamos todos los puntos del contorno, y los doce puntos alrededor de la boca.
2.- Hallamos la envolvente convexa de los puntos.
3.- Hallamos la triangulación Delaunay de los puntos de
la envolvente convexa.
4.- Hacemos la triangulación afin de los triángulos.
5.- Mezclado de imágenes, para hacer el resultado
natural, dos métodos.
5.1.- Para imágenes, usamos “seamless cloning”.
5.2.- Para videos, primero aplicamos la corrección del
color, usamos “alpha blending” utilizando como mascara la envolvente convexa
que la hemos suavizado con Gauss.
Module
5.3
SnapChat
Filters
Beardify
Table of Contents
Beard Filter
The Core Idea
Code and Tutorial for Beardify
En este modulo, se
desarrollan métodos para aplicar una barba postiza sobre una cara, se explican
dos métodos, uno para imagen estática y otro para video en tiempo real. Ambos métodos
son básicamente iguales basados en una imagen de una barba con mascara alpha y
donde se han ubicado los puntos de referencia que nos interesan para hacerla
corresponder con la cara donde queremos pegarla.
Module
5.4
SnapChat Filters
Aging
Table of Contents
Aging Filter
The Core Idea
How to Estimate Forehead Points
How to Generate a Mask from Points
What is a Convex hull?
Aging
Filter Code and Tutorial
En este modulo, se desarrolla la idea de un filtro para
envejecer la apariencia de las personas. Las cosas que diferencian a un anciano
de un joven son:
1.- Las arrugas.
2.- Manchas de color oscuro
marrones y negras.
3.- Una apariencia más pálida.
4.- La piel pierde
elasticidad, cuelga y no vuelve a subir.
Para envejecer la foto de
una persona, nos vamos a ayudar de una fotografía de frente de una persona
vieja y vamos a realizar un “seamless cloning” con la opción MIXED_CLONE”
Para la zona de la frente
Dlib no nos proporciona directamente ningún punto, pero podemos extrapolar
varios puntos en la frente a partir de los puntos de referencia obtenidos con
Dlib.
La máscara la obtenemos a partir
del conjunto de puntos de la envolvente convexa.
Module 5.5
SnapChat Filters
Moving Least Squares
Table of Contents
Moving Least Squares 3
Properties of MLS 4
How do you choose control points in MLS? 4
MLS based SnapChat Filters 6
Fatify Filter 6
Fatify Code and Tutorial 7
Happify Filter 14
Happify Code and Tutorial 15
References and Further Reading 21
En este modulo, se implementa un programa que hace posible
deformar una imagen mediante MLS (Moving Least Square), la cual es una técnica
que permite la deformación a partir del movimiento de unos pocos puntos de
control. La explicación matemática de porque este método produce una distorsión
suave y muy veloz, está en la ponencia que se referencia como lecturas futuras http://faculty.cs.tamu.edu/schaefer/research/mls.pdf.
Se
proponen dos ejemplos con el uso de MLS:
El
filtro Fatify que deforma la mandíbula de una persona desplazando cada punto de
la mandíbula original en una dirección
radial con centro en la punta de la nariz.
El
filtro Happyfy deforma la expresión de los ojos dejando anclado un punto en medio de la nariz y los
puntos de deformación en los extremos exteriores de los ojos y los extremos
interiores de las cejas. También deforma la expresión de la boca con un punto
fijo en el centro de la barbilla y los extremos y centro de la boca.
la proxima semana espero traer algo mas.
No hay comentarios:
Publicar un comentario