pytorch8 YOLOv3 Pytorch 코드 리뷰 코드 : https://github.com/aladdinpersson/Machine-Learning-Collection/tree/master/ML/Pytorch/object_detection/YOLOv3 1. DarkNet + Multi-scale feature map extracter YOLO v3에서는 DarkNet-53이라는 새로운 Backbone network가 등장한다. 총 53개의 conv layer로 이루어져있다. """ Implementation of YOLOv3 architecture """ import torch import torch.nn as nn """ Information about architecture config: Tuple is structured by (filters, .. 2024. 1. 26. YOLOv1 Pytorch 코드 리뷰 코드 : https://github.com/aladdinpersson/Machine-Learning-Collection/tree/master/ML/Pytorch/object_detection/YOLO 1. DarkNet DarkNet은 YOLOv1이 feature map을 생성하기 위해 만들어진 독자적인 CNN이다. ## model.py """ Implementation of Yolo (v1) architecture with slight modification with added BatchNorm. """ import torch import torch.nn as nn """ Information about architecture config: Tuple is structured by (kernel_siz.. 2024. 1. 25. MDGAN : Mask guided Generation Method for Industrial Defect Images with Non-uniform Structures 코드 구현 및 리뷰 논문 : https://www.mdpi.com/2075-1702/10/12/1239 구현 코드 : https://github.com/hits-gold/MDGAN-pytorch/tree/main?tab=readme-ov-file 구현하게 된 배경 인턴으로 근무하던 당시 팀에서 반도체 불량 검출 과제를 하고 있었고, 이 후에도 같은 task를 다수 맡을 예정이었다.이에 '제조업계에서 사용되는 불량 검출 과제'에 선제적 대응을 할 요인을 찾아 대비하는 차원에서 1인 프로젝트를 시작하게 되었다. 선행연구조사를 통해 결함 이미지에 대한 classification이나 segmentation과 같은 task를 진행할 때 일반적으로 결함 이미지가 적어 데이터 불균형이 있다는 것을 알게 되었다. (불량률을 줄이기 위해 .. 2024. 1. 24. Transformer Pytorch 코드 리뷰 기본 Transformer 구조 Pytorch에는 Transformer가 구현되어 있어, 이를 활용한 기본 구조를 만들면 다음과 같다. # nn모듈을 활용한 Transformer 기본구조 import torch import torch.nn as nn import torch.optim as optim class Transformer(nn.Module): def __init__(self, num_tokens, dim_model, num_heads, num_encoder_layers, num_decoder_layers, dropout_p, ): super().__init__() # Layers self.transformer = nn.Transformer( d_model=dim_model, nhead=num_h.. 2024. 1. 24. [Pytorch Part.5] Augmentation과 CNN DATA Augmentation이란? 복잡한 모델을 만들기 위해서는 다량의 데이터가 필요하지만 우리가 갖고 있는 데이터는 한정적입니다. DATA Augmentation은 이를 보완하기 위해 데이터를 임의로 변형해 데이터의 수를 늘려 다양한 feature를 뽑는 방법입니다. 위 사진과 같이 여러 기법을 사용하는데 대표적인 기법은 다음과 같습니다. Flip : 이미지를 랜덤하게 좌우 또는 상하 반전시킵니다. Scaling : 이미지를 확대 또는 축소시킵니다. Rotation : 이미지를 회전시킵니다. Crop : 이미지의 일정 부분을 잘라 사용합니다. Cutout : 이미지의 일부를 사각형 모양으로 검은색을 칠합니다. Cutmix : 두 이미지를 합쳐 놓고 이미지의 Label을 학습시킬 때 각각의 이미지가 .. 2022. 1. 14. [Pytorch Part.4] AutoEncoder AutoEncoder란? AutoEncoder란 비지도 학습 방식으로 훈련된 인공 신경망으로, 먼저 데이터에 인코딩 된 표현을 학습한 다음, 학습된 인코딩 표현에서 입력 데이터를 생성하는 것을 목표로 한다. 따라서 , 오토인코더의 출력은 입력에 대한 예측이다. AE를 활용하면 Input data를 Latent Space에 압축시켜 이 값을 새로운 Feature로 사용할 수 있는데, Dimension을 줄일 수 있다는 장점이 있다. AE의 응용 이미지 생성 이미지 변환 이미지 초 고해상도 이미지 복원 이미지 설명(caption) 대표적인 AE 1. Stacked AE Stacked AE는 위 그림과 같이 Hidden Layer를 다시 input으로 사용해 AE를 반복적으로 수행 후 각 Hidden Laye.. 2022. 1. 14. [Pytorch Part.2] AI Background 인공지능이란? 인공지능을 쉽게 정의하면 "컴퓨터가 데이터를 이용해 학습할 수 있도록 하는 기술"입니다. 그 중에는 머신러닝, 딥러닝이 포함되어있고, 딥러닝은 인공지능의 획기적인 발전을 이끌었습니다. 1. 인공지능의 사례 이미지 분류 인간이 이미지를 분류하는 성능은 약 95%로 알려져있습니다. 2010년부터 인공지능 모델을 이용해 이미지를 분류하는 대회를 보면, 2015년에 "Resnet"이라는 모델이 약 96%의 성능을 기록하면서 인간의 능력을 뛰어넘기 시작했습니다. 객체 탐지 객체 탐지(Object Detection)은 어떤 이미지 및 비디오 속에 포함돼 이쓴ㄴ 무레에 대해 해당 물체가 어떤 물체인지를 분류하는 문제와 물체의 위치를 찾아내는 문제입니다. 자율주행 자동차, CCTV 등과 같은 카메라 기술.. 2022. 1. 6. [Pytorch Part.1] Basic Skill 1. Scalar 우리가 아는 선형대수에서 배우는 스칼라 즉 상숫값입니다. torch 내 tensor method를 이용해 스칼라 값을 정의할 수 있습니다. import torch scalar1 = torch.tensor([1.]) scalar1 = torch.tensor([2.]) print(scalar1) #tensor([1.]) tensor([1.])가 출력됩니다. 이러한 스칼라값들은 사칙연산 기호 또는 내장 메서드를 이용해 계산할 수 있습니다. torch.add(scalar1, scalar2) # 덧셈 # scalar1 + scalar2 torch.sub(scalar1, scalar2) # 뺄셈 # scalar1 - scalar2 torch.mul(scalar1, scalar2) # 곱셈 # sc.. 2022. 1. 5. 이전 1 다음