Giter Site home page Giter Site logo

voidedwarranties / openvtuber2 Goto Github PK

View Code? Open in Web Editor NEW
10.0 4.0 2.0 15.3 MB

version 2 of the garbage openvtuber

License: GNU General Public License v3.0

CSS 0.03% HTML 0.94% JavaScript 99.03%
vtuber posenet handpose facemesh vrm tensorflow-js

openvtuber2's Introduction

openvtuber2

version 2 of the classic garbage openvtuber, this time with more terrible technology powered by tensorflow

the new version is much better suited to bad lighting or webcams and has basic support for upper-body pose estimation through posenet

running

This apps starts a PeerJS server, enabling it to be recorded by an OBS browser capture. You must run it through Express, not by opening index.html. Install node.js (tested with v12), open a command prompt in the downloaded directory and run npm install followed by npm start.

Open the app by going to http://localhost:9000/

This app was tested on a Ryzen APU and took 60-80% of the GPU running all the models at once.

environment

"Minimum" environment for good detection

  • Head, mouth: Pretty much anything will work
  • Arms, hands: To avoid awkward positioning, try to place the camera so only your shoulders and above are showing - camera quality doesn't matter much
  • Eye tracking, blinking: Webcam quality should be good enough to stream with your real face

Generally, performance will degrade significantly with more than one model (facemesh, posenet, handpose) running at once

recording

option 1 - display capture

Using a window capture is impossible because the app is based on a graphics-accelerated Electron instance. You can use display capture and crop it to record the model.

option 2 - PeerJS

A less finicky way to record the model is to create a "video call" through PeerJS.

  1. Add the peerjs.html to a browser capture while the Electron app is running.
  2. Right click the browser capture and click Interact
  3. Copy the key shown in the browser capture, paste it into the "PeerJS Connection ID" field in the main application, and click Call.
  4. Chroma key out the green background

libraries / references

  • tensorflow.js + prebuilt models - facemesh, posenet, handpose
  • three.js + GLTFLoader + OrbitControls
  • three-vrm + their default model
  • tween.js
  • canvasfilters (filters.js)
  • express + peerjs
  • ml5
  • JSZip, FileSaver.js
  • stats.js
  • lploc.js

PoseNet solution using atan2 was inspired by atskimura

openvtuber2's People

Contributors

voidedwarranties avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

openvtuber2's Issues

MacBook default camera not front facing

I think this repository is very high quality.
The only problem when I am trying the repo is that my MacBook default camera is leaning to one side.
Do you have any idea why this is happening?
All other programs seem to work as usual.
Is this a cropping problem caused by the video size?

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.