Skip to content

GUI interface and forward to rendering software for Sign Language Experts checking/improving machine translated text in a text-to-sign workflow

Notifications You must be signed in to change notification settings

JakobSteixner/DemoSLEI_Steixner

Repository files navigation

Introduction

DemoSignLanguageExpertInterface

This package simulates a simple forward from a GUI input console and scripts that implement scene changes in .ma and .mb files using Autodesk Maya's Python interpreter.

Requirements

Software

Python 2.7.(>=11), Autodesk Maya 2017, Autodesk Maya's Python interpreter needs to be in $PATH.

Operating Systems

The package has been developed under Ubuntu 16.04 and partially tested under MacOS, though without the link to Autodesk Maya -- my old MacBook does not meet Maya 2017's system requirements. It should work under Windows -- paths are ensured to be OS-specific, system calls are all with shell=False, etc. -- but without any warranty since I was unable to test it under Windows.

Installation

Make sure that the true location of mayapy(.exe) -- Autodesk Maya's Python interpreter -- is in your system $PATH! On MacOS and Linux, it is found under /usr/autodesk/maya2017/bin/. Symlinking it e. g. /usr/local/bin can sometimes break its ability to import required modules provided by Autodesk.

The only modules that actually use mayapy are the ones in the Renderers/render__<GESTURE> family. Since they are only accessed by Renderers/RPreprocessor, an alternative would be to hardcode mayapy's location there.

With these prerequisites, all you need to do is extract the package into a place of your choosing. It does not need to be on Python's path unless you want to access it from outside. Relative import within the package has been tested to work (at least under Linux and Mac).

Usage

The nexus of the package is the module Checker.py, which interacts with the GUI and sends the result to Maya. From inside its directory, it can be called from the command line with the following call:

$ python Checker.py <path/to/input/file> <path/to/file/to/modify>

The package supplies a sample input file named input_sentences.txt and a simple Maya scene that can be modified, included with the relevant scripts in Renderers as Head_Model.ma. Using different input files with different naming and subdivision conventions will require adjusting the mayapy-scripts since they currently grab nodes by name.

The input file is expected to be a text file with each German sentence and its translation into sign language glosses sharing a line, separated with a TAB. Note that in the current implementation, the modified scenes are stored in the package's subdirectory corrected_scenes irrespective of their origin!

Implementation status

The only implemented GESTURES at the moment are "NOD", linked to the GLOSS "CONFIRM", and "RAISE_HEAD", linked to "YES". To see an effect, after calling Checker.py, submit once with and once without changing the gloss from "CONFIRM" to "YES", and compare the output files.

Core components

GUI for sign language experts

The interface is meant for sign language experts, you can quality check and correct the output of the machine translation system at SiMAX.

The Interface allows users to:

  • Change the suggested word orders by klicking on the buttons marked =>/ <= below and above the bold Glosses.

  • Exchange suggested glosses against other registered glosses

  • Suggest additions of missing glosses to the database

  • View an extended context beyond the current sentence in a pop-up

It does not allow to add or remove words, however, if the most natural sign language translation is shorter or longer than the one the MT system suggests.

Interface to Autodesk Maya

The interface to Autodesk Maya allows (simple) scene changes (currently implemented: changing the inclination of a head in a sample scene via render__NOD and render__RAISE_HEAD, the only gestures actually implemented.

It does so by grabbing the nodes identifying the head and its subparts by their name and then rotating them all around the origin.

When fed an unimplemented gesture, the system currently graciously skips it.

Logging utilities

All transformations that are sent to Maya are logged in the directory logs, one line per transformation, one file per day.

User requests for improvements and additions are logged separately in requested_additions

Credits

All Maya files were created with a free student version of Autodesk Maya and are for non-commercial use only.

The file Head_Model.ma is from here: in what I hope constitutes fair use. I found it through the author's very helpfull Youtube channel. This guide was very helpful to get Maya Autodesk successfully installed under Debian/Ubuntu.

About

GUI interface and forward to rendering software for Sign Language Experts checking/improving machine translated text in a text-to-sign workflow

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published