Динамическое добавление прогнозов OCR в настройку label-studio.

У меня есть студия лейблов на моем собственном веб-сайте с использованием JS. настройка выглядит так:

и это конфигурация label-studio:

        var data = JSON.parse(document.getElementById('annotations').textContent);
  var labelStudio = new LabelStudio('label-studio', {
    config: `
    <View>
  <Image name="image" value="$image"/>
  <Labels name="label" toName="image">
    <Label value="Printed" background="green"/>
    <Label value="Handwritten" background="blue"/>
  </Labels>
  <Rectangle name="bbox" toName="image" strokeWidth="3" canRotate="false"/>
  <TextArea name="transcription" toName="image" editable="true" perRegion="true" required="false" maxSubmissions="1" rows="5" placeholder="Recognized Text" displayMode="region-list"/>
</View>
    `,

    interfaces: [
      "panel",
      "controls",
      "update",
      "submit",
      "skip",
      "side-column",
      "annotations:menu",
      "annotations:tabs",
      "annotations:current",
      "annotations:add-new",
      "predictions:tabs",
      "predictions:menu",
      "topbar",
    ],

    user: {
      pk: {{ user.pk }},
      firstName: "{{ user.first_name }}",
      lastName: "{{ user.last_name }}"
    },

    task: {
      annotations: [ data ],
      id: {{ page.id }},
      data: {
        image: "{{ page.image.url }}"
      }
    },

    onLabelStudioLoad: function(LS) {
      var c = LS.annotationStore.addAnnotation({
        userGenerate: true
      });
      LS.annotationStore.selectAnnotation(c.id);
    },

    onSubmitAnnotation: function(LS, annotation) {
      console.log("annotation submitted");
      console.log(annotation);
    },

    onUpdateAnnotation: function(LS, annotation) {
      document.getElementById("loader").classList.remove("d-none");
      console.log("annotation Updated");
      console.log(annotation);
      console.log(annotation.serializeAnnotation());
      console.log(annotation.regionStore.regions);
    },

    onSkipTask: function(LS) {
      console.log('Task skipped');
    }
  });

Мне нужна возможность вызывать внешнюю модель API прогнозирования OCR (что-то вроде google-ocr), когда пользователь автоматически создает новую ограничивающую рамку аннотации, и сохранять результат этого вызова API в качестве транскрипции для этого региона. но проблема в том, что даже после поиска я не могу найти документацию о том, как создать/обновить транскрипцию региона изнутри функции JS. а также нет готового хука для нового региона, созданного в лейбл-студии.

Было бы очень полезно, если бы кто-нибудь мог указать, как включить вышеперечисленные функции, даже соответствующей документации о том, как это сделать, будет достаточно.

--Спасибо.

0 ответов

Другие вопросы по тегам