Inspiration

Shoplifting has seen a surge in incidents over the last decade, with retailers reporting a 93% increase from 2019-2023 alone. Although large companies like Target and Whole foods can afford security guards and live camera monitoring, this puts local and small businesses at an even greater risk for repeat shoplifters.

What it does

Iris aims to provide lightweight theft-detection software that can monitor and classify theft incidents with live updates, while requiring zero specialized hardware other than a computer and a camera. A store owner can mark out zones designating exits and cashiers, and the model marks customers that walk in and out of a store without walking near a cashier suspicious. The software clips the recording, which is handled by the Gemini API to confirm if misconduct actually occurred, where the results are then sent to our dashboard

How we built it

We used openCV as the basis for our detection software, and the Gemini API to confirm and classify misconduct. The dashboard is built in react, and server with Express.js, which we deployed to Vercel. Additionally, OAuth handled authentication for the dashboard. For databasing, we used MongoDB for user data, and Mux for video storage and playback.

Challenges we ran into

We tried a lot of different approaches when considering what should be considered as suspicious, as detecting "suspicious actions". We decided to settle on tracking customers that exit the store without walking towards the cashier, in order to combat shoplifters that quickly steal on their way out of a store

Accomplishments that we're proud of

Implementing momentum and individual object tracking within the model were both great accomplishments for this project.

What we learned

Computer Vision is very finicky

What's next for Iris

Refining the Computer Vision model would be first on our list of improvements. Past that though, it would be cool to establish proprietary hardware that stores could use if they didn't have a camera or computer available

Share this project:

Updates