Skip to content

Latest commit

 

History

21 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Backend do Strawberry AI

Backend Python do protótipo Strawberry AI. O módulo integra captura de imagens, inferência local com TensorFlow Lite, comunicação com a interface gráfica e funções de controle do sistema.

Responsabilidades

  • Capturar imagens por câmera CSI em Raspberry Pi ou por câmera compatível com OpenCV.
  • Executar pré-processamento e inferência com o modelo TFLite incluído no módulo.
  • Disponibilizar comandos e resultados por TCP e transmitir quadros de vídeo por TCP ou UDP.
  • Registrar eventos e expor funções de configuração de rede e controle do sistema.

Estrutura

Caminho Responsabilidade
core/ Inicialização da aplicação e carregamento da configuração.
services/ Câmera, inferência, rede e controle do sistema.
protocols/ Servidores TCP, streaming UDP e tratamento de comandos.
camera/ Implementações de captura para Raspberry Pi e OpenCV.
utils/ Logs, armazenamento de imagens e funções auxiliares.
test/ Scripts de diagnóstico de câmera, streaming, serialização e conectividade.
main.py Ponto de entrada do processo.

Obtenção do código

Este repositório é usado como submódulo do Strawberry AI:

git clone https://github.com/imtavin/strawberry-ai.git
cd strawberry-ai
git submodule update --init backend
cd backend

Também é possível clonar este repositório diretamente. Nesse caso, a configuração e os demais módulos do sistema precisam ser fornecidos separadamente.

Dependências e configuração

O arquivo requirements-backend.txt lista as dependências Python do módulo. O suporte à câmera CSI depende também das bibliotecas e permissões disponíveis no Raspberry Pi OS; essas dependências de sistema não estão integralmente descritas no arquivo de requisitos Python.

python -m pip install -r requirements-backend.txt

core/config.py procura config.json no diretório do módulo ou em diretórios relacionados à execução. Se o arquivo não for encontrado, o código utiliza valores padrão. A configuração do repositório principal pode ser consultada em config.json.

O ponto de entrada é python main.py. O código atual não implementa as opções de linha de comando --config ou --log-level; elas não devem ser usadas como instrução de execução.

Diagnóstico

Os arquivos em test/ são scripts de diagnóstico e não constituem, por si só, uma suíte automatizada completa. Por exemplo, test/test_healthcheck.py tenta conectar à porta TCP 5000 de um backend já iniciado:

python test/test_healthcheck.py

Os diagnósticos de câmera, streaming e inferência dependem da configuração e, em alguns casos, de hardware disponível. Este README não apresenta resultados de execução desses diagnósticos.

Limitações

  • O funcionamento da captura CSI depende da câmera e do ambiente Raspberry Pi OS.
  • O resultado da inferência depende do modelo e da configuração utilizados.
  • Este módulo não representa, isoladamente, a interface gráfica nem o processo de deploy do sistema completo.

About

Backend Python do Strawberry AI para captura de imagens, inferência TensorFlow Lite e comunicação TCP/UDP.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages