Skip to content

Based on YOLOv5 and SORT, the location of the bus and the congestion level of the bus stop are indentified with the monocular camera

Notifications You must be signed in to change notification settings

MoodangE/MoodangE_tracking

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MoodangE_tracking

Install
git clone https://github.com/MoodangE/MoodangE_tracking  # clone
cd MoodangE_tracking
pip install -r requirements.txt  # install

Inference with tracking.py

tracking.py runs inference on a variety of sources, downloading models automatically from the latest YOLOv5 release and saving results to runs/detect.


Command Format

  • Save Results as Image Using webcam

    python "file_name".py --source 0 # webcam
  • Save Results as Image Using Video file

    python "file_name".py --source "path/vid.mp4" --view-img # video
  • Command Format about save results as image using 'custom weights'

    python "file_name".py --weights "path/custom_weight.pt" --data "path/custom_yaml.yaml" --source "path\vide.mp4" --view-img

Test Command (Prediction of Gachon University's Location)

  • When collecting information to track your location, it is recommended that you collect it for about 5 seconds.
    Ex) FPS = 30,

1. Predict Location

  • Default values

    • Weight : best_1107.pt
    • Data : gachon_road.yaml
    • Start point : AI
    • All files are associated with the realtime database in the firebase to store this information.
  • Save Results (Prediction of Gachon University's Location) as Image or Video

    python tracking_location_cam.py --source 0 --view-img
  • Save Result (Prediction of Gachon University's Location) as Text

    python tracking_location_text.py  --source 0
  • Not Save Result (Prediction of Gachon University's Location)

    python tracking_location_db.py  --source 0

2. Calculate Congestion

  • Default values

    • Weight : yolov5s.pt
    • Data : coco128.yaml
    • Filming location : MainGate
    • All files are associated with the realtime database in the firebase to store this information.
  • Save Result (Calculate of person confusion) as Image or Video

    python tracking_person_cam.py --source 0
  • Not Save Result (Calculate of person confusion)

    python tracking_person_db.py --source 0

Train
  1. Change wandb run name in yolov5/train.py

  2. Use this command to run training

    cd yolov5
    python train.py --img 1920 --batch 4 --epochs 100 --data customDataset/gachon_road.yaml --cfg models/yolov5s.yaml --weights weights/yolov5s.pt

Implements Reference

Error & Solution
  1. PyCharm으로 구동해볼 때 classy-sort-yolov5의 classy_track의 58번째 줄의 **from sort import ***에서 오류가 발생

    해결책 > PyCharm 프로젝트 안에서 두개의 프로젝트를 일반 폴더가 아닌 소스 형태로 바꾸면 정상으로 import 됨

    Untitled

    정상 import 된 화면

    Untitled

  2. classy-sort-yolov5/yolov5/weights/download_weights.sh의 파일이 정상 작동하지 않아 yolov5s.pt 파일을 정상적으로 다운로드 하지 못함.

    ** 해결책 >** https://github.com/ultralytics/yolov5/releases/download/v3.1/yolov5s.pt 를 통해 yolov5s.pt 파일을 다운로드 한뒤에 classy-sort-yolov5/yolov5/weights에 붙여넣음

  3. (python classy_track.py --source 동영상 경로 --view-img) or (python classy_track.py —source 0)를 실행시 발생하는 오류 ( —view—img: 영상, 0: 웹캠)

    Untitled

    AttributeError: 'Upsample' object has no attribute 'recompute_scale_factor’라는 오류가 발생함.

    해결책 > 출처 : ultralytics/yolov5#6948 ~\site-packages\torch\nn\modules\upsampling.py에서 154줄의 recompute_scale_factor=self.recompute_scale_factor 를 주석처리하면 정상 작동

    Untitled

    정상 작동하며 Multiple Object Tracking (MOT)가 되는것을 볼 수 있음

    Untitled

About

Based on YOLOv5 and SORT, the location of the bus and the congestion level of the bus stop are indentified with the monocular camera

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages