MCPcopy Index your code
hub / github.com/1996scarlet/OpenVtuber

github.com/1996scarlet/OpenVtuber @v1.0-2019

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0-2019 ↗ · + Follow
169 symbols 329 edges 14 files 30 documented · 18%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

OpenVtuber-虚拟爱抖露共享计划

Kizuna-Ai MMD demo : face capture via single RGB camera

Installation

Requirements

  • Python 3.5+
  • Linux, Windows or macOS
  • mxnet (>=1.4)
  • node.js and npm or yarn

While not required, for optimal performance(especially for the detector) it is highly recommended to run the code using a CUDA enabled GPU.

Run

  • node ./NodeServer/server.js
  • make -C ./PythonClient/rcnn/
  • python3.7 ./PythonClient/vtuber_usb_camera.py --gpu -1

人脸检测 (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

特征点检测(Facial Landmarks Tracking)

The 2D pre-trained model is from the deep-face-alignment repository.

  • Algorithm from TPAMI 2019
  • Training set is based on i-bug 300-W datasets. It's annotation is shown below:

ibug

头部姿态估计(Head Pose Estimation)

注视估计(Gaze Estimation)

MMD Loader

We apply Three.js Webgl Loader to render MMD model on web pages.

Special Thanks

Citation

@misc{sun2020backbone,
      title={A Backbone Replaceable Fine-tuning Network for Stable Face Alignment},
      author={Xu Sun and Yingjie Guo and Shihong Xia},
      year={2020},
      eprint={2010.09501},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

@article{Bulat2018Hierarchical,
      title={Hierarchical binary CNNs for landmark localization with limited resources},
      author={Bulat, Adrian and Tzimiropoulos, Yorgos},
      journal={IEEE Transactions on Pattern Analysis & Machine Intelligence},
      year={2018},
}

@InProceedings{Deng_2020_CVPR,
      author = {Deng, Jiankang and Guo, Jia and Ververas, Evangelos and Kotsia, Irene and Zafeiriou, Stefanos},
      title = {RetinaFace: Single-Shot Multi-Level Face Localisation in the Wild},
      booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
      month = {June},
      year = {2020}
}

Core symbols most depended-on inside this repo

r
called by 102
NodeServer/public/src/socket.io.slim.js
n
called by 18
NodeServer/public/src/socket.io.slim.js
o
called by 18
NodeServer/public/src/socket.io.slim.js
p
called by 17
NodeServer/public/src/socket.io.slim.js
e
called by 16
NodeServer/public/src/socket.io.slim.js
c
called by 16
NodeServer/public/src/socket.io.slim.js
i
called by 14
NodeServer/public/src/socket.io.slim.js
a
called by 10
NodeServer/public/src/socket.io.slim.js

Shape

Function 128
Method 35
Class 6

Languages

TypeScript57%
Python43%

Modules by API surface

NodeServer/public/src/live2d.min.js82 symbols
PythonClient/gaze_segmentation.py19 symbols
PythonClient/face_detector.py14 symbols
NodeServer/public/src/socket.io.slim.js12 symbols
PythonClient/rcnn/processing/bbox_transform.py9 symbols
PythonClient/rcnn/processing/generate_anchor.py7 symbols
PythonClient/rcnn/cython/setup.py6 symbols
PythonClient/mxnet_cab_face_alignment.py6 symbols
PythonClient/vtuber_usb_camera.py5 symbols
PythonClient/rcnn/processing/nms.py5 symbols
PythonClient/helper.py2 symbols
NodeServer/public/src/Simple.js2 symbols

For agents

$ claude mcp add OpenVtuber \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page