Основная цель — создать систему обнаружения дефектов на поверхности капсул, используя компьютерное зрение и технологии обработки изображений. Затем с помощью глубокого обучения обучить модель для достижения желаемого эффекта.
Текущая проблема: нейронная сеть плохо распознаёт дефекты, такие как отсутствие угла у капсулы или небольшие трещины. Это связано с недостаточной мощностью компьютера. Я ещё не пробовал использовать более глубокие модели, такие как VGG.
Кажется, что только свёрточные модели с модулем внимания могут обеспечить хорошую классификацию. Эта проблема похожа на задачу различения двух похожих видов животных. Однако я не могу реализовать сеть с вниманием.
Результаты работы находятся в папке FinalVer.
VideoPart.py: получение изображений с камеры и сохранение данных для обучения. Data_Trans.py: преобразование изображений и меток в поток данных формата TFRecord. capsule_inspection.py: построение модели, обучение и тестирование. Хотя в коде есть слой нормализации (BN), он не используется. Использование BN может повлиять на результаты.
Формат тренировочных данных: Я поместил изображения каждой категории в отдельную папку. Разделение основано на именах файлов (имена файлов создаются в VideoPart). При чтении используется модуль re для сопоставления имён файлов с соответствующими метками. Позже я подумал, что разделение по папкам было бы лучше, но мне было лень менять код.
Именование категорий:
Качество фотографий: Пример фотографии:
Каждая фотография сделана с помощью обычного USB-камеры с разрешением 1080p. Затем я обрезаю область размером 227x227 пикселей из верхнего левого угла. Фон сделан с использованием панели с подсветкой (LED), чтобы уменьшить влияние теней. Я не проверял, влияют ли тени на результат. Во время съёмки можно использовать небольшой свет для освещения цели и изменения условий освещения для улучшения данных.
Количество тренировочных данных: Для каждой категории дефектов я сделал 3000 фотографий. Сначала я использовал зеркальное отображение для увеличения данных, но эффект был незначительным. Возможно, изображения капсул не слишком сложные, и простое зеркальное отражение не решает проблему переобучения и недостаточной обобщающей способности. В итоге я вручную изменил положение капсул и сделал несколько дополнительных снимков. Всего для каждой категории сделано не более 500 снимков.
Количество итераций обучения: Всего было выполнено 400 итераций. Использовался метод адаптивного градиентного спуска. Кривая сходимости не была гладкой, но потери быстро уменьшились до значения около 0,2. Я не продолжил обучение, чтобы проверить, произошло ли переобучение. Однако результаты тестирования были очень хорошими, и система могла обнаруживать дефекты почти со 100% точностью, независимо от изменений освещения или положения капсул.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )