물체 검출과 오검출 평가
검출 개수가 많다고 좋은 설정은 아닙니다. 알고 있는 원의 위치·크기와 비교해 오검출을 판단합니다.
실습 전에
01 원을 많이 찾으면 더 잘 찾은 걸까요?
설명
놓친 원·중복·오검출과 중심·반지름 오차를 함께 봐야 합니다.
02 잡음을 줄이면 검출은 항상 좋아질까요?
설명
전처리로 잡음이 줄어도 경계가 흐려질 수 있어 같은 정답과 비교합니다.
실행 조건
opencv-python-headless·NumPy·Matplotlib을 사용합니다.
1. 정답이 있는 영상 만들기
시작 조건
160×200 Gray 영상에 중심 (50,50), (140,70), (90,120), 반지름 15,20,12인 원을 그립니다.
진행 방법
- 제공된 원 영상에 HoughCircles를 적용하세요.
- 검출 결과를 원본 위에 그려 실제 원과 대응시키세요.
남길 결과
기록 항목과 확인할 점
- 원
-
- 실제 중심·반지름
-
- 검출 중심·반지름
-
- 오차 [pixel]
-
확인할 점
- 검출하지 못한 경우를 오차 0으로 기록하지 않았는가?
- 가까운 원을 중복 대응시키지 않았는가?
2. 검출 기준 하나 바꾸기
시작 조건
param2=15와 25를 비교합니다. 같은 영상·반지름 범위를 유지합니다.
진행 방법
- 검출 수·놓친 원·중복·오검출을 각각 세세요.
- 중심 오차 5 pixel 이내이고 반지름 오차 4 pixel 이내인 검출을 대응으로 정하세요.
- 어떤 기준이 더 나은지 검출 수가 아니라 오류의 종류로 판단하세요.
남길 결과
기록 항목과 확인할 점
- param2
-
- 대응된 원
-
- 놓친 원
-
- 오검출
-
- 중심 오차
-
확인할 점
- 서로 다른 임계값에서 같은 대응 기준을 사용했는가?
- 원 하나에 여러 검출을 모두 정답으로 세지 않았는가?
3. 흐림·잡음에서 실패 찾기
시작 조건
seed=7, 표준편차 15의 영상 잡음을 추가하고 같은 설정을 적용합니다.
진행 방법
- 검출 전에 Median 또는 Gaussian Filter 중 하나를 선택하세요.
- 필터 전후의 검출과 계산 시간을 비교하세요.
- 영상 기반 제어에서 검출을 신뢰할 수 없는 조건을 한 가지 정하세요.
남길 결과
기록 항목과 확인할 점
- 전처리
-
- 검출 수
-
- 대응 성공
-
- 처리 시간 [ms]
-
확인할 점
- uint8 변환 전에 값을 0…255로 제한했는가?
- 시간은 한 번의 실행 수치로 알고리즘의 일반적 속도라고 단정하지 않았는가?
공식 예제·데이터