Trabalho Pratico da Disciplina de Inteligência Artificial - GCC128 (UFLA)
O projeto tem como objetivo atender às necessidades de pessoas com deficiência visual, oferecendo um assistente robótico capaz de auxiliá-las na identificação de produtos em supermercados. Com isso vamos prototipar um robô social capaz de interagir com seres humanos de forma autônoma e natural. O projeto se baseará no modelo arquitetônico "Sentir-Pensar-Agir", que permite que o robô perceba seu ambiente, processe informações e tome decisões, adaptando seu comportamento de acordo com as interações com os humanos.
O projeto inclui o uso da câmera para a visão do robô, com reconhecimento de objetos utilizando TensorFlow. Para a comunicação com o robô, são utilizados o microfone e autofalantes, junto com as bibliotecas speech_recognition (fala em texto) e gTTS (texto em fala).
-
Visão: Utilização de uma câmera para a visão do robô, com reconhecimento de objetos implementado usando TensorFlow.
-
Comunicação: O robô utiliza um microfone e alto-falantes para a interação. A comunicação de voz é convertida em texto com a biblioteca speech_recognition, e o texto é convertido em fala usando a gTTS.
-
Tomada de Decisões: As decisões do robô são baseadas na fala do usuario e estão em categorias predefinidas:
- greetings: Responde cumprimentos com fala.
- goodbyes: Responde a despedidas com fala e encerra o programa.
- products: Reconhece produtos na imagem da câmera e responde com fala.
- other: Responde a perguntas utilizando a API do Chat GPT.
A arquitetura utilizada é o MVC que se divide em três componentes principais:
- Model
- Modelo Keras com Tensorflow para reconhecimento de imagens
- Chat GPT para entender e gerar respostas e ações de forma inteligente
- Dataset que combina respostas e ações existentes com dados da API do Chat GPT
- View
- Visão: Utiliza da camera.
- Áudio: Reconhecimento de voz e fala.
- Controller
- Controle de entrada: Recebe os comandos e prompts do usuário por entrada de voz.
- Controle de saida: Responsável por exibir as respostas geradas pelos modelos de IA ao usuário na CLI ou por meio de feedback de áudio.
- Controle de ações: Realiza ações com base nas respostas ou comandos, como reconhecer um produto pela camera, ação de fala, ou finalizar o programa.
-
TensorFlow: Utilizado para o reconhecimento de objetos a partir da visão do robô pela câmera.
-
speech_recognition: Biblioteca para converter fala em texto para comunicação com o robô.
-
gTTS (Google Text-to-Speech): Utilizado para converter texto em fala para a comunicação do robô com os humanos.
-
openai: Categorização e respostas para as falas que o robo escutar com a API do Chat GPT.
1 . Clone este repositório.
git clone git@github.com:anabrtorres/ai-project.git
cd seu-repositorio
- Instale as dependências.
pip install -r requirements.txt
- Crie um arquivo com as chaves.
cp config_secret.py # veja config_secret.exemple.py
- Execute o programa.
python3 main.py
Contribuições são bem-vindas! Para qualquer melhoria ou correção de bugs, sinta-se à vontade para abrir uma issue ou enviar um pull request.