Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
A 3D virtual head control system for VTuber in Unity with smooth motion and robust facial expressions
| Date | Stars |
|---|---|
| 2026-07-24 | 444 |
| 2026-07-25 | 444 |
| 2026-07-28 | 444 |
| 2026-07-30 | 444 |
| 2026-08-06 | 444 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# OpenVHead
**Author:** [Tianxing Wu](https://github.com/TianxingWu)
<p align="center">
<img src="./Figures/OpenVHead.jpg">
</p>
## 1. Introduction
This is an on-going project to build a vision-based head motion capture system for **VTubers**. To make the animation looks more authentic, several filters and control methods are used to smooth and enhance the robustness of the head motion and facial expressions. The system is mainly built with C# and Python in Unity3D environment.
Let's try it on your own! Feel free to add new functions to the project or just play around with it and have fun. Please star :star: this project if you like it! :blush:
The technical details are described in section [4](#4-Method), which gives you an overview of how this system works. It's OK to skip this part if you are not interest in them.
To cite this repo, please reference the name "OpenVHead" with the project link [here](https://github.com/TianxingWu/OpenVHead).
**Demo**: [Video Link (bilibili)](https://www.bilibili.com/video/av80929075)
## 2. Prerequisite
### 2.1 Hardware
- PC
- RGB camera (compatible with both built-in webcam and external USB camera)
### 2.2 Software
#### 2.2.1 Environment
- Windows system
- Python 3.6.x
- Unity 2018.4.x
#### 2.2.2 Package dependencies
- opencv-python (tested with version 3.4.0)
- dlib (tested with version 19.7.0)
## 3. Usage
### 3.1 Quick start
1. Configure the environment. You may use pip to install the required packages. The .whl file of opencv-python 3.4.0 and dlib 19.7.0 packages can be downloaded from [here](https://pypi.org/project/opencv-python/3.4.0.12/#files) and [here](https://pypi.org/project/dlib/19.7.0/#files). Note that you should choose the appropriate version. For example, if you are using python 3.6 on Windows x64 system, then download the "xxxx-cp36-cp36m-win_amd64.whl" version.
2. Clone the repository to your workspace. You can also download the .zip file of the [latest release](https://github.com/TianxingWu/OpenVHead/releases/latest) or older versions from [Release](https://github.com/TianxingWu/OpenVHead/releases).
3. Open the folder as a project in Unity.
4. Drag "MainScene" from Assets -> scenes to the Hierarchy and remove the "Untitled" scene.
5. Press the Play button to run the project.
6. Press the "Start Thread" button on the UI to start the C# socket server. An output window should pop up and the Python client would start to communicate with the sever. Now the Python script would be running in the background to extract features from the video stream captured by camera and send them to Unity. The virtual character comes to life!
7. Press the Play button again to stop the program. It's not recommended to press the "Stop Thread" button since it seems to cause bugs from time to time.
### 3.2 Model selection
This system now has two character models with customized parameter settings. To change the character model, select the corresponding GameObject in the Scene hierarchy and unhide it by clicking on the toggle next to the object's name in the inspector, while the other GameObject should be hide. For example, if you want to change from model 1 to model 2, the settings should look like this:
<p align="center">
<img width="500" img src="./Figures/select_model.png">
</p>
### 3.3 Add new model
You can add new character to the system if you have your own 3D model which has blend shapes (can be set up in 3D modeling application, such as Autodesk® Maya®). The model should be export to an FBX file first.
Once the FBX file is ready, you should do the following steps to get it to work:
1. Import your FBX file in Unity.
2. Drag the imported model to the main scene. If the model is imported as a prefab asset, right click on the asset in Hierarchy and select "Unpack Prefab".
3. Copy and paste the "ParameterServer (Model 2)" and "HeadController (Model 2)" GameObject from the "KizunaAI (Model 2)" GameObject's hierarchy to your model GameObject.
4. Click "Add ComponenExcerpt of 20,401 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:b19ad1668becdc35, topic:computer-vision