Giter Club home page Giter Club logo

soonyang_logistics's Introduction

๐Ÿ“ฆ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

soonyang_logistics's People

Contributors

deepshadow25 avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

jh941213

soonyang_logistics's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.