Watsor detects objects in video stream using deep learning-based approach. Intended primarily for surveillance it works in sheer real-time analysing the most recent frame to deliver fastest reaction against a detected threat.
What it does
Performs smart detection based on artificial neural networks significantly reducing false positives in video surveillance.
Capable to limit detection zones using mask image with alpha channel.
What kind of training model is it using? Would you be able to add more of your own down the line such as your familyās faces, your pets and car plates. Also would be nifty to flag moments it sees people walking near your property (either when no one is home or between 10pm-4am) and also if it can spot someone climbing your wall
Would love to see it monitor the 2nd channel of my ip cctvs and send texts when someone I know is around for example
Right, all of that would be nice to have, hopefully weāll get to that point.
It uses Single-Shot Detector (SSD) detector trained to recognize 90 classes of object from COCO dataset. The model can be trained further to recognize custom objects and probably can be smart enough to distinguish the owner from the strangers. The faces and car plates require another models, however.
Itās pretty exciting and if the framework is there to grow upon then itās even better
Iām thinking it should be rather easy to obtain the requisite dataset of familiar faces pictures to train and also make it able to read platesā¦ of course easy is ārelativeā
Hi @chairstacker.
Do you mind to test the image built for Raspberry Pi 4 64-bit version?
Bear in mind that object detection as such requires much computation. To get decent performance on a device such as Raspberry Pi you need the Coral USB accelerator. The image supports USB devices with the help of UDEV flag (by adding ENV UDEV=1).
Unfortunately, I havenāt got a chance to run the image on a real device, but emulated and tested as much as I could. If your Raspberry Pi is based on ARM 32, you can tweak the sources and build your own image. The build process takes 6 hours though.
I had set up Tensorflow on an RPi4 4GB according to these instructions and it worked great, no performance issues:
Currently my Pi is not set up with as 64-bit machine but Iād be happy to dig out an SD Card and give it a whirl. Which OS flavor would you recommend to use for this, do you maybe have a link?
Re. building my own container for the 32-bit, I just don;t have the skills do do that, sorry.
Thanks for feedback. I created a feature request to add the support for Intel Neural Compute Stick 2, but honestly there are no plans to work on it at the moment unless someone decides to contribute to the project. People can vote on this issue to raise the interest to it. Iāll consider adding the support if it gets 100 positive reactions.
Hi @asmirnou,
tried balena, didnāt work; the image I downloaded and installed didnāt open any port for SSH access and the display only showed the balena logo, nothing else.
Using the Raspbian 64bit version now; installed Docker and Docker Compose but Iām always getting the same error message when trying to start the container:
MainThread root ERROR : [Errno 2] No such file or directory: '/etc/watsor/config.yaml' watsor exited with code 1
When I first went to /etc the directory watsor did not exist, so I created it and added a config.yaml file with some of your dummy-entries from github.
Right, the ../config folder was supposed to be relative to the location of your docker-compose.yaml file. That directory, located at the Raspberry file system, is mounted in Docker container file system at /etc/watsor. As far as your put the config in /etc/watsor of Raspberry file system, you now can mount is as follows:
Okay - figured out how to configure my MQTT user with no password
Looks like the container is up & running now.
Now I ājustā need to figure out how to access the live stream from my Foscam FI9828P.
As I mentioned, I had it running for TensorFlow once before but it looks like I overwrote the configuration there
Simply adjusting your sample with my info doesnāt seem to do the trick - yet:
EDIT:
The URL rtsp://user:[email protected]:88/videoMain works fine in VLC bust throws an error in when I use it in the config like this: input: !ENV "rtsp://user:[email protected]:88/videoMain"
These are the lines I see in the log:
watsor | MainThread werkzeug INFO : Listening on ('0.0.0.0', 8080)
watsor | MainThread root INFO : Starting Watsor on 3f38f402e268 with PID 13
watsor | outdoorcam FFmpegDecoder INFO : [AVHWDeviceContext @ 0x5572de8730] No VA display found for device: /dev/dri/renderD128.
watsor | outdoorcam FFmpegDecoder INFO : Device creation failed: -22.
watsor | outdoorcam FFmpegDecoder INFO : Device setup failed for decoder on input stream #0:0 : Invalid argument
watsor | watchdog WatchDog WARNING : Thread outdoorcam (FFmpegDecoder) is not alive, restarting...
watsor | outdoorcam FFmpegDecoder INFO : [AVHWDeviceContext @ 0x55aa605730] No VA display found for device: /dev/dri/renderD128.
watsor | outdoorcam FFmpegDecoder INFO : Device creation failed: -22.
watsor | outdoorcam FFmpegDecoder INFO : Device setup failed for decoder on input stream #0:0 : Invalid argument
watsor | watchdog WatchDog WARNING : Thread outdoorcam (FFmpegDecoder) is not alive, restarting...