Public Safety AI Video Surveillance Solution - Case Study
The client is into the business of selling security systems and solutions.
Brand: A Leading Company from Security Industry
Core Platform : Web
Programming Language: Python, Flask
Framework: OpenCV, Tensorflow, YoloV3
Algorithms: RNN, CNN, Image Processing, Face Recognition, Face Detection, Object Detection
Retailer Shops, Corporates, Military, Defense
- Some of the customers have a private network to access the video stream.
- The clients have more than 30 cameras to monitor, which posed the internet connectivity issues.
- Training the datasets for various weapons like knife, guns, and shotguns.
- Identifying the face
- Retraining the trained dataset for various datasets.
- Camera support was required, as the solution is not hardware-specific.
The client's requirements to provide robust security systems and solutions were highly feasible; however, the only challenge was to generate the weapon and smoke/fire detection related models.
To deliver our best, and understand the client's business, target audience, challenges, and goals we undertook the comprehensive analysis of the audience to whom the client sells its security solutions such as retail shops, airports, homes, corporates offices along with police, defense, and government authorities. The key problems were to identify the stranger, protect from any theft, robbery, accidents, understand customer behavior. Such problems in the airport and public place were to identify criminals and suspects. This helped us to conceptualize the idea followed by a deeper analysis to ensure all goals are achieved.
In order to ensure the right web application is built, we undertook the first contact with the concerned person wherein we have gathered detailed requirement about how many cameras they have, what kind of stream it will provide, how they will manage the location of the CCTV, based on any threat who the system should send alerts. What kind of color classification they want to see when detection happens. How they will manage the logs and provide feedback for retraining. This helped us to finalize the features and design an appropriate web application.
Before the actual project started we collected the following documentation to ensure we are building the right application
- Design documents
- Sample Data/Physical Printed Forms of current manual process
- Organization hierarchy and its possible accessibility
- 24*7 surveillance through the CCTVs established in their premise.
- Get notified if anything is missed by the security personnel while something is happening or appearing in computer vision.
- Reduce security personal presence just to monitor CCTV streams.
- Identify visitors/known staff/unsafe visitors.
- Maintain visitors logs, their bifurcations, alerts to respective personnel on their SMS/Email/on screen.
- Allow security personnel to do other work instead of simply monitoring the CCTVs closely.
- Gender bifurcation among the visitors.
- Weapons detection with visitors.
- Resolve the surveillance problem which is quite complex for humans to resolve.
python flask developers
- Develop a system that can identify the safe person, unsafe person, known people, unknown people.
- The system to detect weapons, objects, fire/smoke, and gender.
- Based on these detections, generate statistics, alerts for fire, smoke, weapon, unsafe people to security head as well as other respective stakeholders.
- Identifies Known/Unknown visitors visiting the premises.
- Recognizes Safe/unsafe visitors visiting the premises.
- Enables Gender bifurcation among the visitors.
- Weapons detection if it is appearing with visitors.
- A highly flexible application that can support any hardware.
- Its ability to detect weapons flawlessly.
- Smoke/Fire Detection feature.
- Allows real-time statistics.
- Enables runtime retraining of trained dataset/models.
Key Takeaways and Learnings
For object identification and detection even through the SSD model is widely popular in developers, but Yolo was much better when the objects are smaller/at a far distance in the frame.
Computer vision was not supporting threading the way it should have been.
Dataset if not exists and If sample data does not exist, the generation of the dataset was a time-consuming job to reach the desired accuracy.
Implementation can be done remotely if the client has a person who possesses the technical knowledge. It saves significant time and money.
Surveillance solutions do not require our own cameras / DVR.
- Reduce theft cases
- Augmented the customer experience,
- Helped to identify suspicious activities.
- Enhanced employee and personnel training.