From f3db69d975e478075222ba2d41d5486c531a1e07 Mon Sep 17 00:00:00 2001 From: Blake Blackshear Date: Sat, 8 Aug 2020 07:31:11 -0500 Subject: [PATCH] update docs --- README.md | 46 ++++++++++++++++++++++++++++------- config/config.example.yml | 10 ++++---- docs/zone_example.jpg | Bin 0 -> 74937 bytes frigate/object_processing.py | 1 - 4 files changed, 42 insertions(+), 15 deletions(-) create mode 100644 docs/zone_example.jpg diff --git a/README.md b/README.md index 4d735da35..f54e8595d 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,7 @@ Example docker-compose: - /dev/bus/usb:/dev/bus/usb - /etc/localtime:/etc/localtime:ro - :/config + - :/clips ports: - "5000:5000" environment: @@ -128,15 +129,22 @@ automation: - url: http://:5000//person/best.jpg caption: A person was detected. ``` -## Debugging Endpoint +## HTTP Endpoints +A web server is available on port 5000 with the following endpoints. -Keep in mind the MJPEG endpoint is for debugging only, but should not be used continuously as it will put additional load on the system. - -Access the mjpeg stream at `http://localhost:5000/` and the best snapshot for any object type with at `http://localhost:5000///best.jpg` +### `/` +An mjpeg stream for debugging. Keep in mind the mjpeg endpoint is for debugging only and will put additional load on the system when in use. You can access a higher resolution mjpeg stream by appending `h=height-in-pixels` to the endpoint. For example `http://localhost:5000/back?h=1080`. You can also increase the FPS by appending `fps=frame-rate` to the URL such as `http://localhost:5000/back?fps=10` or both with `?fps=10&h=1000` -Debug info is available at `http://localhost:5000/debug/stats` +### `///best.jpg` +The best snapshot for any object type. It is a full resolution image by default. You can change the size of the image by appending `h=height-in-pixels` to the endpoint. + +### `//latest.jpg` +The most recent frame that frigate has finished processing. It is a full resolution image by default. You can change the size of the image by appending `h=height-in-pixels` to the endpoint. + +### `/debug/stats` +Contains some granular debug info that can be used for sensors in HomeAssistant. ## MQTT Messages These are the MQTT messages generated by Frigate. The default topic_prefix is `frigate`, but can be changed in the config file. @@ -208,18 +216,38 @@ Message published at the start of any tracked object. JSON looks as follows: ### frigate//events/end Same as `frigate//events/start`, but with an `end_time` property as well. -## Using a custom model +### frigate// +Publishes `ON` or `OFF` and is designed to be used a as a binary sensor in HomeAssistant for whether or not that object type is detected in the zone. + +## Using a custom model or labels Models for both CPU and EdgeTPU (Coral) are bundled in the image. You can use your own models with volume mounts: - CPU Model: `/cpu_model.tflite` - EdgeTPU Model: `/edgetpu_model.tflite` - Labels: `/labelmap.txt` +### Customizing the Labelmap +The labelmap can be customized to your needs. A common reason to do this is to combine multiple object types that are easily confused when you don't need to be as granular such as car/truck. You must retain the same number of labels, but you can change the names. To change: + +- Download the [COCO labelmap](https://dl.google.com/coral/canned_models/coco_labels.txt) +- Modify the label names as desired. For example, change `7 truck` to `7 car` +- Mount the new file at `/labelmap.txt` in the container with an additional volume + ``` + -v ./config/labelmap.txt:/labelmap.txt + ``` + ## Masks and limiting detection to a certain area You can create a *bitmap (bmp)* file the same aspect ratio as your camera feed to limit detection to certain areas. The mask works by looking at the bottom center of any bounding box (first image, red dot below) and comparing that to your mask. If that red dot falls on an area of your mask that is black, the detection (and motion) will be ignored. The mask in the second image would limit detection on this camera to only objects that are in the front yard and not the street. - - - + + + + +## Zones +Zones allow you to define a specific area of the frame and apply additional filters for object types so you can determine whether or not an object is within a particular area. Zones cannot have the same name as a camera. If desired, a single zone can include multiple cameras if you have multiple cameras covering the same area. See the sample config for details on how to configure. + +During testing, `draw_zones` can be set in the config to tell frigate to draw the zone on the frames so you can adjust as needed. The zone line will increase in thickness when any object enters the zone. + +![Zone Example](docs/zone_example.jpg) ## Tips - Lower the framerate of the video feed on the camera to reduce the CPU usage for capturing the feed. Not as effective, but you can also modify the `take_frame` [configuration](config/config.example.yml) for each camera to only analyze every other frame, or every third frame, etc. diff --git a/config/config.example.yml b/config/config.example.yml index 2dfe62f15..e600d1aa4 100644 --- a/config/config.example.yml +++ b/config/config.example.yml @@ -66,7 +66,7 @@ objects: person: min_area: 5000 max_area: 100000 - threshold: 0.5 + threshold: 0.8 zones: ################# @@ -76,8 +76,8 @@ zones: cameras: front_door: #################### - # For each camera, a list of x,y coordinates to define the polygon of the zone. - # Can also be a comma separated string of all x,y coordinates combined. + # For each camera, a list of x,y coordinates to define the polygon of the zone. The top + # left corner is 0,0. Can also be a comma separated string of all x,y coordinates combined. # The same zone can exist across multiple cameras if they have overlapping FOVs. # An object is determined to be in the zone based on whether or not the bottom center # of it's bounding box is within the polygon. The polygon must have at least 3 points. @@ -96,7 +96,7 @@ zones: person: min_area: 5000 max_area: 100000 - threshold: 0.5 + threshold: 0.8 driveway: cameras: front_door: @@ -186,4 +186,4 @@ cameras: person: min_area: 5000 max_area: 100000 - threshold: 0.5 + threshold: 0.8 diff --git a/docs/zone_example.jpg b/docs/zone_example.jpg new file mode 100644 index 0000000000000000000000000000000000000000..52145d7a685742f33d9531c22d41c6ff55f7d621 GIT binary patch literal 74937 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 X;5g4Q%qsg1deV00-cA1iFPZ<@-liJa literal 0 HcmV?d00001 diff --git a/frigate/object_processing.py b/frigate/object_processing.py index 44445774c..5f67fc291 100644 --- a/frigate/object_processing.py +++ b/frigate/object_processing.py @@ -230,7 +230,6 @@ class TrackedObjectProcessor(threading.Thread): ### # get the zones that are relevant for this camera - # TODO: precompute this relevant_zones = [zone for zone, config in self.zone_config.items() if camera in config] for zone in relevant_zones: # create the set of labels in the current frame and previously reported