SearchFacesRequest.php 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. <?php
  2. /*
  3. * Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
  4. *
  5. * Licensed under the Apache License, Version 2.0 (the "License");
  6. * you may not use this file except in compliance with the License.
  7. * You may obtain a copy of the License at
  8. *
  9. * http://www.apache.org/licenses/LICENSE-2.0
  10. *
  11. * Unless required by applicable law or agreed to in writing, software
  12. * distributed under the License is distributed on an "AS IS" BASIS,
  13. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. * See the License for the specific language governing permissions and
  15. * limitations under the License.
  16. */
  17. namespace TencentCloud\Iai\V20200303\Models;
  18. use TencentCloud\Common\AbstractModel;
  19. /**
  20. * SearchFaces请求参数结构体
  21. *
  22. * @method array getGroupIds() 获取希望搜索的人员库列表,上限100个。数组元素取值为创建人员库接口中的GroupId。
  23. 不可同时搜索不同算法模型版本(FaceModelVersion)的人员库。
  24. * @method void setGroupIds(array $GroupIds) 设置希望搜索的人员库列表,上限100个。数组元素取值为创建人员库接口中的GroupId。
  25. 不可同时搜索不同算法模型版本(FaceModelVersion)的人员库。
  26. * @method string getImage() 获取图片 base64 数据,base64 编码后大小不可超过5M。
  27. jpg格式长边像素不可超过4000,其他格式图片长边像素不可超2000。
  28. 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
  29. * @method void setImage(string $Image) 设置图片 base64 数据,base64 编码后大小不可超过5M。
  30. jpg格式长边像素不可超过4000,其他格式图片长边像素不可超2000。
  31. 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
  32. * @method string getUrl() 获取图片的 Url 。对应图片 base64 编码后大小不可超过5M。
  33. jpg格式长边像素不可超过4000,其他格式图片长边像素不可超2000。
  34. Url、Image必须提供一个,如果都提供,只使用 Url。
  35. 图片存储于腾讯云的Url可保障更高下载速度和稳定性,建议图片存储于腾讯云。
  36. 非腾讯云存储的Url速度和稳定性可能受一定影响。
  37. 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
  38. * @method void setUrl(string $Url) 设置图片的 Url 。对应图片 base64 编码后大小不可超过5M。
  39. jpg格式长边像素不可超过4000,其他格式图片长边像素不可超2000。
  40. Url、Image必须提供一个,如果都提供,只使用 Url。
  41. 图片存储于腾讯云的Url可保障更高下载速度和稳定性,建议图片存储于腾讯云。
  42. 非腾讯云存储的Url速度和稳定性可能受一定影响。
  43. 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
  44. * @method integer getMaxFaceNum() 获取最多识别的人脸数目。默认值为1(仅检测图片中面积最大的那张人脸),最大值为10。
  45. MaxFaceNum用于,当输入的待识别图片包含多张人脸时,设定要搜索的人脸的数量。
  46. 例:输入的Image或Url中的图片包含多张人脸,设MaxFaceNum=5,则会识别图片中面积最大的5张人脸。
  47. * @method void setMaxFaceNum(integer $MaxFaceNum) 设置最多识别的人脸数目。默认值为1(仅检测图片中面积最大的那张人脸),最大值为10。
  48. MaxFaceNum用于,当输入的待识别图片包含多张人脸时,设定要搜索的人脸的数量。
  49. 例:输入的Image或Url中的图片包含多张人脸,设MaxFaceNum=5,则会识别图片中面积最大的5张人脸。
  50. * @method integer getMinFaceSize() 获取人脸长和宽的最小尺寸,单位为像素。默认为34。低于34的人脸图片无法被识别。建议设置为80。
  51. * @method void setMinFaceSize(integer $MinFaceSize) 设置人脸长和宽的最小尺寸,单位为像素。默认为34。低于34的人脸图片无法被识别。建议设置为80。
  52. * @method integer getMaxPersonNum() 获取单张被识别的人脸返回的最相似人员数量。默认值为5,最大值为100。
  53. 例,设MaxFaceNum为1,MaxPersonNum为8,则返回Top8相似的人员信息。
  54. 值越大,需要处理的时间越长。建议不要超过10。
  55. * @method void setMaxPersonNum(integer $MaxPersonNum) 设置单张被识别的人脸返回的最相似人员数量。默认值为5,最大值为100。
  56. 例,设MaxFaceNum为1,MaxPersonNum为8,则返回Top8相似的人员信息。
  57. 值越大,需要处理的时间越长。建议不要超过10。
  58. * @method integer getNeedPersonInfo() 获取是否返回人员具体信息。0 为关闭,1 为开启。默认为 0。其他非0非1值默认为0
  59. * @method void setNeedPersonInfo(integer $NeedPersonInfo) 设置是否返回人员具体信息。0 为关闭,1 为开启。默认为 0。其他非0非1值默认为0
  60. * @method integer getQualityControl() 获取图片质量控制。
  61. 0: 不进行控制;
  62. 1:较低的质量要求,图像存在非常模糊,眼睛鼻子嘴巴遮挡至少其中一种或多种的情况;
  63. 2: 一般的质量要求,图像存在偏亮,偏暗,模糊或一般模糊,眉毛遮挡,脸颊遮挡,下巴遮挡,至少其中三种的情况;
  64. 3: 较高的质量要求,图像存在偏亮,偏暗,一般模糊,眉毛遮挡,脸颊遮挡,下巴遮挡,其中一到两种的情况;
  65. 4: 很高的质量要求,各个维度均为最好或最多在某一维度上存在轻微问题;
  66. 默认 0。
  67. 若图片质量不满足要求,则返回结果中会提示图片质量检测不符要求。
  68. * @method void setQualityControl(integer $QualityControl) 设置图片质量控制。
  69. 0: 不进行控制;
  70. 1:较低的质量要求,图像存在非常模糊,眼睛鼻子嘴巴遮挡至少其中一种或多种的情况;
  71. 2: 一般的质量要求,图像存在偏亮,偏暗,模糊或一般模糊,眉毛遮挡,脸颊遮挡,下巴遮挡,至少其中三种的情况;
  72. 3: 较高的质量要求,图像存在偏亮,偏暗,一般模糊,眉毛遮挡,脸颊遮挡,下巴遮挡,其中一到两种的情况;
  73. 4: 很高的质量要求,各个维度均为最好或最多在某一维度上存在轻微问题;
  74. 默认 0。
  75. 若图片质量不满足要求,则返回结果中会提示图片质量检测不符要求。
  76. * @method float getFaceMatchThreshold() 获取出参Score中,只有超过FaceMatchThreshold值的结果才会返回。默认为0。
  77. * @method void setFaceMatchThreshold(float $FaceMatchThreshold) 设置出参Score中,只有超过FaceMatchThreshold值的结果才会返回。默认为0。
  78. * @method integer getNeedRotateDetection() 获取是否开启图片旋转识别支持。0为不开启,1为开启。默认为0。本参数的作用为,当图片中的人脸被旋转且图片没有exif信息时,如果不开启图片旋转识别支持则无法正确检测、识别图片中的人脸。若您确认图片包含exif信息或者您确认输入图中人脸不会出现被旋转情况,请不要开启本参数。开启后,整体耗时将可能增加数百毫秒。
  79. * @method void setNeedRotateDetection(integer $NeedRotateDetection) 设置是否开启图片旋转识别支持。0为不开启,1为开启。默认为0。本参数的作用为,当图片中的人脸被旋转且图片没有exif信息时,如果不开启图片旋转识别支持则无法正确检测、识别图片中的人脸。若您确认图片包含exif信息或者您确认输入图中人脸不会出现被旋转情况,请不要开启本参数。开启后,整体耗时将可能增加数百毫秒。
  80. */
  81. class SearchFacesRequest extends AbstractModel
  82. {
  83. /**
  84. * @var array 希望搜索的人员库列表,上限100个。数组元素取值为创建人员库接口中的GroupId。
  85. 不可同时搜索不同算法模型版本(FaceModelVersion)的人员库。
  86. */
  87. public $GroupIds;
  88. /**
  89. * @var string 图片 base64 数据,base64 编码后大小不可超过5M。
  90. jpg格式长边像素不可超过4000,其他格式图片长边像素不可超2000。
  91. 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
  92. */
  93. public $Image;
  94. /**
  95. * @var string 图片的 Url 。对应图片 base64 编码后大小不可超过5M。
  96. jpg格式长边像素不可超过4000,其他格式图片长边像素不可超2000。
  97. Url、Image必须提供一个,如果都提供,只使用 Url。
  98. 图片存储于腾讯云的Url可保障更高下载速度和稳定性,建议图片存储于腾讯云。
  99. 非腾讯云存储的Url速度和稳定性可能受一定影响。
  100. 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
  101. */
  102. public $Url;
  103. /**
  104. * @var integer 最多识别的人脸数目。默认值为1(仅检测图片中面积最大的那张人脸),最大值为10。
  105. MaxFaceNum用于,当输入的待识别图片包含多张人脸时,设定要搜索的人脸的数量。
  106. 例:输入的Image或Url中的图片包含多张人脸,设MaxFaceNum=5,则会识别图片中面积最大的5张人脸。
  107. */
  108. public $MaxFaceNum;
  109. /**
  110. * @var integer 人脸长和宽的最小尺寸,单位为像素。默认为34。低于34的人脸图片无法被识别。建议设置为80。
  111. */
  112. public $MinFaceSize;
  113. /**
  114. * @var integer 单张被识别的人脸返回的最相似人员数量。默认值为5,最大值为100。
  115. 例,设MaxFaceNum为1,MaxPersonNum为8,则返回Top8相似的人员信息。
  116. 值越大,需要处理的时间越长。建议不要超过10。
  117. */
  118. public $MaxPersonNum;
  119. /**
  120. * @var integer 是否返回人员具体信息。0 为关闭,1 为开启。默认为 0。其他非0非1值默认为0
  121. */
  122. public $NeedPersonInfo;
  123. /**
  124. * @var integer 图片质量控制。
  125. 0: 不进行控制;
  126. 1:较低的质量要求,图像存在非常模糊,眼睛鼻子嘴巴遮挡至少其中一种或多种的情况;
  127. 2: 一般的质量要求,图像存在偏亮,偏暗,模糊或一般模糊,眉毛遮挡,脸颊遮挡,下巴遮挡,至少其中三种的情况;
  128. 3: 较高的质量要求,图像存在偏亮,偏暗,一般模糊,眉毛遮挡,脸颊遮挡,下巴遮挡,其中一到两种的情况;
  129. 4: 很高的质量要求,各个维度均为最好或最多在某一维度上存在轻微问题;
  130. 默认 0。
  131. 若图片质量不满足要求,则返回结果中会提示图片质量检测不符要求。
  132. */
  133. public $QualityControl;
  134. /**
  135. * @var float 出参Score中,只有超过FaceMatchThreshold值的结果才会返回。默认为0。
  136. */
  137. public $FaceMatchThreshold;
  138. /**
  139. * @var integer 是否开启图片旋转识别支持。0为不开启,1为开启。默认为0。本参数的作用为,当图片中的人脸被旋转且图片没有exif信息时,如果不开启图片旋转识别支持则无法正确检测、识别图片中的人脸。若您确认图片包含exif信息或者您确认输入图中人脸不会出现被旋转情况,请不要开启本参数。开启后,整体耗时将可能增加数百毫秒。
  140. */
  141. public $NeedRotateDetection;
  142. /**
  143. * @param array $GroupIds 希望搜索的人员库列表,上限100个。数组元素取值为创建人员库接口中的GroupId。
  144. 不可同时搜索不同算法模型版本(FaceModelVersion)的人员库。
  145. * @param string $Image 图片 base64 数据,base64 编码后大小不可超过5M。
  146. jpg格式长边像素不可超过4000,其他格式图片长边像素不可超2000。
  147. 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
  148. * @param string $Url 图片的 Url 。对应图片 base64 编码后大小不可超过5M。
  149. jpg格式长边像素不可超过4000,其他格式图片长边像素不可超2000。
  150. Url、Image必须提供一个,如果都提供,只使用 Url。
  151. 图片存储于腾讯云的Url可保障更高下载速度和稳定性,建议图片存储于腾讯云。
  152. 非腾讯云存储的Url速度和稳定性可能受一定影响。
  153. 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
  154. * @param integer $MaxFaceNum 最多识别的人脸数目。默认值为1(仅检测图片中面积最大的那张人脸),最大值为10。
  155. MaxFaceNum用于,当输入的待识别图片包含多张人脸时,设定要搜索的人脸的数量。
  156. 例:输入的Image或Url中的图片包含多张人脸,设MaxFaceNum=5,则会识别图片中面积最大的5张人脸。
  157. * @param integer $MinFaceSize 人脸长和宽的最小尺寸,单位为像素。默认为34。低于34的人脸图片无法被识别。建议设置为80。
  158. * @param integer $MaxPersonNum 单张被识别的人脸返回的最相似人员数量。默认值为5,最大值为100。
  159. 例,设MaxFaceNum为1,MaxPersonNum为8,则返回Top8相似的人员信息。
  160. 值越大,需要处理的时间越长。建议不要超过10。
  161. * @param integer $NeedPersonInfo 是否返回人员具体信息。0 为关闭,1 为开启。默认为 0。其他非0非1值默认为0
  162. * @param integer $QualityControl 图片质量控制。
  163. 0: 不进行控制;
  164. 1:较低的质量要求,图像存在非常模糊,眼睛鼻子嘴巴遮挡至少其中一种或多种的情况;
  165. 2: 一般的质量要求,图像存在偏亮,偏暗,模糊或一般模糊,眉毛遮挡,脸颊遮挡,下巴遮挡,至少其中三种的情况;
  166. 3: 较高的质量要求,图像存在偏亮,偏暗,一般模糊,眉毛遮挡,脸颊遮挡,下巴遮挡,其中一到两种的情况;
  167. 4: 很高的质量要求,各个维度均为最好或最多在某一维度上存在轻微问题;
  168. 默认 0。
  169. 若图片质量不满足要求,则返回结果中会提示图片质量检测不符要求。
  170. * @param float $FaceMatchThreshold 出参Score中,只有超过FaceMatchThreshold值的结果才会返回。默认为0。
  171. * @param integer $NeedRotateDetection 是否开启图片旋转识别支持。0为不开启,1为开启。默认为0。本参数的作用为,当图片中的人脸被旋转且图片没有exif信息时,如果不开启图片旋转识别支持则无法正确检测、识别图片中的人脸。若您确认图片包含exif信息或者您确认输入图中人脸不会出现被旋转情况,请不要开启本参数。开启后,整体耗时将可能增加数百毫秒。
  172. */
  173. function __construct()
  174. {
  175. }
  176. /**
  177. * For internal only. DO NOT USE IT.
  178. */
  179. public function deserialize($param)
  180. {
  181. if ($param === null) {
  182. return;
  183. }
  184. if (array_key_exists("GroupIds",$param) and $param["GroupIds"] !== null) {
  185. $this->GroupIds = $param["GroupIds"];
  186. }
  187. if (array_key_exists("Image",$param) and $param["Image"] !== null) {
  188. $this->Image = $param["Image"];
  189. }
  190. if (array_key_exists("Url",$param) and $param["Url"] !== null) {
  191. $this->Url = $param["Url"];
  192. }
  193. if (array_key_exists("MaxFaceNum",$param) and $param["MaxFaceNum"] !== null) {
  194. $this->MaxFaceNum = $param["MaxFaceNum"];
  195. }
  196. if (array_key_exists("MinFaceSize",$param) and $param["MinFaceSize"] !== null) {
  197. $this->MinFaceSize = $param["MinFaceSize"];
  198. }
  199. if (array_key_exists("MaxPersonNum",$param) and $param["MaxPersonNum"] !== null) {
  200. $this->MaxPersonNum = $param["MaxPersonNum"];
  201. }
  202. if (array_key_exists("NeedPersonInfo",$param) and $param["NeedPersonInfo"] !== null) {
  203. $this->NeedPersonInfo = $param["NeedPersonInfo"];
  204. }
  205. if (array_key_exists("QualityControl",$param) and $param["QualityControl"] !== null) {
  206. $this->QualityControl = $param["QualityControl"];
  207. }
  208. if (array_key_exists("FaceMatchThreshold",$param) and $param["FaceMatchThreshold"] !== null) {
  209. $this->FaceMatchThreshold = $param["FaceMatchThreshold"];
  210. }
  211. if (array_key_exists("NeedRotateDetection",$param) and $param["NeedRotateDetection"] !== null) {
  212. $this->NeedRotateDetection = $param["NeedRotateDetection"];
  213. }
  214. }
  215. }