[OpenCV] Canny Edge
·
Computer Vision/OpenCV
1. 노이즈 제거 Edge detection은 이미지의 노이즈에 민감하므로 첫 번째 단계에서 Gaussian filter를 사용하여 이미지의 노이즈를 제거한다. 2. 이미지의 Gradient 크기, 방향 구하기 노이즈가 제거된 이미지에 수평(Gx), 수직(Gy) 방향으로 Sobel kernel 필터링하여 파생 모델을 얻는다. 이 두 영상에서 다음과 같이 각 픽셀에 대한 Edge Gradient 및 방향을 찾을 수 있다. Gradient 방향은 항상 Edge에 수직이다. 3. 최댓값이 아닌 픽셀 0으로 만들기(Non-maximum Suppression) Gradient 크기와 방향을 얻은 후, Edge를 구성하지 않을 수 있는 불필요한 픽셀 제거를 위해 이미지 전체를 스캔한다. 위 그림에서 A는 Edge ..
[Pytorch] numpy, tensor, list 변환
·
언어 | Framework/Pytorch
pytorch에서 자주 쓰이는 형태인 numpy, tensor, list 간에 변환. import torch import numpy as np # numpy to tensor np_arr = np.zeros((3, 3), dtype=np.float32) tensor_arr = torch.from_numpy(np_arr) # tensor to numpy np_arr = tensor_arr.numpy() # tensor to list list = tensor_arr.tolist() # list to tensor tensor_arr = torch.tensor(list) 간단하다.
[Pytorch] Multi GPU
·
언어 | Framework/Pytorch
pytorch에서 여러개의 GPU 사용하기. import torch model = MyModel() # CNN이든 뭐든 사용할 모델 device = 'cuda' if torch.cuda.is_available() else 'cpu' if (device == 'cuda') and (torch.cuda.device_count() > 1): model = nn.DataParallel(model) model.to(device) 간단하다.
[STL] Vector와 List의 차이
·
언어 | Framework/C++
Vector 메모리를 연속적으로 할당(마치 배열처럼)하여 index값으로 접근이 가능. (-> random 하게 요소에 접근 가능) 중간 삽입, 삭제가 어려움. container 끝에 삽입, 삭제하는 것은 빠르다. List next포인터로 다음 주소를 찾아주는 방식. (index값 접근 안됨, random 하게 접근할 수 없음) 중간 삽입, 삭제가 용이. next포인터라는 정보를 담는 추가적인 메모리가 필요함.
[Detection] Anomaly Detection
·
DeepLearning/Detection
Anomaly Detection? Anomaly Detection(이상 탐지)란 normal, abnormal(정상, 비정상)을 구별하는 Detection을 의미한다. Supervised Anomaly Detection Supervised Anomaly Detection, 정상 데이터셋과 비정상 데이터셋 모두를 학습시키는 것을 의미한다. 정상, 비정상을 모두 학습시키기 때문에 다른 Anomaly Detection에 비해 정확도가 높다. 하지만 실제 산업현장에서는 적정량의 비정상 제품의 데이터를 취득하기가 매우 어렵다는 문제가 있다. 10,000개의 제품을 생산할 때 비정상 제품이 1개 나온다면(실제론 더 안 나오지만...), 100개의 비정상 샘플을 취득하기 위해선 대략 10,000,00개의 제품을 생산..
[수학] 점의 회전변환(삼각함수)
·
수학
중점이 원점(0, 0)인 원 위의 점 (x, y)가 θ만큼 회전한 점 (x', y')를 구하는 공식은 다음과 같다. 중점이 원점이 아니라 특정 좌표인 (a, b) 일 경우에는 다음과 같다.
woongs_93
'분류 전체보기' 카테고리의 글 목록 (12 Page)