본문 바로가기

전체 글113

[03] - Faster R-CNN Faster R-CNN 의 개념을 이해하기 전에 전에 블로그에서 설명했던 개념들을 먼저 간략하게 정리하고 설명하겠습니다. 1. Region Proposal (객체 후보 영역) Region Proposal은 이미지에서 객체가 있을 법한 위치를 미리 추출하는 단계입니다.초기 모델인 R-CNN은 이를 위해 Selective Search라는 기법을 사용했지만, Faster R-CNN에서는 이를 학습 가능한 네트워크인 Region Proposal Network (RPN)으로 대체합니다 2. RoI Pooling (Region of Interest Pooling)RoI Pooling은 Fast R-CNN에서 도입된 기법으로, 다양한 크기의 후보 영역(Region Proposals)을 고정된 크기의 벡터로 변환하는 .. 2024. 10. 4.
[02] R-CNN, SPPNet, Fast R-CNN 1.  R-CNN R-CNN 의 경우는 아래의 논문리뷰에서 자세히 설명했습니다.아래 링크를 참고 부탁드립니다. https://ai-bt.tistory.com/entry/R-CNN-%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0 R-CNN 논문 리뷰서론딥러닝의 발전과 함께 컴퓨터 비전 분야는 급격한 변화를 겪고 있습니다. 그중에서도 객체 탐지(Object Detection)는 이미지나 비디오에서 특정 객체를 찾아내고, 그 위치를 정확히 예측하는 중ai-bt.tistory.com 간략하게 R-CNN의 특징과 단점에 대해서 설명하겠습니다.1) 2000개의 Region을 각각 CNN 통과R-CNN은 객체 탐지에서 사용되는 기법으로, 이미지에서 Selective Search 알고리즘을 사용해 .. 2024. 10. 2.
[01] - Object Detection 정의와 Evaluation metric (평가지표) 1. 이미지 탐지 종류1) Classification (분류)Classification은 가장 기본적인 이미지 처리 기법 중 하나입니다. 단어 그대로, 이미지를 특정 클래스 또는 카테고리로 분류하는 작업을 의미합니다. 주어진 이미지를 보고 이 이미지가 어떤 객체를 포함하고 있는지 결정하는 것이죠.   예시)개, 고양이, 자동차와 같은 여러 카테고리가 있을 때, 이미지 속에 어떤 것이 있는지 맞추는 작업입니다. 예를 들어, 강아지 사진을 넣으면 '개'라는 클래스로 분류하는 것이 Classification입니다. 특징)이미지를 전체적으로 보고 하나의 클래스만 예측비교적 간단한 문제를 해결하는 데 적합     2) Object Detection (객체 탐지)Object Detection은 한 단계 더 나아간 .. 2024. 10. 2.
Pytorch에서 Learning Rate(LR) 스케줄링 다양한 기법 딥러닝 모델을 학습할 때, 학습률(Learning Rate)은 학습 성능에 큰 영향을 미칩니다. 학습률을 잘못 설정하면 학습이 너무 느리거나, 최적화 과정에서 손실함수가 발산할 수 있습니다. 이를 해결하기 위해 학습 중에 학습률 스케줄링 기법을 사용하여 학습률을 점진적으로 조절하는 방법이 있습니다.이번 포스팅에서는 8가지 대표적인 학습률 스케줄링 기법에 대해 설명합니다. 각 기법의 개념과 PyTorch에서 사용하는 방법을 함께 소개할게요. 1. StepLR 개념StepLR은 일정한 주기마다 학습률을 일정 비율로 감소시키는 방식입니다. 예를 들어, 매 10 에폭마다 학습률을 50%씩 줄이도록 설정할 수 있습니다. 학습 초기에는 큰 학습률로 빠르게 최적화하고, 후반부로 갈수록 더 작은 학습률로 세밀한 조정을.. 2024. 9. 30.
[01 - ImageNet Sketch 데이터] - Augmentation [2] 스케치 이미지에 유효한 Augmentation이번 포스팅에서는 스케치 이미지 데이터셋을 학습할 때 사용한 다양한 Augmentation 기법들 중에서 성능에 유효했던 몇 가지를 공유하고자 합니다. 특히, 스케치 이미지의 특성에 맞춰 선명도와 밝기 조절을 통해 성능 개선을 이뤄낸 사례를 소개하겠습니다. 먼저, 사용했던 Augmentation 기법을 간단히 소개하면 아래와 같습니다.Unsharp Mask: 이미지를 선명하게 만드는 기법.RandomBrightnessContrast: 이미지의 밝기를 조절하는 기법.이 두 가지 Augmentation은 특히 스케치 이미지에서 효과적인 성능 향상을 보여줬습니다. 이제 각각의 방법을 좀 더 자세히 살펴보겠습니다. 아래 코드는 적용한 전체 코드 입니다.class Un.. 2024. 9. 26.
[01 - ImageNet Sketch 데이터] - Grad Cam [3] Grad-CAM을 활용한 이미지 분류 모델 시각화이번 포스팅에서는 Grad-CAM을 활용하여 이미지 분류 모델의 시각화를 구현한 사례를 소개합니다. Grad-CAM(Gradient-weighted Class Activation Mapping)은 신경망이 이미지를 분류할 때 주목한 부분을 시각화할 수 있는 방법입니다. 특히 복잡한 CNN(Convolutional Neural Network) 모델에서, 모델이 어떤 부분을 중점적으로 보았는지 확인할 수 있어 모델 해석에 큰 도움이 됩니다. Grad-CAM을 적용한 전체 코드 개요아래 코드에서는 ResNet101 모델을 사용하여 이미지 분류를 진행한 후, Grad-CAM을 통해 모델이 주목한 이미지 영역을 시각화하는 과정을 설명합니다. Augmentation이.. 2024. 9. 26.
[01 - ImageNet Sketch 데이터] - Training (resnet101) [1] 1. Agumentation이미지 분류 모델을 학습할 때, 데이터가 많지 않거나 특정한 패턴에 대해 과적합이 발생할 우려가 있다. 이런 상황을 개선하기 위해 데이터 증강(Augmentation) 기법을 사용하는데, 이 과정에서 이미지의 크기나 시각적 왜곡을 가하여 다양한 형태의 학습 데이터를 만들 수 있다.class AlbumentationsTransform: def __init__(self, is_train: bool = True): # 공통 변환 설정 common_transforms = [ A.Resize(224, 224), # 224x224 resize A.Normalize(mean=[0.485, 0.456, 0.406], st.. 2024. 9. 24.
ResNet 논문 리뷰 Abstract 깊은 신경망은 훈련하기 어렵다는 문제가 있습니다. Resnet 논문에서는 이전보다 훨씬 더 깊은 네트워크의 훈련을 용이하게 하기 위해 Residual learning(잔차 학습) 제안했습니다. 기존의 신경망은 각 층에서 출력할 값을 직접 학습 즉, 새로운 함수를 계속 학습하는 것인데, 이 방식은 층이 깊어질수록 학습하기 어려워지는 문제가 있었습니다. Residual Learning에서는 각 층이 출력할 값 자체를 학습하는 대신, 출력 값과 입력 값의 차이(residual(잔차))를 학습하게 됩니다. 이 Residual 는 "기존의 입력값에서 얼마나 더 변화를 줘야 하는지"만 신경 쓰는 것이죠. 이렇게 하면 신경망이 깊어져도 학습이 훨씬 더 쉬워집니다. 쉽게 말해서, 일반 신경망은 "처음부.. 2024. 9. 20.
StratifiedKFold란? StratifiedKFold와 앙상블을 사용한 CIFAR-10 분류 모델 학습이번 포스팅에서는 StratifiedKFold를 사용하여 CIFAR-10 데이터셋을 다루는 방법과, 각 폴드에서 학습한 모델들을 앙상블하여 최종 성능을 높이는 방법을 소개하겠습니다. StratifiedKFold는 데이터셋의 클래스 비율을 유지하면서 데이터를 여러 폴드로 나누기 때문에, 특히 데이터 불균형 문제를 해결하는 데 유용합니다.1. 프로젝트 개요우리는 CIFAR-10 데이터셋을 사용하여 이미지를 분류하는 작업을 수행할 것입니다. 이 데이터셋에는 10개의 클래스(예: 개구리, 고양이, 개 등)로 분류된 이미지가 있습니다. 각 클래스에서 고정된 수의 샘플을 선택한 후, StratifiedKFold를 사용하여 교차 검증을 진행.. 2024. 9. 16.