๋ฐ˜์‘ํ˜•

์ „์ฒด ๊ธ€ 177

[๋ฐฑ์ค€ 2579๋ฒˆ] ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ (python/ํŒŒ์ด์ฌ)

DFS๋กœ ํ’€์—ˆ๋‹ค๊ฐ€ ์‹คํŒจํ•˜๊ณ  DP๋กœ ์„ฑ๊ณต ์‹ค๋ฒ„ 3 ์ ˆ๋Œ€์•„๋‹˜ ๐ŸŒผ ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/2579 2579๋ฒˆ: ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ ๊ฒŒ์ž„์€ ๊ณ„๋‹จ ์•„๋ž˜ ์‹œ์ž‘์ ๋ถ€ํ„ฐ ๊ณ„๋‹จ ๊ผญ๋Œ€๊ธฐ์— ์œ„์น˜ํ•œ ๋„์ฐฉ์ ๊นŒ์ง€ ๊ฐ€๋Š” ๊ฒŒ์ž„์ด๋‹ค. ๊ณผ ๊ฐ™์ด ๊ฐ๊ฐ์˜ ๊ณ„๋‹จ์—๋Š” ์ผ์ •ํ•œ ์ ์ˆ˜๊ฐ€ ์“ฐ์—ฌ ์žˆ๋Š”๋ฐ ๊ณ„๋‹จ์„ ๋ฐŸ์œผ๋ฉด ๊ทธ ๊ณ„๋‹จ์— ์“ฐ์—ฌ ์žˆ๋Š” ์  www.acmicpc.net ํ‹ฐ์–ด: ์‹ค๋ฒ„ III ๋ถ„๋ฅ˜: ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ โ— TRIAL 1. ๋”๋ณด๊ธฐ ์ฝ”๋“œ import sys input = sys.stdin.readline def dfs(stairs, val, ctr): if not stairs: return val next_val = stairs.pop() if ctr != 2: dfs1 = dfs(stairs,..

[๋”ฅ๋Ÿฌ๋‹ ๋…ผ๋ฌธ๋ฆฌ๋ทฐ + ์ฝ”๋“œ] PointCutMix: Regularization Strategy for Point Cloud Classification (Neurocomputing 2022)

CutMix augmentation์„ ํฌ์ธํŠธํด๋ผ์šฐ๋“œ ๋ฐ์ดํ„ฐ์— ์ ์šฉํ•œ ๋…ผ๋ฌธ์ด๋‹ค. ๋‘ ํฌ์ธํŠธํด๋ผ์šฐ๋“œ ๋ฐ์ดํ„ฐ ๊ฐ„์˜ ์ผ๋Œ€์ผ ๋Œ€์‘๊ด€๊ณ„๋ฅผ ์ฐพ๊ณ , ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋‘ ๋ฐ์ดํ„ฐ๋ฅผ ์„ž๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์ œ์•ˆํ–ˆ๋‹ค. Paper: https://arxiv.org/pdf/2101.01461.pdf Code: https://github.com/cuge1995/PointCutMix Introduction ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด mixed sample data augmentation (MSDA)๊ฐ€ ํ™œ๋ฐœํ•˜๊ฒŒ ์‚ฌ์šฉ๋˜์–ด ์™”๋‹ค. ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์‹œ๋Š” MixUp (Zhang et al., 2018)๊ณผ CutMix (Yun et al., 2019) ๊ฐ€ ์žˆ๋‹ค. ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” ํฌ์ธํŠธํด๋ผ์šฐ๋“œ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด CutMix๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” PointCutMix๋ฅผ ์ œ์•ˆํ•œ..

[๋ฐฑ์ค€ 14500๋ฒˆ] ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ (python/ํŒŒ์ด์ฌ)

๋ถ„๋…ธ์˜ ํ…ŒํŠธ๋ฆฌ์Šค.. ๋จธ๋ฆฌ๊ฐ€ ๋‚˜์˜๋ฉด ๋ชธ์ด ๊ณ ์ƒํ•œ๋‹ค ๐ŸŒผ ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/14500 14500๋ฒˆ: ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ ํด๋ฆฌ์˜ค๋ฏธ๋…ธ๋ž€ ํฌ๊ธฐ๊ฐ€ 1×1์ธ ์ •์‚ฌ๊ฐํ˜•์„ ์—ฌ๋Ÿฌ ๊ฐœ ์ด์–ด์„œ ๋ถ™์ธ ๋„ํ˜•์ด๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ํ•œ๋‹ค. ์ •์‚ฌ๊ฐํ˜•์€ ์„œ๋กœ ๊ฒน์น˜๋ฉด ์•ˆ ๋œ๋‹ค. ๋„ํ˜•์€ ๋ชจ๋‘ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ •์‚ฌ๊ฐํ˜•์˜ ๋ณ€ www.acmicpc.net ํ‹ฐ์–ด: ๊ณจ๋“œ IV ๋ถ„๋ฅ˜: ๊ตฌํ˜„, ๋ธŒ๋ฃจํŠธํฌ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜ โ— TRIAL 1. ๋”๋ณด๊ธฐ ์ฝ”๋“œ import sys input = sys.stdin.readline from collections import deque N, M = list(map(int, input().split())) paper = [] totalmax = 0 for _ in r..

[๋ฐฑ์ค€ 7569๋ฒˆ] ํ† ๋งˆํ†  (python/ํŒŒ์ด์ฌ)

๋ถ„๋…ธ์˜ ํ† ๋งˆํ† ...๐Ÿ… ์ ‘๊ทผ๋ฐฉ๋ฒ•์ด ํ‹€๋ ค์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ช‡๋ฒˆ์”ฉ ์ˆ˜์ •ํ–ˆ๋‹ค ๐ŸŒผ ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/7569 7569๋ฒˆ: ํ† ๋งˆํ†  ์ฒซ ์ค„์—๋Š” ์ƒ์ž์˜ ํฌ๊ธฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋‘ ์ •์ˆ˜ M,N๊ณผ ์Œ“์•„์˜ฌ๋ ค์ง€๋Š” ์ƒ์ž์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” H๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. M์€ ์ƒ์ž์˜ ๊ฐ€๋กœ ์นธ์˜ ์ˆ˜, N์€ ์ƒ์ž์˜ ์„ธ๋กœ ์นธ์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋‹จ, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net ํ‹ฐ์–ด: ๊ณจ๋“œ V ๋ถ„๋ฅ˜: ๊ทธ๋ž˜ํ”„ ์ด๋ก , ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰, ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰ โ— TRIAL 1. ๋”๋ณด๊ธฐ ์ฝ”๋“œ import sys input = sys.stdin.readline from collections import deque M, N, H = map(int, input().split()) #fill..

[matplotlib] matplotlib.pyplot์„ ์ด์šฉํ•œ ์ด๋ฏธ์ง€ ์‹œ๊ฐํ™” ์ด์ •๋ฆฌ

0Install pip install matplotlib Import import matplotlib.pyplot as plt * ๋ฒ„์ „ ํ™•์ธ import matplotlib print(matplotlib.__version__) plot image #load image import cv2 img = cv2.imread('dog.jpg') img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) #show iage plt.imshow(img) figure ํฌ๊ธฐ ์กฐ์ ˆ plt.figure(figsize=(15, 15)) plt.imshow(img) colorbar ํ‘œ์‹œ plt.imshow(img[...,0]) #๋งˆ์ง€๋ง‰ ์ฑ„๋„๋งŒ ํ‘œ์‹œ plt.colorbar() * Colorbar ์œ„์น˜ ์ด๋™ (v..

Numpy & PyTorch๋กœ 2D fourier transform, inverse fourier transformํ•˜๊ธฐ

์‚ฌ์šฉํ•  ์ด๋ฏธ์ง€ Load image import cv2 import matplotlib.pyplot as plt img = cv2.imread('dog.jpg', cv2.IMREAD_GRAYSCALE) img = cv2.resize(img, (256, 256)) print(img.shape) plt.imshow(img, cmap='gray') plt.colorbar() (256, 256) FFT and IFFT using numpy import numpy as np fft_img = np.fft.fftshift(np.fft.fft2(img, norm='ortho')) print(fft_img.shape, fft_img.dtype) plt.imshow(np.abs(fft_img), cmap='gray') p..

[๋”ฅ๋Ÿฌ๋‹ ๋…ผ๋ฌธ๋ฆฌ๋ทฐ] PointMLP - Rethinking Network Design and Local Geometry in Point Cloud: A Simple Residual MLP Framework (ICLR 2022)

ICLR 2022์—์„œ ๋ฐœํ‘œ๋œ Pointcloud analysis๋ฅผ ์œ„ํ•œ ๋ชจ๋ธ์ด๋‹ค. ๊ธฐ์กด Pointcloud analysis ๋ชจ๋ธ๋“ค์€ ๋ณต์žกํ•œ local geometric extractor๋“ค์„ ์ด์šฉํ•ด ์™”๋Š”๋ฐ, ์ด๋“ค๊ณผ ๋‹ฌ๋ฆฌ ๋งค์šฐ ๊ฐ„๋‹จํ•œ ๊ตฌ์กฐ๋กœ SOTA๋ฅผ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์Œ์„ ๋ณด์˜€๋‹ค. Paper, Code 1. Introduction ๊ธฐ์กด pointcloud ๋ชจ๋ธ๋“ค์€ 3D geometric์„ ํฌ์ฐฉํ•˜๊ธฐ ์œ„ํ•ด convolution, graph, attention ๋“ฑ ๋งค์šฐ ๋ณต์žกํ•œ local geometric extractor๋“ค์„ ์ด์šฉํ–ˆ๋Š”๋ฐ, ์ด๋“ค์€ computational overhead๊ฐ€ ๋„ˆ๋ฌด ํฌ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค. ์ €์ž๋“ค์€ pointcloud analysis์˜ ํ•ต์‹ฌ์€ detailed local geometrical i..

[StyleGAN ์‹œ๋ฆฌ์ฆˆ] ProGAN/PGGAN, StyleGAN, StyleGAN2

ProGAN๋ถ€ํ„ฐ StyleGAN2๊นŒ์ง€, style transfer์—์„œ ๊ฐ€์žฅ ์œ ๋ช…ํ•œ ๋ชจ๋ธ์ธ StyleGAN์˜ ๋ณ€์ฒœ์‚ฌ์™€ ๊ฐ ๋ชจ๋ธ์˜ ํŠน์ง•์„ ๊ฐ„๋‹จํžˆ ์ •๋ฆฌํ•ด ๋ณด๊ณ ์ž ํ•œ๋‹ค. 1. ProGAN/PGGAN (ICLR 2018) Paper: Progressive Growing of GANs for Improved Quality, Stability, and Variation (link) GAN์„ ์ด์šฉํ•ด ๊ณ ํ•ด์ƒ๋„ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์€ ์‰ฝ์ง€ ์•Š๋‹ค. ๋”ฐ๋ผ์„œ latent vector์—์„œ ํ•œ๋ฒˆ์— ๊ณ ํ•ด์ƒ๋„์˜ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ๋ณด๋‹ค๋Š”, ๋‚ฎ์€ ํ•ด์ƒ๋„์˜ ์ด๋ฏธ์ง€(4x4)๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ๋ถ€ํ„ฐ ํ•™์Šตํ•ด์„œ ์ ์ง„์ ์œผ๋กœ(progressive) ๋ ˆ์ด์–ด๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉฐ ๊ณ ํ•ด์ƒ๋„ ์ด๋ฏธ์ง€(1024x1024)๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ•œ๋‹ค. ๋ ˆ์ด์–ด๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ๋Š” fade..

[๋”ฅ๋Ÿฌ๋‹ ๋…ผ๋ฌธ๋ฆฌ๋ทฐ] SimSiam: Exploring Simple Siamese Representation Learning (CVPR 2021)

CVPR 2021์—์„œ ๋ฐœํ‘œ๋œ self-supervised learning ๋…ผ๋ฌธ. ๊ธฐ์กด์˜ ๋‹ค๋ฅธ self-supervised learning ๋ฐฉ๋ฒ•์ธ SimCLR, SwAV, BYOL๊ณผ์˜ ๋น„๊ต๋ฅผ ํ†ตํ•ด ์ œ์•ˆ๋œ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๊ณ  ์žˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ ๋ฌธ์žฅ์ด๋‚˜ ์ „์ฒด์ ์ธ ๊ตฌ์กฐ๊ฐ€ ๋งค์šฐ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ์ž˜ ์“ฐ์—ฌ์ ธ ์žˆ๋‹ค๊ณ  ๋А๊ผˆ๋‹ค. ๋…ผ๋ฌธ ๋งํฌ Introduction Self-supervsied learning์—์„œ๋Š” ๋ณดํ†ต Siamese network ๊ตฌ์กฐ๋ฅผ ๋งŽ์ด ์ด์šฉํ•œ๋‹ค. ์ด๋Š” weight๋ฅผ ์„œ๋กœ ๊ณต์œ ํ•˜๋Š” neural network๋ฅผ ์˜๋ฏธํ•˜๋Š”๋ฐ, ์ด๋“ค์€ ๊ฐ entity๋ฅผ ๋น„๊ตํ•˜๋Š” ๋ฐ์— ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Siamese network๋Š” output์ด ํ•˜๋‚˜์˜ constant๋กœ ์ˆ˜๋ ดํ•˜๋Š” collapsing์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค..

[PyTorch Implementation] PointNet ์„ค๋ช…๊ณผ ์ฝ”๋“œ

PointCloud ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•œ ๋Œ€ํ‘œ์ ์ธ ๋ชจ๋ธ์ธ PointNet์˜ ๊ตฌ์กฐ์™€ PyTorch๋กœ ๊ตฌํ˜„ํ•œ ์ฝ”๋“œ์ด๋‹ค. PointNet์€ Feature extraction ํ›„ classification / segmentation์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋ณธ ๊ธ€์—์„œ๋Š” classification์„ ์œ„ํ•œ ๋„คํŠธ์›Œํฌ๋งŒ ์†Œ๊ฐœํ•œ๋‹ค. ์ฝ”๋“œ๋Š” ๊ฐ€์žฅ star ์ˆ˜๊ฐ€ ๋งŽ์€ PyTorch implementation์ธ ์•„๋ž˜ Github repo๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ผ๋ถ€ ์ˆ˜์ •ํ–ˆ๋‹ค. https://github.com/fxia22/pointnet.pytorch/tree/f0c2430b0b1529e3f76fb5d6cd6ca14be763d975 64๋กœ ๋Š˜๋ ค์ค€๋‹ค. 64์ฐจ์›์˜ shared mlp์— ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ T-Net๊ณผ matrix multiplication์„ ..

๋ฐ˜์‘ํ˜•