序文
アンケート調査の収集は、通常、市場調査や情報収集で最も一般的な社会調査方法の1つです。しかし、膨大なアンケート調査が収集された後、このような大量のデータを入力し、コンテンツを電子文書に変換するにはどうすればよいでしょうか。本日は、Huawei HMS ML Kitのフォーム認識サービスを統合することで、フォーム入力機能を簡単に実現できることをご紹介します。
アプリケーションシナリオ
Huawei HMS ML Kitテーブル認識サービスは、AIテクノロジーを使用して、テーブル構造情報(セルの行と列の情報および座標情報を含む)とテーブル内のテキスト情報(セル内のテキストコンテンツを含む)を認識して、入力画像から返します。サポート中国語と英語のテキストメッセージと句読点を認識します。フォーム認識サービスは、日常業務のシナリオで広く使用されています。たとえば、紙の質問票を多数集めた後、このサービスを通じて特定された質問票の内容を電子文書に変換できるため、手作業による入力コストが削減され、作業効率が大幅に向上します。
予防
- フォームの識別とフォームの特性を備えた質問票をサポートします。
- 画像内の複数のテーブルの認識をサポートしておらず、ヘッダーおよびフッター情報の取得もサポートしていません。
- 次の条件が満たされると、最高の認識効果が得られます(下の図を参照)。
撮影角度 | 平面傾斜角は5度未満です |
---|---|
フォームの完全性 | コーナーの欠落、曲がるテーブルライン、テーブルラインは連続していて途切れることはありません |
テーブルの内容 | 表のテキストは横向きです。背景色(地色)と表の表の線の色は、はっきりとしたコントラストが必要です。純粋な印刷テキストのみがサポートされています。表の写真、数式、手書き、シール、シールの認識は一時的にサポートされていません。ウォーターマークなど |
画像仕様 | 画像の長辺と短辺の比率は3:1未満(両端を含む)、解像度は960 * 960pxより大きく、画像内のテーブルの方向は正である必要があり、テーブルは画像領域の60%以上を占め、画像の中央にある必要があります |
開発ステップ
1.開発準備
詳細な準備手順については、Huawei DeveloperAllianceを参照してください。
https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides-V5/dev-process-0000001050038076-V5?ha_source=hms1
主な開発手順は次のとおりです。
1.1プロジェクトレベルのgradleでMavenウェアハウスアドレスを構成する
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ファイルヘッダー増加構成
SDKを統合した後、ファイルヘッダーに構成を追加します
apply plugin: 'com.android.application'
apply plugin: 'com.huawei.agconnect'
1.3アプリケーションレベルのgradleでSDKの依存関係を構成する
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 AndroidManifest.xmlファイルに次のステートメントを追加して、機械学習モデルを自動的に更新します
<meta-data
android:name="com.huawei.hms.ml.DEPENDENCY"
android:value= "fr"/>
1.5カメラの許可を申請する
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
2.コード開発
2.1フォーム認識アナライザーを作成します。
MLFormRecognitionAnalyzerSetting setting = new MLFormRecognitionAnalyzerSetting.Factory().create();
MLFormRecognitionAnalyzer analyzer = MLFormRecognitionAnalyzerFactory.getInstance().getFormRecognitionAnalyzer(setting);
2.2アナライザーがテーブルを認識するためにandroid.graphics.Bitmapを介してMLFrameオブジェクトを作成します。サポートされる画像形式は次のとおりです。jpg/ jpeg / png。推奨される画像サイズは960960ピクセル以上19201920ピクセル以下です。
MLFrame mlFrame = MLFrame.fromBitmap(bitmap);
2.3 asyncAnalyseFrame非同期メソッドまたはanalyzeFrame同期メソッドを呼び出してテーブルを識別します(JsonObjectオブジェクトのデータ構造定義については、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検出が完了したら、アナライザーを停止し、検出リソースを解放します。
if (analyzer != null) {
analyzer.stop();
}
総括する
Huaweiの機械学習フォーム認識サービスは、開発者に写真のフォームを認識するサービスを提供します。これは、手動入力の代わりに、アンケート調査データ収集などのアプリケーションシナリオで広く使用でき、コストを削減できます。
詳細については、以下を参照してください。
Huawei Developer Allianceの公式ウェブサイト:https://developer.huawei.com/consumer/cn/hms?ha_source=hms1
開発ガイダンス文書を入手する:https://developer.huawei.com/consumer/cn/doc/development?ha_source=hms1
開発者のディスカッションに参加するには、Redditコミュニティにアクセスしてください。https://www.reddit.com/r/HMSCore/
デモとサンプルコードをダウンロードするには、Githubにアクセスしてください。https://github.com/HMS-Core
統合の問題を解決するには、StackOverflowにアクセスしてください。https://stackoverflow.com/questions/tagged/huawei-mobile-services?tab=Newest
ご不明な点がある場合やサポートが必要な場合は、mlkit @ huawei.comまでお問い合わせください。
元のリンク:https://developer.huawei.com/consumer/cn/forum/topic/0204429136296960028?fid=18
著者:タイマー