feat:新增基于YOLOv8的打架斗殴模型,支持上传视频识别以及摄像头识别
This commit is contained in:
@@ -374,7 +374,12 @@ class DetectionService:
|
||||
'person': (0, 255, 0),
|
||||
'helmet': (255, 255, 0),
|
||||
'no_helmet': (255, 0, 255),
|
||||
'cigarette': (0, 165, 255)
|
||||
'cigarette': (0, 165, 255),
|
||||
# 兼容旧模型类别
|
||||
'violence': (0, 0, 255),
|
||||
'fight': (0, 0, 255),
|
||||
'normal': (0, 200, 0),
|
||||
'non_violence': (0, 200, 0)
|
||||
}
|
||||
|
||||
for det in detections:
|
||||
|
||||
@@ -110,6 +110,16 @@ class ModelService:
|
||||
'description': '基于PaddlePaddle PP-YOLOE-l的违停检测模型,支持车牌识别',
|
||||
'name': '违停检测 (Paddle)'
|
||||
},
|
||||
'fight_detection': {
|
||||
'path': os.path.join(base_dir, 'models', 'fight_detection', 'yolov8n.pt'),
|
||||
'type': 'yolov8',
|
||||
'classes': ['violence', 'non_violence'],
|
||||
'labels': {'violence': '暴力行为', 'non_violence': '正常'},
|
||||
'size': '22MB',
|
||||
'description': '基于YOLOv8的打架斗殴检测模型',
|
||||
'name': '打架斗殴检测(YOLO)',
|
||||
'supports_video': True
|
||||
},
|
||||
'action_detection': {
|
||||
'path': 'docker_api',
|
||||
'type': 'docker_api',
|
||||
@@ -142,7 +152,7 @@ class ModelService:
|
||||
model_exists = os.path.exists(model_path)
|
||||
|
||||
if model_exists:
|
||||
available_models.append({
|
||||
model_info = {
|
||||
'id': model_id,
|
||||
'name': config['name'],
|
||||
'description': config['description'],
|
||||
@@ -150,7 +160,11 @@ class ModelService:
|
||||
'labels': config['labels'],
|
||||
'size': config['size'],
|
||||
'type': config['type']
|
||||
})
|
||||
}
|
||||
# 支持 video 的模型增加标记
|
||||
if config.get('supports_video'):
|
||||
model_info['supports_video'] = True
|
||||
available_models.append(model_info)
|
||||
else:
|
||||
logger.warning(f"模型文件不存在: {model_path}")
|
||||
return available_models
|
||||
|
||||
Reference in New Issue
Block a user