mirror of
https://github.com/geekwenjie/SmartJavaAI.git
synced 2026-09-11 12:19:04 +00:00
2、OCR:新增9个通用模型 3、OCR:支持批量检测识别 4、OCR:新增更多参数,使用更加灵活 5、人脸识别:支持ID查询及分页获取人脸信息 6、活体检测:视频检测支持设置最大帧数
96 lines
2.0 KiB
Java
96 lines
2.0 KiB
Java
package cn.smartjavaai.face.config;
|
|
|
|
import cn.smartjavaai.common.enums.DeviceEnum;
|
|
import cn.smartjavaai.face.constant.FaceDetectConstant;
|
|
import cn.smartjavaai.face.enums.FaceRecModelEnum;
|
|
import cn.smartjavaai.face.model.facedect.FaceDetModel;
|
|
import cn.smartjavaai.face.model.facerec.FaceRecModel;
|
|
import cn.smartjavaai.face.vector.config.VectorDBConfig;
|
|
import lombok.Data;
|
|
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
|
|
/**
|
|
* 人脸检测识别模型配置
|
|
* @author dwj
|
|
*/
|
|
@Data
|
|
public class FaceRecConfig {
|
|
|
|
/**
|
|
* 人脸模型枚举
|
|
*/
|
|
private FaceRecModelEnum modelEnum;
|
|
|
|
/**
|
|
* 模型路径
|
|
*/
|
|
private String modelPath;
|
|
|
|
/**
|
|
* 设备类型
|
|
*/
|
|
private DeviceEnum device;
|
|
|
|
|
|
/**
|
|
* 向量数据库配置
|
|
*/
|
|
private VectorDBConfig vectorDBConfig;
|
|
|
|
/**
|
|
* 是否自动加载人脸到内存
|
|
*/
|
|
private boolean isAutoLoadFace = true;
|
|
|
|
|
|
/**
|
|
* 是否裁剪人脸
|
|
*/
|
|
private boolean cropFace = true;
|
|
|
|
/**
|
|
* 是否对齐人脸
|
|
*/
|
|
private boolean align = false;
|
|
|
|
/**
|
|
* 人脸检测模型
|
|
*/
|
|
private FaceDetModel detectModel;
|
|
|
|
/**
|
|
* 个性化配置(按模型类型动态解析)
|
|
*/
|
|
private Map<String, Object> customParams = new HashMap<>();
|
|
|
|
public FaceRecConfig() {
|
|
}
|
|
|
|
public FaceRecConfig(FaceRecModelEnum modelEnum) {
|
|
this.modelEnum = modelEnum;
|
|
}
|
|
|
|
public FaceRecConfig(FaceRecModelEnum modelEnum, String modelPath) {
|
|
this.modelEnum = modelEnum;
|
|
this.modelPath = modelPath;
|
|
}
|
|
|
|
public <T> T getCustomParam(String key, Class<T> clazz) {
|
|
Object value = customParams.get(key);
|
|
if (value == null) return null;
|
|
return clazz.cast(value);
|
|
}
|
|
|
|
/**
|
|
* 添加个性化配置项
|
|
*/
|
|
public void putCustomParam(String key, Object value) {
|
|
if (customParams == null) {
|
|
customParams = new HashMap<>();
|
|
}
|
|
customParams.put(key, value);
|
|
}
|
|
}
|