Помогите пожалуйста, если кто-то сталкивался.
Необходимо на изображении номера машины, например, распознать цифры (из набора 0-9 .
Буду особенно признателен за фрагменты кода, подробное описание алгоритма или его
реализации.
Здравствуйте, Alexey_G, Вы писали:
A_G>Добрый день!
A_G>Помогите пожалуйста, если кто-то сталкивался. A_G>Необходимо на изображении номера машины, например, распознать цифры (из набора 0-9 . A_G>Буду особенно признателен за фрагменты кода, подробное описание алгоритма или его A_G>реализации.
за такое деньги платят и много
A_G>Спасибо!
в открытом доступе полного алгоритма не найдете и никто его вам не даст. Разумеется многое зависит от того,
какого вида у вас изображение и допустимый процент ошибок. Уровня курсовой что-то можно написать быстро написать
Почтальоны одно время нейронные сети использовали, чтобы распознавать цифры в индексе.
Про нейронные сети (neural networks) много всего написано и код, а то и целые библиотеки наверное в сети найти можно.
Сложность в том, что надо кучу примеров уже распознаных цифр, чтобы сеть натренировать. Хотя в случае с номерами машин вариантов не так много, как в случае рукописных каракулей.
Здравствуйте, Risk Server, Вы писали:
RS>Почтальоны одно время нейронные сети использовали, чтобы распознавать цифры в индексе. RS>Про нейронные сети (neural networks) много всего написано и код, а то и целые библиотеки наверное в сети найти можно. RS>Сложность в том, что надо кучу примеров уже распознаных цифр, чтобы сеть натренировать. Хотя в случае с номерами машин вариантов не так много, как в случае рукописных каракулей.
Здравствуйте, Alexey_G, Вы писали:
A_G>Добрый день!
A_G>Помогите пожалуйста, если кто-то сталкивался. A_G>Необходимо на изображении номера машины, например, распознать цифры (из набора 0-9 . A_G>Буду особенно признателен за фрагменты кода, подробное описание алгоритма или его A_G>реализации.
A_G>Спасибо!
Все просто.
1. Разбиваешь знак на символы (не занимался )
2. Чистишь символ
3. Выделяешь символ и фон
4. Преобразовываешь (широкая поляна для полета мысли)
5. Распознаешь
В качестве небольшой помощи -- погугли на слова Licence Plate Recognition
Вопросы
1. Куда надо?
2. Насколько серьезно
3. процент распознавания
4. $?
Здравствуйте, Trean, Вы писали:
T> за такое деньги платят и много
T>в открытом доступе полного алгоритма не найдете и никто его вам не даст. Разумеется многое зависит от того, T>какого вида у вас изображение и допустимый процент ошибок. Уровня курсовой что-то можно написать быстро написать
А как отличить, за что деньги платить, а что — уровня курсовой?
Здравствуйте, FDSC, Вы писали:
FDS>Здравствуйте, Trean, Вы писали:
T>> за такое деньги платят и много
T>>в открытом доступе полного алгоритма не найдете и никто его вам не даст. Разумеется многое зависит от того, T>>какого вида у вас изображение и допустимый процент ошибок. Уровня курсовой что-то можно написать быстро написать
FDS>А как отличить, за что деньги платить, а что — уровня курсовой?
по проценту.
Доходил до 90, потом не занимался. Не было времени. Видел статью, где процент был 99.7, но там при распознавании дополнтельно использовалась база существующих номеров.
ИМХО, можно написать не сильно напрягаясь до 95-98 процентов, можно и выше, но уже навороченное .
Здравствуйте, tinytjan, Вы писали:
T>Здравствуйте, Alexey_G, Вы писали:
A_G>>Добрый день!
A_G>>Помогите пожалуйста, если кто-то сталкивался. A_G>>Необходимо на изображении номера машины, например, распознать цифры (из набора 0-9 . A_G>>Буду особенно признателен за фрагменты кода, подробное описание алгоритма или его A_G>>реализации.
A_G>>Спасибо!
T>Все просто.
0. Находишь номер знак.(хотя вроде как подается уже готовый номер на вход)
T>1. Разбиваешь знак на символы (не занимался ) T>2. Чистишь символ T>3. Выделяешь символ и фон T>4. Преобразовываешь (широкая поляна для полета мысли) T>5. Распознаешь
T>Доходил до 90, потом не занимался. Не было времени. Видел статью, где процент был 99.7, но там при распознавании дополнтельно использовалась база T>существующих номеров. T>ИМХО, можно написать не сильно напрягаясь до 95-98 процентов, можно и выше, но уже навороченное .
Простите за любопытство, это в каких условиях Вы доходили до 90%? В лабораторных?
На каком количестве это было протестировано? Какое качество входных данных? Входные данные синтетические или реальные?
Здравствуйте, Risk Server, Вы писали:
RS>Почтальоны одно время нейронные сети использовали, чтобы распознавать цифры в индексе. RS>Про нейронные сети (neural networks) много всего написано и код, а то и целые библиотеки наверное в сети найти можно. RS>Сложность в том, что надо кучу примеров уже распознаных цифр, чтобы сеть натренировать. Хотя в случае с номерами машин вариантов не так много, как в случае рукописных каракулей.
Сто пудов нейросети справятся, нужно только мальца подумать и реализовать всё аккуратно... Одной сети правда будем маловато, нужно будет немного номер покрутить, используя, например, циферки с регионом, а потом уже распознавать.
Здравствуйте, Risk Server, Вы писали:
RS>Почтальоны одно время нейронные сети использовали, чтобы распознавать цифры в индексе.
Сорри за офтоп, но если имеются в виду советские почтовые индексы, то там было все проще:
любая цифра индекса могла быть распознана всего по 4 палочкам: верхняя, средняя горизонтальная и 2 правых вертикальных... (Остальные для красоты написания были использованы).
т.о. 4 бита на символ индекса проанализировать надо было.
Месторасположение индекса у всех конвертов/открыток стандартное, так что обычной оптикой (в смысле 4 фотодиодами на символ) можно было обойтись..
Здравствуйте, 8bit, Вы писали:
>...
8> 0. Находишь номер знак.(хотя вроде как подается уже готовый номер на вход)
Вежливо ко мне обращаешься, и получаешь базу цифирек.
Правда она немаленькая, так что залить смогу не всегда.
>...
8>Простите за любопытство, это в каких условиях Вы доходили до 90%? В лабораторных?
Не понимаю. В домашних
Причем на эксперименты не было времени.
Самые лучшие результаты дала сеть Кохонена, что для меня было несколько неожиданно.
Но это наверное из-за малого количества эксперимертов.
Также тестировались микстура экспертов и 3-слойный нелинейный персептрон (есть смысл поэкспериментировать с 4-слойным).
Есть прога, предназначенная по большей части именно для экспериментов для вышеупомянутых сетей.
Но у нее есть один большой недостаток , она написана на дельфе.
8>На каком количестве это было протестировано?
База данных реальных номеров, разбитая на символы. Каждого символа что-то около 300
8>Какое качество входных данных?
Опять не понимаю. Заляпанные грязью, чистые, выгоревшие, есть даже такие, где визуально сложно догадаться, что за символ. Ну, правда, нормальные тоже есть.
Каждый символ имеет несколько вариантов написания.
8>Входные данные синтетические или реальные?
Реальные. Только вот нету в них угла поворота. То есть он зависит только от способа написания, а одинаковые символы с одинаковым написанием наклонены одинаково
З.Ы. Кстати говоря, что такого смешного было в моем посте
Здравствуйте, tinytjan, Вы писали:
T>Здравствуйте, 8bit, Вы писали:
Мы говорим только про распознавание уже выделенного символа?
8>> 0. Находишь номер знак.(хотя вроде как подается уже готовый номер на вход)
T>Вежливо ко мне обращаешься, и получаешь базу цифирек. T>Правда она немаленькая, так что залить смогу не всегда.
я подумаю
>>...
8>>Простите за любопытство, это в каких условиях Вы доходили до 90%? В лабораторных?
T> Не понимаю. В домашних T> Причем на эксперименты не было времени.
т.е. не в реальных условиях, когда подается изображение с камеры, происходит поиск области
где нужно провести распознавание, разбивка символов, и собственно распознавание?
причем в любое время суток, погодных условий и т.д. (хотя если только распознавание то остальное
конечно не Ваша забота)
T> Самые лучшие результаты дала сеть Кохонена, что для меня было несколько неожиданно. T> Но это наверное из-за малого количества эксперимертов.
T> Также тестировались микстура экспертов и 3-слойный нелинейный персептрон (есть смысл поэкспериментировать с 4-слойным). T> Есть прога, предназначенная по большей части именно для экспериментов для вышеупомянутых сетей. T> Но у нее есть один большой недостаток , она написана на дельфе.
8>>На каком количестве это было протестировано?
T>База данных реальных номеров, разбитая на символы. Каждого символа что-то около 300
т.е разбивка уже готовая? Только распознавание символа?
Вы тестировали на том же наборе на котором обучали?
8>>Какое качество входных данных?
T> Опять не понимаю. Заляпанные грязью, чистые, выгоревшие, есть даже такие, где визуально сложно догадаться, что за символ. Ну, правда, нормальные тоже есть. T>Каждый символ имеет несколько вариантов написания.
А подскажите еще размер? например 7x9 пикселей или чуть больше сможет ?
8>>Входные данные синтетические или реальные?
T>Реальные. Только вот нету в них угла поворота. То есть он зависит только от способа написания, а одинаковые символы с одинаковым написанием наклонены одинаково
Вообще было бы интересно взглянуть на все это дело
Здравствуйте, tinytjan, Вы писали:
T> Опять не понимаю. Заляпанные грязью, чистые, выгоревшие, есть даже такие, где визуально сложно догадаться, что за символ. Ну, правда, нормальные тоже есть. T>Каждый символ имеет несколько вариантов написания.
Ну, заляпанные грязью, это не проблема: чем больше таких заляпанных грязью в обучении участвовало, тем лучше распознается другой заляпанный.
У меня вот проблема была, когда символы налезали друг на друга... т.е. смысл в том, что символы могли быть написаны под наклоном (от руки) и было трудно понять где какой символ начинается, т.е. выделить с изображения участок, который нужно распознать. Бу... как я с этим мучался
Здравствуйте, 8bit, Вы писали:
8>Мы говорим только про распознавание уже выделенного символа?
Сейчас -- да, есть у меня где-то инфа на тему выделения отдельных символов, но надо найти, куда я ее пару лет назад засунул...
Насколько помню -- идет анализ частотного спектра картинки по цветам. По горизонтали и вертикали.
>...
8>т.е. не в реальных условиях, когда подается изображение с камеры, происходит поиск области 8>где нужно провести распознавание, разбивка символов, и собственно распознавание? 8>причем в любое время суток, погодных условий и т.д. (хотя если только распознавание то остальное 8>конечно не Ваша забота)
Хех, это аппаратно-программная система, такую уж точно свободно и задешево не достанешь.
T>> Самые лучшие результаты дала сеть Кохонена, что для меня было несколько неожиданно. T>> Но это наверное из-за малого количества эксперимертов.
T>> Также тестировались микстура экспертов и 3-слойный нелинейный персептрон (есть смысл поэкспериментировать с 4-слойным). T>> Есть прога, предназначенная по большей части именно для экспериментов для вышеупомянутых сетей. T>> Но у нее есть один большой недостаток , она написана на дельфе.
8>>>На каком количестве это было протестировано?
T>>База данных реальных номеров, разбитая на символы. Каждого символа что-то около 300
8>т.е разбивка уже готовая? Только распознавание символа?
Да
8>Вы тестировали на том же наборе на котором обучали?
Нет,
1 на всей выборке я б замучился,
2 грамотно выбранная выборка результатов не ухудшает
Я старался выбрать символы, которые при хорошем качестве отражают все проблемы.
8>>>Какое качество входных данных?
T>> Опять не понимаю. Заляпанные грязью, чистые, выгоревшие, есть даже такие, где визуально сложно догадаться, что за символ. Ну, правда, нормальные тоже есть. T>>Каждый символ имеет несколько вариантов написания.
8>А подскажите еще размер? например 7x9 пикселей или чуть больше сможет ?
Хех, 60х40, что-то вроде того. А вообще не помню.
Или 30х20.
А вообще, конечно, наверное есть смысл уменьшить, но тогда появятся новые проблемы, например склейка символов.
Насколько я знаю, для распознавания печатного текста не рекомендуется сканить текст с высоким разрешением, т.к. ухудшатся результаты.
8>>>Входные данные синтетические или реальные?
T>>Реальные. Только вот нету в них угла поворота. То есть он зависит только от способа написания, а одинаковые символы с одинаковым написанием наклонены одинаково
8>Вообще было бы интересно взглянуть на все это дело
Здравствуйте, FDSC, Вы писали:
FDS>У меня вот проблема была, когда символы налезали друг на друга... т.е. смысл в том, что символы могли быть написаны под наклоном (от руки) и было трудно понять где какой символ начинается, т.е. выделить с изображения участок, который нужно распознать.
Да, это действительно проблема,
FDS>Бу... как я с этим мучался
Вымучил?
С автономерами тоже есть нечто подобное, минус иногда соединяет символы, причем иногда он очень жирный
Но это не так сложно вымучить
Здравствуйте, tinytjan, Вы писали:
T>Здравствуйте, 8bit, Вы писали:
8>>Мы говорим только про распознавание уже выделенного символа?
T>Сейчас -- да, есть у меня где-то инфа на тему выделения отдельных символов, но надо найти, куда я ее пару лет назад засунул... T>Насколько помню -- идет анализ частотного спектра картинки по цветам. По горизонтали и вертикали.
да, есть, что такое...
8>>т.е. не в реальных условиях, когда подается изображение с камеры, происходит поиск области 8>>где нужно провести распознавание, разбивка символов, и собственно распознавание? 8>>причем в любое время суток, погодных условий и т.д. (хотя если только распознавание то остальное 8>>конечно не Ваша забота)
T>Хех, это аппаратно-программная система, такую уж точно свободно и задешево не достанешь.
угу
8>>Вы тестировали на том же наборе на котором обучали?
T>Нет, T>1 на всей выборке я б замучился, T>2 грамотно выбранная выборка результатов не ухудшает
T>Я старался выбрать символы, которые при хорошем качестве отражают все проблемы.
Понятно.
8>>>>Какое качество входных данных?
T>>> Опять не понимаю. Заляпанные грязью, чистые, выгоревшие, есть даже такие, где визуально сложно догадаться, что за символ. Ну, правда, нормальные тоже есть. T>>>Каждый символ имеет несколько вариантов написания.
8>>А подскажите еще размер? например 7x9 пикселей или чуть больше сможет ?
T>Хех, 60х40, что-то вроде того. А вообще не помню. T>Или 30х20.
большие однако, с ними проблем должно быть намного меньше, вот только в практике нет такого (распознавание номеров)
8>>Вообще было бы интересно взглянуть на все это дело
T>Посмотрим, что можно с этим сделать...
Здравствуйте, Graf Alex, Вы писали:
GA>Здравствуйте, Risk Server, Вы писали:
RS>>Почтальоны одно время нейронные сети использовали, чтобы распознавать цифры в индексе. GA>Сорри за офтоп, но если имеются в виду советские почтовые индексы, то там было все проще: GA>любая цифра индекса могла быть распознана всего по 4 палочкам: верхняя, средняя горизонтальная и 2 правых вертикальных... (Остальные для красоты написания были использованы). GA>т.о. 4 бита на символ индекса проанализировать надо было. GA>Месторасположение индекса у всех конвертов/открыток стандартное, так что обычной оптикой (в смысле 4 фотодиодами на символ) можно было обойтись..
Охотно верю. Я про американских почтальонов писал. На американских конвертах нету специального бланка для выведения цифирей индекса по точечкам. Американцы могут индекс от руки написать в любом месте и как им взбредёт в голову
GA>ЗЫ за достоверность не ручаюсь — читал где то...
Тоже самое. Сам не видел, препод в универе рассказал