You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
Before explaining, this is my Capstone Design Results.
Garbage is being dumped indiscriminately(thoughtless) on the campus.
If it is thrown away without recycling, it will take a lot of time and manpower to classify it, so recycling is not possible now.
So we developed the Trash Detector that encourages students to throw garbage into trash cans.
Hardware
Raspberry 3b+
Motor Driver - pca9685
Servo moter - mg996r
Unused smartphone - samsung galaxy s7
Connection Diagram
Inner Hardware Configuration
Servo moter and moter driver
Test Operation Videos
Four directions
Seperating garbage collection Without detection
Trash Detection ex
Face video & making images for train dataset
Face detection
Final result - Detecting disposable paper cup
Final result - Detecting can
The end of trash seperation
Presentation Video (korean)
Environments
Raspbian OS
python 3.6
Opencv
MTCNN
How to use
Face Detection
First, We receive a full face video from the user, which is about 10 to 20 seconds.
Second, in per_frame_video.py, we can split the video into a frame and save it as an image. This becomes train dataset.
Third, in boxing.py, The mtcnn module produces an xml file whith store facial coordinates and multiple information in all images.
The xml file is not appropriate because we are going to use yolo. Therefore, convert all xml files into txt files, i.e. yolo format. (in xml_to_yolo.py)
And then, we already construct train dataset(face dataset), train it!
Trash Detection (NOT USAGE, WHAT I DO)
We collected 4,000 images from the kagle, 2,000 images from the local dataset taken by ourselves, and 2,000 images from the coil dataset to form the garbage dataset.
So, I labelled all 8,000 images myself.
And, train it!
Files
detection_dnn.py is detect the object and counts what kind of the trash is and returns the nearest classification(ex. plastic, paper, can.. etc).
detection_face.py is detect the face, counts whose face it is close to, and returns the person who counts the most.
ctr_final.py is the main file of this project. in this file, it detect the face and checks who throws it away, checks which garbage is, gives the user a reward, runs motor control, and collects it separately.
Notice
In my repository there is no weights files, because they are heavy files. If you want our trained weights, contect me.
Because I was in charge of object detection, I am not well aware of the applications and servers, databases, and motor control used.