Skip to content

Repository files navigation

Mini-RapiScan

Once upon a time, I tried my hand at joining a hackathon. We had this little idea in mind that involved X-Rays and Smart AI-Classification and Visualization for Airport X-Ray Scanners. Unfortunately, out of the many contestants that joined, we didn't get in, so the idea never got to be made.....or so I thought.

We might not have gotten in, but that won't stop me from trying my fun little idea out. This project combines both Image Classification and Object Detection features using the YoloV8 Machine Learning Model, Video Processing using TensorFlow and OpenCV, as well as Embedded Systems Output using an Arduino Uno MCU. This is a fun little project I thought of doing to put my Computer Engineering know how to good use. Why? Why not??

image

From here on out, this will be a log containing all the changes I've done from the development all up until the embedded systems integration. Soooo yeahhh. This is gonna be fun.


LOG 1:

  • Integrated the first phase of the pipeline: model processing
  • Utilized the yolov8 (nano) model for identifying dangerous objects in X-Ray Scans
  • Model Test yielded a 99.5% - 99.7% confidence rate on object detection
image

LOG 2:

  • Integrated the second phase of the pipeline: video processing
  • Utilized OpenCV libraries and image processing libraries to extract interval-based frames from video
  • Successfully processes and detects threats for a total of 65.4 seconds on a video running at 13.8 FPS
  • Real-time classification and output still needs to be tweaked
image

LOG 3:

  • Reduced confidence threshold from 0.5 to 0.2, to make it detect things even more
  • Reduced memory frames from 10 to 7 to make for shorter memory and more instances to detect
  • It kind of works......I'll take it.
image

LOG 4:

  • Set up a basic hardware output, interfaced with a 16x2 LCD, some LEDs, a Buzzer, and a Push Button Switch
  • All inputs and outputs are connected to an Arduino Uno CH340 Microcontroller
  • Test scenario works out. Integration hasn't been done yet. That'll come in later.
image

LOG 5:

  • Established serial communication between Python Algorithm and Arduino Embedded System
  • Processed over 900 frames, and issued in over 1600 alarm-triggered alerts
  • System reads and sends out data real time
image image image

🎉🎉🎉 PROJECT IMPLEMENTATION: SUCCESS!!!!! 🎉🎉🎉

About

This is an idea we originally had for a hackathon, made into a mini-project for the funsies

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages