Skip to content

dbseitenfus/libras-alphabet-detector

Repository files navigation

Libras Alphabet Detector

Aplicativo iOS de reconhecimento em tempo real do alfabeto em Libras (Língua Brasileira de Sinais), desenvolvido em Swift com CoreML, Vision e AVFoundation.

O app detecta 21 letras do alfabeto de Libras utilizando a câmera frontal do dispositivo, exibindo a letra reconhecida na tela junto a uma visualização do esqueleto da mão.

Demo


Funcionalidades

  • Detecção em tempo real de 21 letras do alfabeto de Libras
  • Estimativa de pose da mão com 21 pontos articulares via Vision framework
  • Classificação das letras com modelo CoreML treinado com ~97% de acurácia
  • Visualização do esqueleto da mão com dedos coloridos individualmente
  • Filtragem de detecções com baixa confiança (threshold: 0.3)

Tecnologias

Framework Uso
AVFoundation Captura de vídeo em tempo real via câmera frontal
Vision Detecção de pose da mão (VNDetectHumanHandPoseRequest)
CoreML Inferência do modelo de classificação (LibrasClassifier.mlmodel)
UIKit Interface e visualização
CreateML Treinamento do modelo de ML

Arquitetura

O projeto segue o padrão MVC:

LibrasAlphabetDetector/
├── CameraViewController.swift   # Controller — sessão de câmera, Vision e CoreML
├── CameraView.swift             # View — preview da câmera + overlay do esqueleto
├── Model/
│   └── LibrasClassifier.mlmodel # Modelo CoreML (4MB, ~97% de acurácia)
├── Extensions/
│   └── CGImagePropertyOrientation+UIImageOrientation.swift
├── AppDelegate.swift
└── SceneDelegate.swift

Pipeline de detecção

Frame de vídeo
    → VNDetectHumanHandPoseRequest (Vision)
    → 21 keypoints articulares
    → Filtragem por confiança (> 0.3)
    → MLMultiArray
    → LibrasClassifier (CoreML)
    → Letra exibida na tela

Modelo de ML

O modelo LibrasClassifier.mlmodel foi treinado com o CreateML da Apple usando um dataset público de Libras do Kaggle.

Parâmetro Valor
Split treino/teste 75% / 25%
Acurácia ~97%
Entrada 21 keypoints articulares (MLMultiArray)
Saída Letra predita (string)
Tamanho 4 MB

Requisitos

  • Xcode 14+
  • iOS 16.2+
  • Dispositivo físico com câmera frontal (recomendado para melhor desempenho)

Como executar

  1. Clone o repositório:

    git clone https://github.com/gsquevedo/libras-alphabet-detector.git
  2. Abra o arquivo LibrasAlphabetDetector.xcodeproj no Xcode

  3. Selecione um dispositivo iOS físico como destino

  4. Execute com Cmd + R

O app solicita permissão de acesso à câmera ao ser iniciado pela primeira vez.


Contribuindo

Pull requests com melhorias ou correções são bem-vindos. Abra uma issue para discutir mudanças relevantes antes de implementá-las.

About

Um aplicativo de reconhecimento real-time do alfabeto em Libras para iOS.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages