Skip to main content

Simple pipeline for spoken to signed translation

Project description

Gloss-Based Pipeline for Spoken to Signed Language Translation

a text-to-gloss-to-pose-to-video pipeline for spoken to signed language translation.

Visualization of our pipeline

Install

pip install git+https://github.com/ZurichNLP/spoken-to-signed-translation.git

Usage

For language codes, we use the IANA Language Subtag Registry. Our pipeline provides multiple scripts.

To quickly demo it using a dummy lexicon, either open it in Colab:

Open In Colab

or run it locally with some installation steps first:

git clone https://github.com/ZurichNLP/spoken-to-signed-translation
cd spoken-to-signed-translation

pip install .

text_to_gloss_to_pose \
  --text "Kleine Kinder essen Pizza in Zürich." \
  --glosser "simple" \
  --lexicon "assets/dummy_lexicon" \
  --spoken-language "de" \
  --signed-language "sgg" \
  --pose "quick_test.pose"

Text-to-Gloss Translation

This script translates input text into gloss notation.

text_to_gloss \
  --text <input_text> \
  --glosser <simple|spacylemma|rules|nmt> \
  --spoken-language <de|fr|it> \
  --signed-language <sgg|ssr|slf>

Text-to-Gloss-to-Pose Translation

This script translates input text into gloss notation, then converts the glosses into a pose file.

text_to_gloss_to_pose \
  --text <input_text> \
  --glosser <simple|spacylemma|rules|nmt> \
  --lexicon <path_to_directory> \
  --spoken-language <de|fr|it> \
  --signed-language <sgg|ssr|slf> \
  --pose <output_pose_file_path>.pose

Text-to-Gloss-to-Pose-to-Video Translation

This script translates input text into gloss notation, converts the glosses into a pose file, and then transforms the pose file into a video.

Note: Video generation requires the pose-to-video package with pix2pix and upscaler:

pip install 'pose-to-video[pix2pix,simple_upscaler] @ git+https://github.com/sign-language-processing/pose-to-video'
text_to_gloss_to_pose_to_video \
  --text <input_text> \
  --glosser <simple|spacylemma|rules|nmt> \
  --lexicon <path_to_directory> \
  --spoken-language <de|fr|it> \
  --signed-language <sgg|ssr|slf> \
  --video <output_video_file_path>.mp4

Methodology

The pipeline consists of three main components:

  1. Text-to-Gloss Translation

    Transforms the input (spoken language) text into a sequence of glosses.

  1. Gloss-to-Pose Conversion
  • Lookup: Uses a lexicon of signed languages to convert the sequence of glosses into a sequence of poses.
  • Pose Concatenation: The poses are then cropped, concatenated, and smoothed, creating a pose representation for the input sentence.
  1. Pose-to-Video Generation

    Transforms the processed pose video back into a synthesized video using an image translation model.

Supported Languages

Language IANA Code Glossers Supported
Swiss German Sign Language sgg simple, spacylemma, rules, nmt
Swiss French Sign Language ssr simple, spacylemma
Swiss Italian Sign Language slf simple, spacylemma
German Sign Language gsg simple, spacylemma, nmt
British Sign Language bfi simple, spacylemma, nmt

Online Playgrounds

We have two available:

  • sign.mt is a web interface of a translation system.
  • research.sign.mt is an overview of sign language processing literature.

Citation

If you find this work useful, please cite our paper:

@inproceedings{moryossef2023baseline,
  title={An Open-Source Gloss-Based Baseline for Spoken to Signed Language Translation},
  author={Moryossef, Amit and M{\"u}ller, Mathias and G{\"o}hring, Anne and Jiang, Zifan and Goldberg, Yoav and Ebling, Sarah},
  booktitle={2nd International Workshop on Automatic Translation for Signed and Spoken Languages (AT4SSL)},
  year={2023},
  month={June},
  url={https://github.com/ZurichNLP/spoken-to-signed-translation},
  note={Available at: \url{https://arxiv.org/abs/2305.17714}}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spoken_to_signed-0.0.1.tar.gz (95.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spoken_to_signed-0.0.1-py3-none-any.whl (95.9 MB view details)

Uploaded Python 3

File details

Details for the file spoken_to_signed-0.0.1.tar.gz.

File metadata

  • Download URL: spoken_to_signed-0.0.1.tar.gz
  • Upload date:
  • Size: 95.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for spoken_to_signed-0.0.1.tar.gz
Algorithm Hash digest
SHA256 38303527111de0eb42752a248e977148903c15d0d1cb898099525bbc4949a877
MD5 8f03b74af074c20c0bef3612a83f16c6
BLAKE2b-256 b071b7279e315546945344e2cfe441c8edf1d883f43ab44031a064aeeb071b7a

See more details on using hashes here.

Provenance

The following attestation bundles were made for spoken_to_signed-0.0.1.tar.gz:

Publisher: release.yaml on sign-language-processing/spoken-to-signed-translation

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file spoken_to_signed-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for spoken_to_signed-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f04c987c24b738730d9643522879d1654d6fc67f90aaf95b47d024a5afac6bdb
MD5 ac5f7db01db763161c6479dbacc61e84
BLAKE2b-256 54f334d3eb1eac21e1641595b89d52ec7a36af1819fb5d71f85ff0856175048a

See more details on using hashes here.

Provenance

The following attestation bundles were made for spoken_to_signed-0.0.1-py3-none-any.whl:

Publisher: release.yaml on sign-language-processing/spoken-to-signed-translation

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page