Classificação de tipos de parafusos e porcas com a utilização da rede YOLOv8

Nascimento, Gizele Poltronieri do (2023)

dissertacao_mestrado

A detecção de objetos em imagens tem sido um dos maiores desafios para pesquisadores de visão computacional. Devido à sua ampla aplicação, este tema tem atraído a atenção da indústria e da academia. Nos últimos anos, os rápidos avanços das técnicas de aprendizado profundo aceleraram muito o momento da detecção de objetos. Com redes de aprendizado profundo e o poder computacional das GPUs, o desempenho dos detectores de objetos melhorou bastante, alcançando avanços significativos. Os métodos de detecção de objetos de última geração podem ser divididos em duas abordagens. Enquanto as técnicas de detecção de dois estágios oferecem a vantagem de alta precisão na detecção e localização de objetos, os detectores de um estágio preveem caixas delimitadoras diretamente sobre as imagens. Este processo consome menos tempo e pode ser utilizado em aplicações em tempo real. Nos dias atuais, uma das arquiteturas de detecção de objetos mais bem sucedidas é a rede YOLO. Com base na abordagem de um estágio, a rede YOLO usa uma única estrutura para gerar as caixas delimitadoras e estimar as probabilidades de classe diretamente das imagens. Este trabalho apresenta um estudo de caso sobre detecção e classificação de parafusos e porcas. A identificação de parafusos não é uma tarefa trivial. Existem cerca de 1.500 tipos únicos de parafusos e, em alguns casos, as diferenças entre duas peças envolvem apenas pequenos detalhes, cuja identificação é difícil para pessoas inexperientes. Nos experimentos foi utilizado um conjunto de dados com 384 imagens de parafusos e porcas em um fundo estruturado de madeira. O problema de classificação consistiu em 13 classes que diferem entre si no comprimento e largura do diâmetro do parafuso ou da porca, na cor do metal e no formato da cabeça, ponta ou rosca do parafuso. Os objetos em algumas imagens estão separados, em outras, os objetos estão juntos ou sobrepostos. Para detecção e classificação de parafusos e porcas, foi utilizada a rede YOLOv8. O conjunto de dados original foi dividido em 70% para treinamento e 30% para teste, e todo treinamento e inferência foi usando o código python com modelo YOLOv8x. Na etapa de preparação, as imagens foram anotadas usando LabelImg que é uma ferramenta de anotação de imagens gráficas. O desempenho foi avaliado considerando a detecção e classificação após 186 épocas executadas. Os resultados na detecção foram medidos para média global entre as classes, em termos de mAP50 e mAP50_95, que pontuaram 99% e 79,1%, respectivamente. Nas tarefas de classificação, todas as classes alcançaram precision e recall acima de 98,9%, e F1-score pontuaram acima de 99%.

Objects detection in images has been one of the biggest challenges for computer vision researchers. Because of its wide application, this topic has attracted the attention of industry and academia. In the last few years, the rapid advances of deep learning techniques have greatly accelerated the momentum of object detection. With deep learning networks and the computing power of GPU’s, the performance of object detectors has greatly improved, achieving significant advances. The state-of-the-art object detection methods can be divided into two approachs. While two-stage detection techniques offer the advantage of high accuracy in detecting and locating objects, one-stage detectors predict bounding boxes directly over the images. This process consumes less time and can be used in real-time applications. In the present days, one of the most succesful object detection architectures is the YOLO network. Based on the one-stage approach, YOLO network uses a single structure to generates the bounding boxes and to estimate the class probabilities directly from the images. This work presents a case study on bolt and nut detection and classification. The identification of bolts is not a trivial task. There are about 1,500 unique types of bolts, and in some cases, the differences among two pieces involve only tiny details, whose identification is difficult for untrained people. In the experiments it was used a dataset with 384 images of bolts and nuts on a structured wooden background. The classification problem consisted of 13 classes that differ from each other in the length and width of the bolt or nut diameter, the color of the metal, and the shape of the screw head, tip or thread. Objects in some images are separated, in the others ones, objects are together or overlapped. For bolts and nuts detection and classification, the network YOLOv8 was used. The original data set was divided into 70% for training and 30% for testing, and python code with YOLOv8x model was used for all training and inference. In a preparation stage, images were annotated by using LabelImg which is a graphical image annotation tool. Performance was avaliated considering detection and classification after 186 epochs run. The results in detection were measured for the global average between classes, in terms of mAP50 and mAP50_95, that score 99% and 79.1%, respectively. In classification tasks, all classes reached above 98,9% precision and recall and F1-score scored above 99%.


Coleções: