feat: frigate openvino config
This commit is contained in:
parent
2cfe47cb3d
commit
9b6e086f4c
6 changed files with 115 additions and 1 deletions
|
|
@ -8,4 +8,6 @@
|
|||
networking.hostName = "kameramann";
|
||||
|
||||
networking.interfaces.ens18.useDHCP = true;
|
||||
|
||||
swapDevices = [{ device = "/swapfile"; size = 4096; }];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{ ... }: {
|
||||
{ pkgs, ... }: {
|
||||
services.qemuGuest.enable = true;
|
||||
boot.loader = {
|
||||
systemd-boot.enable = true;
|
||||
|
|
@ -9,5 +9,14 @@
|
|||
"virtio_scsi" # use "virtio_blk" instead if disk is /dev/vda
|
||||
"ahci"
|
||||
"sd_mod"
|
||||
"i915"
|
||||
];
|
||||
|
||||
environment.systemPackages = [ pkgs.intel-gpu-tools pkgs.libva-utils ];
|
||||
|
||||
hardware.enableRedistributableFirmware = true;
|
||||
hardware.graphics = {
|
||||
enable = true;
|
||||
extraPackages = [ pkgs.intel-media-driver pkgs.intel-compute-runtime ];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
80
hosts/kameramann/models/coco-80.txt
Normal file
80
hosts/kameramann/models/coco-80.txt
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
0 person
|
||||
1 bicycle
|
||||
2 car
|
||||
3 motorcycle
|
||||
4 airplane
|
||||
5 car
|
||||
6 train
|
||||
7 car
|
||||
8 boat
|
||||
9 traffic light
|
||||
10 fire hydrant
|
||||
11 stop sign
|
||||
12 parking meter
|
||||
13 bench
|
||||
14 bird
|
||||
15 cat
|
||||
16 dog
|
||||
17 horse
|
||||
18 sheep
|
||||
19 cow
|
||||
20 elephant
|
||||
21 bear
|
||||
22 zebra
|
||||
23 giraffe
|
||||
24 backpack
|
||||
25 umbrella
|
||||
26 handbag
|
||||
27 tie
|
||||
28 suitcase
|
||||
29 frisbee
|
||||
30 skis
|
||||
31 snowboard
|
||||
32 sports ball
|
||||
33 kite
|
||||
34 baseball bat
|
||||
35 baseball glove
|
||||
36 skateboard
|
||||
37 surfboard
|
||||
38 tennis racket
|
||||
39 bottle
|
||||
40 wine glass
|
||||
41 cup
|
||||
42 fork
|
||||
43 knife
|
||||
44 spoon
|
||||
45 bowl
|
||||
46 banana
|
||||
47 apple
|
||||
48 sandwich
|
||||
49 orange
|
||||
50 broccoli
|
||||
51 carrot
|
||||
52 hot dog
|
||||
53 pizza
|
||||
54 donut
|
||||
55 cake
|
||||
56 chair
|
||||
57 couch
|
||||
58 potted plant
|
||||
59 bed
|
||||
60 dining table
|
||||
61 toilet
|
||||
62 tv
|
||||
63 laptop
|
||||
64 mouse
|
||||
65 remote
|
||||
66 keyboard
|
||||
67 cell phone
|
||||
68 microwave
|
||||
69 oven
|
||||
70 toaster
|
||||
71 sink
|
||||
72 refrigerator
|
||||
73 book
|
||||
74 clock
|
||||
75 vase
|
||||
76 scissors
|
||||
77 teddy bear
|
||||
78 hair drier
|
||||
79 toothbrush
|
||||
BIN
hosts/kameramann/models/yolov9-s-320.onnx
Normal file
BIN
hosts/kameramann/models/yolov9-s-320.onnx
Normal file
Binary file not shown.
BIN
hosts/kameramann/models/yolov9-t-320.onnx
Normal file
BIN
hosts/kameramann/models/yolov9-t-320.onnx
Normal file
Binary file not shown.
|
|
@ -97,20 +97,43 @@ in
|
|||
|
||||
services.frigate = {
|
||||
enable = true;
|
||||
vaapiDriver = "iHD";
|
||||
hostname = "kameramann.lan.baubs.net";
|
||||
settings = {
|
||||
auth.enabled = false;
|
||||
go2rtc.streams = lib.foldl' lib.mergeAttrs { } (
|
||||
lib.mapAttrsToList (name: _: {
|
||||
"${name}" = [ ];
|
||||
"${name}_sub" = [ ];
|
||||
}) cameras
|
||||
);
|
||||
mqtt = {
|
||||
enabled = true;
|
||||
host = "192.168.178.33";
|
||||
user = "frigate";
|
||||
password = "frigate";
|
||||
};
|
||||
ffmpeg.hwaccel_args = "preset-vaapi";
|
||||
detectors.ov_0 = {
|
||||
type = "openvino";
|
||||
device = "GPU";
|
||||
};
|
||||
model = {
|
||||
model_type = "yolo-generic";
|
||||
width = 320;
|
||||
height = 320;
|
||||
input_tensor = "nchw";
|
||||
input_dtype = "float";
|
||||
path = "${./models/yolov9-t-320.onnx}";
|
||||
labelmap_path = "${./models/coco-80.txt}";
|
||||
};
|
||||
detect.enabled = true;
|
||||
objects.track = [
|
||||
"person"
|
||||
"bird"
|
||||
"car"
|
||||
];
|
||||
telemetry.stats.intel_gpu_device = "sys:/sys/devices/pci0000:00/0000:00:02.0";
|
||||
classification.bird.enabled = true;
|
||||
cameras = lib.mapAttrs (
|
||||
name: cam: cam.frigate // { ffmpeg.inputs = frigateInputs name; }
|
||||
|
|
|
|||
Loading…
Reference in a new issue