Download - Virtual Barber
Virtual Barber
Tyler AmbroziakRyan Fox
Cs 638-15/3/10
Virtual BarberThe Goal
Go From ThisThe Goal
Go From ThisTo ThisThe MotivationFor people who have had facial hair for a long time, the decision to shave can be difficultDont know if it will look okay or not
If you could preview what youd look like without a beard, the decision of whether or not to shave would be an easier oneThe ProblemGiven an image of a person with a beard, how do you realistically remove the beard while keeping the rest of the face the same?Main IdeaUse a collection of non-bearded faces to synthesize non-bearded version of a bearded faceUse robust statisticsDefine beard layer mask based on differences in input vs. initial output imageRefine image by using beard mask to define region of synthesisPreserves other layered features such as glasses, moles, etc.The MethodConstruct non-beard subspace 60 non-bearded, neutral facesAligned faces using 28 manually-defined feature pointsImages cropped to 95x93 pixelsCropped images vectorized and combined into mega-matrix
Constructing SubspaceUsed images from two face databasesCMUs Multi-PIE Database (ri.cmu.edu)IMM Face Database (www2.imm.dtu.dk/~aam)60 unique clean shaven males25 unique females20 unique bearded malesUsed only male faces in non-beard subspaceThe MethodConstruct non-beard subspace Input bearded imageManually define the 28 feature points for alignmentImage cropped and vectorized
The MethodConstruct non-beard subspace Input bearded imageRemove the beard layerSeveral ApproachesRemoving the Beard LayerTechnique 1: Nave approachx* = Vcx is a face image with a beard, x* is same face without beardV is the non-beard subspacec = (VTV)-1 VTxEasy implementation in Matlab
Results: Nave Approach
Results: Nave Approach
Results: Nave Approach
Results: Nave Approach
Results: Nave Approach
Technique 2: Iteratively Reweighted Least SquaresTreat beards as outliers of non-beard subspace VUse M-estimator to remove influence of the outliers from the projectionIterating over the previous method, re-weighting pixels based on the beard spaceCurrently being implemented. Results from Ngyuen paper:
OriginalNaive reconstructionRobust reconstructionStrengths/WeaknessesDoes a fairly good job of removing beardsQuick processing timeCan be used to remove other layers
Non-beard subspace could be largerRequires user input/manual image registrationUninformed techniques remove objects that should remainGlasses, moles, scars, etc.
To DoFinish implementing IRLSFactorizing layered spaces using PCABeard mask segmentation using graph-cutsPre-define masks for region preservationTrying out different facial hair stylesFuture extensionsLaw enforcement: identification of wanted personsEvaluating a look before shavingApply to other layers (i.e. glasses, scars, moles, etc.)Beard synthesis
ReferencesMinh Hoai Nguyen, Jean-Franois Lalonde, Alexi A. Efros, and Fernando de la Torre. Image-based Shaving, Computer Graphics Forum Journal (Eurographics 2008), 27(2), p.627-635, 2008.Questions?