|
|
| [Home](home) | [Planejamento](planejamento) | [Arquitetura Geral](arquitetura-geral) | [Front End](front-end) | [Banco de Dados](banco-de-dados) | [Design do Sistema e Mockups](design-do-sistema-e-mockups) | [Infraestrutura e Orçamento](infraestrutura-e-orçamento) | [Fluxo e Versionamento](fluxo-e-versionamento) |
|
|
|
| :----------: | :---------------------------------: | :-------------------------------------: | :----------------------: | :---------------------------: | :-------------------------------------------: | :----------------------------------------: | :-------------------------: |
|
|
|
|
|
|
----
|
|
|
# Modelagem Conceitual
|
|
|
|
|
|
Escolhemos o banco de dados não relacional pois ele é mais eficiente para treinar a IA.
|
|
|
Fizemos o diagrama do banco pelo Astah, assim melhorando a visualização do modelo.
|
|
|
O nosso banco de dados guarda as cordenadas obtidas através da coleta dos keypoints(x,y,z), sendo eles a posição dos pontos nas mãos.
|
|
|

|
|
|
|
|
|
----
|
|
|
**Modelagem Conceitual**
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|

|
|
|
# Json como exemplo
|
|
|
|
|
|
Como este Banco de Dados é não relacional, temos um arquivo json para servir de exemplo: [Scheme.json](uploads/dcec1f53433c71758486c911783e6b87/Scheme.json)
|
|
|
|
|
|

|
|
|
# Descrição Detalhada do Esquema Conceitual
|
|
|
|
|
|
----
|
|
|
**Json como exemplo**
|
|
|
### 1. Motivação do Banco de Dados Não Relacional
|
|
|
Optamos por um banco de dados não relacional devido à sua flexibilidade e eficiência no tratamento de dados não estruturados, que são frequentes em aplicações de inteligência artificial. Este tipo de banco facilita a manipulação dos dados de coordenadas em formato JSON ou similar, permitindo uma estrutura mais fluida e rápida para o processamento em tempo real durante o treinamento da IA.
|
|
|
|
|
|
### 2. Entidades do Modelo
|
|
|
|
|
|
- **Sign (Sinal)**
|
|
|
- **Descrição**: Esta entidade representa o sinal em Libras (Língua Brasileira de Sinais) que será identificado e traduzido.
|
|
|
- **Atributos**:
|
|
|
- `sign_id`: Identificador único do sinal, do tipo inteiro.
|
|
|
- `name`: Nome do sinal, armazenado como texto (`varchar`), que ajuda na identificação do sinal.
|
|
|
- `category`: Categoria do sinal, também armazenada como texto, que pode ser usada para agrupar sinais similares.
|
|
|
- **Relacionamento**: Cada sinal possui um ou mais pontos chave (keypoints), formando um relacionamento 1..* com a entidade Keypoint.
|
|
|
|
|
|
- **Keypoint (Ponto-Chave)**
|
|
|
- **Descrição**: Representa um ponto-chave específico da mão que compõe o sinal em Libras.
|
|
|
- **Atributos**:
|
|
|
- `keypoint_id`: Identificador único do ponto-chave, do tipo inteiro.
|
|
|
- `hand`: Identifica qual mão está sendo usada (`varchar`), que pode ser esquerda ou direita.
|
|
|
- **Relacionamento**: Cada ponto-chave está associado a uma ou mais coordenadas, formando um relacionamento 1 para 21 com a entidade Data. Esse relacionamento reflete a captura das diferentes posições dos pontos da mão em um sinal.
|
|
|
|
|
|
Como este Banco de Dados é não relacional, temos um arquivo json para servir de exemplo:
|
|
|
- **Data (Dados)**
|
|
|
- **Descrição**: Armazena as coordenadas tridimensionais dos pontos-chave da mão (x, y, z), que representam a posição espacial do ponto em determinado momento.
|
|
|
- **Atributos**:
|
|
|
- `x`: Coordenada x, do tipo `float`.
|
|
|
- `y`: Coordenada y, do tipo `float`.
|
|
|
- `z`: Coordenada z, do tipo `float`.
|
|
|
- **Relacionamento**: Cada ponto-chave possui um conjunto fixo de 21 coordenadas, o que reflete o mapeamento dos principais pontos da mão no espaço tridimensional.
|
|
|
|
|
|
[Scheme.json](uploads/dcec1f53433c71758486c911783e6b87/Scheme.json)
|
|
|
### 3. Fluxo dos Dados
|
|
|
Durante a coleta de dados, as coordenadas (x, y, z) dos pontos-chave das mãos são capturadas e armazenadas na entidade Data. Cada conjunto de dados é então vinculado a um ponto-chave específico (Keypoint), que por sua vez pertence a um sinal específico (Sign). Esse fluxo de dados permite que a IA interprete a posição espacial dos pontos-chave da mão, que são usados para identificar e traduzir os sinais em Libras.
|
|
|
|
|
|
|