⬆️ upgrade dependencies

This commit is contained in:
2025-03-14 18:15:10 +08:00
parent 7b2b6cc76b
commit 3a03224f8c
44 changed files with 960 additions and 509 deletions

View File

@@ -86,7 +86,7 @@ func (l *FaceRecognitionLogic) FaceRecognition(in *pb.FaceRecognitionRequest) (*
l.svcCtx.FaceRecognizer.SetSamples(samples, ids)
// 人脸分类
classify := l.svcCtx.FaceRecognizer.ClassifyThreshold(faceFeatures.Descriptor, 0.3)
classify := l.svcCtx.FaceRecognizer.ClassifyThreshold(faceFeatures.Descriptor, 0.2)
if classify > 0 {
return &pb.FaceRecognitionResponse{
FaceId: int64(classify),
@@ -242,10 +242,10 @@ func (l *FaceRecognitionLogic) saveCroppedFaceToLocal(faceImage []byte, rect ima
// 增加边距(比如 20 像素)
margin := 20
extendedRect := image.Rect(
max(rect.Min.X-margin, imgBounds.Min.X), // 确保不超出左边界
max(rect.Min.Y-margin, imgBounds.Min.Y), // 确保不超出上边界
min(rect.Max.X+margin, imgBounds.Max.X), // 确保不超出右边界
min(rect.Max.Y+margin, imgBounds.Max.Y), // 确保不超出下边界
max(rect.Min.X-margin, imgBounds.Min.X),
max(rect.Min.Y-margin, imgBounds.Min.Y),
min(rect.Max.X+margin, imgBounds.Max.X),
min(rect.Max.Y+margin, imgBounds.Max.Y),
)
// 裁剪图像
croppedImage := img.(interface {

View File

@@ -1,7 +1,9 @@
package aiservicelogic
import (
"bytes"
"context"
"image"
"schisandra-album-cloud-microservices/app/aisvc/rpc/internal/svc"
"schisandra-album-cloud-microservices/app/aisvc/rpc/pb"
@@ -25,12 +27,15 @@ func NewImageClarityLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Imag
// ImageClarity 图像清晰度检测
func (l *ImageClarityLogic) ImageClarity(in *pb.ImageClarityRequest) (*pb.ImageClarityResponse, error) {
blurred, confidence, err := l.svcCtx.Clarity.Detect(in.Image)
img, _, err := image.Decode(bytes.NewReader(in.Image))
if err != nil {
return nil, err
}
check, err := l.svcCtx.ClarityDetector.ClarityCheck(img)
if err != nil {
return nil, err
}
return &pb.ImageClarityResponse{
IsBlurred: blurred,
Confidence: float32(confidence),
IsBlurred: check,
}, nil
}

View File

@@ -17,16 +17,16 @@ import (
)
type ServiceContext struct {
Config config.Config
FaceRecognizer *face.Recognizer
DB *query.Query
RedisClient *redis.Client
TfNet *gocv.Net
TfDesc []string
CaffeNet *gocv.Net
CaffeDesc []string
MinioClient *minio.Client
Clarity *clarity.Detector
Config config.Config
FaceRecognizer *face.Recognizer
DB *query.Query
RedisClient *redis.Client
TfNet *gocv.Net
TfDesc []string
CaffeNet *gocv.Net
CaffeDesc []string
MinioClient *minio.Client
ClarityDetector *clarity.ConcurrentDetector
}
func NewServiceContext(c config.Config) *ServiceContext {
@@ -44,6 +44,8 @@ func NewServiceContext(c config.Config) *ServiceContext {
CaffeNet: caffeClassifier,
CaffeDesc: caffeDesc,
MinioClient: miniox.NewMinio(c.Minio.Endpoint, c.Minio.AccessKeyID, c.Minio.SecretAccessKey, c.Minio.UseSSL),
Clarity: clarity.NewDetector(clarity.WithConcurrency(8), clarity.WithBaseThreshold(90), clarity.WithEdgeBoost(1.2), clarity.WithSampleScale(1)),
ClarityDetector: clarity.NewConcurrentDetector(clarity.WithMeanThreshold(13.0), // 提高均值阈值
clarity.WithLaplaceStdThreshold(25.0), // 提高标准差阈值
clarity.WithMaxWorkers(8)),
}
}