0. informa1555 1486 28.11.19 07:53 Сейчас в теме

Может ли оптическое распознавание текста (OCR) работать так же быстро, как сканирование штрих-кода, и что для этого надо сделать? UPD 11.12.19 вошло в релиз https://infostart.ru/public/1166378/

В статье рассматривается решение важной проблемы – сканирование объектов, на которые не нанесен или не может быть нанесен штрихкод или RFID по технологическим причинам, но при этом присутствует номер, артикул или какой-либо другой цифро-буквенный идентификатор. Т.е. распознавание текста с целью идентификации объектов учета. Приложено короткое видео с примерами работы. UPD: функции встроены в конструктор https://infostart.ru/public/1166378/

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. protexprotex 125 28.11.19 08:44 Сейчас в теме
Вот по Вашей теме - https://infostart.ru/public/266244/
Хотелось бы узнать Ваше мнение и в чем отличие. Спасибо.
2. informa1555 1486 28.11.19 08:45 Сейчас в теме
(1) Она неактивна или находится на модерации
3. protexprotex 125 28.11.19 08:48 Сейчас в теме
(2)
Название случайно поменял и на модерацию отправил. Я там года четыре назад разработал компоненту. И там на лету также производится поиск артикулов и пр. и в 1С передается.
6. informa1555 1486 28.11.19 09:12 Сейчас в теме
(3) я надеюсь потом когда модерации пройдет прочитаю Ваш пост, но как мне кажется там подход как раз такой какой мне не нравится - "компонента отдает артикул 1с" я как раз за другой подход.
8. protexprotex 125 28.11.19 09:20 Сейчас в теме
(6) Ну Вы же можете на стороне 1С проанализировать этот артикул. Я к примеру, это очень интенсивно использую в этой разработке - https://infostart.ru/video/w630732/
там моя программа анализирует каждый кадр и посылает приемнику (1С, например) распознанные данные. И программа - приемник находит наиболее достоверный результат из всех посланных методов наиболшего кол-ва распознанных версий. Т.е. пришло от моей программы результаты - O345BM52 O345BM52 O346BM52 O845BM52 O345BM52 - мы видим, что в данных O345BM52 встретилось 3 раза (еще можно учесть коэффициент распознавания и учесть средневзвешанный ответ) - и выносим вердикт, что это O345BM52
9. informa1555 1486 28.11.19 09:59 Сейчас в теме
(8) я с этого начинал, скорость не та - 1с лагает
11. protexprotex 125 28.11.19 10:27 Сейчас в теме
(9)
Ну тогда сама компонента может находить наиболее вероятный, а уже в 1С возвращать результат. Это быстро. Я так и делаю. Все очень быстро.
12. informa1555 1486 28.11.19 11:45 Сейчас в теме
(11) с наиболее вероятным результатом наиболее вероятно влететь на неустойку в первый же день. Это не устраивает. Я про это и пишу чем такой подход плох. Он может что то о найти а может нет. Я довольно плотно сижу на теме wms и не наблюдаю что распознавание работает повсеместно. Хотя есть потребности, маркировка стоит денег да и не всегда возможна в принципе, чё бы не распознавать казалось бы. То что у Вас есть компонента это прекрасно, но если бы я ее использовал в Simple UI то в том режиме как я использую google vision
13. protexprotex 125 28.11.19 12:35 Сейчас в теме
(12) Не согласен. Приведу пример из давней уже разработке. В Питерском заводе по сканированию артикулов водных счетчиков - все прекрасно работает вот уже два года. Ошибка распознавания артикула - за два года не обнаружилась ни разу. Могу скинуть видео/фото проекта. Правда, там используется не контурный алгоритм, а быстрая корреляция. Но это суть дела не меняет. Если у Вас есть достаточное количество измерений, то среднее значение (матожидание) будет очень близко к истинному. На этом строиться вся теория бустинга, например. Также и беккинг. А математичесая база в них железобетонная.
14. informa1555 1486 28.11.19 16:43 Сейчас в теме
(13) Ну я же не спорю. Почему нельзя использовать несколько измерений? Распознал алгоритм 30 блоков, по 10 нашлись артикулы(сразу SQLем), из них один повторился 7 раз допустим, т.е. его частота 7/10, а у остальных меньше - значит берем его. Не?
15. protexprotex 125 28.11.19 16:55 Сейчас в теме
(14) Если коэффициент распознавания более 0.75 (например), то да. Тот же коэффициент корреляции Пирсона - если коэффициент более 0.75, и таких версий хотя бы две - то тут более 90 процентов вероятность что это правильно распознанных объект. Ну а если более версий - то можно сказать, что все 100. И никто не мешает применить беккинг. Взять три независимых алгоритма распознавания и по трем алгоритмам построить гипотезы. Проверял на бустинге. Строил 80 независимых алгоритмов и делал усреднение по ответам. Точность получалась 99%. И никто не мешает построить не 80, а 200. Там вообще почти все 100 будет.
informa1555; +1 Ответить
19. memb3r 29.11.19 17:09 Сейчас в теме
(12) Так и Google vision не дает 100% результат и может выдать "похожий" артикул. Значит это решение тоже не подходит для бизнеса?
22. informa1555 1486 29.11.19 17:20 Сейчас в теме
(19) Так там проверка идет по базе сразу же. В этом смысл.
23. memb3r 02.12.19 08:48 Сейчас в теме
(22) если, допустим, в базе есть артикул 12345 и 2345, то есть высокая вероятность того, что вместо 12345 ваша система подберет 2345, верно? Здесь нужно вводить контрольный знак и сверять контрольную сумму.
27. informa1555 1486 02.12.19 09:21 Сейчас в теме
(23) Так оно не найдет в базе 2345 и продолжит поиск. В этом весь смысл и есть. Вы когда шкод сканируете оно тоже не останавливается пока не отсканирует
32. memb3r 02.12.19 12:00 Сейчас в теме
(27) найдёт, в базе 2345 есть артикул.
25. protexprotex 125 02.12.19 08:53 Сейчас в теме
(22) По поводу проверки - опять же это как с номером машины - если в нашей базе есть номер O354BC52, а реально заехала машина O854BC52, но система выдала именно O354BC52, то при проверке по Вашему алгоритму приметься O354BC52 - т.к. этот номер есть в базе. Косяк будет... Как Вы решаете эту проблему? (с артикулом та же история может быть)
memb3r; informa1555; +2 Ответить
28. informa1555 1486 02.12.19 09:28 Сейчас в теме
(25) Да, такое возможно. В конкретных решениях нужно анализировать базу артикулов на похожесть. Кроме того, Вы подали отличную идею насчет частоты результатов, которую я сейчас встроил в Simple UI и опробую. Обязательно напишу как это на практике.
Прикрепленные файлы:
29. protexprotex 125 02.12.19 10:08 Сейчас в теме
(28) Спасибо. Интересно узнать о результатах. Но я бы все же лучше привязался не просто к частоте появления, а (если выборка - ответов большая) вычислил -p*log(p) информационную энтропию о оперировал бы ей. Это было бы намного стабильней. Т.к. информационная энтропия учитывает вероятность появления (в контексте Вашей задачи) символа в распознанном артикуле.
informa1555; +1 Ответить
30. informa1555 1486 02.12.19 10:20 Сейчас в теме
(29) p-это вероятность же? какая там выборка должна быть как Вы считаете? Допустим у меня всего 2000 артикулов, из них для 1000 есть похожие варианты 3-4 наверное (для каждого из этих 100) - это очень приблизительно. FPS у меня допусти 5 в секунду. Сколько надо набрать измерений чтобы статистические методы работали?
31. protexprotex 125 02.12.19 11:58 Сейчас в теме
(30) Да. p - это вероятность. Но тут это ни к чему. На одном ответе нужно посчитать информационную энтропию. Выборка ответов - это не то что Ваша распознающая программа выдала, а это выборка ответов по Вашей базе артикулов (т.е. возможные артикулы). т.е.:
энтропия системы Вашего ответа программы является суммой с противоположным знаком всех относительных частот появления символов в данной позиции артикула, умноженных на их же двоичные(можно и натур. основание использовать - это от выбранной единицы измерения зависит) логарифмы. Т.е. получив артикул из распознающей программы Вы можете высчитать среднюю энтропию Вашего ответа. И чем она меньше, тем более достоверный у Вас результат. А вот уже по Вашей обучающей выборке можно посчитать какая вероятность (p) нахождения конкретного символа в данной позиции.
33. protexprotex 125 02.12.19 12:01 Сейчас в теме
(31) Там еще частоту появления в данной позиции артикула символа можно скоррелировать с частотой появления соседних с ним символов. Но это уже нужно применительно к конкретному формату артикула привязывать.
4. protexprotex 125 28.11.19 08:51 Сейчас в теме
5. informa1555 1486 28.11.19 09:04 Сейчас в теме
(4) Да это весьма познавательно, я тоже плотно занимаюсь ML и всем этим, но тут суть поста в другом - тестирование системы которую можно отдать кладовщикам в промышленную эксплуатацию. Которая быстро и 100% точно будет считывать. Это вроде бы похоже но кардинально отличается))
7. protexprotex 125 28.11.19 09:15 Сейчас в теме
(5) Вы какой метод применяете в своей разработке? - (моя продемонстрированная разработка очень старая - сейчас уже мой движок "ушел" на много дальше - сейчас там применяю AdaBoost, нейронные сети и быструю корреляцию. Контурный анализ тоже есть, но он очень чуствителен к шумам - и в итоге выделение контура без разрывов получается только на относительно качественных кадрах. Склеить контур тоже можно, но тут бывает проблема с близким расположением объектов интереса)
10. informa1555 1486 28.11.19 10:01 Сейчас в теме
(7) без понятия)) Гугл какой то использует. Мне даже не интересно. Интересуют только эксплуатационные характеристики
16. kiv1c 557 29.11.19 16:40 Сейчас в теме
Вот я тоже писал статью про использование Goggle Cloud Vision https://infostart.ru/public/586313/
17. protexprotex 125 29.11.19 16:55 Сейчас в теме
21. informa1555 1486 29.11.19 17:16 Сейчас в теме
(16) А это не тот сервис)) У меня Firebase ML Kit. У того чисто облачное распознавание как я понял.
theelectric; +1 Ответить
24. memb3r 02.12.19 08:50 Сейчас в теме
(21) Firebase - это облачные решения. У вас, как я понимаю, отрабатывает библиотека от Google vision и не используются возможности Firebase.
26. informa1555 1486 02.12.19 09:19 Сейчас в теме
(24) не только. Там модель 1 раз скачивается и все работает полностью оффлайн. Такой вот firebase для андроид. Я не знаю почему оно так называется. Насколько я понимаю у Гугл дублируются решения. Т.е. при выключенном вайфай, прочей связи и т.д. Проверено на пактике 100%. В видосе это работает на телефоне у которого нет симки и вайфай выключен.
18. memb3r 29.11.19 17:03 Сейчас в теме
У вас на картинке с шиной 0 не распознался?
20. informa1555 1486 29.11.19 17:13 Сейчас в теме
(18) сначала нет потом - да. Он делает несколько распознаваний в секунду и с нулем и без нуля, по всякому. По каждому распознаванию программа ищет. Как найдет, поиск прерывается. Скрин сделан в момент когда без нуля было, а долей секунды позже произошло распознавание.
34. dkvartal69@yandex.ru 29.04.20 18:09 Сейчас в теме
Интересны ваши решения. На базе своих разработок мобильное приложение создать сможете?
35. informa1555 1486 29.04.20 18:11 Сейчас в теме
(34)Спасибо. Конечно смогу. Тем и промышляю
36. dkvartal69@yandex.ru 30.04.20 08:58 Сейчас в теме
Отлично. Какие данные требуются от меня и каким образом (канал) можем пообщаться?
37. informa1555 1486 30.04.20 09:49 Сейчас в теме
(36) Здравствуйте! моя почта dv1555(собакен)hotmail.com. По почте отвечу по остальному.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Екатеринбург
зарплата от 80 000 руб. до 130 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Программист 1С
Санкт-Петербург
зарплата до 150 000 руб.
Полный день

Ведущий программист 1С
Москва
зарплата от 150 000 руб.
Полный день

Ведущий программист 1С (УТ 11)
Москва
зарплата до 200 000 руб.
Полный день