📷 Deep Check Orientation é um projeto que utiliza aprendizado profundo (deep learning) para verificação da orientação de uma imagem e rotação adequada da mesma. Ao ser enviada uma imagem (em qualquer formato), retorna-se o número de rotações necessárias e a imagem rotacionada corretamente.
Os passos realizados são:
- Leitura da imagem em rgb
- Pipeline de aumento de imagem usando albumentations (classe: compose)
- Realização da predição usando uma rede neural do tipo resnet
- Obtenção das predições de orientação da imagem
- Cálculo do número de rotações necessárias para orientação correta da imagem.
Projeto desenvolvido utilizando a rede swsl_resnext50_32x4d oferecida pelo Ternaus.
As seguintes ferramentas foram usadas na construção do projeto:
- pip install -r requirements.txt
- Abrir a linha de comando (cmd) e digitar: python main.py <imagem_para_rotacionar>. Ex: python main.py "..\allPd.jpg".
- A rede neural (swsl_resnext50_32x4d) é baixada e armazenada na primeira execução do projeto e após isso, utiliza-se a rede já baixada.
Caso queira baixar manualmente e referenciar no projeto, deve-se realizar os seguintes passos.
- Download usando o link de pesos na seção de Modelo pré-treinado desse README. Após o download, extrair a pasta.
- Colocar o arquivo zipado e o extraído em uma pasta qualquer.
- Criar uma variável de ambiente: TORCH_HOME = caminho_rede_neural.
Ex: TORCH_HOME = C:\Users\EmersonRafael\Desktop\DEEP_CHECK_ORIENTATION\model_dir_check_orientation
Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas (O download pode ser realizado pela própria página do Python ou Anaconda): Python.
Modelo foi treinado por Ternaus usando o OpenImages dataset.
Modelo | Acurácia de validação | Arquivo de configuração | Pesos |
---|---|---|---|
swsl_resnext50_32x4d | 0.9128 | Link | Link |
Este projeto está sob a licença MIT.
Feito com ❤️ por Emerson Rafael 👋🏽 Entre em contato!