Breaking changes
- Detectors now supply their own configuration validators which might break existing configs.
If you usedtype: edgetpu
and supplied an unsupported configuration option, such assuppression
,
Viseron would think that was okay. That is no longer the case and has to be removed.
The README is updated accordingly. - A new config block has been created for Home Assistant Discovery. It is still enabled by default but if you previously set your own
discovery_prefix
you now have to move this underhome_assistant
like this:mqtt: broker: <ip address or hostname of broker> port: <port the broker listens on> home_assistant: discovery_prefix: <yourcustomprefix>
- Pretty much all MQTT topics have changed. Have a look at the updated documentation to see how they are structured.
Changes and new Features
- Face detection is here! See the documentation for how to set this up.
Here is an example config to get you startedobject_detection: labels: - label: person confidence: 0.8 post_processor: face_recognition post_processors: face_recognition:
- Unique ID and Device registry information is now included in the Home Assistant discovery setup.
This means that you can now customize the entities created in Home Assistant via its interface. - The binary sensors created for each label now includes a
count
attribute which tells you the number of detected objects. - Include support for h265 in ffmpeg for all containers
- vaapi and generic image now default to YOLOv3 model.
Previously the default was YOLOv3-tiny, which is a lot faster but very inaccurate.
If you wanna go back to using the tiny version for the sake of reduced CPU you can change these settings:object_detection: model_path: /detectors/models/darknet/yolov3-tiny.weights model_config: /detectors/models/darknet/yolov3-tiny.cfg
- Labels drawn on the image that is sent when
publish_image: true
is now clearer - Adds support for PCIe based EdgeTPUs
- Adds a new configuration option called log_all_objects which is placed under object_detection
If set to true, all found objects will be logged if loglevel is DEBUG (this is the behaviour today). The default is false which will only log objects that pass labels filters.
object_detection: log_all_objects: true
- Uses ffprobe to get stream information instead of OpenCV.
- The automatic codec picker is now smarter and will try to find a matching hwaccel decoder codec for the source.
Right now it only knows about h264 and h265 but this can be expanded in the future. - New config option
ffmpeg_loglevel
undercameras
. Use this to debug your camera decoding command. - New config option
ffmpeg_recoverable_errors
undercameras
. See the README for a detailed explanation.
Fixes
- Fixes an error when face_recognition folder is improperly structured
- EdgeTPU not being properly installed in the RPi image
- EdgeTPU not being loaded properly
- Fix a crash when
publish_image: true
andtrigger_detector: false
- Fix
interval
undermotion_detection
andobject_detection
not allowing floats
Docker images are available on Docker Hub
roflcoopter/viseron:1.6.0
roflcoopter/viseron-cuda:1.6.0
roflcoopter/viseron-vaapi:1.6.0
roflcoopter/viseron-rpi:1.6.0