/aira

Hackathon CCR (12-14/06/2020) - Time 12 - AIRA - Artificial Intelligence for Remote Access

Primary LanguageJupyter Notebook

AIRA - Artificial Intelligence for Remote Access

A AIRA é um dispositivo ativado por comando de voz. Dotado de inteligência artificial, ela se conecta à rede de dados e é capaz de trazer informações ao motorista com um único comando. Mais do que isso, a AIRA aprende conversando e interagindo com o motorista, mapeia suas preferências, tais como pontos de parada favoritos, rotas mais utilizadas e informações mais importantes para o motorista enquanto está no trecho. Além disso, permite que o motorista tenha um parceiro digital, com quem pode interagir e registrar sua rotina e através da nossa IA aprendemos sobre essa rotina e apoiamos o motorista.

O AIRA nasceu a partir do Hackathon da CCR ocorrido entre os dias 12 e 14 de junho de 2020 e continua em desenvolvimento.

Contextualização

Segundo revista Exame, de 2008 a 2014 a frota de caminhões cresceu 5% ao ano, o dobro do ritmo do mercado de transportes. No período, as estradas brasileiras ganharam 770.000 novos caminhões com juros subsidiados. Segundo dados informados pela consultoria NTC & Logística durante a greve de 2018, o Brasil tem cerca de 2 milhões de caminhões em atividade, num excesso de 300.000 caminhões. Na estrada, o caminhoneiro que corta o Brasil para transportar a carga tem enfrentado desafios que vão além de problemas mecânicos no veículo ou do tempo para entregar a mercadoria como problemas de saúdes, sono, segurança, entre outras. Desde o surgimento da pandemia, muitos desses profissionais foram contaminados ou mortos pela Covid-19, e seus problemas persistiram mesmo que a pandemia seja eliminada. Dados inéditos de pesquisas feitas no ano passado por duas das maiores concessionárias de rodovias do País com milhares de caminhoneiros mostram que 79% deles estão com excesso de peso ou obesos (na população em geral, esse índice é de 72%), 35% têm colesterol e/ou glicemia em níveis elevados e um terço dorme seis horas ou menos por noite. O trabalho do caminhoneiro é, muitas vezes, solitário. Com longas jornadas, longe de amigos e família, alguns sintomas de depressão podem surgir e trazer consigo diversos efeitos negativos para a saúde.Alguns dos sintomas possíveis são a ansiedade, mudanças frequentes de humor, perda de interesse ou prazer nas atividades, solidão, tristeza, irritabilidade, isolamento social, insônia, falta de concentração, abuso de substâncias, falta de apetite, entre outros. Conhecendo essas dores e o nosso público criamos o Canvas.

Equipe

Recursos Adicionais

Business Model Canvas

Matriz SWOT

Arquitetura

Ferramentas

Pacotes Python

Componentes da Solução

AIRA (IA de Comunicação)

Esse é o apliativo principal, o engine que faz a comunicação com a plataforma, grava e recupera informações offline, faz o reconhecimento de voz e a sintetização das respostas e envia alertas recebidos pela plataforma para o motorista. Além disso, é o responsável por detectar uma frase de pânico e enviar um alerta em caso de assalto ou perigo para o motorista. Esse alerta é enviado silenciosamente, garantindo a segurança física do motorista. Pode ser executado no Windows ou Raspberry Pi 3b. É possível utilizar em outras plataformas mediante ajustes na configuração.

Palavras/Frases de Ativação Configuradas

  • box - Inicia a comunicação.
  • onde tem um posto perto? - Retorna o posto de combustível mais próximo.
  • posso pegar minha carteira? - Frase de pânico que envia uma mensagem para a plataforma, mas sem resposta audível no dispositivo.

Info Consumer (Módulo de Inteligência)

Serviço que monitora a fila de informações do sistema. É o responsável por analisar as informações coletadas do veículo e informações fornecidas pelo motorista utilizando um modelo treinado de Machine Learning. Caso seja detectado um risco de acidente, este módulo envia para o motorista um alerta, solicitando que ele efetue uma parada para descanso.

API Servidor

API REST que possibilita a integração entre o aplicativo mobile, portal e do engine de comunicação (AIRA).

API Machine Learning

API REST que possibilita a integração dos diversos sitemas com os modelos de Machine Learning treinados.

Portal

Portal contendo diversos dashboards e gráficos para acompanhamento dos dados coletados. Clique aqui para visuaiizar o Portal em funcionamento.

Treinamento do Modelo de Machine Learning

Como o modelo não temos base histórica, optamos por gerar dados fake através do site generatedata.com, onde geramos dados fake para o Brasil na seguinte composição:

  • hipertenso = Boolean (0 - 1)
  • diabetico = Boolean (0 - 1)
  • km_rodado_dia = Numeric Range (0 - 1000)
  • media_horas_sono = Numeric Range (0 - 24)
  • media_agua_diaria = Numeric Range (0 - 3)
  • cigarros_fumados = Numeric Range (0 - 60)
  • horas_descanso = Numeric Range (0 - 24)
  • ansiedade_detectada = Boolean (0 - 1)
  • latitude = Latitude/Longitude (latitude)
  • longitude = Latitude/Longitude (longitude)
  • acidente = Boolean (0 - 1)

Treinamento do modelo usando Python

  • Executar o comando pip3 install -r requirements.txt para instalar as dependências.
  • Executar o comando python aira_training_model.py na pasta training-model

Treinamento do modelo usando o COLAB

Caso queira apenas visualizar os dados, acesse o AIRA_Training_Model.ipynb diretamente no COLAB.

  • Abrir o arquivo AIRA_Training_Model.ipynb no COLAB.
  • Enviar os arquivos de suporte workflow.jpg, treinamento overview.jpg e aira_data.csv que estão na pasta training-model.
  • Executar tudo.
  • Será gerado um arquivo com o nome 'naive_bayes.joblib' contendo o dump do classificador Naive Bayes.

Instruções de Instalação Servidor

Windows

  • Instalar o Docker Desktop.
  • Executar o comando docker-compose up dentro da pasta raiz do projeto, onde se encontra o arquivo docker-compose.yml e o docker irá subir o RabbitMQ, a API do Serviço e a API do Machine Lerning.

Instruções de Instalação AIRA

Windows

  • Instalar o Python 3.8.3 .
  • Caso não instale o PyAudio através do script de instalação automática, faça o download do pacote e instale manualmente usando o comando pip install + nome do pacote baixado de acordo com a versão do Windows e do Python conforme instruções na thread do stackoverflow.
  • Clonar o projeto.
  • Executar o comando pip3 install -r requirements.txt na pasta aira-app.
  • Executar o comando python voice_app.py na pasta aira-app.

Raspberry Pi 3

  • Instalar o Raspberry Pi OS no cartão SD.
  • Executar o comando sudo apt install libespeak-dev pulseaudio python-pyaudio python3-pyaudio -y para instalar as dependências do linux.
  • Clonar o projeto.
  • Executar o comando pip3 install -r requirements.txt na pasta aira-app.
  • Executar o comando python voice_app.py na pasta aira-app.
  • ATENÇÃO: É necessário possuir um microfone usb e uma caixa de som ligada na Raspberry para que o projeto seja executado corretamente.

Referências Técnicas

Referências de Negócio