app:
  env: default
  port: 2333
  log:
    level: DEBUG
  node:
    cluster:
      enable: false
    capacity:
      cpu: 8
    id: "auto"
    ip: "auto"
  redis:
    host: 192.168.10.3
    port: 36379
    database: 6
    password: Mcache@4522
  rabbitmq:
    host: 192.168.10.3
    port: 35672
    username: admin
    password: nYcRN91r._hj
  mqtt:
    host: 192.168.10.3
    port: 32883
    username: cmlc
    password: odD8#Ve7.B

ai_models:
  # Then remember to synchronously updated the configuration here
  # to ModelStore core:tasking:store:ModelStore
  local:
    drone:
      enable: true
      type: yolov8
      path: "/cmii/cmlc-project-ai-streaming-engine/models/yolov8/drone-20241223-t4.rt"
      classes: "drone, bird"
    sea:
      enable: true
      type: yolov8
      path: "/cmii/cmlc-project-ai-streaming-engine/models/yolov8/sea.engine"
      classes: "person, boat"
    people_vehicle:
      enable: true
      type: yolov8
      path: "/cmii/cmlc-project-ai-streaming-engine/models/yolov8/people_vehicle-t4-20240410.rt"
      classes: "others, people, crowd, motor, car, truck, bus, non-motor vehicle"
    vehicle:
      enable: true
      type: yolov8
      path: "/cmii/cmlc-project-ai-streaming-engine/models/yolov8/vehicle-20240328-t4.rt"
      classes: "others, people, crowd, motor, car, truck, bus, non-motor vehicle"
    inf_person:
      enable: true
      type: yolov8
      path: "/cmii/cmlc-project-ai-streaming-engine/models/yolov8/inf_person-20241129-t4.rt"
      classes: "person"
    ship:
      enable: true
      type: yolov8
      path: "/cmii/cmlc-project-ai-streaming-engine/models/yolov8/ship-20240306-t4.rt"
      classes: "ship"
    ship_with_flag:
      enable: true
      type: yolov8
      path: "/cmii/cmlc-project-ai-streaming-engine/models/yolov8/ship-20240306-t4.rt"
      classes: "ship, flag"
    drowning:
      enable: true
      type: yolov8
      path: "/cmii/cmlc-project-ai-streaming-engine/models/yolov8/drowning-20240222-t4.rt"
      classes: "drowner"
    dino:
      enable: false
      type: dino
      path: "/cmii/cmlc-project-ai-streaming-engine/models/dino/ground.engine"
      tokenizer: "bert-base-uncased"
    fake:
      # Do nothing. For some tasks not need ai processing such as adding text.
      enable: true
      type: fake


task:
  plain:
    usage:
      cpu: 2
  laad:
    usage:
      cpu: 2
    mq:
      detail:
        topic: "event.ai.photoelectricity.warn.detail"
        exchange: "event.ai.photoelectricity.warn.detail"
      briefly:
        topic: "event.ai.photoelectricity.warn.briefly"
        exchange: "event.ai.photoelectricity.warn.briefly"
  count:
    usage:
      cpu: 2
    mq:
      topic: "aiVideo"
      exchange: "aiVideo"
  accumulation:
    usage:
      cpu: 2
    mq:
      topic: "aiVideo"
      exchange: "aiVideo"
  text:
    usage:
      cpu: 2

module:
  shm:
    ring_size: 20
    max_w: 2600
    max_h: 1500
    max_dets: 256
  smot:
    alive: 1
    tolerance: 256
    drop: 192
    hits: 2
  ffio:
    gpu:
      enable: true
  track:
    type: bytetrack
    bytetrack:
      fps: 30
  draw:
    colors:
      default: [ 0, 255, 0 ]
      drone: [ 229, 57, 57 ]
      bird: [ 97, 237, 38 ]
      motor: [ 92, 184, 255 ]
      car: [ 67, 144, 219 ]
      truck: [ 41, 115, 204 ]
      bus: [ 36, 93, 179 ]
      person: [ 255, 200, 51 ]
      people: [ 255, 200, 51 ]
      drowner: [ 0, 127, 245 ]
      ship: [ 102, 236, 204 ]
      region: [60, 110, 156]
      crossline: [60, 110, 156]
    text:
      padding: 4
      skip_threshold: 20

cmlc:
  mapper:
    "111":
      task: count
      model: vehicle
    "114":
      task: count
      model: vehicle
    "115":
      task: accumulation
      model: vehicle
    "112":
      task: count
      model: inf_person
    "113":
      task: count
      model: drowning
    "121":
      task: laad
      model: drone
    "122":
      task: count
      model: drone
    "131":
      task: count
      model: ship
    "201":
      task: text
      model: fake

debug:
  enable: true