AI motion detection with BlueIris: an alternate approach

Has any one tried to integrate this yolo with the BI and Ai tool? Would it make the Ai tool even more accurate if it was possible to get yolo to work with?


Sent from my SM-G965U using Tapatalk


This system only works with Deepstack. Unless Yolo has exactly the same request and response format as Deepstack it won't work.
 
Someone would have to try it by pointing the "Deepstack" URI in the configuration to a Yolo URI instead.
 
Hmm interesting. But the yolo watching video live though or it can detect it live. The deepstack and Ai tool is detecting a snap shot image in time correct?

Sent from my SM-G965U using Tapatalk
 
It's shown in the table on the defining triggers page in the example column.



It's an array and supports as many rectangular areas as you like.



The property name is "masks" not "mask". If you are having trouble getting this working open a support request over at github and include your triggers.json file and a copy of the logs.
hi Neile, what do u mean it's an array?

do i set it up like this for multiple masks?

"masks": [{"xMinimum": 20, "yMinimum": 30, "xMaximum": 100, "yMaximum": 200}, {"xMinimum": 20, "yMinimum": 30, "xMaximum": 100, "yMaximum": 200}, {"xMinimum": 20, "yMinimum": 30, "xMaximum": 100, "yMaximum": 200}],
 
hi Neile, what do u mean it's an array?

do i set it up like this for multiple masks?

"masks": [{"xMinimum": 20, "yMinimum": 30, "xMaximum": 100, "yMaximum": 200}, {"xMinimum": 20, "yMinimum": 30, "xMaximum": 100, "yMaximum": 200}, {"xMinimum": 20, "yMinimum": 30, "xMaximum": 100, "yMaximum": 200}],

Yep, exactly.
 
another question neile

i reviewed the logs below. if no objects detected, shouldn't it continue to analyze the subsequent image instead of skipping?



Code:
2020-07-17T22:58:23-07:00 [Trigger Poolparking detector] /aiinput/poolparking.20200717_225821263.jpg: Skipping as it was received before the cooldown period of 20 seconds expired.

2020-07-17T22:58:28-07:00 [Trigger Poolparking detector] /aiinput/poolparking.20200717_225826266.jpg: Analyzing

2020-07-17T22:58:29-07:00 [Trigger Poolparking detector] /aiinput/poolparking.20200717_225826266.jpg: No objects detected. (858 ms)

2020-07-17T22:58:33-07:00 [Trigger Poolparking detector] /aiinput/poolparking.20200717_225831326.jpg: Skipping as it was received before the cooldown period of 20 seconds expired.

2020-07-17T22:58:38-07:00 [Trigger Poolparking detector] /aiinput/poolparking.20200717_225836329.jpg: Skipping as it was received before the cooldown period of 20 seconds expired.

2020-07-17T22:58:43-07:00 [Trigger Poolparking detector] /aiinput/poolparking.20200717_225841336.jpg: Skipping as it was received before the cooldown period of 20 seconds expired.

2020-07-17T22:58:48-07:00 [Trigger Poolparking detector] /aiinput/poolparking.20200717_225846343.jpg: Skipping as it was received before the cooldown period of 20 seconds expired.
 
When cool down is set it waits for the 20 seconds to expire before looking at another image, regardless of whether something was detected.
 
Version 5.1.2 is now available. This release patches a low severity security vulnerability in a 3rd party library.

There are no functional changes in this release. To update run docker-compose pull then docker-compose up to restart.
 
  • Like
Reactions: cokipuff20
Version 5.2.0 is now available:

* The original image that caused a trigger to fire is now stored temporarily and available for use via the built-in web server. The images are available in the /originals folder with the original filename.

To update run docker-compose pull then docker-compose up to start.
 
If I create 2 Telegram Bots
1 called Front Door Cams
1 called Back Garden Cams

Using the WIKI.. I cant see how I define or even get a second chatID.. it always returns the same id

Whats the trick to getting each trigger to go to different chats?
 
Is it possible to send the record trigger before sending the Telegram message? I have annotations turned on and it seems to take a variable amount of time (1-20 seconds) to complete that step, so sometimes the recording is late
 
Is it possible to send the record trigger before sending the Telegram message? I have annotations turned on and it seems to take a variable amount of time (1-20 seconds) to complete that step, so sometimes the recording is late

No, it has to wait for the annotation to complete before it can proceed to sending all the triggers. Honestly the annotations are just a novelty and not particularly useful once you have the system up and running: you can tell by looking at the photo what triggered it (car, person) with your own eyes. I run with the annotations turned off...
 
Am I wasting time search for how to do this?

I'm not super familiar with Telegram, but I believe different chats will be different people. I don't think there's a way you can have different chats for each camera since the system only supports a single bot.
 
  • Sad
Reactions: Konrad Walsh
Hmm. We had a planned power outage yesterday so I brought the BI machine down along with the docker containers. When I brought it back up I started getting errors trying to bring up the trigger container. I think I did upgrade to the latest Docker version for Windows, but that the only change. One thing I had to do was run "DockerCli.exe -SwitchDaemon" to get the container switched back to Windows, apparently the upgrade made Docker think I was running Linux.

But now I get bind errors, it doesn't like the volume mount. Ughh. Will try to troubleshoot this later today. Just figured I'd post if anyone else knows how to fix this or in case someone else also runs into this.

UPDATE: I ended up uninstalling Docker altogether and starting with a clean install. Now I get a new error... Not sure what file it's referring to. Maybe settings or triggers? But they are in the same dir as docker-compose.yml

Code:
Creating docker_deepstack-ai_1 ... done
Creating docker_trigger_1      ... error

ERROR: for docker_trigger_1  Cannot create container for service trigger: The system cannot find the file specified.

ERROR: for trigger  Cannot create container for service trigger: The system cannot find the file specified.
ERROR: Encountered errors while bringing up the project.

UPDATE2: This time I ran the trigger container from the Docker Desktop and get this... seems the mapping from settings.json and triggers.json somehow broke.

Code:
2020-07-29T19:56:43+00:00 [Main] ****************************************
2020-07-29T19:56:43+00:00 [Main] Starting up version 5.2.0
2020-07-29T19:56:43+00:00 [Main] Timezone offset is 0
2020-07-29T19:56:43+00:00 [Main] Current time is Wed Jul 29 2020 19:56:43 GMT+0000 (Coordinated Universal Time)
2020-07-29T19:56:43+00:00 [Settings] Unable to read the configuration file: ENOENT: no such file or directory, open '/run/secrets/settings'.
2020-07-29T19:56:43+00:00 [Settings] Unable to read the configuration file: ENOENT: no such file or directory, open '/config/settings.json'.
2020-07-29T19:56:43+00:00 [Main] Unable to find any settings file.
2020-07-29T19:56:43+00:00 [Main] ****************************************
2020-07-29T19:56:43+00:00 [Main] Startup failed due to errors. For troubleshooting assistance see https://github.com/danecreekphotography/node-deepstackai-trigger/wiki/Troubleshooting.
2020-07-29T19:56:43+00:00 [Main] Startup reattempt 1 of 5 in 30 seconds.

My docker-compose.yml looks like this:

Code:
version: "3.8"
services:
  trigger:
    volumes:
      # Change d:/myfolder/myimages to point to the folder that will have the images
      # to analyze. Only change the local path that is before the :/aiinput portion.
      # Don't change the :/aiinput part. For example, if you are on Windows and your
      # images are stored locally in d:/blueiris/capturedImages your final line should
      # look like this:
      # d:/blueIris/capturedImages:/aiinput
      - c:/BlueIris/AIInput.:/aiinput

    environment:
      # Change this to match the timezone the images are produced in,
      # Typically this will be the timezone of the machine running
      # the Docker container. For a list of valid timezone values
      # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
      # The value to use is in the "TZ database name" column.
      - TZ=America/Los_Angeles

    ports:
      # This port is used by the local web server when annotated images are enabled.
      # If you change the port used by the local web server in the settings.json file
      # this also has to change to match.
      - 4242:4242

    # ------------------------------------------------------------------------
    # Don't change anything below this line unless you know what you are doing
    secrets:
      - triggers
      - settings
    image: danecreekphotography/node-deepstackai-trigger:latest
    restart: unless-stopped
    depends_on:
      - deepstack-ai

  deepstack-ai:
    image: deepquestai/deepstack:latest
    restart: unless-stopped
    volumes:
      - localstorage:/datastore
    environment:
      - VISION-DETECTION=True

volumes:
  localstorage:

secrets:
  settings:
    # This should point to the location of the settings.json configuration file
    file: c:/docker/settings.json <-- I only changes this to an absolute path as a test, usually it's just file ./settings.json
  triggers:
    # This should point to the location of the triggers.json configuration file
    file: c:/docker/triggers.json  <-- I only changes this to an absolute path as a test, usually it's just file ./triggers.json

RESOLVED: There was an erroneous period in the volume line, removing fixed the last issue.
 
Last edited: