일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Mean squared error
- Cross Entropy Error
- E
- CNN
- 활성화함수
- LLM
- computer vision
- 딥러닝
- 손실함수
- nlp
- deep learning
- 퍼셉트론
- 데이터 파싱
- 합성곱 신경망
- 시계열
- 컴퓨터비전
- Non-Maximum Suppression
- 이상탐지
- 머신러닝
- LLaVA
- rag parsing
- anomaly detection
- 오차역전파
- visual instruction tuning
- segmentation
- 활성화 함수
- pdf parsing
- Time Series
- leetcode
- Today
- Total
목록Computer Vision (9)
굴러가는 분석가의 일상
※ 앞선 게시물에서는 합성곱 신경망(Convolutional Neural Networ)에 대해 알아보았습니다. CNN은 대체적으로 이미지 처리와 관련된 작업에 사용되지만, 이는 크게 3가지의 유형(이미지 분류, 객체 인식, 이미지 분할)으로 나뉘게 됩니다. 본 게시물에서는 객체인식에 사용되는 알고리즘에 대해 알아보도록 하겠습니다. 💡 객체 인식(Object Detection) 객체 인식(Object Detection)이란, 이미지 내의 객체나 장면 등을 분류하는데 그치지 않고, 해당 객체의 위치까지 표시하는 알고리즘을 말합니다. 객체 인식 알고리즘을 수행하기 위해서는 두 가지의 과정을 거치게 됩니다. 객체의 위치가 어디인지 Bounding Box로 나타내는 지역화(Localization)를 진행하고, 이..
💡 Non-Max Suppression이란, 입력 이미지에 Object Detection 알고리즘에 의해 bounding box regression이 적용되면, 아래의 그림과 같이 객체에 여러 개의 bboxr가 그려지며 물체의 확률 값을 가지게 됩니다. 여러 개의 bbox 중 가장 스코어가 높은 박스만 남기고 나머지를 제거하는 것이 Non-Maximum Suppression 이라고 합니다. 이를 통해 모델을 간결하게 하고 중북된 결과를 제거함으로써 정확한 객체 탐지를 수행할 수 있습니다. 📌 동작 원리 ① Object Detection 후보군 추출 : 객체탐지 모델을 사용하여 입력 이미지에서 객체 후보군을 추출합니다. 이에 각 후보 객체에 대한 추상적인 위치와 해당 객체가 어떤 클래스에 속하는지에 대한 ..
※ 본 게시물에서는 Object detection의 평가지표인 mAP(Mean Average Precision)에 대해 알아보도록 하겠습니다. mAP 평가지는 IoU와 Precision/Recall의 개념이 기반이 되기에, 함께 알아보도록 하겠습니다. 💡 IoU (Intersection over Union) 분류(Classification)문제 같은 경우, 단순히 예측/실제 Class가 일치하거나 불일치한 것을 구분하면 됩니다. 이러한 개념은 객체탐지에서 도 비슷하게 적용합니다. Ground Truth Bounding Box와 Predicted Bounding Box를 비교하여 모델의 성능을 비교하면 되지만, 이 두가지 값은 모델의 다양한 파라미터로 인하여 일치하는 경우가 거의 없기때문에, 쉽지가 않습니..
💡 Sliding Window & Regional Proposal Object Detection은 여러 객체에 대한 위치와 클래스를 분류하는데, 복잡한 Feature Map이 도출되기에 객체를 분류하는데 어려움이 있습니다. 그럼 Feature Map를 간단하게 만들기 위해서는 어떻게 해야할까요? 생각보다 단순합니다. 입력 데이터를 일정한 크기의 간격으로 나누고, 각각의 나눈 영역에서 객체를 찾는다면 해결할 수 있습니다. 이러한 방식을 Sliding Window라고 합니다. 즉, Sliding Window는 일정 크기의 Window(노란색 상자)를 왼쪽에서 오른쪽으로 움직이면서, 각각의 Window 내의 Feature Map를 도출하여 객체를 인식하는 방식입니다. 그렇다면 만약 일정 크기의 Window..
※ 앞선 게시물에서는 Image Classifcation에 대해 알아보았습니다. CNN은 대체적으로 이미지 처리와 관련된 작업에 사용되지만, 이는 크게 3가지의 유형(이미지 분류, 객체 탐지, 이미지 분할)으로 나뉘게 됩니다. 본 게시물에서는 객체 탐지 개념에 대해 알아보도록 하겠습니다. 💡 Object Detection 개념 객체인식(Object Detection)을 알아보기전에, 분류(Classification)와 지역화(Localization)에 대해서 먼저 알아보도록 하겠습니다. 고양이 이미지가 입력으로 들어올 때, 이미지 안의 다중 클래스가 어떤 class에 속하는지 정하는 것이 ①분류(Classification)라고 칭합니다. 분류(Classification) 같은 경우, 저희가 흔히 아..
※ 앞선 게시물에서는 합성곱 신경망(Convolutional Neural Networ)에 대해 알아보았습니다. CNN은 대체적으로 이미지 처리와 관련된 작업에 사용되지만, 이는 크게 3가지의 유형(이미지 분류, 객체 인식, 이미지 분할)으로 나뉘게 됩니다. 본 게시물에서는 이미지 분류에 사용되는 알고리즘과 구현 방법에 대해 알아보도록 하겠습니다. 💡 이미지 분류(Image Classifcation) Image Classification는 이미지 내의 객체나 장면 등을 분류하는데 사용되는 알고리즘입니다. 예를 들어, 강아지와 고양이 사진이 주어졌을 때, 각각을 고양이와 강아지로 분류하는 것이 가장 일반적인 예입니다. 그렇다면 이미지 분류에 주로 사용되는 합성곱 신경망의 유형을 알아보도록 하겠습니다. 📌 L..
※ 본 게시물에서는 합성곱 연산을 효율적으로 수행하기 위한 im2col에 대해 알아보도록 하겠습니다. 💡 im2col 이해하기CNN은 3차원의 데이터 (주로 이미지)를 학습시켜 특징을 추출하는데 특화되어 있는 신경망입니다. 이에 Spatial 영역의 정보를 잃지 않기 위해 합성곱 연산을 여러 개의 for문과 같이 사용하게 됩니다. 이에 수만 건의 데이터를 처리해야하는 CNN에 적합하지도 않고 효율적이지도 않습니다. 또한 Numpy를 통해서 원소에 접근할 때 for 문을 사용하면, 성능이 떨어지는 단점도 있습니다. 그렇다면, 이러한 문제점을 가진 합성곱 연산은 어떻게 해결해야 할까요? 이에 대한 해결책이 바로 본 게시물의 주제인 im2col입니다. im2col은 다차원의 데이터를 행렬로 변환하여 ..
※ 본 게시물은 MNIST 데이터를 기반으로 합성곱 신경망(CNN)을 구현하도록 해보겠습니다. 앞서 CNN은 크게 아래와 같은 구성 요소로 이루어져있습니다. Convolution Layer(합성곱 층) : 이미지 특성 추출 Pooling Layer(풀링 층) : 이미지의 특성 축약 → 주로 Max-Pooling 사용 Fully Conntected Network Layer(완전연결 신경망) : 추출 및 축약된 특징(=n차원)의 데이터를 1차원의 데이터로 변환하며, Softmax 활성화 함수를 통해 Multi-class 아웃풋 도출 📌 Import Library import torch import torch.nn as nn import torchvision import torchvision.transform..
※ 앞선 포스팅에서는 신경망을 학습할 때, 정확도와 효율을 높일수 있는 다양한 기법에 대해 알아보았습니다. 본 게시물에서는 이미지 인식분야에서 통상적으로 사용되는 Convolutional Nerual Network(CNN)에 대해 알아보도록 하겠습니다. 💡 합성곱 신경망 소개 합성곱 신경망은 이미지 처리 성능이 좋은 인공 신경망 알고리즘 입니다. 합성곱 신경망은 이미지를 분석할 때, 3차원의 Tensor (Weight, Height, RGB)을 통해 표현이 되고, 각각의 픽셀을 하나의 변수로 간주하여 모델링을 하게 됩니다. 이를 기존의 인공 신경망(Neural Network)를 통해 학습한다면, Input Layer와 Hidden Layer의 너무 많은 가중치가 존재하므로, 학습하는데 어려움이 있습니..