所有文档

          EasyDL定制AI训练平台

          iOS_SDK

          简介

          本文档描述货架拼接iOS SDK如何使用。

          系统支持

          系统:iOS 9.0 以上

          硬件:armv7 arm64 (Starndard architectures) (暂不支持模拟器)

          Release Notes

          时间 版本 说明
          2020.11.12 v2.0.0 新增支持排面统计占比
          2019.08.30 v1.0.0 第一版

          体验APP使用

          SDK的工程结构如下:

          ${SDK_ROOT}
            ├─ EasyDLStitch  // Demo工程文件
            ├─ images         // 资源文件
            ├─ RES         // 配置文件

          获取鉴权

          1. 进入EasyDL零售版的百度云控制台应用列表页面,如下图所示:

          1.png

          1. 如果还未创建应用,请点击「创建应用」按钮进行创建。创建应用后,参考鉴权参考文档,使用API Key(AK)和Secret Key(SK)获取access_token

          下载SDK包后,填写ak、sk等信息。在RES/conf.json相应位置填入:

          {
            "ak": "Mz0zhObvEZ6lnG1K3renXXXX", // API Key的值
          
            "sk": "188fRHYvLPmlPrNCDpBnkhL3ydXXXXX", // Secret Key的值
          
            "apiUrl": "https://aip.baidubce.com/rpc/2.0/ai_custom_retail/v1/detection/XXXX"  // 定制商品检测服务API
          }

          视频截帧频率设置

          体验APP中对视频截取帧的频率为1秒1帧,由于每个视频的帧数不能大于60,所以体验APP不能拼接长度大于60s的视频。开发者可根据实际情况调整截帧的频率,并相应限制视频长度。调整频率方法为修改easydl-stitch-ios/ViewController/StitchViewController.m第43行:

          static int frameInterval = 1;//截帧间隔(秒)

          并在合适的地方提示视频长度限制:

              UIAlertController *actionSheet = [UIAlertController alertControllerWithTitle:@"选择对象(视频长度不能超过60s)" message:nil preferredStyle:UIAlertControllerStyleActionSheet];

          SDK调用流程

          1. 创建任务:开始拼接整个流程
          2. 加货架图:上传图片
          3. 开始任务:启动货架拼接离线任务
          4. 查询任务:查询拼接任务的状态和结果

          其他:

          1. 取消任务:取消正在进行或者等待的任务
          2. 任务列表: 查询所有状态的任务列表
          3. 终止任务:终止正在进行或者等待的任务

          SDK接口说明

          创建拼接任务

          - (void)createSpliceTaskWithConfig:(NSDictionary *)config
                              successHandler:(SuccessBlock)successHandler
                                 failHandler:(FailureBlock)failHandler;

          其中config为参数,后面两个回调block。参数取值及描述:

          参数名称 是否必需 参数类型 描述 参数值限制
          api_url string 商品检测服务的url
          row_image_nums array[number] 各行待拼接货架图片的数量,array长度为货架图片的行数,array[i]为第i行的货架图片数量 行数不大于3,行内图片数量不大于60
          detection_threshold float 商品检测服务的阈值 默认值为商品检测服务的阈值,取值范围[0,1]
          nms_iou_threshold float 检测框矫准去重的阈值 默认值为0.45, 取值范围[0.2,0.8]

          返回参数以及其他信息详见文档货架拼接API调用方法

          上传图片

          - (void)uploadImageWithConfig:(NSDictionary *)config
                         successHandler:(SuccessBlock)successHandler
                            failHandler:(FailureBlock)failHandler ;

          其中config为参数,后面两个回调block。参数取值及描述:

          参数名称 是否必需 参数类型 描述 参数值限制
          task_id string 货架拼接任务id
          row number 图片对应行的index 取值从0开始,需小于创建任务参数row_image_nums的长度
          column number 图片在行内所在的index 取值从0开始,需小于创建任务参数row_image_nums[row]的取值
          image string 上传图片的base64编码

          返回参数以及其他信息详见文档货架拼接API调用方法

          启动拼接任务

          -(void)startSpliceTaskWithConfig:(NSDictionary *)config
                            successHandler:(SuccessBlock)successHandler
                               failHandler:(FailureBlock)failHandler;

          其中config为参数,后面两个回调block。参数取值及描述:

          参数名称 是否必需 参数类型 描述 参数值限制
          task_id string 货架拼接任务id

          返回参数以及其他信息详见文档货架拼接API调用方法

          查询任务状态

          -(void)queryTaskResultWithConfig:(NSDictionary *)config
                            successHandler:(SuccessBlock)successHandler
                               failHandler:(FailureBlock)failHandler;

          其中config为参数,后面两个回调block。参数取值及描述:

          参数名称 是否必需 参数类型 描述 参数值限制
          task_id string 货架拼接任务id

          返回参数以及其他信息详见文档货架拼接API调用方法

          查询任务列表

          -(void)listTaskWithConfig:(NSDictionary *)config
                            successHandler:(SuccessBlock)successHandler
                               failHandler:(FailureBlock)failHandler;

          其中config为参数,后面两个回调block。参数取值及描述:

          参数名称 是否必需 参数类型 描述 参数值限制
          task_ids array[string] 只返回指定id的任务信息
          begin_time number 只返回begin_time以后创建的任务信息 时间戳
          end_time number 只返回end_time之前创建的任务信息 时间戳

          返回参数以及其他信息详见文档货架拼接API调用方法

          终止任务

          -(void)terminateTaskWithConfig:(NSDictionary *)config
                            successHandler:(SuccessBlock)successHandler
                               failHandler:(FailureBlock)failHandler;

          其中config为参数,后面两个回调block。参数取值及描述:

          参数名称 是否必需 参数类型 描述 参数值限制
          task_id string 货架拼接任务id

          返回参数以及其他信息详见文档货架拼接API调用方法

          错误码

          错误码 说明
          200002 模型配置错误,请检查传入的配置文件是否有效
          100006 API ,AK/SK 换取token失败
          100007 API, 请求 API 失败

          接口错误码详见货架拼接API错误码

          上一篇
          SDK介绍
          下一篇
          Android_SDK