Об использовании видеокамер с распознаванием символов на низкопроизводительных вычислительных устройствах



    Ранее, в статье рассказывалось о разработке метода распознавания, позволяющего осуществлять оптическое распознавание символов из видео «на лету». В качестве доказательства эффективности нового метода использовалась его реализация на устройстве, совершенно для этого не предназначенным — микроконтроллере esp8266. В ходе обсуждения возник вопрос: где можно использовать устройства с распознаванием на борту (считыватель)? Да еще и ценой менее $50. Понятно, что там же где и используются устройства подороже, но хотелось бы обсудить и другие варианты. Надеемся на помощь читателей в этом вопросе. А что видим мы?

    1. Считывание показаний приборов учета и измерительных устройств


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

    По данным компании Ernst&Young пятнадцатилетний опыт эксплуатации умных счетчиков в Европе не привел к однозначным выводам об их эффективности, хотя все понимают, что в этом что-то есть. Основной эффект достигается за счет снижения затрат на съем показаний, в меньшей степени уменьшения ворованной энергии. Пилотный проект в нашей стране показал намного лучшие результаты — снижение потерь на 37% по Калининградской области, например. Остается вопрос, конечно, как убрать оставшиеся 63%.

    1.1. С учетом того, что при оценочной стоимости отечественного умного счетчика в $500, срок его окупаемости составит 9 лет, представляется интересной следующая схема, позволяющая уменьшить срок окупаемости минимум в четыре раза:


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

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

    Считыватель потребителя помимо непосредственно чтения показаний, может осуществлять взаимодействие с потребителем и поставщиком, а также с разъединителем сети. Этот считыватель может находиться в двух состояниях: 'отключение энергии запрещено/разрешено'. Переключение состояний возможно только в период оплаты по команде поставщика. Если оплата произведена поставщик переводит считыватель в состояние отключение запрещено и следующее переключение состояния возможно только в следующем периоде оплаты.

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

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

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

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


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

    2. Идентификация номерного знака автомобиля


    На сегодняшний день распознавание автомобильных номеров можно считать тривиальной задачей. Существует не только большое количество решений осуществляющих распознавание на сервере, но и камер с распознаванием на борту: итальянская Tattile, венгерская Arh, немецкая Siemens, британская Mav, китайские HIKVision и Dahua, отечественная Iris и многие другие.

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

    2.1. Управление парковками. В настоящее время для отслеживания свободных парковочных мест используются различные датчики присутствия, монтируемые в поверхность под автомобилем или помещаемые над ним. Такие датчики позволяют определить свободное/занятое место, но не способны определить номер автомобиля, которое это место занимает. Добавление такой возможности позволило бы предложить клиентам новые виды сервиса, помимо идентификации автомобиля при въезде/выезде:

    • сообщение места автомобиля;
    • бронирование парковочного места с различными временными рамками;
    • сопровождение автомобиля к парковочному месту при помощи динамических указателей
      также как это сделано в подземном городе в Финляндии;


    *стоп кадры были сделаны с видео указанного выше.

    • введение дифференцированной оплаты, в зависимости от расположения места на
      парковке;
    • организация интерфейса между автомобилем и парковкой при условии привязки
      номера телефона к номеру автомобиля;
    • получение информации о сумме оплаты после освобождения места и оплата по карте,
      привязанной к телефону, привязанного к номеру автомобиля;

    2.2. Управление заправками автомобиля. Возможность заправиться не выходя из машины (при наличии заправщика) по схеме:

    • Определение номера автомобиля подъехавшего к колонке;
    • Проверка наличия необходимых средств на карте, привязанной к телефону, привязанного к номеру автомобиля;
    • Запрос на подтверждение заправки;
    • Заправка;
    • Автоматическая оплата;


    *основа для изображения была взята с ресурса init-e.ru.

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

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

    3. Инфраструктура


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

    3.1. Для осуществления передачи по каналу используются различные беспроводные (Bluetooth, WiFi, GSM, GPRS, LPWAN,...) и проводные (PLC, xDSL) технологии или их комбинации. Выбор конкретной архитектуры зависит от решаемой задачи. Так как объем передаваемых данных небольшой, то наиболее удобной технологией для передачи на большие расстояния является LPWAN, к которым относятся Стриж, Sigfox, LoRaWAN, а также технологии на базе сотовых сетей LTE-M и NB-IoT.

    3.2. В большинстве примеров считыватель работает с одним получателем данных — сервером системы, однако в системах сбора данных с приборов учета считыватель работает с двумя получателями — сервером системы и пользователем. Причем для пользователя, находящегося на близком расстоянии удобно использовать для передачи данных каналы с WiFi или Bluetooth.

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

    Таким образом, существующая инфраструктура позволяет построить новые сервисы для решения интересных прикладных задач.
    Метки:
    Поделиться публикацией
    Комментарии 24
    • 0
      Мне вот интересно на сколько будет эффективно работать технология при упаковке устройства в защищенный корпус для «уличного» использования?
      Планируете проводить подобные тесты? Или пока только «комнатный» вариант будете дорабатывать без отвлечения на другое?
      • 0
        Причин для того чтобы устройство не работало в защищенном корпусе не видим.
        • 0
          Для уличного использования нужен еще нагреватель в корпусе (включающийся автоматически при сильном морозе)… Ну и «визир» должен быть закрыт стеклом.
      • 0

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

        • +1
          Тестировали возможность определения циферблата по четырем цифрам 0, 3, 6, 9, расположенным в углах ромба. Определяет и находит возможный центр, стрелку не рисовали. Думаем, что считывание данных со стрелочных счетчиков возможно.
          На текущий момент имеется два прототипа. Следующий планируем на 2Мп камере и Orange
          • 0
            В статье упоминали о возможности применения считывания номеров машин. Нужно ли Вашему устройству темный коридор для работы или возможна работа на расстоянии при естественном свете? Как ведет себя считыватель при попадания изображения под углом к «глазу»?
            Машины же разного размера и номера могут висеть на разной высоте и поэтому целесообразнее разместить камеру под углом навстречу движения машины. Появится угол между плоскостями. Решение есть такой проблемы?
            • 0
              Конечно возможна работа при дневном свете, просто в статьях приведен прототип, «заточенный» под считывание приборов учета. Сама технология распознавания инвариантна по отношению к форме символа и его размеру и поэтому допускает намного большие углы, чем обычно рекомендуется (30 градусов).
              • 0
                А возможно ли составить набор признаков для распознавания местоположения штрих-кода (EAN, Aztec Code,...) на документе с текстом, таблицами и т.п., когда местоположение искомого объекта даже примерно неизвестно? Или скорость алгоритма не позволяет эффективно работать с большим количеством данным?
                • 0
                  Распознавание штрих-кодов представляется более простой задачей чем символов. Само местоположение по методу идентифицировать очень просто. Скорость алгоритма позволяет работать в межстрочный период работы камеры
              • +1
                А когда планируется релиз? И… цена устройства уже примерно понятна?
                • 0
                  Цена устройства для распознавания показаний счетчика на сегодняшний день до $50. На первый вопрос сейчас ответить не можем
                • 0
                  Интересно, но слишком поверхностно описано. Вот пример реализации домашнего счётчика енергии на С++ и на Python.

                  image
                  • 0
                    картинка по ссылке просто шикарна и восхитительна:
                    image
                    Вообще на счет счетчиков с дисков, есть мнение что вычислительно менее затратно, не распозновать цифры, а пытаться посчитать кол-во оборотов диска, забив предварительно начальные значения
                    • 0
                      Если речь идет о текущей статье, то поверхностность обусловлена целью — обсуждение возможных применений, если о предыдущей, то простота базовой идеи, раскрывает суть метода, а описание же деталей алгоритма не входило в цель публикации. Целью было показать, что метод настолько прост, что его можно реализовать на микроконтроллере и тем самым уйти от деталей сравнения с общепризнанным эталоном — нейронными сетями. Это имеет смысл только при возможности реализации распознавания на микроконтроллере при помощи нейронных сетей (или другим методом). Также специально был выбран вариант рукописных символов с расширенной базой (цифры, латинские и русские буквы, простейшие фигуры).
                    • 0
                      Из предыдущей статьи я так понял, что в рассматриваемых устройствах используется камера низкого разрешения, что приводит фактически к усреднению изображения самой камерой.

                      Возник такой вопрос: Применяли ли Вы свой алгоритм распознавания к изображениям, разрешение которых уменьшалось с помощью соответствующих алгоритмов преобразования?
                      • 0
                        Если речь идет о временном усреднении, то его нет, так как распознавание с одного кадра, если о пространственном — то высота символов получается 30-50 пикселей, что также не говорит об усреднении. Все шумы и проблемы, связанные с этим присутствуют.
                        Уменьшение разрешения затруднительно, так как речь идет о распознавании из видеопотока на устройстве, у которого не хватает памяти на сохранение более одной-двух строк изображения.
                        • 0
                          Я имел в виду применение отдельно алгоритма распознавания от микроконтроллера на полноценном, но мини, компьютере для определения значения текста или знаков на изображении (Raspberry Pi, Banana Pi,...).
                          Скорость некоторых алгоритмов сильно зависит от объема входных данных и поэтому для них делают предварительную обработку изображения, например, вейвлет-преобразования.
                          Вы проводили тесты своего алгоритма на скорость распознавания в подобных условиях?
                          • 0
                            Esp работает на частоте 80МГц, Raspberry Pi со своими 1,2ГГц это монстр, так как объем входных данных это просто количество пикселей в строке, переход на 2Мп камеру приведет к увеличению данных в 5 раз, при увеличении скорости в 15 раз, т. е. скорость распознавания как минимум не уменьшится.
                            • 0
                              А Ваш алгоритм позволяет делать распараллеливание вычислений или все должно идти строго последовательно, чтобы не «нарушать» границы распознаваемых символов?
                              Я это к тому, что можно повысить скорость распознавание (и возможно удешевить, уменьшить размеры) за счет создания специальной схемы для ПЛИС.
                              • 0
                                Последовательный характер вычислений определен характером получаемых попиксельных данных с камеры, т.е. в каждый момент времени физически имеется только один обрабатываемый пиксель, т.е. теоретически можно было бы запустить параллельные процессы на битовом уровне. Но врядли это целесообразно. Что касается специальной схемы, то это предмет дальнейших исследований, это было бы разумно, поместить алгоритм в железо.
                                • 0
                                  И по текущему прототипу не стоит оценивать размеры конечного устройства
                        • 0
                          Очень оптимистичное надежда распозновать автомобильные номера, после распознования текста в закрытом корпусе с идеальным освещением. Или вы собираетесь другую технологию применять?
                          • 0
                            Как минимум это будет устройство другого формата.
                            • 0
                              Да, но распознавание, то на микроконтроллере. Именно поэтому собираемся применять эту технологию.

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