/pose-anonymization

Remove identifying information from sign language poses

Primary LanguagePythonMIT LicenseMIT

Pose Anonymization

Remove identifying information from sign language poses

Usage

pip install git+https://github.com/sign-language-processing/pose-anonymization

To anonymize a pose sequence:

anonymize_pose --input="example.pose" --output="example_anonymized.pose" [--appearance="specific_signer.pose"]

The --appearance option allows to transfer the pose sequence to a specific signer's appearance. (This is useful for models trained on specific signers.)

In python:

from pose_format import Pose

from pose_anonymization.appearance import remove_appearance

with open("example.pose", "rb") as f:
    pose = Pose.read(f.read())

anonymized_pose = remove_appearance(pose)

Methods

Appearance Based Anonymization (Naive)

Currently implemented in this repository.

Using the mean of sign language poses calculated by sign-language-processing/sign-vq, we can anonymize a pose sequence by assuming the first frame is only the appearance of the person, and remove it from the rest of the frames, then add the mean.

(Example generated using ./scripts/create_example.sh, transferred to assets/example/interpreter.pose)

Sign Original___ Anonymized_ Transferred
Kleine kleine kleine kleine
Kinder kinder kinder kinder
Essen essen essen essen
Pizza pizza pizza pizza

Information Theoretic Perfect Anonymization

This is not yet implemented in this repository.

There exists identifying information in every sign language utterance. From appearance, to prosody, movement pattern, and choice of signs.

Therefore, if we want to remove all identifying information, we need to remove all information. However we can decide on a tradeoff between privacy and utility, and remove all information except for the choice of signs.

Pipeline approach:

This pipeline guarantees anonymization from an information theoretic perspective, as the only information that is preserved is the choice of signs.

Citing this work

@misc{moryossef2024anonymization, 
    title={pose-anonymization: Remove identifying information from sign language poses},
    author={Moryossef, Amit},
    howpublished={\url{https://github.com/sign-language-processing/pose-anonymization}},
    year={2024}
}