All Projects → DeepVTuber → DeepVTB

DeepVTuber / DeepVTB

Licence: GPL-3.0 license
🌌 OpenVTuber-虚拟アイドル共享计划 An application of real-time face and gaze analyzation via deep nerual networks.

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to DeepVTB

retinaface
RetinaFace: Deep Face Detection Library for Python
Stars: ✭ 242 (+656.25%)
Mutual labels:  face-detection, face-alignment, retinaface
Insightface
State-of-the-art 2D and 3D Face Analysis Project
Stars: ✭ 10,886 (+33918.75%)
Mutual labels:  face-detection, face-alignment, retinaface
Face Dataset
Face related datasets
Stars: ✭ 204 (+537.5%)
Mutual labels:  face, face-detection, face-alignment
Cat-Face-Detector-with-OpenCV-and-JavaFX
📹 A Small OpenCV (Open Source Computer Vision) Example, who has the ability to detect multiple cat faces at the same time 🐱
Stars: ✭ 24 (-25%)
Mutual labels:  face, face-detection
InsightFace-REST
InsightFace REST API for easy deployment of face recognition services with TensorRT in Docker.
Stars: ✭ 308 (+862.5%)
Mutual labels:  face-detection, retinaface
brfv4 android examples
Android Studio project (Java)
Stars: ✭ 43 (+34.38%)
Mutual labels:  face, face-detection
Face-Recognition-Jetson-Nano
Recognize 2000+ faces on your Jetson Nano with database auto-fill and anti-spoofing
Stars: ✭ 63 (+96.88%)
Mutual labels:  face-detection, retinaface
ARFaceFilter
Javascript/WebGL lightweight face tracking library designed for augmented reality webcam filters. Features : multiple faces detection, rotation, mouth opening. Various integration examples are provided (Three.js, Babylon.js, FaceSwap, Canvas2D, CSS3D...).
Stars: ✭ 72 (+125%)
Mutual labels:  face, face-detection
Auto Record Matsuri
A tiny program can fetch Matsuri's Live(Vtuber)
Stars: ✭ 61 (+90.63%)
Mutual labels:  bilibili, vtuber
home
这里是GitHub的草场,也是戈戈圈爱好者的交流地,主要讨论动漫、游戏、科技、人文、生活等所有话题,欢迎各位小伙伴们在此讨论趣事。This is GitHub grassland, and the community place for Gege circle lovers, mainly discusses anime, games, technology, lifing and other topics. You are welcome to share interest things here.                                                                                              …
Stars: ✭ 268 (+737.5%)
Mutual labels:  bilibili, vtuber
face
[deprecated] 👽 Face Recognition package for Laravel
Stars: ✭ 37 (+15.63%)
Mutual labels:  face, face-detection
timeline
Timeline - A photo organizer
Stars: ✭ 39 (+21.88%)
Mutual labels:  face, face-detection
deep alignment network pytorch
PyTorch Implementation of the Deep Alignment Network
Stars: ✭ 37 (+15.63%)
Mutual labels:  landmark-detection, face-alignment
visage
Add virtual makeup to picture of a face.
Stars: ✭ 97 (+203.13%)
Mutual labels:  face, face-detection
Face-Recognition-FaceNet
A python script label faces in group photos using Facenet. 🎉
Stars: ✭ 21 (-34.37%)
Mutual labels:  face, face-alignment
Face
I have published my face related codes in this repository
Stars: ✭ 53 (+65.63%)
Mutual labels:  face-detection, face-alignment
jeelizGlanceTracker
JavaScript/WebGL lib: detect if the user is looking at the screen or not from the webcam video feed. Lightweight and robust to all lighting conditions. Great for play/pause videos if the user is looking or not, or for person detection. Link to live demo.
Stars: ✭ 68 (+112.5%)
Mutual labels:  face, face-detection
facetool
Command line utility to manipulate faces in videos and images
Stars: ✭ 38 (+18.75%)
Mutual labels:  face, face-detection
Insta flters with python
With this program you can add hat & glass on your face(it's support multiple faces)
Stars: ✭ 21 (-34.37%)
Mutual labels:  face, face-detection
FaceIDLight
A lightweight face-recognition toolbox and pipeline based on tensorflow-lite
Stars: ✭ 17 (-46.87%)
Mutual labels:  face, face-detection

OpenVTuber - 虚拟アイドル共享计划

Language grade: Python License ECCV Code Open-VTuber

みんな本当にありがとう! これからもたくさんちゅめてね!

OpenVtuber: An application of real-time face and gaze analyzation via deep nerual networks.

  • Lightweight network architecture for low computing capability devices.
  • 3D gaze estimation based on the whole face semantic informations.
  • The total framework is an upgradation of the [ECCV 2018] version.
  • Drive MMD models through a single RGB camera.

Setup

Requirements

  • Python 3.6+
  • pip3 install -r requirements.txt
  • node.js and npm or yarn
  • cd NodeServer && yarn # install node modules

Socket-IO Server

  • cd NodeServer
  • yarn start

Python Client

  • cd PythonClient
  • python3 vtuber_link_start.py <your-video-path>

Face Detection

RetinaFace: Single-stage Dense Face Localisation in the Wild of CVPR 2020, is a practical single-stage SOTA face detector. It is highly recommended to read the official repo RetinaFace (mxnet version).

However, since the detection target of the face capture system is in the middle-close range, there is no need for complex pyramid scaling. We designed and published Faster RetinaFace to trade off between speed and accuracy, which can reach 500~1000 fps on normal laptops.

Plan Inference Postprocess Throughput Capacity (FPS)
9750HQ+1660TI 0.9ms 1.5ms 500~1000
Jetson-Nano 4.6ms 11.4ms 80~200

Face Alignment

In this project, we apply the facial landmarks for calculating head pose and slicing the eye regions for gaze estimation. Moreover, the mouth and eys status can be inferenced via these key points.

Emotion

The 2D pre-trained 106 landmarks model is provided by insightface repository, based on the coordinate regression face alignment algorithm. We refine this model into TFLite version with lower weights (4.7 MB), which can be found at here. For checking the effectiveness of landmark detection, run the following command at PythonClient sub directory:

python3 TFLiteFaceAlignment.py <your-video-path>

Head Pose Estimation

The Perspective-n-Point (PnP) is the problem of determining the 3D position and orientation (pose) of a camera from observations of known point features. The PnP is typically formulated and solved linearly by employing lifting, or algebraically or directly.

Briefily, for head pose estimation, a set of pre-defined 3D facial landmarks and the corresponding 2D image projections need to be given. In this project, we employed the eyebrow, eye, nose, mouth and jaw landmarks in the AIFI Anthropometric Model as origin 3D feature points. The pre-defined vectors and mapping proctol can be found at here.

We adopt cv2.SolvePnP API for calculating the rotation vector and transform vector. Run the following command at PythonClient sub directory for real-time head pose estimation:

python3 SolvePnPHeadPoseEstimation.py <your-video-path>

Iris Localization

Estimating human gaze from a single RGB face image is a challenging task. Theoretically speaking, the gaze direction can be defined by pupil and eyeball center, however, the latter is unobservable in 2D images. Previous work of Swook, et al. presents a method to extract the semantic information of iris and eyeball into the intermediate representation, which so called gazemaps, and then decode the gazemaps into euler angle through regression network.

Inspired by this, we propose a 3D semantic information based gaze estimation method. Instead of employing gazemaps as the intermediate representation, we estimate the center of the eyeball directly from the average geometric information of human gaze.

rKWPK0.jpg

Our eye region landmark detection and iris localization models are more robust than the original implementation, which leads to the higher accuracy in more complex situations. The demo of iris localization can be run as follows:

python3 TFLiteIrisLocalization.py <your-video-path>

More details about 3D gaze estimation can be found at the Laser Eye repository.

Special Thanks

  • threejs.org: Applying Three.js WebGL Loader to render MMD models on web pages.
  • kizunaai.com: モデルは無料でご利用いただけます.

Become a VTuber

This document, OpenVTuberTools, aims at providing a wide range of toolkits that support you to become a VTuber at a very low cost.

One webcam and one decent PC, then you can become a VTuber!

Live2D-Widget

widget1 widget2

[Sample demo] You can also carry out secondary development within the allowed scope, here are some examples.

キズナアイ言語 ლ(´ڡ`ლ)

KizunaAI

インテリジェントなスーパーA.I.『キズナアイ言語』
gem『r-fxxk』を使用したBrainfuck系言語です。


使用ライブラリ & 本家


Go to -> KizunaAI-Lang

🍮 Community


--> 南嘉Nanga is from 《詩經》 / Book of Songs

南有嘉鱼,烝然罩罩。君子有酒,嘉宾式燕以乐。
南有嘉鱼,烝然汕汕。君子有酒,嘉宾式燕以衎。
南有樛木,甘瓠累之。君子有酒,嘉宾式燕绥之。
翩翩者鵻,烝然来思。君子有酒,嘉宾式燕又思。

————《诗经·小雅·南有嘉鱼》

‘南有嘉鱼,烝然汕汕。’ that means

'In the south is the barbel, And, in multitudes, they are taken with wicker nets. The host has spirits, On which his admirable guests feast with him, delighted.' The swarms of fish in the water either sway fast, or have a light and unrestrained posture, and each is extremely happy, giving people rich associations.

Acknowledgement

@kwea123 @1996scarlet @stevenjoezhang

Citation

@InProceedings{Park_2018_ECCV,
      author = {Park, Seonwook and Spurr, Adrian and Hilliges, Otmar},
      title = {Deep Pictorial Gaze Estimation},
      booktitle = {Proceedings of the European Conference on Computer Vision (ECCV)},
      month = {September},
      year = {2018}
}

@inproceedings{Liu_2018_ECCV,
      author = {Liu, Songtao and Huang, Di and Wang, Yunhong},
      title = {Receptive Field Block Net for Accurate and Fast Object Detection},
      booktitle = {Proceedings of the European Conference on Computer Vision (ECCV)},
      month = {September},
      year = {2018}
}

To-Do

  • Improve face tracking in complex surrounds
  • Face tracking for All multi-platform device with web-browse
  • Add more face expression
  • Add pose presets
  • Add many utility functions

--> Go to CHANGELOG

Contributing

  • Fork it!
  • Create your feature branch: git checkout -b my-new-feature
  • Commit your changes: git commit -am 'Add some feature'
  • Push to the branch: git push origin my-new-feature
  • Submit a pull request :D

Support this project

Donating to help me continue working on this project. Buy Me a Coffee

Buy Me A Coffee

Donate with Paypal Donate with WeChat

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].