001/* 002 * =========================================================================================== 003 * = COPYRIGHT 004 * PAX Computer Technology (Shenzhen) Co., Ltd. PROPRIETARY INFORMATION 005 * This software is supplied under the terms of a license agreement or nondisclosure 006 * agreement with PAX Computer Technology (Shenzhen) Co., Ltd. and may not be copied or 007 * disclosed except in accordance with the terms in that agreement. 008 * Copyright (C) 2017-2023 PAX Computer Technology (Shenzhen) Co., Ltd. All rights reserved. 009 * Description: // Detail description about the function of this module, 010 * // interfaces with the other modules, and dependencies. 011 * Revision History: 012 * Date Author Action 013 * 2017/04/01 PAX Create/Add/Modify/Delete 014 * =========================================================================================== 015 */ 016package com.pax.dal.entity; 017 018import java.util.Arrays; 019 020public class FaceInfo { 021 private float brightness; 022 private float clarity; 023 private int eyeStatus; 024 private FaceAngle faceAngle; 025 private int faceCover; 026 private FaceRectangle faceRectangle; 027 private float[] feature; 028 private int mouthStatus; 029 private int overexposure; 030 private float[] points; 031 private float[] pointsVis; 032 private int pupilDistance; 033 private float quality; 034 035 public FaceInfo() { 036 super(); 037 } 038 039 public FaceInfo(float brightness, float clarity, int eyeStatus, FaceAngle faceAngle, int faceCover, 040 FaceRectangle faceRectangle, float[] feature, int mouthStatus, int overexposure, float[] points, 041 float[] pointsVis, int pupilDistance, float quality) { 042 super(); 043 this.brightness = brightness; 044 this.clarity = clarity; 045 this.eyeStatus = eyeStatus; 046 this.faceAngle = faceAngle; 047 this.faceCover = faceCover; 048 this.faceRectangle = faceRectangle; 049 this.feature = feature; 050 this.mouthStatus = mouthStatus; 051 this.overexposure = overexposure; 052 this.points = points; 053 this.pointsVis = pointsVis; 054 this.pupilDistance = pupilDistance; 055 this.quality = quality; 056 } 057 058 /** 059 * <div class="zh">亮度。</div> <div class="en">Brightness.</div> 060 * 061 * @return <div class="zh">亮度。小于0表示无法获取。</div> <div class="en">Brightness. Less than 0 means it cannot be retrieved.</div> 062 */ 063 public float getBrightness() { 064 return brightness; 065 } 066 067 /** 068 * <div class="zh">亮度。</div> <div class="en">Brightness.</div> 069 * 070 * @param brightness<div class="zh">亮度。小于0表示无法获取。</div> <div class="en">Brightness. Less than 0 means it cannot be retrieved.</div> 071 */ 072 public void setBrightness(float brightness) { 073 this.brightness = brightness; 074 } 075 076 /** 077 * <div class="zh">清晰度。</div> <div class="en">Clarity.</div> 078 * 079 * @return <div class="zh">清晰度。小于0表示无法获取。</div> <div class="en">Clarity. Less than 0 means it cannot be retrieved.</div> 080 */ 081 public float getClarity() { 082 return clarity; 083 } 084 085 /** 086 * <div class="zh">清晰度。</div> <div class="en">Clarity.</div> 087 * 088 * @param clarity <div class="zh">清晰度。小于0表示无法获取。</div> <div class="en">Clarity. Less than 0 means it cannot be retrieved.</div> 089 */ 090 public void setClarity(float clarity) { 091 this.clarity = clarity; 092 } 093 094 /** 095 * <div class="zh">眼睛状态。</div> <div class="en">Eyes status.</div> 096 * 097 * @return <div class="zh">眼睛状态。 098 * <ul> 099 * <li>-1:无法检测。</li> 100 * <li>0:闭眼。</li> 101 * <li>1:睁眼。</li> 102 * </ul> 103 * </div> <div class="en">Eyes status. 104 * <ul> 105 * <li>-1:Can not detect.</li> 106 * <li>0:Close eyes.</li> 107 * <li>1:Open eyes.</li> 108 * </ul> 109 * </div> 110 */ 111 public int getEyeStatus() { 112 return eyeStatus; 113 } 114 115 /** 116 * <div class="zh">眼睛状态。</div> <div class="en">Eyes status.</div> 117 * 118 * @param eyeStatus <div class="zh">眼睛状态。 119 * <ul> 120 * <li>-1:无法检测。</li> 121 * <li>0:闭眼。</li> 122 * <li>1:睁眼。</li> 123 * </ul> 124 * </div> <div class="en">Eyes status. 125 * <ul> 126 * <li>-1:Can not detect.</li> 127 * <li>0:Close eyes.</li> 128 * <li>1:Open eyes.</li> 129 * </ul> 130 * </div> 131 */ 132 public void setEyeStatus(int eyeStatus) { 133 this.eyeStatus = eyeStatus; 134 } 135 136 /** 137 * <div class="zh">面部角度。</div> <div class="en">Face Angle.</div> 138 * 139 * @return {@link FaceAngle} 140 */ 141 public FaceAngle getFaceAngle() { 142 return faceAngle; 143 } 144 145 /** 146 * <div class="zh">面部角度。</div> <div class="en">Face Angle.</div> 147 * 148 * @param faceAngle {@link FaceAngle} 149 */ 150 public void setFaceAngle(FaceAngle faceAngle) { 151 this.faceAngle = faceAngle; 152 } 153 154 /** 155 * <div class="zh">面部遮挡状态。</div> <div class="en">Face occlusion.</div> 156 * 157 * @return <div class="zh">面部遮挡状态。 158 * <ul> 159 * <li>-1:无法检测。</li> 160 * <li>0:无遮挡。</li> 161 * <li>1:有遮挡。</li> 162 * </ul> 163 * </div> <div class="en">Face occlusion. 164 * <ul> 165 * <li>-1:Can not detect.</li> 166 * <li>0:Covered.</li> 167 * <li>1:Uncovered.</li> 168 * </ul> 169 * </div> 170 */ 171 public int getFaceCover() { 172 return faceCover; 173 } 174 175 /** 176 * <div class="zh">面部遮挡状态。</div> <div class="en">Face occlusion.</div> 177 * 178 * @param faceCover <div class="zh">面部遮挡状态。 179 * <ul> 180 * <li>-1:无法检测。</li> 181 * <li>0:无遮挡。</li> 182 * <li>1:有遮挡。</li> 183 * </ul> 184 * </div> <div class="en">Face occlusion. 185 * <ul> 186 * <li>-1:Can not detect.</li> 187 * <li>0:Covered.</li> 188 * <li>1:Uncovered.</li> 189 * </ul> 190 * </div> 191 */ 192 public void setFaceCover(int faceCover) { 193 this.faceCover = faceCover; 194 } 195 196 /** 197 * <div class="zh">人脸框坐标信息。</div> <div class="en">Face detection rectangle coordinate information.</div> 198 * 199 * @return {@link FaceRectangle} 200 */ 201 public FaceRectangle getFaceRectangle() { 202 return faceRectangle; 203 } 204 205 /** 206 * <div class="zh">人脸框坐标信息。</div> <div class="en">Face detection rectangle coordinate information.</div> 207 * 208 * @param faceRectangle {@link FaceRectangle} 209 */ 210 public void setFaceRectangle(FaceRectangle faceRectangle) { 211 this.faceRectangle = faceRectangle; 212 } 213 214 /** 215 * <div class="zh">面部特征值。</div> <div class="en">Face feature values.</div> 216 * 217 * @return <div class="zh">面部特征值。</div> <div class="en">Face feature values.</div> 218 */ 219 public float[] getFeature() { 220 return feature; 221 } 222 223 /** 224 * <div class="zh">面部特征值。</div> <div class="en">Face feature values.</div> 225 * 226 * @param feature <div class="zh">面部特征值。</div> <div class="en">Face feature values.</div> 227 */ 228 public void setFeature(float[] feature) { 229 this.feature = feature; 230 } 231 232 /** 233 * <div class="zh">嘴巴状态。</div> <div class="en">Mouth state.</div> 234 * 235 * @return <div class="zh">嘴巴状态。 236 * <ul> 237 * <li>-1:无法检测。</li> 238 * <li>0:张嘴。</li> 239 * <li>1:闭嘴。</li> 240 * </ul> 241 * </div> 242 * <div class="en">Mouth state. 243 * <ul> 244 * <li>-1:Can not detect.</li> 245 * <li>0:Open mouth.</li> 246 * <li>1:Close mouth.</li> 247 * </ul> 248 * </div> 249 */ 250 public int getMouthStatus() { 251 return mouthStatus; 252 } 253 254 /** 255 * <div class="zh">嘴巴状态。</div> <div class="en">Mouth state.</div> 256 * 257 * @param mouthStatus <div class="zh">嘴巴状态。 258 * <ul> 259 * <li>-1:无法检测。</li> 260 * <li>0:张嘴。</li> 261 * <li>1:闭嘴。</li> 262 * </ul> 263 * </div> 264 * <div class="en">Mouth state. 265 * <ul> 266 * <li>-1:Can not detect.</li> 267 * <li>0:Open mouth.</li> 268 * <li>1:Close mouth.</li> 269 * </ul> 270 * </div> 271 */ 272 public void setMouthStatus(int mouthStatus) { 273 this.mouthStatus = mouthStatus; 274 } 275 276 /** 277 * <div class="zh">是否过曝。</div> <div class="en">Whether it's overexposed.</div> 278 * 279 * @return <div class="zh">是否过曝。小于0表示无法获取。</div> <div class="en">Whether it's overexposed. Less than 0 means it cannot be retrieved.</div> 280 */ 281 public int getOverexposure() { 282 return overexposure; 283 } 284 285 /** 286 * <div class="zh">是否过曝。</div> <div class="en">Whether it's overexposed.</div> 287 * 288 * @param overexposure <div class="zh">是否过曝。小于0表示无法获取。</div> <div class="en">Whether it's overexposed. Less than 0 means it cannot be retrieved.</div> 289 */ 290 public void setOverexposure(int overexposure) { 291 this.overexposure = overexposure; 292 } 293 294 /** 295 * <div class="zh">面部关键点坐标。</div> <div class="en">Face key coordinates.</div> 296 * 297 * @return <div class="zh">面部关键点坐标。</div> <div class="en">Face key coordinates.</div> 298 */ 299 public float[] getPoints() { 300 return points; 301 } 302 303 /** 304 * <div class="zh">面部关键点坐标。</div> <div class="en">Face key coordinates.</div> 305 * 306 * @param points <div class="zh">面部关键点坐标。</div> <div class="en">Face key coordinates.</div> 307 */ 308 public void setPoints(float[] points) { 309 this.points = points; 310 } 311 312 /** 313 * <div class="zh">配准点可信度。</div> <div class="en">Registration point credibility.</div> 314 * 315 * @return <div class="zh">配准点可信度。每个点为[0, 1]的float值,其中0表示完全不可见(完全被遮挡);1表示完全可见(完全无遮挡)。</div> 316 * <div class="en">Registration point credibility.Each point is a float value of [0, 1], where 0 means completely invisible (completely obscured); 317 * 1 means completely visible (completely unshaded).</div> 318 */ 319 public float[] getPointsVis() { 320 return pointsVis; 321 } 322 323 /** 324 * <div class="zh">配准点可信度。</div> <div class="en">Registration point credibility.</div> 325 * 326 * @param pointsVis <div class="zh">配准点可信度。每个点为[0, 1]的float值,其中0表示完全不可见(完全被遮挡);1表示完全可见(完全无遮挡)。</div> 327 * <div class="en">Registration point credibility.Each point is a float value of [0, 1], where 0 means completely invisible (completely obscured); 328 * 1 means completely visible (completely unshaded).</div> 329 */ 330 public void setPointsVis(float[] pointsVis) { 331 this.pointsVis = pointsVis; 332 } 333 334 /** 335 * <div class="zh">瞳距。</div> <div class="en">Pupil Distance.</div> 336 * 337 * @return <div class="zh">瞳距。单位:像素。 -1:无法获取。</div> <div class="en">Pupil Distance. Unit: pixels. -1: unavailable.</div> 338 */ 339 public int getPupilDistance() { 340 return pupilDistance; 341 } 342 343 /** 344 * <div class="zh">瞳距。</div> <div class="en">Pupil Distance.</div> 345 * 346 * @param pupilDistance <div class="zh">瞳距。单位:像素。 -1:无法获取。</div> <div class="en">Pupil Distance. Unit: pixels. -1: unavailable.</div> 347 */ 348 public void setPupilDistance(int pupilDistance) { 349 this.pupilDistance = pupilDistance; 350 } 351 352 /** 353 * <div class="zh">质量分。</div> <div class="en">Quality score</div> 354 * 355 * @return <div class="zh">质量分。小于0表示无法获取。</div> <div class="en">Quality score. Less than 0 means it cannot be retrieved.</div> 356 */ 357 public float getQuality() { 358 return quality; 359 } 360 361 /** 362 * <div class="zh">质量分。</div> <div class="en">Quality score</div> 363 * 364 * @param quality <div class="zh">质量分。小于0表示无法获取。</div> <div class="en">Quality score. Less than 0 means it cannot be retrieved.</div> 365 */ 366 public void setQuality(float quality) { 367 this.quality = quality; 368 } 369 370 @Override 371 public String toString() { 372 return "FaceInfo [brightness=" + brightness + ", clarity=" + clarity + ", eyeStatus=" + eyeStatus 373 + ", faceAngle=" + faceAngle + ", faceCover=" + faceCover + ", faceRectangle=" + faceRectangle 374 + ", feature=" + Arrays.toString(feature) + ", mouthStatus=" + mouthStatus + ", overexposure=" 375 + overexposure + ", points=" + Arrays.toString(points) + ", pointsVis=" + Arrays.toString(pointsVis) 376 + ", pupilDistance=" + pupilDistance + ", quality=" + quality + "]"; 377 } 378 379}