LV人脸服务


添加人脸分析任务

<p>[TOC]</p> <h1>简要描述</h1> <ul> <li>通过该接口创建人物分析任务</li> </ul> <h1>请求URL</h1> <ul> <li><code>http://IP:PORT/LVFaceService/task/v1/face_analyze</code></li> </ul> <h1>请求方式</h1> <ul> <li>post</li> </ul> <h1>参数</h1> <h2>请求参数</h2> <h3>Body 参数</h3> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">必选</th> <th style="text-align: left;">类型</th> <th>说明</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">task_id</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>任务ID</td> <td>调用方要保证taskid的唯一性,可以使用uuid,英文、数字、下划线(_)、中划线(-)组成,不能包含中文及其他特殊字符</td> </tr> <tr> <td style="text-align: left;">file_path</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>分析文件</td> <td>当前只支持文件url,可以传递图片或视频</td> </tr> <tr> <td style="text-align: left;">resource_id</td> <td style="text-align: left;">否</td> <td style="text-align: left;">string</td> <td>资源ID</td> <td>待分析文件(file_path)对应的业务资源ID,当is_use_search_db为true时,必须填写,否则可以不填</td> </tr> <tr> <td style="text-align: left;">sync</td> <td style="text-align: left;">否</td> <td style="text-align: left;">bool</td> <td>是否同步返回</td> <td>只有图片资源分析时有效;图片分析支持同步返回结果,需要应用层等待分析结果</td> </tr> <tr> <td style="text-align: left;">person_db_ids</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string array</td> <td>人物库ID列表</td> <td>用于人脸识别,当前值支持一个,如果传递多个,使用第一个</td> </tr> <tr> <td style="text-align: left;">search_db_id</td> <td style="text-align: left;">否</td> <td style="text-align: left;">string</td> <td>搜索库</td> <td>如果分析的资源需要在后续进行人脸检索或人脸翻库,需要指定这个ID,否则不需要;搜索库会自动在引擎端创建</td> </tr> <tr> <td style="text-align: left;">recognite_min_simi</td> <td style="text-align: left;">否</td> <td style="text-align: left;">float</td> <td>人脸识别最小相似度</td> <td>默认0.71,分析人脸与人物库中人物的最小相似度</td> </tr> <tr> <td style="text-align: left;">aggregate_min_simi</td> <td style="text-align: left;">否</td> <td style="text-align: left;">float</td> <td>人物聚合相似度</td> <td>默认0.71,用于视频文件人脸分析阶段的聚合参考最小相似度,大于该值得人脸会被聚合到一起</td> </tr> <tr> <td style="text-align: left;">analyze_interval_ms</td> <td style="text-align: left;">否</td> <td style="text-align: left;">integer</td> <td>视频分析间隔</td> <td>默认1000,单位ms;指定视频文件抽帧分析间隔</td> </tr> <tr> <td style="text-align: left;">merge_max_interval_ms</td> <td style="text-align: left;">否</td> <td style="text-align: left;">integer</td> <td>视频人脸聚合最大时间间隔</td> <td>默认1000,单位ms;指定人脸聚合阶段人脸时间段合并的最大间隔,超出这个间隔,认为是不同的片段</td> </tr> <tr> <td style="text-align: left;">recog_model</td> <td style="text-align: left;">否</td> <td style="text-align: left;">string</td> <td>人脸向量提取模型</td> <td>默认arc</td> <td>--</td> </tr> <tr> <td style="text-align: left;">is_use_search_db</td> <td style="text-align: left;">否</td> <td style="text-align: left;">bool</td> <td>是否使用搜索库</td> <td>如果为true,分析的人脸内容将录入search_db_id指定的搜索库中,参与后续的检索或翻库;否则,分析数据不会保留</td> </tr> <tr> <td style="text-align: left;">is_need_add_face_id_task</td> <td style="text-align: left;">否</td> <td style="text-align: left;">bool</td> <td>测试参数:是否提交FaceID引擎人物</td> <td>当测试人员不需要从新分析素材,只需要测试分析聚合情况时,可以填写该字段为false,如果为false,就不会再次提交分析人脸向量的任务,会获取已经分析完成任务的结果作为本次任务的聚合输入</td> </tr> <tr> <td style="text-align: left;">face_filter_condition</td> <td style="text-align: left;">否</td> <td style="text-align: left;">object</td> <td>测试参数:该参数对应配置文件中的faceFilters参数;</td> <td>如果配置该参数,优先使用这个参数作为人脸过滤条件</td> </tr> <tr> <td style="text-align: left;">is_mark_face</td> <td style="text-align: left;">否</td> <td style="text-align: left;">bool</td> <td>测试参数:是否标记人脸</td> <td>如果填写,优先使用该参数,如果不填写,使用配置文件中的isMarkFace参数;作用:如果该参数为true,将进行抽帧处理,在人脸汇聚结束后标记人脸结果,用于结果查看</td> </tr> <tr> <td style="text-align: left;">mark_file</td> <td style="text-align: left;">否</td> <td style="text-align: left;">string</td> <td>测试参数:标注文件</td> <td>标注文件访问url,标注文件由标注工具生成</td> </tr> <tr> <td style="text-align: left;">param</td> <td style="text-align: left;">否</td> <td style="text-align: left;">object</td> <td>扩展参数</td> <td>具体参见TaskParam说明</td> </tr> </tbody> </table> <h4>TaskParam</h4> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">必选</th> <th style="text-align: left;">类型</th> <th>说明</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">test_resource_index</td> <td style="text-align: left;">否</td> <td style="text-align: left;">integer</td> <td>素材索引</td> <td>如果该参数不是空,说明该任务为造数据任务,任务中资源ID将与该参数结合形成新的资源ID,并将对应的人脸结果与新的资源ID关联录入到库中</td> </tr> <tr> <td style="text-align: left;">test_max_face_count</td> <td style="text-align: left;">否</td> <td style="text-align: left;">integer</td> <td>最大录入人脸数量</td> <td>默认500万,最多造多少人脸数据</td> </tr> </tbody> </table> <h3>请求样例</h3> <pre><code> post http://IP:PORT/LVFaceService/task/v1/face_analyze { &amp;quot;task_id&amp;quot;: &amp;quot;task001&amp;quot;, &amp;quot;file_path&amp;quot;: &amp;quot;http://114.255.110.195:8187/LVCallbackServer/00_FaceTest/LJH.mp4&amp;quot;, &amp;quot;resource_id&amp;quot;: &amp;quot;resource001&amp;quot;, &amp;quot;person_db_ids&amp;quot;: [ &amp;quot;PersonDB001&amp;quot; ], &amp;quot;search_db_id&amp;quot;: &amp;quot;SearchDB001&amp;quot;, &amp;quot;is_use_search_db&amp;quot;: true }</code></pre> <pre><code># 添加一条任务,不进行faceID任务添加 post http://IP:PORT/LVFaceService/task/v1/face_analyze { &amp;quot;task_id&amp;quot;: &amp;quot;task001&amp;quot;, &amp;quot;file_path&amp;quot;: &amp;quot;http://114.255.110.195:8187/LVCallbackServer/00_FaceTest/LJH.mp4&amp;quot;, &amp;quot;resource_id&amp;quot;: &amp;quot;resource001&amp;quot;, &amp;quot;person_db_ids&amp;quot;: [ &amp;quot;PersonDB001&amp;quot; ], &amp;quot;search_db_id&amp;quot;: &amp;quot;SearchDB001&amp;quot;, &amp;quot;is_use_search_db&amp;quot;: true, &amp;quot;is_need_add_face_id_task&amp;quot;: false }</code></pre> <pre><code># 添加一条任务,不进行faceID任务添加, 并按照过滤条件进行人脸过滤 post http://IP:PORT/LVFaceService/task/v1/face_analyze { &amp;quot;task_id&amp;quot;: &amp;quot;task001&amp;quot;, &amp;quot;file_path&amp;quot;: &amp;quot;http://114.255.110.195:8187/LVCallbackServer/00_FaceTest/LJH.mp4&amp;quot;, &amp;quot;resource_id&amp;quot;: &amp;quot;resource001&amp;quot;, &amp;quot;person_db_ids&amp;quot;: [ &amp;quot;PersonDB001&amp;quot; ], &amp;quot;search_db_id&amp;quot;: &amp;quot;SearchDB001&amp;quot;, &amp;quot;is_use_search_db&amp;quot;: true, &amp;quot;is_need_add_face_id_task&amp;quot;: false, &amp;quot;face_filter_condition&amp;quot;: [ { &amp;quot;maxSize&amp;quot;: 720, &amp;quot;minSize&amp;quot;: 0, &amp;quot;condition&amp;quot;: [[21, 0],[45,70],[9999,80]], &amp;quot;mixCondition&amp;quot;: [[40,10],[9999,30]] }, { &amp;quot;maxSize&amp;quot;: 1280, &amp;quot;minSize&amp;quot;: 720, &amp;quot;condition&amp;quot;: [[21, 0],[45,70],[9999,80]], &amp;quot;mixCondition&amp;quot;: [[70,10],[9999,30]] }, { &amp;quot;maxSize&amp;quot;: 1920, &amp;quot;minSize&amp;quot;: 1280, &amp;quot;condition&amp;quot;: [[40, 0],[60,70],[9999,75]], &amp;quot;mixCondition&amp;quot;: [[100,10],[9999,30]] }, { &amp;quot;maxSize&amp;quot;: 999999, &amp;quot;minSize&amp;quot;: 1920, &amp;quot;condition&amp;quot;: [[40, 0],[60,70],[9999,75]], &amp;quot;mixCondition&amp;quot;: [[100,10],[9999,30]] } ] }</code></pre> <pre><code>#造一千万人脸数据: post http://IP:PORT/LVFaceService/task/v1/face_analyze { &amp;quot;task_id&amp;quot;: &amp;quot;task001&amp;quot;, &amp;quot;file_path&amp;quot;: &amp;quot;http://114.255.110.195:8187/LVCallbackServer/00_FaceTest/LJH.mp4&amp;quot;, &amp;quot;resource_id&amp;quot;: &amp;quot;resource001&amp;quot;, &amp;quot;person_db_ids&amp;quot;: [ &amp;quot;PersonDB001&amp;quot; ], &amp;quot;search_db_id&amp;quot;: &amp;quot;SearchDB001&amp;quot;, &amp;quot;is_use_search_db&amp;quot;: true, &amp;quot;param&amp;quot;:{ &amp;quot;test_resource_index&amp;quot;:0, &amp;quot;test_max_face_count&amp;quot;:10000000 } }</code></pre> <h5>返回体示例</h5> <pre><code>{ &amp;quot;task_id&amp;quot;: &amp;quot;task001&amp;quot; } </code></pre> <h5>返回体说明</h5> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">必选</th> <th style="text-align: left;">类型</th> <th>说明</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">error</td> <td style="text-align: left;">否</td> <td style="text-align: left;">object</td> <td>错误信息</td> <td>如果返回该字段,说明服务报错;接口参见 ErrorInfo</td> </tr> <tr> <td style="text-align: left;">task_id</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>任务ID</td> <td>-</td> </tr> </tbody> </table> <h5>ErrorInfo</h5> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">必选</th> <th style="text-align: left;">类型</th> <th>说明</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">error_code</td> <td style="text-align: left;">是</td> <td style="text-align: left;">integer</td> <td>错误码</td> <td>--</td> </tr> <tr> <td style="text-align: left;">error_desc</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>错误描述</td> </tr> </tbody> </table> <h5>备注</h5> <ul> <li>更多返回错误代码请看首页的错误代码描述</li> </ul> <p>[TOC]</p> <h1>简要描述</h1> <ul> <li>通过该接口创建人物</li> </ul> <h1>请求URL</h1> <ul> <li><code>http://IP:PORT/LVFaceService/person</code></li> </ul> <h1>请求方式</h1> <ul> <li>put </li> </ul> <h1>参数</h1> <h2>请求参数</h2> <h3>Body 参数</h3> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">必选</th> <th style="text-align: left;">类型</th> <th>说明</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">db_id</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>库ID</td> <td>英文、数字、下划线(_)、中划线(-)组成,不能包含中文及其他特殊字符</td> </tr> <tr> <td style="text-align: left;">person_id</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>人物ID</td> <td>--</td> </tr> <tr> <td style="text-align: left;">person_name</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>人物姓名</td> <td>--</td> </tr> <tr> <td style="text-align: left;">person_des</td> <td style="text-align: left;">否</td> <td style="text-align: left;">string</td> <td>人物描述</td> <td>--</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">否</td> <td style="text-align: left;">object</td> <td>用户数据</td> <td>用户自定义数据</td> </tr> </tbody> </table> <h3>请求样例</h3> <pre><code> put http://IP:PORT/LVFaceService/person { &amp;quot;db_id&amp;quot;: &amp;quot;test001&amp;quot;, &amp;quot;person_id&amp;quot;: &amp;quot;person001&amp;quot;, &amp;quot;person_name&amp;quot;: &amp;quot;测试人物001&amp;quot;, &amp;quot;data&amp;quot;: { &amp;quot;testData&amp;quot;:&amp;quot;&amp;quot; } }</code></pre> <h5>返回体示例</h5> <pre><code>{ &amp;quot;db_id&amp;quot;: &amp;quot;test001&amp;quot;, &amp;quot;person_id&amp;quot;: &amp;quot;person001&amp;quot;, &amp;quot;person_name&amp;quot;: &amp;quot;测试人物001&amp;quot;, &amp;quot;data&amp;quot;: { &amp;quot;testData&amp;quot;: &amp;quot;&amp;quot; }, &amp;quot;create_time&amp;quot;: &amp;quot;2024-10-21 13:38:27&amp;quot; }</code></pre> <h5>返回体说明</h5> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">必选</th> <th style="text-align: left;">类型</th> <th>说明</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">error</td> <td style="text-align: left;">否</td> <td style="text-align: left;">object</td> <td>错误信息</td> <td>如果返回该字段,说明服务报错;接口参见 ErrorInfo</td> </tr> <tr> <td style="text-align: left;">db_id</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>库ID</td> <td>-</td> </tr> <tr> <td style="text-align: left;">person_id</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>人物名称</td> <td>--</td> </tr> <tr> <td style="text-align: left;">person_name</td> <td style="text-align: left;">否</td> <td style="text-align: left;">string</td> <td>人物姓名描述</td> <td>--</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">否</td> <td style="text-align: left;">object</td> <td>用户数据</td> <td>用户自定义数据结构</td> </tr> </tbody> </table> <h5>ErrorInfo</h5> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">必选</th> <th style="text-align: left;">类型</th> <th>说明</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">error_code</td> <td style="text-align: left;">是</td> <td style="text-align: left;">integer</td> <td>错误码</td> <td>--</td> </tr> <tr> <td style="text-align: left;">error_desc</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>错误描述</td> </tr> </tbody> </table> <h5>备注</h5> <ul> <li>更多返回错误代码请看首页的错误代码描述</li> </ul>

页面列表

ITEM_HTML