Skip to main content

Giftubing

Giftubing allows the creation and use of a frame-based avatar. It uses the webcam to get facial information for mouth and eyes limited animation. Facial emotions are also detected, and if the avatar has corresponding emotions, it will match them (optional).

Currently in pre-alpha.

Avatar

The avatar can be a GIMP project file (.xcf), or image files with alpha channel. IMPORTANT: All images must have the same number of pixels in height and width. Currently, the software knows which file does what through their name. A valid avatar could be:

body.png, mouth closed.png, mouth open.png, mouth wide.png, left eye closed.png, left eye open.png, right eye closed.png, right eye open.png 

The layers' stack order is: body, mouth, eye.

Installation

install Python 3.10, then it can be installed via pip in console:

pip install giftubing

Usage

Inside a folder of your choice, create a .py file with the following lines:

from giftubing.main import start
start()

Then use console to run this file twice: first to create your avatar, second to launch it. Two folders will be created next to the file: giftubing_sources inside which the avatar source files should be placed, and giftubing_avatars which will contain the created avatars.

Note: Once an avatar is created from a source, it will not appear as a choice for creation anymore. If you wish to make another avatar from the same source (in a different resolution for exemple), go to giftubing_avatars folder and change the name of the previous one. The source will become available for creation again.

Tuning

This pre-alpha version's mouth and eyes tracking may not work properly or at all; to address it's possible to go to giftubing\launcher\utils\facemesher.py and change values there:

  • CUTOFF_VALUE_FOR_GAUSSIAN_EYE_STATUS: measure edges in cropped eye frame.
  • CUTOFF_VALUE_FOR_MOUTH_OPEN: distance between upper and lower lips to check wether the mouth is open or closed
  • CUTOFF_VALUE_FOR_MOUTH_WIDE_OPEN: distance between upper and lower lips, greater than CUTOFF_VALUE_FOR_MOUTH_OPEN, if distance superior to this value mouth is wide open.

Citations

Giftubing uses an emotion recognition model from the following papers, if you use these models please cite the following:

@inproceedings{savchenko2021facial,
  title={Facial expression and attributes recognition based on multi-task learning of lightweight neural networks},
  author={Savchenko, Andrey V.},
  booktitle={Proceedings of the 19th International Symposium on Intelligent Systems and Informatics (SISY)},
  pages={119--124},
  year={2021},
  organization={IEEE},
  url={https://arxiv.org/abs/2103.17107}
}
@inproceedings{Savchenko_2022_CVPRW,
  author    = {Savchenko, Andrey V.},
  title     = {Video-Based Frame-Level Facial Analysis of Affective Behavior on Mobile Devices Using EfficientNets},
  booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) Workshops},
  month     = {June},
  year      = {2022},
  pages     = {2359-2366},
  url={https://arxiv.org/abs/2103.17107}
}
@article{savchenko2022classifying,
  title={Classifying emotions and engagement in online learning based on a single facial expression recognition neural network},
  author={Savchenko, Andrey V and Savchenko, Lyudmila V and Makarov, Ilya},
  journal={IEEE Transactions on Affective Computing},
  year={2022},
  publisher={IEEE},
  url={https://ieeexplore.ieee.org/document/9815154}
}

Metadata

Release files for giftubing 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for giftubing 0.0.2
File Interpreter ABI Platform Actions
giftubing-0.0.2-py3-none-any.whl Python 3 none any Details for giftubing-0.0.2-py3-none-any.whl

Release files / giftubing-0.0.2-py3-none-any.whl

Download URL giftubing-0.0.2-py3-none-any.whl
Size 18.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d898425ac6977bcc19e8177bdd1e30228dc9a5e27c810394ee34c75bc8a251e9
BLAKE2b-256 checksum
How to use checksums
ef55979d5d2318422762866420def4d51c91abee31e64dacb38c25c8efdb5504
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.10

Security for giftubing 0.0.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.2 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page