일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 딥러닝 공부
- Pytorch Lecture
- c++
- 해리스 코너 검출
- 미디언 필터링
- 딥러닝
- 팀프로젝트
- tensorflow 예제
- c언어
- 컴퓨터 비전
- C언어 공부
- TensorFlow
- 파이토치 김성훈 교수님 강의 정리
- pytorch
- c언어 정리
- 케라스 정리
- 김성훈 교수님 PyTorch
- 가우시안 필터링
- c++공부
- 딥러닝 스터디
- pytorch zero to all
- 영상처리
- 모두의 딥러닝 예제
- object detection
- 모두의 딥러닝
- 파이토치 강의 정리
- matlab 영상처리
- 파이토치
- 골빈해커
- MFC 프로그래밍
- Today
- Total
ComputerVision Jack
[컴퓨터 비전 - 객체 검출] 본문
템플릿 매칭
템플릿 : 찾고자 하는 대상이 되는 작은 크기의 영상
입력 영상에서 작은 크기 영상 위치를 찾아내고 싶은 경우 템플릿 매칭을 이용한다.
마스크 처럼 이동하면서 비슷한 위치를 찾아낸다.
유사도 : 유사도 접근일 경우 비슷한 부분 영상 위치에서 값이 크게 나타남
비유사도 : 비슷한 부분에서 영상 위치 값이 작게 나타남
void matchTemplate(InputArray image, InputArray templ, OutputArray result,
int method, InputArray mask = noArray());
#템플릿 매칭을 수행하는 함수
오른쪽 하얀색인 부분 유사도 최대값 그곳에 템플릿 영상이 존재한다.
매칭 결과로 바운딩 박스 처리하면 검출 완료
캐스케이드 분류기와 얼굴 검출
openCV에서 제공하는 얼굴 검출 기능 - 부스팅 기반의 캐스케이드 분류기 알고리즘
유사-하르 필터(Haar-like filter)집합으로 부터 특징 정보를 추출하여 얼굴 여부를 판단한다.
캐스케이드 분류기
void CascadeClassifier::load(const String& filename);
#미리 분류된 분류기 xml파일을 불러오는 함수
bool CascadeClassifier::empty() const;
#분류기 파일의 load확인 여부를 판단하는 함수
void CascadeClassifier::detectMultiScale(InputArray image, vector<Rect>& objects, double scaleFactor = 1.1,
int minNeighbors = 3, int flags = 0, Size minSize = Size(), Size maxSize = Size());
#xml 파일을 이용하여 객체 검출을 실행하는 함수
HOG 알고르짐과 보행자 검출
HOG(Histograms of Oriented Gradients)
그래디언트 방향 히스토그램.
계산한 그래디언트 크기와 방향 성분을 이용하여 사람이 서 있는 형태에 대한 특징 벡터를 정의한다.
그 다음 서프트 벡터 머신(SVM : Support Vector Machine) 알고리즘을 이용하여 보행자 위치 검출
static std::vector<Float> HOGDescriptor::getDefaultPeopleDetector();
#보행자 검출을 위한 훈련된 분류기 개수를 반환하는 함수
virtual void HOGDescriptor::setSVMDetector(InputArray svmdetector);
#검출할 객체에 대해 훈련된 svm계수를 함수에 등록한다.
virtual void HOGDescriptor::detectMultiScale(InputArray img, std::vector<Rect>& foundLocations,std::vector<double>& foundWeights, double hitTreshold = 0, Size winStride = Size(),
Size padding = Size(), double scale = 1.05, double finalThreshold = 2.0, bool useMeanShiftGrouping = false) const;
#실제 입력영상에서 객체 영역 검출
QR 코드 검출
QR 코드
흑백 격자 무늬 모양의 2차원 바코드 일종. 여러 정보를 저장할 수 있고,
최근엔 URL정보를 포함한 서비스를 지원한다.
bool QRCodeDetector::detect(InputArray img, OutputArray points) const;
#QR코드 영역 검출. 또는 문자열 해석
std::string QRCodeDetector::decode(InputArray img, InputArray points,
OutputArray straight_arcode = noArray());
#QR코드에 저장된 문자열 추출
std::string QRCodeDetector::detectAndDecode(InputArray img, OutputArray points = noArray(),
OutputArray straight_qrcode = noArray());
#검출과 해석을 한번에 사용하는 함수
'Image Processing > Computer Vision' 카테고리의 다른 글
[컴퓨터 비전 - 지역 특징점 검출과 매칭2] (0) | 2020.02.07 |
---|---|
[컴퓨터 비전 - 지역 특징점 검출과 매칭] (0) | 2020.02.05 |
[컴퓨터 비전 - 레이블링과 외각선 검출] (0) | 2020.02.03 |
[컴퓨터 비전 - 이진화 & 모폴로지] (0) | 2020.01.31 |
[컴퓨터 비전 - 영상 기하학적 변환] (0) | 2020.01.29 |