๐
๐
LicensePlate_Project [Project] 2021.02 ~ 2021.09 License Plate Detection Application
Overview
1. ๋ฐ์ดํฐ ์์ง ๋ฐ ๋ผ๋ฒจ๋ง
์ฐจ๋ ๋ฒํธํ ์ด๋ฏธ์ง๋ฅผ ์ง์ ์์งํ์ฌ ๊ฐ ์ด๋ฏธ์ง์ ๋ํด '๋ฒํธํ ๊ธ์'์ '๋ฒํธํ ๋ค ๊ผญ์ง์ ์ x,y ์ขํ'๋ฅผ ๋ผ๋ฒจ๋ง ํ๋ค.
๋ฒํธํ ์ด๋ฏธ์ง | |
---|---|
๋ผ๋ฒจ๋ง | 20210210_222919.jpg 1481 2773 2043 2689 2043 2794 1486 2883 36์กฐ 2428 |
ํ ์คํธ ํ์ผ๋ก ์ ์ฅ๋ ๋ผ๋ฒจ๋ง ์ ๋ณด๋ ๋ฒํธํ ๋ค ๊ผญ์ง์ ์ ์ ๋ ์ขํ์ ๋ฒํธํ ๊ธ์๋ฅผ ํฌํจํ๊ณ ์๋ค. ํ์ต ๋ฐ์ดํฐ์ 20%๋ฅผ ๊ฒ์ฆ ๋ฐ์ดํฐ๋ก ๋๋์ด ๋ฐ์ดํฐ์ ์ค๋น๋ฅผ ๋ง์น๋ค. ์ต์ข ๋ฐ์ดํฐ์ ๊ตฌ์ฑ์ ๋ค์๊ณผ ๊ฐ๋ค.
ํ์ต ๋ฐ์ดํฐ | ๊ฒ์ฆ ๋ฐ์ดํฐ |
---|---|
1635์ฅ | 409์ฅ |
2. YOLOv5 ํ์ต (Pytorch-YOLOv5)
-
์ธํ ๋ฐ์ดํฐ ์ค๋น
์๋ณธ ์ด๋ฏธ์ง๋ ๋ฒํธํ ์์ญ์ ํ์งํ๊ธฐ ์ํด ๊ณง์ฅ YOLO์ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์, YOLO์ ์ ๋ ฅ ํ์์ ๋ง์ถ๊ธฐ ์ํด ๊ฐ ์ด๋ฏธ์ง ๋ง๋ค ์ด๋ฏธ์ง ํ์ผ๋ช ๊ณผ ๋์ผํ ์ด๋ฆ์ ํ ์คํธ ํ์ผ์ ๋ง๋ค์ด bounding box์ ์ขํ ์ ๋ณด๋ฅผ class, x_center, y_center, width, height์ ํฌ๋งท์ ๋ฌธ์์ด๋ก ์ ์ฅํ๋ค. ์ด ๋, class๋ฅผ ์ ์ธํ ๋๋จธ์ง ๊ฐ์ ๋ชจ๋ 0-1 ์ฌ์ด์ ์๋ ์ขํ๋ก ๋ณํํ๋ค.
โโโ Yolo_input
โโโ train
โ โโโ images
โ โ โโโ 1.jpg
โ โ โโโ 2.jpg
โ โ โ :
โ โ
โ โโโ labels
โ โโโ 1.txt
โ โโโ 2.txt
โ โ :
โ
โโโ val
โโโ images
โโโ labels
-
dataset.yaml ์ค๋น
Custom ๋ฐ์ดํฐ์ ์ YOLOv5 ํ์ต ์ฝ๋๋ฅผ ๊ทธ๋๋ก ์ธ ๊ฒ์ด๊ธฐ ๋๋ฌธ์, ๋ฐ์ดํฐ์ ์ธํ ๋ถ๋ถ๋ง ์์ ํ๋ค. dataset.yaml ํ์ผ์ ํ์ต, ๊ฒ์ฆ ๋ฐ์ดํฐ ๊ฒฝ๋ก์ ๊ฐ์ฒด ํด๋์ค ์ ๋ณด๋ฅผ ๊ธฐ์ ํ๋ค. ์ฐ๋ฆฌ ํ๋ก์ ํธ์ ๊ฒฝ์ฐ ํ์งํ๋ ๊ฐ์ฒด๊ฐ ์ฐจ๋ ๋ฒํธํ ํ๋์ด๋ฏ๋ก ํด๋์ค ๋ผ๋ฒจ์ 0์ผ๋ก, ์ด๋ฆ์ 'plate' ๋ก ํ๋ค. -
YOLO ๋ชจ๋ธ ์ ํ
๋ณธ ํ๋ก์ ํธ๋ฅผ ์ํด ๊ฐ์ฅ ์๊ณ ๋น ๋ฅธ ๋ชจ๋ธ์ธ YOLOv5s๋ฅผ ์ฌ์ฉํ์๋ค.
3. ๊ผญ์ง์ ์์ธก ๋ชจ๋ธ ํ์ต
-
์ฌ์ฉํ ๋ชจ๋ธ : timm์ผ๋ก ์ฌ์ ํ์ต๋ Resnet18 ๋ชจ๋ธ์ ์ฌ์ฉํ์๋ค
-
์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ
-
์ฌ์ฉ๋ ์ด๋ฏธ์ง : ๋ค ๊ผญ์ง์ ์ขํ๊ฐ์ ์ด์ฉํ์ฌ ๋ง๋ ๋ฐ์ด๋ฉ ๋ฐ์ค์์ ๊ฐ ์ถ์ผ๋ก 1%์ฉ ๋์ธ ์ด๋ฏธ์ง
-
๋ฐ์ดํฐ ์ฆ๊ฐ: ์ ๋จ ๋ณํ(shear transformation), ์ฌ์งํฉ์ฑ, ๋ฐ๊ธฐ์กฐ์ , ๋ฆฌ์ฌ์ด์ฆ
์ ๋ ฅ ์ด๋ฏธ์ง๋ฅผ ์ ๋จ ๋ณํ ๊ธฐ๋ฒ์ ์ด์ฉํด x, y์ถ์ผ๋ก ๋๋คํ๊ฒ ๋ณํํ๋ฉด ๊ฒ์์ ์ฌ๋ฐฑ ๋ถ๋ถ์ด ์๊ฒจ, ์ด ๋ถ๋ถ์ ๋ค๋ฅธ ์ด๋ฏธ์ง์์ ๋๋คํ๊ฒ ๊ฐ์ ธ์ ํฉ์ฑ์์ผฐ๋ค. ์ด ์ด๋ฏธ์ง์ ๋๋ค์ผ๋ก ๋ฐ๊ธฐ์กฐ์ ์ ์ถ๊ฐํ์ฌ, 128x128 ์ด๋ฏธ์ง๋ก ๋ฆฌ์ฌ์ด์ฆํ ์ด๋ฏธ์ง๋ฅผ ๋ชจ๋ธ์ ์ ๋ ฅ์ผ๋ก ๋ฃ์๋ค. -
๋ฌธ์ ์ : ๊ฒ์์ ๋ถ๋ถ์ ๋ค๋ฅธ ์ฌ์ง์ผ๋ก ํฉ์ฑ์์ผฐ๋๋ ์ค์ธ๊ณ ๋ฐ์ดํฐ์ ๊ดด๋ฆฌ๊ฐ์ด ์๊ฒจ ์ฑ๋ฅ ์ ํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์๋ค.
์ฌ์ฉ๋ ์ด๋ฏธ์ง ๋ฐ์ดํฐ์ฆ๊ฐ1 ๋ฐ์ดํฐ์ฆ๊ฐ2 -
-
๋ ๋ฒ์งธ ๋ฐฉ๋ฒ
-
์ฌ์ฉ๋ ์ด๋ฏธ์ง : ์๋ณธ ์ด๋ฏธ์ง
-
๋ฐ์ดํฐ ์ฆ๊ฐ: ์ ๋จ ๋ณํ, ๋ฐ๊ธฐ์กฐ์ , ๋ฆฌ์ฌ์ด์ฆ ์ ๋ ฅ ์ด๋ฏธ์ง์ ๋ผ๋ฒจ๋ง์ ํตํด ์๋ ค์ง ๋ฒํธํ ๊ผญ์ง์ ์ ์ขํ๋ค์ ์ ๋จ ๋ณํ ๊ธฐ๋ฒ์ ์ด์ฉํด ๋๋ค ๊ฐ์ผ๋ก ๋ณํํ๋ค. ์ด ์ด๋ฏธ์ง์์ ๋ฒํธํ์ ์ขํ๋ฅผ ๊ธฐ์ค์ผ๋ก margin์ ์ฃผ๊ณ , ๊ทธ ์ง์ ์ผ๋ก๋ถํฐ ๋๋คํ๊ฒ ์ขํ๋ฅผ ์ฐ์ด ์ด๋ฏธ์ง๋ฅผ ์๋ฅธ ๊ฒ์ ์ฌ์ฉ. ์ด๋ ๊ฒ ํ๋ฉด ์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ์์ ๋์๋ ๊ฒ์ ์ฌ๋ฐฑ ๋ถ๋ถ์ด ๋์ค์ง ์์ผ๋ฏ๋ก ์ค์ธ๊ณ ๋ฐ์ดํฐ์ ๋ ๊ทผ์ ํ๋ค. ์ด ์ด๋ฏธ์ง์ ๋๋ค์ผ๋ก ๋ฐ๊ธฐ์กฐ์ ์ ์ถ๊ฐํ์ฌ, 128x128 ์ด๋ฏธ์ง๋ก ๋ฆฌ์ฌ์ด์ฆํ ์ด๋ฏธ์ง๋ฅผ ๋ชจ๋ธ์ ์ ๋ ฅ์ผ๋ก ๋ฃ์๋ค.
์ฌ์ฉ๋ ์ด๋ฏธ์ง ๋ฐ์ดํฐ์ฆ๊ฐ1 ๋ฐ์ดํฐ์ฆ๊ฐ2 -
-
Output : ์ํ์ข์ฐ ๋ค ๊ผญ์ง์ ์ ๋ํ X,Y ์๋์ขํ
4. ๊ธ์ ์์ธก ๋ชจ๋ธ ํ์ต
-
์ฌ์ฉํ ๋ชจ๋ธ : timm์ผ๋ก ์ฌ์ ํ์ต๋ Resnet18 ๋ชจ๋ธ์ ์ฌ์ฉํ์๋ค.
-
์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ
-
์ฌ์ฉ๋ ์ด๋ฏธ์ง : ์๋ณธ ์ด๋ฏธ์ง์ ๋ค ๊ผญ์ง์ ์ขํ์ ๋ํ ground truth๋ฅผ ์ด์ฉํ์ฌ (128, 256)์ ํฌ๊ธฐ๋ก ํฌ์๋ณํํ ์ด๋ฏธ์ง
-
๋ฐ์ดํฐ ์ฆ๊ฐ: Salt & Pepper ๋ ธ์ด์ฆ ์ค์ ์ฐจ๋์ ๋ฒํธํ์ ๋จผ์ง ๋ฐ ๋ฒ๋ ์ ๊ฐ์ ์ด๋ฌผ์ง ๋๋ฌธ์ ์ผ๋ฃฉ๋๋ฃฉํ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ๋ฐ๋ผ์ ์ ๋ ฅ ๋ฐ์ดํฐ์ ๋๋คํ ๋ ธ์ด์ฆ๋ฅผ ์ถ๊ฐํ์ฌ ์ผ๋ฐ์ ์ธ ์ํฉ๊น์ง ์ปค๋ฒํ ์ ์๋๋ก ํ์๋ค.
-
๋ฌธ์ ์ : ์ค์ ์ถ๋ก ๊ณผ์ ์์๋ ๊ผญ์ง์ ์์ธก ๋ชจ๋ธ๋ก๋ถํฐ ์์ธก๋ ๊ผญ์ง์ ๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ์ ๋ ฌ๋ ๋ฒํธํ ์ด๋ฏธ์ง๊ฐ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉ๋๋ฏ๋ก, ๊ธ์ ์์ธก ๋ชจ๋ธ์ ์ฑ๋ฅ์ด ๊ผญ์ง์ ์์ธก ๋ชจ๋ธ์ ์ฑ๋ฅ์ ํฐ ์ํฅ์ ๋ฐ์์ ํ์ธํ ์ ์์๋ค.
-
-
๋ ๋ฒ์งธ ๋ฐฉ๋ฒ
-
์ฌ์ฉ๋ ์ด๋ฏธ์ง : ์๋ณธ ์ด๋ฏธ์ง์ ๋ค ๊ผญ์ง์ ์ขํ๋ฅผ x,y ๋ฐฉํฅ์ผ๋ก ๊ฐ๊ฐ ๋๋คํ๊ฒ ์ด๋์ํจ ํ (128, 256)์ ํฌ๊ธฐ๋ก ํฌ์๋ณํํ ์ด๋ฏธ์ง
-
๋ฐ์ดํฐ ์ฆ๊ฐ: Salt & Pepper ๋ ธ์ด์ฆ, ๋ฐ๊ธฐ ์กฐ์ (์ ์ฒด ๋ฐ๊ฒ, ์ ์ฒด ์ด๋ก๊ฒ, ๊ทธ๋ฆผ์) ์์ง๋ ๋ฐ์ดํฐ์ ์ ๋๋ถ๋ถ ๋ฎ์ ์ฐ์ ๋ฒํธํ ์ด๋ฏธ์ง์๊ธฐ ๋๋ฌธ์, ํ ์คํธ ๋ฆฌํฌํ ์ ์ผ๊ฐ ์ด๋ฏธ์ง์ ๋ํด์๋ ์ฑ๋ฅ์ด ๋ฎ์์ง๋ ๊ฒ์ ํ์ธํ ์ ์์๋ค. ๋ฐ๋ผ์ ๋ฐ๊ธฐ ์กฐ์ ๋ฐ ๊ทธ๋ฆผ์ ์ถ๊ฐ ์ฆ๊ฐ ๊ธฐ๋ฒ์ ์ถ๊ฐํ์ฌ ์ฌ๋ฌ ํ๊ฒฝ์ ์ด๋ฏธ์ง์ ๋ํด ๊ฐ๊ฑดํ ์ฑ๋ฅ์ ๋ณด์ด๋๋ก ํ์๋ค.
์ถ๋ก ์ ์ค์ ์ ๋ ฅ๋๋ ์ด๋ฏธ์ง ์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ ๋ ๋ฒ์งธ ๋ฐฉ๋ฒ ๋ฐ์ดํฐ ์ฆ๊ฐ์ ์์๋ ๋ค์๊ณผ ๊ฐ๋ค.
์ฌ์ฉ๋ ์ด๋ฏธ์ง ๋ฐ์ดํฐ์ฆ๊ฐ1 ๋ฐ์ดํฐ์ฆ๊ฐ2 -
-
Output : (๋ฐฐ์น์ฌ์ด์ฆ, 7, 45, 1) ๋ชจ์์ ํ ์
7 -> 7๊ธ์ 45 -> 45๊ฐ์ ๊ฐ๋ฅํ ๋ฌธ์ (['๊ฐ', '๋', '๋ค', '๋ผ', '๋ง', '๊ฑฐ', '๋', '๋', '๋ฌ', '๋จธ', '๋ฒ', '์', '์ด', '์ ', '๊ณ ', '๋ ธ', '๋', '๋ก', '๋ชจ', '๋ณด', '์', '์ค', '์กฐ', '๊ตฌ', '๋', '๋', '๋ฃจ', '๋ฌด', '๋ถ', '์', '์ฐ', '์ฃผ', 'ํ', 'ํ', 'ํธ', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'])
5. pt >> onnx >> pb >> tflite ๋ณํ
- YOLOv5
์ ๊ณตํด์ฃผ๋ export.py๋ฅผ ์ฌ์ฉํด TensorFlow Lite ํ์ผ๋ก ๋ณํํ๋ค. ์ด ๋, Non Max Suppression ๋ถ๋ถ์ TensorFlow Lite๋ก ๋ณํ๋์ง ์์ ์๋๋ก์ด๋ ์คํ๋์ค ์ฝ๋๋ฅผ ์งค ๋ ๋ฐ๋ก ์ถ๊ฐํ์๋ค. YOLO์ ์ถ๋ ฅ์ผ๋ก ๋์ค๋ (1, 3024, 6)์ ํ ์๋ 3024๊ฐ์ ๊ฐ๋ฅํ ๋ฐ์ด๋ฉ ๋ฐ์ค์, ๊ฐ ๋ฐ์ด๋ฉ ๋ฐ์ค์ x_center, y_center, width, height, confidence, ๊ฐ์ฒด ํด๋์ค ์ ๋ณด๋ฅผ ํฌํจํ๊ณ ์๋ค. ์๋ ์ฝ๋๋ ๊ฐ๋ฅํ 3024๊ฐ์ ๋ฐ์ด๋ฉ ๋ฐ์ค ์ค ๊ฐ์ฅ ํฐ confidence ๊ฐ์ ๊ฐ์ง๋ ํ๋์ ๋ฐ์ด๋ฉ ๋ฐ์ค๋ง์ ์ถ๋ก ์ ๊ฒฐ๊ณผ๋ก ๋ง๋๋ ์ฝ๋์ด๋ค (Non Max Suppression).
float max_conf = detectionResult[0][0][4];
int idx = 0;
for(int i = 0; i<3024; i++){
if(max_conf < detectionResult[0][i][4]){
max_conf = detectionResult[0][i][4];
idx = i;
}
}
- ๊ผญ์ง์ ์์ธก ๋ชจ๋ธ & ๊ธ์ ์์ธก ๋ชจ๋ธ
๋ชจ๋ธ ํ์ต ์, ๊ฒ์ฆ ๋ฐ์ดํฐ์ ์ ๋ํด ๊ฐ์ฅ ๋์ ์ ํ๋๋ฅผ ๊ฐ์ง๋ ๋ชจ๋ธ์ ๊ฐ์ค์น๋ฅผ onnx ํ์ผ๋ก ์ ์ฅํ๊ณ , tflite_converter.py๋ฅผ ํตํด ์ต์ข ์ ์ผ๋ก ์ดํ๋ฆฌ์ผ์ด์ ์์์ ๋ชจ๋ธ์ ๋ก๋ํ ๋ ์ฐ์ด๋ TensorFlow Lite ํ์ผ๋ก ๋ณํํ๋ค.
6. ์๋๋ก์ด๋ ์ดํ๋ฆฌ์ผ์ด์ ์ ์
์ดํ๋ฆฌ์ผ์ด์ ์ ์์ ๋ง๋ ํ์ต๋ ๋ชจ๋ธ๋ค์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๊ฐ ๋ชจ๋ธ์ ๋ํ ์ถ๋ก ์ฝ๋๋ฅผ ๋ง๋ค๊ณ , ์ด๋ฅผ ์๋๋ก์ด๋ ์คํ๋์ค์ MainActivity์ ๋ถ๋ฌ์์ ์ฌ์ฉํด์ผ ํ๋ค. ์ฐ๋ฆฌ๋ YOLOv5(DHDetectionModel.java), ๊ผญ์ง์ ์์ธก(AlignmentModel.java), ๊ธ์์์ธก(CharModel.java) ์ด ์ธ ๊ฐ์ง ๋ชจ๋ธ์ ๋ํ ์ถ๋ก ์ฝ๋๋ฅผ ๋ง๋ค์๋ค. ์ถ๋ก ์ฝ๋์ ์ฌ์ฉ๋ ๋ฉ์๋๋ค์ ๋ค์๊ณผ ๊ฐ๋ค:
-
์์ฑ์
DHDetectionModel(Activity activity, Interpreter.Options options) AlignmentModel(Activity activity, Interpreter.Options options) CharModel(Activity activity, Interpreter.Options options)
--> ๊ฐ ์ถ๋ก ์ธ์คํด์ค๋ฅผ ์์ฑํ ๋, ๋ชจ๋ธ ์ธํฐํ๋ฆฌํฐ(mInterpreter)์ ๋ชจ๋ธ์ ๋ค์ด๊ฐ๋ ์ ๋ ฅ(mImageData)์ ๋ํด์ ์ ์ํ๋ค.
-
๊ณตํต์ ์ผ๋ก ์ฌ์ฉ๋ ๋ฉ์๋
MappedByteBuffer loadModelFile(Activity activity)
--> tflite ํ์ผ์ ๋ถ๋ฌ์ค๋ ๋ฉ์๋๋ก ์ธํฐํ๋ฆฌํฐ ์์ฑ์์ ์ฌ์ฉ๋๋ค.
void convertBitmapToByteBuffer(Bitmap bitmap)
--> ์ถ๋ก ํ ๋ ์ด๋ฏธ์ง๋ฅผ ๋ชจ๋ธ์ ๋ค์ด๊ฐ๋ ์ ๋ ฅ ํ์์ธ ByteBuffer์ ํํ๋ก ๋ฐ๊พธ์ด์ฃผ๋ ๋ฉ์๋์ด๋ค.
-
์ถ๋ก ๋ฉ์๋
-
DHDetectionModel
float[][] getProposal(Bitmap bm, Mat input)
--> ์ด๋ฏธ์ง๊ฐ ์ ๋ ฅ์ผ๋ก ๋ค์ด๊ฐ๋ฉด float[2][5] ํํ์ ์ ๋ณด๋ฅผ ์ถ๋ ฅํ๋ค. ์ถ๋ ฅ๊ฐ์๋ ๋ชจ๋ธ์ด ํ์งํ bounding box์ x, y, w, h, confidence์ ๋ํ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ค. Yolov5์ nms๊ฐ tflite ํํ๋ก ๋ณํ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋ฐ๋ก nms ์ฝ๋๋ฅผ ์ถ๊ฐํ์๋ค.
-
AlignmentModel
float[] getCoordinate(Bitmap bitmap)
--> DHDetectionModel์์ ๋์จ ์ถ๋ ฅ์ ์ด์ฉํด bounding box์ ํฌ๊ธฐ๋ก ์๋ฅธ ์ด๋ฏธ์ง๊ฐ ์ ๋ ฅ์ผ๋ก ๋ค์ด๊ฐ๋ฉด, float[8] ํํ์ ์ ๋ณด๋ฅผ ์ถ๋ ฅํ๋ค. ์ถ๋ ฅ๊ฐ์๋ ๋ชจ๋ธ์ด ์์ธกํ ๊ผญ์ง์ ์ ๋ค ์ขํ์ (x,y)๊ฐ์ ๋ด๊ณ ์๋ค.
-
CharModel
String getString(Bitmap bm)
--> AlignmentModel์์ ๋์จ ์ถ๋ ฅ์ ์ด์ฉํด ๋ฒํธํ ํฌ๊ธฐ๋ก ์ด๋ฏธ์ง๋ฅผ ์๋ฅธ ํ ์ ๋จ๋ณํ์ ์ด์ฉํด ์ ๋ฉด์ผ๋ก ๊ณง๊ฒ ํธ ์ด๋ฏธ์ง๊ฐ ์ ๋ ฅ์ผ๋ก ๋ค์ด๊ฐ๋ฉด, String ํํ์ ์ ๋ณด๋ฅผ ์ถ๋ ฅํ๋ค. ์ถ๋ ฅ๊ฐ์๋ ๋ชจ๋ธ์ด ์์ธกํ ๋ฒํธํ์ ๊ธ์ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ค.
-
-
์ถ๋ก ์๋(FPS) ๋ฌธ์ ๊ฐ์
์ด๊ธฐ์ ๋ชจ๋ ๋ชจ๋ธ๋ค์ ์ฑ์ ์ ์ฉํ์์ ๋, ํ ์ด๋ฏธ์ง๋ฅผ ์ฒ๋ฆฌํ๋ ์๊ฐ์ด ๋๋ฌด ์ค๋๊ฑธ๋ ค์ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ์ค์๊ฐ ์ถ๋ก ์ ๊ฐ๋ฅํ๊ฒ ํ์๋ค.- YOLO ์ ๋ ฅ ์ด๋ฏธ์ง ํฌ๊ธฐ ๊ฐ์ (640, 480) -> (256,192)
- GPU ๋๋ฆฌ์ ์ฌ์ฉ
- ๋ฉํฐ์ค๋ ๋ฉ
-
์ต์ข ๋ชจ๋ธ๋ณ & ์ ์ฒด ์ถ๋ก ์๊ฐ
๋ชจ๋ธ ์ถ๋ก ์๊ฐ(millisecond) ๋ฒํธํ ํ์ง ๋ชจ๋ธ 45 ๊ผญ์ง์ ์์ธก ๋ชจ๋ธ 82 ๊ธ์ ๋ชจ๋ธ 86 -
์ดํ๋ฆฌ์ผ์ด์ ์
์์1 ์์2
7. Google Play์ ์ดํ๋ฆฌ์ผ์ด์ ๋ฑ๋ก
๋ค์ด๋ก๋:
์ค์น ์ | ์ค์น ํ |
---|---|