• 【HMS core】【ML Kit】机器学习服务常见问题FAQ(二)


    1、文本识别服务
    1.1、OCR打包后引入的证书问题

    问题描述:

    项目中依赖的SDK如下:

    	// 引入基础SDKapi "com.huawei.hms:ml-computer-vision-ocr:3.3.0.301"// 引入中英文文字识别模型包api "com.huawei.hms:ml-computer-vision-ocr-cn-model:3.3.0.301"

    问题:引入端侧OCR识别,不使用云侧版本,当App打包完成之后,assets目录下会有多个证书,这些证书是用来做什么的,请说明如下五个证书的用途?

    cke_1559.png

    问题解答:

    hmsrootcas.bks
    updataesdkcas.bks
    hmsincas.bks
    grs_sp.bks
    这些bks文件主要作用为资格验证和鉴权

    ag_sdk_cbg_root.cer
    证书被暴露作为公钥的预置,主要用于验签华为应用市场的合法性,这些证书没有安全风险,可以放心使用。

    2、实时语音识别服务
    2.1、asr中英文非华为手机是否可用

    问题描述:

    • 目前法语、西班牙语、德语、意大利语、阿拉伯语、俄语、泰语、马来语、菲律宾语实时语音识别服务仅支持华为手机和荣耀手机使用,中英文实时语音识别服务支持所有品牌手机。

    实时语音识别服务查看文档,其中中英文识别支持非华为手机,但是在服务价格文档里,如下图所示:

    cke_5302.png

    这里的意思是说华为手机免费,非华为手机收费吗?想确认以下几点:非华为手机是否可用,是否收费,美国是否可用?

    问题解答:

    Q:非华为手机是否可用?

    A:中英文支持非华为手机。

    Q:非华为手机是否收费?

    A:免费。

    Q:美国是否可用?

    A:美国在支持的国家/地区,可用。

    2.2、asr集成报错问题

    问题描述:

    环境: Unity2019.4.9f1导出的android Studio 工程

    Android Gradle Plugin Version : 3.4.3 

    Gradle Version : 6.8

    agconnect-services.json 文件放置于AS工程根目录中

    [build.gradle(Project:Build)] 文件内容:

    1. allprojects {
    2. buildscript {
    3. repositories {
    4. google()
    5. jcenter()
    6. // 配置HMS Core SDK的Maven仓地址。
    7. maven {url 'https://developer.huawei.com/repo/'}
    8. flatDir {
    9. dirs 'libs'
    10. }
    11. }
    12. dependencies {
    13. classpath 'com.android.tools.build:gradle:3.4.3'
    14. classpath 'com.huawei.agconnect:agcp:1.6.5.300'
    15. }
    16. }
    17. repositories {
    18. google()
    19. jcenter()
    20. flatDir {
    21. dirs "${project(':unityLibrary').projectDir}/libs"
    22. }
    23. maven { url "https://developer.huawei.com/repo/" }
    24. }
    25. }
    26. task clean(type: Delete) {
    27. delete rootProject.buildDir
    28. }

    [build.gradle(Module: Build.launcher)] 文件内容:

    1. apply plugin: 'com.android.application'
    2. apply plugin: 'com.huawei.agconnect'
    3. dependencies {
    4. implementation project(':unityLibrary')
    5. }
    6. android {
    7. compileSdkVersion 32
    8. buildToolsVersion '32.0.0'
    9. compileOptions {
    10. sourceCompatibility JavaVersion.VERSION_1_8
    11. targetCompatibility JavaVersion.VERSION_1_8
    12. }
    13. defaultConfig {
    14. minSdkVersion 24
    15. targetSdkVersion 32
    16. applicationId 'com.xxxxxxxxxxxxxxx'
    17. ndk {
    18. abiFilters 'armeabi-v7a', 'arm64-v8a'
    19. }
    20. versionCode 1
    21. versionName '1.00'
    22. }
    23. aaptOptions {
    24. noCompress = ['.tflite', '.unity3d', '.ress', '.resource', '.obb', 'html/privacy_policy.html', 'html/user_agreement.html']
    25. ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~"
    26. }
    27. lintOptions {
    28. abortOnError false
    29. }
    30. buildTypes {
    31. debug {
    32. minifyEnabled false
    33. useProguard false
    34. proguardFiles getDefaultProguardFile('proguard-android.txt')
    35. signingConfig signingConfigs.debug
    36. jniDebuggable true
    37. }
    38. release {
    39. minifyEnabled false
    40. useProguard false
    41. proguardFiles getDefaultProguardFile('proguard-android.txt')
    42. signingConfig signingConfigs.debug
    43. }
    44. }
    45. packagingOptions {
    46. doNotStrip '*/armeabi-v7a/*.so'
    47. doNotStrip '*/arm64-v8a/*.so'
    48. }
    49. bundle {
    50. language {
    51. enableSplit = false
    52. }
    53. density {
    54. enableSplit = false
    55. }
    56. abi {
    57. enableSplit = true
    58. }
    59. }
    60. ndkVersion '21.3.6528147'
    61. }

    [build.gradle(Module: Build.unityLibrary)] 文件内容:

    1. apply plugin: 'com.android.library'
    2. dependencies {
    3. implementation fileTree(dir: 'libs', include: ['*.jar'])
    4. implementation(name: 'alphabet-release', ext:'aar')
    5. implementation(name: 'android-gif-drawable-1.2.6', ext:'aar')
    6. implementation(name: 'AndroidPermissionManager', ext:'aar')
    7. implementation(name: 'arcore_client', ext:'aar')
    8. implementation(name: 'HUAWEI AR Engine Plugin_Required', ext:'aar')
    9. implementation(name: 'HUAWEI AR Engine SDK_v2.11.0', ext:'aar')
    10. implementation(name: 'HUAWEI_AR_Engine_UnityPlugin', ext:'aar')
    11. implementation(name: 'NatCorder', ext:'aar')
    12. implementation(name: 'NatRender', ext:'aar')
    13. implementation(name: 'ocr-release', ext:'aar')
    14. implementation(name: 'open_ad_sdk', ext:'aar')
    15. implementation(name: 'unityandroidpermissions', ext:'aar')
    16. implementation(name: 'UnityARCore', ext:'aar')
    17. implementation(name: 'UniWebView', ext:'aar')
    18. implementation(name: 'voice-release', ext:'aar')
    19. implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.4.31'
    20. implementation 'androidx.browser:browser:1.2.0'
    21. implementation 'org.tensorflow:tensorflow-lite:2.4.0'
    22. implementation 'org.tensorflow:tensorflow-lite-gpu:2.4.0'
    23. implementation 'com.squareup.okhttp3:okhttp:3.12.1'
    24. // classification
    25. implementation 'com.huawei.hms:ml-computer-vision-classification:3.4.0.304'
    26. implementation 'com.huawei.hms:ml-computer-vision-image-classification-model:3.4.0.304'
    27. // object detection
    28. implementation 'com.huawei.hms:ml-computer-vision-object-detection-model:3.4.0.300'
    29. // OCR
    30. implementation 'com.huawei.hms:ml-computer-vision-ocr:3.4.0.301'
    31. implementation 'com.huawei.hms:ml-computer-vision-ocr-cn-model:3.4.0.301'
    32. // Automatic speech recognition SDK.
    33. implementation 'com.huawei.hms:ml-computer-voice-asr:3.4.0.302'
    34. // Automatic speech recognition plugin.
    35. implementation 'com.huawei.hms:ml-computer-voice-asr-plugin:3.4.0.302'
    36. // Automatic speech recognition Long voice SDK.
    37. implementation 'com.huawei.hms:ml-computer-voice-realtimetranscription:3.4.0.302'
    38. //implementation 'com.huawei.hms:hianalytics:6.4.0.300'
    39. }
    40. android {
    41. compileSdkVersion 32
    42. buildToolsVersion '32.0.0'
    43. compileOptions {
    44. sourceCompatibility JavaVersion.VERSION_1_8
    45. targetCompatibility JavaVersion.VERSION_1_8
    46. }
    47. defaultConfig {
    48. minSdkVersion 24
    49. targetSdkVersion 32
    50. ndk {
    51. abiFilters 'armeabi-v7a', 'arm64-v8a'
    52. }
    53. versionCode 1
    54. versionName '1.00'
    55. consumerProguardFiles 'proguard-unity.txt'
    56. }
    57. lintOptions {
    58. abortOnError false
    59. }
    60. aaptOptions {
    61. ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~"
    62. }
    63. packagingOptions {
    64. doNotStrip '*/armeabi-v7a/*.so'
    65. doNotStrip '*/arm64-v8a/*.so'
    66. }
    67. ndkVersion '21.3.6528147'
    68. }

    ASR错误Log信息:

    2022-04-15 09:49:40.076 28731-29252/com.xxxxxxxx I/HaLogExecutor: type 1 mapValue:{package=com.xxxxxxxxx, appid=com.xxxxxxx, appName=xxxxx, version=ml-computer-voice-asr:3.4.0.302, service=MLKit, transId=65649995-1848-4baf-8c4f-03ad9b00cfbd, operator=46000, networkType=wifi, apkVersion=, apiName=, countryCode=CN, deviceType=TAS-AL00, emuiVersion=EmotionUI_12.0.0, moduleName=MLKitAsr, moduleVersion=3.4.0.302, deviceCategory=, applanguage=zh, speechStartTime=1649987379713, speechEndTime=, firstWordCost=, lastWordCost=, voiceStreamTime=, uploadVoiceSize=, textLength=, chainBuildingDelay=, result=40, resultDetail=[403002]Service unavailable} 

    2022-04-15 09:49:40.077 28731-28731/com.xxxxxxxxxx E/VoiceUtils: SpeechRecognitionListener::onError: ,subError code: 3002,errorMessage: Service unavailable

    OCR错误Log信息为:

    VoiceUtils: SpeechRecognitionListener::onError: ,subError code: 3002,errorMessage: Service unavailable

    OcrUtils: [Failure]Incorrect parameter. This exception is irrelevant to services.

    之前使用Unity2019.2.4f1导出AS工程,只有一个build.gradle, 在此环境中功能正常,现在使用的是Unity2019.4.9f1会报以上错误。

    问题解答:

    将agconnect-services.json配置文件放到应用的根目录下,不是整个工程的根目录下,如下图所示:

    cke_17107.png

    OK,今天的内容就这么多!

    欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh

  • 相关阅读:
    数据中心典型测试场景浅析
    打车系统网约车系统开发支持APP公众号H5小程序版本源码
    软件测试
    全国青少年软件编程等级考试标准 (预备级)1-4级
    在ubuntu20通过docker部署zabbix6
    Java 14 中, 对 NullPointerException 打印异常信息的改进增强
    【图像处理】openCV中生成掩膜区域的方式以及Points的规则
    SSH远程连接macOS服务器:通过cpolar内网穿透技术实现远程访问的设置方法
    六大科研工具推荐,外文文献阅读管理全都搞定!
    PHP校园失物招领网站系统mysql
  • 原文地址:https://blog.csdn.net/weixin_44708240/article/details/125897408