图片智能审核服务开发记录

日期:2026年5月16日
任务:Sprint 1 - 图片智能审核服务

一、任务概述

在设备管理子系统中实现图片自动审核功能,包括模糊检测、照片数量校验、角度多样性检查。目的是减少人工核验成本。

二、技术方案

模糊检测采用拉普拉斯方差算法,阈值100。角度去重采用感知哈希算法,计算图片相似度。全部用Java原生实现,不依赖OpenCV。

三、开发过程

环境配置遇到了问题。项目路径包含中文导致Maven无法识别,将项目从F:\数据库\railway-device-management移到F:\device-management后解决。Spring Boot 3.x的包路径有变化,javax.validation需要改成jakarta.validation,但javax.imageio保持不变。

核心代码包括四个类:BlurDetector负责模糊检测,PerceptualHash负责计算图片哈希,AngleDiversityChecker负责角度分组统计,ImageReviewService整合以上功能。

测试方面编写了单元测试和集成测试,覆盖模糊检测、哈希计算、并发场景。因测试图片目录为空,部分测试跳过,核心算法验证通过。

四、运行结果

服务启动成功,接口可正常访问。

五、明日任务

客服设备台账模块开发。
这是application文件的部分代码

Spring Boot 配置文件

spring:
application:
name: device-management-system

文件上传配置(如需接收前端直接上传文件)

servlet:
multipart:
enabled: true
max-file-size: 10MB
max-request-size: 50MB

服务器配置

server:
port: 8080
servlet:
context-path: /

请求超时配置

tomcat:
connection-timeout: 30000
max-connections: 200
threads:
max: 200
min-spare: 10

日志配置

logging:
level:
com.railway.device: DEBUG
org.springframework.web: INFO
pattern:
console: "%d{yyyy-MM-dd HH:mm:ss} - %msg%n"

图片审核服务配置

image:
review:
# 模糊检测阈值(低于此值判定为模糊,文档要求100)
blur-threshold: 100

角度相似度阈值(汉明距离小于此值视为同一角度)

angle-similarity-threshold: 10

保养场景最少角度数(文档要求≥3)

maintenance-min-angles: 3

图片处理时最大尺寸(像素,超过则缩放)

max-image-size: 1920

单次请求最大图片数量

max-photos-per-request: 20

业务场景配置

scene:
types:
- code: FAULT_REPAIR
name: 故障维修
min-photos: 1
check-angle: false
- code: INSPECTION
name: 巡检
min-photos: 1
check-angle: false
- code: MAINTENANCE
name: 保养
min-photos: 3
check-angle: true
- code: DETECTION
name: 检测
min-photos: 1
check-angle: false

posted on 2026-05-16 01:35  浪速白雪姬  阅读(19)  评论(0)    收藏  举报