Student Projects

SAVE: A Vision-Based Bicycle Safety System for Alerting Collision with Vehicles

Project Video

Team Members

Team Members:

Zining Wang, Yinchen Ni, Jiache Zhang, Weihan Chi, Jeffrey Ma

Instructors:

An Zou

Project Description

  • Problem

    As cycling gains popularity in China, concerns about traffic safety, especially accidents involving cyclists and cars, are on the rise. While radar and camera-based sensors enhance safety for cars, a critical gap exists in applying these measures to bicycles. This project addresses the need for innovative safety solutions by designing a safety system for cyclist equipment, implemented on an embedded system that can be carried and easily installed on bicycles.

  • Design Description

    Design Description

    We designed a bicycle-mounted embedded system that detects and alerts when cars are approaching. Binocular cameras capture car images and measure distance. The gyroscope activates performance mode upon detecting handlebar turns. The buzzer buzzes when the distance is too close to the car. An external NPU accele-rates program execution.

    Hardware Components:

    • Raspberry Pi 4B+

    • Intel Neural Computing Stick 2 (NCS2)

    • Passive Buzzer

    • 2x 100° Binocular Camera:

      • Achieves 360-degree coverage by combining with human eyesight

    • MPU6050 Gyroscope:

      • Collects handlebar acceleration magnitude using I2C protocol

    Software Dependencies:

    • C++ 17 on Linux

    • Intel OpenVINO ™Toolkit [2]

      • Utilizes Vehicle Detection Model

    • OpenCV Library

      • Calibrates cameras and provides Stereo SGBM algorithm for distance measurement

    • Caddy Server 2

      • Monitors output through network

    Assembling set-up:

    Optimization

    We adapt scheduling optimization and power saving strategy to make our system more effective.

    1. scheduling optimization

    2. By profiling the IO and running time of each components, we optimize the system parallelism to minimize frame processing time.


    3. power saving strategy

    4. We design 2 modes to save power. 

      • Performance Mode: Take turns reading camera images

      • Efficiency Mode: Processor sleeps for the average frame processing time before next shot

      Upgrade to the performance mode when handlebar is turning or there are close cars. Otherwise degrade to the efficiency mode.

    5. Other optimizations

      • Parameter adjustment to balance accuracy and speed

      • Static code optimization to reduce latency and power consumption

      • Adaptive refresh rate to focus more on dangerous areas



  • Validation

    We measure the FPS and power consumption in both operation mode. The results are shown in the following table and figure. 

    Comparison between Performace & Efficiency
    ModePerformanceEfficiency
    FPS10
    5
    Power(W)12.489.16


  • Conclusion

    The project we design could successfully recognize cars and keep safe distance by alerting the cyclists through buzzing. We also utilize several performance optimization and power saving techniques to increase the speed of program execution and extend the battery life. 

  • Acknowledgement

    We appreciate and feel grateful for all the support from JI, our professor, teaching assistant and our teammates.

  • Reference

    [1]https://ieeexplore.ieee.org/abstract/document/8330069

    [2]https://docs.openvino.ai/2023.1/omz_models_model_vehicle_detection_0200.html

    [3]https://docs.opencv.org/3.4/d2/d85/classcv_1_1StereoSGBM.html