티스토리 뷰
https://basically.tistory.com/46
[YOLOv8] colab을 통한 AI학습, helmet detection project2
- DATASET : robotflowRobotflow가 굉장히 쓰기 편해서 좋았다.YOLOv8로 설정하고 zip으로 다운받을 수도 있고, url, 코드 등으로도 받을 수 있다. - 프로젝트 진행dataset을 zip으로 다운받아 vs code로 yolo 학습
basically.tistory.com
에서 YOLOv8을 학습하고 수치를 통해 정밀도와 재현율, mAP 비율을 확인했는데,
이에 대한 의미가 명확하지 않아 정리하였다.
- 수치 확인 방법
best.pt, test 데이터셋, dataset.yaml 만 있다면 확인 가능하다.
// 우선적으로 python 버전이 3.8 이상이어야 가능하다.
python --version
// 위 명령어를 통해 YOLOv8를 설치한다
pip install ultralytics
// 설치 확인하고
yolo --version
// 데이터 수치를 확인한다
yolo val model=best.pt data=dataset.yaml
이때 test 데이터셋에 dataset.yaml 파일이 없다면 직접 만들어 경로 설정해주면 된다.
나는 아래와 같이 데이터 경로를 직접 경로로 해주었고, 이를 통해 데이터 수치를 확인할 수 있었다.
train: C:/helmet/test/images # 훈련 데이터 경로
val: C:/helmet/train/images # 검증 데이터 경로
test: C:/helmet/valid/images # (선택 사항) 테스트 데이터 경로
nc: 2
names: ["With_Helmet", "Without_Helmet"] # 클래스 이름
- 결과
결과는 아래와 같이 나온다.
P는 Precision! 정밀도를 말하고, R은 Recall! 재현율을 말한다.
Class Images Instances Box(P R mAP50 mAP50-95):
all 2648 4059 0.978 0.962 0.99 0.867
With Helmet 1460 2193 0.988 0.977 0.993 0.896
Without Helmet 1242 1866 0.967 0.947 0.986 0.839
* Precision : 모델이 탐지한 결과 중에서 실제로 맞는 결과의 비율 (정밀도)
Precision은 모델이 "맞다고 예측한 것" 중 얼마나 맞았는지를 측정하는 것이기 때문에,
Precision이 높으면 모델이 잘못된 예측을 덜 한다는 의미이다.
* Recall : 실제 객체(또는 상황) 중 모델이 탐지한 비율 (재현율)
Recall은 실제로 존재하는 모든 객체 중 얼마나 잘 탐지했는지를 평가하여,
Recall이 높으면 모델이 실제로 존재하는 많은 객체를 놓치지 않고 탐지한다는 의미입니다.
* mAP : 객체 탐지 모델이 예측한 바운딩 박스가 얼마나 정확한지를 측정하는 지표
mAP50: IoU 임계값을 **0.5(50%)**로 고정하여 평가
mAP50-95: IoU 임계값을 0.5부터 0.95까지 0.05 간격으로 변화시키며 평균을 냄
→ 더 엄격한 기준이므로 mAP50-95 값이 낮게 나오는 것이 일반적입니다.
mAP50이 의미하는 것
- mAP50은 IoU 임계값이 0.5일 때의 평균 정밀도이다.
- IoU 0.5란? → 모델이 예측한 바운딩 박스와 실제 객체 바운딩 박스 간의 IoU가 50% 이상이면 정답으로 간주하는 방식이다. 즉, 모델이 예측한 바운딩 박스가 실제 정답과 50% 이상 겹치면 "올바른 탐지"로 인정하고 평가하는 것이다.
'인공지능' 카테고리의 다른 글
[LangChain] RAG 단계 중 Embedding 알아보기 (4) | 2025.06.12 |
---|---|
[LangChain] RAG 단계 - Text Splitter 알아보기 (0) | 2025.06.12 |
[YOLOv8] helmet detection project4 _ 최종 (0) | 2024.06.09 |
[Colab] 꿀팁 및 주의사항 (1) | 2024.06.07 |
[YOLOv8] colab을 통한 AI학습, helmet detection project2 (0) | 2024.06.06 |
- Total
- Today
- Yesterday
- 터틀그래픽
- 에러발생
- 터틀그래픽예제
- springboot
- randrange
- SPRING오류해결
- 10828번
- Turtle Graphic
- 터틀그래픽 명령어
- konlpy
- 문제풀이
- 사람수세기
- 파이썬
- yolov8
- streamlistener
- 다인승탑승
- Kkma
- YOLO
- UnsupportedClassVersionError
- 다인승
- baekjoon
- python공부
- randint
- 백준
- database연결
- 사람검출
- 오븐시계
- gradleload오류
- JAVA오류해결
- tweepy
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |