Распознавание текста с помощью нейросетей 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 разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    15933    13    18    

13

Интеграция 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    17888    6    15    

13

Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС

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

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

2400 руб.

28.04.2016    88943    163    216    

318

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

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

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

8400 руб.

01.02.2019    25873    9    0    

7

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

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

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

12000 руб.

02.02.2021    16479    42    49    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 Сейчас в теме
(3)Поддерживаю.
Ссылка на документ https://cloud.google.com/vision/docs/languages
+
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 395 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 7142 02.04.17 00:50 Сейчас в теме
Распознавание текста на комбинированном языке (рус+англ) видел приличное только у ABBYY . Именно такое нужно в большинстве случаев при распознавании скриншотов. В частности ABBYY Screenshot reader отлично справляется с этой нелегкой задачей.
+
15. PLAstic 295 03.10.19 10:13 Сейчас в теме
(12)
ABBYY Screenshot reader

Я полазил по сайту и не нашёл, чтобы у данного продукта были методы API для распознавания файлов. Они есть?
+
16. tormozit 7142 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?
+
Оставьте свое сообщение