Вопрос или проблема
Я новичок в области компьютерного зрения и выбрал считывание с 7-сегментного дисплея LCD своей системы отопления в качестве первой задачи для изучения CNN.
Я могу правильно считывать большинство чисел, но цифра 6 чаще всего распознается как 5.
Может кто-то посоветовать мне, правильно ли я использую набор данных MNIST для этой задачи и стоит ли мне просто найти лучшие гиперпараметры, чтобы это работало так, как задумано?
Вот мой код с дополнительным контекстом: https://github.com/tkdcpl/cnn-lcd-digits
Я буду признателен за любую помощь 🙂
Ответ или решение
Чтобы улучшить распознавание цифр с вашего ЖК-дисплея 7-сегментного типа с помощью свёрточных нейронных сетей (CNN) и набора данных MNIST, следует учитывать несколько важных аспектов.
1. Понимание проблемы
Вы упомянули, что цифра "6" распознаётся как "5" в большинстве случаев. Это может быть связано с несколькими факторами:
- Различия в шрифтах: Цифры на 7-сегментном дисплее могут незначительно отличаться от цифр, представленных в наборе MNIST, который был создан с учетом печатного шрифта.
- Качество изображения: Возможно, ваше изображение имеет низкое разрешение или много шумов, что затрудняет распознавание.
- Обучение на наборе данных: Nабор данных MNIST содержит цифры, написанные вручную, и его примерный характер может не совпадать с формой сегментов на вашем дисплее.
2. Корректность подхода с MNIST
Использование MNIST для распознавания цифр с вашего ЖК-дисплея не является идеальным решением, так как:
- Различные форматы: В MNIST цифры написаны вручную, и их форма может существенно отличаться от формата, который вы пытаетесь распознать.
- Необходимость дополнительной адаптации: Вам следует собрать собственный набор данных, который будет лучше отражать природу отображаемых цифр на системе отопления.
3. Рекомендации по улучшению
-
Сбор собственного набора данных:
- Сделайте несколько снимков LCD-дисплея с разными условиями освещения, углами обзора и размерами. Это поможет вашей модели лучше запомнить различные варианты отображаемых цифр.
-
Аугментация данных:
- Внедрите техники аугментации данных, такие как повороты, изменения масштаба и добавление шума, чтобы ваша модель научилась распознавать цифры в различных условиях отображения.
-
Настройка гиперпараметров:
- Испробуйте различные конфигурации: измените параметры обучения, такие как скорость обучения, количество свёрточных слоев и размер ядра свёртки для улучшения результатов.
-
Использование предобученных моделей:
- Рассмотрите возможность применения предобученных моделей для анализа изображений, таких как модели из архитектуры ResNet или Inception. Эти модели могут быть адаптированы для вашей задачи через перенастройку.
-
Тестирование и валидация:
- Обязательно разделите ваш набор данных на обучающую и тестовую выборки. Это позволит вам лучше оценить производительность модели и избежать переобучения.
-
Обратная связь:
- После внедрения всех этих изменений, соберите обратную связь о том, как модель справляется с распознаванием цифр. Используйте эти данные для дальнейшей оптимизации.
Заключение
Использование свёрточных нейронных сетей для распознавания цифр с 7-сегментного дисплея — отличный шаг в изучении компьютерного зрения. Однако, для достижения более точных результатов требуется адаптировать подход и собрать собственные данные для обучения. Удачи в ваших дальнейших исследованиях и разработках!