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


Представлюсь: меня зовут Иван Греков, я из фронтенд-команды Badoo. Мне очень понравился этот пост, я просто не смог пройти мимо и не перевести его. Этот пост – отличный источник вдохновения для любителей прототипирования устройств и open-source-решений. Перевод публикуется с сохранением авторской точки зрения и, надеюсь, будет интересен вам.


Полиция Виктории — главное силовое ведомство, отвечающее за охрану правопорядка в штате Виктория в Австралии. За последний год в этом штате было угнано более 16 000 автомобилей общей стоимостью около $170 млн. Поэтому полицейский департамент экспериментирует с разными технологическими решениями, чтобы снизить количество угонов.


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


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


Но, порыскав в сети, я узнал, что полиция Виктории недавно провела испытания аналогичного устройства, оценочная стоимость развёртывания которого – около $86 000 000. Не трудно заметить, что при его установке на 220 полицейских машин стоимость одной инсталляции составит кошмарные $390 909.


Уверен, что можно найти решение оптимальнее.



Один из стационарных сканеров номерных знаков


Критерии успеха


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


Локальная обработка видео


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


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


Работа с изображением достаточно низкого качества


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


Продукт должен быть создан с использованием open-source-технологий


Если опираться на проприетарное ПО, то будешь постоянно упираться в необходимость просить разработчиков внести изменения со всеми вытекающими проблемами. С open-source-технологиями такого не будет.


Решение


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


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


Звучит просто, и так оно и есть: например, изображение можно обработать с помощью библиотеки openalpr. Для распознавания символов на номерном знаке больше ничего не потребуется:


openalpr.IdentifyLicense(imagePath, function (error, output) {
   // handle result
});

Небольшое пояснение


К API VicRoads нет публичного доступа, так что в моём прототипе проверка номерных знаков выполняется через граббер контента. Хотя в целом это порицаемое решение, но всё же речь идёт о проверке работоспособности концепции — я не роняю ничьи сервера.


Вот так выглядит моё доказательство реализуемости идеи:


// Open form and submit enquire for `rego`
function getInfo(rego) {
        horseman
          .userAgent('Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0')
          .open(url)
          .type('#registration-number-ctrl input[type=text]', rego)
          .click('.btn-holder input')
          .waitForSelector('.ctrl-holder.ctrl-readonly')
          .html()
          .then(function(body) {
                console.log(processInfo(body, rego));
            return horseman.close();
          });
}

// Scrape the results for key info
function processInfo(html, rego) {
        var $ = cheerio.load(html);
        var vehicle = $('label.label').filter(function() {
          return $(this).text().trim() === 'Vehicle:';
        }).next().text().trim();

        var stolen = $('label.label').filter(function() {
          return $(this).text().trim() === 'Stolen status:';
        }).next().text().trim();

        var registration = $('label.label').filter(function() {
          return $(this).text().trim() === 'Registration status & expiry date:';
        }).next().text().trim();

        return {
                rego,
                vehicle,
                stolen,
                registration
        };
}

Результаты


Должен сказать, я был приятно удивлён.


Я ожидал, что open-source-распознавание номеров будет довольно грубым. Кроме того, алгоритмы наверняка не оптимизированы под австралийский формат номерных знаков.


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



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


Однако с определёнными буквами возникли проблемы.



Номер считан неправильно, вместо M распознана H


Но в итоге система всё же корректно их распознавала.



Через несколько кадров буква M определена верно, с высокой степенью достоверности


Как видите, достоверность распознавания прыгнула с 87% на первом кадре до 91% на втором.
Уверен, что точность можно улучшить за счёт увеличения частоты выборки с последующей сортировкой по степени достоверности. Или для проверки номеров можно установить порог приемлемой достоверности, скажем, на уровне 90%.


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


Вопрос на 86 000 000 долларов


Честно говоря, я совершенно не представляю, какие статьи включены в эту сумму, а также не могу сравнивать точность распознавания пилотной системы BlueNet и open-source-инструмента, не обученного работе с австралийскими номерами.


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


С другой стороны, стоимость в $391 тыс. на одну машину выглядит довольно сильно, особенно если BlueNet окажется не слишком точной и если в стоимость не входит реализация масштабных IT-проектов по выводу из эксплуатации или обновлению взаимосвязанных систем.


Будущие применения


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


Автомобили Tesla уже напичканы камерами и датчиками, умеющими принимать OTA-обновления. А что, если превратить их в виртуальный флот добрых самаритян? Машины Uber и Lyft тоже могут быть оснащены такими устройствам, что радикально увеличит зону покрытия.


С использованием open-source-технологий и уже готовых программных и аппаратных компонентов можно будет предложить решение, которое обеспечит гораздо более высокую доходность при инвестициях куда меньше $86 миллионов.

Комментарии (50)


  1. Terranz
    30.08.2017 16:26
    +11

    1) зачем делать дешевле, если можно сделать дороже?
    2)

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

    во многих странах, как уже сказано, реализовано. Например в России есть система «поток»
    только первым делом угнанные машины меняют номера, а вторым делом их никто не будет перегонять под взглядом потока, а обычно их везут в ближайший отстойник. Где либо разбирают на части, либо меняют внешний вид, либо прячут в фуру\etc и везут куда положено.
    тут надо с другой стороны решать вопрос, да хотябы датчиками слежения внутри машины эраглонасс
    3)
    Автомобили Tesla уже напичканы камерами и датчиками, умеющими принимать OTA-обновления. А что, если превратить их в виртуальный флот добрых самаритян?

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


    1. Anarions
      30.08.2017 17:47
      +1

      да хотябы датчиками слежения внутри машины

      К сожалению воры пользуются глушилками GPS и GSM.


      1. Terranz
        30.08.2017 23:13
        -1

        машина пропала из поля зрения => разбилась или угнали


        1. killik
          31.08.2017 04:49
          +8

          Или в туннель заехала, или к Кремлю подъехала.


          1. batyrmastyr
            31.08.2017 09:17
            +4

            Или на стоянку под торговым центром


    1. franzose
      31.08.2017 13:54

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

      И как это делается, даже было показано в первой вроде бы части «Такси», где Мерседесы перекрашивали :)


  1. tzlom
    30.08.2017 18:19
    +1

    Хочется обратить внимание на следующее:
    на первой фотографии достоверность 85.69%, и мы имеем галочку что всё хорошо, на второй — 87%, но всё плохо.
    К сожалению с такой системой встаёт вопрос а какая же там точность в среднем.
    В статье говорится что устанавливаемая система не только номера распознаёт, но и кузов, тут задача становится гораздо более сложной т.к. кузовов множество, особенно учитывая кастомные обвесы, загрязнения, повреждения и т.д.
    Третье — поставляемая система явно стационарная, аналог же работает из машины при меньшей относительной скорости и лучшем позиционировании относительно номера.
    Если всё это сложить вместе — система не получается такой дешёвой как бы хотелось, учитывая что она сделана по заказу государства там ещё и огромная накрутка из за сопутствующей бюрократии и покрытия потенциальных рисков.


    1. c4boomb
      31.08.2017 09:47

      Аннотации были добавлены вручную. В том числе галочку correct. Я думаю в данном случае автор лишь показал на картинке, что номер распознан неверно


  1. TimeToRock
    30.08.2017 19:13

    А воры же просто будут менять номерной знак на время перегона и все миллионы коту под хвост )


    1. runapa
      30.08.2017 22:42
      +2

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


      1. interprise
        30.08.2017 23:28
        +1

        вот с распознаванием марки машины, я думаю сейчас не все так хорошо.


        1. Terranz
          31.08.2017 10:35

          тут другой механизм — по номеру у базы спрашивается какая машина за номером закреплена


          1. QDeathNick
            31.08.2017 12:15
            +1

            Это то ясно, но сравнивать то с чем эту информацию?


            1. svolard
              31.08.2017 13:54

              Сравнивать с авто которое фиксируется

              1. Читаем номер
              2. База дает авто и цвет с этим номером
              3. Сравниваем соответствует ли авто перед нами с данными в базе


              1. QDeathNick
                31.08.2017 14:12

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


                1. Faha1998
                  31.08.2017 17:05

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


    1. lxsmkv
      31.08.2017 07:01

      в статье было сказано что и незарегистрированные номерные знаки. Это был бы как раз такой случай, т.е фальшивый номер.


      1. rjhdby
        31.08.2017 11:56

        Никто не мешает использовать дубликат зарегистрированного. Тут либо сверять по нескольким параметрам: номер, марка, цвет(!), etc. Либо действительно вводить систему глобального отслеживания для исключения ситуации, когда «правильный» автомобиль стоит в гараже, а его номер замечен на дороге.


    1. Mishootk
      31.08.2017 11:56
      +1

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


  1. Lovky
    30.08.2017 19:13
    -9

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

    В принципе вся суть бюрократической машины, независимо от места действия


    1. c4boomb
      31.08.2017 09:48

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


    1. iig
      31.08.2017 10:49
      +16

      google вкладывает в свою почтовую систему 100500 зиллиардов денег. А я могу сделать почтовый сервер на postfix + dovecot почти забесплатно. Вот такой я молодец!


    1. Azlentor
      01.09.2017 11:49

      Программист из Badoo перевёл статью, а не написал её.


  1. Iqorek
    30.08.2017 23:29
    +7

    Спасибо за статью, очень познавательно. Библиотеку взял на заметку.
    А по поводу 87 миллионов за 57 строк кода, хотелось бы поффтопить :)
    Итак, у нас нет условий задачи за которую была выложена эта сумма? Тогда я посмею предположить, что возможно, там есть условие, что это должна быть на 100% проприетарная система. И от медиков, военных и полиции, такого пункта можно ожидать, потому что у каждого из них есть причины не хотеть иметь, хотя бы часть кода или чего либо, в открытом виде. Далее, наверняка кроме распознания есть еще куча вещей, сервисов, есть тут и железо, которое тоже с 99% вероятно должно быть проприетарное, поддержка 24/7, решение критических проблем в течении часа, сертифицирование, что песня сама по себе и прочее прочее прочее. И вообще, на сколько я знаю этих товарищей, заплатив вам 87 миллионов, трясти они будут на все 100. То есть, эта сумма вряд ли нарисовалась просто так, хотя выглядит она конечно преувеличенной.


    1. AllexIn
      31.08.2017 08:02
      +1

      А в чем проблема переделать OpenSource проект в закрытый для военных/полицейских?
      Напоминаю, что, например GPL обязывает предоставить исходники пользователям, а не выложить их в интернет для всех.
      Если у вас пользователи — полицейские и только полицейские, то вы можете не нарушая GPL делать приложение, которое не надо будет открывать наружу.


      1. Iqorek
        31.08.2017 11:22
        +1

        Не проблема. В данном случае прототип состоит на 99.9% из чужого кода, включая критически важный код. Одна из проблем, в лицензии этого кода, кроме всего прочего есть пункт 15 «Disclaimer of Warranty» в котором говорится, что вы используете код на свой страх и риск и никаких гарантий. Так вот адвокат того, кто заплатит 87 миллионов, этот пункт вычеркнет в первую очередь, а вам придется вычеркнуть из проекта весь код с такой лицензией.


        1. AllexIn
          31.08.2017 11:24
          -1

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


          1. Iqorek
            31.08.2017 12:08
            +1

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


            1. AllexIn
              31.08.2017 12:10

              С этим я полностью согласен.


              1. Iqorek
                31.08.2017 12:14

                :)


  1. Equin0x
    31.08.2017 02:16

    И в итоге придем к добавлению нано-rfid меток в краску, стекло и тд.


    1. Andre_Sk
      31.08.2017 11:56

      А у вас есть уверенность, что в современных реалиях это не будет использовано для того чтобы следить за вами (вашими передвижениями)?
      Как и положено, исключительно для защиты и во благо (с)


      1. AllexIn
        31.08.2017 12:14

        Тут два фактора:
        1) Это неизбежно. Государство уже имеет достаточно средства чтобы вести тотальную слежку на дорогах.
        2) Спорный вопрос — является ли ДОП место где действует право на личную жизнь(в плане контроля перемещения)


      1. RomanArzumanyan
        31.08.2017 12:37

        Это и сейчас происходит. На дорогах камеры, телефоны с GPS, машины с эрой-глонасс и т. п. В принципе, перемещения человека, работающего 5 дней в неделю, предсказать не так сложно — а таких большинство.


  1. sotnikdv
    31.08.2017 04:22
    +3

    Автомобили Tesla уже напичканы камерами и датчиками, умеющими принимать OTA-обновления. А что, если превратить их в виртуальный флот добрых самаритян? Машины Uber и Lyft тоже могут быть оснащены такими устройствам, что радикально увеличит зону покрытия.


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

    Как-то так.


    1. Uliyaninskaya
      31.08.2017 12:15

      Государство нужно контролировать, без этого никак. Или хотя бы пытаться.


  1. lxsmkv
    31.08.2017 07:31
    +5

    Вот за что я не люблю некоторые информационные ресурсы. Главное привлечь внимание общественности. А указать на что опираются заявления? Да ну зачем. И так ведь все ясно.

    But it was after a bit of googling that I discovered Victoria Police had recently undergone a trial of a similar device, and the estimated cost of roll out was somewhere in the vicinity of $86,000,000.
    «A bit of googling», Карл.

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

    Давайте я скажу, что могу сделать воздушное ружье из велосипедного насоса, которым можно убить (я в гугле проверил), а армия тратит миллиарды на военное оснащение. Ну звучит-то все это именно так. Лучше бы оригинал в статье просто скромно написал: «Вот, заинтересовало новостное сообщение <источник>. Запилил на js свой велосипед по распознаванию номерных знаков в картинке.»


    1. Wint95r Автор
      31.08.2017 12:22

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


  1. WeltRogg
    31.08.2017 12:15

    Ужасно то что подобные вещи делают мир авто менее интересным. А те кто придумал камеры штрафов, платон и т.д вообще ненависть взывают, даже если ничего не нарушает человек — всё равно не приятно. И не интересно, когда так просто вычислить угон. Да и угонщиков тоже нагрузит лишней работой. Да и как в старых добрых фильмах уже не будет так романтизировано, когда кругом «глаза».


  1. Wint95r Автор
    31.08.2017 13:10
    +2

    Мнение переводчика: техническая часть статьи мне показалась увлекательной и вдохновляющей для тех людей, кто делает инди-разработку или изучает возможность сделать iot/web-проект своими руками.

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

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

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

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

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

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

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

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


  1. Wint95r Автор
    31.08.2017 13:22

    Также в продолжении — существует открытая библиотека для распознавания номеров — openalprgithub.com/openalpr/openalpr — написана на c++, работает с C#, Java, Node.js, Go, и Python — ее можно применять как для автоматизации ворот и шлагбаумов, так и для других целей, связанных с распознаванием номеров автомобилей. Подчерпнул из комментариев к оригинальной статье.


  1. Rampages
    31.08.2017 14:26

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


  1. ghost404
    31.08.2017 20:47

    У меня сходу возникли сомнения.
    Автор распознает номер машины на статическом кадре видео.
    Это работает. Окей.
    А как на счёт потокового видео?
    То есть, условно каждую секунду брать кадр из видеопотока и анализировать его.
    Каждую секунду отправлять запрос на сервер.
    А машин на кадре может быть несколько.
    Если брать кадры реже, то мы рискуем пропустить какого-то гонщика.
    Ну и скорость распознавания кадра и получение ответа от сервера должно занимать меньше секунды иначе будет накапливаться очередь и программа просто не сможет работать.


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


    В общем, все самое сложное автор не сделал.


    1. AllexIn
      01.09.2017 03:59

      «Каждую секунду отправлять запрос на сервер.»
      Не нужно. Кэш уже проверенных номеров.
      Встречку не анализируем. Получается достаточно ограниченное количество машин.


      1. ghost404
        01.09.2017 08:30

        Ну конечно можно локально кешировать.
        Можно даже агрегировать номера и отправлять их одним пулом на сервер, скажем раз в минуту.
        Тогда в одном пуле будет от 0 и до 60 номеров.
        Но у на соответственно появляется необходимость в ресурсах для кеша.
        Это накладывает свои требования на оборудование.
        Это может быть оперативная память, но мы например должны шифровать номера так как это конфиденциальные данные.
        И это не избавляет нас от проблемы, что одна итерация работы программы должна занимать менее 1 секунды.


        Так же не стоит забывать что устанавливаем мы камеры на машины и соответственно доступ к серверу у нас будет по беспроводной сети. А пакеты ещё и шифровать надо, так как пересылаем мы персональные данные. И связь соответственно должна быть стабильной.
        Это накладывает ещё кучу ограничения и требований на ПО и оборудование.


        А на счёт встречки.
        Как вы собираетесь определять, что на конкретном кадре, два номера — один на встречке, а второй нет?
        Если номер в каком-то углу то это значит, что это может быть припаркованные машина, а может быть вы едете по многополосной трассе.
        Можно конечно попытаться привязаться к GPS, но это не надёжно и требует кучу ресурсов.
        Можно сравнивать кадры. Например, если номер есть только на одном из двух соседних кадров то это значит что это либо встречке, либо гонщик, либо некорректно распознан номер.
        А если мы в пробке то встречку мы будем видеть дольше.


        В общем, отбрасывает встречку себе дороже, да и зачем.


        1. AllexIn
          01.09.2017 08:38

          Встречка отброится сама собой. При нормальной скорости движения — у встречки не номер, А размазня. При маленькой скорости движения — не так уж много номеров будет.

          Номер конфединциальная штука? ЗАнятно. Не знал. А можно поподробнее?

          Шифрование сетевого трафика уже давно существует и не представляет какой либо проблемы.


          1. ghost404
            01.09.2017 09:59

            Номер конфединциальная штука

            Конечно конфиденциальная. Это же персональные данные. По номеру же можно идентифицировать владельца машины.
            Это как если бы номер вашего паспорта передавался в открытом виде.


            Шифрование сетевого трафика уже давно существует

            Несомненно, но не стоит забывать что мы говорим о госструктурах.
            Они не одобрят всякие там ваши OpenSSL и прочее.
            Конечно, я думаю, что уже есть какие-то алгоритмы которые могут использоваться в госструктурах или они могут воспользоваться нароботками коллег по цеху.


            Ну и не забываем что на шифровку и дешифровку пакетов нужно время и процессорные ресурсы.
            Мы уже привыкли к мощным серверам с 32мя ядрами и терабайтами оперативы и забываем как это разработка на компьютере размером меньше пачки сигарет и питающейся от 12V.


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


            1. AllexIn
              01.09.2017 10:13

              Тогда нам и видеопоток в оперативке надо шифровать? Ведь там же конфеденциальные данные!

              На шифровку и дешифровку никакого времени и ресурсов не нужно. В сравнении с поиском номера, нагрузка связанная с шифрованием — это просто шум. Хотя даже на уровне шума не будет видно. xor практически бесплатный.

              Конечно все не так просто в этих 86 миллионах. Но ваши доводы — оторваны от реальности и не имеют никакого отношения даже теоретически к этим 86 миллионам.


              1. ghost404
                01.09.2017 12:07

                Но ваши доводы — оторваны от реальности и не имеют никакого отношения даже теоретически к этим 86 миллионам.

                Не согласен с вами. Я как раз пытался продемонстрировать доводы максимально приближенные к реальности.
                Если вас они не устраивают, ок. Тогда я не вижу смысла продолжать дискуссию.


                Или может вы предложите свои доводы, которые вы считаете более приближенными к реальности? Тогда нам будет о чем поговорить


  1. rhamdeew
    01.09.2017 09:25
    +2

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