
Может ли оптическое распознавание текста (OCR) работать так же быстро, как сканирование штрих-кода, и что для этого надо сделать? Тестирование библиотеки Google Vision в Simple UI на реальных примерах с видео
Разработка - Мобильная разработка
Я думаю многие сталкивались с ситуацией, когда штрихкодов на объектах учета нет и не будет, а ТМЦ(продукцию, оборудование, документы и т.д.) учитывать нужно. При этом все понимают, что решение для автоматизации должно обладать повышенной надёжностью и главное скоростью. Никого не устроит если артикул будет сканироваться пару минут или если из 10 сканирований правильными будет только 7, да даже если из 100 будет правильным 99 – это тоже неприемлемый результат. Кто это будет исправлять потом? Такое решение только ради поиграться.
Алгоритмы распознавания текста (OCR) существуют уже очень давно и успешно применяются в разных областях. Например сканируются бумажные документы. Или книги. Если почитать такую отсканированную книгу (при условии что ее не редактировал редактор) то рано или поздно можно наткнуться на ошибки в распознавании. Такие ошибки я встречал в 100% отсканированных книг. Чисто практическим путем можно прийти к выводу что все эти алгоритмы не могут гарантировать 100% точность сканирования. Потому что нет внутренней верификации. В случае с текстом верификацией является словарь. Т.е. если сканируется слово «шоколад», даже если «о» смахивает на «0»(ноль) программа не выдаст «ш0к0лад» потому что она сверится со словарем.
А в случае сканирования номера или артикула – вообще нет никакой верификации! Нет никакой проверки целостности (как например в EAN-13) нет даже уверенности в том что блок текста захвачен полностью. Т.е. на таком алгоритме нельзя построить промышленную систему учета? Или всетаки можно?
Как работает решение для непрерывного захвата видеопотока можно посмотреть на приложенном видео – там где показана работа «демо» с бумаги и колеса. Суть в том что алгоритм непрерывно сканирует видеопоток, выделяет в нем блоки и распознает их. Далее по задумке Гугл пользователь должен тапнуть по нужному блоку и распознанный текст покажется на следующем экране (и далее с ним что то делать).
Если делать решение «в лоб» то сразу же получишь все вышеописанные проблемы. Тапнул на нужный блок, что то распозналось – передалось в систему. И далее варианты – если правильно распознался то все хорошо, если нет то логика будет неправильная. Т.е. это обычный вариант использования библиотеки как черного ящика который возвращает распознанный текст. Точно также используется библиотека распознавания штрихкодов. Но только она то работает, потому что штрих-коды на то и штрихкоды что строго стандартизированы и имеют встроенную верификацию.
Кстати, небольшое отступление о распознавании штрих-кодов камерой телефона. Многие относятся скептически, но библиотека ZXing от Zebra (не стоит путать с библиотекой от 1С) которая стоит в Simple UI показывает результаты, не уступающие оптическим сканерам. Конечно, телефон не заменит специальный дальнобойный лазерный сканер для работы с кара, но для обычных целей это 100%-эффективная замена ССD сканеру. 5 сканирований в минуту – легко!
В общем такой подход считаю неправильным и в вместо этого предлагаю другой.
Суть подхода очень проста и заключается в глубокой интеграции в цикл сканирования видеопотока и верификации сканируемых идентификаторов (артикулов, номеров) в БД приложения. Работает это так. Допустим у нас есть база объектов для сканирования, например справочник Номенклатура с артикулами. Размер справочника не важен – хоть 100 тысяч объектов.
Если посмотреть на примеры в видео то там видно что видеопоток сканируется несколько раз в секунду – это бесконечный цикл, при этом постоянно выделяются блоки и блоки распознаются в текст. Так сказать появляются гипотезы. Так вот если в этот цикл встроить запрос к базе артикулов чтобы проверять эти «гипотезы» и прерывать цикл когда найдено 100% совпадение – это вот то что я и сделал. Я думаю это не провернуть с 1С (в смысле отсылки запроса, поиск в базе и возврат ответа) – скорость не та. Зато это отлично работает на прямых SELECT-ах к SQL на устройстве(в тесте у меня запрос к «документам» - таблице documents которая хранится в БД приложения Simple UI)
Т.е. этот метод работает только по существующим артикулам. Не возможна ситуация «Такого артикула нет в базе». Режим сканирования будет пытаться распознать пока не распознает и цикл не прервется. Работа такая же внешне как с распознаванием штрихкодов через камеру – распознал, цикл закончился.
Для теста я просто сделал открытие карточки найденного товара на экране. Распознал – карточка открылась. Это не часть конструктора, нельзя встроить в процессы – просто искусственный тест. Посмотрите видео, как это работает.
По результатам тестирования скорость при нормальной освещенности сопоставима со скоростью сканирования штрих кодов оптическим сканером. Каких то скрытых проблем не выявлено. Это конечно сильно зависит от состава и начертания текста, поверхностей, освещенности. Но согласитесь – шины довольно сложный объект?
Особенности библиотеки:
- Работает полностью OFFLINE хотя есть и онлайн режим. Специально выключал всю связь, Simple UI работала с настройкой Off-line
- Иногда телефон нагревается, когда долго ждешь
- Распознает только латиницу. Есть и другие языки кроме английского но кириллицу не распознает. Это можно частично обойти если делать замену похожих букв. Но понятноЮ не все буквы похожи
- Непонятен вопрос с лицензированием (об это далее)
Хоть распознавание и показало себя отлично я пока не встраиваю его в распространяемое решение Simple UI, но могу предоставить apk с встроенным распознаванием по запросу всем желающим. Причина в том, что я не понимаю как оно лицензируется. И судя по форумам не один я. У Гугла есть тарифы, они более чем божеские и можно было бы отдавать клиенту решение с его ключом чтобы он платил. Вот цены на online: https://cloud.google.com/vision/pricing Но! Конкретно та библиотека и модель работают OFFline, а нигде не указывал свой идентификатор Firebase и ничего не платил… Халява? Может дело в том что ML Kit имеет статус beta? Но я не представляю как они будут контролировать число сканирований (чего?) в месяц… В общем, пока этот вопрос выясняется.
Специальные предложения
См. также
1С:Предприятие через Интернет. 1С:Fresh Промо
Ведение бухгалтерского и налогового учет, сдача отчетности, управление бизнесом из любой точки мира. Привычные программы «1С» через Интернет без приобретения коробочных программ.
Оффлайн-режимы в Simple WMS: полностью автономные приложения, отложенная отправка, гибридный режим 18
15.08.2019 2640 informa1555 3
Онлайн-курс "Технология выполнения проектов ERP-класса – процессный подход". Третий поток. Курс проходит с 21 января по 18 марта 2020 года. Промо
Курс разработан Внедренческим центром «Раздолье». Курс предназначен для подготовки аналитиков, архитекторов и руководителей проектов автоматизации процессов управления с использованием комплексных ИТ-систем (1С:ERP, 1С:УХ, 1С:КА, 1С:УТ). В основе курса лежит методика применения процессного подхода.
9000 рублей
Онлайн-интенсив "Бизнес-процессы для подготовки к экзамену 1С:Специалист по платформе" 12 декабря 2019 г. Промо
На интенсиве будут рассмотрены все теоретические вопросы, связанные с устройством механизма бизнес-процессов – это необходимо для успешной сдачи экзамена 1С:Специалист по платформе. Также, в качестве практического примера, будет решена задача, аналогичная экзаменационной.
777 рублей
Программы для исполнения 54-ФЗ Промо
С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.
1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо
СПАРК помогает предотвратить мошенничество со стороны компаний и предпринимателей, благодаря актуальным сведениям о компаниях и системе выявления факторов риска.Сервис позволяет управлять налоговыми рисками и комплексно оценивать благонадежность контрагентов.
Новый раздел на Инфостарте - Electronic Software Distribution Промо
Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.
- Низкие цены, без скрытых платежей и наценок
- Оперативная отгрузка
- Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
- Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)
Мобильное приложение, управление фокусом ввода. Тем, кто не смог победить с помощью "НачатьРедактированиеЭлемента" 51
24.12.2018 6744 Crazy_Max 20
Разработка приложения под Android для работы с веб-сервисами 1С. Часть 1 18
21.12.2018 3394 mrgrigorov 12
Подборка решений для взаимодействия со ФГИС «Меркурий» Промо
С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.
Мобильная платформа 1С - практическая разработка -1
12.12.2018 5367 user605751_svyatishenko.aleksey 10
Перенос данных УТ 10.3 => УТ 11 / КА 2 / ERP 2 (ЕРП 2) (документы, остатки и справочная информация из "1С:Управление торговлей, ред. 10.3" в УТ 11 / КА 2 / ERP 2). Обновлен до УТ 10.3.56.х, УТ 11.4.10.х, КА 2.4.10.х и ERP 2.4.10.х! Промо
Уже более 100 компаний приобрели перенос и выполнили переход на УТ 11 / КА 2 / ERP 2 с помощью нашей разработки! Обработка перехода с УТ 10.3 на УТ 11 / КА 2 / ERP 2 позволяет перенести не только остатки на указанную дату (как типовой перенос), но и все возможные документы за выбранный период. При выходе новых релизов этих программ оперативно выпускаем обновление обработки. Предоставляем техническую поддержку. Можем сделать бесплатный тестовый перенос!
29700 руб.
Максимально простая установка своего мобильного приложения(базы) 1С на iOS (iPhone) 67
09.10.2018 14424 Rabot 44
Как мы проводим свободное время - 2. Хакатон по технологии BlockChain и интеграция в корпоративный мессенджер ZERO 12
25.06.2018 7787 starik-2005 3
Подборка программ для взаимодействия с ЕГАИС Промо
ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.
Готовые переносы данных из различных конфигураций 1C Промо
Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.
Мобильный корпоративный мессенджер (или чем мы занимаемся в свободное время) 55
18.12.2017 18127 starik-2005 69
С 2020 года сервис «Продление поддержки конфигурации 1С:УПП» подорожает вдвое Промо
Успейте продлить поддержку УПП до повышения цен! Фирма «1С» предупредила об изменении цен на сервис «Продление поддержки конфигурации "1С:Управление производственным предприятием"». С 1 января 2020 года сервис подорожает в два раза.
Создание мобильного клиента 1С на Android с использованием HTTP-сервисов 144
03.11.2017 28172 cdiamond 15
«Встречают по одежке...» vs «Интерфейс и мобильная платформа» 75
26.06.2017 33803 aleksandra_krivenok 25
Очный семинар по регулярному менеджменту Александра Фридмана "Вы или Хаос", 12 декабря 2019 г. , Санкт-Петербург Промо
Семинар по регулярному менеджменту от Александра Фридмана для собственников, первых лиц и топов. Технология управленческого планирования, комплексного управления временем и другими ресурсами, выполнением поручений, делами, информацией, контактами (встречи-звонки-почта).
от 11000 до 29000 рублей
Серверная часть тиражного мобильного приложения (бекапы, обмены, обновления) 79
01.06.2017 16929 SnegSneg 33