본문 바로가기

분류 전체보기162

[OpenCV] Computer Vision, Image Data 1. Computer Vision이란 ? 컴퓨터를 이용하여 정지 영상 또는 동영상으로부터 의미있는 정보를 추출하는 방법을 연구하는 학문 즉, 사람이 눈으로 사물을 보고 인지하는 작업을 컴퓨터가 수행하게끔 만드는 학문 2. 컴퓨터 비전 vs 영상 처리 - 영상 처리는 영상을 다루는 모든 학문과 응용을 통틀어 지칭한다. - 컴퓨터 비전은 영상 인식과 같은 고수준의 영상 처리를 지칭한다. 현재의 영상처리는, 컴퓨터 비전을 위한 전처리 작업으로 쓰인다. 3. 영상image란? 픽셀이 바둑판 모양의 격자에 나열되어 있는 형태(2차원 행렬) 픽셀 (pixel) : 영상의 기본 단위, picture element, 화소 4. 영상 데이터의 구조 w x h 영상의 시작점은 (0, 0)이다. 주의할 점은, 영상과 행렬의.. 2023. 2. 20.
YOLO 실행시 발생, IndexError: list index out of range This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2 FMA To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags. Traceback (most recent call last): File "convert_weights.py", line 20, in from yolov3 import YOLOv3Net File "/Users/Documents/DeepLearning.. 2023. 2. 19.
Mac 업데이트 후 발생하는 xcrun: error Ventura update 후 git 사용하려 하니 발생한 error .. xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun https://www.hahwul.com/2019/11/18/how-to-fix-xcrun-error-after-macos-update/ Mac 업그레이드 후 xcrun: error: invalid active developer path 에러 해결하기 MacOS 업그레이드 시 어김없이 발생하는 문제가 하나 있습니다 😫 바로 개발 관련 도구 사용 시 대다수가 발생하는.. 2023. 2. 19.
[DL] YOLO 많은 것들이 나왔지만, 등장하자마자 주목받은 것은 YOLO와 SSD이다. 2-stage Detector : 사진에 내가 인지해야 할 사물이 있는 영역을 찾는다. (region proposal) 그 다음, 그 영역에 뭐가 있는지 분류한다. (classification) 즉, 딥러닝이 2번 돌아야 한다. 1-stage Detector : feature map 찾아서, 한번만 돈다. 하나의 이미지를 여러개의 그리드로 분리한 뒤, 각 그리드를 detection 시킨다. YOLO - You Only Look Once ! YOLO 초기에 앵커박스(anchor box)를 생성하여 Bounding box를 예측한다.(회귀문제) 초기 앵커박스 생성시 해당 박스의 신뢰도(confidence)를 찾는다. 해당 그리드에 물체.. 2023. 2. 19.
[DL] DeepLearning 이모저모 Classification : 주어진 데이터를 주어진 라벨(클래스)에 의해 분류하는 법을 학습한다. (지도학습) Clustering : 주어진 데이터를 데이터의 특징에 의해 스스로 클래스를 군집화한다. (비지도학습) Classification : 주어진 데이터가 어떤 라벨(클래스)인지 예측하는 것이다. - discrete한 output을 가진다. Regression : 주어진 데이터의 경향성을 파악하고 함수를 예측하는 것이다. - 어떤 데이터를 대표할만한 모델을 만들고, 그 결과로 연속적인 output을 가진다. - 주어진 데이터의 트렌드를 파악하는 용도로 괜찮다. 분류하고자 하는 class에 따라서 다른 접근법을 사용해야 한다. Linear / Nonlinear 등 data의 분포 특성에 따라서 더 적.. 2023. 2. 19.
[DL] t-SNE t - Stochastic Nearest Neghibor 고차원의 벡터를 저차원으로 옮겨서 시각화에 도움을 주는 방법이다. 차원을 옮기겠다는 것이 아니다.(원데이터 그대로 보존) 그저 시각화하는 방법이라고 생각하면 될 것 같다. k-Means가 각 클러스터를 계산하기 위한 단위로 중심과 각 데이터의 거리를 측정한다면, t-SNE는 각 데이터의 유사도를 정의하고 원래 공간에서의 0사도와 저차원 공간에서의 유사도가 비슷해지도록 학습시킨다. 여기서 유사도가 수학적 확률로 표현된다. latent vector을 5000개만 뽑아서 scatter로 찍은 것이다. perplexity : 근접성. 하이퍼파라미터에 맞춰 수정한다.(tunning 요소) scatter plot을 보면, 숫자가 좀 섞여있는 것을 볼 수 있다.. 2023. 2. 19.
[DL] AutoEncoder. Latent Vector 오토인코더는 입력과 출력이 동일하다.(자기 자신을 재생성하는 네트워크이다) Latent Vector : 잠재변수(가운데 부분), Encoder : 입력쪽, Decoder : 출력쪽 인코더는 일종의 특징추출기와 같은 역할을 한다. 디코더는 압축된 데이터를 다시 복원하는 역할을 한다. (28,28) 사이즈의 train_X가 strides=(2,2)로 인해 2칸씩 건너 측정되면서 (14,14)로 줄고, 또 통과하면서 (7,7)이 되어 reshape의 (7, 7, 64)가 구성되는 것이다. Conv2d의 filters=32가 Conv2DTranspose의 filters=32 / Conv2D의 필터 64가 Dense, reshape의 64로 연결된다. 다시 fit 시키고 결과를 봤을 때, 화질이 조금은 계선된 것.. 2023. 2. 19.
[DL] Transfer learning _ 기본 option 전이학습 (transfer learning) : 잘 학습된 모델의 weight를 가져와서, 조금 수정 후 사용한다. 이미지 세상에서 꽤 유용한 것으로 알려져 있다. Freeze : 가중치 고정 Trainable : weight를 가져오지만 training 시킬 거고, 구조만 따로 사용한다. data_transforms = { 'train' : transforms.Compose([transforms.Resize([64,64]), transforms.RandomHorizontalFlip(), transforms.RandomVerticalFlip(), transforms.RandomCrop(52), transforms.ToTensor(), transforms.Normalize([0.485, 0.456, 0.4.. 2023. 2. 16.
[DL] options in DeepLearning ( Transfer learning) num_workers x.view() F.log_softmax(x, dim=1) lr = 0.001 eval() to.(DEVICE) fc.in_features lr_scheduler.StepLR() zero_grad set_grad_enabled max(outputs, 1) trainable=False [np.newaxis, ...] argmax() axis=-1 untar = True #1 num_workers val_loader = torch.utils.data.DataLoader(val_dataset, batch_size = BATCH_SIZE, shuffle =True, num_workers = 4) In PyTorch, num_workers is an argument in the DataLoa.. 2023. 2. 16.