Как стать автором
Обновить

Оптическое распознавание символов и разбор чеков Rimi

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров2.3K

Некоторое время назад в нашей стране крупные сети магазинов стали вводить электронные чеки. В частности, магазины сети Rimi. Эти чеки покупатель получает по почте в виде PDF документа. У меня скопилось много таких чеков, и мне стало интересно посмотреть на разного рода статистику: например, на цены на различные товары в разное время, сколько чего было приобретено и т. п.

К сожалению, PDF документы, которые покупатели получают – это картинка. Получить интересующую меня информацию из них без оптического распознавания символов (OCR) невозможно. Однако, OCR, как оказалось, не на столько хорош, чтоб идеально справиться и точно всё распознать с первого раза. И это несмотря на то, что чеки достаточно хорошего качества: строки ровные, нет никаких артефактов в виде тёмных пятен, буквы достаточно одинаковые (правда присутствуют несколько разных шрифтов).

Читать далее
Всего голосов 13: ↑13 и ↓0+13
Комментарии20

Поиск нарушений на видео с помощью компьютерного зрения

Время на прочтение7 мин
Количество просмотров4.4K

Предположим, что данное нарушение возможно. Как же его выявить?

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

Будем искать все моменты на записи, где отсутствовал клиент. В этом нам поможет нейронная сеть MobileNet и CSRT Tracker из библиотеки opencv. А для удобства еще и Tesseract-OCR.

Чтобы найти человека в кадре будем использовать нейросеть MobileNet. Данная сеть позволяет обнаружить и локализовать 20 типов объектов на изображении. Для ее работы необходимо скачать два файла: архитектуру и веса. Данные файлы можно найти в репозитории Github.

Перед написанием кода нам понадобится установка библиотеки компьютерного зрения cv2 и пакета для обработки текста на изображениях pytesseract. 

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии2

Поиск нарушений на видео с помощью компьютерного зрения

Время на прочтение7 мин
Количество просмотров5.9K

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

Читать далее
Всего голосов 2: ↑1 и ↓10
Комментарии0

Поиграем в слова? Автоматическое распознавание букв и нахождение слов в игре Слово

Время на прочтение18 мин
Количество просмотров7.1K

В данной статье на примере проекта, архитектура которого приведена на фото, вы сможете найти ответы на следующие вопросы:

- Как работает алгоритм нахождения слов в игре типа Boggle?
- Как предобработать изображение для дальнейшего распознавания букв с помощью OpenCV?
- Как распознать буквы с помощью pytesseract?
- Как происходит клиент-серверное взаимодействие через TCP сокеты?
- Как связать Shortcut и приложение Pythonista?
- Как пробросить порты для взаимодействия с сервером в Docker?

Читать далее
Всего голосов 10: ↑9 и ↓1+8
Комментарии6

Как я дообучал Tesseract и что из этого получилось

Время на прочтение7 мин
Количество просмотров34K

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

Инструкция от разработчиков https://tesseract-ocr.github.io/tessdoc/Home.html не всегда сразу понятна и очевидна, поэтому и появилась мысль записать свой опыт в эту статью.

У меня на компьютере стоит Linux Mint 20.2 Cinnamon, поэтому все действия происходят в этой системе и я не могу гарантировать, что все получится точно так же в Windows или Mac.

Для начала необходимо установить бибилиотеку tesseract на компьютер. Делается это достаточно просто. Сначала проверю версию, которая уже установлена (как правило в комплекте с Linux уже есть пакет tesseract). В терминале набираем

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии6

Программа для распознавания текста и перевода AssistAnt

Время на прочтение5 мин
Количество просмотров5.9K

Хорош ли ваш английский? Мой – нет. По крайней мере точно недостаточно, чтобы обходиться без переводчика в играх.
Недолгий поиск бесплатных программ в интернете мне не помог. Возможно, я просто плохо искал :) Но когда я поймал себя на мысли, что сейчас возьму в руки сотовый и буду переводить экран с помощью камеры, я понял, что пора спасаться. И путь к спасению - сделать переводчик самому.
Я нашел широко известную в узких кругах программу распознавания текста Tesseract OCR и свободное API для Google Translate. В результате получилась программа, которая может на лету переводить выделенную надпись на экране. Выглядит это примерно так: вы зажимаете горячую клавишу Win+Alt и прямоугольной областью выделяете часть изображения, где находится непонятный текст. Область выделяется, только пока зажата горячая клавиша. Вуаля – перед вами перевод во всплывающей подсказке!

Читать далее
Всего голосов 12: ↑11 и ↓1+10
Комментарии33

Распознайте это немедленно

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров3K

Качественным, быстрым, устойчивым  - именно таким должен быть распознаватель! 

Всем привет! Распознаватель строки - элемент системы распознавания, о котором в первую очередь подумает обыватель, услышав о распознавании документов. А учитывая нынешний хайп вокруг нейронных сетей многим обязательно представится какая-то магия, замешанная на трансформерах и рекуррентности. Однако, как известно, магия вне Хогвартса запрещена и может быть опасна. Так что сегодня хотим рассказать, почему мы не используем рекуррентность и трансформеры в нашей системе и как же мы всё-таки получаем высокое качество. И приведем несколько замеров.

Поехали
Всего голосов 5: ↑5 и ↓0+5
Комментарии0