sábado, 29 de julio de 2017

Modulo 5



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