본문 바로가기
728x90
반응형
SMALL

Python/Computer Vision21

[파이썬, Python] Computer Vision - Faster RCNN 객체 탐지 실습 📄 사용 데이터셋 - Bus & Truck 객체 탐지 더보기 https://drive.google.com/file/d/1E1OO84eYXg5izkTGbC4E02quTCmlJMf-/view?usp=drive_link DataSet.zip drive.google.com Bus&Truck DataSet fasterrcnn_resnet50_fpn 모델 Dataset, Dataloader, Train/Val 클래스화 1. 가상환경 만들기 - 가상환경 설치 pip install pipenv - 가상환경에서 사용할 파이썬 버전 지정 pipenv --python 3.8 - 가상환경 실행 pipenv shell - 가상환경을 관리하는 ipykernel 패키지 설치 pipenv install ipykernel - 주피터노.. 2023. 9. 4.
[파이썬, Python] Computer Vision - Object Detection(객체 탐지) 1. Object Detection(객체 탐지) 컴퓨터 비전과 이미지 처리와 관련된 컴퓨터 기술로써, 디지털 이미지와 비디오로 특정한 계열의 시멘틱 객체 인스턴스를 감지하는 일 얼굴 검출, 보행자 검출 등이 포함 https://ko.wikipedia.org/wiki/%EA%B0%9D%EC%B2%B4_%ED%83%90%EC%A7%80 1-1. 컴퓨터 비전의 Task 비교 Image Classification: 이미지에 있는 개체 범주 목록 생성 Single-Object Localization: 이미지에 있는 개체 범주 목록과 각 개체의 한 인스턴스의 위치에 배율을 나타내는 bounding box 생성 Object detection: 각 개체 범주의 모든 인스턴스의 위치와 배율을 나타내는 축 정렬 경계 상자.. 2023. 9. 4.
[파이썬, Python] Computer Vision - Classification 실습 📄 사용 데이터셋 - 코로나 흉부 X-ray데이터 더보기 https://drive.google.com/file/d/1BNtFgo_p_f_t1PMtApHk5LeZGYQAozEW/view?usp=sharing Covid19-dataset.zip drive.google.com Covid19-dataset.zip VGG19(Classification) 모델 Dataset, Dataloader, Train/Val 클래스화 Test 셋에 대한 예측 및 결과를 시각화 1. 가상환경 만들기 - 가상환경 설치 pip install pipenv - 가상환경에서 사용할 파이썬 버전 지정 pipenv --python 3.8 - 가상환경 실행 pipenv shell - 가상환경을 관리하는 ipykernel 패키지 설치 pipe.. 2023. 9. 4.
[파이썬, Python] Computer Vision - 분류(Classification), CNN과 CNN의 변천 1. Classification 분류는 기계 학습과 통계학에서 시스템이 일련의 특성을 기반으로 미리 정의된 여러 범주 또는 클래스 중 하나에 주어진 입력을 할당 하도록 훈련되는 과정 입력 기능과 클래스 레이블 사이에 학습된 관계를 기반으로 보이지 않는 샘플의 클래스 레이블을 예측하는 것 Binary Classification 이진분류: 데이터 요소를 두 클래스 중 하나로 분류 스팸 vs 스팸이 아닌 메일을 분류 질병 vs 질병 진단이 아님 Multiclass Classification 다중 클래스 분류: 데이터 요소를 ㅇ러 클래스 중 하나로 구분 필기 숫자 인식(0 ~ 9) 이미지에서 개체 인식(고양이, 강아지, 자동차...) Multi-label Classification 다중 레이블 분류: 단일 데이.. 2023. 9. 4.
[파이썬, Python] 컴퓨터 비전(Computer Vision)의 데이터셋 1. 데이터셋(Dataset) 기계 학습 모델을 학습하는데 사용되는 데이터의 모음 데이터셋은 이미지, 오디오, 텍스트, 수치 데이터 등 다양한 데이터형으로 구성 특정 데이터 유형과 데이터셋 크기는 해결되는 문제와 사용 중인 모델 유형에 따라 달라짐 1-1. 데이터셋의 크기 모델이 학습 중에 본 예제의 수 작은 데이터셋: 다양한 예제가 포함되지 않아 과적합 발생 가능성이 높음 대규모 데이터셋: 모델이 충분한 수의 예제를 보고 일반화할 수 있음 1-2. 데이터의 품질 주석(어노테이션)이 잘못 지정되거나 레이블이 지정된 데이터셋은 모델 성능에 부정적인 영향을 줄 수 있음 다양한 개체 변형의 존재, 조명 조건, 배경 등을 포함한 데이터셋의 다양성도 모델의 견고성을 보장하는데 중요 데이터셋은 모든 컴퓨터 비전 프.. 2023. 9. 4.
[파이썬, Python] OpenCV - 레이블링(labeling)과 외곽선 검출 1. 레이블링(labeling) 이진화, 모폴로지를 수행하면 객체와 배경 영역을 구분할 수 있게됨 객체 단위 분석을 통해 각 객체를 분할하여 특징을 분석하고 객체의 위치, 크기 정보, 모양 분석, ROI 추출 등이 가능함 서로 연결되어 있는 객체 픽셀에 고유번호를 할당하여 영역 기반 모양 분석, 레이블맵, 바운딩 박스, 픽셀 개수, 무게중심, 좌표 등을 반환할 수 있게 함 cv2.connectedComponents(영상, 레이블 맵) 레이블 맵: 픽셀 연결 관계(4방향 연결, 8방향 연결..) return: 객체 개수, 레이블 맵 행렬 cv2.connectedComponentsWithStats(영상, 레이블맵) return: 객체 개수, 레이블 맵 행렬, (객체 위치, 가로세로길이, 면적 등 행렬, 무게.. 2023. 9. 2.
[파이썬, Python] OpenCV - 모폴로지 처리, 모폴로지 연산 1. 모폴로지 처리영상의 밝은 영역이나 어두운 영역을 축소, 확대하는 기법모폴로지 구조 요소를 생성cv2.getStructuringElmement(구조 요소의 모양, 사이즈) 구조 요소의 모양cv2.MORPH_RECT: 사각형cv2.MORPH_ELLIPSE: 타원형cv2.MORPH_CROSS: 십자형 1-1. 침식(erosion) 연산이미지를 깎아내는 연산객체 크기는 감소하고 배경은 확대작은 크기의 객체(노이즈)제거 효과가 있음 cv2.erode(영상, 구조요소, 출력영상, 고정점 위치) 1-2.  팽창(dilation) 연산물체의 주변을 확대하는 연산객체가 커지는 연산팽창 연산은 객체 외곽을 확대시키는 연산객체 크기는 증가되고 배경은 감소되는 효과cv2.dilate(영상, 구조요소, 출력영상, 고정점 .. 2023. 9. 2.
[파이썬, Python] OpenCV - 영상의 필터링, 블러링, 엣지(Edge)검출 1. 필터링(filtering) 커널(filter)이라고 하는 행렬을 정의하고, 이 커널을 이밎 위에서 이동시켜 가면서 커널과 겹쳐진 이미지 영역과 연산을 한 후, 그 결과값을 연산을 진행한 이미지 픽셀을 대신하여 새로운 이미지를 만드는 연산 cv2.filter2D(영상, 이미지 깊이, 커널, 중심점 좌표, 추가될 값, 가장자리 화소 처리) 이미지 깊이: -1(입력과 동일) 커널행렬: 3*3, 5*5, ... 가로 세로가 동일한 행렬 사용 중심점 좌표: 기본값은 왼쪽 상단 추가될 값: 행렬연산 후 더해지는 값 가장자리 화소 처리 BORDER_CONSTANT: 000abcdefg000, 가장 자리를 0으로 채움(검정색) BORDER_REPLICATE: aaaabcedfgggg, 가장 자리를 가장 끝 픽셀로.. 2023. 9. 1.
728x90
반응형
LIST