Вопрос или проблема
Я работаю над задачей, связанной с изображениями, в рамках которой мы мониторим развитие пятна в определенном регионе изображения. Мы успешно классифицируем, присутствует ли пятно (NOK) или отсутствует (OK), если изначально в этом регионе изображения пятно отсутствует, а со временем оно развивается с использованием CNN с активацией ReLU. Однако наша задача заключается в том, чтобы найти решение для изображений, которые изначально уже имеют пятно (что в этом случае является OK), но которое со временем развилось больше (NOK). Если мы подаем данные второго сценария в нашу обученную модель (CNN с ReLU), она начинает классифицировать как наличие пятна, что является желаемым результатом для первого сценария, но не является желаемым результатом для второго сценария.
Примечание: изображения собираются для одного и того же компонента с разных машин, где некоторые области компонентов чистые и не имеют изначально наблюдаемого пятна, а некоторые компоненты имеют легкие пятна, что в нашем случае является OK.
Моя задача:
- как создать модель машинного обучения, которая может понять базисный уровень конкретного региона и классифицировать рост пятна, наблюдаемого в этом конкретном регионе изображения для обоих вышеуказанных сценариев?
Я нашел свой ответ в этапах предобработки данных. Поиск роста пятна или пятна был главной проблемой для случаев, когда пятно уже имеется. Вычисление дельты по отношению к начальному изображению может наглядно показать доказательства роста пятна. Поэтому мы решили обучить модель на предобработанных данных, получив относительное изображение, и использовать его для целей обучения и тестирования.
Ответ или решение
Для решения вашей задачи по классификации роста пятен на изображениях и учёта случаев, когда изначально присутствуют небольшие пятна, необходимо рассмотреть несколько этапов обработки данных и подходов к обучению модели.
1. Подготовка данных
Как вы уже упомянули, ключ к успеху заключается в правильной предварительной обработке данных. Вам нужно будет создать «базовое» изображение для каждой области, чтобы затем отслеживать изменения. Вот несколько шагов, которые вы можете предпринять:
-
Сбор данных: Убедитесь, что у вас есть разнообразие изображений для каждой категории (изображения с изначально чистыми областями и изображения с текущими пятнами).
-
Создание базовых изображений: Для того чтобы отслеживать рост пятен, создайте базовые изображения из ваших первых наборов данных, которые служат эталоном для последующих изменений.
-
Расчёт дельты: Для каждого нового изображения вы должны вычислить разность между текущим изображением и базовым изображением (дельта). Этот шаг поможет вам увидеть, насколько пятно увеличилось или изменилось с течением времени.
2. Разработка модели
С использованием CNN (сверточные нейронные сети) необходимо внести некоторые изменения в архитектуру и подход к обучению:
-
Ввод дельты в модель: Вместо того чтобы просто подавать изображение на вход модели, подавайте только изменённые изображения (дельты). Это поможет модели фокусироваться на изменениях, а не на абсолютных значениях.
-
Модификация выходного слоя: Добавьте возможность классификации в два класса: «размер пятна увеличился» и «размер пятна остался прежним». Это позволит более точно различать две категории на основе изменений.
3. Обучение и оценка
-
Разделение данных на обучающую и проверочную выборки: Убедитесь, что ваши выборки представляют обе категории, чтобы модель могла научиться правильно классифицировать оба сценария.
-
Оценка результатов: Используйте метрики, такие как точность, полнота и F1-мера, чтобы понять, как хорошо ваша модель справляется с задачей. Обратите особое внимание на классификацию, когда пятно уже присутствует, так как это наиболее сложная часть задачи.
4. Поддержка модели
-
Мониторинг производительности: После внедрения модели необходимо настроить систему мониторинга для отслеживания её производительности на новых данных.
-
Дальнейшее обучение: Продолжайте дообучать модель на новых данных, которые вы собираете, для повышения её точности.
Заключение
Работа с изображениями для отслеживания роста пятен требует комплексного подхода к обработке данных и проектированию модели. Использование разностей (дельт) между изображениями позволит вашей модели более точно классифицировать как новые случаи, так и те, которые изначально содержали пятна. Удачи в решении вашей задачи!