목록ComputerVision (47)
Priceless

OpenCV의 구성 OpenCV는 다수의 라이브러리 집합인 모듈이 있으며, OpenCV 모듈은 메인 모듈과 추가 모듈로 나눠진다 - 메인 모듈: 핵심적이고 널리 사용되는 기반적인 기능들이다 - 추가 모듈: 최신 기능이고 특허, 하드웨어 등에 의존적인 기능들이다 메인 모듈 추가 모듈 컴퓨터 비전 과정에 필요한 OpenCV 모듈 구성 OpenCV 를 사용하여 비전 프로젝트를 진행할 때 아래와 같은 구조로 나타나있으며, 이들을 전부 통합한 world라는 모듈로 모을 수 있다 OpenCV 프로젝트 제작(Windows) CV_VERSION 메소드를 사용하여 OpenCV 버전을 확인할 수 있다 프로젝트 폴더에서 opencv.hpp 파일을 참조할 수 있어야 한다 #include #include "opencv2/ope..

Visual Studio 2022 기준 Visual Studio를 열고새 프로젝트 생성을 누른다Windows 데스크톱 애플리케이션 선택 솔루션 및 프로젝트를 같은 디렉토리에 배치 항목을 체크한 후 원하는 디렉토리에 프로젝트 생성 아래와 같이 실행할 수 있는 프로그램의 기본 구조를 포함한 코드가 작성되어 있다 BmpShow.cpp 이대로 실행하면 아무 화면 구성 요소가 없는 프로그램이 나타난다 프로그램 요소 중 마우스 왼쪽 버튼을 클릭했을 때 반응을 추가하기 위해cpp 파일의 switch 문 내에 아래 코드를 추가한다파일 제일 상단에 파일을 입출력하기 위해#include를 추가한다 cat.bmp 파일을 출력하기 위해같은 프로젝트 폴더 내에 cat.bmp 파일을 추가한다case WM_LBUTTONDOWN..

비트맵(Bitmap)정의비트(픽셀)들의 집합영상의 전체 크기에 해당하는 픽셀 정보를 그대로 저장한다 장점표현이 직관적이다데이터의 손실이 없다 단점- 압축되지 않으므로 메모리 용량을 많이 차지한다예) FHD 기준 BMP는 약 6MB인 반면 JPEG는 약 2MB 이다- 영상이 확대되거나 축소될 때 화질 손상이 크다 종류장치 의존 비트맵(Device Dependent Bitmaps)출력 장치에 따라 다르게 표현되는 비트맵장치 독립 비트맵(Device Independent Bitmaps)출력 장치가 다르더라도 동일하게 출력되는 비트맵BMP 파일은 Windows 환경에서 비트맵을 DIB 형태로 저장한 파일 포맷이다 BMP 파일의 구조WORD는 2 byte, DWORD는 4 byte를 가진다비트맵 파일 헤더비트..

영상 데이터 표현 방법 정적 2차원 배열의 생성 가로 크기가 640, 세로 크기가 480인 정적 2차원 배열 생성 unsigned char a[480][640] {}; - unsigned char: 1바이트를 사용하여 0~255 사이의 정수로 표현한다 - 2차원 배열 전체 크기만큼 메모리 공간이 연속적으로 할당된다 (640 x 480 = 307200 byte) 단점 배열의 크기를 미리 알고 있어야 하기 때문에 다양한 크기의 영상을 다루는 데에 어려움이 있다 또한 stack 영역에 메모리를 할당하므로 대략 1MB까지 할당 가능하다 FHD(1920 x 1080)와 같은 이미지를 나타내기에는 어렵다 동적 2차원 배열 할당 가로 크기가 640, 세로 크기가 480인 동적 2차원 배열 생성 int w = 640;..

1. Semantic Segmentation 1-1. 개요 정의 이미지에서 픽셀 단위로 분류하는 작업 같은 클래스라도 서로 다른 객체를 구분하진 않는다 다른 객체를 구분하는 작업은 이후에 나올 예정 (Instance Segmentation) 적용 영상 내의 컨텐츠 이해가 주 목적 객체를 구분하여 사용자의 후 처리 사용성 도모 등 1-2. 구조 Fully Convolution Networks (FCN) end-to-end 구조 입력 데이터와 출력 데이터가 있으면 Network에서 알아서 찾아주는 모델 모두 미분 가능한 Fully connected VS Fully convolutional - Fully connected layer Image Classification에 적용 공간 정보를 고려하지 않고 벡터가..

1. 데이터 부족 문제 완화 1-1. Data Augmentation (데이터 증강, 보강) Data Augmentation이 필요한 이유 우리가 찍는 이미지는 대부분 보기 좋게 찍힌 사진일 것이다 하지만 실제로 카메라로 수집될 데이터는 우리가 아무렇게 찍을 수 있기 때문에 다를 것이다 데이터에 접목을 시키면 수집된 데이터셋을 보면 잘 가공된 데이터로 편항되어 있다 사람이 수집한 데이터는 실제 데이터는 실제로 얻을 수 있는 데이터 중에 극히 일부만 얻을 수 있다 실제 환경에서 새롭게 데이터를 수집한다면 전혀 다르게 나타나는 데이터를 수집할 것이다 아래 사진처럼 실제로 샘플에 없는 데이터는 이 세상에 정말 많다 동물을 분류하는 모델을 만든다고 가정했을 때 갈색 동물 사진의 데이터셋만 학습한 모델에 검은색 ..

컴퓨터 비전(Computer Vision) 1. 정의 영상으로부터 영상의 본질을 찾아내는 것 영상에 콘텐츠를 입히는 CG(컴퓨터 그래픽스, Computer Graphics)와 반대되는 개념으로 Inverse Graphics라고도 한다 2. Perception(인식, 인지) General Perception(일반적) : Sight(시각), Sound(청각), Touch(촉각), Taste(미각), Smell(후각) Social Perception(복합적) : Face(표정), Touch(강도), Speech(말투) 3. 이미지 인식의 이상적 접근 모든 데이터를 가지고 있을 경우 맞출 수 있다 하지만 PC의 리소스는 제한적이기 때문에 방대한 데이터를 제한된 복잡도 이내에서 찾을 수 있어야한다 4. Convo..