# segmentation

UNet 논문 리뷰
이 논문은 모델 구조 등만 간단히 파악하는 정도로만 읽을거다. https://arxiv.org/abs/1505.04597 U-Net: Convolutional Networks for Biomedical Image Segmentation Abstract Data augmentation에 기반한 학습 전략 및 네트워크 제시 매우 적은 이미지로 end to end로 학습시킴으로써 ISBI challenge(segmentation of neuronal structure in electron microsopic stacks)에서 이전 방법보다 좋은 성능 보임 Introduction (이때 시점 기준) CNN은 보통 classification task에 많이 사용되었으나, biomedical image processing 시에는 output이 localization 결과를 포함하고 있어야 할 필요성 존재 즉, class label이 픽셀 하나하

Segmentation Dataset 활용 및 전처리 (ISBI 2012 EM segmentation)
https://89douner.tistory.com/298 https://www.youtube.com/watch?v=fWmRYmjF-Xw&t=100s 위 자료를 참고했다. 한동안은 위 유튜브 영상들의 과정을 따라가면서 공부할듯! 사용 데이터셋 ISBI 2012 EM segmentation Challenge (membrane 데이터셋) 위 데이터셋은 규모가 작아 github에 업로드 되어있다. 데이터셋 다운로드 https://github.com/alexklibisz/isbi-2012 위 깃헙에서 zip 파일로 다운받아 data 폴더 내 파일들을 사용하면 된다. data 폴더 내부에 위와 같은 파일 세 개가 존재한다. train-volume.tif t

[Point Review] Look at the Neighbor: Distortion-aware Unsupervised Domain Adaptation for Panoramic Semantic Segmentation
ERP의 위도에 따라 distance가 달라져 왜곡이 발생함을 활용해 local한 영역에만 집중하는 distortion-aware attention(DA)를 제안 Class-wise Feature Aggregation0(CFA) module을 통해 pseudo label을 feature space 상에서 soften하고 class별 feature center를 반복적으로 업데이트하여 domain adaptation이 용이하도록 만듦

[논문] CenterMask : Real-Time Anchor-Free Instance Segmentation
이번에 리뷰할 논문은 지난 VoVNet V1에 이는 VovNet V2 입니다. VoVNet은 한국의 ETRI에서 낸 논문이자 CVPR 2020에 등재된 논문인데요! 두 논문 모두 CVPR에 등재됐다니 멋있습니다. 😍 그리고 Abstract의 마지막 문장에 "We hope that CenterMask and VoVNetV2 can serve as a solid baseline of real-time instance segmentation and backbone network for various vision tasks, respectively"라고 쓰셨는데, 저도 응원합니다! > https://arxiv.org/pdf/1911.06667v
[OS] 세그멘테이션
세그멘테이션 프로세스를 물리 메모리에 재배치하는 방법으로는 베이스/바운드 레지스터를 사용하는 방법이 있다. 이 방법에는 단점이 있는데, 스택과 힙 사이에 사용되지 않는 공간이 크다는 것이다. 즉, 메모리 낭비가 심하고, 유연성이 없다는 단점이 존재한다. > 핵심질문: 대용량 주소 공간을 어떻게 지원하는가 스택과 힙 사이에 잠재적으로 큰 빈 영역이 존재하는 주소공간을 어떻게 지원해야 할까? 1. 세그멘테이션: 베이스/바운드의 일반화 세그멘테이션(segmentation): MMU 안의 세그먼트마다 베이스와 바운드 쌍이 존재하도록 논리 주소공간을 설계한 것 운영체제는 각 세그먼트를 물리 메모리의 각기 다른 위치에 배치 가능 사용되지 않는 가상주소 공간이 물리 메모리를 차지하는 것을 방지 기존의 베이스/바운드 방식 
UNet(2015) 논문 리뷰
이 페이지는 Image Segmentaion에 관련된 UNet(2015)에 관한 내용입니다. 1. UNet 특징 이전의 모델들은 모델의 크기에 비해 학습 데이터가 적어서 성능 향상은 이루어지지만 어느정도 제한이 있었습니다. 기존의 Segmenation 방식은 다음과 같은 두 가지 취약점이 있습니다. patch별로 연산을 하니까 연산 속도가 매우 느리며 서로 중복된 영역을 가지는 patch가 많아 중복된 예측 결과 발생 localization accuracy와 use of context 사이에 존재하는 trade-off 발생 patch의 크기가 크면 더 많은 max-pooling layer를 요구하여 localization accuracy가 떨어지고 patch의 크기가 작으면 litte context만 알 수 있다고 합니다. 2. 구조 UNET 은 다음과 같은

[논문 리뷰] Weakly Supervised Learning of Instance Segmentation with Inter-pixel Relations(IRNet)
Abstract 본 논문은 image-level class label에 대한 instance segmentation task에 대한 새로운 approach를 제시한다. 이 모델은 pseudo intsance segmentation label을 생성하고, 이 label로 Fully supervised segmentation을 진행하는 구조로 이루어져 있다. Generating pseudo label object의 confident seed area를 image classification model의 attention map을 뽑아낸 후에 object의 entire area를 찾아낼 때까지 propagate한다. IRNet은 각 instance에 대한 rough area를 찾아내고, 서로 다른 class 사이의 boundary를 찾아낸다. 또한, IRNet은 attention map에서 주변 pixel과의 관

[Torchio]-3D Segmentation
Torchio? Torchio는 Pytorch를 기반으로 구현되어 있으며, 3D Segmentation 특히 의료 분야의 데이터를 분석하기 용이한 오픈소스 라이브러리입니다. 이번 포스팅에서는 Torchio 내에서 3D 데이터를 로드하고 모델에 입력해 주는 과정을 담당하는 DataStructures, 다양한 기법으로 데이터를 전처리 및 증강 해주는 Transform, 큰 용량의 3D 데이터를 효과적으로 학습하게 해주는 Patch-Based Pipeline 부분을 소개해 드리고자 합니다. torchio를 활용해 3D segmentation을 직접 진행할 필요가 있으시다면, 아래 글을 읽고 torchio에서 제공해 주는 공식 튜토리얼을 학습해 보는 걸 추천드립니다.🤠 (Torchio 공식 tutorial : Getting started) DataSt

Layer UNET
본 페이지에서는 제가 구축한 Layer UNet의 등장배경과 특징에 대해서 말하고자 합니다. 1. UNet 이전의 Segmentation 작업 기존에 Segmentation 모델은 다양하지만 대표적인 예로 FCN 모델을 예로 들면 다음과 같다. 기존의 FCN 모델은 객체의 특징을 찾아낸 다음 Transposed Convolution 연산과 upsample을 통해 원본 이미지로 키우고 각 픽셀에 해당하는 클래스에 맞는 색상을 입히는 형태이다. 이와 같은 문제점은 원본 이미지의 크기로 키우는 과정에서 위치와 경계같은 정보에 대한 손실이발생하게 되고 부정확한 Segmentation을 하게 된다. 이러한 점을 해결한 것이 바로 UNet이다.  논문 리뷰
본 페이지에서는 UNet++: A Nested U-Net Architecture for Medical Image Segmentation논문에 대해서 말하고자 합니다. 1. UNET++의 특징 UNet++는 각 네트워크가 Dense하게 연결되어 있는 skip connection을 가지고 있다. 이러한 구조가 encoder와 decoder 사이의 의미론적 차이를 줄일 수 있게 하였다. 본 논문에서는 encoder와 decoder 사이에 의미론적 차이가 적을 수록 학습이 더 잘된다고 주장한다. 그리고 Deep supervision을 사용하여 좋은 성능을 냈음을 mIoU를 사용해 증명했다. 기존의 네트워크들의 공통점은 encoder와 decoder 사이에 의미론적 차이가 줄어들게 하는 skip connection을 사용한 것이다. 또한 기존의 네트워크들은 성능을 만족할만큼 올렸지만 의료 이미지에 사
UNET 논문 리뷰
본 페이지에서는 U-Net: Convolutional Networks for Biomedical Image Segmentation 논문에 대해서 말하고자 합니다. 1. UNET 특징 이전의 모델들은 모델의 크기에 비해 학습 데이터가 적어서 성능 향상은 이루어지지만 어느정도 제한이 있었다. 또한 기존의 Segmenation 방식은 두가지 취약점이 있는데 첫번째로 patch를 분리해서 실행되고 patch가 겹치면서 중복이 너무 많아 모델이 너무 느리다는 것이고 두번째로 패치가 오직 적은 부분의 context 정보 만을 보기 때문에 context 정보의 사용과 위치정보의 정확성 사이의 trade off가 있다는 것이다. UNET 은 다음과 같은 두 구조로 나뉘는데 
[논문 리뷰] Learning Pixel-level Semantic Affinity with Image-level Supervision for Weakly Supervised Semantic Segmentation
Abstract WSSS에서 local discriminative part는 잘 segment 하지만, entire object area에 대해서는 잘하지 못한다. AffinityNet은 local response를 nearby area로 propagate 시켜서 semantic entity를 얻는다. AffinityNet은 이러한 인접한 image coordinate pair 사이의 semantic affinity를 예측한다. 이러한 semantic propagation은 AffinityNet으로 부터 예측된 random walk로 구현된다. AffinityNet은 image-level class label만 필요로 하고, 그 외의 다른 데이터나 annotation은 필요로 하지 않는다. Introduction Image-level의 WSSS에서는 추가적인 evidence를 이용해서 segmentation을 수행하는데, 이는 주로 CAM(Clas

DeepLab
Atrous convolution DeepLab v1에서 적용한 기법으로 기존의 convolution과 달리 필터 내부에 빈 공간을 둔채로 convolution을 진행하는 방법이다. 이러한 Atrous convolution을 통해 기존 convolution과 동일한 양의 파라미터와 computation cost를 유지하면서 field of view를 크게 가져갈 수 있다. Semantic segmentation에서 높은 성능을 내기 위해서는 receptive field의 크기가 중요하게 작용한다. 이러한 방법을 통해 convolution과 pooling과정에서 디테일한 정보가 줄어들고 특성이 점점 추상화되는 것을 어느정도 방지할 수 있기 때문에 DeepLab에

[논문 리뷰] Adversarial Erasing
CAM WSSS에서 원하는 객체의 부분을 얻어내기 위해 Classification Network를 사용하였다. pixel-wise inference를 하기에는 small and sparse하게 객체의 부분을 얻는다는 문제가 있다. AE CAM에서 부족하게 얻어진 객체의 영역을 보완하기 위해 이 논문에서 제안된 방법 CAM을 통해 얻어진 객체 부분을 Adversarial 방식으로 지움으로써 작동 하나의 작은 객체 부분을 시작으로 점차저긍로 새롭고 보완적인 객체영역들을 찾아낸다. 최종적으로 이러한 localized regions는 semantic segmentation을 학습하기 위한 완전한 객체 영역이 된다. PSL(Prohibitive Segmentatio

FCN
FCN 이란? 최초의 딥러닝 기반 segmentation 모델 이전에도 딥러닝을 사용한 segmentation 모델이 있긴 했지만, 현재 대부분의 segmentation 모델들이 FCN을 베이스로 하기 때문에 FCN을 최초의 딥러닝 기반 segmentation 모델이라 간주한다. Convolutionalization 기존 Image Classification 모델들은 기본적으로 내부 구조와 관계없이 목적인 classificaiton을 수행하기 위해 출력층이 Fully-connected layer로 구성되어 있다. 하지만 Semantic segmentation에서는 이러한 FC layer가 한계점을 가진다. 이미지 위치 정보가 사라진다. 입력 이미지 크기가 고정된다. segmentation의 목적은 원본 이비지의 각 픽셀에 대해 클래스를 구분하고 인스턴스 및 배경을 분할하는 것이므로, 위치 정

[논문 리뷰] Railroad is not a Train: Saliency as Pseudo-pixel Supervision for Weakly Supervised Semantic Segmentation(EPS)
Abstract Image-level weak supervision을 사용하는 WSSS는 몇가지 한계점이 존재한다. sparse object coverage inaccurate object boundary co-occuring pixels from non-target objects ⇒ 이러한 문제점들을 해결하기 위해 EPS를 제안한다. EPS는 two weak supervision을 합쳐서 pixel-level feedback을 얻는다. localization map saliency map Joint training strategy로 localization map과 saliency map으로부터 오는 정보들의 complementary relationship을 이용한다. Introduction WSSS는 weak supervision을 이용해서 fully-supervised m

Deeplab v3 turf datasets 훈련2
데이터 구축에 DALL$\cdot$E 2 도입 Labeling Roboflow를 이용한 데이터 labeling <img src="https://velog.vel

[논문리뷰] U-Net
U-Net : Convolutional Networks for Biomedical Image Segmentation 해당 논문에서는 데이터 증강을 사용하여 주어진 의료 이미지를 효과적으로 학습시키는 네트워크와 학습 전략을 고안하였다. 네트워크의 구조는 context를 처리하기 위한 constracting path와 정확한 localization이 가능하도록 하는 대칭된 expanding path로 구성되어있다. 또한 그 사이의 skip connection 역시 존재한다. 논문에서는 neuronal sturcture에 대한 segmentation task에서, 해당 네트워크를 사용하여 적은 수의 이미지로도 효과적이고 강력한, 심지어 빠른 end to end learning을 할 수 있음을 보인다. Segmentation 최근 다양한 CNN 모델들이 등장하였고 좋은 성능을 내고 있는데, CNN은 일반적으로 classification task에 쓰이고 있다.

Panoptic driving Perception
HybridNets CPU A6000 torch==2.0.1 torchvision==0.15.2 timm==0.6.7 GPU result fps 6.216 YOLOPv2 CPU result fps 5.8 <img src="https://velog.velcdn.com/images/everglow83/post/b4bd0b3c-8b0f-47c9-af1d-b1ec9eb358aa/image.png" a