РАСПОЗНАВАНИЕ НОМЕРНЫХ ЗНАКОВ – MILESTONE LPR, IPCONFIGURE, OPENALPR

Меня много раз спрашивали о распознавании номерных знаков и как получить читаемые номера при дневной/ночной съемке. В действительности, ответ противоречит здравому смыслу.
Я протестировал несколько вариантов – от бесплатных до самых дорогих .
Некоторым нужна лишь возможность прочитать номерной знак на видеозаписи, другим же важна возможность записать номер в виде текста с фотографией автомобиля, поэтому я протестировал оба способа.

License Plate Identification

Я начну с первого способа как более простого. Большинство камер позволяют увидеть номерной знак в свете дня настолько, насколько большой сам номерной знак. Рекомендации Axis по этому вопросу – буквы/цифры на знаке должны быть как минимум 15 пикселей в высоту. Вы всегда можете купить камеру с более высоким разрешением и линзой с зауженным полем обзора (телефото), чтобы достичь результата. Однако ночью возникают проблемы. Большинство имеют широкий красивый обзор, но когда они пытаются разглядеть номерной знак в темноте, то обычно все попытки заканчиваются провалом, поскольку свет фар или стоп-сигналов перекрывает номерной знак или светоотражатель делает это невозможным, поэтому на экране виден лишь пустой белый прямоугольник.

Причина кроется в том, что большинство камер настроен на широкий обзор. Ночью обозреваемая площадь затемнена. При появлении машины фарами освещается лишь небольшая часть изображения, а камер использует среднюю выдержку для определения экспозиции картинки. Это влечет «перебивание» светом фар камеры, которая не успевает перестроиться вовремя или может совсем не сработать по причине большого темного поля. Обычно все, что можно разглядеть – это 2 ярких точки фар и некоторые признаки номерного знака.

Большинство пользователей полагают, что для того, чтобы разглядеть номерную табличку, нужно иметь как можно больше мегапикселей и при этом имеют широкий угол обзора, однако это самое большое заблуждение – использовать многопиксельную камеру для обзора большой площади, но при этом не иметь возможности разглядеть номерной знак ночью. Для того, чтобы эффективно просматривать номерные знаки нужно иметь телеобъектив, настроенный на самую маленькую площадь обзора. Как правило, вам нужно попробовать поймать переднюю или заднюю часть машины примерно по ширине дороги или примерно на 8’ широты – чем уже, тем лучше. При появлении фар, которые заполнят пространство поля зрения и камера среагирует быстрее. Конечно, некоторые камеры реагируют быстрее, поэтому выбор камеры тоже очень важен.

Еще одно заблуждение заключается в том, что некоторые пытаются перебить свет фар используя широкий динамический диапазон (WDR) и компенсацию встречной засветки (BLC) – это срабатывает, но не в достаточной мере, при этом камера не всегда успевает за двигающейся машиной. Иногда данные функции создают неудобства, потому что могут создать дополнительные помехи и тусклое изображение движущихся предметов. А также различные камеры имеют различные WDR и BLC.

Еще одно заблуждение – частенько люди думают, что ИК подсветка на камере отражается на номерном знаке и поэтому он высвечивается как пустой. Это не верно, поскольку чем больше света, тем быстрее камера среагирует на на свет фар, потому что выдержка уже будет настроена нужным образом. Плюс установка выдержки на более темную помогает уловить светоотражение таблички.

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

Что вам необходимо, чтобы распознать номерные знаки как днем, так и ночью:

  • Предназначенную для этого камеру
  • Телеобъектив с углом обзора не более 6-8′ (как номерные знаки)
  • Достаточно освещения для: a) снижения шума b) более быстрой выдержки c) для перебивания яркого света фар или стоп-сигналов
  • Камеру со сверх отличной чувствительностью в условиях низкой освещенности
  • Вторую камеру для просматривания зоны
  • Разрешение выше 1MP (720P) не требуется. Если вам кажется, что нужно больше, значит зона обзора слишком большая.

Оборудование

Камера

Я провел много времени на выставках в общении с разработчиками различного программного обеспечения для распознавания номерных знаков (LPR) выясняя, какая камера подойдет для этой цели лучше всего. Я думал, что каждый разработчик имеет свою любимую камеру, но я ошибался. Все они предпочитают Axis Q1604 (не путать с Q1604-E). И вот почему. Рыночная стоимость камеры $869. Выкидываем линзу из комплекта, поскольку она всего лишь 2.8-8 мм, это слишком много для большинства.

Причина, почему большинство других цилиндрических и купольных камер не подходят заключается в том, что они слишком широкие для для распознавания номерных табличек, а угол обзора может оказаться слишком широким. Поэтому вам нужна камера с линзой для создания поля обзора 6-8′.
Наверно, существуют камеры других брендов, которые сработают так же хорошо, но когда нужна корпусная камера, вы можете использовать ее с телеобъективом. Если у кого-то есть положительный опыт с другими камерами – пожалуйста, отпишитесь.

Линза

Следующий шаг – линза, которая может быть настроена на то поле обзора, которое нужно. Я бы выбрал хорошую вариофокальую, которая имеет как минимум 15-50 мм на расстоянии до 60′. Мы использовали вот эту one. от Axis/Fujinon. Мы достигли рабочей границы 50 мм, так что не экономьте на линзе. Если дальше, чем 50-60′, рассмотрите следующий вариант линзы с рабочим расстоянием до 80 мм.

Крепление

Следующее, что понадобится – это крепеж для наружного использования, поскольку корпусные камеры не водостойкие. Несмотря на то, что Q1604-E имеет в комплекте наружный крепеж, он не подойдет для варифокального телеобъектива. Axis выпускает отличные крепежи, например, Axis T92A10  , кому-то он может показаться дороговат — около $300, но при этом он отлично выполнен и легко устанавливается.

Освещение

Создайте как можно больше света. Мы используем Raytec RM100 с рассеивателем 30 градусов и имеем отличный результат. Эквивалент от Axis — T90A32 . честно говоря, Q1604 работает достаточно хорошо и при минимальном освещении, так что я даже и понял, когда оставил дневной режим без ИК освещения, а номера при этом все равно читались. На изображениях были помехи, но номера все равно просматривались. Так что, чем больше света – тем лучше результат.
Просто для примера – вот как выглядит задний номерной знак ночью на снимке, сделанном неправильной камерой и недостаточном освещении. Купольная Mobotix D14 Dome с ночным датчиком 1.3MP B&W и 26W флуоресцентная лампа. Если бы не горели стоп-сигналы, мы, возможно, бы имели шанс рассмотреть номер. Да, камера напротив номерного знака может уловить знак, потому что больше света, но невозможно что-либо разобрать на нем.

Распознавание номерных табличек

Иногда требуется не только распознать номерной знак, но еще нужно привести его в читаемую или рабочую форму. Иногда нужно получить какую-то информацию о данном ТС. Она может быть бесценной, особенно там, где преступления случаются регулярно. Также можно создать список совпадений. Например, для распознавания номера, закрепленного за известным хулиганом, в данном случае камера известит вас или местное подразделение охраны о его появлении. Или же можно использовать эту функцию в гараже или у ворот, чтобы открыть их по совпадению номера.
Распознавание номерных табличек (LPR) используется все чаще и чаще. В Техасе платные автодороги используют эту технологию для отправки счетов. Но, какая бы ни была причина для использования LPR, я расскажу о своем опыте и о том, что работает, а что – нет. Надеюсь, это сэкономит немало времени для кого-то.

Прежде всего необходимо подходящее оборудование как я уже выше описал. Обманывая себя вы получите лишь фрустрацию. Мы попробовали купольную Mobotix и получили очень плохой результат (см.выше). Потому что Mobotix рекламируется на сайте как имеющие нужное разрешение даже для распознавания номеров на заправке, которая имеет несколько полос в ширину. Да, но у меня не сработало даже с зауженным полем обзора и их специальным ночным датчиком. Если машина останавливается и у камеры есть какое-то время на реакцию то, вы можете уловить номер, но при этом я потратил 10 минут в фотошопе на улучшение изображения, чтобы прочитать номер. Имейте в виду, что при этом вы потратили на камеру около $1600.

Следующее, что нужно понять, что чем больше пикселей у вас, тем выше частота кадров и тем труднее задача для программы LPR. Хотите верьте, хотите – нет, но лучше всего подойдет частота 4 кадра/сек и разрешение по стандарту VGA.Конечно, если необходимо отследить автодорогу, где машины движутся со скоростью 60-100 миль/час, 4 к/сек не помогут, но моя задача направлена на то, чтобы поймать номер на улице,где машины двигаются со скоростью не выше 40 миль/час.

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

Программное обеспечение

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

OpenALPR

Я случайно натолкнулся на бесплатный проект OpenALPR. Это кодировка, которая позволяет считать номер с изображения. Я не являюсь разработчиком C++, поэтому мне помогал специалист для тестирования программы Windows, которая считывает номер, но это было скорее тестирование техники, чем практический подход. Между прочим, ее также можно использовать и в Linux. Работает поразительно хорошо. Итак, я написал сценарий Windows для извлечения изображения из камеры, передачи в программу и он сработал достаточно хорошо, за исключением лишь запаздывания. Причина в том, что для запуска программы требуется какое-то время. Возможно, кто-то сможет выйти на следующий уровень и сможет передавать изображения из камеры посредством кода.

Нижеследующее – из примера программы в Windows. Вы задаете изображение и она возвращает вам номера. Использованное изображение даже не по стандарту VGA, но как вы сами можете увидеть, изображение немного шире самой машины, исходя из ширины автомобиля 6′, номерной знак — около 7-8′ и он хорошо просматривается, а изображение с высоким разрешением здесь не поможет.

C:\Users\Carl\Desktop\openalpr>alpr -r
“c:\Users\Carl\Desktop\openalpr\runtime_d ata” sample.jpg

plate 0: 10 results — Processing Time = 0 ms.
— MIDLYPH    confidence: 90.2613     template_match: 0
— HIDLYPH    confidence: 82.9942     template_match: 0
— NIDLYPH    confidence: 82.3028     template_match: 0
— MIDLYPB    confidence: 82.1119     template_match: 0
— MI0LYPH    confidence: 81.8572     template_match: 0
— MIDLYPM    confidence: 81.4123     template_match: 0
— MIOLYPH    confidence: 81.3235     template_match: 0
— MIQLYPH    confidence: 81.2702     template_match: 0
— MIBLYPH    confidence: 80.856      template_match: 0
— MIDLYPR    confidence: 80.402      template_match: 0

ipConfigure –с функцией LPR

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

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

Согласно рекомендациям размер номерного знака должен быть примерно 120-150 пикселей шириной. Поскольку мы ограничены разрешением 640×480, а стандартный номерной знак имеет длину 12″ (прим. Пер. – американский номерной знак), то сам знак должен составлять 1/5ую или 1/4ую изображения, самая широкая часть обзора — 4-5′. Это может вызвать затруднения с номерными знаками иной ширины, например, 12′ в Калифорнии. При том, что вы можете создать обзор в 4-5′, а номерные знаки не всегда располагаются середине (например, на нашем Jeep Wrangler он расположен слева), то появляется проблема с захватом всей линии. Разработчики предлагают минимум 100 пикселей в ширину (почти 6′) и почти 12′ максимум – размеры, в которые трудно попасть в реальном мире. Можно наклонить камеру так, чтобы машины как бы проскальзывала в этой зоне, но это влияет на распознавание.

Вот несколько скриншотов из этого приложения. Напоминаем, что программа не на компьютере, а прямо на камере. Когда вы входите в интерфейс камеры вас приветствует не обычный Axis, а ipConfigure с 4 вкладками — Live (просмотр в реальном режиме), Search (поиск), Watchlist (контрольный список) и Settings (настройки).

Просмотр в реальном времени находится слева и запаздывает на несколько секунд – машина в кадре появляется на несколько секунд позже. С правой стороны отображаются недавно распознанные номера, обычно секунд через 5-7. Здесь также можно увидеть время и дату, зона изображения для распознавания и уменьшенное изображение машины. Вскоре вы убедитесь, что все почти правильно. Причина, по которой некоторые номера не были распознаны, это, например, программа попыталась распознать надпись сзади или 2 была принята за Z. Все подобные продукты имеют склонность принимать за номерные знаки случайные тени и надписи на наклейках и прочее.

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

Вкладка «Контрольный список» (Watchlist) находится там, где вы вводите список номеров. На камере отображается только один список, в то время как на компьютерной версии можно создать несколько. Есть также вкладка «Поиск», а после неcкольких обновлений встроенной программы я получил возможность поиска номера с помощью шаблонов, все работало четко и отзывчиво.

Вкладка «Настройки» (Setting) – все рабочие настройки камеры, отсюда также можно попасть во все настройки камеры.
Настройки сценариев производятся обычным способом, но в данном случае сценарии были настроены приложением.

Схема настроек такая же, как и в стандартном интерфейсе Axis, но здесь она запускается там же, где и “Watchlist Hit”.  В нашем случае мы протестировали сигнал тревоги. Сигнал тревоги был запущен через 5-10 секунд после того, как номерной знак попал в зону.

На момент написания этой статьи стоимость ipConfigure Embedded LPR App составляла $1,499. Идея отличная, подойдет ли она вам – зависит от ваших требований и ожиданий. Если у вас Axis Q1604, то вы можете загрузить пробную версию и попробовать.

Программа распознавания от Milestone XProtect

Следующий протестированный продукт – это Milestone XProtect LPR. Не так давно они снизили требования к своей продукции LPR и мы смогли только протестировать версию XProtect Express Edition.
Для первичной установки требуется приобрести как минимум Milestone XProtect Express ($99/камера), я использовал профессиональную версию. Затем вам нужно приобрести и установить компоненты LPR, которые на тот момент обошлись мне в $300 за сетевую базу данных видеозаписей + одна лицензия на LPR для камеры за $1,295. Milestone рекомендует использовать отдельный компьютер для этого,не знаю зачем, но у меня все сработало отлично и на одном компьютере. Сотрудничество с поддержкой сделало приложение очень отзывчивым.

Я не шучу – этот комплекс программного обеспечения нужно понять и настроить. Но после установки она работает безотказно. Мы смогли открыть поле обзора так, чтобы покрыть всю линию и при этом сохранили достаточно высокий процент правильного распознавания номеров. Конечно, Q можно принять за O, если имеется рамка вокруг номера, которая закрывает часть буквы, но с остальными трудностями программа сработала как и было заявлено. Что удивило, так это то, что программа распознала номер на машине, меняющей направление под углом. По причине остановки машин или небольшой скорости мы получили дублированные снимки, но при помощи настроек можно справиться и с этой задачей.

Вот несколько скриншотов. Если вы уже использовали Milestone XProtect ранее, то данная функция добавляет LPR в Smart Client. Выбор данной вкладки позволяет вам искать номера. Я искал Smart Car со Smart Client и нашел все 3 раза, когда вводил.

Это когда я заходил ночью, т.е. номер читается и при этом стоп-сигналы включены.

Для полной настройки сначала нужно добавить камеру в Milestone XProtect. Я назвал ее LPR Cam. Затем вы попадаете в раздел распознавания LPR для создания списка номеров, конфигураций и настройки LPR. Несколько пунктов, которые могут оказаться полезными. Я столкнулся с проблемой – я думал, что если настроить на камере VGA и 4 кадр\сек, это сработает здесь, но нет. Нужно выбирать опции из настроек Milestone в камере. Я настоятельно рекомендую установить разрешение не выше, чем стандарт VGA. 4 кадра\сек отлично подходят в нашем случае, даже для автомобилей, едущих со скоростью 30-40 миль\час.Также, снижение четкости и снижение контрастности имеют значение.

Если ваше задача – это создать список номеров для использования, то здесь можно их добавить в разделе «License Plate Lists» (меню, сверху). Я создал простой список под названием “Entry List” и стал искать свою машину. Для каждого нового действия нужно создавать новый список. Например, вам нужен список на совпадение и отдельный список для того, что открыть дверь гаража на совпадение. Вы выбираете нужный сценарий в случае совпадения внизу, где написано “Events triggered by list match”

Затем на сервере LPR вы увидите имя сервера и камеру. Двойной клик вызывает во такой экран с 4 вкладками. Первую вкладку я оставил как есть. Это вторая вкладка – высота символов, очень важно задать ее правильно. В нашем случае самые маленькие таблички около 3.8%, поэтому я установил до 3.5%, а самые большие номерные таблички – около 8-9%, я поставил 10%. С использованием defaults я ничего не получил, так что убедитесь, что вы настроили этот этап. В настройках можно выбрать изображения для облегчения.

Раздел «Reading direction» (направление считывания) и «Processing» (точность восприятия номеров и размер рамки) я оставил «по умолчанию». Здесь все зависит от скорости автомобиля. Если он остановится, вы получите большое количество записей LPR, 4 кадра/сек, так что имейте в виду.

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

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

Если вы хотите создать сценарий, как я, то мне пришлось просидеть несколько часов, чтобы создать свой собственный, думаю, что так будет не у всех. Для запуска сигнала тревоги на камере можно предположить, что нужно настроить Hardware Output Event. Это оказалось наполовину верно.Такой подход не создаст выбранный сценарий для списка номеров. Для этого нужно настроить Manual Event, который я оставил под названием Manual Event 1, а результат был в виде сценария для открытия ворот Gate Open, который является сценарием Hardware Output Event. После того, как вы это сделаете, нужно зайти в список номеров и выбрать Manual Event 1 в качестве сценария при совпадении номеров. Сценарий Hardware Output Event дает сигнал камере для создания тревоги в течение определенного промежутка времени, я установил несколько секунд.

Насколько хорошо это работает? Есть некоторые задержки в программе, камере и контроллерах ворот, поэтому от момента, когда вы подъехали к воротам до момента открытия ворот проходит 2-3 секунды. Используя карту доступа вы тратите 1 секунду на это. Поэтому чаще используется CPU, а не Milestone XProtect. Мы использовали программу на бюджетном компьютере 5ти–летней давности, загрузка доходила до 40-50% с одной камерой, но с современным i5 или выше, наверно, проблем не будет.

Заключение

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

Я выяснил, что хорошие коммерческие предложения не так уж и дешевы. Самое дешевое предложение стоит около $800 + лицензия NVR, но компании-производители камер не расположены к ним. Есть также предложения от $5,000 – и это только за камеру. Поговорив с различными людьми на выставках я понял, что Milestone является одним из самых рекомендуемых продуктов.

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

 

 

Перевод статьи с www.networking.com

Перевел: Труш Борис Викторович ВИДЕОНАБЛЮДЕНИЕ В КРАСНОДАРЕ

Если Вам понравилась статья, то нажмите кнопку социальной сети — Поделитесь с друзьями.
Вы можете пропустить чтение записи и оставить комментарий. Размещение ссылок запрещено.

Оставить комментарий

ЗАКРЫТЬ
Seo wordpress plugin by www.seowizard.org.