goruck / smart-zoneminder Goto Github PK
View Code? Open in Web Editor NEWFast object detection, face recognition and S3 upload of ZoneMinder alarms.
License: MIT License
Fast object detection, face recognition and S3 upload of ZoneMinder alarms.
License: MIT License
Hi,
I find your project very nice, and inspiring.
We are working to have a remote IP camera to detect when someone is chasing away some animals from the feeding place.
The Alexa path is too much for our setup, but the rest seems very similar with our concept.
We are also working on automating the zone minder installation and configuration.
Would you find it difficult to add or suggest a choice for e-mail (or extendable to SMS who knows what) message instead of Alexa integration when an alert was triggered?
We have a working sample code that for now looks in to the image to see if there is an animal or a person.
We only want e-mail when one of the conditions is true, and the image with the boxes around the objects.
Thanks!
Hi goruck. Great project!!!, I was thinking of building something much easier than your project but, finally I decided to keep on your work.
I'm having a problem with zm-s3-uploader.js I've installed all depencies and when I run node zm-s3-uploader.js I get this
`module.js:550
throw err;
^
Error: Cannot find module '../build/Release/zmq.node'
at Function.Module._resolveFilename (module.js:548:15)
at Function.Module._load (module.js:475:25)
at Module.require (module.js:597:17)
at require (internal/module.js:11:18)
at Object. (/root/smart-zoneminder/zm-s3-upload/node_modules/zeromq/lib/index.js:6:11)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)`
I've tried to find module.js or zmq.node files to figure out if it was a path error, but they are not (at list as single files you can find with 'find') in my filesystem.
Any clue of what can be happening.
Thx in advance
Chano
First of all the idea is really amazing.
I downloaded your code, and trying to run it.
but it seems to not work,
In the create_model function:
base_model = tf.keras.applications.mobilenet_v2.MobileNetV2(weights='imagenet',
include_top=False,
pooling='avg',
input_shape=(224,224,3))
Unable to open file (file signature not found)
when I tried manually to go to : http://storage.googleapis.com/tensorflow/keras-applications/mobilenet_v2/mobilenet_v2_weights_tf_dim_ordering_tf_kernels_1_192_no_top.h5
Can you help?
My monitor storage is doing directories with the monitor ID (ie, 1,2,3) instead of the names (Monitor-1, etc), so zm-s3-upload is guessing the wrong paths and bombing out. Is there some setting i didn't do correctly?
I am very interested in this project. I am currently running Blue Iris which is very stable but I am now looking for motion to be better handled. Being able to only alert on person, car, truck etc would be much better than what I have currently in Blue Iris. I have an nvidia graphics card and would like to use local object recognition. I could leave Blue Iris in place for 24/7 recording and have Zoneminder looking for alerts or I could switch completely to Zoneminder.
Questions
I have looked through the code but I can’t see where I would set the objects I am interested in alerting, for example person, car, truck. I have dabbled with Tensorflow in the past and some of the models detect things like potted plant so I would not want to alert on those if the camera sees motion.
I don’t need any of the Alexa components although that looks really cool. I currently have a home automation setup working and the easiest way for me to integrate this might be either a web service call or perhaps a message to an mqtt queue. I could pickup the alert and act on it with either of those.
I would appreciate any guidance.
thanks.
This is a great project which I'm going to implement at least in part on my zoneminder setup.
Can I make a security suggestion?
Your bucket policy makes the bucket open to the world.
I have created a user specifically for the camera access and given it specific access to the ZM frames bucket and contents. The credentials granted to that user can be used in the application to upload the frames and via the console logging in as that user to view the frames.
Create another user.
IAM -> Users -> Add User -> Access type -> check Programmatic access and AWS Management Console Access
On the last step click on Download .csv file and save the file
Add permissions to the user
IAM -> Users -> your_user -> Permissions tab -> +Add inline policy -> Custom policy
Copy and paste the following JSON and then give your inline policy a name
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowCamUsertoListS3BucketsInManagementConsole",
"Action": [
"s3:ListAllMyBuckets",
"s3:GetBucketLocation"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::"
]
},
{
"Sid": "AllowCamUserRootLevelListingofThisBucket",
"Action": [
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::zm-alarm-frames-my-bucket”
]
},
{
"Sid": "AllowCamUserFullAccessToS3zmalarmframesdevnull",
"Action": [
"s3:"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::zm-alarm-frames-my-bucket”,
"arn:aws:s3:::zm-alarm-frames-my-bucket/*”
]
}
]
}
Hi,
I followed the tutorial by Andrian and was able to generate the pickle file for the training face images I used. I would like to implement the model on edge tpu and use it. Can anyone please tell me how to proceed ?
Any help would be appreciated.
Thanks in advance.
Vismaya
Awesome enhancement for Zoneminder. thank you!
(But) Would be great to have Google Drive (GSuite) supported optional to AWS.
Or does smart-zoneminder could work with something like this https://github.com/bbrcan/zm2drive ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.