All Projects → patrikhuber → 4dface

patrikhuber / 4dface

Licence: apache-2.0
Real-time 3D face tracking and reconstruction from 2D video

Projects that are alternatives of or similar to 4dface

Amazon Rekognition Video Analyzer
A working prototype for capturing frames off of a live MJPEG video stream, identifying objects in near real-time using deep learning, and triggering actions based on an objects watch list.
Stars: ✭ 309 (-56.78%)
Mutual labels:  video-processing
Auto Editor
Auto-Editor: Effort free video editing!
Stars: ✭ 382 (-46.57%)
Mutual labels:  video-processing
Caer
High-performance Vision library in Python. Scale your research, not boilerplate.
Stars: ✭ 452 (-36.78%)
Mutual labels:  video-processing
Vectorhub
Vector Hub - Library for easy discovery, and consumption of State-of-the-art models to turn data into vectors. (text2vec, image2vec, video2vec, graph2vec, bert, inception, etc)
Stars: ✭ 317 (-55.66%)
Mutual labels:  video-processing
Real Time Gesrec
Real-time Hand Gesture Recognition with PyTorch on EgoGesture, NvGesture, Jester, Kinetics and UCF101
Stars: ✭ 339 (-52.59%)
Mutual labels:  video-processing
Transcoder
🎞 Hardware-accelerated video transcoding using Android MediaCodec APIs. Supports cropping, concatenation, clipping, audio processing, video speed and much more.
Stars: ✭ 404 (-43.5%)
Mutual labels:  video-processing
Server
The Kaltura Platform Backend. To install Kaltura, visit the install packages repository.
Stars: ✭ 293 (-59.02%)
Mutual labels:  video-processing
Vpp
Video++, a C++14 high performance video and image processing library.
Stars: ✭ 655 (-8.39%)
Mutual labels:  video-processing
Waifu2x Extension Gui
Video, Image and GIF upscale/enlarge(Super-Resolution) and Video frame interpolation. Achieved with Waifu2x, Real-ESRGAN, SRMD, RealSR, Anime4K, RIFE, CAIN, DAIN, and ACNet.
Stars: ✭ 5,463 (+664.06%)
Mutual labels:  video-processing
Videobeautify
With this APP, you can do all kinds of professional optimising and beautifying to your videos
Stars: ✭ 450 (-37.06%)
Mutual labels:  video-processing
Video Enhancement
A list of resources for video enhancement, including video super-resolutio, interpolation, denoising, compression artifact removal et al..
Stars: ✭ 336 (-53.01%)
Mutual labels:  video-processing
Ivy
Video-based object counting software.
Stars: ✭ 332 (-53.57%)
Mutual labels:  video-processing
Xabe.ffmpeg
.NET Standard wrapper for FFmpeg. It allows to process media without know how FFmpeg works, and can be used to pass customized arguments to FFmpeg from dotnet core application.
Stars: ✭ 411 (-42.52%)
Mutual labels:  video-processing
Toflow
TOFlow: Video Enhancement with Task-Oriented Flow
Stars: ✭ 314 (-56.08%)
Mutual labels:  video-processing
Scikit Video
Video Processing in Python
Stars: ✭ 510 (-28.67%)
Mutual labels:  video-processing
Libva
Libva is an implementation for VA-API (Video Acceleration API)
Stars: ✭ 305 (-57.34%)
Mutual labels:  video-processing
Gpuvideo Android
This library apply video filter on generate an Mp4 and on ExoPlayer video and Video Recording with Camera2.
Stars: ✭ 403 (-43.64%)
Mutual labels:  video-processing
Mp4composer Android
This library generate an Mp4 movie using Android MediaCodec API and apply filter, scale, trim, transcode, crop, timeScale, mute and rotate Mp4.
Stars: ✭ 674 (-5.73%)
Mutual labels:  video-processing
Libopenshot
OpenShot Video Library (libopenshot) is a free, open-source project dedicated to delivering high quality video editing, animation, and playback solutions to the world. API currently supports C++, Python, and Ruby.
Stars: ✭ 601 (-15.94%)
Mutual labels:  video-processing
Platform Install Packages
Official deployment packages to install the Kaltura platform on a server or cluster environments using native OS package managers
Stars: ✭ 436 (-39.02%)
Mutual labels:  video-processing

4dface: Real-time 3D face tracking and reconstruction from 2D video

Latest release Linux build status of master branch Windows build status of master branch Apache License 2.0 Webpage

This is a demo app showing face tracking and 3D Morphable Model fitting on live webcams and videos. It builds upon the 3D face model library eos and the landmark detection and optimisation library superviseddescent.

(caveat: due to recent additions, "real time" at the moment means around 5 fps.)

Note: This is a research demo from 2015/2016. 4dface has since been commercialised and an improved, up-to-date version is available on www.4dface.io. This repository also contains an older version of the morphable face model fitting library eos. eos is still in active development, head over to github.com/patrikhuber/eos for the latest version.

Build & run

  1. Clone with submodules: git clone --recursive git://github.com/patrikhuber/4dface.git, or, if you've already cloned it, get the submodules with git submodule update --init --recursive inside the 4dface directory.

  2. Make sure you've got boost (>=1.54.0 should do), OpenCV (>=3.0), Eigen (>=3.3.0) and a recent compiler (>=gcc-5, >=clang-4, >=VS2017) installed. For Ubuntu 14.04 and newer, this will do the trick:

    sudo add-apt-repository ppa:ubuntu-toolchain-r/test
    sudo apt-get update
    sudo apt-get install gcc-7 g++-7 libboost-all-dev libeigen3-dev libopencv-dev opencv-data
    

    For Windows, we recommend vcpkg to install the Boost, OpenCV and Eigen dependencies.

  3. Build the app: Run from outside the source directory:

    1. mkdir build && cd build

    2. cmake -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7 -DOpenCV_haarcascades_DIR=/usr/share/opencv/haarcascades/ ../4dface/

    On Windows, add -G "Visual Studio 15 2017 Win64". Also, you will probably need to add -C ../4dface/initial_cache.cmake as first argument - copy the file from initial_cache.cmake.template and adjust the paths. Or, with vcpkg, use -DCMAKE_TOOLCHAIN_FILE=....

    If you get an error about OpenCV_haarcascades_DIR, adjust -DOpenCV_haarcascades_DIR to point to the directory of haarcascade_frontalface_alt2.xml from OpenCV.

  4. Type make or build in Visual Studio.

  5. Type make install, or run the INSTALL target in Visual Studio, to copy all required files into a share/ directory next to the executable.

Then just double-click the 4dface app from the install-directory or run with 4dface -i videofile to run on a video.

Keyboard shortcuts

When running the 4dface app, q quits, r resets the tracking, and s saves an OBJ of the current model to the hard disk (into the directory where it was run from).

Working with the libraries

If you're interested in working with the libraries, we recommend to clone and build them separately. They come with their own CMake project files and have their own GitHub issues pages.

  • eos: A lightweight header-only 3D Morphable Face Model fitting library in modern C++11/14
  • superviseddescent: A C++11 implementation of the supervised descent optimisation method

License & contributions

This code is licensed under the Apache License, Version 2.0. The subprojects are also licensed under the Apache License, Version 2.0, except for the 3D morphable face model, which is free for use for non-commercial purposes - for commercial purposes, contact the Centre for Vision, Speech and Signal Processing.

Contributions are very welcome! (best in the form of pull requests.) Please use Github issues for any bug reports, ideas, and discussions.

If you use this code in your own work, please cite one (or both) of the following papers:

  • Fitting 3D Morphable Models using Local Features, P. Huber, Z. Feng, W. Christmas, J. Kittler, M. Rätsch, IEEE International Conference on Image Processing (ICIP) 2015, Québec City, Canada [PDF].

  • A Multiresolution 3D Morphable Face Model and Fitting Framework, P. Huber, G. Hu, R. Tena, P. Mortazavian, W. Koppen, W. Christmas, M. Rätsch, J. Kittler, International Conference on Computer Vision Theory and Applications (VISAPP) 2016, Rome, Italy [PDF].

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].