Skip to content

philippwerner/Facial-Landmarks-Annotation-Tool

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FLAT - Facial Landmarks Annotation Tool

A visual editor for manually annotating facial landmarks in images of human faces.

Screenshot

Usage

Create a new face annotation dataset (files with extension .fad) and add the face images. Then, add the facial features and connect then as desired using either the program menus or the context menu. The zoom level can be controlled either from the widget control on the image properties tool window or by holding CTRL and scrolling the mouse wheel. While zoomed, an image can also be side scrolled by holding SHIFT and scrolling the mouse wheel. All images in the same face annotation dataset share the same model, that is they have the same amount of face landmarks (even though they can be differently positioned for each image). Automatically fitting of 66 face landmarks can be performed via the "Fit Landmarks" option if the utility is available (see details bellow). If the automatic fitting succeeds, the 66 landmarks will be positioned as best as possible in the face image. Otherwise, a status bar message will indicate the error.

Hidden keyboard commands:

  • '+' and '2': zoom in
  • '-' and '8': zoom out
  • '4': reduce size of annotation
  • '6': increase size of annotation
  • '5': toggle whether annotation circles are filled

Dependences

The application has been developed and tested with:

The "Fit Landmarks" menu option (in "Tools/CSIRO Face Analysis SDK" menu) requires an external executable called fit-fit(.exe) - even though its absence does not prevent the FLAT tool from being compiled and used. Please check the SDK web site and the source code of my port to Windows/Linux. The option for an external dependence (instead of source code integration) is only to make the compilation of this project simpler and its usage broader.

Optionally, this tool can be built with dlib integration for initializing landmark positions.

Building

  1. Use CMake to configure and generate the environment. I suggest using the folder build, since it is the one ignored by gitignore.
  2. In Windows, open the Visual Studio solution and build with the desired build type (debug, release, etc).
  3. In Linux, use type make to let the Makefile produce the binary in the build type configured by CMake.
  4. The code produces only a single executable named flat(.exe), that depends only on Qt. If you want to use the "Fit Landmarks" option mentioned before, go to the CSIRO Face Analysis SDK page, download and build its libraries and executables. Then, configure in FLAT the path for the face-fit(.exe) executable.

Credits

Copyright (C) 2016 Luiz Carlos Vieira, 2017 Philipp Werner. Available under GPL (see details in the license file).

The application icons and images are either from or based on the Oxygen Icons Set, downloaded as PNGs from Felipe Azevedo (pasnox) and licensed under LGPL from KDE, and the Farm-Fresh Web Icons Set, licensed under Creative Commons (CC BY 4.0).

About

A visual editor for manually annotating facial landmarks in images of human faces.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 98.6%
  • CMake 1.4%