DICOM Validator

시스템 개요

  • 효율적인 AI 영상 학습을 위해 도출된 데이터 표준안에 따라 입력된 DICOM 헤더의 유효성 판단
  • DICOM 파일로부터 DICOM 헤더 정보를 추출하고, 사전에 정의된 데이터 표준안(Modality: CT, MG, XRAY)에 따라 평가하여 점수 부여
  • 평가 기준은 각 DICOM 요소의 Optionality(Required, Recommended, Optional) 및 조건에 따라 다르게 적용


시스템 기능

  • 사용자가 웹 UI를 통해 자신의 DICOM 파일을 직접 업로드
  • 업로드된 DICOM 파일에 아래의 기능 적용
    • DICOM 헤더의 태그 중 비식별화가 필요한 태그에 대한 비식별화 기능 추가
    • 점수화(기존과 동일)
    • 점수 통계 기능 추가
    • DICOM 이미지 뷰어 기능 추가
    • 점수별 파일 다운로드 기능 추가


시스템 구성

DICOM VALIDATOR

  • DICOM 헤더 유효성 평가 기능을 제공하는 HTTP Server
  • GCP VM
  • FastAPI

UI SERVER

  • React


상세

로그인

  • 구글 OAuth를 통해 별도의 회원 가입없이 구글 계정으로 로그인할 수 있게 함.
  • 프로젝트 추적을 위해, 구글 계정 로그인 시 반환되는 이메일을 Key로 하는 User 테이블 관리

서비스

  • 본 서비스의 구조는 크게 Project와 Task로 나뉨

Project

  • DICOM 파일을 업로드하는 단위를 [Project] 로 정의함
  • 하나의 [Project]에는 1개 또는 다수의 DICOM 파일이 포함될 수 있음
  • [Project]를 생성한 사용자의 이메일, 생성 시각, 업로드한 파일의 정보를 포함하고 있음

Task

  • [Project] 생성 후 DICOM Insight의 기능을 수행하는 단위
  • 하나의 [Project]는 사용자 요구에 따라 다수의 [Task]를 가질 수 있음
    • 하나의 [Project] 생성 후 비식별화 기능을 수행하면, 해당 [Project]는 [De-Identification Task]를 가짐
    • 그 후 동일 [Project]에 대해 점수화 기능을 수행하면, 해당 [Project]는 [Scoring Task] 또한 가지게 됨


유효성 평가 절차

  • [Server] 데이터 표준안 로드 & 전처리
  • [Client] Dicom 파일과 함께 유효성 평가 요청
    • dcm 파일
    • 다수의 dcm 파일
    • *.zip 파일 처리
  • [Server] 데이터 표준안의 요소가 Dicom 헤더에 포함되어 있는지 검사
    • Dicom 헤더 탐색은 Tag를 key 값으로 하여 Hash 탐색
    • 포함되어 있다면 사전 정의된 점수(Required: 7, Recommended: 3, Optional: 1) 부여
  • [Server] 합산 점수와 통계 데이터를 JSON 포맷으로 반환


Task 이력

  • 사용자가 특정 [Project]에 수행한 [Task]는 [Project] 화면에서 요약하여 볼 수 있음
  • 이를 통해 사용자는 해당 [Project]에 수행한 [Task] 내역과 결과를 확인할 수 있음


다운로드

  • DICOM 파일의 점수화는 AI 모델 학습의 정확도를 높이는데 도움을 줌
  • AI 모델 학습에 사용하려면, 학습에 용이한 형태로 재배치된 후 다운로드되어야 함
  • 다운로드할 때의 필터링 기준은 다음과 같음
    • Modality: 특정 Modality에 속한 파일만 다운로드
    • Score: 특정 점수 이상의 파일만 다운로드
  • 이를 위해 다운로드 시 사용자가 필터링 기준을 선택할 수 있는 UI를 제공함
  • 예를 들어, 전체 파일에서 CT, XRAY만을 기준으로 87점 이상의 파일들만 다운로드 하고 싶다면, 아래와 같이 설정하면 됨

위와 같이 설정하면, 원하는 파일만 ZIP 파일로 압축된 형태로 다운로드할 수 있으며, ZIP 파일 내부 폴더 구조는 아래와 같음


통계

  • 사용자가 특정 [Project]에 [Scoring Task]를 수행하였다면, 해당 Task의 통계를 확인할 수 있음
  • 각 파일에 대한 점수 정보가 테이블 형태로 출력됨
  • [Detail] 항목을 선택하면, 누락 태그에 대한 상세 리스트를 출력함


Viewer

  • 사용자가 생성한 [Project]에 포함된 DICOM 파일에 대해 이미지를 추출하여 DICOM 헤더 정보와 함께 제공함


추가 기능

  • 이미지 학습을 위한 레이블링 기능 제공
  • Train, Validation, Test Set 비율을 설정하면 해당 비율로 나눠 다운받을 수 있도록 구현
  • Object Detection의 경우, 모델에 적용 가능한 형태의 Annotation을 생성하도록 구현
  • 이미지 학습 모델 제공
  • 학습 모델 다운로드 기능 제공