cmvr_edge_ai/configs/server_detect.yaml

149 lines
4.1 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Passive Detect Server deployment example.
api_version: cmvr.edge.ai/v1
runtime:
thread_workers: 2
server:
enabled: true
http:
bind: 127.0.0.1
port: 8081
# 绑定局域网地址时必须设置 bearer_token并配置下面两项 TLS只有受信隔离网络
# 才应改用 allow_insecure_remote: true 明文传输 token。
# bearer_token: env://CMVR_EDGE_AI_BEARER_TOKEN
# tls_certfile: /etc/cmvr-edge-ai/tls/server.crt
# tls_keyfile: /etc/cmvr-edge-ai/tls/server.key
request_timeout_s: 30
max_request_bytes: 16777216
max_image_bytes: 10485760
routes:
detect.ppe:
pipeline: detect_ppe
model_id: construction-ppe-yolov8@2
queue_capacity: 4
detect.mobile_phone:
pipeline: detect_mobile_phone
model_id: yolov8n-mobile-phone@2
queue_capacity: 4
# Public clients know only the route categories above. Model IDs, weights and
# devices remain in this server-owned configuration.
pipelines:
detect_ppe:
nodes:
request_source:
uses: server.request_source@1
with:
category: detect.ppe
image_decoder:
uses: media.image_decoder.pillow@1
with:
input_name: image
pixel_format: BGR8
max_pixels: 25000000
accepted_media_types: [image/jpeg, image/png]
detector:
uses: detection.model@1
with:
model: construction-ppe-yolov8@2
confidence: 0.50
# Passive requests must all produce a response, so this pipeline does
# not configure max_fps or any frame-dropping edge.
attach_frame: true
model_options:
weights: models/detection/construction-ppe-yolov8/v2/model.onnx
providers: [CPUExecutionProvider]
intra_op_threads: 1
inter_op_threads: 1
imgsz: 640
iou: 0.70
max_det: 100
response:
uses: server.detection_response@1
with:
category: detect.ppe
backend: onnxruntime-yolov8
jpeg_quality: 85
response_sink:
uses: server.response_sink@1
edges:
- from: request_source.requests
to: image_decoder.requests
qos: &ppe_request_qos
profile: request
capacity: 4
overflow: block
- from: image_decoder.frames
to: detector.frames
qos: *ppe_request_qos
- from: detector.detections
to: response.detections
qos: *ppe_request_qos
- from: response.responses
to: response_sink.responses
qos: *ppe_request_qos
detect_mobile_phone:
nodes:
request_source:
uses: server.request_source@1
with:
category: detect.mobile_phone
image_decoder:
uses: media.image_decoder.pillow@1
with:
input_name: image
pixel_format: BGR8
max_pixels: 25000000
accepted_media_types: [image/jpeg, image/png]
detector:
uses: detection.model@1
with:
model: yolov8n-mobile-phone@2
detect_labels: [mobile_phone]
confidence: 0.50
attach_frame: true
model_options:
weights: models/detection/yolov8n-mobile-phone/v2/model.onnx
providers: [CPUExecutionProvider]
intra_op_threads: 1
inter_op_threads: 1
imgsz: 640
iou: 0.70
max_det: 100
response:
uses: server.detection_response@1
with:
category: detect.mobile_phone
backend: onnxruntime-yolov8
jpeg_quality: 85
response_sink:
uses: server.response_sink@1
edges:
- from: request_source.requests
to: image_decoder.requests
qos: &phone_request_qos
profile: request
capacity: 4
overflow: block
- from: image_decoder.frames
to: detector.frames
qos: *phone_request_qos
- from: detector.detections
to: response.detections
qos: *phone_request_qos
- from: response.responses
to: response_sink.responses
qos: *phone_request_qos