Un artículo integra fácilmente el servicio de reconocimiento de formularios del kit Huawei HMS ML

Prefacio

La recopilación de encuestas mediante cuestionarios es uno de los métodos de encuestas sociales más comunes, generalmente en las encuestas de mercado y la recopilación de información. Pero una vez recopilada la enorme encuesta de cuestionario, ¿cómo introducir una cantidad tan grande de datos y convertir el contenido en documentos electrónicos? Hoy, les presentaré para que realicen fácilmente la función de ingreso de formularios integrando el servicio de reconocimiento de formularios de Huawei HMS ML Kit.

Escenario de aplicación

El servicio de reconocimiento de tablas de Huawei HMS ML Kit utiliza tecnología de inteligencia artificial para reconocer y devolver la información de la estructura de la tabla (incluida la información de filas y columnas y la información de coordenadas de las celdas) e información de texto en la tabla (incluido el contenido de texto en las celdas) de las imágenes de entrada. Reconocer mensajes de texto y signos de puntuación en chino e inglés. El servicio de reconocimiento de formularios se usa ampliamente en escenarios de trabajo diario. Por ejemplo, después de recopilar una gran cantidad de cuestionarios en papel, el contenido del cuestionario identificado se puede convertir en documentos electrónicos a través de este servicio, lo que reduce los costos de entrada manual y mejora en gran medida la eficiencia del trabajo.

Precauciones

  • Apoyar la identificación de formularios y cuestionarios con características de formulario.
  • No admite el reconocimiento de varias tablas en la imagen y no admite la obtención de información de encabezado y pie de página.
  • El mejor efecto de reconocimiento se puede lograr cuando se cumplen las siguientes condiciones (como se muestra en la figura siguiente):
Ángulo de filmación El ángulo de inclinación del plano es inferior a 5 grados.
Completitud de la forma Sin esquinas faltantes, sin líneas de mesa dobladas, las líneas de la mesa son continuas e ininterrumpidas
Contenido de la tabla El texto de la tabla es horizontal. El color de fondo (color de fondo) y el color de la línea de la tabla en la tabla deben tener un contraste obvio. Solo se admite texto impreso puro. El reconocimiento de imágenes, fórmulas, escritura a mano, sellos y sellos en la tabla no se admiten temporalmente. Marca de agua, etc.
Especificaciones de la imagen La relación entre el lado largo y el lado corto de la imagen debe ser inferior a 3: 1 (inclusive), la resolución debe ser superior a 960 * 960px, la dirección de la tabla en la imagen debe ser positiva y la mesa ocupa más del 60% del área de la imagen y está en el medio de la imagen.

Pasos de desarrollo

1. Preparación para el desarrollo

Para conocer los pasos de preparación detallados, consulte Huawei Developer Alliance:
https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides-V5/dev-process-0000001050038076-V5?ha_source=hms1

Estos son los pasos de desarrollo clave.

1.1 Configurar la dirección del almacén de Maven en gradle a nivel de proyecto

buildscript {
    repositories {
        google()
        jcenter()
        maven {url 'https://developer.huawei.com/repo/'}
    }
    dependencies {
        ...
        classpath 'com.huawei.agconnect:agcp:1.4.1.300'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven {url 'https://developer.huawei.com/repo/'}
    }
}

1.2 Configuración de aumento de encabezado de archivo

Después de integrar el SDK, agregue la configuración al encabezado del archivo

apply plugin: 'com.android.application'
apply plugin: 'com.huawei.agconnect'

1.3 Configurar las dependencias del SDK en gradle a nivel de aplicación

dependencies{
    // 引入基础SDK
    implementation 'com.huawei.hms:ml-computer-vision-formrecognition:2.0.4.300'
    // 引入表格识别模型包
    implementation 'com.huawei.hms:ml-computer-vision-formrecognition-model:2.0.4.300'
}

1.4 Agregue la siguiente declaración al archivo AndroidManifest.xml para actualizar automáticamente el modelo de aprendizaje automático

 <meta-data
        android:name="com.huawei.hms.ml.DEPENDENCY"
        android:value= "fr"/>

1.5 Solicitar permiso de cámara

<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />

2. Desarrollo de código

2.1 Cree un analizador de reconocimiento de formularios.

MLFormRecognitionAnalyzerSetting setting = new MLFormRecognitionAnalyzerSetting.Factory().create();
MLFormRecognitionAnalyzer analyzer = MLFormRecognitionAnalyzerFactory.getInstance().getFormRecognitionAnalyzer(setting);

2.2 Cree un objeto MLFrame a través de android.graphics.Bitmap para que el analizador reconozca la tabla. Los formatos de imagen admitidos incluyen: jpg / jpeg / png. El tamaño de imagen recomendado no es inferior a 960 960 píxeles ni superior a 1920 1920 píxeles.

MLFrame mlFrame = MLFrame.fromBitmap(bitmap);

2.3 Invoque el método asincrónico asyncAnalyseFrame o el método sincrónico analyseFrame para identificar la tabla (para la definición de la estructura de datos del objeto JsonObject, consulte JsonObject).

// asyncAnalyseFrame异步调用。
Task<JsonObject> recognizeTask = analyzer.asyncAnalyseFrame(mlFrame);
recognizeTask.addOnSuccessListener(new OnSuccessListener<JsonObject>() {
    @Override
    public void onSuccess(JsonObject recognizeResult) {
        // 识别成功。
    }
}).addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(Exception e) {
        // 识别失败。
    }
});

// analyseFrame同步调用。
SparseArray<JsonObject> recognizeResult = analyzer.analyseFrame(mlFrame);
if (recognizeResult != null && recognizeResult.get(0).get("retCode").getAsInt() == MLFormRecognitionConstant.SUCCESS) {
    // 识别成功。
} else {
    // 识别失败。
}

2.4 Una vez completada la detección, detenga el analizador y libere los recursos de detección.

if (analyzer != null) {
    analyzer.stop();
}

Inserte la descripción de la imagen aquí

para resumir

El servicio de reconocimiento de formularios de aprendizaje automático de Huawei proporciona a los desarrolladores servicios para reconocer formularios en imágenes, que se pueden utilizar ampliamente en escenarios de aplicaciones, como la recopilación de datos de encuestas de cuestionarios, en lugar de la entrada manual y reducir los costos.

Para obtener más detalles, consulte:

Sitio web oficial de Huawei Developer Alliance:https://developer.huawei.com/consumer/cn/hms?ha_source=hms1

Obtenga documentos de orientación de desarrollo:https://developer.huawei.com/consumer/cn/doc/development?ha_source=hms1

Para participar en las discusiones de los desarrolladores, vaya a la comunidad de Reddit:https://www.reddit.com/r/HMSCore/

Para descargar la demostración y el código de muestra, vaya a Github:https://github.com/HMS-Core

Para resolver problemas de integración, vaya a Stack Overflow:https://stackoverflow.com/questions/tagged/huawei-mobile-services?tab=Newest

Si tiene alguna pregunta o necesita ayuda, contáctenos: [email protected]


Enlace original:https://developer.huawei.com/consumer/cn/forum/topic/0204429136296960028?fid=18

Autor: timer

Supongo que te gusta

Origin blog.51cto.com/14772288/2569381
Recomendado
Clasificación