[KT에이블스쿨 5기 DX] 딥러닝 - Object Detection 주요 개념
KT에이블스쿨5기 DX, 벌써 과정 두달 째입니다!
3번에 미프를 진행하고,
어제 딥러닝 기초까지 끝났습니다
그리고 드디어!
오늘 딥러닝 심화 과정에 들어갔습니다
Tmi..
저는 수업 내용 중 중요한 내용은 교안에 바로 필기하거나
교안 외 자료는 노션등에 정리를 해둡니다
그래서 그동안 블로그에는
DX과정에 도움이 될만한 자료를 올리거나
다들 준비하실만한 자격증 개념을 올리고는 했습니다....!!!!
수업 자료는 빅프로젝트 전에 복습할겸 블로그에 업로드하려고 했었죠......
근데 오늘 수업은 !!! 개념도 생소하고
교안에도 제가 이해하기에는 내용이 부족한 거 같아
개념 정리해서 바로 업로드 합니다....
사실 어떤 개념이 중요한지도 모르겠어요
아시는 분은 댓글로....
사진은 교안 보안에 문제가 될 거 같아 첨부하지 못했습니당 ㅠㅠ
딥러닝과 객체 탐지(Object Detection)는 컴퓨터 비전 분야에서 중요한 주제입니다. 객체 탐지는 이미지 내에서 하나 이상의 객체를 식별하고 위치를 정확히 표시하는 과정입니다. 이 분야에서 자주 사용되는 주요 개념들을 자세히 설명해 드리겠습니다.
Object Detection?
Classification + Localization
Multi-Labeled Classification + Bounding Box Regression
Localization : 단 하나의 Object 위치를 Bounding Box로 지정하여 찾음
Object Detection : 여러 개의 Object들의 위치를 Bounding Box로 지정하여 찾음
1. Bounding Box
Bounding Box는 이미지 내에서 객체의 위치를 정의하는 사각형입니다. 이 박스는 일반적으로 (x, y, width, height)의 형태로 표현되며, 여기서 (x, y)는 사각형의 좌측 상단 모서리 좌표이고, width와 height는 각각 박스의 너비와 높이입니다. 객체 탐지 모델은 각 객체에 대해 하나의 바운딩 박스를 출력합니다.
하나의 Object가 포함된 최소 크기 박스 -> 즉, 위치 정보
꼭지점 예측을 잘한다 = 좌표 예측을 잘한다
2. Class Classification
객체 탐지에서 클래스 분류는 이미지 내의 각 객체를 적절한 카테고리(예: 사람, 자동차, 동물 등)에 할당하는 과정입니다. 이 작업은 보통 네트워크의 마지막 단계에서 softmax 또는 sigmoid 함수를 통해 각 클래스에 대한 확률을 출력함으로써 이루어집니다.
3. Confidence Score
Confidence Score는 모델이 탐지한 객체의 클래스 분류에 대해 얼마나 확신하는지를 나타내는 지표입니다. 이 점수는 0에서 1 사이의 값으로 표현되며, 높을수록 해당 클래스에 속할 가능성이 크다는 것을 의미합니다.
<모델에 따라 계산이 조금씩 다름>
1.단순히 Object가 있을 확률
2. Object가 있을 확률 X IoU
3. Object가 특정 클래스일 확률 X IoU
4. IoU (Intersection over Union)
IoU는 예측된 바운딩 박스와 실제 바운딩 박스의 교집합과 합집합의 비율을 측정합니다. 이 지표는 예측된 박스가 얼마나 정확한지 평가하는 데 사용되며, 값이 1에 가까울수록 완벽한 예측을 의미합니다.
두 박스의 중복 영역 크기를 통해 측정 -> 겹치는 영역이 넓을수록 좋은 예측
5. NMS (Non-Maximum Suppression)
NMS는 여러 예측 중에서 최적의 바운딩 박스를 선택하는 과정입니다. 같은 객체에 대해 여러 예측이 있을 경우, 가장 높은 Confidence Score를 가진 박스를 선택하고, 이와 중첩되는 다른 박스들은 제거합니다.
<동일 Object에 대한중복 박스 제거>
1. 일정 Confidence Score 이하의 Bounding Box 제거
2. 남은 Bounding Box들을Confidence Score 내림차순으로 정렬
3. 첫 Bounding Box(Confidence Score가 가장 높은!)와의 IoU 값이 일정 이상인 박스들을 제거
4. Bounding Box가 하나 될 때까지 반복
- IoU가 일정 값 이상이면같은 Object를 가리키는 것이라고 판단,상대적으로 Confidence Score가낮은 Bounding Box를 제거하는 것
- Confidence Score Threshold가 높을수록, IoU Threshold가 낮을수록,중복 박스에 대한 판단이 엄밀해지는 것
- Conf Threshold가 높아지면 그 기준 이하의 Conf Score를 가진 박스는 아예 안 그려짐
- IoU Threshold가 낮아지면 기준 이상으로 바운딩 박스가 겹칠 때 다른 박스를 제거
- 사용자가 조절할 수 있다.즉, HyperParameter
6. Precision, Recall, AP (Average Precision), mAP (mean Average Precision)
- Precision: 검출된 정답 객체의 비율로, 정밀도를 의미합니다.
- TP / (TP + FP) : 모델이 Object라 예측한 것 중실제 Object의 비율
- Recall: 실제 객체 중에서 검출된 객체의 비율로, 재현율을 의미합니다.
- TP / (TP + FN) : 실제 Object 중 모델이예측하여 맞춘 Object의 비율
- AP: 각 클래스에 대한 Precision-Recall 곡선 아래 면적을 측정합니다. 이는 한 클래스의 예측 성능을 평가합니다.
- Precision - Recall Curve그래프 아래의 면적
- mAP: 모든 클래스에 대한 AP의 평균값으로, 모델의 전반적인 성능을 평가합니다.
- 각 클래스 별 AP를 합산하여 평균을 낸 것
TP : 실제 Object를 모델이 Object라 예측 -> 모델이 올바르게 탐지
FP : Object 아닌데 모델이 Object라 예측 -> 모델의 잘못된 탐지
FN : 실제 Object를 모델이 아니라고 예측 -> 모델의 잘못된 탐지
TN : Object 아닌데 모델도 아니라고 예측 -> 모델이 탐지하지 않음
7. Annotation
Annotation은 학습 데이터 준비 과정에서 사용되며, 이미지 내의 각 객체에 바운딩 박스와 클래스 레이블을 수동으로 표시하는 작업입니다. 이 과정은 정확한 학습 데이터를 확보하기 위해 필수적이며, 모델의 성능에 큰 영향을 미칩니다.
- 이미지 내 Detection 정보를 별도의 설명 파일로 제공되는 것을 Annotation이라고 함.
- Annotation은 Object의 Bounding Box 위치나 Object 이름 등을 특정 포맷으로 제공.
객체 탐지를 위한 딥러닝은 이러한 기술적 요소들을 통합하여, 이미지 내에서 다양한 객체를 정확하게 탐지하고 분류하는 데 사용됩니다. 이 개념들을 충분히 이해하고 적용하는 것은 효과적인 모델을 구축하는 데 중요합니다.
객체 참지 개념을 시각화 하는데 유용할 수 있는 리소스 생성 방법
미프 때 도움이 되시길!
1. Bounding Box 예시 그림
- 도구 사용: Adobe Photoshop, GIMP, 또는 온라인 그래픽 편집 툴을 사용하여 이미지에 바운딩 박스를 그립니다.
- 내용: 이미지를 선택하고, 그 이미지 내의 다양한 객체에 대해 색상이 다른 바운딩 박스를 그립니다. 각 박스 옆에는 해당 객체의 이름을 표시합니다.
2. IoU 계산 도식
- 도구 사용: Microsoft PowerPoint, Google 슬라이드, 또는 다른 그림 도구를 사용하여, 두 개의 겹치는 사각형을 그리고, 그 겹치는 부분을 강조합니다.
- 내용: 두 사각형을 그리고, 겹치는 부분을 다른 색으로 채웁니다. 각 사각형은 예측된 바운딩 박스와 실제 바운딩 박스를 대표합니다. IoU의 계산 공식을 옆에 표기합니다.
3. Precision과 Recall 계산 표
- 도구 사용: Microsoft Excel, Google 시트를 사용하여 데이터 표를 만듭니다. (오늘 수업 설명하실 때 보여주셨던 시트는 제공해주신다고 하네요!)
- 내용: 표에는 True Positives, False Positives, True Negatives, False Negatives의 칼럼을 만들고, 이를 기반으로 Precision과 Recall을 계산하는 공식을 추가합니다.
4. NMS 알고리즘 순서도
- 도구 사용: 온라인 플로우차트 도구 또는 Microsoft Visio를 사용하여, NMS의 단계를 설명하는 순서도를 만듭니다.
- 내용: 여러 바운딩 박스가 주어졌을 때, 가장 높은 Confidence Score를 가진 박스를 선택하고, 해당 박스와 겹치는 다른 박스들을 어떻게 제거하는지를 단계별로 설명합니다.
5. 객체 탐지 시스템의 전체적인 아키텍처 다이어그램
- 도구 사용: UML 도구 또는 다이어그램 작성 도구를 사용하여 전체 시스템의 흐름을 나타내는 다이어그램을 만듭니다.
- 내용: 이미지 입력, 이미지 전처리, 신경망을 통한 특징 추출, 바운딩 박스 예측, 클래스 분류, NMS 처리, 최종 객체 탐지 출력 등의 단계를 포함합니다.
'KT에이블스쿨 5기 > DX컨설턴트' 카테고리의 다른 글
머신러닝/딥러닝을 이용한 데이터분석 프로젝트 프로세스 (2) | 2024.04.22 |
---|---|
[KT에이블스쿨 5기 DX] 딥러닝 - YOLOv8 (0) | 2024.04.16 |
IT기술과 비즈니스의 연결다리 DX 컨설턴트(Digital Transformation Consultant)란? (0) | 2024.04.10 |
프로젝트 성공을 위한 필수 요소 '도메인지식' , 그리고 중요성 (0) | 2024.04.10 |
DX컨설턴트가 꼭 알아야 할 Feature Engineering이란? (2) | 2024.04.10 |