1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/abcc009-EasyPR

Клонировать/Скачать
ChangeLog.md 20 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 01.06.2025 08:32 e246704

Обновление версии EasyPR

======

В данной версии 1.6alpha были внесены следующие улучшения:

  1. Использование обучения на основе серых тонов и новых признаков повысило точность распознавания китайских символов до 86%, что на 14% выше по сравнению с предыдущей версией.

  2. Улучшение алгоритмов разделения и распознавания символов привело к повышению полной точности распознавания (0-error) на general_test с 59% до 70%, а точность с 1-error увеличилась до 82%.

  3. В модуле распознавания номерных знаков были использованы новые признаки SVM (цвет + проекция), что позволило повысить точность распознавания, сохранив при этом устойчивость. Индикатор FScore увеличился с 76% до 82%.

  4. Введена новая методика разделения символов — groundMSER.

  5. Предоставлено около 10 000 изображений серых тонов китайских символов для обучения, а также добавлен метод извлечения китайских и английских символов из набора номерных знаков от free-мастера в главном интерфейсе.

  6. Предоставлено 22 000 изображений серых тонов для обучения модели распознавания символов серых тонов.

  7. Улучшение и оптимизация кода, исправление многих ошибок.

  8. Поддержка OpenCV 3.2, для компиляции достаточно изменить #define CV_VERSION_THREE_ZERO на #define CV_VERSION_THREE_TWO в config.h.

  9. Улучшенная поддержка версий для Linux и Mac, использование CMake для успешной компиляции, отдельные utf-8 и gbk файлы для соответствующих систем.======

В данной версии EasyPR 1.5 были внесены следующие улучшения по сравнению с бета-версией:

  1. Исправлена ошибка обучения SVM, теперь версия 1.5 позволяет свободно использовать SVM для обучения. Это действительно ошибка OpenCV, подробнее см. обсуждение, спасибо @tka за информацию. Замечание: OpenCV 3.2 также исправил эту ошибку, поэтому если вы используете 3.2 версию, то тоже можете использовать SVM для обучения. Однако неизвестно, не введет ли 3.2 версия других проблем, поэтому в текущей версии EasyPR использование 3.0 или 3.1 версий также позволяет избежать ошибок обучения.

  2. Поддержка компиляции для Linux и Mac, если возникнут проблемы, пожалуйста, задайте вопрос в issue.

  3. Введена версия для ленивых, не требующая настройки OpenCV. Поддерживает только VS2013 и работает только в режиме отладки и x86, для других случаев все же потребуется настройка OpenCV. Спасибо Фану Ваньцзяю за помощь. Необходимо скачать оба файла со страницы, после чего распаковать их с помощью 7zip.

Другие основные улучшения:

  1. Введена новая методика локализации на основе MSER, которая обладает высокой устойчивостью при работе с изображениями низкого контраста, низкой освещенностью и большими изображениями.

Водительские права в ночное время* Изображение с очень низким контрастом

Изображение с очень низким контрастом

  • Близкое изображение

Близкое изображение

  • Высокорезолюционное изображение

Высокорезолюционное изображение

  1. Более рациональная оценочная процедура. Объединение новых файлов GroundTruth с протоколом ICDAR2003 делает общие оценочные показатели более рациональными. В общей базе данных добавлено около 50 новых изображений. Методы локализации текста при работе с этими сложными изображениями показали улучшение точности локализации на 27 процентных пунктов по сравнению с предыдущим методом SOBEL+COLOR.

При практической реализации использовались методы локализации текста и цвета. Результаты тестирования на 256 тестовых изображениях представлены ниже:

Результаты версии 1.5

  1. Использование алгоритма непрерывного максимума для удаления соседних номерных знаков, что делает конечный вывод более рациональным. Независимо от использования нескольких методов локализации, конечный вывод будет содержать только один номерной знак, и это будет наиболее вероятный номерной знак.

  2. Использование метода бинаризации с использованием порогового значения Оцу на основе локального пространства и адаптивного порогового значения улучшило точность сегментации текста и распознавания символов.* Изображение номерного знака

Изображение номерного знака

  • Результат обычного метода Оцу

Результат обычного метода Оцу

  • Результат метода Оцу с учетом пространства

Результат метода Оцу с учетом пространства

  1. Новый SVM-модель и признаки (LBP) улучшили устойчивость распознавания номерных знаков, а новый китайский ANN-модель распознавания текста улучшил общую точность распознавания китайского текста на 15 процентных пунктов.

  2. Добавлен метод Grid Search для автоматической настройки параметров.

  3. Впервые добавлена поддержка многопоточности, используя OpenMP для методов локализации текста, что улучшило конечную скорость распознавания примерно вдвое по сравнению с однопоточными методами.

  4. Заменены некоторые китайские комментарии, что позволяет Visual Studio на Windows корректно компилировать файлы, завершающиеся символом LF. В настоящее время программа, правильно настроенная с использованием OpenCV, может быть скомпилирована и запущена непосредственно из ZIP-архива с gitosc.

Для получения более подробной информации о данных изменениях можно посмотреть введение.

======

В этом обновлении версии 1.4 основные улучшения касаются нескольких аспектов:1. Код унифицирован в UTF-8 формате, что позволяет избежать появления нечитаемых символов в многоплатформенных оболочках. Поддержка OpenCV 3.0 и 3.1, обратите внимание, что это несовместимо с OpenCV 2.x. Если вы хотите поддерживать это, пожалуйста, скачайте версию 1.3.

  1. Обучение ANН открыто.

  2. Исправлена проблема с аномальным поведением при обучении SVM.

  3. Оптимизация кода.

Если вы не знаете, как скачать предыдущие версии, вы можете выбрать "tags" в разделе "branch" на GitHub или GitOSC, затем нажать на "v1.3" и затем на "download zip". Конечно, если вы используете git clone, вы сможете легко переключаться между версиями.

В последующих версиях планируется сделать следующие улучшения:

  1. Новый оценочный фреймворк, более рациональная оценка данных.

  2. Новый алгоритм локализации номерного знака.

======

Это обновление версии 1.3beta, основные улучшения заключаются в повышении точности модуля распознавания символов:

Средняя дистанция символов уменьшилась с 0.7 до 0.4, полное совпадение увеличилось с 68% до 81%, среднее время выполнения уменьшилось с 2 секунды до 1.5 секунды. См. Следующий рисунок:

Общие результаты версии 1.3beta

Основные изменения:

  • Улучшен алгоритм распознавания символов, заново обучен ANN, что значительно повысило точность распознавания символов.* Использован более робастный метод для повышения точности модуля локализации номерного знака.

Текущая версия имеет проблему с высоким временем обработки, в версии 1.3 будет исправлена эта проблема.

======

Это обновление версии 1.3alpha, основные улучшения заключаются в повышении точности модуля распознавания символов:

Средняя дистанция символов уменьшилась с 2.0 до 0.7, полное совпадение увеличилось с 25% до 68%.

При этом точность модуля локализации номерного знака также повысилась с 94% в предыдущей версии до 99% в текущей версии. См. Следующий рисунок:

Общие результаты версии 1.3alpha

Основные изменения:

  • Улучшен алгоритм распознавания символов, заново обучен ANN, что значительно повысило точность распознавания символов.

  • Использован более робастный метод для повышения точности модуля локализации номерного знака.

Текущая версия имеет проблему с высоким временем обработки, в версии 1.3 будет исправлена эта проблема.

======

Это обновление версии 1.2, основные улучшения заключаются в повышении точности модуля локализации номерного знака, с 70% до 94%, см. Следующий рисунок:

Общие результаты версии 1.2

Основные изменения:* Локализация номерного знака использует комбинированный метод поиска, который включает "цветовую информацию" и "вторичный Sobel". В окне ниже красный прямоугольник представляет результат локализации Sobel, а желтый прямоугольник представляет результат локализации по цвету.* "Пакетное тестирование" добавлено окно просмотра результатов, которое можно открыть или закрыть с помощью метода SetDebug() (true для открытия, false для закрытия).Просмотр результата

  • Базовые проблемы "большого угла" были решены, на нижеприведённом рисунке автомобильный номер был определён и переведён в правильный ракурс.

Большой угол

  • В GDTS добавлены новые тестовые изображения, включая несколько изображений с большим углом.

  • Результаты "пакетного тестирования" теперь сохраняются в файле "run_accuracy", что позволяет просматривать исторические данные.

  • Интеграция с версией для Linux позволяет осуществлять кросс-платформенную компиляцию.

======

Текущая версия EasyPR - OnClickListener. В сравнении с предыдущей версией 1.0, были внесены следующие изменения (из-за большого объёма обновлений, чтобы избежать конфликтов с вашими текущими проектами и кодом, рекомендуется осторожно выбирать полное обновление, лучше всего создать новый каталог для тестирования новых функций и контента):

  • Новый SVM-модель. Новая модель использует ядро rbf вместо liner, что повысило точность распознавания номерных знаков на 8%.

Улучшение точности SVM

  • Добавлены два новых метода извлечения признаков. Также предоставлены соответствующие интерфейсы обратного вызова для вторичной разработки.Признаки

  • Добавлен режим отладки. В папке image/tmp можно увидеть все промежуточные изображения.

Режим отладки

  • Добавлен режим LifeMode, который лучше подходит для распознавания номерных знаков в повседневных условиях.

Режим LifeMode

  • Добавлена функция пакетного тестирования, которая позволяет оценить общую производительность EasyPR на множестве изображений.

Пакетное тестирование Результаты пакетного тестирования

  • Введён концепт GDTS (General Data Test Set, общий набор тестовых данных) для оценки точности EasyPR.

GDTS

  • Чтобы гарантировать, что данные GDTS используются только для некоммерческих целей, введён новый GDSL-протокол.

GDSL

  • Улучшена функция обучения SVM. Предоставлен удобный интерфейс для обучения. Эти улучшения введены для поддержки предстоящей статьи по разработке SVM.

Обучение SVM

  • Усилены методы проверки SVM-модели. Используются три новых концепта данных: learn data, train data, test data.

Наборы данных SVM

  • Добавлены новые метрики оценки. Введены метрики Precise, Recall, FScore, которые используются для оценки точности SVM-модели и её улучшения.

Индикаторы SVM* Добавлены общие индикаторы. Введено расстояние Левенштейна как критерий для оценки точности распознавания и как основа для улучшения.

levenshtein1 levenshtein2 levenshtein3

levenshteinAll

  • В значительной степени увеличены тренировочные данные. В тренировочных данных SVM добавлено около тысячи новых изображений (изображений номерных знаков и не номерных знаков без применения гистограммы равномерного распределения).

Пожалуйста, распакуйте архив train/data/plate_detect_svm/learn для просмотра дополнительной информации.

  • Добавлен командный интерфейс для использования в качестве вспомогательного инструмента для тестирования и обучения.

Примечание: Если кто-то из студентов скачал файл test.jpg из папки image в предыдущей версии, пожалуйста, удалите его. Формат этого файла не соответствует новому соглашению GDSL. Если вы хотите использовать тестовые изображения, вы можете использовать новый файл test.jpg из версии 1.1.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/abcc009-EasyPR.git
git@api.gitlife.ru:oschina-mirror/abcc009-EasyPR.git
oschina-mirror
abcc009-EasyPR
abcc009-EasyPR
master