Implementação de segmentação de parafuso com técnicas clássicas de processamento de imagem HSV e detecção de congumelos com CNN.
Para visualizar o código passo a passo e os resultados dos algoritmos propostos, é recomendável abrir Visuailisations_object_detection.ipynb e Visuailisations_object_segmentation_HSV.ipynb
Este repositório contém uma implementação de segmentação de parafuso com técnicas clássicas de processamento de imagem HSV e um modelo de detecção de objetos (YOLOv4) para cogumelos. Os pesos estão disponíveis neste link.
Para segmentação de parafuso crie um ambiente anaconda
conda create -n myenv python=3.9
conda activate myenv
Requerimentos de instalação
conda install -c conda-forge opencv
conda install -c conda-forge matplotlib
conda install -c anaconda numpy
Para executar o algoritmo use o arquivo:
Visuailisations_object_segmentation_HSV.ipynb
Para detecção de objetos crie um ambiente anaconda
conda create -n myenv python=3.9
conda activate myenv
Requerimentos de instalação
conda install -c conda-forge opencv
conda install -c conda-forge matplotlib
Foram usadas as metricas de Coco para avaliar o modelo de detecção. O modelo atingiu um mAP de 100% devido ao pequeno conjunto de testes, composto por 5 imagens. Sugere-se aumentar os conjuntos de treinamento, validação e teste.
Modelo - YOLOv4 | TP | FP | mAP (%) |
---|---|---|---|
Cantarelo | 5 | 0 | 100 |
CoW | 9 | 0 | 100 |
Para realizar a inferência do modelo de detecção pré-treinado no conjunto de teste , execute:
!python main_detection.py \
--weight_folder "your_path/files_yolov4/" \
--path_rgb_image "your_path/img_rgb_detection/" \
--res_dir "your_path/results_object_detection"
Um experimento adicional foi realizado para segmentação de parafusos usando CNN. Abaixo alguns resultados
segmentação semântica (Unet + Resnet) para parafusos Para segmentação semântica crie um ambiente anaconda
conda create -n myenv python=3.9
conda activate myenv
Requerimentos de instalação
conda install -c fastai -c pytorch -c anaconda -c conda-forge fastai gh anaconda
conda install -c fastai fastai
conda install -c conda-forge imutils
conda install -c conda-forge opencv
Foram usadas a metrica IoU (Intersection over union) para avaliar o modelo de segmentação.
Modelo | IoU (%) |
---|---|
Unet - mobilinet | 74.1 |
Para realizar a inferência do modelo de segmentação pré-treinado no conjunto de teste , execute:
!python main_segmentation.py \
--files_unet "your_path/files_unet/" \
--res_dir "your_path/results_object_segmentation/"
É importante dizer que as imagens de entrada para o modelo foram redimensionadas
Na pasta scripts_train_models_colab encontra-se os arquivos .ipynb para o treinamento dos modelos de segmentação e detecção de objetos executados na plataforma google colab.