Open Salvora opened 3 years ago
Hey @Salvora,
Thanks for checking out the project. The current config doesn't support multiple of the same detector, it's explicitly looking for deepstack
, compreface
, or facebox
.
I can work on a new build to include this though. How does Double Take know which DeepStack URL to use though when processing images for recognition?
Most likely it would need to be configured like this.
detectors:
deepstack:
- url: http://192.168.1.41:9776
key: "sdg34341222fdSAS6"
# number of seconds before the request times out and is aborted
timeout: 30
- url: http://192.168.1.72:9540
key: "sdg34341222fdSAS6"
# number of seconds before the request times out and is aborted
timeout: 30
Hey @jakowenko, Thanks for the help. I use Home Assistant and have a spare laptop as well as a Synology. If the laptop is on, Home Assistant selects the laptop for image processing since it is much faster, if not it will use Synology. That way is very efficient for me. If you can add a "name" key to the config for identifying the detector, it would be much appreciated.
detectors:
deepstack:
- url: http://192.168.1.41:9776
key: "sdg34341222fdSAS6"
# number of seconds before the request times out and is aborted
timeout: 30
name: DS1
- url: http://192.168.1.72:9540
key: "sdg34341222fdSAS6"
# number of seconds before the request times out and is aborted
timeout: 30
name: DS2
I can add a name
key, would you like that displayed on the UI next the the detector name?
If I'm understanding, the API will try to process an image for DS1, if that fails or if the computer is offline it will go to DS2. Is that correct?
I can add a
name
key, would you like that displayed on the UI next the the detector name?If I'm understanding, the API will try to process an image for DS1, if that fails or if the computer is offline it will go to DS2. Is that correct?
Yeah, it is similar. Seeing it on the UI also makes it very easy to see the statuses. In addition to that, training becomes easier. Since I have to change the config and train them individually etc.
Is this what you had in mind? Here you can see I have two instances of DeepStack configured with names to distinguish them. When recognition happens it will try in the order of the configured URLs. If the first URL resolves with a 200 then that response will be used, if it fails, then the next URL will be hit, and so on.
How did you want the training to work. I assume if you are running two instances you'd want each one to be trained when you use the training page on the UI.
Yeah, that looks great. Instead of using a fail-over like that why not make it like the default behaviour while using multiple detectors? According to that SS, when recognition happens, what happens with frigate, compreface will happen with these two seperate deepstack instances.
As for training, yes they have to be trained separately to work.
Hi David,
Great project and a very interesting use case that's mentioned here.
I really don't want to take away from the OP or what they are trying to achieve but would multiple instances in this sense help with 'Still processing previous request' log messages.
To give some further detail, I have multiple raspberry pi 4 running deepstack and I would like to configure two or more detectors for face recognition. Ideally I would like to train all instances symmetrically but when processing, share or distribute the load.
Hopefully reducing the 'Still processing' messages.
Thanks all, and David really enjoying the work so far. A few months ago my cameras were very dumb but given Frigate and now Double Take I'm now getting some great detail. Double Take is a very interesting project and I'm really excited to see where it goes!
WD
Describe the bug I wanted to add another detector to the DT but when I add it, it loses all the connection of deepstack detectors.
config: This is currently working.
But if I add another detector:
Both of them go down. Does it not support multiple detectors of the same type? Version of Double Take 1.5.0
Expected behavior It should connect at least one of them with no problem since I know that one of them definetely works.
Screenshots If applicable, add screenshots to help explain your problem.
Hardware
Additional context I see the below in the logs.