Программа номерок: Программа распознавания автономеров НомерОК

Содержание

AvtoNomerok

Рекомендуем

$784.00

$1411.20

$672.00

$1209.60

$504.00

$560.00

OOO «ТОРУС»

На сегодняшний день системы видеонаблюдения являются одним из основных инструментов контроля и мониторинга ситуации на охраняемых объектах, как показывает практика, являются самыми эффективными.

С целью усовершенствования систем видеонаблюдения, на рынке появился новый продукт — инсталяционный комплект «НОМЕРОК», предназначенный для установки на компьютер с целью фиксации посещающих объект автомобилей и автоматизации контрольно-пропускного пункта.

Инсталяционный комплект «НОМЕРОК» отлично работает с видеорегистраторами, платами видео захвата и IP камерами, таким образом, является универсальным и может служить полезным дополнением к большинству систем для видеонаблюдения.

Использование «НОМЕРОК» совместно с платами видео захвата «ЛИНИЯ» или «ЛИНИЯ IP» имеет ряд весомых преимуществ:

1. Усовершенствование системы — «НОМЕРОК» можно установить на работающую систему видеонаблюдения «ЛИНИЯ».

2. «НОМЕРОК» может устанавливаться и работать как на том же компьютере, что и «

ЛИНИЯ», так и удаленно по локальной сети или сети Интернет.

3. Возможность использования для распознавания номеров любой из камер, подключенных к системе «ЛИНИЯ» (как аналоговых, так и IP).

4. Использование «ЛИНИЯ» совместно с «НОМЕРОК» подразумевает постоянное наличие видеоархива и других преимуществ системы видеонаблюдения.

5. При поиске в «НОМЕРОК» распознанного номера автомобиля, можно увидеть не только фотографию этого автомобиля, но и просмотреть видеоархив.

6. Возможность просмотра видеоархива, привязанного к событию.

 

Качество работы системы во многом зависит от монтажа, настройки и параметров видеокамеры, с которой производится захват видеоизображения.

Углы наклона по отношению к плоскости номерного знака не должны превышать:

Программа распознавания автономеров НомерОК

Распознавание автомобильных номеров «НомерОК»


По вопросам покупки и технической поддержки обращайтесь:

+7 495 668-64-54

Торговый дом «Торус» – ведущий производитель на российском рынке, выпускающий системы безопасности и видеонаблюдения. Программно-аппаратные комплексы и оборудование, производимые фирмой, позволяют решать широчайший спектр задач в области, где системы безопасности и автоматизированные системы управления играют большую роль.

О продукте

Программа распознавания автономеров «НомерОК» производит захват видеопотока и сохраняет события с записью номера, времени и кадра с номером. В системе предусмотрена возможность внесения распознанных номеров в «белый» и «черный» списки, а также добавления комментария к номеру. Кроме того, разработчик предоставляет возможность настройки до трех зон распознавания и тонкой подстройки алгоритма. В том числе, параметры настроек можно выставить по умолчанию. «НомерОК» распознает автомобильные номера ГОСТ Р 50577-93 при рекомендованной скорости передвижения транспортных средств не более 40 км/ч. Размер номера в кадре должен составлять не менее 80 пикселей по горизонтали с условием, что номер на стоп-кадре распознается невооруженным глазом.

C программой «НомерОк» поиск по результатам распознавания можно вести по следующим параметрам:

Программа распознавания автомобильных номеров работает:

  • на операционных системах: Windows XP/7/Vista/2003 Server/2008 Server,
  • с одним или двумя каналами IP-видеокамер разных производителей,
  • от системы видеонаблюдения и, соответственно, от любой аналоговой или IP-видеокамеры, поддерживаемой данной системой.

Преимущества использования программы распознавания номерных знаков «НомерОК» с системой видеонаблюдения «Линия»

1. Программа «НомерОК» может быть добавлена в работу системы видеонаблюдения «Линия» на любой стадии.

2. Программа «НомерОК» может осуществлять работу по локальной сети или через Интернет.

3. Использование программы «НомерОК» совместно с ПО «Линия» обеспечивает постоянное ведение видеоархива и даёт доступ к остальным функциям системы видеонаблюдения.

4. При поиске номерного знака автомобиля можно увидеть не только фотографию соответствующего транспортного средства, но и просмотреть материалы видеоархива.

Внимание! Временно не поддерживается совместная работа с видеосерверами «Линия» на Linux, «Линия MicroNVR», «Линия XVR» и «Линия NVR»

Телефон технической поддержки +7 495 668-64-54 в рабочие дни с 10 до 19 часов по московскому времени. skype — edikbi, e-mail: [email protected]

НомерОК — программа для распознавания автомобильных номеров. Мануал

На сегодняшний день системы видеонаблюдения являются одним из основных инструментов контроля и мониторинга ситуации на охраняемых объектах, как показывает практика, являются самыми эффективными.

С целью усовершенствования систем видеонаблюдения, на рынке появился новый продукт — инсталяционный комплект «НОМЕРОК», предназначенный для установки на компьютер с целью фиксации посещающих объект автомобилей и автоматизации контрольно-пропускного пункта.

Инсталяционный комплект «НОМЕРОК» отлично работает с видеорегистраторами, платами видео захвата и IP камерами, таким образом, является универсальным и может служить полезным дополнением к большинству систем для видеонаблюдения.

Программа распознавания автономеров «НомерОК» производит захват видеопотока и сохраняет события с записью номера, времени и кадра с номером.

В системе предусмотрена возможность внесения распознанных номеров в «белый» и «черный» списки, а также добавления комментария к номеру.

Кроме того, разработчик предоставляет возможность настройки до трех зон распознавания и тонкой подстройки алгоритма. В том числе, параметры настроек можно выставить по умолчанию. «НомерОК» распознает автомобильные номера ГОСТ Р 50577-93 при рекомендованной скорости передвижения транспортных средств не более 40 км/ч.

Размер номера в кадре должен составлять не менее 80 пикселей по горизонтали с условием, что номер на стоп-кадре распознается невооруженным глазом.

C программой «НомерОк» поиск по результатам распознавания можно вести по следующим параметрам:

по зоне распознавания,
промежутку времени,
принадлежности к списку,
комментарию.

Результаты поиска можно экспортировать в csv-формат.

Программа распознавания автомобильных номеров работает:

на операционных системах: Windows XP/7/Vista/2003 Server/2008 Server,
с одним или двумя каналами IP-видеокамер разных производителей,
от системы видеонаблюдения и, соответственно, от любой аналоговой или IP-видеокамеры, поддерживаемой данной системой.

Инструкцию по работе с программой можно посмотреть ниже в листающемся PDF файле. Если она не отображается, перезагрузите страницу.

Instruktsiya_Nomerok_v_2_0

Вопросы и ответы

Поддерживает ли ПО НомерОК motion JPEG?

Номерок поддерживает только H.264 и MPEG

Сохраняются результаты распознавания после перезапуска программы на экране?

— ДА, но если вы закрывали программу, при перезапуске предыдущие распознанные номерные знаки не отображаются на экране. Вы можете найти их в базе данных распознанных номеров с помощью поиска.

Сколько каналов распознавания на одном компьютере?

— 2 канала — ПО «НомерОк 2», 1 канал — ПО «Номерок 1». На одном компьютере 1 програмное обеспечение для распознавания 

Ключ привязан к программе или к компьютеру?

Нет

Программа привязана к ключу?

После установки программа привязана к ключу 

Ключ одноразовый?

С одним ключом одновременно может работать одна копия программы. Программу можно переустанавливать и устанавливать на различные компьютеры – ключ ни к чему не привязывается. 

Программа хранит видео?

Да. В новом релизе есть функция воспроизведения видеоархива системы «ЛИНИЯ», привязанного к событию распознавания

Подвержена ли программа вирусам. Что делать – если это произойдет?

Флешка с инсталятором к покупателю поступает защищенной от записи. Если хочет – он или снимет защиту, или отформатирует ее. Будет возможность скачать инсталятор при предоставлении номера своего ключа. 

В случае выхода со строя носителя (флешки) по механическим причинам – какие гарантийные обязательства производителя и куда обращаться?

Гарантия на механические повреждения не распространяется. 

На какие версии операционной системы ставится сей продукт?

Windows

XP/7/8,Vista,2003 Server,2008 Server

По слухам – Номерок «виндовозный»?

ДА

С какими камерами, регистраторами и т.п. работает?

— Работает с IP-камерами, видеорегистраторами и платами видеозахвата которые передают видео по протоколу RTSP (“ЛИНИЯ”, ”Dahua”“ATIS”“MICRODIGITAL” и много других). Список поддерживаемого оборудования в разделе «Где скачать».

Будет ли работать ночью?

— ДА. Работа приложения не привязана ко времени суток. Качество распознавания ночью будет зависеть от качества видеокамеры ( ночью?) и качества видео. Если на видео человеческий глаз может понять, что написано, то программа распознает. 

Сетевые клиенты, или работа по сети?

Нет. Приложение работает локально. Есть приложения, позволяющие удаленно смотреть за рабочим столом и соответственно за работой программы. Можно, если Номерок установлен в точке А и в точке Б  

Обновить можно будет платно, бесплатно или со скидкой?

Обновление существующего функционала с исправлением багов будет бесплатно, но, если выйдет «брат» Номерка, который, к примеру, будет распознавать лица, — то это будет уже другой продукт и, соответственно, его нужно будет покупать, как отдельный продукт.

Как обновить, если уже купил, но вышло обновление?

Процедура обновления появится на сайте вместе с обновлением. 

Можно ли надеяться, что при очередной смене формы гос. рег. знаков (пережил в жизни уже четыре замены)– я получу обновление без доплаты, по льготному тарифу?

Обновления такого плана планируются за фиксированную доплату для пользователей, которые приобрели номерОК ранее. 

Будут ли распознаваться несколько номеров в кадре?

Да, если они соответствуют требованиям

Сохраняются ли фотографии номеров, которые не распознаны?

Сохраняются фото номеров, в которых программа, скорее всего, ошиблась. Именные номера с высокой вероятностью будут проигнорированы.

Если дорога неровная (выбоины или брусчатка) не происходит ли «размазывание» номера и его не читаемость?

Если номер распознаётся глазами человека на стоп кадре с номером, то программа его распознает.

Какая максимальная скорость, при которой происходит считывание номера?

Рекомендованная скорость движения автомобиля не должна превышать 40 км/ч. Но если на стоп кадре с номером человеческими глазами можно прочитать номер, то программа распознает его. 

Как определяется номер в темное время суток и определяется ли? Надо ли дополнительная подсветка?

— Номер определится, если на стопкадре Вы его прочтете. Это зависит от камеры. Если она передаёт хорошее качество видео в тёмное время суток и на стоп кадре номер может распознаваться глазами человека, то программа распознает его. 

Насколько четко может считываться номер, если он закрыт прозрачными накладками? (есть такие для понтов или затруднения считывания)

На распознавание накладывается ограничение, что номер должен распознаваться глазами человека. 

При засветке фарами номер тоже определяется?

Если номер распознаётся глазами человека на стоп кадре с номером, то программа его распознает.

Распознает ли «Номерок» черные, военной регистрации номера? Ведь стандарт — и это тоже ГОС  номер.

Нет. В данной версии распознаются украинские однострочные. Тип 1 по ДСТУ 4278:2006 и тип 1 по ДСТУ 3650-97 (это около 90% украинских номерных знаков)  

На какой скорости авто может быть определен номер?

Рекомендуемая скорость движения автомобиля до 40 км\ч, при определенных настройках камеры и программы номера с некоторой вероятностью будут распознаваться и на скоростях выше, при условии, что они распознаются человеческим глазом на стоп-кадре.

Какую часть должен занимать номер на изображении и под каким вертикальным/горизонтальным углом ?

Рекомендуемый горизонтальный размер номера должен быть не менее 80 пикселей. Угол отклонения от горизонтали вверх-вниз не должен превышать 10 градусов (рекомендовано 5 градусов), угол отклонения от горизонтали вперёд-назад 30 градусов.

Если попадает номер государства еврозоны, то он тоже распознается? А американский (хотя этот вряд-ли появится у нас)…

— Нет. В данной версии распознаются Украинские однострочные. Тип 1 по ДСТУ 4278:2006 и тип 1 по ДСТУ 3650-97 (это около 90% украинских номеров)  и Российские — ГОСТ Р 50577-93

Какие номера автомобилей он распознает. У меня гос. номер – ЦАРЬ, будет ли он распознан?

Ваш номер не будет распознан. 

Как выглядят номера, которые распознаёт программа? Можно их фотки?

Распознаются:

Какие форматы номеров определяются?

В данной версии: украинские однострочные тип 1 по ДСТУ 4278:2006 и тип 1 по ДСТУ 3650-97 

Поддерживает ли ПО НомерОК motion JPEG?

Номерок поддерживает только H.264 и MPEG

Сохраняются результаты on — line распознавания после перезапуска программы на экране?

Нет, если вы закрывали программу, при перезапуске предыдущие распознанные номерные знаки не отображаются на экране. Вы можете найти их в базе данных распознанных номеров.

Сколько каналов распознавания на одном компьютере?

На одном компьютере 1 канал распознавания 

Ключ привязан к программе или к компьютеру?

Нет

Программа привязана к ключу?

После установки программа привязана к ключу 

Ключ одноразовый?

С одним ключом одновременно может работать одна копия программы. Программу можно переустанавливать и устанавливать на различные компьютеры – ключ ни к чему не привязывается. 

Программа хранит видео?

Нет

Подвержена ли программа вирусам. Что делать – если это произойдет?

Флешка с инсталятором к покупателю поступает защищенной от записи. Если хочет – он или снимет защиту, или отформатирует ее. Будет возможность скачать инсталятор при предоставлении номера своего ключа. 

В случае выхода со строя носителя (флешки) по механическим причинам – какие гарантийные обязательства производителя и куда обращаться?

Гарантия на механические повреждения не распространяется. 

На какие версии операционной системы ставится сей продукт?

Windows XP/7,Vista,2003 Server,2008 Server

По слухам – Номерок «виндовозный»?

ДА

С какими камерами, регистраторами и т.п. работает?

— Работает с IP-камерами, видеорегистраторами и платами видеозахвата которые передают видео по протоколу RTSP.

Будет ли работать ночью?

Работа приложения не привязана ко времени суток. Качество распознавания ночью будет зависеть от качества видеокамеры ( ночью?) и качества видео. Если на видео человеческий глаз может понять, что написано, то программа распознает. 

Сетевые клиенты, или работа по сети?

Нет. Приложение работает локально. Есть приложения, позволяющие удаленно смотреть за рабочим столом и соответственно за работой программы. Можно, если Номерок установлен в точке А и в точке Б  

Обновить можно будет платно, бесплатно или со скидкой?

Обновление существующего функционала с исправлением багов будет бесплатно, но, если выйдет «брат» Номерка, который, к примеру, будет распознавать лица, — то это будет уже другой продукт и, соответственно, его нужно будет покупать, как отдельный продукт.

Как обновить, если уже купил, но вышло обновление?

Процедура обновления появится на сайте вместе с обновлением. 

Можно ли надеяться, что при очередной смене формы гос. рег. знаков (пережил в жизни уже четыре замены)– я получу обновление без доплаты, по льготному тарифу?

Обновления такого плана планируются за фиксированную доплату для пользователей, которые приобрели номерОК ранее. 

Будут ли распознаваться несколько номеров в кадре?

Да, если они соответствуют требованиям

Есть ли поиск по ошибочным номерам?

Есть функция поиска по номерам, в которых программа сомневается.

Сохраняются ли фотографии номеров, которые не распознаны?

Сохраняются фото номеров, в которых программа, скорее всего, ошиблась. Именные номера с высокой вероятностью будут проигнорированы.

Если дорога неровная (выбоины или брусчатка) не происходит ли «размазывание» номера и его не читаемость?

Если номер распознаётся глазами человека на стоп кадре с номером, то программа его распознает.

Какая максимальная скорость, при которой происходит считывание номера?

Рекомендованная скорость движения автомобиля не должна превышать 40 км/ч. Но если на стоп кадре с номером человеческими глазами можно прочитать номер, то программа распознает его. 

Как определяется номер в темное время суток и определяется ли? Надо ли дополнительная подсветка?

Это зависит от камеры. Если она передаёт хорошее качество видео в тёмное время суток и на стоп кадре номер может распознаваться глазами человека, то программа распознает его. 

Насколько четко может считываться номер, если он закрыт прозрачными накладками? (есть такие для понтов или затруднения считывания)

На распознавание накладывается ограничение, что номер должен распознаваться глазами человека. 

При засветке фарами номер тоже определяется?

Если номер распознаётся глазами человека на стоп кадре с номером, то программа его распознает.

Распознает ли «Номерок» черные, военной регистрации номера? Ведь стандарт — и это тоже ГОС номер.

Нет. В данной версии распознаются украинские однострочные. Тип 1 по ДСТУ 4278:2006 и тип 1 по ДСТУ 3650-97 (это около 90% украинских номерных знаков)  

На какой скорости авто может быть определен номер?

Рекомендуемая скорость движения автомобиля до 40 км\ч, при определенных настройках камеры и программы номера с некоторой вероятностью будут распознаваться и на скоростях выше, при условии, что они распознаются человеческим глазом на стоп-кадре.

Какую часть должен занимать номер на изображении и под каким вертикальным/горизонтальным углом ?

Рекомендуемый горизонтальный размер номера должен быть не менее 80 пикселей. Угол отклонения от горизонтали вверх-вниз не должен превышать 10 градусов, угол отклонения от горизонтали вперёд-назад 30 градусов.

Если попадает номер государства еврозоны, то он тоже распознается? А американский (хотя этот вряд-ли появится у нас)…

Нет. В данной версии распознаются украинские однострочные. Тип 1 по ДСТУ 4278:2006 и тип 1 по ДСТУ 3650-97 (это около 90% украинских номеров)  

Какие номера автомобилей он распознает. У меня гос. номер – ЦАРЬ, будет ли он распознан?

Ваш номер не будет распознан. 

Как выглядят номера, которые распознаёт программа? Можно их фотки?

Распознаются

Какие форматы номеров определяются?

В данной версии: украинские однострочные тип 1 по ДСТУ 4278:2006 и тип 1 по ДСТУ 3650-97 

ПРОДУКТЫ

На сегодняшний день системы видеонаблюдения являются одним из основных инструментов контроля и мониторинга ситуации на охраняемых объектах, как показывает практика, являются самыми эффективными.

С целью усовершенствования систем видеонаблюдения, на рынке появился новый продукт — инсталяционный комплект «НОМЕРОК», предназначенный для установки на компьютер с целью фиксации посещающих объект автомобилей и автоматизации контрольно-пропускного пункта.

Инсталяционный комплект «НОМЕРОК» отлично работает с видеорегистраторами, платами видео захвата и IP камерами, таким образом, является универсальным и может служить полезным дополнением к большинству систем для видеонаблюдения.

Использование «НОМЕРОК» совместно с платами видео захвата «ЛИНИЯ» или «ЛИНИЯ IP» имеет ряд весомых преимуществ:

1. Усовершенствование системы — «НОМЕРОК» можно установить на работающую систему видеонаблюдения «ЛИНИЯ».

2. «НОМЕРОК» может устанавливаться и работать как на том же компьютере, что и «ЛИНИЯ», так и удаленно по локальной сети или сети Интернет.

3. Возможность использования для распознавания номеров любой из камер, подключенных к системе «ЛИНИЯ» (как аналоговых, так и IP).

4. Использование «ЛИНИЯ» совместно с «НОМЕРОК» подразумевает постоянное наличие видеоархива и других преимуществ системы видеонаблюдения.

5. При поиске в «НОМЕРОК» распознанного номера автомобиля, можно увидеть не только фотографию этого автомобиля, но и просмотреть видеоархив.

6. Возможность просмотра видеоархива, привязанного к событию.

 

Качество работы системы во многом зависит от монтажа, настройки и параметров видеокамеры, с которой производится захват видеоизображения.

Углы наклона по отношению к плоскости номерного знака не должны превышать:

 

SW NumberOk Lite 1 UA / SW NumberOk Lite 1 RU

SW NumberOk Lite 1 UA / SW NumberOk Lite 1 RU — программа для распознавания автомобильных номерных знаков с функцией отправки результатов детекции во внешние приложения.

Версия SW NumberOk Lite 1 UA / SW NumberOk Lite 1 RU – это базовая версия ПО — рассчитана на 1 канал и 4 зоны распознавания (подключается одна видеокамера).

ПРИНЦИП РАБОТЫ NumberOk Lite:

При фиксации автомобильного номера в видеопотоке, программа NumberOk сохраняет скриншот транспортного средства и делает запись в базу данных о событии (дата/время) с результатами распознавания.

Версия программного обеспечения Lite включает модуль распознавания автомобильных номеров и предполагает возможность последующей интеграции с системами контроля доступа, 1С, весовыми и/или другими приложениями. NumberOk легко интегрируется с другими приложениями, используя базу данных бесплатного формата (FireBird). Также возможно получать данные с ПО NumberOk в режиме реального времени

СТРАНЫ, номерные знаки которых распознаются программой NumberOk Lite:

Украина, Беларусь, Молдавия, СНГ, Евро Союз, Турция, Израиль

ФОРМАТ ПОСТАВКИ ПО:

установочный файл с необходимыми драйверами
лицензионный ключ
Для активации ПО, на рабочем сервере, на котором в дальнейшем будет работать программа NumberOk, должно быть разовое подключение к сети Интернет при установке.

Минимальные требования к серверу:

процессор — Intel Core i3 4330
видеокарта (интегрированная) — OpenGL 2.0
оперативная память — DDR 4Gb
жесткий диск — HDD 500Gb
ОС — Windows XP/7/8/10, server 8 (32/64 bit)

ПРЕИМУЩЕСТВА ПО NumberOk

• совместимо с любой версией ОС Windows
• высокое качество распознавания – до 95%
• работа с любыми IP-камерами и аналоговыми системами видеонаблюдения, поддерживающими передачу RTSP-потока
• распознавание номера при скорости автомобиля до 250 км/час (в зависимости от используемой видеокамеры)
• фиксирует распознанные номер, сохраняет скриншотов базу

 

 


События в базе данных: дата и время, распознанный номер, скриншот номера и тд.
 

Распознавание автомобильных номеров в деталях / Блог компании Recognitor / Хабр


Настало время подробно рассказать, как работает наша реализация алгоритма распознавания номеров: что оказалось удачным решением, что работало весьма скверно. И просто отчитаться перед Хабра-пользователями — ведь вы с помощью Android приложения Recognitor помогли нам набрать приличного размера базу снимков номеров, снятых совершенно непредвзято, без объяснения как снимать, а как нет. А база снимков при разработке алгоритмов распознавания самое важное!
Что получилось с Android приложением Recognitor

Было очень приятно, что пользователи Хабра взялись качать приложение, пробовать его и отправлять нам номера.


Скачиваний программы и оценки

С момента выкладывания приложения на сервер пришло 3800 снимков номеров от мобильного приложения.
А еще больше нас порадовала ссылка http://212.116.121.70:10000/uploadimage — нам за 2 дня отправили около 8 тысяч полноразмерных снимков автомобильных номеров (преимущественно вологодских)! Сервер почти лежал.

Теперь у нас на руках база в 12 000 снимков фотографий — впереди гигантская работа по отладке алгоритмов. Все самое интересное только начинается!

Напомню, что в приложении Android предварительно выделялся номер. В этой статье я не буду подробно останавливаться на этом этапе. В нашем случае — каскадный детектор Хаара. Этот детектор не всегда срабатывает, если номер в кадре сильно повернут. Анализ того, как работает нами обученный каскадный детектор, когда не работает, оставлю на следующие статьи. Это ведь действительно очень интересно. Кажется, что это черный ящик — вот обучили детектор и больше ничего не сделать. На самом деле это не так.

Но все-таки каскадный детектор — неплохой вариант в случае ограниченных вычислительных ресурсов. Если автомобильный номер грязный или рамка плохо видна, то Хаар тоже неплохо себя проявляет относительно других методов.

Распознавание номера

Здесь рассказ про распознавание текста в картинках такого вида:


Общие подходы про распознавании были описаны в первой статье.

Изначально мы ставили перед собой задачу распознавания грязных, частично стертых и здорово искаженных перспективой номеров.
Во-первых, это интересно, а во-вторых, казалось, что тогда чистые будут срабатывать вообще в 100% случаях. Обычно, конечно, так и происходит. Но тут не сложилось. Оказалось, что если по грязным номерам вероятность успеха была 88%, то по чистым, например, 90%. Хотя на деле вероятность распознавания от фотографии на мобильном приложении до успешного ответа, конечно, оказалось еще хуже указанной цифры. Чуть меньше 50% от приходящих изображений (чтобы люди не пытались фотографировать). Т.е. в среднем дважды нужно было сфотографировать номер, чтобы распознать его успешно. Хотя во многом такой низкий процент связан с тем, что многие пытались снимать номера с экрана монитора, а не в реальной обстановке.

Весь алгоритм строился для грязных номеров. Но вот оказалось, что сейчас летом в Москве 9 из 10 номеров идеально чистые. А значит лучше изменить стратегию и сделать два раздельных алгоритма. Если удалось быстро и надежно распознать чистый номер, то этот результат и отправим пользователю, а если не удалось, то тратим еще немного времени процессора и запускаем второй алгоритм для грязных номеров.

Простой алгоритм распознавания номеров, который стоило бы реализовать сразу

Как же распознать хороший и чистый номер? Это совсем не сложно.

Предъявим следующие требования к такому алгоритму:

1) некоторая устойчивость к поворотам (± 10 градусов)
2) устойчивость к незначительному изменению масштаба (20%)
3) отрезание каких-либо границ номера границей кадра или просто плохо выраженные границы не должны рушить все (это принципиально важно, т.к. в случае грязных номеров приходится опираться на границу номера; если номер чистый, то ничего лучше цифр/букв не характеризует номер).

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

Бинаризуем кадр

Здесь стоит еще пройтись фильтром средних частот и нормализовать изображение.

На изображении приведен изначально малоконтрастный кадр для наглядности.

Затем бинаризовать по фиксированному порогу (можно порог фиксировать, т. к. изображение было нормализовано).

Гипотезы по повороту кадра

Предположим несколько возможных углов поворотов изображения. Например, +10, 0, -10 градусов:

В дальнейшем метод будет иметь небольшую устойчивость к углу поворота цифр и букв, поэтому выбран такой достаточно большой шаг по углу — 10 градусов.
С каждым кадром в дальнейшем будем работать независимо. Какая гипотеза по повороту даст лучший результат, та и победит.

А затем собрать все связанные области. Тут использовалась стандартная функция findContours из OpenCV. Если связанная область (контур) имеет высоту в пикселях от h2 до h3 а ширина и высота связана отношением от K1 до K2, то оставляем в кадре и отмечаем, что в этой области может быть знак. Почти наверняка на этом этапе останутся лишь цифры и буквы, остальной мусор из кадра уйдет. Возьмем ограничивающие контуры прямоугольники, приведем их к одному масштабу и дальше поработаем с каждой буквой/цифрой отдельно.

Вот какие ограничивающие прямоугольники контуров удовлетворили нашим требованиям:

Буквы/цифры

Качество снимка хорошее, все буквы и цифры отлично разделимы, иначе мы до этого шага не дошли бы.
Масштабируем все знаки к одному размеру, например, 20х30 пикселей. Вот они:

Кстати, OpenCV при выполнении Resize (при приведении к размеру 20х30) бинаризованное изображение превратит в градиентаное, за счет интерполяции. Придется повторить бинаризацию.

И теперь самый простой способ сравнить с известными изображениями знаков — использовать XOR (нормализованная дистанция Хэмминга). Например так:

Distance = 1.0 — |Sample XOR Image|/|Sample|

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

Буква-цифра-цифра-цифра-буква-буква

Да, мы ищем автомобильные знаки РФ именно в таком формате. Тут нужно учесть, что цифра 0 и буква «о» вообще не отличимы друг от друга, цифра 8 и буква «в». Выстроим все знаки слева направо и будем брать по 6 знаков.
Критерий раз — буква-цифра-цифра-цифра-буква-буква (не забываем про 0/о, 8/в)
Критерий два — отклонение нижней границы 6 знаков от линии

Суммарные очки за гипотезу — сумма дистанций Хэмминга всех 6 знаков. Чем больше, тем лучше.

Итак, если суммарные очки меньше порога, то считаем, что мы нашли 6 знаков номера (без региона). Если больше порога, то идем к алгоритму устойчивому к грязным номерам.

Тут еще стоит рассмотреть отдельно буквы «Н» и «М». Для этого нужно сделать отдельный классификатор, например, по гистограмме градиентов.

Регион

Следующие два или три знака над линей, проведенной по низу 6 уже найденных знаков, — регион. Если третья цифра существует, и ее похожесть больше пороговой, то регион состоит из трех цифр. Иначе из двух.

Однако, распознавание региона часто происходит не так гладко, как хотелось бы. Цифры в регионы меньше, могут удачно не разделиться. Поэтому регион лучше узнавать способом более устойчивым к грязи/шума/перекрытию, описанным далее.

Какие-то детали описания алгоритма не слишком подробно раскрыты. Отчасти из-за того, что сейчас сделан лишь макет этого алгоритма и предстоит еще протестировать и отладить его на тех тысячах изображений. Если номер хороший и чистый, то нужно за десятки миллисекунд распознать номер или ответить «не удалось» и перейти к более серьезному алгоритму.

Алгоритм устойчивый к грязным номерам

Понятно, что алгоритм, описанный выше совсем не работает, если знаки на номере слипаются из-за плохого качества изображения (грязи, плохого разрешения, неудачной тени или угла съемки).

Вот примеры номеров, когда первый алгоритм не смог ничего сделать:

А алгоритм, описанный далее, смог.

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

Ищем нижнюю границу номера

Самый простой и самый надежный этап в этом алгоритме. Перебираем несколько гипотез по углу поворота и строим для каждой гипотезы по повороту гистограмму яркости пикселей вдоль горизонтальных линий для нижней половины изображения:

Выберем максимум градиента и так определим угол наклона и по какому уровню отрезать номер снизу. Не забудем улучшить контраст и получим вот такое изображение:

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

Ищем верхнюю границу номера

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

Резкого перехода яркости в верхней части номера нет, а максимальный градиент и вовсе разрежет номер посередине.

Мы вышли из ситуации не очень тривиально: обучили на каждую цифру и каждую букву каскадный детектор Хаара, нашли все знаки на изображении, так определили верхнюю линию где резать:

Казалось бы, что тут и стоит остановиться — мы же нашли уже цифры и буквы! Но на деле, конечно, детектор Хаара может ошибаться, а у нас тут 7-8 знаков. Хороший пример цифры 4. Если верхняя граница номера сливается с цифрой 4, то совсем не сложно увидеть цифру 7. Что кстати и произошло в данном примере. Но с другой стороны, несмотря на ошибку в детектировании, верхняя граница найденных прямоугольников действительно совпадает с верхней границей автомобильного номера.

Найти боковые границы номера

Тоже ничего хитрого — абсолютно также, как и нижнюю. Единственное отличие, что часто яркость градиента первого или последнего знака в номере может превышать яркость градиента вертикальной границы номера, поэтому выбирается не максимум, а первый градиент, превышающий порог. Аналогично с нижней границей необходимо перебрать несколько гипотез по наклону, т. к. из-за перспективы перпендикулярность вертикальной и горизонтальной границы совсем не гарантирована.

Итак, вот хорошо обрезанный номер:


да! особенно приятно вставить кадр с отвратительным номером, который был успешно распознан.

Печалит лишь одно — к этому этапу от 5% до 15% номеров могут отрезаться неправильно. Например, так:

(кстати это кто-то нам отправил желтый номер такси, насколько я понял — формат не штатный)

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

Разделить строку на знаки

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

Единственное, что в дальнейшем стоит исследовать две гипотезы: символы начинаются сразу или один максимум гистограммы стоит пропустить. Это связано с тем, что на некоторых номерах отверстие под винт или головка винта автомобильного номера могут различаться, как отдельный знак, а могут быть и вовсе незаметны.

Распознавание символов

Изображение до сих пор не бинаризовано, будем использовать всю информацию, что есть.

Здесь печатные символы, значит подойдет взвешенная ковариация для сравнения изображений с примером:

Образцы для сравнения и веса при ковариации:

Конечно, нельзя просто сравнить область, выделенную с помощью горизонтальной гистограммы, с образцами. Приходится делать несколько гипотез по смещению и по масштабу.
Количество гипотез по положению по оси X = 4
Количество гипотез по положению по оси Y = 4
Количество гипотез по масштабу = 3

Таким образом, для каждой области при сравнении с одним знаком необходимо рассчитать 4х4х3 ковариации.

Первым делом найдем 3 большие цифры. Это 3 х 10 х 4 х 4 х 3 = 1440 сравнений.

Затем слева одну букву и справа еще две. Букв для сравнения 12. Тогда количество сравнений 3x12x4x4x3 = 1728

Когда у нас есть 6 символов, то все справа от них — регион.

В регионе могут быть 2 цифры или 3 цифры — это нужно учесть. Разбивать регион гистограммным способом уже бессмысленно из-за того, что качество изображения может быть слишком низкое. Поэтому просто поочередно находим цифры слева направо. Начинаем с левого верхнего угла, необходимо несколько гипотез по оси X, оси Y и масштабу. Находим наилучшее совпадение. Смещаемся на заданную величину вправо, снова ищем. Третий символ будем искать слева от первого и справа от второго, если мера похожести третьего символа больше пороговой, то нам повезло — номер региона состоит из трех цифр.

Выводы

Практика применения алгоритма (второго описанного в статье) в очередной раз подтвердила прописную истину при решении задач распознавания: нужна действительно презентативная база при создании алгоритмов. Мы нацеливались на грязные и потертые номера, т.к. тестовая база снималась зимой. И действительно часто довольно плохие номера удавалось узнавать, но чистых номеров в обучающей выборке почти не было.

Вскрылась и другая сторона медали: мало что так раздражает пользователя, как ситуация, когда автоматическая система не решает совсем примитивную задачу. «Ну что тут может не читаться?!» А то, что автоматическая система не смогла узнать грязный или потертый номера, — это ожидаемо.

Откровенно говоря, это наш первый опыт разработки системы распознавания для массового потребителя. И о таких «мелочах», как о пользователях, стоит учиться думать. Сейчас к нам присоединился специалист, разработавший аналогичную «Recognitor» программу под iOs. В UI у пользователя появилась возможность увидеть, что сейчас отправляется на сервер, выбрать какой из выделенных Хааром номеров нужный, есть возможность выделить необходимую область в уже «застывшем» кадре. И пользоваться этим уже удобнее. Автоматическое распознавание становится не дурацкой функцией, без которой нельзя ничего сделать, а просто помощником.

Продумывать систему, в которой автоматическое распознавание изображения будет гармонично и удобно пользователю, — оказалось задачей ничуть не проще, чем создавать эти алгоритмы распознавания.

И, конечно, надеюсь, что статья будет полезна.

Первая статья цикла — общий обзор технологий
Вторая статья — Наш сервер
Третья статья — Протокол обращения к нашему серверу

Исходники клиентской части с первичным выделением номера
Собранная прога, распознающая номера

номер программы — это … Что такое номер программы?

  • Информация о программе — (PSI) — это метаданные, часть транспортного потока MPEG. Данные PSI содержат четыре таблицы: PAT (таблица ассоциации программ), CAT (таблица условного доступа), PMT (таблица карты программ) и NIT (Таблица сетевой информации). Эта последняя таблица обычно не используется… Wikipedia

  • Число зверя (комиксы) — Число зверя Обложка первого выпуска Информация о публикации Издатель Wildstorm… Википедия

  • Программа математики для молодых ученых — (PROMYS) — это шестинедельная программа по теории чисел, которая в настоящее время проводится под руководством профессора Гленна Стивенса в Бостонском университете, которая начинается в начале июля и заканчивается в середине августа.Программа открыта для старшеклассников, хотя студенты колледжей и… Wikipedia

  • Номер 96 (телесериал) — Номер 96 Заголовок из эпизода 1975 года выпуска Номер 96. Если разрешение скалы, которое последовало за этим кадром в начале эпизода, имело место в одной из квартир дома, то этот кадр здания, эта квартира увеличится, как…… Wikipedia

  • Number One — или номер один, сокращенно № 1, № 1 используется в различных значениях: Числовое * 1 (число) Музыка * # 1, альбом Фишерспунера * Konono N ° 1, музыкальная группа из Киншасы , Демократическая Республика Конго * No.1, альбом BoA * # 1,…… Википедия

  • номер — или [номер] н. [ME nombre & LT; OE и LT; L numerus: см. NOMY] 1. символ или слово, или их группа, показывающая, сколько или какое из них в серии: 1, 2, 10, 101 (один, два, десять, сто и один) называются количественными числами; 1-й, 2-й,…… Английский Мировой словарь

  • Данные, связанные с программой — (PAD) или Данные службы программы (PSD) — это концепция, связанная с радиовещанием, которая состоит из ряда различных полей или потоков, которые отображаются на многих спутниковых радиоприемниках HD Radio для описания программа передается,…… Wikipedia

  • Число, необходимое для вакцинации — (NNV) — это показатель, используемый при оценке вакцин [1] [2] [3] и при определении политики вакцинации.Это конкретное применение числа, необходимого для лечения метрики (NNT), которое включает последствия коллективного иммунитета. Чтобы…… Википедия

  • number-cruncher — обработка чисел, прил. / num beuhr krun cheuhr /, сущ. Неофициальный. человек или объект, выполняющий множество числовых вычислений, как финансовый аналитик, статистик, компьютер или компьютерная программа. Кроме того, вычислитель чисел. [1965 70] * * * число…… Полезный английский словарь

  • Число 1 — числа 1, # 1 или числа могут относиться к: # 1 (альбом Destiny s Child) # 1 (альбом Мэрайи Кэри) # 1 (видео), DVD Мэрайи Кэри # 1 … И Then Some, альбом Брукса Данна Реба №1, альбом Реба Макинтайр Стиви Уандер №1 (сериал)… Википедия

  • number-cruncher — обработка чисел, прил./ num beuhr krun cheuhr /, сущ. Неофициальный. человек или объект, выполняющий множество числовых вычислений, как финансовый аналитик, статистик, компьютер или компьютерная программа. Кроме того, вычислитель чисел. [1965 70] * * *… Универсал

  • .

    Сложение двух чисел в языке C

    Сложение двух чисел в языке C — это арифметическая операция их сложения и вывода их суммы на экран. Например, если на входе 5 и 6, на выходе будет 11.

    Дополнительная программа в C

    #include

    int main ()
    {
    int x, y, z;

    printf («Введите два числа, чтобы сложить \ n»);
    scanf («% d% d», & x, & y);

    г = х + у;

    printf («Сумма чисел =% d \ n», z);

    возврат 0;
    }

    Вывод программы:

    Скачать Программа добавления номеров.

    В выражении (z = x + y) может произойти переполнение, если сумма больше максимального значения, которое может хранить переменная z.

    Аналогично, мы можем написать программу, которая выполняет вычитание, умножение и деление двух чисел.

    Программа на C для сложения двух чисел

    #include

    int main ()
    {
    int a = 1, b = 2;

    / * Сохранение результата сложения в переменной a * /

    a = a + b;

    printf («Сумма a и b =% d \ n», a);

    возврат 0;
    }

    Делать это не рекомендуется, поскольку исходное значение переменной ‘a’ потеряно; если нам это понадобится дальше в программе, то у нас этого не будет.

    Программа C для повторного сложения двух чисел

    #include

    int main ()
    {
    int a, b, c;
    char ch;

    while (1) {
    printf («Введите два целых числа \ n»);
    scanf («% d% d», & a, & b);
    getchar ();

    с = а + б;

    printf («(% d) + (% d) = (% d) \ n», a, b, c);

    printf («Вы хотите добавить больше чисел (y / n) \ n»);
    scanf («% c», & ch);

    if (ch == ‘y’ || ch == ‘Y’)
    continue;
    иначе
    перерыв;
    }

    возврат 0;
    }

    Вывод программы:

    Введите два целых числа
    2 6
    (2) + (6) = (8)
    Вы хотите добавить больше чисел (да / нет)
    y
    Введите два целых числа
    2-6
    (2) + (-6 ) = (-4)
    Вы хотите добавить больше чисел (да / нет)
    y
    Введите два целых числа
    -5 3
    (-5) + (3) = (-2)
    Вы хотите добавить больше числа (да / нет)
    y
    Введите два целых числа
    -5-6
    (-5) + (-6) = (-11)
    Вы хотите добавить больше чисел (да / нет)
    n

    Программа на C для сложения двух чисел с помощью функции

    Мы можем вычислить сумму двух целых чисел с помощью функции.

    #include

    длинное сложение (длинное, длинное);

    int main ()
    {
    длинное первое, второе, сумма;

    scanf («% ld% ld», & первый, & второй);

    сумма = сложение (первое, второе);

    printf («% ld \ n», сумма);

    возврат 0;
    }

    длинное сложение (длинное a, длинное b)
    {
    длинный результат;

    результат = a + b;

    вернуть результат;
    }

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

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

    .

    R Программа для генерации случайных чисел из стандартных распределений

    В этом примере вы научитесь генерировать случайное число из стандартных распределений.

    Чтобы понять этот пример, вы должны знать следующие темы программирования R:


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

    Полный список доступных стандартных дистрибутивов можно увидеть, используя - дистрибутив .Функции, генерирующие случайные отклонения, начинаются с буквы r .

    Например, runif () генерирует случайные числа из равномерного распределения, а rnorm () генерирует из нормального распределения.


    Из единой дистрибуции

    Случайные числа из нормального распределения можно сгенерировать с помощью функции runif () .

    Нам нужно указать, сколько чисел мы хотим сгенерировать.

    Дополнительно мы можем указать диапазон равномерного распределения, используя аргумент max и min .

    Если не указан, диапазон по умолчанию составляет от 0 до 1 .


    Пример: равномерное распределение

     > runif (1) # генерирует 1 случайное число
    [1] 0,3984754
    > runif (3) # генерирует 3 случайных числа
    [1] 0,8090284 0,1797232 0,6803607
    > runif (3, min = 5, max = 10) # определяем диапазон от 5 до 10
    [1] 7,099781 8,355461 5,173133
      

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


    из нормального распределения

    Случайные числа из нормального распределения можно сгенерировать с помощью функции rnorm () .

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

    Мы также можем указать среднее значение и стандартное отклонение распределения.

    Если не указано, по умолчанию используется среднее значение 0 и стандартное отклонение 1 .


    Пример: нормальное распределение

     > rnorm (1) # генерирует 1 случайное число
    [1] 1.072712
    > rnorm (3) # генерирует 3 случайных числа
    [1] -1,1383656 0.2016713 -0,4602043
    > rnorm (3, mean = 10, sd = 2) # предоставляем собственное среднее и стандартное отклонение
    [1] 9,856933 9,024286 10,822507
      

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

    .

    Программа C ++ для проверки того, является ли число простым или нет

    Положительное целое число, которое делится только на 1 и само называется простым числом.

    Например: 13 — простое число, потому что оно делится только на 1 и 13, но 15 не является простым числом, потому что оно делится на 1, 3, 5 и 15.

    Примечание. 0 и 1 не являются простыми числами.


    Пример: Проверить простое число

      #include 
    используя пространство имен std;
    
    int main () {
        int i, n;
        bool isPrime = true;
    
        cout << "Введите положительное целое число:";
        cin >> n;
    
        // 0 и 1 не простые числа
        if (n == 0 || n == 1) {
            isPrime = false;
        }
        else {
            for (i = 2; i <= n / 2; ++ i) {
                if (n% i == 0) {
                    isPrime = false;
                    сломать;
                }
            }
        }
        если (isPrime)
            cout << n << "- простое число";
        еще
            cout << n << "не является простым числом";
    
        возврат 0;
    }
      

    Выход

      Введите положительное целое число: 29
    29 - простое число. 

    Эта программа принимает положительное целое число от пользователя и сохраняет его в переменной n .

    Также обратите внимание, что логическая переменная isPrime инициализируется значением true в начале программы.

    Поскольку 0 и 1 не являются простыми числами, мы сначала проверяем, является ли введенное число одним из этих чисел или нет. Если введенное число равно 0 или 1 , то значение isPrime устанавливается на false .

    Иначе, начальное значение isPrime остается неизменным, и выполняется цикл для , который проверяет, делится ли введенное пользователем число на i или нет.

    Цикл для запускается с начальным значением i , равным 2 , и увеличивает значение i на 1 с каждой итерацией.

    Если введенное пользователем число полностью делится на i , то для isPrime устанавливается значение false , и это число не будет простым числом.

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

    Итак, данное число - простое число.

    .

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *