프로메디우스 기술 블로그

비지도학습 기반 딥러닝 기술을 활용하여 의료 영상 재건부터 진단보조 솔루션을 개발하는 프로메디우스 Promedius 의 기술 블로그입니다.

[MRI basics] k-space 변화에 따른  이미지 변화 확인하기

[MRI basics] k-space 변화에 따른 이미지 변화 확인하기

1. k-space란? MRI 촬영 시 RF Pulse를 주고 난 다음 위상 부호화(phase-encoding) 경사자계(Gradient, G)의 크기를 각 단계별로 변화시키면 여러 위치 정보를 가지고 있는 신호를 얻을 수 있는데 이러한 data를 raw data라고 부른다. 여기에는 위치 정보와 대조도 정보를 함께 갖고 있으며 k-space는 한 개의 영상을 만들 수 있는

Transformer는 이렇게 말했다, "Attention is all you need."
transformer

Transformer는 이렇게 말했다, "Attention is all you need."

Transformer? 'Transformer'라는 말을 들었을 때 무엇이 연상되는가? 할리우드의 유명한 변신로봇 영화? 인공지능 번역 알고리즘? 구글에 따르면 여전히 전세계적으로 전자의 영화를 떠올리지만, 적어도 대한민국(과 일본)에서는 후자가 압도하고 있는 것으로 보인다. 그림1. 'Transformer movie'와 'Transformer attention'의 구글 트렌드 비교. 아직까지 전세계적으로는 영화가 압도적이지만 대한민국과 일본에서는 Transformer 알고리즘의 핵심 개념인 attention을

[Self-Supervised Learning] Review: Bootstrap Your Own Latent -A New Approach to Self-Supervised Learning
paper review

[Self-Supervised Learning] Review: Bootstrap Your Own Latent -A New Approach to Self-Supervised Learning

최근 Self-Supervised Learning 에 관한 연구가 활발해지면서 자연스럽게 Bootstrap Your Own Latent 에도 관심을 가지고 접하게 되었다. BYOL 이 발표되기 전 까지는 아마도 MoCo 나 SimCLR 정도가 좋은 성능을 내고 있었지만, supervised learning 과 더 가까운 수준의 top-1 classification accuracy 를 보여 주는 것은 BYOL 이라고 한다. Performance of BYOL

TorchIO를 이용한 3D Segmentation

TorchIO를 이용한 3D Segmentation

안녕하세요, 프로메디우스 ML팀 인턴사원 유환승입니다. 이번 포스팅에서는 Pytorch를 기반으로 한 TorchIO를 통해 간단하게 3D segmentation을 진행하는 튜토리얼을 진행해보려 합니다. 위의 Table은 3D U-Net : Learning Dense Volumentric Segmentation from Sparse Annotation에서 소개된 성능입니다. 2D segmentation에 비해서 상대적으로 3D를 통한 Segmentation 성능이 더 좋음을 확인할 수 있었습니다.저는 3D segmentation을 사용하기 쉽게

효율적인 Anomaly Detection 방법[f-AnoGAN vs MemAE]
이상 탐지

효율적인 Anomaly Detection 방법[f-AnoGAN vs MemAE]

Unsupervised Learning 방법으로 GAN을 이용한 Anomaly Detection 방법 중 Encoder을 이용한 f-AnoGAN 방법이 있습니다. 이 방법은 효율적으로 정상화 다른 결함 부분을 검출 하지만 미세한 결함은 제대로 검출하기 힘들다는 한계가 있습니다. 본 글에서는 f-AnoGAN의 특징과 그 단점에 대해 간략히 소개하고 그 해결책에 대한 내용을 간단하게 정리해보기 위한 글 입니다. 비교할 논문을

[Paper Review] A disentangled generative model for disease decomposition in chest X-rays via normal image synthesis_2편
논문리뷰

[Paper Review] A disentangled generative model for disease decomposition in chest X-rays via normal image synthesis_2편

Anomaly Detection에 어느정도 관련된 논문이며 DGM으로 abnormal CXR이 입력으로 들어오면 정상 이미지와 비정상 영역을 분리해서 질병,질환이 있는 부분을 검출하고 시각화 할 수 있는 방법을 보여주는 논문입니다. 1편에 이어지는 내용입니다. 따라서 1편을 먼저 읽고 오시는것을 추천드립니다. 1편 보러가기 Experiments Dataset 본 논문에서 사용한 데이터는 RSNA Kaggle pneumonia detection challenge에서 사용된

[Paper Review] A disentangled generative model for disease decomposition in chest X-rays via normal image synthesis_1편
논문리뷰

[Paper Review] A disentangled generative model for disease decomposition in chest X-rays via normal image synthesis_1편

Anomaly Detection에 어느정도 관련된 논문이며 DGM으로 abnormal CXR이 입력으로 들어오면 정상 이미지와 비정상 영역을 분리해서 질병,질환이 있는 부분을 검출하고 시각화 할 수 있는 방법을 보여주는 논문입니다. 2020년도 Medical Image Analysis에 publish된 논문이며 Impact Factor는 11.280입니다. Paper 원문: A disentangled generative model for disease decomposition in chest X-rays via

HTTP 응답 지연을 이용한 서버간 작업 동기화 실험

프로젝트를 진행하던 도중 새로운 요구사항이 들어왔습니다. 작업 처리량을 늘리기 위해 병렬로 구성된 서버에서 동작하도록 해주세요병렬로 구성된 서버에서의 동작이란 복수개의 프로세스를 의미하고 이제까지의 개발 경험에 따라 동기화 문제가 없을지 생각해 보게 됩니다. 아니나 다를까 동기화를 하지 않으면 심각하진 않지만 성능상의 문제가 있을 수 있음을 발견합니다. 일반적이라면 복수개의 프로세스에 대한 동기화를 위해

[GAN 시리즈][StyleGAN] A Style-Based Generator Architecture for Generative Adversarial Networks -2편
논문 리뷰

[GAN 시리즈][StyleGAN] A Style-Based Generator Architecture for Generative Adversarial Networks -2편

StyleGAN은 PGGAN 구조에서 Style transfer 개념을 적용하여 generator architetcture를 재구성 한 논문입니다. 그로 인하여 PGGAN에서 불가능 했던 style을 scale-specific control이 가능하게 되었습니다. Paper 원문: StyleGAN: A Style-Based Generator Architecture for Generative Adversarial Networks StyleGAN official code(Tensorflow): https://github.com/NVlabs/stylegan 본 포스팅은 StyleGAN 2편으로 StyleGAN 1편을 읽고 오시면

[GAN 시리즈][StyleGAN] A Style-Based Generator Architecture for Generative Adversarial Networks -1편
논문리뷰

[GAN 시리즈][StyleGAN] A Style-Based Generator Architecture for Generative Adversarial Networks -1편

StyleGAN은 PGGAN 구조에서 Style transfer 개념을 적용하여 generator architetcture를 재구성 한 논문입니다. 그로 인하여 PGGAN에서 불가능 했던 style을 scale-specific control이 가능하게 되었습니다. Paper 원문: StyleGAN: A Style-Based Generator Architecture for Generative Adversarial Networks StyleGAN official code(Tensorflow): https://github.com/NVlabs/stylegan 1. Abstract [제안한 네트워크] Style transfer 문헌에서 차용한

[F-AnoGAN] Fast Unsupervised Anomaly Detection with GAN
논문리뷰

[F-AnoGAN] Fast Unsupervised Anomaly Detection with GAN

GAN을 사용한 최초 Anomaly Detection 방법인 AnoGAN의 후속 모델로 Encoder 모델을 사용하여 더 빠르게 \( G(x)\)와 \( x\)를 matching 시켜 Anomaly Detection 하는 방법입니다. Paper 원문: f-AnoGAN: Fast unsupervised anomaly detection with generative adversarial networks f-AnoGAN tutorial code(Pytorch): https://github.com/mulkong/f-AnoGAN_with_Pytorch 1. Abstract [문제점]

[AnoGAN]Unsupervised Anomaly Detection with GAN
GAN

[AnoGAN]Unsupervised Anomaly Detection with GAN

기존 Anomaly Detection은 Supervised Learning으로 접근했지만 AnoGAN은 GAN을 이용한 Unsupervised Learning 방법으로 접근하여 Anomaly Detection하는 논문입니다. Paper 원문: [Unsupervised Anomaly Detection with Generative Adversarial Networks to Guide Marker Discovery] IntroductionGAN이란?GAN 학습 과정은 Discriminator가 Real/Fake를 잘 맞추도록 학습한 후 Generator가 생성한 Fake image가 Discriminator를 속여 Real이라고 말하게끔 하도록 하는

PyTorch 데이터로더 이해하기 - Part 2
PyTorch

PyTorch 데이터로더 이해하기 - Part 2

이전 Part 1 에서 PyTorch 를 활용하여 나만의 DataLoader 를 작성하는 가장 기본적인 방법들에 대해 알아 보았다면, 이번 포스트에서는 그것들을 응용한 나만의 DataLoader 를 커스터마이징한 사례에 대해 소개하고자 한다. SimCLR최근에 self-supervised learning 과 관련하여 몇가지 논문들이 주목받고 있는데, 2020년 상반기에 업로드된 SimCLR 이 다른 여러 self-supervised methods 가운데 좋은 성능을

PyTorch 데이터로더 이해하기 - Part 1
PyTorch

PyTorch 데이터로더 이해하기 - Part 1

PyTorch 를 업무에 활용하면서 다양한 종류의 데이터셋을 활용한 프로젝트를 많이 경험하고 있지만, 텐서플로우나 케라스에 비해 PyTorch 는 사용하는 사람이 많이 없어 의지할 구석이 그리 많지 않은 듯 하다. 몇몇 분들과 얘기를 하다보면 그 중에서도 꽤나 많은 비중을 차지하는 이슈가 바로 DataLoader 를 작성하는 부분에서 나오는 것 같다. 정형 데이터 같은

sagemaker

AWS 초보가 말하는 SageMaker

안녕하세요, 프로메디우스 인턴사원 간정현 입니다. 이번 포스팅에서는 AWS의 SageMaker 서비스를 소개하고 사용 후기를 공유하려고 합니다. AWS에서는 세이지메이커를 종합 관리형 머신러닝 서비스라고 소개합니다. 간단히 말해서 데이터의 제작과 전처리, 모델의 학습, 튜닝, 추론, 후처리, 배포 등의 전 과정을 쉽게 진행할 수 있도록 도와준다는 뜻입니다. 사실 제 능력이 모자라서 이 기능들을 전부 사용해보지는

cyclegan

CycleGAN을 이용한 X-ray 이미지 style transfer

목표 의료 영상은 사용자에 따라 선호하는 스타일이 있습니다. 그렇다보니 영상 데이터를 이용하는 경우 문제점이 발생합니다. 예를 들어 머신러닝을 진행할 때 영상 별 스타일 차이로 인해 학습이 제대로 이루어지지 않을 수 있습니다. 이러한 문제점을 해결하기 위해 CycleGAN을 이용하여 각 style domain 사이의 style transfer 작업을 해주는 모델을 만들고자 했습니다. style transfer가

tensorflow

TF 1에서 TF 2로 porting하기

인턴 기간 동안 진행했던 CycleGAN code porting을 진행하면서 배웠던 버전 간의 차이점과 tensorflow 2를 사용하면서 썼던 api들에 대해 설명하려고 합니다. 기존의 코드는 tensorflow 1.8 버전으로 작성되었고 프로젝트를 진행했던 시점에서 최신 버전인 2.2버전으로 수정하였습니다. 코드를 수정하면서 기능적으로 달라진 부분은 다음과 같습니다. Red CNN, WGAN VGG, Cyclegan, Cycle Identity 4종류의

yolo

가볍게 만나는 YOLO!

안녕하세요, 프로메디우스 인턴사원 간정현입니다. 이번 포스팅에서는 YOLO와 다크넷 프레임워크를 간단히 소개하고, 다크넷 사용 후기를 공유하려고 합니다. 부족한 글이지만 재밌게 봐주시면 감사하겠습니다! You Only Look Once 😎 Overview YOLO(You Only Look Once)는 빠른 추론 속도와 상당한 정확도를 자랑하는 오브젝트 디텍션 모델입니다. 오브젝트 디텍션은 객체의 위치와 크기를 예측하는 문제와 해당 객체의