Ai

👀 Computer_Vision

[CV] OpenCV로 Object Detection 구현하기 (Part.2)

OpenCV DNN 패키지를 이용하여 SSD기반 Object Detection 수행 Tensorflow 에서 Pretrained 된 모델 파일을 OpenCV에서 로드하여 이미지와 영상에 대한 Object Detection을 수행해보겠습니다.입력 이미지로 사용될 이미지 보기import cv2import matplotlib.pyplot as plt%matplotlib inlineimg = cv2.imread('../../data/image/beatles01.jpg')img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)print('image shape:', img.shape)plt.figure(figsize=(12, 12))plt.imshow(img_rgb)Tensorflow에서..

👀 Computer_Vision

[CV] OpenCV로 Object Detection 구현하기 (Part.1)

OpenCV DNN 장단점OpenCV Deep Neural Network의 장단점에 데하여 알아보겠습니다.OpenCV 라이브러리는 Intel에 의하여 최초 개발 되었습니다. 장단점을 설명해보겠습니다.OpenCV DNN 장점딥러닝 개발 프레임 워크 없이 쉽게 Inference를 구현 가능 합니다.OpenCV에서 지원하는 다양한 Computer Vision 처리 및 API와 Deep learning을 쉽게 결합할 수 있다는 특징이 있습니다.OpenCV DNN 단점GPU 지원 기능이 약합니다.DNN 모듈은 과거에 NVIDIA GPU 지원이 되지 않았습니다. 2019년 10월에 Google에서 NVIDIA GPU 지원 발표했지만. 아직 환경 구성/설치가 어렵습니다. 점차 개선 작업이 진행중입니다.OpenCV는 ..

📕 Natural_Language_Processing

[NLP] RNNLM - RNN을 사용한 Language Model

RNNLM (RNN을 사용한 Language (언어) 모델)이번에는 RNN을 사용하여 Language Model(언어 모델)을 구현해 보겠습니다.그 전에 먼저 사용되는 Neural Network(신경망)을 한번 보고 시작해보겠습니다.왼쪽은 RNNLM의 계층 구성이고, 오른쪽에는 이를 시간축으로 펼친 Neural Network(신경망)입니다.그림의 Embedding Layer(계층)은 단어 ID의 분산 표현 (단어 Vector)로 변환됩니다.그리고 그 분산 표현이 RNN Layer(RNN 계층)로 입력됩니다.RNN 계층은 Hidden State(은닉 상태)를 다음 Layer(층)으로 출력함과 동시에, 다음 시각의 RNN 계층(오른쪽)으로 출력됩니다.그리고 RNN 계층이 위로 출력한 Hidden State(..

👀 Computer_Vision

[CV] Fast R-CNN (Fast Region-based Convolutional Neural Network)

Fast R-CNN 개요 FAST R-CNN은 R-CNN (Region-based Convolutional Neural Network)과 SPP-Net (Spatial Pyramid Pooling Network)의 단점을 보완하고, 객체 탐지의 속도와 정확성을 크게 개선한 모델입니다 Fast R-CNN은 이러한 요소로 구성되어 있습니다.입력 이미지: 원본 이미지와 Region Proposal이 입력됩니다.공통 CNN: 이미지에서 Feature Map(특징 맵)을 추출합니다.RoI Pooling Layer: 각 Region Proposal을 고정된 크기의 *Feature Map(특징 맵)으로 변환합니다.완전 연결 층: 고정된 크기의 *Feature Map(특징 맵)을 입력으로 받아 Classificatio..

👀 Computer_Vision

[CV] SPPNet - Spatial Pyramid Pooling Net

SPPNet - Spatial Pyramid Pooling Net이번에는 SPPNet - Spatial Pyramid Pooling Net에 데하여 알아보고 왜 SPPNet이 등장했는지 한번 알아 보겠습니다. RCNN 주요 문제점그전에 RCNN의 주요 문제점에 데하여 한번 알아보겠습니다.일단, CNN은 2,000개의 Region 영역 이미지가 CNN으로 입력 되면서 Object Detection 수행시간이 오래 걸립니다.이유는 위의 그림을 보면 알 수 있듯이 2,000개의 Region 영역이 Proposal 되어야 합니다.그러면 Feature Map이 2,000개가 만들어 저야 합니다. 이로 인해서 먾은 연산이 필요하며 처리 시간이 길어집니다.또한 Region 영역 이미지가 고정된 크기로 Crop / W..

📕 Natural_Language_Processing

[NLP] BPTT (Backpropagation Through Time)

BPTT (Backpropagation Through Time)BPTT(Backpropagation Through Time)는 순환 신경망(RNN, Recurrent Neural Network)의 학습을 위해 사용되는 Backpropagation(역전파) 알고리즘의 확장 버전입니다.여기서의 Backpropagation(오차역전파법)은?'시간 방향으로 펼친 신경망의 오차역전파법' 이란 뜻으로 BPTT(Backpropagation Through Time)이라고 합니다.이 BPTT를 사용하면 RNN을 학습할 수 있습니다. RNN에 관한 개념은 아래의 글에 적어놓았으니 참고해 주시면 될거 같습니다. [DL] RNN (Recurrent Netural Network) - 순환신경망1. RNN 이란?RNN은 Sequ..

📕 Natural_Language_Processing

[NLP] 추론 기반 기법 & Neural Network (신경망)

이번 글에서는 추론 기반 기법과 Neural Network(신경망)에 데하여 한번 알아 보겠습니다. 통계 기반 기법의 문제점단어를 Vector로 표현하는 방법은 최근에는 크게 두 부류로 나눌 수 있습니다. '통계 기반 기법'과 '추론 기반 기법' 입니다.두 방법이 단어의 의미를 얻는 방식은 서로 다르지만, 그 배경에는 모두 분포 가설이 있습니다.통계 기반 기법에서는 주변 반어의 빈도를 기초로 단어를 표현 했습니다.구체적으로는 단어의 Co-Occurance Matrix(동시 발생 행렬)을 만들고 그 행렬에 특잇값분해(Singular Value Decomposition, SVD)를 적용하여 밀집벡터를 얻습니다.그러나, 이 방식은 대규모 Corpus(말뭉치)를 다룰 때 문제가 발생합니다. 일단, 통계 기반 기..

👀 Computer_Vision

[CV] Object Detection Network 구조, R-CNN 개요

이번 글에서는 Object Detection Network 구조 개요, FPS, Resolution과 성능 상관 관계, R-CNN 에 데하여 알아 보겠습니다. Object Detection Network 개요Object Detetction Network 구조는 두 부분으로 나눌 수 있습니다:특징 추출 네트워크(Feature Extractor Network)와 객체 탐지 네트워크(Object Detection Network)입니다.두 네트워크는 일반적으로 사전 학습된 모델을 사용하여 특정 작업에 맞게 미세 조정됩니다. Feature Extractor Network (특징 추출 네트워크)입력 이미지에서 유용한 특징을 추출합니다.VGG, ResNet, Inception 등과 같은 모델을 사용하며, 보통 Ima..

👀 Computer_Vision

[CV] Object Detection & Segmentation을 위한 패키지 & CUDA 소개

Object Detection & Segmentation을 위한 다양한 패키지들Object Detection & Segmentation을 위한 다양한 패키지들이 있습니다.Keras와 Tensorflow 기반의 다양한 오픈소스 패키지들쉬운 활용과 Customization 가능한 장점이 있습니다.다만 Object Detection 알고리즘 별로 서로 다른 패키지들을 적용해야 하는 단점이 있습니다.OpenCV 의 DNN(Deep Neural Network) 모듈간편하게 Object Detection Inference가 가능합니다.다만 학습이 불가능하며 주로 CPU 위주로 GPU 활용이 어렵다는 점이 있습니다.Tensorflow Object Detection API가장 많은 Detection 알고리즘에 적용이 ..

🖥️ Deep_Learning (Basic)

[DL] Transfer Learning - 전이 학습

Transfer Learning, 즉 전이 학습은 ML(머신 러닝)과 DL(딥러닝)에서 기존의 Pre-Training 된 모델을 새로운 작업에 재사용하는 기법입니다. 이 방법은 특히 대규모 데이터셋에서 학습된 모델을 작은 데이터셋에 적용할 때 유용합니다.전이 학습은 모델이 사전 학습한 지식을 새로운 문제에 적용하여 학습 속도를 높이고 성능을 향상시킬 수 있습니다.Transfer Learning (전이 학습)기존의 Neural Network(신경망)에서 최상위 부분을 새로 정의한 다음, 이 부분을 Training 시키는 것이 Transfer Learning (전이 학습) 이라고 합니다.이때 Neural Network(신경망)의 하위 부분은 이미 Training된 Neural Network(신경망)을 사용하..

Bigbread1129
'Ai' 태그의 글 목록