Recent Posts
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- PRML
- 머신러닝
- 3d
- pytorch
- REACT
- classification
- CV
- Meta Learning
- cs
- FGVC
- Front
- clean code
- math
- Torch
- GAN
- Vision
- 딥러닝
- SSL
- FineGrained
- ML
- nlp
- algorithm
- Depth estimation
- 자료구조
- 알고리즘
- web
- computervision
- nerf
- Python
- dl
- Today
- Total
KalelPark's LAB
[ Computer Vision ] Jigsaw Generator 구현 본문
ComputerVision task에서는 Model의 성능을 올리기 위해,
Image에 여러가지 Data Augmentation 기법들이 제안됩니다.
이미지를 자르거나, 다른 이미지와 겹치게 함으로써
Image의 덜 중요한 부분까지 focusing하거나, Image의 덜 중요한 부분을 dropout 하도록 합니다.
최근 여러 논문에서는 CutMix, Cutblur, Mixup 등이 소개되고 있는데, 이러한 data augmentation을 만들기 이전에,
기본적으로 이미지를 Patch로 생성한 후, Patch를 섞는 코드를 구현해보도록 하겠습니다.
* 예시 Img
import random
from PIL import Image
import torch
from torchvision import datasets, transforms
import numpy as np
import pandas as pd
def jigsaw_generator(images, n):
l = []
for a in range(n):
for b in range(n):
l.append([a, b])
block_size = 448 // n
rounds = n ** 2
random.shuffle(1)
jigsaws = images.clone()
for i in range(rounds):
x, y = l[i]
temp = jigsaws[..., 0 : block_size, 0 : block_size].clone()
jigsaws[..., 0:block_size, 0:block_size] = jigsaws[..., x * block_size : (x+1) * block_size,
y*block_size : (y +1) * block_size].clone()
jigsaws[..., x * block_size: (x + 1) * block_size, y * block_size : (y + 1) * block_size] = temp
return jigsaws
img = Image.open("cat.png")
img = torch.tensor(img)
tensor_img = img.permute(2, 0, 1)
tensor_img.unsqueeze(0).size()
jigsaw_img = jigsaw_generator(tensor_img, 16)
pil_img = transforms.ToPILImage()
img = pil_img(jigsaw_img)
img.show()
* 최종
GitHub를 참고하시면, CODE 및 다양한 논문 리뷰가 있습니다! 하단 링크를 참고하시기 바랍니다.
(+ Star 및 Follow는 사랑입니다..!)
'Data Science > Common' 카테고리의 다른 글
[ Computer Vision ] PSNR, SSIM이란? (0) | 2023.01.28 |
---|---|
[ Computer Vision ] Attention, Transformer 이해하기 (2) | 2023.01.14 |
[ Computer Vision ] Siamese-ennead CNN이란? (0) | 2023.01.03 |
[ Computer Vision ] All about Activation Function (0) | 2023.01.01 |
[ Computer Vision ] All about Classification Metrics (0) | 2022.12.30 |
Comments