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

09.08.22

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

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

Скачать файлы

Наименование Файл Версия Размер
Обработка GoogleCloudVision
.epf 7,61Kb
33
.epf 7,61Kb 33 Скачать
Обработка GoogleCloudVision для русского языка
.epf 7,69Kb
136
.epf 7,69Kb 136 Скачать

ВНИМАНИЕ! Есть новая статья как сделать такую задачу на Яндекс Облаке.
Распознавание текста из изображений и 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 Распознавание текста

См. также

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

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

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме. Без существенных изменений типовой конфигурации. Проверено с брендами: Интеграция 1С и GEELY Интеграция 1С и HAVAL Интеграция 1С и KIA Интеграция 1С и FORD Интеграция 1С и LADA ГАРАНТИЯ 100% ВНЕДРЕНИЯ!

36000 руб.

03.08.2020    15660    9    17    

9

Модуль для обмена "1С:Предприятие 8. УАТ. ПРОФ" с FortMonitor

WEB-интеграция 8.3.8 Конфигурации 1cv8 Автомобили, автосервисы Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Расширение предназначено для конфигурации "1С:Предприятие 8. Управление Автотранспортом. ПРОФ". Функционал модуля: 1. Заполнение регистров сведений по подсистеме "Мониторинг", а именно: события по мониторингу, координаты по мониторингу, пробег и расход по мониторингу, текущее местоположение ТС по мониторингу 2. Заполнение путевого листа: пробег по мониторингу, время выезда/заезда, табличная часть ГСМ, места стоянок по геозонам. 3. Отчеты по данным загруженным в регистры сведений. 4. Предусмотрена автоматическая загрузка данных в фоновом режиме (условия работы данной загрузке читайте в описании товара) Модуль работает без включенной константы по настройкам мониторинга. Модуль формы предоставляется с открытым кодом, общий модуль защищен. Любой заинтересованный пользователь, имеет возможность скачать демо-версию расширения.

22656 руб.

25.05.2021    12809    30    8    

10

Интеграция 1С — Битрикс24. Обмен задачами

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

Интеграция 1С и Битрикс24. Разработка имеет двухстороннюю синхронизацию 1С и Битрикс24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (8.3.18.1289). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    17427    6    15    

13

[Расширение] БОР-Навигатор.Культура

Зарплата Бюджетный учет WEB-интеграция Обмен с ГосИС Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Расширение конфигурации, включающее в себя объекты, необходимые для подготовки и сдачи отчета "Штатная численность" системы "БОР-Навигатор.Культура" в программе "1С:Зарплата и кадры государственного учреждения", редакция 3.1.

8400 руб.

01.02.2019    25687    9    0    

7

Интеграция с сервисом vetmanager

WEB-интеграция Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    16260    41    49    

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

Так "на чистом 1С" или всё же "с помощью нейросети сервиса Google"? :)
ivanov660; RainyAugust22; CSiER; gzharkoj; +4 2 Ответить
5. kiv1c 809 09.02.17 10:29 Сейчас в теме
(2) ну я имел ввиду что для подключения к API не нужны внешние объекты, только встроенные в 1С HTTPЗапрос и HTTPСоединение
3. l1ike 09.02.17 07:42 Сейчас в теме
Для русского языка попробуйте явно указать languageHints
shakmaev; +1 Ответить
6. shakmaev 347 09.02.17 11:43 Сейчас в теме
7. kiv1c 809 09.02.17 13:41 Сейчас в теме
(6)
(3)
да, вы правы, указал languageHints и стало лучше. статью дополнил.
4. CSiER 35 09.02.17 09:57 Сейчас в теме
Лучше ocr от Adobe пока не встречал. Сервис от MS тоже не порадовал (там несколько api - пишу в контексте ocr).
8. zhuravlev_as 392 15.02.17 15:29 Сейчас в теме
Прикольно, а подобное же, но чтобы голос распознавал, возможно в 1С сделать?
9. kiv1c 809 15.02.17 16:51 Сейчас в теме
(8) думаю да, есть аж два варианта:
Google Cloud Speeсh API
и бесплатный и хороший Wit.Ai который используется например в Voicy bot в Телеграме
10. amoarok 98 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 7133 02.04.17 00:50 Сейчас в теме
Распознавание текста на комбинированном языке (рус+англ) видел приличное только у ABBYY . Именно такое нужно в большинстве случаев при распознавании скриншотов. В частности ABBYY Screenshot reader отлично справляется с этой нелегкой задачей.
15. PLAstic 295 03.10.19 10:13 Сейчас в теме
(12)
ABBYY Screenshot reader

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

Что делаю не так?
Anchoret; +1 Ответить
20. Anchoret 60 15.04.22 15:05 Сейчас в теме
21. kiv1c 809 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?
Оставьте свое сообщение