Outstanding Graduation Project · AI · Computer Vision · Backend

SignTurk
Turkish Sign Language Platform

An award-winning Turkish Sign Language platform combining real-time recognition, user-approved sentence assembly, optional speech output, persistent history, and interactive 3D sign visualization in one FastAPI application.

Eastern Mediterranean University · 2025–2026

Outstanding Project Award

The Faculty of Engineering, Department of Computer Engineering recognized SignTurk as an outstanding graduation project for the Spring Semester. The award highlights the project’s engineering depth, product scope, and accessibility impact.

Project Snapshot

179 Runtime Classes
16 Frames per Sequence
85.65% Selected Runtime Top-1
Award Outstanding Project

My Contribution

SignTurk was co-developed as a graduation-project team effort. I led the model design, training, and evaluation work and implemented nearly all of the FastAPI backend, including real-time inference, WebSocket communication, authentication, persistence, and operational APIs. Interface, data preparation, integration, and 3D animation work was shared across the team.

  • Designed and trained the recognition-model variants evaluated on the AUTSL dataset.
  • Implemented nearly all of the FastAPI backend, including authenticated inference, per-session buffering, persistence, history, settings, and administrator APIs.
  • Compared Transformer, BiLSTM, temporal-attention, and class-filtering experiments.
  • Evaluated Top-1, Top-3, and Top-5 performance and investigated weak or visually similar sign classes.
  • Selected the 179-class MediaPipe/BiLSTM model for the live product pipeline; the 226-class RTMW/RTMPose four-stream ensemble remained the higher-accuracy offline research track.

System Capabilities

Live Recognition

Authenticated webcam frames stream to /api/predict/live. The FastAPI backend extracts MediaPipe hand landmarks, builds 16-frame sequences, and returns ranked BiLSTM predictions with confidence and latency.

  • Backend MediaPipe Hands landmark extraction
  • Authenticated WebSocket inference and per-session state
  • 179-class runtime configuration with Top-3 results
  • User approval before persistence or sentence insertion

Dictionary & Avatar

Approved signs flow into a deterministic Turkish sentence engine and optional gTTS/Piper speech output. Supported words can also be replayed through the Three.js avatar using local landmark and BVH assets.

  • Rule-based Turkish morphology and sentence assembly
  • Optional gTTS with an offline Piper adapter
  • /signs and /landmark/{word} avatar endpoints
  • Local JSON and BVH animation assets
  • Three.js browser rendering

Product Experience

These screens document the current product experience included in the public repository: live translation, approval-driven sentence building, avatar playback, dictionary, history, settings, and administrator views.

01 / 06

Live Translation

Authenticated webcam inference, ranked predictions, approval controls, and live diagnostics in one focused workspace.

Runtime Pipeline

1

Authenticated Camera Stream

The browser captures a compressed webcam frame every 250 ms and streams it to the protected /api/predict/live WebSocket endpoint.

2

Backend Landmark Extraction

FastAPI decodes each frame and MediaPipe Hands extracts 21 landmarks per detected hand. The service maintains an isolated temporal buffer for every session.

3

Sequence Preprocessing

The selected model contract normalizes 126 hand-landmark coordinates relative to the wrists, combines them with 30 finger-angle features, and assembles 156 features across a 16-frame temporal sequence.

4

Prediction, Approval & Sentence

The 179-class BiLSTM returns Top-3 labels and confidence. A confident word is persisted and added to the Turkish sentence only after the user approves it.

Architecture

Browser UI
webcam frame -> authenticated WebSocket
approve / reject -> sentence + history

FastAPI Backend
/api/predict/live + /api/text/correct
MediaPipe + per-session buffer

Recognition Runtime
16 x 156 -> 179-class BiLSTM + attention
Top-3 labels + confidence + latency

Platform Services
SQLAlchemy -> SQLite / PostgreSQL
Turkish rules -> gTTS / Piper
landmarks + BVH -> Three.js

Key Files

PathPurpose
backend.pyFastAPI app, authentication, WebSockets, inference, approval flow, and APIs
frontend/sign_turk_ui.htmlResponsive React product interface for translation, history, settings, and administration
database.py + models.pyEnvironment-based SQLAlchemy persistence with SQLite and PostgreSQL support
demo_assets_179/Live Keras model, label map, runtime config, and normalization statistics
text_processing/Turkish grammar, evaluation, optional ML adapters, and gTTS/Piper speech
extract_landmarks.pyAUTSL landmark extraction utility
dataset/landmarks/Local sign-animation landmark sequences

Model Selection & Trade-off

Offline research track

RTMW multi-stream ensemble

Reached the higher offline score, but requires a different whole-body extractor, 32-frame input, and multi-stream runtime rather than a drop-in model swap.

94.17%Top-1
226AUTSL classes
32RGB frames
4temporal streams
99.49%Top-5 accuracy

Engineering decision: ship the model that satisfies the complete product contract; migrate the higher-accuracy research model only with its extractor and regression pipeline.

Technologies Used

Backend

Python FastAPI Uvicorn WebSocket Pydantic

Machine Learning

TensorFlow Keras BiLSTM Temporal Attention

Computer Vision

MediaPipe Hands Hand Landmarks 16-frame Sequences AUTSL

Frontend

React HTML JavaScript CSS Three.js

Model & Animation Assets

Keras Model JSON Landmarks BVH GLB

Data & Speech

SQLAlchemy PostgreSQL SQLite gTTS Piper

Runtime

Local Runtime CPU Inference Docker Compose Authenticated WebSocket