Semantic Segmentation
·
딥러닝/Vision
Semantic Segmentation  semantic segmentation은 위와 같이 이미지를 픽셀 단위로 분류하는 것을 말한다. 흔히 아는 자율 주행에도 이 기술이 들어갑니다.한 장의 화상에 포함된 여러 물체의 영역과 이름을 픽셀 수준에서 지정하는 작업을 시맨틱 분할(semantic segmentation)이라고 합니다. obejcet detection이 물체를 커다란 직사각형의 BBox로 묶었지만 시맨틱 분할에서는 픽셀 수준으로 어디에서 어디까지 어떠한 클래스 물체인지 라벨을 붙입니다. 제조업의 흠집 탐지, 의료 영상 진단의 병변 감지, 자율 운전의 주변 환경 파악 등에서 시맨틱 분할 기술을 사용합니다.이를 구현 하기 위해 Fully Convolutional Network(FCN)을 도입하게 ..
Mask R-CNN
·
딥러닝/Vision
R-CNN 계열 모델 소개 R-CNN은 CNN에 Region Proposal 을 추가하여 물체가 있을법한 곳을 제안하고, 그 구역에서 object detection을 하는 것이다. R-CNN 계열 모델은 R-CNN, Fast R-CNN, Faster R-CNN, Mask R-CNN 까지 총 4가지 종류가 있다. R-CNN은 분류 후 회귀, Fast R-CNN, Faster R-CNN은 분류와 회귀를 병렬로, Mask R-CNN은 여기에 Masking 까지 병렬로 수행 mask R-CNN 구조 BackBone 이미지의 feature 추출을 위해 사용 ResNet과 ResNeXt의 50, 101 layer과 FPN(Feature Pyramid Network)을 backbone으로 사용 FPN(Feature ..
Object Detection
·
딥러닝/Vision
object detction - SSD obejct detection 이란 한 장의 사진에 포함된 여러 물체에 대해 영역과 이름을 확인하는 작업입니다. 아래 이미지는 object detection의 결과입니다. 사람과 야구 방망이에 각각 테두리가 표시되어 있습니다. 물체의 위치를 나타내는 테두리를 bounding box라고 하고, 테두리의 왼쪽 상단에는 라벨명이 나오며 숫자가 함께 출력됩니다. 숫자는 해당 라벨의 정확도(신뢰도)를 의미합니다. SSD를 활용한 object detection의 순서는 다음과 같습니다. 해당 순서는 SSD300의 경우입니다. 300 x 300으로 이미지 resize 픽셀을 300 X 300으로 리사이즈하고 색 정보의 표준화 적용 디폴트 박스 8,732개 준비 다양한 크기 및 ..
CNN with pytorch
·
딥러닝/Vision
CNN CNN은 아래 사진 처럼 convolution 과정과 Pooling 과정을 반복 한후 Fully connected layer를 통해서 데이터를 출력 합니다. pytorch에서 conolution과 pooling 과정을 어떻게 적용하는지 알아보겠습니다. Convolution Layers pytorch에서는 Convolutoin연산을 위해 Conv2d를 많이 사용합니다. Conv2d의 파라미터에대해 알아 보겠습니다. Parameters in_channels (int) : input 이미지 채널 수 out_channels (int) : ouput 데이터의 채널 수 kernel_size (int or tuple) : kenrl의 사이즈 stride (int or tuple, optional) : Stri..
DistilBERT : 지식 증류BERT
·
딥러닝/NLP
지식 증류 기반 BERT 사전 학습된 BERT를 사용하는데 따르는 문제는 계산 비용이 많이 들고 제한된 리소스로 모델을 실행하기가 매우 어렵다는 것이다. 사전 학습된 BERT는 매개변수가 많고 추론에 시간이 오래 걸려 휴대폰과 같은 edge 디바이스에서 사용이 어렵다. 이러한 문제를 완하 하기 위해 사전 학습된 large bert에서 small bert로 지식을 이전하는 지식 증류를 사용할 수 있다.  지식 증류 란 ? 지식 증류란 사전 학습된 대형 모델의 동작을 재현하기 위해 소형 모델을 학습시키는 모델 압축 기술이다. teacher-student learning 이라고도 하는데, 사전 학습된 대형 모델은 교사이고 소형 모델은 학생이 된다. 문장의 다음 단어를 예측하기 위해 대형 모델을 사전 학습했다고..
SpanBERT
·
딥러닝/NLP
SpanBERT SpanBert는 텍스트 범위를 예측하는 질문-응답과 같은 태스크에 주로 사용된다. SpanBERT의 아키텍처를 통해서 어떠한 원리로 작동하는지 확인해보자. SpanBERT의 아키텍처 예제를 통해 SpanBERT의 아키텍처를 이해해 보자. sentence = 'you are expected to know the laws of your country' # sentence를 토큰화 tokens = [you, are, expected, to, know, the, laws, of, your, country] # SpanBERT에서는 토큰을 무작위로 마스킹하는 대신에, 다음과 같이 토큰의 연속 범위를 무작위로 마스킹함. tokens = [you, are, [MASK], [MASK], [MASK],..
ariz1623
코딩의 숲