본문 바로가기

728x90
반응형

CNN

(4)
[딥러닝/DL] Image Embedding Image Embedding 이란?이미지를 고차원 공간에서 저차원 공간으로 변환하는 과정을 의미한다.이 과정에서 이미지의 중요한 특징을 추출하여 벡터 형태로 표현한다.이러한 벡터는 이미지 간의 유사성을 측정하거나, 분류, 검색, 생성 등의 다양한 작업에 활용될 수 있다. 이러한 이미지 임베딩은 주로 딥러닝 기술을 기반으로 한다. 작동 원리일반적으로 CNN 아키텍쳐를 사용하여 이미지 처리한다. CNN을 사용하는 이유는 이미지의 공간적 구조를 고려하여 특징을 추출하는 데 매우 효과적이다.특징 추출 : CNN의 여러 층을 통해 이미지의 저수준 특징(예: 엣지, 텍스처)과 고수준 특징(예: 객체, 장면)을 추출한다.차원 축소 : 추출된 특징을 저차원 벡터로 변환하여 이미지의 임베딩을 생성한다. 이 과정에서 PC..
[Computer Vision] 이미지 유사도 👀 본 예제는 Window10의 VSCode, Python3.11.0로 작성되었습니다. 이미지 유사도는 두 이미지 간의 유사성을 평가하는 개념으로, 주로 컴퓨터 비전 및 이미지 처리 분야에서 사용된다. 이미지 유사도의 측정 방법은 여러 가지가 있으며, 각 방법은 특정한 기준이나 알고리즘을 기반으로 한다. 이미지 유사도를 평가하는 이유는 다양하나 일반적으로 다음과 같은 목적을 가지고 있다.검색 및 추천 시스템 : 이미지 검색 엔진, 추천에 사용되어 사용자가 입력한 이미지와 유사한 이미지를 찾는데 도움을 준다.중복 이미지 탐지 : 웹 사이트나 데이터베이스에서 중복된 이미지를 찾아내기 위해 유사도 측정이 필요하다.이미지 품질 평가 : 이미지의 품질을 평가하거나, 압축 후의 이미지가 원본과 얼마나 유사한지를 ..
[Pytorch] 연습 데이터로 라이브러리 익숙해지기2 이전에 만들었던 모델을 더 간단하게 만들어보자. 모델을 구현할 때 Layer를 정해주지 않고 내가 원하는 방식의 NN을 만드는 방법(사용자 정의 레이어)이 있다. 바로 nn.Sequential을 사용하면 간단하다. 여기서 CNN을 사용해 신경망을 구축 해볼 것이다. # 데이터 전처리 레이어(사용자 정의 레이어) class Lambda(nn.Module): def __init__(self,func): super().__init__() self.func = func def forward(self,x): return self.func(x) def preprocess(x): return x.view(-1,1,28,29) from torch import nn,optim # Sequential 사용 model = ..
[딥러닝/DL]6. 합성곱 신경망의 시각화 이번에는 이전 글에서 합성곱 층이 이미지에서 어떤 것을 학습했는지 알아보기 위해 합성곱 층의 가중치와 특성 맵을 그림으로 시각화해 보겠다. 이 과정을 통해 합성곱 신경망의 동작 원리에 대한 통찰을 키울 수 있다. 가중치 시각화 합성곱 층은 여러 개의 필터(커널)을 사용해 이미지의 특징을 학습한다. 각 필터는 가중치와 절편을 가진다. 가중치 : 어떤 특징을 크게 두드러지게 표현함. 절편 : 시각적으로 의미 없음 이제 모델이 어떤 가중치를 학습했는지 확인하기 위해 체크포인트 파일을 읽어 들이겠다. model = keras.models.load_model('best-cnn-model.h5') model.layers layers 속성을 통해 모델의 층을 볼 수 있다. 첫번쨰 합성곱의 가중치를 조사해보자. 가중치..

728x90
반응형