본문 바로가기

PCA on RGB channel for data augmentation 본문

BF 2024/컴퓨터 비전 관련

PCA on RGB channel for data augmentation

jaegomhoji 2023. 6. 7. 14:51

저번에 SSD 논문 스터디 중에 데이터 증강 방법에 대해서 찾다가, 

https://dsjgm921.tistory.com/219

 

SSD : Single Shot MultiBox Detector

세그멘테이션 업무를 하고 있는 와중에 SSD + regnetx + fpn 방식으로 구성한 네트워크가 있는데 잘 모른다... SSD 스터디가 필요함. 기존 스터디한 네트워크는 FPN, U-Net, Deeplabv3~3+, R-CNN, Fast R-CNN, Faster R

dsjgm921.tistory.com

ImageNet Classification with Deep Convolutional Neural Networks, A,Krizhevsky., G,E.Hinton. et al.

논문에서 PCA를 사용해서 이미지에 주성분 값을 더해주는 방식으로 top-1 error를 1% 개선하였다는 대목이 있었다. 

 

대충 이런 내용이다. 

```

따라서 각 RGB 이미지 Ixy의 (RGB) 픽셀에 다음 수량을 추가합니다:

Ixy = [IRxy, IGxy, IBxy]

[p1, p2, p3][α1λ1, α2λ2, α3λ3]T --> 1*3 3*1(1*3의 T) -> 1*1 값이 IRxy ~ IBxy에 더해진다는 것? 

여기서 pi와 λi는 각각 RGB 픽셀 값의 3 × 3 공분산 행렬의 ith 고유벡터와 고유값이고, αi는 이전에 언급한 랜덤 변수입니다.

-> 고유벡터만 PCA 결과이고, 가중치 α는 1,2,3 모두 거의 조금차이나게 곱해줘서 적용한다는 뜻. 

각 αi는 한 번만 그립니다. 특정 훈련 이미지의 모든 픽셀에 대해 그리고 해당 이미지가 다시 훈련에 사용될 때까지 동일한 값이 유지됩니다.-> 한번 뽑아서 훈련하고 redrawn된다는데, 위의 intensity alter한 기준으로 이미지를 다시 그리고, 그 이미지가 다시 활용될 경우 바뀐 이미지를 기준으로 PCA를 수행한다는 뜻인가? --> 테스트 해볼 것.  

자연 이미지의 중요한 특성인 물체의 식별이 조명의 강도와 색상의 변화에 불변함을 근사적으로 잡아내는 방식.

```

 

간단한 코드로 구현이 가능할 것 같아서 구현해본다. todaydatascience 등 레퍼런스들은 검색해보면 쉽게 나온다.

### Process

< IDEA : 자연 이미지의 중요한 특성인 물체의 식별이 조명의 강도와 색상의 변화에 불변함을 근사적으로 잡아내는 방식. >

1. import image
2. PCA respectively on RGB channel -> checkout variances, choose n_Component
3. get matrix
4. get alpha value from random Gaussian distribution
5. add PCA components to original image
# import modules
import cv2 as cv
import glob
import tqdm as tqdm
import os
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA

 

 

'BF 2024 > 컴퓨터 비전 관련' 카테고리의 다른 글

SSD : Single Shot MultiBox Detector  (0) 2023.06.02
Comments