package com.code2roc.fastface.config;
|
|
import com.seeta.pool.SeetaConfSetting;
|
import com.seeta.proxy.FaceDetectorProxy;
|
import com.seeta.proxy.FaceLandmarkerProxy;
|
import com.seeta.proxy.FaceRecognizerProxy;
|
import com.seeta.sdk.SeetaDevice;
|
import com.seeta.sdk.SeetaModelSetting;
|
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
|
import java.io.File;
|
import java.io.FileNotFoundException;
|
import java.nio.file.Path;
|
import java.nio.file.Paths;
|
|
@Configuration
|
public class FaceConfig {
|
@Value("${face.modelPath}")
|
private String modelPath;
|
|
@Bean
|
public FaceDetectorProxy faceDetector() throws FileNotFoundException {
|
Path tempDir = Paths.get(System.getProperty("user.dir"), modelPath);
|
SeetaConfSetting detectorPoolSetting = new SeetaConfSetting(
|
new SeetaModelSetting(0, new String[]{tempDir + File.separator + "face_detector.csta"}, SeetaDevice.SEETA_DEVICE_CPU));
|
FaceDetectorProxy faceDetectorProxy = new FaceDetectorProxy(detectorPoolSetting);
|
return faceDetectorProxy;
|
}
|
|
@Bean
|
public FaceRecognizerProxy faceRecognizer() throws FileNotFoundException {
|
Path tempDir = Paths.get(System.getProperty("user.dir"), modelPath);
|
SeetaConfSetting detectorPoolSetting = new SeetaConfSetting(
|
new SeetaModelSetting(0, new String[]{tempDir + File.separator + "face_recognizer_light.csta"}, SeetaDevice.SEETA_DEVICE_CPU));
|
FaceRecognizerProxy faceRecognizerProxy = new FaceRecognizerProxy(detectorPoolSetting);
|
return faceRecognizerProxy;
|
}
|
|
@Bean
|
public FaceLandmarkerProxy faceLandmarker() throws FileNotFoundException {
|
Path tempDir = Paths.get(System.getProperty("user.dir"), modelPath);
|
SeetaConfSetting detectorPoolSetting = new SeetaConfSetting(
|
new SeetaModelSetting(0, new String[]{tempDir + File.separator + "face_landmarker_pts5.csta"}, SeetaDevice.SEETA_DEVICE_CPU));
|
FaceLandmarkerProxy faceLandmarkerProxy = new FaceLandmarkerProxy(detectorPoolSetting);
|
return faceLandmarkerProxy;
|
}
|
}
|