Предварительно обученная модель LeNet для распознавания номерных знаков - PullRequest
0 голосов
/ 11 июня 2018

Я реализовал форму модели LeNet через tenorflow и python для системы распознавания автомобильных номеров .Моя модель тренировалась исключительно по данным моего поезда и тестировалась по данным испытаний. Мой набор данных содержит сегментированные изображения, в которых каждое изображение содержит только один символ. Вот как выглядят мои данные .Моя созданная модель не очень хорошо работает, поэтому я сейчас ищу модели, которые можно использовать с помощью Transfer Learning.Поскольку большинство моделей уже обучены на огромном наборе данных, я просмотрел несколько таких, как AlexNet, ResNet, GoogLeNet и Inception v2.Большинство из этих моделей не были обучены тому типу данных, которые мне нужны: Буквы и цифры.

Вопрос: Стоит ли мне продолжатьодну из этих моделей и обучите их на моем наборе данных, или есть какие-нибудь лучшие модели, которые могли бы помочь?Для таких моделей керас будет лучшим вариантом, поскольку он более высокого уровня, чем Tensorflow?

Вопрос: Я бы предпочел работать с самой моделью LeNet, поскольку обучение другим моделям определенно займет много времени из-за недостаточных характеристик моего ноутбука.Так есть ли какая-либо реализация модели, которая использует машинные печатные изображения персонажей для обучения модели, которую я мог бы использовать для обучения окончательных слоев модели на моих данных?

1 Ответ

0 голосов
/ 11 июня 2018

, чтобы получить хорошие результаты, вы должны использовать модель, явно предназначенную для распознавания текста.Сначала (приблизительно) обрежьте входное изображение в области вокруг текста.Затем введите изображение текста в нейронную сеть (NN) для обнаружения текста.Типичный NN для распознавания текста извлекает соответствующие функции (с помощью сверточного NN), распространяет эти функции по изображению (с повторяющимся NN) и, наконец, прогнозирует количество символов для каждой позиции в изображении.Обычно эти сети обучаются с потерей CTC.

В качестве отправной точки я бы предложил рассмотреть реализацию CRNN (они также предоставляют предварительно обученную модель) [1] и соответствующий документ [2].Насколько я помню, на github также есть реализация TensorFlow.Вы можете использовать любой фреймворк (например, TensorFlow или CNTK или ...), который вам нравится, если он имеет сверточный и рекуррентный NN и потерю CTC.Однажды я посетил презентацию о CNTK, где они утверждали, что у них очень быстрая реализация повторяющихся NN - так что, может быть, CNTK будет хорошим выбором для вашего медленного компьютера?

[1] Реализация CRNN: https://github.com/bgshih/crnn

[2] Ши - сквозная обучаемая нейронная сеть для распознавания последовательностей на основе изображений и ее применение к распознаванию текста сцены

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...