Help identifying penguins with frigate

Greetings,

I recently installed Home Assistant OS on a Raspberry Pi5 with a Hailo 8 NPU and have been loving it. Many thanks to those who’ve helped with its development.

I also just added Frigate (thus the inclusion of the Hailo) and have a question about teaching the system to recognise birds - specifically, Little Blue Penguins. I installed a couple of cameras to spy on the ones that are nesting under my house. Last night, the pair came back from a few months at sea and I was thrilled to see that Frigate caught their return. Alas, it labeled them all as “cats” or “people”.

My Frigate configuration is shown below - suggestions are most welcome!

# Full Frigate documentation: https://docs.frigate.video/configuration/reference/
mqtt:
  enabled: true
  host: URL path  # 127.0.0.1
  user: name      # USER 
  password: pass  # PASSWORD

cameras:
  crawlspace:
    enabled: true
    ffmpeg:
      output_args:
        record: preset-record-generic-audio-aac
      inputs:
        - path: rtsp://USER:[email protected]:554/stream1?audio&video
          roles:
            - record
            - audio
        - path: rtsp://USER:[email protected]:554/stream2?audio&video
          roles:
            - detect
    detect:
      width:  640
      height: 480
    live:
      streams:
        Stream 1: crawlspace
    motion:
      threshold: 10
      contour_area: 10
      improve_contrast: true

  walkway:
    enabled: true
    ffmpeg:
      output_args:
        record: preset-record-generic-audio-aac
      inputs:
        - path: rtsp://USER:[email protected]:554/stream1?audio&video
          roles:
            - record
            - audio
        - path: rtsp://USER:[email protected]:554/stream2?audio&video
          roles:
            - detect
    detect:
      width:  640
      height: 480
    live:
      streams:
        Stream 1: walkway
    motion:
      threshold: 10
      contour_area: 10
      improve_contrast: true
      
detectors:
  hailo8l:  # Always 8l, even in case of 8
    type: hailo8l  # Always 8l, even in case of 8
    device: PCIe

detect:
  enabled: true
  width:  640
  height: 480
  fps: 5

objects:
  track:  # List of objects to track from model's labelmap. Since model is Yolo, then: https://docs.ultralytics.com/datasets/detect/coco/#dataset-yaml
    - person
    - bird
    - cat

  filters:  # Optional: filters to reduce false positives for specific object types
    person:
      min_area: 5000
      max_area: 100000
      min_score: 0.4
      threshold: 0.7

record:  # Optional: Enable recording
  enabled: true
  detections:
    pre_capture: 5
    post_capture: 5
    retain:
      days: 10
      mode: active_objects

snapshots:  # Optional: Configuration for the jpg snapshots written to the clips directory for each tracked object
  enabled: true
  timestamp: true
  bounding_box: true
  crop: false
  retain:
    default: 1
    objects:
      person: 1
      bird: 1
      cat: 1

logger:
  default: info
  logs:
    frigate.object_detection: debug
    frigate.motion: debug
    detector.hailo8l: debug

version: 0.17-0
go2rtc:
  streams:
    crawlspace:
      - rtsp://USER:[email protected]:554/stream1?audio&video
      - ffmpeg:crawlspace#audio=aac

    walkway:
      - rtsp://USER:[email protected]:554/stream1?audio&video
      - ffmpeg:walkway#audio=aac

face_recognition:
  enabled: false
  model_size: small

lpr:
  enabled: false

classification:
  bird:
    enabled: true
1 Like