IoT Project
Transcript
English (Auto-generated)
Hi there. Welcome to our group project IOT group 45 Security Camera. The title of our project is object detection Security camera. And it falls in the domain of security to describe this, IOT I would say that we used the security camera provided by the camera module of the Raspberry Pi. And we took inspiration from surveillance surveillance cameras, home security cameras, cameras used by governments, everything for related to security and um mostly security reasons. So our camera, when it sees an object, it tries to figure out if it is a person or not, if a person is detected, it draws an outline around the object that also displays the percentage that I think it's right. So it has a threshold. We use Python with computer version library to achieve this. It streams the camera output to a website for which we used flask. And our motive was to create a security camera that displays its output somewhere. We use the web because it would be easy to implement and would require us to design any physical equipment. And on the whole, our product fulfills the role of a security camera as it outputs itself to our website and informs the user if it detects a person. Our code originally detected all objects or objects from a library that we have. This code was helped. Well, uh we implemented it through a tutorial on youtube. It wasn't entirely us and the person's tutorial was based on object detection. But for our project, we wanted human detection, how this was changed was changing the objects variable down here instead of keeping it blank to detect all objects to only people. But this does affect us in terms of frame rate, not entirely that much different because with all the the the other objects, it would affect frame rates massively as well. So we weren't able to reach the 30 fps for smoothness. But other than that, it does still detect people, it does detect multiple people and it is not limited to only one person. The reason for that is that it wouldn't give accurate results to the user if they were using this. If multiple people were on the camera, if our IOT wasn't able to do this, they wouldn't know how many people that are detected, especially due to the frame rate. So when it comes to similar products in the market today, I would say there are quite a few an example, a notable example would be NSCMIQ indoor, which is similar to our product. The nest cam has advanced computer vision capabilities and uses A I algorithms in order to detect and identify people and then also has the ability to send an alert to the user's smartphone. When a person is detected in front of the camera, it will outline the shape of the detective person and will then provide a confidence score which is similar to ours in terms of threshold and uh through the help of computer vision determines the likelihood of the accuracy of the detection. There is also the option for a continuous stream to the app which allows for remote viewing of a user's home and more information on their website. Another good example is the Arlo Ultra two, which is a wireless security camera system with advanced motion detection features and four KHDR video. It may not provide a clear outline of items it has identified but does provide customizable motion zones and notification for certain activities such as human detection. It also sends live video to the Arlo app so that it can be viewed and monitored remotely. So to conclude, there are products very similar to ours with different features that make them unique. So how this code works for IOT project is that it uses flask web application that performs object detection on video frames captured from a camera feed. So here's how it works. The code imports necessary libraries such as fast for creating the web application, opencv for computer vision tasks and num pi for numerical computations. It initializes fla a flask application that sets up the object detention detection model the model use used here is SSD mobile net V three and trained on the Cocoa data set which is located here with all the names. It loads the class names, model configuration and weights. Now going to the actual object detection function which is here get objects. The get objects function takes an image with threshold values for confidence and non maximum suppression N MS and optically oh sorry, optionally a list of objects to detect, it performs object detection. Using the loaded model on the provided image. It draws bounding boxes around detected objects and labels them if it draw if the draw is set to true. But as our project is not based on images, it's based on live camera feed, there is a difference there but this is based on the old, the old uh tutorial that we saw on youtube. So for our version, it uses uh it would change in the fact that it uses the loaded model on camera feed instead of provided image. So when it comes to generate frames is the function for frame generation. And this uh the generate frames function continuously captures frames from the camera feed performs object detection on each frame using the get object function. As I previously stated encodes the frames into JPEG format and yields them one by one with detection overlay when it comes to the routes. Now the backslash route renders a HTML template containing a video player for viewing the camera feed the html templates here contains our title and our heading and our URL for the video feed, it returns a response object with a generator function that yields frames. The main block um starts the flask application and runs it on host 0.0 0.0 0.0 which is accessible from any IP within the network and on port 8000. So when you run this code and navigate to the appropriate URL which is local host two dots 8000, you should see a web page displaying the video feed from your camera with real time object detection overlay, specifically highlighting people or person's object. Moving on to the proposition of our IOT system, the value. So our IOT system, our our IOT security camera systems systems value proposition is primarily seamless integration of cutting edge technology which improves user convenience as well as safety by leveraging computer vision algorithms. Our camera can actually detect and identify people in its field of view. It looks at an object and then attempts to actually determine whether the object is human or not. The fact that the device can determine the percentage accuracy of its reading is a significant benefit for users as it allows them peace of mind. In regards to how sure they can be of the reading. As the reading is shown on the outline, the user can see this when the camera does detect the person, it is streamed in real time to website for which we use flask. This allows users to take swift action whether it involves checking the live feed to assess the situation or notifying the authorities. If necessary, the capacity to remotely monitor one's property facilities, proactive security management management and offers peace of mind. That is our group 45 IOT security camera detection project. Thank you very much.