Local realtime person detection for RTSP cameras

It should, but I haven’t tried it.

Perfect. I will submit my order then I’ll let you know :slight_smile:

blake, when there’s 2 coral devices, how do you split the inference load?

detectors:
  coral1:
    type: edgetpu
    device: usb:0
  coral2:
    type: edgetpu
    device: usb:1

do I assign specific cameras to specific coral device? Eg. cam1 and cam2 to coral1, cam3 and cam4 to coral2.

Does it work like above? Or frigate load balance all cameras with available coral devices?

All detectors pull from a single queue of detection requests across all cameras. No need to assign anything. I wouldn’t recommend it, but you can throw cpu detectors in the mix if you want.

detectors:
  coral1:
    type: edgetpu
    device: usb:0
  cpu1:
    type: cpu

I have got this image output
It was previously nicely working
image

this is the start of log

Fontconfig error: Cannot load default config file
On connect called
ffprobe -v panic -show_error -show_streams -of json "rtsp://cwcjcwce:[email protected]/cam/realmonitor?channel=1&subtype=00"
Starting detection process: 26
Attempting to load TPU as usb
TPU found
{'streams': [{'index': 0, 'codec_name': 'h264', 'codec_long_name': 'unknown', 'profile': '100', 'codec_type': 'video', 'codec_time_base': '1/50', 'codec_tag_string': '[0][0][0][0]', 'codec_tag': '0x0000', 'width': 1920, 'height': 1080, 'coded_width': 1920, 'coded_height': 1088, 'closed_captions': 0, 'has_b_frames': 0, 'sample_aspect_ratio': '1:1', 'display_aspect_ratio': '16:9', 'pix_fmt': 'yuvj420p', 'level': 40, 'color_range': 'pc', 'color_space': 'bt709', 'color_transfer': 'bt709', 'color_primaries': 'bt709', 'chroma_location': 'left', 'field_order': 'progressive', 'refs': 1, 'is_avc': 'false', 'nal_length_size': '0', 'r_frame_rate': '25/1', 'avg_frame_rate': '25/1', 'time_base': '1/90000', 'start_pts': 25200, 'start_time': '0.280000', 'bits_per_raw_sample': '8', 'disposition': {'default': 0, 'dub': 0, 'original': 0, 'comment': 0, 'lyrics': 0, 'karaoke': 0, 'forced': 0, 'hearing_impaired': 0, 'visual_impaired': 0, 'clean_effects': 0, 'attached_pic': 0, 'timed_thumbnails': 0}}]}
Creating ffmpeg process...

I have looked at issues on github and this thread but found no useful info.
Can you help?
TX

First of all, thank you for this amazing project.
I was wondering if I would benefit from this dual edgetpu now or on there is any ETA to frigate to support that?

Also, would anyone know a good M.2 E-key to pcie adapter? I have found tons of M and B key and a few wifi A-key adpators but no luck with E-key adaptor.

Check post #2137

It already supports the dual edgetpu.

1 Like

Thanks! I was looking for green , wrong etc! works!

Would you mind sharing the version/key of your Coral and what adapter you used?

I am trying to setup with an i5-4950 dell optiplex where I don’t have space for a gpu.

@rafagomes I use the M.2 Coral device with a M.2 to PCIe adapter card in my PC.
I didn’t have a spare M.2 slot on my motherboard, but did have a spare PCIe slot.
Works great (as long you follow the instructions correctly on how to install the driver).
Here’s the link to the parts I used:
https://www.amazon.com.au/Adapter-Controller-Expansion-Profile-Converter/dp/B07D8MGXP8
https://au.mouser.com/ProductDetail/212-G650-04686-01

1 Like

Is the coral used exclusively from the docker? I would like to do face recogniton on one of the cameras (door bell) .


But I suspect that the accelerator will not allow.
Is that correct?
1 Like

In my case the Frigate docker container is the only one using the Coral device (haven’t tried other scenarios).

Thank you, it is good to know that the B+M key coral would work on a M key PCIe adapter. Even the description of the adapter you used says ‘Does not support B Key ,B+M Key M.2 SATAIII SSD’ maybe SATAIII SSD are the key words.
I am also interested on the dual edgetpu but it is E-key and I cannot find any E-key adapter.

Hi All. I’m not having luck getting my image mask to work with the hassio add-on. I’ve done a bit of basic troubleshooting, including testing a fully blacked out mask, but no luck.

I’ve tried placing in the general /config folder, but I suspect it needs to go somewhere else? Its not clear to me where all the frigate files get stored when installed via the add-on.

Has anyone else been able to get their mask working with the add-on install?

I’m not sure how it would be done in HassOS, but it needs to be in the config folder. I would suggest switching to a polygon mask instead. Much easier to manage a single config file.

1 Like

Cheers, got a polygon mask working!

The e1 doesn’t have RTSP but the e1 pro does, however its not that great as with all RTSP reolink feeds.

Can you give some pointers as to how to create the mask? Is there a tool to use?

Edit: I think I got it using the link in the config reference: https://www.image-map.net/
Does mask: ‘poly,8,5,2557,0,2557,554,1,610’ look right?

Edit2: Couldn’t get the mask working so did it in zones and its working well, thank you!

Only annoyance is whenever I restart the addon it sends me a detection from a hour and a half ago which is in the ignore zone.

Config:

web_port: 5000
detectors:
  coral:
    type: edgetpu
    device: 'usb:0'
save_clips:
  clips_dir: /media/frigate
mqtt:
  host: 10.0.0.10
  topic_prefix: frigate
  user: mqtt
  password: 
ffmpeg: {}
cameras:
  drive:
    ffmpeg:
      input: >-
        rtmp://10.0.0.87/bcs/channel0_main.bcs?channel=0&stream=0&user=admin&password=
      input_args:
        - '-avoid_negative_ts'
        - make_zero
        - '-fflags'
        - nobuffer
        - '-flags'
        - low_delay
        - '-strict'
        - experimental
        - '-fflags'
        - +genpts+discardcorrupt
        - '-use_wallclock_as_timestamps'
        - '1'
    zones:
      ignore:
        coordinates:
          - '1,1'
          - '2560,1'
          - '1,570'
          - '2560,570'
        filters:
          person:
            min_area: 9991
            max_area: 9992
            threshold: 0.8
          car:
            min_area: 9991
            max_area: 9992
            threshold: 0.8
          truck:
            min_area: 9991
            max_area: 9992
            threshold: 0.8
          bicycle:
            min_area: 9991
            max_area: 9992
            threshold: 0.8
    snapshots:
      show_timestamp: true
      draw_zones: true
      draw_bounding_boxes: true
objects:
  track:
    - person
    - car
    - bicycle
    - truck
    - motorcycle
  filters:
    person:
      min_area: 1
      max_area: 1000000
      min_score: 0.1
      threshold: 0.74
    car:
      min_area: 13900
      max_area: 1000000
      min_score: 0.1
      threshold: 0.7
    bicycle:
      min_area: 1
      max_area: 1000000
      min_score: 0.1
      threshold: 0.7
    truck:
      min_area: 1
      max_area: 1000000
      min_score: 0.1
      threshold: 0.7
    motorcycle:
      min_area: 1
      max_area: 1000000
      min_score: 0.1
      threshold: 0.7

Edit3: Spoke too soon, it still wants to detect this car across the road.