1. 获取全局目标识别能力

1.1 命令

GET /ISAPI/Intelligent/channels/<channelID>/humanRecognition/capabilities

1.2 输入参数

1.3 输出参数

<?xml version="1.0" encoding="UTF-8"?>

<HumanRecognition xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
  <!--ro, req, object, 人体识别, attr:version{req, string, 协议版本, range:[,]}-->
  <id>
    <!--ro, req, string, 通道号, range:[,]-->test
  </id>
  <normalizedScreenSize>
    <!--ro, req, object, 归一化数值-->
    <normalizedScreenWidth>
      <!--ro, req, int, 归一化宽, range:[,], step:, unit:, unitType:-->1000
    </normalizedScreenWidth>
    <normalizedScreenHeight>
      <!--ro, req, int, 归一化高, range:[,], step:, unit:, unitType:-->1000
    </normalizedScreenHeight>
  </normalizedScreenSize>
  <HumanRecognitionRegionList size="8">
    <!--ro, opt, array, 人体识别区域列表, subType:object, range:[,], attr:size{req, int, 数组元素总数, range:[,], step:, unit:, unitType:}-->
    <HumanRecognitionRegion>
      <!--ro, opt, object, 人体识别区域-->
      <id>
        <!--ro, req, string, 区域id, range:[,]-->test
      </id>
      <regionName min="1" max="10">
        <!--ro, req, string, 区域名称, range:[,], attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:}-->test
      </regionName>
      <enabled opt="true,false">
        <!--ro, req, bool, 规则开关使能, attr:opt{req, string, 取值范围, range:[,]}-->true
      </enabled>
      <RegionCoordinatesList>
        <!--ro, opt, array, 区域坐标列表, subType:object, range:[3,10]-->
        <RegionCoordinates>
          <!--ro, opt, object, 区域坐标, desc:屏幕左下角坐标原点-->
          <positionX>
            <!--ro, req, int, X坐标, range:[0,1000], step:, unit:, unitType:-->1
          </positionX>
          <positionY>
            <!--ro, req, int, Y坐标, range:[0,1000], step:, unit:, unitType:-->1
          </positionY>
        </RegionCoordinates>
      </RegionCoordinatesList>
      <LineCoordinatesList size="2">
        <!--ro, opt, array, 线坐标列表, subType:object, range:[0,2], attr:size{req, int, 数组元素总数, range:[,], step:, unit:, unitType:}-->
        <LineCoordinates>
          <!--ro, opt, object, 线坐标, desc:屏幕左下角坐标原点-->
          <positionX>
            <!--ro, req, int, X坐标, range:[0,1000], step:, unit:, unitType:-->1
          </positionX>
          <positionY>
            <!--ro, req, int, Y坐标, range:[0,1000], step:, unit:, unitType:-->1
          </positionY>
        </LineCoordinates>
      </LineCoordinatesList>
    </HumanRecognitionRegion>
  </HumanRecognitionRegionList>
  <isSupportHumanMisinfoFilter>
    <!--ro, opt, bool, 人体去误报, desc:支持返回true,不支持不返回-->true
  </isSupportHumanMisinfoFilter>
  <isSupportPicRecognition>
    <!--ro, opt, bool, 图片二次识别, desc:支持返回true,不支持不返回-->true
  </isSupportPicRecognition>
  <HumanRecognitionModeSearchCap>
    <!--ro, opt, object, 认识识别模式查询能力-->
    <searchTargetsNumMax>
      <!--ro, req, int, 查询目标最大数目, range:[,], step:, unit:, unitType:-->5
    </searchTargetsNumMax>
    <HumanMode>
      <!--ro, opt, object, 人体模式-->
      <age_group opt="test">
        <!--ro, opt, enum, 年龄段, subType:string, [any#条件不限(搜索的时候使用),child#少年,infant#婴幼儿,kid#儿童,middle#中年,middleAged#中老年,old#老年,prime#壮年,teenager#青少年,unknown#未知,young#青年], attr:opt{req, string, 取值范围, range:[,]}-->unknown
      </age_group>
      <gender opt="test">
        <!--ro, opt, enum, 性别, subType:string, [any#条件不限(搜索的时候使用),female#女,male#男,unknown#未知], attr:opt{req, string, 取值范围, range:[,]}-->unknown
      </gender>
      <jacet_color opt="test">
        <!--ro, opt, enum, 上衣颜色, subType:string, [any#条件不限(搜索的时候使用),black#黑,blue#蓝,brown#棕,cyan#青,deepBlue#深蓝,deepGray#深灰,gray#灰,green#绿,mixture#混色,orange#橙,pink#粉,purple#紫,red#红,silver#银,unknown#未知,white#白,yellow#黄], attr:opt{req, string, 取值范围, range:[,]}-->unknown
      </jacet_color>
      <glass opt="test">
        <!--ro, opt, enum, 是否戴眼镜, subType:string, [no#不戴眼镜,sunglasses#戴墨镜,unknown#未知,yes#是], attr:opt{req, string, 取值范围, range:[,]}-->no
      </glass>
      <bag opt="test">
        <!--ro, opt, enum, 是否背包, subType:string, [no#否,unknown#未知,yes#是], attr:opt{req, string, 取值范围, range:[,]}-->yes
      </bag>
      <ride opt="test">
        <!--ro, opt, enum, 是否骑车, subType:string, [any#条件不限(搜索的时候使用),no#否,unknown#未知,yes#是], attr:opt{req, string, 取值范围, range:[,]}-->unknown
      </ride>
      <similarity min="0" max="100">
        <!--ro, opt, float, 相似度, range:[0.0,100.0], step:, unit:, unitType:, attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:}-->0.000
      </similarity>
    </HumanMode>
    <eventType opt="unlimit,humanRecognition">
      <!--ro, opt, enum, 事件类型, subType:string, [unlimit#不限,humanRecognition#人体事件], attr:opt{req, string, 取值范围, range:[,]}-->unlimit
    </eventType>
  </HumanRecognitionModeSearchCap>
  <analysisParamList>
    <!--ro, opt, array, 分析参数列表, subType:object, range:[,]-->
    <analysisParam>
      <!--ro, opt, object, 分析参数-->
      <analysisMode opt="normal,groupBehavior,individualBehavior">
        <!--ro, opt, enum, 分析模式, subType:string, [normal#普通模式(本字段未返回即为普通模式),groupBehavior#群体行为,individualBehavior#个体行为], attr:opt{req, string, 取值范围, range:[,]}-->normal
      </analysisMode>
      <captureInterval min="5" max="3600" def="12">
        <!--ro, opt, int, 抓拍间隔, range:[5,3600], step:, unit:s, unitType:时间, attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:},def{req, int, 默认值, range:[,], step:, unit:, unitType:}, desc:dep,if <analysisMode> is groupBehavior,仅群体分析模式支持-->12
      </captureInterval>
      <maxRegionNum>
        <!--ro, opt, int, 规则区域数目, range:[,], step:, unit:, unitType:, desc:个体分析仅支持一个区域-->1
      </maxRegionNum>
      <cruiseLinkageCapture opt="true,false">
        <!--ro, opt, bool, 巡航联动抓图使能, attr:opt{req, string, 取值范围, range:[,]}, desc:dep,if <analysisMode> is individualBehavior,个体分析模式时支持-->true
      </cruiseLinkageCapture>
      <analysisControl opt="auto,non-auto">
        <!--ro, opt, enum, 分析控制, subType:string, [auto#自动,non-auto#非自动], attr:opt{req, string, 取值范围, range:[,]}, desc:依赖于<analysisMode>==individualBehavior,auto(自动),non-auto(非自动),默认为自动模式,自动下个体异常行为识别走的是IPC报警图片去做分析,非自动下个体异常行为识别是设备向IPC抓图去作分析-->auto
      </analysisControl>
      <timeInterval min="1" max="60" def="12">
        <!--ro, opt, int, 异常行为识别时间间隔, range:[0,60], step:, unit:s, unitType:时间, attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:},def{req, int, 默认值, range:[,], step:, unit:, unitType:}, desc:依赖于<analysisMode>==groupBehavior或者(<analysisMode>==individualBehavior && <analysisControl>==non-auto)情况下支持-->1
      </timeInterval>
    </analysisParam>
  </analysisParamList>
  <isSupportConfidenceConfig>
    <!--ro, opt, bool, 人体目标识别置信度配置是否支持-->true
  </isSupportConfidenceConfig>
  <InterPupileRegion>
    <!--ro, opt, object, 区域, desc:屏幕左下角为坐标原点-->
    <positionX min="0" max="1000">
      <!--ro, req, int, x坐标, range:[0,1000], step:, unit:, unitType:, attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:}-->1
    </positionX>
    <positionY min="0" max="1000">
      <!--ro, req, int, y坐标, range:[0,1000], step:, unit:, unitType:, attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:}-->1
    </positionY>
    <width min="0" max="1000">
      <!--ro, req, int, 宽度, range:[0,1000], step:, unit:, unitType:, attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:}-->1
    </width>
    <height min="0" max="1000">
      <!--ro, req, int, 高度, range:[0,1000], step:, unit:, unitType:, attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:}-->1
    </height>
  </InterPupileRegion>
  <sid min="1" max="8">
    <!--ro, opt, string, 多场景id, range:[,], attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:}, desc:单场景max为1-->test
  </sid>
  <sceneDurationTime min="1" max="86400" def="5">
    <!--ro, opt, int, 场景停留时间, range:[1,86400], step:, unit:s, unitType:时间, attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:},def{req, int, 默认值, range:[,], step:, unit:, unitType:}-->1
  </sceneDurationTime>
  <targetCutout>
    <!--ro, opt, object, 目标抠图-->
    <enabled>
      <!--ro, opt, bool, 目标抠图使能-->true
    </enabled>
    <size>
      <!--ro, req, int, 抠取比例, range:[,], step:, unit:, unitType:-->1
    </size>
    <zoom>
      <!--ro, req, int, 缩放比例, range:[,], step:, unit:, unitType:-->1
    </zoom>
  </targetCutout>
  <isSupportpicOverlay>
    <!--ro, opt, bool, 是否支持学生姓名展示控制-->true
  </isSupportpicOverlay>
  <isSupportRealTimeShow>
    <!--ro, opt, bool, 是否支持实时展示控制-->true
  </isSupportRealTimeShow>
</HumanRecognition>

2. 获取全局目标识别配置

2.1 命令

GET /ISAPI/Intelligent/channels/<channelID>/humanRecognition

2.2 输入参数

2.3 输出参数

<?xml version="1.0" encoding="UTF-8"?>

<HumanRecognition xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
  <!--ro, req, object, 人体识别, attr:version{req, string, 协议版本, range:[,]}-->
  <id>
    <!--ro, req, string, 通道号, range:[,]-->test
  </id>
  <normalizedScreenSize>
    <!--ro, req, object, 归一化数值-->
    <normalizedScreenWidth>
      <!--ro, req, int, 归一化宽, range:[,], step:, unit:, unitType:-->1000
    </normalizedScreenWidth>
    <normalizedScreenHeight>
      <!--ro, req, int, 归一化高, range:[,], step:, unit:, unitType:-->1000
    </normalizedScreenHeight>
  </normalizedScreenSize>
  <HumanRecognitionRegionList>
    <!--ro, opt, array, 人体识别区域列表, subType:object, range:[,]-->
    <HumanRecognitionRegion>
      <!--ro, opt, object, 人体识别区域-->
      <id>
        <!--ro, req, string, 区域id, range:[,]-->test
      </id>
      <regionName>
        <!--ro, req, string, 区域名称, range:[,]-->test
      </regionName>
      <enabled>
        <!--ro, req, bool, 规则开关使能-->true
      </enabled>
      <RegionCoordinatesList size="10">
        <!--ro, opt, array, 区域坐标列表, subType:object, range:[3,10], attr:size{req, int, 数组元素总数, range:[,], step:, unit:, unitType:}-->
        <RegionCoordinates>
          <!--ro, opt, object, 区域坐标, desc:屏幕左下角为坐标原点-->
          <positionX>
            <!--ro, req, int, x坐标, range:[0,1000], step:, unit:, unitType:-->1
          </positionX>
          <positionY>
            <!--ro, req, int, y坐标, range:[0,1000], step:, unit:, unitType:-->1
          </positionY>
        </RegionCoordinates>
      </RegionCoordinatesList>
      <LineCoordinatesList size="2">
        <!--ro, opt, array, 线坐标列表, subType:object, range:[0,2], attr:size{req, int, 数组元素总数, range:[,], step:, unit:, unitType:}-->
        <LineCoordinates>
          <!--ro, opt, object, 线坐标, desc:屏幕左下角为坐标原点-->
          <positionX>
            <!--ro, req, int, x坐标, range:[0,1000], step:, unit:, unitType:-->1
          </positionX>
          <positionY>
            <!--ro, req, int, y坐标, range:[0,1000], step:, unit:, unitType:-->1
          </positionY>
        </LineCoordinates>
      </LineCoordinatesList>
    </HumanRecognitionRegion>
  </HumanRecognitionRegionList>
  <humanMisinfoFilterEnabled>
    <!--ro, opt, bool, 人体去误报使能-->true
  </humanMisinfoFilterEnabled>
  <picRecognitionEnabled>
    <!--ro, opt, bool, 图片二次识别使能-->true
  </picRecognitionEnabled>
  <analysisParam>
    <!--ro, opt, object, 分析参数-->
    <analysisMode>
      <!--ro, opt, enum, 分析模式, subType:string, [normal#普通模式(本字段未返回即为普通模式),groupBehavior#群体行为,individualBehavior#个体行为]-->normal
    </analysisMode>
    <captureInterval>
      <!--ro, opt, int, 抓拍间隔, range:[5,3600], step:, unit:s, unitType:时间, desc:dep,if <analysisMode> is groupBehavior,仅群体分析模式支持-->12
    </captureInterval>
    <maxRegionNum>
      <!--ro, opt, int, 规则区域数目, range:[,], step:, unit:, unitType:, desc:个体分析仅支持一个区域-->1
    </maxRegionNum>
    <cruiseLinkageCapture>
      <!--ro, opt, bool, 巡航联动抓图使能, desc:dep,if <analysisMode> is individualBehavior,个体分析模式时支持-->true
    </cruiseLinkageCapture>
    <analysisControl>
      <!--ro, opt, enum, 分析控制, subType:string, [auto#自动,non-auto#非自动], desc:依赖于<analysisMode>==individualBehavior,auto(自动),non-auto(非自动),默认为自动模式,自动下个体异常行为识别走的是IPC报警图片去做分析,非自动下个体异常行为识别是设备向IPC抓图去作分析-->auto
    </analysisControl>
    <timeInterval>
      <!--ro, opt, int, 异常行为识别时间间隔, range:[0,60], step:, unit:s, unitType:时间, desc:依赖于<analysisMode>==groupBehavior或者(<analysisMode>==individualBehavior && <analysisControl>==non-auto)情况下支持-->1
    </timeInterval>
  </analysisParam>
  <InterPupileRegion>
    <!--ro, opt, object, 区域, desc:屏幕左下角为坐标原点-->
    <positionX>
      <!--ro, req, int, x坐标, range:[0,1000], step:, unit:, unitType:-->1
    </positionX>
    <positionY>
      <!--ro, req, int, y坐标, range:[0,1000], step:, unit:, unitType:-->1
    </positionY>
    <width>
      <!--ro, req, int, 宽度, range:[0,1000], step:, unit:, unitType:-->1
    </width>
    <height>
      <!--ro, req, int, 高度, range:[0,1000], step:, unit:, unitType:-->1
    </height>
  </InterPupileRegion>
  <targetCutout>
    <!--ro, opt, object, 目标抠图-->
    <enabled>
      <!--ro, opt, bool, 目标抠图使能-->true
    </enabled>
    <size>
      <!--ro, req, int, 抠取比例, range:[,], step:, unit:, unitType:-->1
    </size>
    <zoom>
      <!--ro, req, int, 缩放比例, range:[,], step:, unit:, unitType:-->1
    </zoom>
  </targetCutout>
  <realTimeShowEnabled>
    <!--ro, opt, bool, 显示实时框使能-->true
  </realTimeShowEnabled>
</HumanRecognition>

3. 配置全局目标识别

3.1 命令

PUT /ISAPI/Intelligent/channels/<channelID>/humanRecognition

3.2 输入参数

<?xml version="1.0" encoding="UTF-8"?>

<HumanRecognition xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
  <!--req, object, 人体识别, attr:version{req, string, 协议版本, range:[,]}-->
  <id>
    <!--req, string, 通道号, range:[,]-->test
  </id>
  <normalizedScreenSize>
    <!--req, object, 归一化数值-->
    <normalizedScreenWidth>
      <!--req, int, 归一化宽, range:[,], step:, unit:, unitType:-->1000
    </normalizedScreenWidth>
    <normalizedScreenHeight>
      <!--req, int, 归一化高, range:[,], step:, unit:, unitType:-->1000
    </normalizedScreenHeight>
  </normalizedScreenSize>
  <HumanRecognitionRegionList>
    <!--opt, array, 人体识别区域列表, subType:object, range:[,]-->
    <HumanRecognitionRegion>
      <!--opt, object, 人体识别区域-->
      <id>
        <!--req, string, 区域id, range:[,]-->test
      </id>
      <regionName>
        <!--req, string, 区域名称, range:[,]-->test
      </regionName>
      <enabled>
        <!--req, bool, 规则开关使能-->true
      </enabled>
      <RegionCoordinatesList size="10">
        <!--opt, array, 区域坐标列表, subType:object, range:[3,10], attr:size{req, int, 数组元素总数, range:[,], step:, unit:, unitType:}-->
        <RegionCoordinates>
          <!--opt, object, 区域坐标, desc:屏幕左下角为坐标原点-->
          <positionX>
            <!--req, int, x坐标, range:[0,1000], step:, unit:, unitType:-->1
          </positionX>
          <positionY>
            <!--req, int, y坐标, range:[0,1000], step:, unit:, unitType:-->1
          </positionY>
        </RegionCoordinates>
      </RegionCoordinatesList>
      <LineCoordinatesList size="2">
        <!--opt, array, 线坐标列表, subType:object, range:[0,2], attr:size{req, int, 数组元素总数, range:[,], step:, unit:, unitType:}-->
        <LineCoordinates>
          <!--opt, object, 线坐标, desc:屏幕左下角为坐标原点-->
          <positionX>
            <!--req, int, x坐标, range:[0,1000], step:, unit:, unitType:-->1
          </positionX>
          <positionY>
            <!--req, int, y坐标, range:[0,1000], step:, unit:, unitType:-->1
          </positionY>
        </LineCoordinates>
      </LineCoordinatesList>
    </HumanRecognitionRegion>
  </HumanRecognitionRegionList>
  <humanMisinfoFilterEnabled>
    <!--opt, bool, 人体去误报使能-->true
  </humanMisinfoFilterEnabled>
  <picRecognitionEnabled>
    <!--opt, bool, 图片二次识别使能-->true
  </picRecognitionEnabled>
  <analysisParam>
    <!--opt, object, 分析参数-->
    <analysisMode>
      <!--opt, enum, 分析模式, subType:string, [normal#普通模式(本字段未返回即为普通模式),groupBehavior#群体行为,individualBehavior#个体行为]-->normal
    </analysisMode>
    <captureInterval>
      <!--opt, int, 抓拍间隔, range:[5,3600], step:, unit:s, unitType:时间, desc:dep,if <analysisMode> is groupBehavior,仅群体分析模式支持-->12
    </captureInterval>
    <maxRegionNum>
      <!--opt, int, 规则区域数目, range:[,], step:, unit:, unitType:, desc:个体分析仅支持一个区域-->1
    </maxRegionNum>
    <cruiseLinkageCapture>
      <!--opt, bool, 巡航联动抓图使能, desc:dep,if <analysisMode> is individualBehavior,个体分析模式时支持-->true
    </cruiseLinkageCapture>
    <analysisControl>
      <!--opt, enum, 分析控制, subType:string, [auto#自动,non-auto#非自动], desc:依赖于<analysisMode>==individualBehavior,auto(自动),non-auto(非自动),默认为自动模式,自动下个体异常行为识别走的是IPC报警图片去做分析,非自动下个体异常行为识别是设备向IPC抓图去作分析-->auto
    </analysisControl>
    <timeInterval>
      <!--opt, int, 异常行为识别时间间隔, range:[0,60], step:, unit:s, unitType:时间, desc:依赖于<analysisMode>==groupBehavior或者(<analysisMode>==individualBehavior && <analysisControl>==non-auto)情况下支持-->1
    </timeInterval>
  </analysisParam>
  <InterPupileRegion>
    <!--opt, object, 区域, desc:屏幕左下角为坐标原点-->
    <positionX>
      <!--req, int, x坐标, range:[0,1000], step:, unit:, unitType:-->1
    </positionX>
    <positionY>
      <!--req, int, y坐标, range:[0,1000], step:, unit:, unitType:-->1
    </positionY>
    <width>
      <!--req, int, 宽度, range:[0,1000], step:, unit:, unitType:-->1
    </width>
    <height>
      <!--req, int, 高度, range:[0,1000], step:, unit:, unitType:-->1
    </height>
  </InterPupileRegion>
  <targetCutout>
    <!--opt, object, 目标抠图-->
    <enabled>
      <!--opt, bool, 目标抠图使能-->true
    </enabled>
    <size>
      <!--req, int, 抠取比例, range:[,], step:, unit:, unitType:-->1
    </size>
    <zoom>
      <!--req, int, 缩放比例, range:[,], step:, unit:, unitType:-->1
    </zoom>
  </targetCutout>
  <realTimeShowEnabled>
    <!--opt, bool, 显示实时框使能-->true
  </realTimeShowEnabled>
</HumanRecognition>

3.3 输出参数

<?xml version="1.0" encoding="UTF-8"?>

<ResponseStatus xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
  <!--ro, req, object, 响应消息, attr:version{ro, req, string, 版本, range:[,]}-->
  <requestURL>
    <!--ro, req, string, 请求的URL, range:[,]-->null
  </requestURL>
  <statusCode>
    <!--ro, req, enum, 状态码, subType:int, [0#OK,1#OK,2#Device Busy,3#Device Error,4#Invalid Operation,5#Invalid XML Format,6#Invalid XML Content,7#Reboot Required]-->0
  </statusCode>
  <statusString>
    <!--ro, req, enum, 状态信息, subType:string, [OK#成功,Device Busy#设备忙,Device Error#设备异常,Invalid Operation#无效的操作,Invalid XML Format#无效的XML格式,Invalid XML Content#无效的XML内容,Reboot#设备重启]-->OK
  </statusString>
  <subStatusCode>
    <!--ro, req, string, 详细错误码英文描述, range:[,], desc:详细错误码的英文描述-->OK
  </subStatusCode>
</ResponseStatus>

4. 获取全局目标识别区域批量配置

4.1 命令

GET /ISAPI/Intelligent/channels/<channelID>/humanRecognition/regions

4.2 输入参数

4.3 输出参数

<?xml version="1.0" encoding="UTF-8"?>

<HumanRecognitionRegionList xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
  <!--ro, req, array, 人体识别区域列表, subType:object, range:[,], attr:version{req, string, 协议版本, range:[,]}-->
  <HumanRecognitionRegion>
    <!--ro, opt, object, 人体识别区域-->
    <id>
      <!--ro, req, string, 区域索引, range:[,]-->test
    </id>
    <regionName>
      <!--ro, req, string, 区域名称, range:[,]-->test
    </regionName>
    <enabled>
      <!--ro, req, bool, 规则开关使能-->true
    </enabled>
    <RegionCoordinatesList size="10">
      <!--ro, opt, array, 区域坐标列表, subType:object, range:[3,10], attr:size{req, int, 数组元素总数, range:[,], step:, unit:, unitType:}-->
      <RegionCoordinates>
        <!--ro, opt, object, 区域坐标, desc:屏幕左下角为坐标原点-->
        <positionX>
          <!--ro, req, int, x坐标, range:[0,1000], step:, unit:, unitType:-->0
        </positionX>
        <positionY>
          <!--ro, req, int, y坐标, range:[0,1000], step:, unit:, unitType:-->0
        </positionY>
      </RegionCoordinates>
    </RegionCoordinatesList>
    <LineCoordinatesList size="10">
      <!--ro, opt, array, 线坐标列表, subType:object, range:[0,2], attr:size{req, int, 数组元素总数, range:[,], step:, unit:, unitType:}-->
      <LineCoordinates>
        <!--ro, opt, object, 线坐标, desc:屏幕左下角为坐标原点-->
        <positionX>
          <!--ro, req, int, x坐标, range:[0,1000], step:, unit:, unitType:-->0
        </positionX>
        <positionY>
          <!--ro, req, int, y坐标, range:[0,1000], step:, unit:, unitType:-->0
        </positionY>
      </LineCoordinates>
    </LineCoordinatesList>
  </HumanRecognitionRegion>
</HumanRecognitionRegionList>

5. 配置全局目标识别批量区域

5.1 命令

PUT /ISAPI/Intelligent/channels/<channelID>/humanRecognition/regions

5.2 输入参数

<?xml version="1.0" encoding="UTF-8"?>

<HumanRecognitionRegionList xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
  <!--req, array, 人体识别区域列表, subType:object, range:[,], attr:version{req, string, 协议版本, range:[,]}-->
  <HumanRecognitionRegion>
    <!--opt, object, 人体识别区域-->
    <id>
      <!--req, string, 区域索引, range:[,]-->test
    </id>
    <regionName>
      <!--req, string, 区域名称, range:[,]-->test
    </regionName>
    <enabled>
      <!--req, bool, 规则开关使能-->true
    </enabled>
    <RegionCoordinatesList size="10">
      <!--opt, array, 区域坐标列表, subType:object, range:[3,10], attr:size{req, int, 数组元素总数, range:[,], step:, unit:, unitType:}-->
      <RegionCoordinates>
        <!--opt, object, 区域坐标, desc:屏幕左下角为坐标原点-->
        <positionX>
          <!--req, int, x坐标, range:[0,1000], step:, unit:, unitType:-->0
        </positionX>
        <positionY>
          <!--req, int, y坐标, range:[0,1000], step:, unit:, unitType:-->0
        </positionY>
      </RegionCoordinates>
    </RegionCoordinatesList>
    <LineCoordinatesList size="10">
      <!--opt, array, 线坐标列表, subType:object, range:[0,2], attr:size{req, int, 数组元素总数, range:[,], step:, unit:, unitType:}-->
      <LineCoordinates>
        <!--opt, object, 线坐标, desc:屏幕左下角为坐标原点-->
        <positionX>
          <!--req, int, x坐标, range:[0,1000], step:, unit:, unitType:-->0
        </positionX>
        <positionY>
          <!--req, int, y坐标, range:[0,1000], step:, unit:, unitType:-->0
        </positionY>
      </LineCoordinates>
    </LineCoordinatesList>
  </HumanRecognitionRegion>
</HumanRecognitionRegionList>

5.3 输出参数

<?xml version="1.0" encoding="UTF-8"?>

<ResponseStatus xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
  <!--ro, req, object, 响应消息, attr:version{ro, req, string, 版本, range:[,]}-->
  <requestURL>
    <!--ro, req, string, 请求的URL, range:[,]-->null
  </requestURL>
  <statusCode>
    <!--ro, req, enum, 状态码, subType:int, [0#OK,1#OK,2#Device Busy,3#Device Error,4#Invalid Operation,5#Invalid XML Format,6#Invalid XML Content,7#Reboot Required]-->0
  </statusCode>
  <statusString>
    <!--ro, req, enum, 状态信息, subType:string, [OK#成功,Device Busy#设备忙,Device Error#设备异常,Invalid Operation#无效的操作,Invalid XML Format#无效的XML格式,Invalid XML Content#无效的XML内容,Reboot#设备重启]-->OK
  </statusString>
  <subStatusCode>
    <!--ro, req, string, 详细错误码英文描述, range:[,], desc:详细错误码的英文描述-->OK
  </subStatusCode>
</ResponseStatus>

6. 获取全局目标识别区域(单个)

6.1 命令

GET /ISAPI/Intelligent/channels/<channelID>/humanRecognition/regions/<regionID>

6.2 输入参数

6.3 输出参数

<?xml version="1.0" encoding="UTF-8"?>

<HumanRecognitionRegion xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
  <!--ro, req, object, 人体识别区域, attr:version{req, string, 协议版本, range:[,]}-->
  <id>
    <!--ro, req, string, 区域索引, range:[,]-->test
  </id>
  <regionName>
    <!--ro, req, string, 区域名称, range:[,]-->test
  </regionName>
  <enabled>
    <!--ro, req, bool, 规则开关使能-->true
  </enabled>
  <RegionCoordinatesList size="10">
    <!--ro, opt, array, 区域坐标列表, subType:object, range:[3,10], attr:size{req, int, 数组元素总数, range:[,], step:, unit:, unitType:}-->
    <RegionCoordinates>
      <!--ro, opt, object, 区域坐标, desc:屏幕左下角为坐标原点-->
      <positionX>
        <!--ro, req, int, x坐标, range:[0,1000], step:, unit:, unitType:-->0
      </positionX>
      <positionY>
        <!--ro, req, int, y坐标, range:[0,1000], step:, unit:, unitType:-->0
      </positionY>
    </RegionCoordinates>
  </RegionCoordinatesList>
  <LineCoordinatesList size="10">
    <!--ro, opt, array, 线坐标列表, subType:object, range:[0,2], attr:size{req, int, 数组元素总数, range:[,], step:, unit:, unitType:}-->
    <LineCoordinates>
      <!--ro, opt, object, 线坐标, desc:屏幕左下角为坐标原点-->
      <positionX>
        <!--ro, req, int, x坐标, range:[0,1000], step:, unit:, unitType:-->0
      </positionX>
      <positionY>
        <!--ro, req, int, y坐标, range:[0,1000], step:, unit:, unitType:-->0
      </positionY>
    </LineCoordinates>
  </LineCoordinatesList>
</HumanRecognitionRegion>

7. 配置全局目标识别区域(单个)

7.1 命令

PUT /ISAPI/Intelligent/channels/<channelID>/humanRecognition/regions/<regionID>

7.2 输入参数

<?xml version="1.0" encoding="UTF-8"?>

<HumanRecognitionRegion xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
  <!--req, object, 人体识别区域, attr:version{req, string, 协议版本, range:[,]}-->
  <id>
    <!--req, string, 区域索引, range:[,]-->test
  </id>
  <regionName>
    <!--req, string, 区域名称, range:[,]-->test
  </regionName>
  <enabled>
    <!--req, bool, 规则开关使能-->true
  </enabled>
  <RegionCoordinatesList size="10">
    <!--opt, array, 区域坐标列表, subType:object, range:[3,10], attr:size{req, int, 数组元素总数, range:[,], step:, unit:, unitType:}-->
    <RegionCoordinates>
      <!--opt, object, 区域坐标, desc:屏幕左下角为坐标原点-->
      <positionX>
        <!--req, int, x坐标, range:[0,1000], step:, unit:, unitType:-->0
      </positionX>
      <positionY>
        <!--req, int, y坐标, range:[0,1000], step:, unit:, unitType:-->0
      </positionY>
    </RegionCoordinates>
  </RegionCoordinatesList>
  <LineCoordinatesList size="10">
    <!--opt, array, 线坐标列表, subType:object, range:[0,2], attr:size{req, int, 数组元素总数, range:[,], step:, unit:, unitType:}-->
    <LineCoordinates>
      <!--opt, object, 线坐标, desc:屏幕左下角为坐标原点-->
      <positionX>
        <!--req, int, x坐标, range:[0,1000], step:, unit:, unitType:-->0
      </positionX>
      <positionY>
        <!--req, int, y坐标, range:[0,1000], step:, unit:, unitType:-->0
      </positionY>
    </LineCoordinates>
  </LineCoordinatesList>
</HumanRecognitionRegion>

7.3 输出参数

<?xml version="1.0" encoding="UTF-8"?>

<ResponseStatus xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
  <!--ro, req, object, 响应消息, attr:version{ro, req, string, 版本, range:[,]}-->
  <requestURL>
    <!--ro, req, string, 请求的URL, range:[,]-->null
  </requestURL>
  <statusCode>
    <!--ro, req, enum, 状态码, subType:int, [0#OK,1#OK,2#Device Busy,3#Device Error,4#Invalid Operation,5#Invalid XML Format,6#Invalid XML Content,7#Reboot Required]-->0
  </statusCode>
  <statusString>
    <!--ro, req, enum, 状态信息, subType:string, [OK#成功,Device Busy#设备忙,Device Error#设备异常,Invalid Operation#无效的操作,Invalid XML Format#无效的XML格式,Invalid XML Content#无效的XML内容,Reboot#设备重启]-->OK
  </statusString>
  <subStatusCode>
    <!--ro, req, string, 详细错误码英文描述, range:[,], desc:详细错误码的英文描述-->OK
  </subStatusCode>
</ResponseStatus>

8. 获取人体识别图片参数能力

8.1 命令

GET /ISAPI/Intelligent/channels/<channelID>/humanRecognition/picParam/capabilities

8.2 输入参数

8.3 输出参数

<?xml version="1.0" encoding="UTF-8"?>

<HumanRecognitionPicParamCap xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
  <!--ro, opt, object, 人体识别图片参数配置能力, attr:version{req, string, 协议版本, range:[,]}-->
  <humanPicUploadEnabled opt="true,false">
    <!--ro, req, bool, 人体小图上传开关使能, attr:opt{req, string, 取值范围, range:[,]}-->true
  </humanPicUploadEnabled>
  <CaptureResolutionType opt="deviceRecognitionRange,eyeRecognitionRange,FaceRecognitionRange,manuallyRecognitionRange">
    <!--ro, opt, enum, 抓拍分辨率类型, subType:string, [deviceRecognitionRange#设备识别范围,eyeRecognitionRange#人眼识别范围,FaceRecognitionRange#人脸抓拍范围,manuallyRecognitionRange#手动识别范围], attr:opt{req, string, 取值范围, range:[,]}-->deviceRecognitionRange
  </CaptureResolutionType>
  <RecognitionPix>
    <!--ro, req, object, 视频识别过滤像素, desc:dep  manuallyRecognitionRange-->
    <maxPix min="0" max="10">
      <!--ro, req, int, 最大像素, range:[,], step:, unit:, unitType:, attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:}-->0
    </maxPix>
    <minPix min="0" max="10">
      <!--ro, req, int, 最小像素, range:[,], step:, unit:, unitType:, attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:}-->0
    </minPix>
  </RecognitionPix>
  <CaptureRatioCoefficient min="0" max="100" def="50">
    <!--ro, opt, int, 抓拍倍率系数, range:[0,100], step:, unit:, unitType:, attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:},def{req, int, 默认值, range:[,], step:, unit:, unitType:}-->0
  </CaptureRatioCoefficient>
  <CaptureVerticalOffsetCoefficient min="0" max="100" def="50">
    <!--ro, opt, int, 抓拍垂直偏移系数, range:[0,100], step:, unit:, unitType:, attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:},def{req, int, 默认值, range:[,], step:, unit:, unitType:}-->0
  </CaptureVerticalOffsetCoefficient>
  <subGraphCoefficient min="1" max="3" def="1">
    <!--ro, opt, int, 子图倍率系数, range:[1,3], step:, unit:, unitType:, attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:},def{req, int, 默认值, range:[,], step:, unit:, unitType:}, desc:用于控制目标子图相对于目标框的大小,便于后续算法分析-->1
  </subGraphCoefficient>
  <captureStayDuration min="2" max="10" def="5">
    <!--ro, opt, int, 抓拍停留时间, range:[2,10], step:, unit:, unitType:, attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:},def{req, int, 默认值, range:[,], step:, unit:, unitType:}-->2
  </captureStayDuration>
  <TargetImgInfoCap>
    <!--ro, opt, object, 目标抓图相关配置能力-->
    <targetImgType opt="custom,head,headShoulders,human">
      <!--ro, opt, enum, 目标抓图类型, subType:string, [custom#自定义,head#大头照,headShoulders#上半身照即头肩照,human#全身照], attr:opt{req, string, 取值范围, range:[,]}-->custom
    </targetImgType>
    <TargetImgSize>
      <!--ro, opt, object, 目标图抓图大小, desc:当targetImgType == custom时生效-->
      <widthRatio min="1.0" max="5.0">
        <!--ro, req, float, 目标抓图宽度比例倍数, range:[1,5], step:, unit:, unitType:, attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:}-->1
      </widthRatio>
      <upperPartHeightRatio min="1.0" max="3.0">
        <!--ro, req, float, 目标抓图上半部分高度比例倍数, range:[,], step:, unit:, unitType:, attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:}, desc:目标下巴以上部分-->0.000
      </upperPartHeightRatio>
      <underPartHeightRatio min="0" max="10.0">
        <!--ro, req, float, 目标抓图下半部分高度比例倍数, range:[,], step:, unit:, unitType:, attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:}, desc:目标下巴以下部分-->0.000
      </underPartHeightRatio>
    </TargetImgSize>
    <fixedPixelEnable opt="true,false">
      <!--ro, opt, bool, 目标抓图固定像素使能, attr:opt{req, string, 取值范围, range:[,]}-->true
    </fixedPixelEnable>
    <heightPixel min="50" max="400" def="100">
      <!--ro, opt, int, 目标抓图高度像素值, range:[,], step:, unit:, unitType:, attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:},def{req, int, 默认值, range:[,], step:, unit:, unitType:}, desc:当fixedPixelEnable == true时生效-->1
    </heightPixel>
    <HeadTargetImgSizeCap>
      <!--ro, opt, object, 大头照尺寸能力-->
      <widthRatio min="1.0" max="5.0">
        <!--ro, req, float, 目标抓图宽度比例倍数, range:[,], step:, unit:, unitType:, attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:}-->0.000
      </widthRatio>
      <upperPartHeightRatio min="1.0" max="3.0">
        <!--ro, req, float, 目标抓图上半部分高度比例倍数, range:[,], step:, unit:, unitType:, attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:}, desc:目标下巴以上部分-->0.000
      </upperPartHeightRatio>
      <underPartHeightRatio min="0" max="10.0">
        <!--ro, req, float, 目标抓图下半部分高度比例倍数, range:[,], step:, unit:, unitType:, attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:}, desc:目标下巴以下部分-->0.000
      </underPartHeightRatio>
    </HeadTargetImgSizeCap>
    <HeadShouldersTargetImgSizeCap>
      <!--ro, opt, object, 上半身照即头肩照尺寸能力-->
      <widthRatio min="1.0" max="5.0">
        <!--ro, req, float, 目标抓图宽度比例倍数, range:[,], step:, unit:, unitType:, attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:}-->0.000
      </widthRatio>
      <upperPartHeightRatio min="1.0" max="3.0">
        <!--ro, req, float, 目标抓图上半部分高度比例倍数, range:[,], step:, unit:, unitType:, attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:}, desc:目标下巴以上部分-->0.000
      </upperPartHeightRatio>
      <underPartHeightRatio min="0" max="10.0">
        <!--ro, req, float, 目标抓图下半部分高度比例倍数, range:[,], step:, unit:, unitType:, attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:}, desc:目标下巴以下部分-->0.000
      </underPartHeightRatio>
    </HeadShouldersTargetImgSizeCap>
    <HumanShouldersTargetImgSizeCap>
      <!--ro, opt, object, 全身照尺寸能力-->
      <widthRatio min="1.0" max="5.0">
        <!--ro, req, float, 目标抓图宽度比例倍数, range:[,], step:, unit:, unitType:, attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:}-->0.000
      </widthRatio>
      <upperPartHeightRatio min="1.0" max="3.0">
        <!--ro, req, float, 目标抓图上半部分高度比例倍数, range:[,], step:, unit:, unitType:, attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:}, desc:目标下巴以上部分-->0.000
      </upperPartHeightRatio>
      <underPartHeightRatio min="0" max="10.0">
        <!--ro, req, float, 目标抓图下半部分高度比例倍数, range:[,], step:, unit:, unitType:, attr:min{req, int, 最小值, range:[,], step:, unit:, unitType:},max{req, int, 最大值, range:[,], step:, unit:, unitType:}, desc:目标下巴以下部分-->0.000
      </underPartHeightRatio>
    </HumanShouldersTargetImgSizeCap>
  </TargetImgInfoCap>
</HumanRecognitionPicParamCap>

9. 获取人体识别图片参数

9.1 命令

GET /ISAPI/Intelligent/channels/<channelID>/humanRecognition/picParam

9.2 输入参数

9.3 输出参数

<?xml version="1.0" encoding="UTF-8"?>

<HumanRecognitionPicParam xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
  <!--ro, req, object, 人体识别图片参数配置, attr:version{req, string, 协议版本, range:[,]}-->
  <humanPicUploadEnabled>
    <!--ro, req, bool, 人体小图上传开关使能-->true
  </humanPicUploadEnabled>
  <CaptureResolutionType>
    <!--ro, opt, enum, 抓拍分辨率类型, subType:string, [deviceRecognitionRange#设备识别范围,eyeRecognitionRange#人眼识别范围,FaceRecognitionRange#人脸抓拍范围,manuallyRecognitionRange#手动识别范围]-->deviceRecognitionRange
  </CaptureResolutionType>
  <RecognitionPix>
    <!--ro, req, object, 视频识别过滤像素-->
    <maxPix>
      <!--ro, req, int, 最大像素, range:[,], step:, unit:, unitType:-->0
    </maxPix>
    <minPix>
      <!--ro, req, int, 最小像素, range:[,], step:, unit:, unitType:-->0
    </minPix>
  </RecognitionPix>
  <CaptureRatioCoefficient>
    <!--ro, opt, int, 抓拍倍率系数, range:[,], step:, unit:, unitType:-->0
  </CaptureRatioCoefficient>
  <CaptureVerticalOffsetCoefficient>
    <!--ro, opt, int, 抓拍垂直偏移系数, range:[0,100], step:, unit:, unitType:-->0
  </CaptureVerticalOffsetCoefficient>
  <subGraphCoefficient>
    <!--ro, opt, int, 子图倍率系数, range:[1,3], step:, unit:, unitType:, desc:用于控制目标子图相对于目标框的大小,便于后续算法分析,默认1-->1
  </subGraphCoefficient>
  <captureStayDuration>
    <!--ro, opt, int, 抓拍停留时间, range:[2,10], step:, unit:, unitType:, desc:默认5s-->2
  </captureStayDuration>
  <TargetImgInfo>
    <!--ro, opt, object, 目标抓图相关配置能力-->
    <targetImgType>
      <!--ro, opt, enum, 目标抓图类型, subType:string, [custom#自定义,head#大头照,headShoulders#上半身照即头肩照,human#全身照]-->custom
    </targetImgType>
    <TargetImgSize>
      <!--ro, opt, object, 目标图抓图大小, desc:当targetImgType == custom时生效-->
      <widthRatio>
        <!--ro, req, float, 目标抓图宽度比例倍数, range:[,], step:, unit:, unitType:-->0.000
      </widthRatio>
      <upperPartHeightRatio>
        <!--ro, req, float, 目标抓图上半部分高度比例倍数, range:[,], step:, unit:, unitType:, desc:目标下巴以上部分-->0.000
      </upperPartHeightRatio>
      <underPartHeightRatio>
        <!--ro, req, float, 目标抓图下半部分高度比例倍数, range:[,], step:, unit:, unitType:, desc:目标下巴以下部分-->0.000
      </underPartHeightRatio>
    </TargetImgSize>
    <fixedPixelEnable>
      <!--ro, opt, bool, 目标抓图固定像素使能-->true
    </fixedPixelEnable>
    <heightPixel>
      <!--ro, opt, int, 目标抓图高度像素值, range:[,], step:, unit:, unitType:, desc:当fixedPixelEnable == true时生效-->1
    </heightPixel>
  </TargetImgInfo>
</HumanRecognitionPicParam>

10. 配置人体识别图片参数

10.1 命令

PUT /ISAPI/Intelligent/channels/<channelID>/humanRecognition/picParam

10.2 输入参数

<?xml version="1.0" encoding="UTF-8"?>

<HumanRecognitionPicParam xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
  <!--opt, object, 人体识别图片参数配置, attr:version{req, string, 协议版本, range:[,]}-->
  <humanPicUploadEnabled>
    <!--req, bool, 人体小图上传开关使能-->true
  </humanPicUploadEnabled>
  <CaptureResolutionType>
    <!--opt, enum, 抓拍分辨率类型, subType:string, [deviceRecognitionRange#设备识别范围,eyeRecognitionRange#人眼识别范围,FaceRecognitionRange#人脸抓拍范围,manuallyRecognitionRange#手动识别范围]-->deviceRecognitionRange
  </CaptureResolutionType>
  <RecognitionPix>
    <!--req, object, 视频识别过滤像素-->
    <maxPix>
      <!--req, int, 最大像素, range:[,], step:, unit:, unitType:-->0
    </maxPix>
    <minPix>
      <!--req, int, 最小像素, range:[,], step:, unit:, unitType:-->0
    </minPix>
  </RecognitionPix>
  <CaptureRatioCoefficient>
    <!--opt, int, 抓拍倍率系数, range:[,], step:, unit:, unitType:-->0
  </CaptureRatioCoefficient>
  <CaptureVerticalOffsetCoefficient>
    <!--opt, int, 抓拍垂直偏移系数, range:[0,100], step:, unit:, unitType:-->0
  </CaptureVerticalOffsetCoefficient>
  <subGraphCoefficient>
    <!--opt, int, 子图倍率系数, range:[1,3], step:, unit:, unitType:, desc:用于控制目标子图相对于目标框的大小,便于后续算法分析,默认1-->1
  </subGraphCoefficient>
  <captureStayDuration>
    <!--opt, int, 抓拍停留时间, range:[2,10], step:, unit:, unitType:, desc:默认5s-->2
  </captureStayDuration>
  <TargetImgInfo>
    <!--opt, object, 目标抓图相关配置能力-->
    <targetImgType>
      <!--opt, enum, 目标抓图类型, subType:string, [custom#自定义,head#大头照,headShoulders#上半身照即头肩照,human#全身照]-->custom
    </targetImgType>
    <TargetImgSize>
      <!--opt, object, 目标图抓图大小, desc:当targetImgType == custom时生效-->
      <widthRatio>
        <!--req, float, 目标抓图宽度比例倍数, range:[,], step:, unit:, unitType:-->0.000
      </widthRatio>
      <upperPartHeightRatio>
        <!--req, float, 目标抓图上半部分高度比例倍数, range:[,], step:, unit:, unitType:, desc:目标下巴以上部分-->0.000
      </upperPartHeightRatio>
      <underPartHeightRatio>
        <!--req, float, 目标抓图下半部分高度比例倍数, range:[,], step:, unit:, unitType:, desc:目标下巴以下部分-->0.000
      </underPartHeightRatio>
    </TargetImgSize>
    <fixedPixelEnable>
      <!--opt, bool, 目标抓图固定像素使能-->true
    </fixedPixelEnable>
    <heightPixel>
      <!--opt, int, 目标抓图高度像素值, range:[,], step:, unit:, unitType:, desc:当fixedPixelEnable == true时生效-->1
    </heightPixel>
  </TargetImgInfo>
</HumanRecognitionPicParam>

10.3 输出参数

<?xml version="1.0" encoding="UTF-8"?>

<ResponseStatus xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
  <!--ro, req, object, 响应消息, attr:version{ro, req, string, 版本, range:[,]}-->
  <requestURL>
    <!--ro, req, string, 请求的URL, range:[,]-->null
  </requestURL>
  <statusCode>
    <!--ro, req, enum, 状态码, subType:int, [0#OK,1#OK,2#Device Busy,3#Device Error,4#Invalid Operation,5#Invalid XML Format,6#Invalid XML Content,7#Reboot Required]-->0
  </statusCode>
  <statusString>
    <!--ro, req, enum, 状态信息, subType:string, [OK#成功,Device Busy#设备忙,Device Error#设备异常,Invalid Operation#无效的操作,Invalid XML Format#无效的XML格式,Invalid XML Content#无效的XML内容,Reboot#设备重启]-->OK
  </statusString>
  <subStatusCode>
    <!--ro, req, string, 详细错误码英文描述, range:[,], desc:详细错误码的英文描述-->OK
  </subStatusCode>
</ResponseStatus>

11. 获取全局目标识别联动参数

11.1 命令

GET /ISAPI/Event/triggers/humanRecognition-<channelID>

11.2 输入参数

11.3 输出参数

<?xml version="1.0" encoding="UTF-8"?>

<EventTrigger xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
  <!--ro, req, object, 联动参数, attr:version{req, string, 协议版本, range:[,]}-->
  <id>
    <!--ro, req, string, 索引, range:[,], desc:由事件类型-通道号组成-->humanRecognition-1
  </id>
  <eventType>
    <!--ro, req, string, 事件类型, range:[,]-->humanRecognition
  </eventType>
  <eventDescription>
    <!--ro, opt, string, 事件描述, range:[,]-->test
  </eventDescription>
  <inputIOPortID>
    <!--ro, opt, string, 报警输入口, range:[,]-->test
  </inputIOPortID>
  <dynInputIOPortID>
    <!--ro, opt, string, 数字通道报警输入口, range:[,]-->test
  </dynInputIOPortID>
  <videoInputChannelID>
    <!--ro, opt, string, 视频输入通道ID, range:[,]-->1
  </videoInputChannelID>
  <dynVideoInputChannelID>
    <!--ro, opt, string, 动态视频输入通道ID, range:[,]-->1
  </dynVideoInputChannelID>
  <intervalBetweenEvents>
    <!--ro, opt, int, 事件抓拍间隔, range:[,], step:, unit:s, unitType:时间-->1
  </intervalBetweenEvents>
  <WLSensorID>
    <!--ro, opt, string, 无线ID, range:[,]-->1
  </WLSensorID>
  <EventTriggerNotificationList>
    <!--ro, opt, array, 联动方式列表, subType:object, range:[,]-->
    <EventTriggerNotification>
      <!--ro, opt, object, 联动方式-->
      <id>
        <!--ro, req, string, 索引, range:[,]-->test
      </id>
      <notificationMethod>
        <!--ro, req, enum, 联动方式, subType:string, [FTP#FTP上报,HTTP#HTTP上报,IM#即时通讯,IO#IO输出,LightAudioAlarm#声光报警,audio#声音,beep#蜂鸣器,center#上传中心,cloud#云存储,email#电子邮件,focus#聚焦,monitorAlarm#监视器报警,ptz#云台,record#录像,syslog#系统日志,whiteLight#白光灯]-->FTP
      </notificationMethod>
      <notificationRecurrence>
        <!--ro, opt, enum, 联动周期, subType:string, [beginning#开始,beginningandend#开始和结束,recurring#再次发生]-->beginning
      </notificationRecurrence>
      <notificationInterval>
        <!--ro, opt, int, 联动时间间隔, range:[,], step:, unit:ms, unitType:时间-->1
      </notificationInterval>
      <videoInputID>
        <!--ro, opt, string, 视频通道号ID, range:[,]-->1
      </videoInputID>
      <dynVideoInputID>
        <!--ro, opt, string, 动态视频输入通道ID, range:[,]-->1
      </dynVideoInputID>
      <ptzAction>
        <!--ro, opt, object, PTZ联动, desc:当notificationMethod = PTZ生效-->
        <ptzChannelID>
          <!--ro, req, string, PTZ联动通道号, range:[,]-->1
        </ptzChannelID>
        <actionName>
          <!--ro, req, enum, PTZ联动方式, subType:string, [preset#运动到预置点,pattern#花样扫描,patrol#巡航]-->preset
        </actionName>
        <actionNum>
          <!--ro, opt, int, 操作编号, range:[,], step:, unit:, unitType:, desc:依赖于节点<actionName>的表示内容,可以是预置点号,巡航路径号,花样扫描路径号-->1
        </actionNum>
      </ptzAction>
      <WhiteLightAction>
        <!--ro, opt, object, 白光灯联动, desc:当notificationMethod = whiteLight生效-->
        <whiteLightDurationTime>
          <!--ro, opt, int, 白光灯闪烁持续时长, range:[1,60], step:, unit:s, unitType:时间-->1
        </whiteLightDurationTime>
      </WhiteLightAction>
    </EventTriggerNotification>
  </EventTriggerNotificationList>
</EventTrigger>

12. 配置全局目标识别联动参数

12.1 命令

PUT /ISAPI/Event/triggers/humanRecognition-<channelID>

12.2 输入参数

<?xml version="1.0" encoding="UTF-8"?>

<EventTrigger xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
  <!--req, object, 联动参数, attr:version{req, string, 协议版本, range:[,]}-->
  <id>
    <!--req, string, 索引, range:[,], desc:由事件类型-通道号组成-->humanRecognition-1
  </id>
  <eventType>
    <!--req, string, 事件类型, range:[,]-->humanRecognition
  </eventType>
  <eventDescription>
    <!--opt, string, 事件描述, range:[,]-->test
  </eventDescription>
  <inputIOPortID>
    <!--opt, string, 报警输入口, range:[,]-->test
  </inputIOPortID>
  <dynInputIOPortID>
    <!--opt, string, 数字通道报警输入口, range:[,]-->test
  </dynInputIOPortID>
  <videoInputChannelID>
    <!--opt, string, 视频输入通道ID, range:[,]-->1
  </videoInputChannelID>
  <dynVideoInputChannelID>
    <!--opt, string, 动态视频输入通道ID, range:[,]-->1
  </dynVideoInputChannelID>
  <intervalBetweenEvents>
    <!--opt, int, 事件抓拍间隔, range:[,], step:, unit:s, unitType:时间-->1
  </intervalBetweenEvents>
  <WLSensorID>
    <!--opt, string, 无线ID, range:[,]-->1
  </WLSensorID>
  <EventTriggerNotificationList>
    <!--opt, array, 联动方式列表, subType:object, range:[,]-->
    <EventTriggerNotification>
      <!--opt, object, 联动方式-->
      <id>
        <!--req, string, 索引, range:[,]-->test
      </id>
      <notificationMethod>
        <!--req, enum, 联动方式, subType:string, [FTP#FTP上报,HTTP#HTTP上报,IM#即时通讯,IO#IO输出,LightAudioAlarm#声光报警,audio#声音,beep#蜂鸣器,center#上传中心,cloud#云存储,email#电子邮件,focus#聚焦,monitorAlarm#监视器报警,ptz#云台,record#录像,syslog#系统日志,whiteLight#白光灯]-->FTP
      </notificationMethod>
      <notificationRecurrence>
        <!--opt, enum, 联动周期, subType:string, [beginning#开始,beginningandend#开始和结束,recurring#再次发生]-->beginning
      </notificationRecurrence>
      <notificationInterval>
        <!--opt, int, 联动时间间隔, range:[,], step:, unit:ms, unitType:时间-->1
      </notificationInterval>
      <videoInputID>
        <!--opt, string, 视频通道号ID, range:[,]-->1
      </videoInputID>
      <dynVideoInputID>
        <!--opt, string, 动态视频输入通道ID, range:[,]-->1
      </dynVideoInputID>
      <ptzAction>
        <!--opt, object, PTZ联动, desc:当notificationMethod = PTZ生效-->
        <ptzChannelID>
          <!--req, string, PTZ联动通道号, range:[,]-->1
        </ptzChannelID>
        <actionName>
          <!--req, enum, PTZ联动方式, subType:string, [preset#运动到预置点,pattern#花样扫描,patrol#巡航]-->preset
        </actionName>
        <actionNum>
          <!--opt, int, 操作编号, range:[,], step:, unit:, unitType:, desc:依赖于节点<actionName>的表示内容,可以是预置点号,巡航路径号,花样扫描路径号-->1
        </actionNum>
      </ptzAction>
      <WhiteLightAction>
        <!--opt, object, 白光灯联动, desc:当notificationMethod = whiteLight生效-->
        <whiteLightDurationTime>
          <!--opt, int, 白光灯闪烁持续时长, range:[1,60], step:, unit:s, unitType:时间-->1
        </whiteLightDurationTime>
      </WhiteLightAction>
    </EventTriggerNotification>
  </EventTriggerNotificationList>
</EventTrigger>

12.3 输出参数

<?xml version="1.0" encoding="UTF-8"?>

<ResponseStatus xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
  <!--ro, req, object, 响应消息, attr:version{ro, req, string, 版本, range:[,]}-->
  <requestURL>
    <!--ro, req, string, 请求的URL, range:[,]-->null
  </requestURL>
  <statusCode>
    <!--ro, req, enum, 状态码, subType:int, [0#OK,1#OK,2#Device Busy,3#Device Error,4#Invalid Operation,5#Invalid XML Format,6#Invalid XML Content,7#Reboot Required]-->0
  </statusCode>
  <statusString>
    <!--ro, req, enum, 状态信息, subType:string, [OK#成功,Device Busy#设备忙,Device Error#设备异常,Invalid Operation#无效的操作,Invalid XML Format#无效的XML格式,Invalid XML Content#无效的XML内容,Reboot#设备重启]-->OK
  </statusString>
  <subStatusCode>
    <!--ro, req, string, 详细错误码英文描述, range:[,], desc:详细错误码的英文描述-->OK
  </subStatusCode>
</ResponseStatus>

13. 获取全局目标识别单个通道布防时间参数

13.1 命令

GET /ISAPI/Event/schedules/humanRecognition/humanRecognition-<channelID>?mode=<mode>

13.2 输入参数

13.3 输出参数

<?xml version="1.0" encoding="UTF-8"?>

<Schedule xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
  <!--ro, req, object, 布防时间信息, attr:version{req, string, 协议版本, range:[,]}-->
  <id>
    <!--ro, req, string, 索引, range:[,], desc:格式为:事件类型-通道号-->humanRecognition-1
  </id>
  <eventType>
    <!--ro, opt, string, 事件类型, range:[,]-->humanRecognition
  </eventType>
  <videoInputChannelID>
    <!--ro, opt, string, 视频输入通道ID, range:[,]-->1
  </videoInputChannelID>
  <TimeBlockList size="8">
    <!--ro, req, array, 布防时间列表, subType:object, range:[,], attr:size{opt, int, 最大布防时间段数目, range:[,], step:, unit:, unitType:}-->
    <TimeBlock>
      <!--ro, opt, object, 布防时间-->
      <dayOfWeek>
        <!--ro, opt, enum, 星期, subType:int, [1#星期一,2#星期二,3#星期三,4#星期四,5#星期五,6#星期六,7#星期天]-->1
      </dayOfWeek>
      <TimeRange>
        <!--ro, req, object, 时间段-->
        <beginTime>
          <!--ro, req, time, 开始时间-->10:00:00
        </beginTime>
        <endTime>
          <!--ro, req, time, 结束时间-->10:00:00
        </endTime>
      </TimeRange>
      <ScheduleProperity>
        <!--ro, opt, object, 场景参数-->
        <vehicleDetectSceneID>
          <!--ro, opt, int, 车辆检测场景编号, range:[1,16], step:, unit:, unitType:-->0
        </vehicleDetectSceneID>
        <sceneID>
          <!--ro, opt, int, 单场景切换配置, range:[1,16], step:, unit:, unitType:, desc:与<SceneList>节点互斥-->1
        </sceneID>
        <SceneList>
          <!--ro, opt, array, 多场景切换配置, subType:object, range:[,], desc:与<sceneID>节点互斥-->
          <Scene>
            <!--ro, opt, object, 场景信息-->
            <sceneID>
              <!--ro, req, string, 关联场景ID, range:[1,16]-->test
            </sceneID>
            <durationTime>
              <!--ro, req, int, 持续时间, range:[,], step:, unit:, unitType:-->0
            </durationTime>
          </Scene>
        </SceneList>
      </ScheduleProperity>
    </TimeBlock>
  </TimeBlockList>
  <HolidayBlockList>
    <!--ro, opt, array, 假日布防时间, subType:object, range:[,]-->
    <TimeBlock>
      <!--ro, opt, object, 布防时间-->
      <TimeRange>
        <!--ro, req, object, 时间段-->
        <beginTime>
          <!--ro, req, time, 开始时间-->10:00:00
        </beginTime>
        <endTime>
          <!--ro, req, time, 结束时间-->10:00:00
        </endTime>
      </TimeRange>
    </TimeBlock>
  </HolidayBlockList>
</Schedule>

14. 配置全局目标识别单个通道布防时间参数

14.1 命令

PUT /ISAPI/Event/schedules/humanRecognition/humanRecognition-<channelID>?mode=<mode>

14.2 输入参数

<?xml version="1.0" encoding="UTF-8"?>

<Schedule xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
  <!--req, object, 布防时间信息, attr:version{req, string, 协议版本, range:[,]}-->
  <id>
    <!--req, string, 索引, range:[,], desc:格式为:事件类型-通道号-->humanRecognition-1
  </id>
  <eventType>
    <!--opt, string, 事件类型, range:[,]-->humanRecognition
  </eventType>
  <videoInputChannelID>
    <!--opt, string, 视频输入通道ID, range:[,]-->1
  </videoInputChannelID>
  <TimeBlockList size="8">
    <!--req, array, 布防时间列表, subType:object, range:[,], attr:size{opt, int, 最大布防时间段数目, range:[,], step:, unit:, unitType:}-->
    <TimeBlock>
      <!--opt, object, 布防时间-->
      <dayOfWeek>
        <!--opt, enum, 星期, subType:int, [1#星期一,2#星期二,3#星期三,4#星期四,5#星期五,6#星期六,7#星期天]-->1
      </dayOfWeek>
      <TimeRange>
        <!--req, object, 时间段-->
        <beginTime>
          <!--req, time, 开始时间-->10:00:00
        </beginTime>
        <endTime>
          <!--req, time, 结束时间-->10:00:00
        </endTime>
      </TimeRange>
      <ScheduleProperity>
        <!--opt, object, 场景参数-->
        <vehicleDetectSceneID>
          <!--opt, int, 车辆检测场景编号, range:[1,16], step:, unit:, unitType:-->0
        </vehicleDetectSceneID>
        <sceneID>
          <!--opt, int, 单场景切换配置, range:[1,16], step:, unit:, unitType:, desc:与<SceneList>节点互斥-->1
        </sceneID>
        <SceneList>
          <!--opt, array, 多场景切换配置, subType:object, range:[,], desc:与<sceneID>节点互斥-->
          <Scene>
            <!--opt, object, 场景信息-->
            <sceneID>
              <!--req, string, 关联场景ID, range:[1,16]-->test
            </sceneID>
            <durationTime>
              <!--req, int, 持续时间, range:[,], step:, unit:, unitType:-->0
            </durationTime>
          </Scene>
        </SceneList>
      </ScheduleProperity>
    </TimeBlock>
  </TimeBlockList>
  <HolidayBlockList>
    <!--opt, array, 假日布防时间, subType:object, range:[,]-->
    <TimeBlock>
      <!--opt, object, 布防时间-->
      <TimeRange>
        <!--req, object, 时间段-->
        <beginTime>
          <!--req, time, 开始时间-->10:00:00
        </beginTime>
        <endTime>
          <!--req, time, 结束时间-->10:00:00
        </endTime>
      </TimeRange>
    </TimeBlock>
  </HolidayBlockList>
</Schedule>

14.3 输出参数

<?xml version="1.0" encoding="UTF-8"?>

<ResponseStatus xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
  <!--ro, req, object, 响应消息, attr:version{ro, req, string, 版本, range:[,]}-->
  <requestURL>
    <!--ro, req, string, 请求的URL, range:[,]-->null
  </requestURL>
  <statusCode>
    <!--ro, req, enum, 状态码, subType:int, [0#OK,1#OK,2#Device Busy,3#Device Error,4#Invalid Operation,5#Invalid XML Format,6#Invalid XML Content,7#Reboot Required]-->0
  </statusCode>
  <statusString>
    <!--ro, req, enum, 状态信息, subType:string, [OK#成功,Device Busy#设备忙,Device Error#设备异常,Invalid Operation#无效的操作,Invalid XML Format#无效的XML格式,Invalid XML Content#无效的XML内容,Reboot#设备重启]-->OK
  </statusString>
  <subStatusCode>
    <!--ro, req, string, 详细错误码英文描述, range:[,], desc:详细错误码的英文描述-->OK
  </subStatusCode>
</ResponseStatus>

15. 查询人体图片分析

15.1 命令

POST /ISAPI/Intelligent/analysisImage/human

15.2 输入参数

15.3 输出参数

<?xml version="1.0" encoding="UTF-8"?>

<HumanRecognitionTargetsList xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
  <!--ro, req, array, 人体识别目标列表, subType:object, range:[,], attr:version{req, string, 协议版本, range:[,]}-->
  <HumanRecognitionTarget>
    <!--ro, opt, object, 人体识别目标-->
    <age_group>
      <!--ro, opt, enum, 年龄段, subType:string, [child#少年,infant#婴幼儿,kid#儿童,middle#中年,middleAged#中老年,old#老年,prime#壮年,teenager#青少年,unknown#未知,young#青年]-->child
    </age_group>
    <gender>
      <!--ro, opt, enum, 性别, subType:string, [female#女,male#男,unknown#未知]-->female
    </gender>
    <jacet_color>
      <!--ro, opt, enum, 上衣颜色, subType:string, [black#黑,blue#蓝,brown#棕,cyan#青,deepBlue#深蓝,deepGray#深灰,gray#灰,green#绿,mixture#混色,orange#橙,pink#粉,purple#紫,red#红,silver#银,unknown#未知,white#白,yellow#黄], desc:参考协议字典-->black
    </jacet_color>
    <glass>
      <!--ro, opt, enum, 是否戴眼镜, subType:string, [no#否,yes#是,unknow#未知,sunglasses#戴墨镜]-->no
    </glass>
    <bag>
      <!--ro, opt, enum, 是否背包, subType:string, [no#否,yes#是,unknown#未知]-->no
    </bag>
    <ride>
      <!--ro, opt, enum, 是否骑车, subType:string, [no#否,unknown#未知,yes#是]-->no
    </ride>
    <Rect>
      <!--ro, opt, object, 人体区域, desc:屏幕左上角为坐标原点-->
      <height>
        <!--ro, req, float, 高度, range:[0.000,1.000], step:, unit:, unitType:-->0.000
      </height>
      <width>
        <!--ro, req, float, 宽度, range:[0.000,1.000], step:, unit:, unitType:-->0.000
      </width>
      <x>
        <!--ro, req, float, x坐标, range:[0.000,1.000], step:, unit:, unitType:-->0.000
      </x>
      <y>
        <!--ro, req, float, y坐标, range:[0.000,1.000], step:, unit:, unitType:-->0.000
      </y>
    </Rect>
    <modeData>
      <!--ro, opt, string, 目标模型数据, range:[,], desc:传输过程中针对二进制非建模数据进行base64的加密处理-->test
    </modeData>
  </HumanRecognitionTarget>
</HumanRecognitionTargetsList>

16. 查询人体属性(多通道)

16.1 命令

POST /ISAPI/Intelligent/humanRecognition/Search/channels

16.2 输入参数

<?xml version="1.0" encoding="UTF-8"?>

<HumanRecognitionSearchDescription xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
  <!--req, object, 查询条件, attr:version{req, string, 协议版本, range:[,]}-->
  <searchID>
    <!--req, string, 搜索记录唯一标识, range:[1,64], desc:用来确认上层客户端是否为同一个(倘若是同一个,则设备记录内存,下次搜索加快速度)-->test
  </searchID>
  <searchResultPosition>
    <!--req, int, 查询结果在结果列表中的起始位置, range:[1,4294967295], step:, unit:, unitType:, desc:当记录条数很多时, 一次查询不能获取所有的记录, 下一次查询时指定位置可以查询后面的记录-->1
  </searchResultPosition>
  <maxResults>
    <!--req, int, 本次查询(每页显示)最大记录数, range:[1,4294967295], step:, unit:, unitType:-->1
  </maxResults>
  <timeSpanList>
    <!--opt, array, 时间段列表, subType:object, range:[,]-->
    <timeSpan>
      <!--opt, object, 时间段-->
      <startTime>
        <!--req, datetime, 开始时间-->1970-01-01T00:00:00+08:00
      </startTime>
      <endTime>
        <!--req, datetime, 结束时间-->1970-01-01T00:00:00+08:00
      </endTime>
    </timeSpan>
  </timeSpanList>
  <positive>
    <!--req, bool, 是否查询人体误报信息-->true
  </positive>
  <HumanModeList>
    <!--opt, array, 人员信息列表, subType:object, range:[,]-->
    <HumanMode>
      <!--opt, object, 人员信息-->
      <HumanInfo>
        <!--opt, object, 按属性搜图信息-->
        <age_group>
          <!--opt, enum, 年龄段, subType:string, [any#条件不限(搜索的时候使用),child#少年,infant#婴幼儿,kid#儿童,middle#中年,middleAged#中老年,old#老年,prime#壮年,teenager#青少年,unknown#未知,young#青年]-->unknown
        </age_group>
        <gender>
          <!--opt, enum, 性别, subType:string, [any#条件不限(搜索的时候使用),female#女,male#男,unknown#未知]-->any
        </gender>
        <jacet_color>
          <!--opt, enum, 上衣颜色, subType:string, [any#条件不限(搜索的时候使用),black#黑,blue#蓝,brown#棕,cyan#青,deepBlue#深蓝,deepGray#深灰,gray#灰,green#绿,mixture#混色,orange#橙,pink#粉,purple#紫,red#红,silver#银,unknown#未知,white#白,yellow#黄]-->any
        </jacet_color>
        <glass>
          <!--opt, enum, 是否戴眼镜, subType:string, [any#条件不限(搜索的时候使用),no#不戴眼镜,sunglasses#戴墨镜,unknown#未知,yes#是]-->unknown
        </glass>
        <bag>
          <!--opt, enum, 是否背包, subType:string, [any#条件不限(搜索的时候使用),no#否,unknown#未知,yes#是]-->unknown
        </bag>
        <ride>
          <!--opt, enum, 是否骑车, subType:string, [any#条件不限(搜索的时候使用),no#否,unknown#未知,yes#是]-->unknown
        </ride>
      </HumanInfo>
      <ModeInfo>
        <!--opt, object, 以图搜图信息-->
        <similarity>
          <!--opt, float, 相似度, range:[0.0,100.0], step:, unit:, unitType:-->0.0
        </similarity>
        <modeData>
          <!--opt, string, 目标模型数据, range:[0,1024]-->test
        </modeData>
      </ModeInfo>
    </HumanMode>
  </HumanModeList>
  <eventType>
    <!--opt, enum, 事件类型, subType:string, [unlimit#不限,humanRecognition#人体报警], dep:and,{$.HumanRecognitionSearchDescription.positive,eq,false}-->unlimit
  </eventType>
  <ChannelList>
    <!--opt, array, 查询通道列表, subType:object, range:[,]-->
    <Channel>
      <!--opt, object, 通道信息-->
      <channelID>
        <!--req, int, 通道号, range:[1,4294967295], step:, unit:, unitType:-->0
      </channelID>
    </Channel>
  </ChannelList>
  <totalSearchResults>
    <!--opt, int, 单次搜索总数, range:[1,10000], step:, unit:, unitType:, 
desc:限制设备当搜索条件很低时无限制搜索,避免性能过高消耗。
超脑设备此值默认为10000,当超过10000时仍然按照10000处理,不报错-->1
  </totalSearchResults>
  <TaskInfoList>
    <!--opt, array, 任务列表, subType:object, range:[,]-->
    <TaskInfo>
      <!--opt, object, 任务信息-->
      <taskID>
        <!--req, string, 任务ID, range:[1,64], desc:来自于视频化结构分析任务(/ISAPI/SDT/Management/Task/Video/monitorPort?format=json返回的taskID)-->test
      </taskID>
    </TaskInfo>
  </TaskInfoList>
</HumanRecognitionSearchDescription>

16.3 输出参数

<?xml version="1.0" encoding="UTF-8"?>

<HumanRecognitionSearchResult xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
  <!--ro, req, object, 查询结果, attr:version{req, string, 协议版本, range:[,]}-->
  <searchID>
    <!--ro, req, string, 搜索记录唯一标识, range:[1,64], desc:用来确认上层客户端是否为同一个(倘若是同一个,则设备记录内存,下次搜索加快速度)-->test
  </searchID>
  <responseStatus>
    <!--ro, req, bool, 查询结果-->true
  </responseStatus>
  <responseStatusStrg>
    <!--ro, req, enum, 查询状态字符串描述, subType:string, [OK#查询结束,MORE#还有数据等待查询,NO MATCH#没有匹配数据]-->OK
  </responseStatusStrg>
  <numOfMatches>
    <!--ro, req, int, 本次返回的记录条数, range:[1,4294967295], step:, unit:, unitType:-->1
  </numOfMatches>
  <totalMatches>
    <!--ro, req, int, 符合条件的记录总条数, range:[1,4294967295], step:, unit:, unitType:-->1
  </totalMatches>
  <HumanModeList>
    <!--ro, opt, array, 人体数据列表, subType:object, range:[,]-->
    <HumanMode>
      <!--ro, opt, object, 人体数据-->
      <imageURL>
        <!--ro, req, string, 匹配图片的URL, range:[1,256]-->test
      </imageURL>
      <captureTime>
        <!--ro, req, datetime, 抓拍时间-->1970-01-01T00:00:00+08:00
      </captureTime>
      <imageName>
        <!--ro, req, string, 图片名称, range:[1,128]-->test
      </imageName>
      <age_group>
        <!--ro, opt, enum, 年龄段, subType:string, [child#少年,infant#婴幼儿,kid#儿童,middle#中年,middleAged#中老年,old#老年,prime#壮年,teenager#青少年,unknown#未知,young#青年]-->unknown
      </age_group>
      <gender>
        <!--ro, opt, enum, 性别, subType:string, [female#女,male#男,unknown#未知]-->female
      </gender>
      <jacet_color>
        <!--ro, opt, enum, 上衣颜色, subType:string, [black#黑,blue#蓝,brown#棕,cyan#青,deepBlue#深蓝,deepGray#深灰,gray#灰,green#绿,mixture#混色,orange#橙,pink#粉,purple#紫,red#红,silver#银,unknown#未知,white#白,yellow#黄]-->black
      </jacet_color>
      <glass>
        <!--ro, opt, enum, 是否戴眼镜, subType:string, [no#不戴眼镜,sunglasses#戴墨镜,unknown#未知,yes#是]-->unknown
      </glass>
      <bag>
        <!--ro, opt, enum, 是否背包, subType:string, [no#否,unknown#未知,yes#是]-->unknown
      </bag>
      <ride>
        <!--ro, opt, enum, 是否骑车, subType:string, [no#否,unknown#未知,yes#是]-->unknown
      </ride>
      <similarity>
        <!--ro, opt, float, 相似度, range:[0.0,100.0], step:, unit:, unitType:-->0.0
      </similarity>
      <Rect>
        <!--ro, req, object, 匹配图片人体目标子图坐标, desc:屏幕左上角为坐标原点-->
        <height>
          <!--ro, req, float, 高, range:[0.000,1.000], step:, unit:, unitType:-->0.000
        </height>
        <width>
          <!--ro, req, float, 宽, range:[0.000,1.000], step:, unit:, unitType:-->0.000
        </width>
        <x>
          <!--ro, req, float, x坐标, range:[0.000,1.000], step:, unit:, unitType:-->0.000
        </x>
        <y>
          <!--ro, req, float, y坐标, range:[0.000,1.000], step:, unit:, unitType:-->0.000
        </y>
      </Rect>
      <channelID>
        <!--ro, opt, int, 通道号, range:[1,4294967295], step:, unit:, unitType:-->0
      </channelID>
      <taskID>
        <!--ro, opt, string, 任务ID, range:[1,64]-->test
      </taskID>
    </HumanMode>
  </HumanModeList>
</HumanRecognitionSearchResult>

17. 查询人体属性(单通道)

17.1 命令

POST /ISAPI/Intelligent/humanRecognition/Search/channels/<channelID>

17.2 输入参数

<?xml version="1.0" encoding="UTF-8"?>

<HumanRecognitionSearchDescription xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
  <!--req, object, 查询条件, attr:version{req, string, 协议版本, range:[,]}-->
  <searchID>
    <!--req, string, 搜索记录唯一标识, range:[1,64], desc:用来确认上层客户端是否为同一个(倘若是同一个,则设备记录内存,下次搜索加快速度)-->test
  </searchID>
  <searchResultPosition>
    <!--req, int, 查询结果在结果列表中的起始位置, range:[1,4294967295], step:, unit:, unitType:, desc:当记录条数很多时, 一次查询不能获取所有的记录, 下一次查询时指定位置可以查询后面的记录-->1
  </searchResultPosition>
  <maxResults>
    <!--req, int, 本次查询(每页显示)最大记录数, range:[1,4294967295], step:, unit:, unitType:-->1
  </maxResults>
  <timeSpanList>
    <!--opt, array, 时间段列表, subType:object, range:[,]-->
    <timeSpan>
      <!--opt, object, 时间段-->
      <startTime>
        <!--req, datetime, 开始时间-->1970-01-01T00:00:00+08:00
      </startTime>
      <endTime>
        <!--req, datetime, 结束时间-->1970-01-01T00:00:00+08:00
      </endTime>
    </timeSpan>
  </timeSpanList>
  <positive>
    <!--req, bool, 是否查询人体误报信息-->true
  </positive>
  <HumanModeList>
    <!--opt, array, 人员信息列表, subType:object, range:[,]-->
    <HumanMode>
      <!--opt, object, 人员信息-->
      <HumanInfo>
        <!--opt, object, 按属性搜图信息-->
        <age_group>
          <!--opt, enum, 年龄段, subType:string, [any#条件不限(搜索的时候使用),child#少年,infant#婴幼儿,kid#儿童,middle#中年,middleAged#中老年,old#老年,prime#壮年,teenager#青少年,unknown#未知,young#青年]-->unknown
        </age_group>
        <gender>
          <!--opt, enum, 性别, subType:string, [any#条件不限(搜索的时候使用),female#女,male#男,unknown#未知]-->any
        </gender>
        <jacet_color>
          <!--opt, enum, 上衣颜色, subType:string, [any#条件不限(搜索的时候使用),black#黑,blue#蓝,brown#棕,cyan#青,deepBlue#深蓝,deepGray#深灰,gray#灰,green#绿,mixture#混色,orange#橙,pink#粉,purple#紫,red#红,silver#银,unknown#未知,white#白,yellow#黄]-->any
        </jacet_color>
        <glass>
          <!--opt, enum, 是否戴眼镜, subType:string, [any#条件不限(搜索的时候使用),no#不戴眼镜,sunglasses#戴墨镜,unknown#未知,yes#是]-->unknown
        </glass>
        <bag>
          <!--opt, enum, 是否背包, subType:string, [any#条件不限(搜索的时候使用),no#否,unknown#未知,yes#是]-->unknown
        </bag>
        <ride>
          <!--opt, enum, 是否骑车, subType:string, [any#条件不限(搜索的时候使用),no#否,unknown#未知,yes#是]-->unknown
        </ride>
      </HumanInfo>
      <ModeInfo>
        <!--opt, object, 以图搜图信息-->
        <similarity>
          <!--opt, float, 相似度, range:[0.0,100.0], step:, unit:, unitType:-->0.0
        </similarity>
        <modeData>
          <!--opt, string, 目标模型数据, range:[0,1024]-->test
        </modeData>
      </ModeInfo>
    </HumanMode>
  </HumanModeList>
  <eventType>
    <!--opt, enum, 事件类型, subType:string, [unlimit#不限,humanRecognition#人体报警], dep:and,{$.HumanRecognitionSearchDescription.positive,eq,false}-->unlimit
  </eventType>
  <totalSearchResults>
    <!--opt, int, 单次搜索总数, range:[1,10000], step:, unit:, unitType:, 
desc:限制设备当搜索条件很低时无限制搜索,避免性能过高消耗。
超脑设备此值默认为10000,当超过10000时仍然按照10000处理,不报错-->1
  </totalSearchResults>
  <TaskInfoList>
    <!--opt, array, 任务列表, subType:object, range:[,]-->
    <TaskInfo>
      <!--opt, object, 任务信息-->
      <taskID>
        <!--req, string, 任务ID, range:[1,64], desc:来自于视频化结构分析任务(/ISAPI/SDT/Management/Task/Video/monitorPort?format=json返回的taskID)-->test
      </taskID>
    </TaskInfo>
  </TaskInfoList>
</HumanRecognitionSearchDescription>

17.3 输出参数

<?xml version="1.0" encoding="UTF-8"?>

<HumanRecognitionSearchResult xmlns="http://www.isapi.org/ver20/XMLSchema" version="2.0">
  <!--ro, req, object, 查询结果, attr:version{req, string, 协议版本, range:[,]}-->
  <searchID>
    <!--ro, req, string, 搜索记录唯一标识, range:[1,64], desc:用来确认上层客户端是否为同一个(倘若是同一个,则设备记录内存,下次搜索加快速度)-->test
  </searchID>
  <responseStatus>
    <!--ro, req, bool, 查询结果-->true
  </responseStatus>
  <responseStatusStrg>
    <!--ro, req, enum, 查询状态字符串描述, subType:string, [OK#查询结束,MORE#还有数据等待查询,NO MATCH#没有匹配数据]-->OK
  </responseStatusStrg>
  <numOfMatches>
    <!--ro, req, int, 本次返回的记录条数, range:[1,4294967295], step:, unit:, unitType:-->1
  </numOfMatches>
  <totalMatches>
    <!--ro, req, int, 符合条件的记录总条数, range:[1,4294967295], step:, unit:, unitType:-->1
  </totalMatches>
  <HumanModeList>
    <!--ro, opt, array, 人体数据列表, subType:object, range:[,]-->
    <HumanMode>
      <!--ro, opt, object, 人体数据-->
      <imageURL>
        <!--ro, req, string, 匹配图片的URL, range:[1,256]-->test
      </imageURL>
      <captureTime>
        <!--ro, req, datetime, 抓拍时间-->1970-01-01T00:00:00+08:00
      </captureTime>
      <imageName>
        <!--ro, req, string, 图片名称, range:[1,128]-->test
      </imageName>
      <age_group>
        <!--ro, opt, enum, 年龄段, subType:string, [child#少年,infant#婴幼儿,kid#儿童,middle#中年,middleAged#中老年,old#老年,prime#壮年,teenager#青少年,unknown#未知,young#青年]-->unknown
      </age_group>
      <gender>
        <!--ro, opt, enum, 性别, subType:string, [female#女,male#男,unknown#未知]-->female
      </gender>
      <jacet_color>
        <!--ro, opt, enum, 上衣颜色, subType:string, [black#黑,blue#蓝,brown#棕,cyan#青,deepBlue#深蓝,deepGray#深灰,gray#灰,green#绿,mixture#混色,orange#橙,pink#粉,purple#紫,red#红,silver#银,unknown#未知,white#白,yellow#黄]-->black
      </jacet_color>
      <glass>
        <!--ro, opt, enum, 是否戴眼镜, subType:string, [no#不戴眼镜,sunglasses#戴墨镜,unknown#未知,yes#是]-->unknown
      </glass>
      <bag>
        <!--ro, opt, enum, 是否背包, subType:string, [no#否,unknown#未知,yes#是]-->unknown
      </bag>
      <ride>
        <!--ro, opt, enum, 是否骑车, subType:string, [no#否,unknown#未知,yes#是]-->unknown
      </ride>
      <similarity>
        <!--ro, opt, float, 相似度, range:[0.0,100.0], step:, unit:, unitType:-->0.0
      </similarity>
      <Rect>
        <!--ro, req, object, 匹配图片人体目标子图坐标, desc:屏幕左上角为坐标原点-->
        <height>
          <!--ro, req, float, 高, range:[0.000,1.000], step:, unit:, unitType:-->0.000
        </height>
        <width>
          <!--ro, req, float, 宽, range:[0.000,1.000], step:, unit:, unitType:-->0.000
        </width>
        <x>
          <!--ro, req, float, x坐标, range:[0.000,1.000], step:, unit:, unitType:-->0.000
        </x>
        <y>
          <!--ro, req, float, y坐标, range:[0.000,1.000], step:, unit:, unitType:-->0.000
        </y>
      </Rect>
      <taskID>
        <!--ro, opt, string, 任务ID, range:[1,64]-->test
      </taskID>
    </HumanMode>
  </HumanModeList>
</HumanRecognitionSearchResult>