Вбудовування ANPR-розпізнавання номерів у мобільний застосунок

Ручний ввід номерів на в'їзді та в пунктах видачі гальмує потік машин і створює черги. Ми розробляємо та вбудовуємо ANPR-розпізнавання номерів у мобільний застосунок під ключ: від знімання до передавання даних у вашу облікову систему. Перший запуск робимо на одному об'єкті, щоб ви побачили точність до масштабування.

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Вбудовування ANPR-розпізнавання номерів у мобільний застосунок

Штучний інтелект та ML у мобільних застосунках (CoreML, TFLite, LLM)Складний~1-2 тижні
Часті запитання

Розробка ANPR: чому номери не читаються в потоці

На в'їзному контролі рішення ухвалюється за секунди: машина під'їхала до шлагбаума, кадр пішов на обробку, номер звірили зі списком дозволених — або стулка піднімається, або охорона виходить із планшетом і вручну перенабирає знак.

Якщо розпізнавання номерів у застосунку дає збій, черга на в'їзді зростає, а оператор вручну розбирає те, що мав закрити автомат.

Найчастіше річ не в алгоритмі, а у вхідних даних. Уночі фари зустрічної машини засвічують кадр, удень сонце б'є в об'єктив, узимку знак заліплений снігом або брудом, а на швидкості рамка знака розмивається й нахиляється.

Детектор або не знаходить зону знака, або знаходить, але змазує символи — і тоді помилки розпізнавання номерів ідуть пачками: нуль плутається з літерою O, вісім із B, п'ять із S.

Вимоги ГОСТ Р 50577 до накреслення якраз залишають такі пари схожими, і розрізняти їх доводиться за геометрією та контекстом, а не за одним символом.

Окрема стаття відмов — зв'язок. Кадр повністю йде на сервер, відповідь повертається із затримкою, застосунок повторює запит і втрачає саме той єдиний кадр, де знак було видно чисто. На слабкому каналі це перетворюється на стійке «номер не читається», хоча камера своє відпрацювала.

На тестовому наборі заявлена точність розпізнавання виглядає пристойно, але на живому в'їзді її визначає не середнє, а хвіст: нічні зміни, дощ, коса геометрія, рідкісні формати знаків.

Розбираємо, як це закривається: де ставити перевірку якості кадру, що рахувати на пристрої, а що відправляти на сервер.

Що дає вбудоване розпізнавання номерів у застосунку

Вбудоване розпізнавання номерів переносить перевірку на етап під'їзду: камера в застосунку зчитує знак, звіряє його з базою перепусток і віддає команду до того, як автомобіль зупинився біля шлагбаума.

Швидкість обробки однієї машини падає з 30–40 секунд до 3–5, і смуга перестає збирати чергу навіть в ранкову годину пік — оператор у типовому сценарії не бере участі взагалі.

Частка ручних перевірок скорочується з «кожен другий заїзд» до одиничних відсотків: залишаються нечитні, сильно забруднені або нестандартні знаки.

Ці випадки йдуть в окрему чергу з фотофіксацією та позначкою причини, а не блокують проїзд для інших — зниження ручних операцій тут видно за навантаженням зміни, а не за відчуттями.

Журнал проїздів перестає бути ручним зведенням: на кожну подію пишуться номер, час, точка контролю, результат звірки та посилання на кадр із камери.

Якщо звірка не пройшла, у записі залишається причина відмови — розбір спірних ситуацій із гостями й підрядниками займає хвилини замість вивантаження логів і ручного зіставлення.

Окремо знімається клас помилок при повторних заїздах, коли один автомобіль проходить кілька разів за зміну: за абонементом, за разовою перепусткою, на виїзд і назад.

Вбудована перевірка зіставляє подію з історією номера й не плодить зайвих спрацювань, а аналітика за навантаженням в'їздів будується на тих самих даних, без другої системи.

Автоматизація в'їзду дає рівно те, що перевіряється в прийманні: секунди на машину, частка ручних операцій, повнота журналу.

Розробка ANPR: режими роботи й обмеження

Режим розпізнавання визначає, де живе модель і що відбувається з кадром. Від цього залежить поведінка застосунку в підземному паркінгу без мережі, витрата батареї на телефоні оператора та те, скільки даних іде на сервер.

Ми реалізуємо розпізнавання на пристрої, серверне за відеопотоком із камери та гібридну схему — і на етапі оцінки показуємо, який режим закриває задачу, а який упирається в обмеження сценарію.

Режим Коли підходить Обмеження
Розпізнавання на пристрої Один-два номери в кадрі, потрібен відгук на місці й робота без мережі; зйомка зі штатива або із салону Вимогливе до якості кадру та ресурсів телефону: на слабких моделях зростає витрата батареї, довгий відеопоток обробляється з пропусками кадрів
Серверне розпізнавання Масовий потік, парковки та пункти в'їзду, потрібна єдина база й журнал проїздів Без мережі не працює взагалі; відгук залежить від каналу зв'язку, на слабкому покритті кадри губляться
Гібридна схема Потрібен швидкий відгук на місці й точність сервера при нестабільному зв'язку Дорожче в підтримці: дві моделі, правила пріоритету, синхронізація та розбір розбіжностей між результатами

Головне обмеження спливає на прийманні — робота без мережі. Якщо розпізнавання лише серверне, застосунок зобов'язаний складати кадри в локальну чергу й довантажувати їх при появі зв'язку; при переповненні буфера частина проїздів губиться.

Тому для точок із поганим покриттям ми заздалегідь закладаємо деградацію до моделі на пристрої й окремо описуємо, які дані при цьому залишаються в журналі, а які ні.

Відеопотік із камери ми не передаємо повністю: на пристрої залишається відбір кадрів і відсів дублів, на сервер іде стиснений фрагмент. Це знижує навантаження на канал, але додає затримку на етапі відбору — її величину ми вимірюємо на вашому залізі до того, як фіксуємо режим.

Гібридна схема вибирається усвідомлено: правила пріоритету й поведінку при розбіжності результатів узгоджуємо заздалегідь, інакше підтримка перетворюється на постійні розгляди.

Як влаштовано впровадження: етапи інженерної роботи

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

Тому ми йдемо фіксованою послідовністю, де кожен етап закінчується перевірним артефактом — схемою, налаштованим стендом або протоколом прогону.

  1. Обстеження майданчика. Виїзд на об'єкт: зони в'їзду й виїзду, висота та кут установлення камер, освітлення вдень і вночі, кількість смуг і швидкість потоку.
  2. Схема потоків даних. Де виконується розпізнавання — на пристрої чи на сервері, який канал зв'язку, як подія доходить до мобільного застосунку і що відбувається при обриві зв'язку.
  3. Калібрування камер. Зони спрацювання, експозиція та поріг детектора під конкретний ракурс: номер має читатися при зустрічному світлі, у дощ і на забрудненому знаку.
  4. Налаштування інтеграції. Подія прив'язується до сценарію: перевірка прав, відкриття проїзду, підстановка номера в заявку. Ролі розмежовуються за об'єктами.
  5. Тестування розпізнавання. Прогін на реальних машинах у різний час доби: різні формати знаків, причепи, мотоцикли, рамки. Рахуємо частку вірних спрацювань і розбираємо кожен промах.
  6. Передача проєкту. Документація, доступи, регламент дій при хибному спрацюванні та заміні камери, навчання служби експлуатації.

Комплект постачання: модулі, схеми й регламенти

Після введення в експлуатацію в замовника залишається не лише працюючий застосунок, а й повний комплект постачання.

Ми передаємо конфігурації, схеми та регламенти у вигляді, придатному для передачі іншій команді: без усних домовленостей і прихованих залежностей від нашої інфраструктури.

  • Схема інтеграції — послідовність викликів між камерою, застосунком і сервісом розпізнавання, формати обміну, тайм-аути та точки відмови на кожній ділянці.
  • Документація щодо модуля — опис інтерфейсів, коди помилок, поведінка при деградації каналу та правила повторного надсилання кадру.
  • Конфігурації розпізнавання — зони інтересу, пороги впевненості, шаблони номерних знаків і режими роботи за відсутності зв'язку із сервером.
  • Політики доступу до даних про проїзди — ролі, строки зберігання, маскування номерів у вивантаженнях і журналювання кожного звернення до бази.
  • Регламент експлуатації — періодичність оновлення еталонних баз, контроль частки вірних спрацювань, порядок дій при інциденті та відкаті.
  • Тестовий набір — розмічені кадри й відео з реальних умов майданчика, на яких перевіряється якість після будь-якого оновлення.
  • Інструкція з розгортання — середовища, параметри, порядок викочування та перевірки після встановлення.

Такий комплект знімає головний ризик — залежність від одного виконавця. Логіку роботи модуля можна перевірити, а підтримку передати своїй команді або іншому підряднику без зворотного проєктування.

Кейс: розпізнавання номерів на в'їзді в логістичний парк

До: черга та ручні перевірки

Пропускний пункт логістичного парку тримав два пости, і в ранковий пік черга на в'їзді сягала 40–60 машин. Оформлення займало 2–3 хвилини: оператор вручну звіряв номер із базою допусків і дублював його в журнал.

За оцінкою самого замовника, у пікові години губилося до третини записів, а розбір одного спірного в'їзду займав півдня.

Що змінили

Розпізнавання автомобільних номерів (ANPR) вбудували в мобільний застосунок охорони та в кіоск на в'їзді: камера читає номер, застосунок звіряє його з допуском і показує оператору лише ті машини, де впевненість нижча за заданий поріг.

Штатний транспорт проходить без зупинки, спірні випадки йдуть в окрему чергу на розбір разом зі збереженим кадром. Журнал заповнюється автоматично — вивантаження за часом, смугою й типом перепустки доступне одразу.

Що стало

Черга в ранковий пік скоротилася до 5–8 машин, середній час на в'їзд — з 2–3 хвилин до 20–30 секунд, частка ручних перевірок упала нижче 10%, повнота журналу сягнула 99%. Оператор перестав бути вузьким місцем: два пости тепер закриває один співробітник.

За оцінкою замовника, втрати часу транспорту на в'їзді зникли майже повністю, а спірні ситуації розбираються за збереженими кадрами за хвилини.

Що робити, якщо розпізнавання вже вбудовано стороннім модулем

Працюючий сторонній модуль розпізнавання рідко відмовляє повністю — частіше він «пливе» на частині сценаріїв: нічні кадри, нахилений ракурс, брудний або частково закритий номер.

Частка вірних спрацювань падає, а причину не видно: логи надходять у чужому форматі, модель закрита, підтримка на запит щодо якості відповідає проханням надіслати інший кадр. Переписувати застосунок із нуля в цій ситуації майже ніколи не потрібно — розвилок три.

Варіант Коли підходить Обмеження
Доопрацювання поточного модуля Контракт обміну влаштовує, помилки зібрані на 1–2 сценаріях Потрібен доступ до налаштувань і зрозуміла дорожня карта вендора; стелю якості задає його модель
Заміна розпізнавального шару Помилки розмазані по всіх сценаріях, вендор не дає метрик за зрізами Сумісність модулів: інший формат результату, свої вимоги до кадрів і заліза камери
Гібридна схема Потрібен офлайн-мінімум і висока точність на складних кадрах Подвійна логіка злиття результатів, складніше зневадження й оновлення моделей

Вибір упирається в одне питання — чи віддає вендор метрики за зрізами: освітленість, ракурс, якість кадру.

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

Якщо метрик немає, плануємо міграцію рішення.

Розпізнавання обгортаємо у власний інтерфейс, щоб заміна движка не зачіпала бізнес-логіку, збираємо тестовий набір кадрів із реальних камер замовника й порівнюємо варіанти — включно з офлайн-розпізнаванням на пристрої через Google ML Kit — за часткою вірних спрацювань і часом відгуку. Приймання йде за цими числами, а не за демонстрацією на одному вдалому кадрі.

Технічні сумніви та часті запитання

Інженерні сумніви навколо ANPR майже завжди ті самі, тому нижче — короткі відповіді на те, що найчастіше розбираємо з технічними командами замовника: потрібна точність, поведінка при невдалому читанні, робота на слабкому зв'язку та модернізація вже випущеного застосунку.

Яка точність розпізнавання вважається достатньою?

Точність — властивість сценарію, а не одна цифра. Камера віддає серію кадрів однієї машини, алгоритм зводить їх в один результат і повертає оцінку впевненості; усе, що нижче порога, йде на ручну перевірку. Поріг налаштовуємо під задачу — для парковки й для контролю доступу він різний.

Що відбувається, якщо номер не розпізнано або розпізнано неправильно?

Сценарій не блокується: подія позначається як невпевнена, кадри зберігаються, а рішення ухвалює оператор або правило — підтвердити, виправити номер вручну чи пропустити.

Без зв'язку розпізнавання йде на пристрої, записи чекають у черзі й синхронізуються за ідентифікатором і міткою часу, тому дублі відсікаються.

Чи можна додати розпізнавання в застосунок, який уже в роботі?

Доопрацювання йде окремим шаром із власним інтерфейсом, тому екрани й облікова логіка залишаються незмінними. Оновлення доставляється штатним механізмом, а сумісність зі старими версіями перевіряємо до публікації — модернізація не перетворюється на переписування продукту.

Які потрібні камери і що з підтримкою після запуску?

Камера підійде звичайна: вирішують ракурс, рівне світло та відсутність засвітлення від фар. Точки встановлення вибираємо на об'єкті до інтеграції. Після запуску стежимо за часткою успішних читань по кожній камері й оновлюємо еталонні дані, коли змінюється формат номерів.

Обговоримо задачу й повернемося з планом впровадження

Щоб обговорити задачу предметно, нам потрібно зрозуміти сценарій зйомки та місце розпізнавання у вашому процесі.

ANPR-модуль поводиться по-різному: стаціонарний термінал на в'їзді, зйомка з рухомого автомобіля або ручна фіксація інспектором — від цього залежить логіка захоплення кадру, вимоги до ракурсу та те, де саме вбудовується розпізнавання: на пристрої чи на сервері.

Для оцінки проєкту достатньо надіслати:

  • цільові сценарії: в'їзд/виїзд, парковка, контроль доступу, обхід території, звірка з реєстром;
  • як зараз фіксуються номери і що відбувається з результатом — журнал, бекенд, диспетчерська;
  • платформи застосунку, які потрібно підтримати, і камери, що на них працюють;
  • поведінка при слабкому зв'язку: чи потрібна офлайн-черга й досилання розпізнаних кадрів пізніше;
  • формати обміну з вашою обліковою системою та доступ до тестового контуру;
  • обмеження з безпеки: де зберігаються знімки, строк зберігання, хто бачить дані.

Натомість надсилаємо план впровадження з розбивкою на етапи: підготовка камер і еталонної вибірки, налаштування розпізнавання, вбудовування в інтерфейс, приймання на реальних номерах, виведення в продакшн.

До плану додаємо склад робіт із відповідальними та порядком приймання за кожним етапом, щоб оцінка проєкту була перевірною, а не оцінною.

Опишіть задачу у зручній формі — повернемося з оцінкою та планом.

Наші компетенції:

Останні роботи

  • Розробка мобільного додатка для компанії FEEDME
    Розробка мобільного додатка для компанії FEEDME
    1010
  • Розробка мобільного додатку для компанії XOOMER
    Розробка мобільного додатку для компанії XOOMER
    903
  • Розробка мобільного додатку для компанії RHL
    Розробка мобільного додатку для компанії RHL
    1332
  • Розробка мобільного додатку для компанії ZIPPY
    Розробка мобільного додатку для компанії ZIPPY
    1180
  • Розробка мобільного додатку для компанії Affhome
    Розробка мобільного додатку для компанії Affhome
    1107
  • Розробка мобільного додатку для компанії FLAVORS
    Розробка мобільного додатку для компанії FLAVORS
    714