Skip to content

gusmendess/ML_visao_computacional

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

Treinamento de Máquina - Visão Computacional

Trabalho de conclusão de fim de curso (TCC), onde apliquei meus conhecimentos de treinamento de máquina para melhorar um banco de imagens e treinar a i.a para reconhecer o uso correto de equipamentos de segurança de trabalho. Ferramentas: Python, OpenCV, Pytorch.

Projeto.02.-.PPE.mp4

1. Definição de projeto e banco de imagens

Para o projeto em questão foi definido que seria necessário desenvolver uma máquina de modo que possa identificar se um trabalhador está utilizando ou não o capacete de segurança do trabalho corretamente atráves de um banco de imagens conhecido. Utilizei o banco de imagens YOLO helmet/head disponível no Kaggle.

Texto alternativo

2. Tratamento e Limpeza de Dados

A separação de um banco de imagens em pastas de treinamento, validação e teste é uma prática fundamental no treinamento de modelos de visão computacional, especialmente para máquinas de aprendizado profundo, como redes neurais convolucionais (CNNs). Foi adotado uma separação de 70% dos dados para treinamento, 20% dos dados para validação e 10% para teste. Essa abordagem é crucial para garantir que o modelo seja treinado de maneira robusta e evitar:

1.Avaliação da Generalização: Ao separar os dados em conjuntos de treinamento, validação e teste, cria-se ambientes distintos para treinar, ajustar hiperparâmetros e avaliar o modelo. Isso evita overfitting, garantindo que o modelo generalize bem para novos dados.

2.Prevenção de Overfitting: A validação e o conjunto de teste atuam como benchmarks para verificar se o modelo está generalizando ou apenas memorizando padrões específicos dos dados de treinamento, prevenindo o overfitting.

3.Ajuste de Hiperparâmetros: Durante o treinamento, ajustar os hiperparâmetros é comum. A validação fornece um conjunto independente para avaliar diferentes configurações, sem contaminar os dados de teste.

4.Simulação do Ambiente de Produção: O conjunto de teste simula o ambiente de produção, representando dados do mundo real e fornecendo uma estimativa realista do desempenho do modelo.

5.Aprimoramento Contínuo: A divisão adequada dos conjuntos permite um ciclo contínuo de treinamento, avaliação, ajuste e iteração, resultando em modelos mais robustos.

Texto alternativo

3. Treinamento de Máquina

Após organizado o banco de imagens, foi feito o treinamento de máquina a partir do modelo do yolov5, que utiliza o Pytorch para criar uma arquitetura de rede neural convolucional (CNN) profunda para realizar a detecção de objetos. A estrutura da rede neural é otimizada para processar imagens e gerar previsões em tempo real. Todo o treinamento encontra-se no notebook feito no google collab com seu devido passo a passo no notebook do repositório.

Texto alternativo

4. Análise de eficácia e ajustes de hiperparâmetros

Com o treinamento finalizado, utilizei a biblioteca de monitoramento de machine learning wand.b (Weights and Biases).

  1. Visualização em Tempo Real: Acompanha o progresso do treinamento em tempo real, fornecendo gráficos interativos e visualizações.

  2. Integração com Diversos Frameworks: Pode ser integrado com frameworks populares, como TensorFlow e PyTorch.

3.Registro de Experimentos: Registra métricas, parâmetros, gráficos, imagens e outros artefatos para uma análise aprofundada dos experimentos.

Neste projeto, consegui identificar que o banco de imagens não era capaz de ensinar para a inteligência artificial a reconhecer as classes de objetos em ambientes com baixa iluminação, chuva, etc.. Então aproveitei para inserir uma amostra de dados própria e comparei o resultado entre elas.

Texto alternativo

5. Identificação de objetos

Depois de tudo isso, o modelo finalmente está pronto para a inferência.

videoobra.mp4

A aplicação da visão computacional na gestão de empresas pode proporcionar diversos insights valiosos para a tomada de decisões estratégicas.

  1. Análise de Dados Visuais: Utilize câmeras para rastrear padrões de movimento de clientes em lojas físicas, otimizando o layout e melhorando a experiência do cliente.

  2. Segurança e Vigilância: Detecção de Intrusões: Utilize sistemas de visão computacional para identificar comportamentos suspeitos ou intrusões em áreas restritas.

  3. Manutenção Preditiva: ​Utilize visão computacional para identificar sinais de desgaste ou danos em equipamentos, permitindo a manutenção antes de falhas críticas.

  4. Segurança do trabalho: Utilize visão computacional para prevenir acidentes com falta de uso de EPI's.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages