Распознавание текста с помощью нейросетей Google Cloud Vision и 1С

09.08.22

Интеграция - WEB-интеграция

Возможности Google Cloud Vision в распознавании текста.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Обработка GoogleCloudVision
.epf 7,61Kb
34
34 Скачать (5 SM) Купить за 3 050 руб.
Обработка GoogleCloudVision для русского языка
.epf 7,69Kb
139
139 Скачать (5 SM) Купить за 3 050 руб.

ВНИМАНИЕ! Есть новая статья как сделать такую задачу на Яндекс Облаке.
Распознавание текста из изображений и PDF с помощью нейросетей Yandex Vision и 1С


Здравствуйте!

В этой статье я рассмотрю возможности распознавания текста (OCR) на чистом 1С с помощью нейросетей сервиса Google Cloud Vision.

Всё началось с того, что мне попалась на глаза статья на хабре о том, что можно очень легко использовать нейросети как сервис. Не нужно писать свою сеть и обучать ее, можно воспользоваться уже готовыми API. Принцип работы очень простой: нужно сделать POST запрос с картинкой, закодированной в base64, и получить json-ответ. И, разобрав его, программа может понять что изображено на картинке (Label detection) или же получить распознанный текст (OCR). Детальное описание возможностей Cloud Vision API можно посмотреть по ссылке. Работу с этим сервисом можно легко реализовать на чистом 1С, что я и сделал.

Регистрация в консоли разработчика и получение ключа. 

Для начала нужно зарегистрироваться в консоли разработчика по ссылке console.cloud.google.com. Нужно создать проект, включить для него Google Cloud Vision API. Далее в меню консоли необходимо перейти в Диспетчер API-учетные данные и создать ключ API, который будет использоваться для тестирования. В документации есть хорошая инструкция на английском. Если все было сделано верно, то ваша консоль должна выглядеть как на картинке ниже:

Формат json-запроса

Согласно инструкции сервису нужно прислать json с полями requests (массив)  image (объект с полем content где содержится base64-закодированное изображение) и features (массив с указанием нужного типа распознавания type, в данном случае TEXT_DETECTION).  Код, который это делает, можно посмотреть в приложенной внешней обработке. В итоге получается вот такой файл JSON:

{
"requests": [
{
"image": {
"content": "base64 image content"
},
"features": [
{
"type": "TEXT_DETECTION"
}
]
}
]
}

Получение ответа Google

Отправка данных осуществляется с помощью объекта HTTPСоединение по протоколу HTTPS (с установкой ЗащищенноеСоединениеOpenSSL) и метода ОтправитьДляОбработки. В него передается HTTPЗапрос с сформриованным json файлом для отправки,  заданным через метод УстановитьТелоИзДвоичныхДанных. В json-ответе Google нас интересует первый элемент с именем свойства description и его значение, в котором будет содержаться распознанный текст.

Попробуем отправить на распознавание картинку с английским текстом:

И вот что приходит в ответ, приведу фрагмент текста:

CEN Perform a wireless installation (wireless models only)
Before starting the installation, verify that the wireless access
point is working correctly, the computer is connected to the
network, and the product is turned on.
product, go
If there is not a solid blue light on the top of the to process A.
to
If there is a solid blue light on the top of the product, go process B.
1. Connect the USB cable between the computer and
the product. The HP Smart Install program (see picture

Как видно, получается очень хорошее качество распознавания.

 А теперь попробуем русский текст:

И вот что получается в ответе от Google:

A
KBMTaHUIA nepeBopa C KapTbl Ha KapTy
KOA aBTOpH3aUnn
npH BO3HMKHOBeHun np06neM, cooounTe HOMep KBHTaHurn onepaTopy
Konn-ueHTpa unu coTpYAHMKV OTAeneHMA
+7 495 78-888-78-ANA MOCKBbIM MOC KOBCKoi o6naCTIA
8 800 2000-000 -Ana pernOHOB P]4;
CyMMa nepeBoga:
1 285P

Да, печальный итог. Но, как подсказали в комментариях, оказывается нужно в запросе у свойства imageContext поставить  languageHints в ru.

Работа с русским языком

Как мне верно подсказали в комментариях, есть возможность указать язык для распознавания. Получается вот такой json-запрос:

{
"requests": 
[
	{
		"image": {
		"content": "base 64 image content"
		},
		"features": [
		{
		"type": "TEXT_DETECTION"
		}
		],
		"imageContext": {
		"languageHints": "ru"
		}
	}
]
}

Отправим для распознавания ту же самую квитанцию и получается очень хороший результат:

 

Выводы

Сама по себе возможность использовать мощнейшие нейросети Google с помощью несложных запросов впечатляет. 

Распознавание русского языка тоже работает весьма хорошо, таким образом может вполне составить конкуренцию ABBYY. И цены на распознавание у Google Cloud гораздо более низкие.

В приложенной к статье внешней обработке можно посмотреть код конструирования JSON запроса, отправки его через HTTPСоединение и получения ответа. 

PS Во вложении я добавил и новую версию обработки, которая формирует json запрос для распознавания русского языка.

OCR Google Cloud Распознавание текста

См. также

Оптовая торговля Розничная торговля WEB-интеграция 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Онлайн-заказ - это решение для автоматизации процесса оформления заказов на сайте в торговых организациях. Продукт обеспечивает легкое взаимодействие между компанией и клиентами через веб-интерфейс, интегрированный с 1С:Предприятие. Система позволяет снизить операционные расходы, повысить лояльность клиентов и оптимизировать работу отдела продаж.

57600 руб.

26.11.2024    1231    1    1    

4

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    18352    20    22    

18

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23): 1С:Управление торговлей, 1С:Управление Нашей фирмой 3, 1С:Комплексная автоматизация 2, Объединенное решение: Модуль 1С:CRM 3 (3.0.21.3) +1С:ERP Управление предприятием 2. При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

7200 руб.

04.05.2021    20561    13    19    

18

WEB-интеграция Программист Бизнес-аналитик Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

14400 руб.

20.12.2024    318    2    0    

5

WEB-интеграция Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    2467    1    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. sashapere 159 08.02.17 21:08 Сейчас в теме
2. TODD22 20 09.02.17 05:16 Сейчас в теме
распознавания текста (OCR) на чистом 1С с помощью нейросетей сервиса Google Cloud Vision

Так "на чистом 1С" или всё же "с помощью нейросети сервиса Google"? :)
ivanov660; RainyAugust22; CSiER; gzharkoj; +4 2 Ответить
5. kiv1c 818 09.02.17 10:29 Сейчас в теме
(2) ну я имел ввиду что для подключения к API не нужны внешние объекты, только встроенные в 1С HTTPЗапрос и HTTPСоединение
3. l1ike 09.02.17 07:42 Сейчас в теме
Для русского языка попробуйте явно указать languageHints
shakmaev; +1 Ответить
6. shakmaev 348 09.02.17 11:43 Сейчас в теме
7. kiv1c 818 09.02.17 13:41 Сейчас в теме
(6)
(3)
да, вы правы, указал languageHints и стало лучше. статью дополнил.
4. CSiER 36 09.02.17 09:57 Сейчас в теме
Лучше ocr от Adobe пока не встречал. Сервис от MS тоже не порадовал (там несколько api - пишу в контексте ocr).
8. zhuravlev_as 451 15.02.17 15:29 Сейчас в теме
Прикольно, а подобное же, но чтобы голос распознавал, возможно в 1С сделать?
9. kiv1c 818 15.02.17 16:51 Сейчас в теме
(8) думаю да, есть аж два варианта:
Google Cloud Speeсh API
и бесплатный и хороший Wit.Ai который используется например в Voicy bot в Телеграме
10. amoarok 105 27.03.17 12:45 Сейчас в теме
Веб-сервисы в облаках это конечно стильно, модно, молодёжно, но для таких красивых картинок хватит даже tesseract-ocr. Вот результат распознавания:
1>

Квитанция перевода с карты на карту

код авторизации

При возникновении проблем, сообщите номер квитанции оператору
колл-центра или сотруднику отделения

+7 495 78-888-78 - для Москвы и Московской области

8 800 2000-000 - для регионов РФ

Сумма перевода: 1 285 Р
Комиссия: 0 Р

Итого с комиссией: 1 285 Р
dadsilence; +1 Ответить
11. artik1994 27.03.17 13:29 Сейчас в теме
приходит ответ от сервера "Google developers console API activation"...
что это может быть?
12. tormozit 7245 02.04.17 00:50 Сейчас в теме
Распознавание текста на комбинированном языке (рус+англ) видел приличное только у ABBYY . Именно такое нужно в большинстве случаев при распознавании скриншотов. В частности ABBYY Screenshot reader отлично справляется с этой нелегкой задачей.
15. PLAstic 296 03.10.19 10:13 Сейчас в теме
(12)
ABBYY Screenshot reader

Я полазил по сайту и не нашёл, чтобы у данного продукта были методы API для распознавания файлов. Они есть?
16. tormozit 7245 03.10.19 10:56 Сейчас в теме
17. PLAstic 296 04.10.19 11:00 Сейчас в теме
(16) Я не говорил про стоимость. Как раз боюсь выложить деньги за несуществующую функциональность.
У данного продукта есть возможность распознавания текста из файла-картинки?
13. silberRus 73 10.04.18 14:49 Сейчас в теме
В обработке ты забыл коммент убрать
ИмяВремФайла = "D:\test_reqest.json";// ПолучитьИмяВременногоФайла("json");
не у всех есть диск или права на D
14. silberRus 73 10.04.18 17:32 Сейчас в теме
Блин гугл требует денег или пробный период на год где он дает кредит 300$ (
Anchoret; nano1c; +2 Ответить
18. CagoBHuK 33 29.11.19 10:33 Сейчас в теме
19. unduty 14.10.21 16:36 Сейчас в теме
Приходит сообщение
Google developers console billing

Что делаю не так?
Anchoret; +1 Ответить
20. Anchoret 67 15.04.22 15:05 Сейчас в теме
21. kiv1c 818 16.04.22 13:43 Сейчас в теме
(20) видимо бесплатное использование этого сервиса кончилось
22. malinko.vasiliy 7 21.04.22 14:21 Сейчас в теме
(19) санкции. Нужно привязать валидную карту в кабинет разработчика
23. SkyD 25.07.22 09:29 Сейчас в теме
Скажите вы строите запрос к картинке на гугл диске или локальной?
24. SkyD 26.07.22 13:01 Сейчас в теме
Как решили вопрос с Google developers console billing?
Оставьте свое сообщение