This intrusion detection application is designed to monitor live camera feeds for unauthorized access or trespassing. Utilizing C++ with OpenCV and NCNN for real-time image processing, and ImGui for a user-friendly interface, the application allows users to select specific areas of interest. If a person is detected within these areas, an alarm is triggered to alert users, enhancing security measures.
Warning
This application has been tested only on Windows so far but can be used for cross-platform development.
The motivation behind this project stems from a growing concern about crime rates and the need for improved security measures. I believe that AI-driven computer vision systems can play a crucial role in monitoring homes and businesses, enabling quicker responses to security threats. By leveraging technology, we can create a safer environment for everyone.
- C++: Core programming language for performance and efficiency.
- OpenCV: Library for real-time computer vision.
- NCNN: High-performance neural network inference framework for mobile and edge devices.
- ImGui: Immediate mode GUI for creating intuitive user interfaces.
- CMake: Build system for managing project compilation.
To get started with this project, follow these instructions to set up your environment:
- C++ compiler (GCC, Clang, or Visual Studio)
- CMake (version 3.10 or higher)
- OpenCV (version 4.0 or higher)
- NCNN
- ImGui
- Clone the repository:
git clone https://github.com/ThibaMahlezana/Intrusion-Detection-System.git cd Intrusion-Detection-System
- Create a build directory and navigate into it:
mkdir build && cd build
- Run CMake to configure the project:
cmake ..
- Compile the project:
make
- Run the application:
./SECURITY_SYSTEM
- Launch the application.
- Allow access to your camera feed (Input webcam index, video url, or RTSP url).
- Select the area of interest to monitor for intrusion.
- Start the detection process.
- An alarm will sound if a person is detected within the marked area.
Contributions are welcome! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch (git checkout -b feature-branch).
- Make your changes.
- Commit your changes (git commit -m 'Add new feature').
- Push to the branch (git push origin feature-branch).
- Open a pull request.
This project is licensed under the MIT License.
For inquiries or suggestions, feel free to reach out:
- Name: Thiba Mahlezana
- Email: thiba.ma@gmail.com
- OpenCV contributors for their outstanding work in computer vision.
- NCNN developers for providing a lightweight neural network framework.
- ImGui community for making GUI development simpler and more accessible.