#python #image #tensorflow #deep-learning #predict
Вопрос:
Я работал над проектом, направленным на обнаружение дефектов на экранах телевизоров, используя глубокое обучение, Python и TensorFlow. Суть в том, чтобы просто классифицировать каждый образец как дефектный или неполноценный. Ниже представлен пример, где указан дефект:
Для этой цели я обучил такие модели, как VGG-16, MobileNet-v1, ResNet50 и т. Д. Все они получили высокие оценки точности, а затем, чтобы увидеть, как модели решают (где они выглядят) Я разработал алгоритм, который извлекает GradCAM из каждого прогноза (https://github.com/luansouzasilva31/GradCAM/blob/main/gradcam.py).
Основная проблема заключается в том, что GradCAM подходит только для модели VGG-16, т. е. другие не рассматривают дефект должным образом при классификации каждого образца. Ниже представлены примеры GradCAM от VGG-16, MobileNet-v1 и Resnet50 соответственно:
Такого рода проблемы возникают во многих прогнозах MobileNet-v1 и ResNet50, в то время как VGG-16 отлично справляется с этой задачей. Но, как я уже отмечал, показатель точности у всех них высокий, и ResNet50 даже получает более высокую точность, чем VGG-16.
Каковы возможные проблемы в этих случаях? Почему сети смотрят на другой регион и все же управляют им, чтобы получить правильные прогнозы?