Undergraduate capstone · Sensor fusion

Multi-Sensor Waste Classification

My undergraduate capstone. We added a light-transmittance sensor and a metal sensor to a YOLOv8 camera classifier, then combined the four signals with fuzzy logic. On our 120-pass test, accuracy went from 63.33% with vision alone to 90%.

Role
Project lead · First author & presenter
Team
3 students, 1 faculty advisor
Context
CYCU capstone · IEEE ICCE-Taiwan 2025
Methods
YOLOv8, Arduino sensing, fuzzy logic
Result
63.33% → 90% over 120 test passes
Yao-Wen Hsieh explaining the waste classification poster to a judge at IEEE ICCE-Taiwan 2025
Presenting the poster at IEEE ICCE-Taiwan 2025.

A camera sees shape, color, and texture. It does not see what an object is made of. A clear plastic bottle can look like a glass bottle, and a printed paper box can look like a can. On our test set, the vision model alone classified 63.33% of passes correctly, and only 8 of 30 glass bottles.

The capstone asked a simple question: can low-cost, non-visual sensors make a vision-only classifier more reliable? We used waste sorting as the test case. The four classes (aluminum cans, paper boxes, glass bottles, plastic bottles) are easy to demonstrate, and anyone can follow the result.

I led a team of three students working with a faculty advisor. My role was close to a project manager and system designer: I decided how the parts fit together and kept the work moving. Each of us also owned one technical module.

What I led

  • Designed the overall system architecture: which inputs to use, what each module outputs, and how they connect.
  • Proposed fuzzy logic as the way to combine the vision and sensor inputs.
  • Coordinated the team’s work and reported progress to our advisor.
  • Wrote the paper. First author and presenter at IEEE ICCE-Taiwan 2025.

What I built

  • The light-transmittance sensor: a GL10528 photoresistor on Arduino, with ambient-light calibration and processing down to one 0–15 value per object.
  • The integration of the three modules into one pipeline, from the laptop-side vision output to the Arduino-side sensors and fuzzy controller.
  • The YOLOv8 vision module, together with one teammate: photographing objects, labeling images in Roboflow, and training the model.

Team

Coordinated a three-person team: a teammate implemented the 20+-rule fuzzy controller from my proposed approach, and another built the metal sensor, while I integrated all modules into one system.

Three modules each describe the object in a different way. Their four outputs go to one fuzzy controller on Arduino, which returns the final class.

System architecture diagram. A transmittance detector on Arduino outputs light transmittance from 0 to 15. A metal detector on Arduino outputs metal or non-metal as 0 or 1. Image recognition on a computer outputs a recognition result from 0 to 3 and a confidence score from 0 to 100. All four values feed a fuzzy controller on Arduino.
System architecture, from our ICCE-Taiwan 2025 poster.
Modules
ModuleHardware and methodOutput
VisionLaptop camera; YOLOv8 trained on our own photographed and Roboflow-labeled imagesClass label 0–3, confidence 0–100
Light transmittanceGL10528 photoresistor on Arduino Uno, facing a light source 30 cm awayOne value per object, 0–15
MetalLJ30A3-15-Z/BX inductive proximity sensor; voltage divider to bring its output to Arduino levelMetal 1, non-metal 0
FusionFuzzy inference on Arduino with 20+ hand-written rulesFinal class
Line chart titled Transparency Fuzzy Sets. Four membership functions over a transparency axis from 0 to 16: No Transparency as a spike at 0, Low from about 1 to 6, Medium from about 5 to 12, and High from about 9 to 14.
Fuzzy sets for the transmittance input, from our poster.

How the light reading works

At startup the Arduino measures ambient light with the beam clear and uses it as the baseline. Each reading is scaled against that baseline to a 0–15 range.

While nothing blocks the beam, readings are marked as empty. When an object passes through, the readings between two empty markers are averaged into one transmittance value for that object.

The fuzzy sets on the left map that value to No, Low, Medium, or High transmittance. Their ranges were based on box plots of our measured readings for each material.

We tested 30 passes per class, 120 in total. The test objects were new items that did not appear in the YOLOv8 training images: about five or six items per class, each passed through the setup five or six times. We recorded accuracy for vision alone and for the full fused system.

63.33%vision only, 76 of 120 correct
90%vision + sensors + fuzzy, 108 of 120 correct
120test passes, 30 per class
Accuracy by class, 30 passes each
ClassVision onlyFusedChange
Aluminum cans25/30 · 83.33%30/30 · 100%+16.67 pts
Paper boxes17/30 · 56.67%30/30 · 100%+43.33 pts
Glass bottles8/30 · 26.67%24/30 · 80%+53.33 pts
Plastic bottles26/30 · 86.67%24/30 · 80%−6.67 pts
Total76/120 · 63.33%108/120 · 90%+26.67 pts

The metal sensor fixed the mix-ups between cans and paper boxes. The transmittance reading fixed many of the mix-ups between glass and plastic, since the metal sensor reads 0 for both. Plastic bottles got slightly worse; the reason is explained below.

After training, the YOLOv8 model reported 85% mAP. That is a detection metric from training, measured on different images, so it is not comparable to the test accuracies above.

I presented the work as first author at IEEE ICCE-Taiwan 2025. The project also received the Excellence Prize in the 2025 CYCU Capstone Project Competition.

Yao-Wen Hsieh with teammates and advisor at the IEEE ICCE-Taiwan 2025 backdrop
With the team and advisor at IEEE ICCE-Taiwan 2025, Kaohsiung.

Plastic got worse

Plastic fell from 86.67% to 80%. A single photoresistor measures the light that reaches one point, not true transmittance. Clear glass refracts the beam away from that point, so it reads low. PET scatters light onto it, so it reads higher. The two ranges overlapped, and the fused result sometimes overrode a correct vision answer.

Few test items

The 120 passes came from about five or six items per class, each repeated. That shows the method works on those items. It does not show how it handles the wider variety of real waste.

Tuned in our lab

The fuzzy rules were written by hand from our own measurements. The light reading depends on a fixed 30 cm light path and a startup calibration, and was only tested in our lab.

What the 90% does not establish

It is a capstone-scale result on 120 passes under lab conditions. It is not evidence of production-level accuracy or of performance on unseen material types.