Skip to content

deepshadow25/Soonyang_Logistics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“ฆSoonyang Logistics Pack Realtime Detection๐Ÿ“ฆ

๐Ÿ‘จ๐Ÿฟโ€๐Ÿคโ€๐Ÿ‘จ๐ŸฟMember

๊น€์žฌํ˜„ ์ด์„ฑ์—ฐ

Team Preference

Item local (๊น€์žฌํ˜„) local (์ด์„ฑ์—ฐ) AWS Server Google Colab
CPU Apple M1(10core) i7-8565U i7 4core Xeon(R)cpu 2.3GHz
RAM 32GB 16GB 16GB 13~52GB
Storage 512GB 512GB 250GB 166GB
OS macOS ventura Window 10 - -
MOBILE Iphone 13 Mini Galaxy S10 - -

Index


๐Ÿ“Project Summary

ํ”„๋กœ์ ํŠธ ์ฃผ์ œ

  • ๊ฐœ์š” ๋ฐ ๊ธฐ๋Œ€ํšจ๊ณผ
    • ๋ฌผ๋ฅ˜์„ผํ„ฐ(HUB, CAMP) ๋‚ด ์ปจ๋ฒ ์ด์–ด ๋ฒจํŠธ์—์„œ ๋ฐ•์Šค ํฌ์žฅ์˜ ์ฐข์–ด์ง€๊ฑฐ๋‚˜ ์ –์Œ ๋“ฑ์„ Detection ํ•˜์—ฌ ์žฌํฌ์žฅ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋ฅผ ์„ ๋ณ„ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ๊ตฌํ˜„
    • ๋ฌผ๋ฅ˜์„ผํ„ฐ์—์„œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋ชฉํ‘œ๋กœ ํ•˜์˜€์Œ. ๋”ฐ๋ผ์„œ Realtime Detection์˜ ์ ์šฉ์ด ํ•„์š”ํ•จ.
    • ์˜คํ† ์†Œํ„ฐ๊ฐ™์€ ๊ธฐ์กด ๋ถ„๋ฅ˜ ์‹œ์Šคํ…œ์— ๋น„ํ•ด ์ €๋ ดํ•œ ๋น„์šฉ์œผ๋กœ ์‹œ์Šคํ…œ ๊ตฌ์ถ•์„ ํ•  ์ˆ˜ ์žˆ์Œ.
    • ์˜ค์ƒ์ฐจ ์˜ค๋ฐฐ์†ก์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ์ถ•์ ์œผ๋กœ ๋‚ด๋ถ€ ํ”„๋กœ์„ธ์Šค ํ‰๊ฐ€ ๋ฐ˜์˜์„ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ณ ๊ฐ ๊ฒฝํ—˜ ํ–ฅ์ƒ ํšจ๊ณผ๋„ ๊ธฐ๋Œ€๋˜๋Š” ๋งŒํผ, B2B, B2C ๊ด€์  ๋ชจ๋‘์—์„œ ์ธ์ , ๊ฒฝ์ œ์ ์ธ ์ด๋“์„ ๋ณผ ์ˆ˜ ์žˆ์Œ.

Dataset Summary

  • ์ƒ์ž ๋ฐ์ดํ„ฐ

    • ๋ผ๋ฒจ : Hole(๊ตฌ๋ฉ, ์ฐข์–ด์ง), Wet(์ –์Œ)

    • ์ˆ˜์ง‘ ๋ฐฉ๋ฒ•

      • 1๋‹จ๊ณ„ : ์›น ํฌ๋กค๋ง ์„ ํ†ตํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ (987์žฅ)
      • 2๋‹จ๊ณ„ : ์›น ํฌ๋กค๋ง ๊ณ„์† + ์ž์ฒด์ ์ธ ๊ธธ๊ฑฐ๋ฆฌ ํƒ์ƒ‰ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ (1684์žฅ)
      • 3๋‹จ๊ณ„ : ๊ฐˆ์ƒ‰๋ฐ•์Šค ์ƒ์ž ๊ตฌ๋งคํ›„ ์ž์ฒด์ ์ธ ๋ฐ์ดํ„ฐ์…‹ ์ œ์ž‘ (3287์žฅ)
    • ์ „์ฒด ์ด๋ฏธ์ง€ ๊ฐœ์ˆ˜ : 3,287์žฅ

    • ๊ฐ์ฒด ์ข…๋ฅ˜ ๋ฐ ๊ฐ์ฒด๋‹น BBox ๊ฐœ์ˆ˜ : 4,837๊ฐœ (Hole(๊ตฌ๋ฉ,์ฐข์–ด์ง) 2,226๊ฐœ , Wet(์ –์Œ) 2,611๊ฐœ)

    • ์ด๋ฏธ์ง€ ํฌ๊ธฐ : (640, 640) -> (1280, 1280)

    • ๋ฐ์ดํ„ฐ์…‹ ํ˜•ํƒœ : ํƒ๋ฐฐ ์ƒ์ž (๊ฐˆ์ƒ‰ ํŒ์ง€)

  • ํƒ๋ฐฐ์†ก์žฅ ๋ฐ์ดํ„ฐ

    • ์ „์ฒด ์†ก์žฅ ๊ฐœ์ˆ˜ : 187์žฅ

      • GS ํŽธ์˜์  ์†ก์žฅ 80์žฅ
      • CU ํŽธ์˜์  ์†ก์žฅ 106์žฅ
      • ์‹œํ—˜๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ 1์žฅ (์‹ค์ œ ์†ก์žฅ์œผ๋กœ ocr ํ…Œ์ŠคํŠธ)
    • ์†ก์žฅ ์‚ฌ์ง„ ์ด 250์žฅ

    • ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•

      • 1๋‹จ๊ณ„ : ์†ก์žฅ ์ „์ฒด์— Annotation ์ ์šฉ
      • 2๋‹จ๊ณ„ : ์†ก์žฅ์— ์žˆ๋Š” "์šด์†ก์žฅ๋ฒˆํ˜ธ" Annotation

๋ฐ์ดํ„ฐ์…‹ ์ด๋ฏธ์ง€

  • ํƒ๋ฐฐ ์ƒ์ž ๋ฐ์ดํ„ฐ
  • ํƒ๋ฐฐ ์†ก์žฅ ๋ฐ์ดํ„ฐ

image size & resize
640 x 640 -> 1280 x 1280 -> 2048 x 2048
--> yolov7 ๋…ผ๋ฌธ ์ฐธ์กฐ์‹œ ๋ฐ์ดํ„ฐ์…‹ 640 x 640 ํ•™์Šต ์ถ”ํ›„ ๋ฐ์ดํ„ฐ ํ•ธ๋“ค๋ง์„ ํ†ตํ•˜์—ฌ resize ์ž‘์—… ์ง„ํ–‰

Augmentation
crop 10ยฐ -> ๋ฐ์ดํ„ฐ ์ฆ๊ฐ•์„ ์œ„ํ•œ Augmentation
yolov7, yolov8 hyper param ๊ธฐ๋Šฅ augmentation: True
(Mosaic : 1.0, fliplr : 0.5, scale : 0.5, translate : 0.1, hsv_h : 0.015, hsv_s = 0.7, hsv_v = 0.4)

OpenCV๋ฅผ ํ™œ์šฉํ•œ ์†ก์žฅ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ

๐Ÿ—“Procedures

[2023.01.02 ~ 2023.01.06]

  • ํ”„๋กœ์ ํŠธ ์ฃผ์ œ ํƒ์ƒ‰ ๋ฐ ์„ ์ •
  • ํ”„๋กœ์ ํŠธ ๊ณ„ํš ๊ตฌ์ƒ

[2023.01.06 ~ 2023.01.18]

  • ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋ฐ ์ „์ฒ˜๋ฆฌ
    • Detection ํŠน์„ฑ์ƒ ๋ถˆ๋Ÿ‰๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌํ•˜๊ธฐ ์–ด๋ ค์› ์œผ๋ฏ€๋กœ ์ด๋ฅผ ์ง์ ‘ ๋งŒ๋“ค์–ด๋ƒ„.
    • ๊ฐ€์žฅ ๋ณดํŽธ์ ์ธ ํƒ๋ฐฐ ์ƒ์ž(๊ฐˆ์ƒ‰ ํŒ์ง€ ์ƒ์ž)์˜ ๋ฐ์ดํ„ฐ๋งŒ์„ ๊ณ ๋ ค

[2023.01.14 ~ 2023.01.16]

  • 1์ฐจ Model training and testing
    • Real Time Detection
    • Train, valid dataset split
    • Data Augmentation

[2023.01.17 ~ 2023.01.24]

  • 1์ฐจ Detection model result ๋ถ„์„, ํ‰๊ฐ€
    • Annotating ๋Œ€ํญ ์ˆ˜์ •
  • OCR / Model serving Reference Searching ์‹œ์ž‘
    • App service ๊ณ„ํš์ด ์žˆ์—ˆ์œผ๋‚˜ ์ฐจํ›„๋กœ ๋ฏธ๋ฃธ.

[2023.01.25 ~ 2023.01.27]

  • 2์ฐจ Detection Model training and testing
    • ์ˆ˜์ •๋œ Annotating ์ ์šฉ
    • Resolution ์กฐ์ • (640640 -> 12801280)
    • ๊ฒฐ๊ณผ ๋ถ„์„, ํ‰๊ฐ€ ํ›„ 3์ฐจ๋กœ ๋„˜์–ด๊ฐ
  • Github repository ๊ฒฐ๊ณผ๋ฌผ ์ •๋ฆฌ
    • Readme ์ž‘์„ฑ ์‹œ์ž‘

[2023.01.28 ~ 2023.02.06]

  • OCR model ์ค€๋น„
    • ํƒ๋ฐฐ ์šด์†ก์žฅ ๋ฐ์ดํ„ฐ ์ค€๋น„ (์ž„์˜์˜ ์ฃผ์†Œ๋ฐ์ดํ„ฐ ์ƒ์„ฑ, ์†ก์žฅ ์ธ์‡„)
    • OCR API test (Google Cloud Vision, Naver Clova)
    • OCR model searching (EazyOCR, Tesseract ๋“ฑ)
  • 3์ฐจ Detection model training and testing
    • use EfficientDet models. (D0, D1)
    • also used Yolo models : Yolo๊ฐ€ Eff.Det๋ณด๋‹ค ๋‚˜์Œ ํ™•์ธ
  • App ๊ตฌํ˜„ ๊ณ„ํš์„ Web Serving์œผ๋กœ ์ˆ˜์ •. (Insight ๋‹ค์‹œ๋ณด๊ธฐ)
    • ๊ณ ๊ฐ์—๊ฒŒ ์•Œ๋ฆผ์„ ๋ฐœ์†กํ•˜๋Š” ๊ธฐ๋Šฅ์ด ํ•„์š”์—†์Œ.
    • ๋ฌผ๋ฅ˜ํšŒ์‚ฌ(๊ณต์žฅ) ๋‚ด๋ถ€์—์„œ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์‚ฌ์šฉ : ์›น์œผ๋กœ๋งŒ ๊ตฌํ˜„ํ•ด๋„ ๋จ.

[2023.02.07 ~ 2023.02.13]

  • Web Serving ๊ตฌ์ถ• (Flask)
  • ์‹ค์‹œ๊ฐ„ ๊ตฌ์ถ• ์›น ์‚ฌ์ดํŠธ ๊ตฌํ˜„
  • ์›น UI ์ œ์ž‘ (๋ถˆ๋Ÿ‰๊ฒ€์ถœ : ๊ฒ€์ถœํ•˜๋Š” ๊ฒƒ ๋ณด์—ฌ์ฃผ๊ธฐ / ์†ก์žฅ์ธ์‹ : OCR bbox ์ €์žฅ+crop)
  • OCR Data train + inference ์‹œ์ž‘
  • Tesseract, Naver Clova API, EazyOCR ๋“ฑ ์‚ฌ์šฉ
  • ์†ก์žฅ ์‚ฌ์ง„ 100์—ฌ ์žฅ์—์„œ ๊ฐ ์ˆซ์ž + "์šด์†ก์žฅ๋ฒˆํ˜ธ" ๊ธ€์ž์— bounding box ์ง€์ •, inference
    • Yolo v8 ๊ธฐ๋ฐ˜์œผ๋กœ ๋ชจ๋ธ ๋งŒ๋“ค๊ธฐ ๋„์ „. 20,000 Epoch ์‹œ๋„.

[2023.02.13 ~ 2023.02.16]

  • Presentation ์ค€๋น„

    • Data, Model, OCR, Git, any other process ์ •๋ฆฌ
    • ๋ฐœํ‘œ ๋Œ€๋ณธ ์ œ์ž‘, ๋””์ž์ธ ๊ตฌ์ƒ
  • DB ๊ตฌ์ถ•

  • OCR ์ˆ˜์ •


[2023.02.17]

  • ๋ฐœํ‘œ ๋ฐ ์ ๊ฒ€.

๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘งTeam Roles


Member Role
๊น€์žฌํ˜„ Data Processing(Box Data), Model testing (Yolo v7, v8), OCR Modeling, Model web serving, Making Presentation File
์ด์„ฑ์—ฐ Data Processing(Box Data, WayBill Data), Model testing (Yolo v4, EfficientDet), Reference Searching and studying, Presentation

โ„Features

  • Detection ์ตœ์ ์˜ ๋ชจ๋ธ์„ ์ฐพ๊ธฐ ์œ„ํ•œ YOLO, efficientDet, CoreML๋“ฑ ๊ฐ์ฒด๋ชจ๋ธ ํ•™์Šต ๋ฐ ํ…Œ์ŠคํŠธ
  • Make Data Set ๊ตฌ์ถ•์„ ์œ„ํ•œ ํ˜„์‹ค์—์„œ์˜ ๋ฐ์ดํ„ฐ ์…‹ Searh & Make
  • EasyOCR, Tesseract, MMOCR ๋“ฑ ์˜คํ”ˆ์†Œ์Šค๊ธฐ๋ฐ˜์˜ OCR ๋ชจ๋ธ ์‚ฌ์ „ ํ…Œ์ŠคํŠธ ๋ฐ fine tune
  • NAVER Clova AI, KAKAO ๋“ฑ ๊ตญ๋‚ด ๊ธฐ์—…์˜ OCR API ์‚ฌ์šฉ

Model Web Serving

๐ŸResult

Valid Result

MODEL CoreML YOLOv4 YOLOv5 YOLOv7 YOLOv8 EfficientDet
imgsize 1280x1280 640x640 640x640,1280x1280 640x640,1280x1280 640x640,1280x1280 1280x1280
epochs(best) 3200 6000 100(78) 100(83) 100(87) 10000(9752)
data 3๋‹จ๊ณ„ 2๋‹จ๊ณ„ 3๋‹จ๊ณ„ 3๋‹จ๊ณ„ 3๋‹จ๊ณ„ 3๋‹จ๊ณ„
mAP50 0.78 0.57 0.81, 0.85 0.45 0.81,0.86 0.79
augmentation crop 10 crop10 crop10, hyper params crop10, hyper params crop10, hyper params

Test Result

โ™ŸRequirements

Yolov5

# pip install -r requrements.txt
gitpython
ipython  # interactive notebook
matplotlib>=3.2.2
numpy>=1.18.5
opencv-python>=4.1.1
Pillow>=7.1.2
psutil  # system resources
PyYAML>=5.3.1
requests>=2.23.0
scipy>=1.4.1
thop>=0.1.1  # FLOPs computation
torch>=1.7.0  # see https://pytorch.org/get-started/locally (recommended)
torchvision>=0.8.1
tqdm>=4.64.0
# protobuf<=3.20.1  # https://github.com/ultralytics/yolov5/issues/8012

Yolov7

# pip install -r requrements.txt
matplotlib>=3.2.2
numpy>=1.18.5,<1.24.0
opencv-python>=4.1.1
Pillow>=7.1.2
PyYAML>=5.3.1
requests>=2.23.0
scipy>=1.4.1
torch>=1.7.0,!=1.12.0
torchvision>=0.8.1,!=0.13.0
tqdm>=4.41.0
protobuf<4.21.3

Yolov8

# pip install Ultralytics
pip install -r requrements.txt
matplotlib>=3.2.2
numpy>=1.18.5
opencv-python>=4.6.0
Pillow>=7.1.2
PyYAML>=5.3.1
requests>=2.23.0
scipy>=1.4.1
torch>=1.7.0
torchvision>=0.8.1
tqdm>=4.64.0

๐Ÿ“Folder Structure


โ”œโ”€โ”€ BoxDetection
โ”‚     โ”œโ”€โ”€ Yolo  โ”ฌโ”€โ”€ v4 (DarkNet)
โ”‚     โ”‚		โ”œโ”€โ”€ v5
โ”‚     โ”‚		โ”œโ”€โ”€ v7
โ”‚     โ”‚		โ””โ”€โ”€ v8
โ”‚     โ”œโ”€โ”€ CoreML (yolo v2, v3 based)
โ”‚     โ””โ”€โ”€ EfficientDet โ”ฌโ”€โ”€ D0
โ”‚     		       โ””โ”€โ”€ D1
โ”‚  
โ”œโ”€โ”€ TrackingDetection
โ”‚     โ””โ”€โ”€ Yolov8
|
โ”‚ 
โ”œโ”€โ”€ Serving  
โ”‚     โ””โ”€โ”€ YOLOv8s  
โ”‚   
โ”œโ”€โ”€ OCR (Optical Character Recognition)
โ”‚     โ”œโ”€โ”€ EazyOCR
โ”‚     โ”œโ”€โ”€ TesseractOCR
โ”‚     โ”œโ”€โ”€ mmOCR
|     โ”œโ”€โ”€ Naver Clova A.I.
|     โ”œโ”€โ”€ Google Cloud Vision
โ”‚     โ””โ”€โ”€ Kakao
|
|
โ””โ”€โ”€โ”€ Dataset
      โ”œโ”€โ”€โ”€ train.txt
      โ”œโ”€โ”€โ”€ valid.txt
      โ””โ”€โ”€โ”€ test.txt

Reference

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages