Git Product home page Git Product logo

virtual-bird's Introduction

virtual-bird(Still in the developing)

kenyx-94670
A repository for studying virtual characters technique.
Can not yet be made use of for smoothly real-time application now.
But it will!๐Ÿฑโ€๐Ÿš€

About The Project

This project aims to apply different face/body alignment algorithm on virtual character synchronizing.
And promote my coding level.

Getting Started

The following steps will install required packages and run the demo program,
and the tutorial is based on anaconda environment.

Prerequisites

I use these packages to develop the project.

conda install -c 1adrianb face_alignment
  • numpy
conda install -c anaconda numpy
  • OpenCV
conda install -c conda-forge opencv
  • Dlib

You can build cuda-supported dlib by yourself, and it may be faster.

conda install -c conda-forge dlib

Installation

You can just clone the repository.

git clone https://birdmandayum0131/virtual-bird.git

Demo

Change directory to your project path and run demo.py

cd path/to/your/project/
python demo.py

If the camera window show sucessfully,
you can use l h a commands to test landmarksใ€head pose and head axis features,
and q to exist the program.

You can change default config to fit your environments in config/config.py

If everything works normally, follow these steps to demo on unity.

  1. create a unity project and add one of following supported 3D model prefab in your scene.
  2. copy the scripts in unity-scripts folder to your unity project in Unity Editor.
  3. add these scripts as components to your 3D model prefab.
    • Tcp/Udp Receiver (choose one)
    • Face Synchronizer
    • All scripts in the folder which correspond to your prefab

If all done, play the sample scene. (Sorry I didn't export it to .exe file now.๐Ÿฑโ€๐Ÿš€)

You can also download the unity sample project here to test the demo.

Timeline

  • support Dlib Face/Landmarks Detector 2022/01/03
  • change development environment to newer version(Of course, not hardware๐Ÿ˜ข) 2021/12/27
  • support OpenCV Head Pose Estimation 2021/12/26
  • support OpenCV Gaze Tracking 2021/12/08
  • support FAN facial landmarks detector 2021/12/08
  • support Ghost character 2021/12/08

Roadmap

  • Algorithm
    • Face Detection
    • Landmarks Detection
    • Gaze Tracking
      • OpenCV moments(simple)
    • Head Alignment
      • OpenCV solvePnP
    • Face Expression Detection Under Planning
    • Pose Estimation Under Planning
    • Hand Tracking / Gesture Recognition Under Planning
  • Unity Model
    • 3D
    • 2D Under Planning
  • Android Support Under Planning
  • iOS Support Under Planning

Environment

This project is developed on a old hardware, but these information may still be helpful for you :

CPU GPU RAM VRAM Python CUDA cuDNN PyTorch Unity Editor
FX-8320E GTX 960 8 Gb 2 Gb 3.8.12 10.2 8.3.0 1.10.1 2019.4.33f1

Acknowledgement

These repositories helps me in this project, You can check their repo for more related knowledge.
Thanks for their open resources!

BSD-3-img

1adrianb/face-alignment

MIT-img

antoinelame/GazeTracking
kwea123/VTuber_Unity
yinguobing/head-pose-estimation
dbolya/yolact

virtual-bird's People

Contributors

birdmandayum0131 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.