DICOM (Digital Imaging and Communications in Medicine) er et bildeformat som inneholder visualiseringer av røntgenstråler og MR samt eventuelle tilknyttede metadata. DICOM er standarden for medisinske fagpersoner og helsepersonell for visualisering og tolking av røntgenstråler og MR. Hensikten med dette innlegget er å løse to problemer:
- Visualiser og merk DICOM-bilder ved hjelp av en tilpasset arbeidsflyt for datamerking Amazon SageMaker Ground Truth, en fullstendig administrert datamerkingstjeneste som støtter innebygde eller egendefinerte arbeidsmerker for datamerking
- Utvikle en DenseNet-bildeklassifiseringsmodell ved hjelp av MONAI rammeverk på Amazon SageMaker, en omfattende og fullt administrert datavitenskapplattform med spesialbygde verktøy for å forberede, bygge, trene og distribuere maskinlæringsmodeller (ML) i skyen
For dette innlegget bruker vi et bryst X-Ray DICOM bilder datasett fra MIMIC røntgenstråler (MIMIC-CXR) Database, en offentlig tilgjengelig database med røntgenbilder av brystet i DICOM-format og tilhørende radiologirapporter som fritekstfiler. For å få tilgang til filene, må du være en Registrert bruker og signere avtalen for databruk.
Vi merker bildene gjennom Ground Truth private arbeidsstyrke. AWS kan også tilby profesjonelt administrerte arbeidsstyrker med erfaring med å merke medisinske bilder.
Løsningsoversikt
Følgende diagram viser arbeidsflyten på høyt nivå med følgende nøkkelkomponenter:
- DICOM-bildene lagres i tredjepart bilde arkivering og kommunikasjonssystem (PACS) eller Leverandør nøytralt arkiv (VNA), og hentet gjennom DICOMwebTM.
- An input manifest.json-fil lastes opp til Amazon enkel lagringstjeneste (Amazon S3). Filen inneholder DICOM-forekomst-ID som datakilde og potensielle etiketter som brukes av kommentatorer når de utfører merkingsjobber.
- To AWS Lambda funksjoner er avgjørende for å skape merkingsjobber på bakken sannhet:
- A HTML-mal med Crowd-elementer for å sende inn merkingsjobber og behandle utgangsobjektet. Deretter lagres utdataene fra merkingsjobber i en utdataetikett S3-bøtte.
- A SageMaker-notatbok kan hente utdataene fra merkingsjobber og bruke dem til å trene en overvåket ML-modell.
Vi har bygget en HTML-mal som du kan bruke til å klassifisere røntgen DICOM-bilder i brystet i en eller flere kategorier, av 13 mulige akutte og kroniske kardiopulmonale tilstander. HTML-malen bygget på toppen av hjørnestein.js støtter DICOM-bildegjenfinning og interaktiv visualisering, pluss flere kommentarer og generelle Hjørnesteinverktøy som et eksempel.
I de neste avsnittene går vi gjennom å bygge DICOM arbeidsflyt for datamerking og utføre ML-modellopplæring ved å bruke utdata fra merkingsjobber.
Distribuere en tredjeparts PACS på AWS
Vi bruker Orthanc som en åpen kildekode, lett PACS for dette innlegget, der PACS eller VNA som støtter DICOMwebTM kan bli brukt. Du kan distribuere Orthanc for Docker container på AWS ved å lansere følgende AWS skyformasjon stable:
Fyll ut nødvendig informasjon under distribusjonen, inkludert Amazon Elastic Compute Cloud (Amazon EC2) nøkkelpar for å få tilgang til hosting EC2-forekomsten og nettverksinfrastrukturen (VPC og undernett). En NGINX-server er lagt til i containeren til proxy HTTPS-trafikken til Orthanc-serveren i port 8042, som også legger til Access-Control-Allow-Origin-overskrifter for deling av ressurser på tvers av opprinnelse (CORS). Orthanc-containeren er distribuert på Amazon Elastic Container Service (Amazon ECS) og koblet til en Amazonas Aurora PostgreSQL-database.
Etter at CloudFormation-stakken er opprettet, må du merke Orthanc-endepunkt-URL-en på Utganger fanen.
Opprett Lambda-funksjonene, S3-bøtte og SageMaker-notatbokforekomst
Følgende CloudFormation-stabel oppretter de nødvendige Lambda-funksjonene med passende AWS identitets- og tilgangsadministrasjon (JEG ER) roller, S3 bøtte for inndata og utdatafiler, og SageMaker notatbokforekomst med eksempel på Jupyter-notatbok:
For parameteren PreLabelLambdaSourceEndpointURL
, skriv inn Orthanc-endepunkt-URL fra forrige trinn, som forhåndsmerkingsoppgaven Lambda-funksjonen bruker for å generere WADO-URI for en gitt DICOM-forekomst-ID. Vi anbefaler at du lager en bærbar forekomsttype ml.m5.xlarge for å utføre ML-modelleringen etter bildekommentarer.
Etter stabledistribusjonen, merk deg utgangene, inkludert SMGTLabelingExecutionRole
og SageMakerAnnotationS3Bucket
verdier.
IAM-rollen SMGTLabelingExecutionRole
brukes til å lage Ground Truth-merkingsjobben. For mer informasjon om å legge til disse retningslinjene, samt en trinnvis veiledning om hvordan du kjører Ground Truth-merkejobben etter lansering av CloudFormation-stakken, se Bygg en tilpasset arbeidsmerking for datamerking med Amazon SageMaker Ground Truth.
Last opp DICOM-bilder og forbered inputmanifestet
Du kan laste opp DICOM-bildene til Orthanc-serveren enten via nettgrensesnittet eller WADO-RS REST API. Etter at DICOM-bildene er lastet opp, kan du hente DICOM-forekomst-ID-ene for dem, og generere en manifestfil med forekomst-ID-ene. Hvert JSON-objekt atskilt med et standard linjeskift i manifestfilen representerer en inngangsoppgave sendt til arbeidsstyrken for merking. Dataobjektet i dette tilfellet inneholder forekomst-ID og metadata for de potensielle etikettene, som er 13 mulige sykdommer angitt av bildet. Forutsatt at en DICOM-forekomst-ID er 502b0a4b-5cb43965-7f092716-bd6fe6d6-4f7fc3ce
, tilsvarer JSON-objektet i manifestfilen slik:
Etter at manifest.json-filen er kompilert, kan du laste den opp til S3-bøtta opprettet tidligere: SageMakerAnnotationS3Bucket
.
Bygg en egendefinert datamerkingsjobb:
Du skal nå kunne lage en tilpasset merkingsjobb på bakken sannhet:
- Opprett et privat arbeidsteam og legg til medlemmer i teamet.
Arbeiderne mottar en e-post med merkeportalens påloggings-URL, som også er tilgjengelig på Amazon SageMaker-konsollen.
AWS kan også tilby medisinske billedeksperter for å merke dataene dine. Kontakt AWS-teamet ditt for mer informasjon.
- Spesifiser stedene for inn- og utdata ved hjelp av
SageMakerAnnotationS3Bucket
bøtte opprettet tidligere. - Spesifiser
SMGTLabelingExecutionRole
som IAM-rolle for merkejobben. - Til Oppgavekategori, velg Custom.
- Skriv inn innholdet i væske.html i Tilpasset mal tekstfelt.
- Konfigurer
gt-prelabel-task-lambda
oggt-postlabel-task-lambda
funksjoner opprettet tidligere. - Velg Opprett.
- Når du har konfigurert den tilpassede merkingsoppgaven, velger du Forhåndsvisning.
Følgende video viser vår forhåndsvisning.
Hvis du opprettet en privat arbeidsstyrke, kan du gå til Merking av arbeidsstyrker kategorien og finn linken til merknadskonsollen.
Du kan komme i gang med en grunnleggende HTML-mal, eller endre prøve grensesnittoppgavens brukergrensesnitt for bilde-, tekst- og lyddatamerkingsjobber. De grunnleggende byggesteinene for den tilpassede malen er Crowd HTML-elementer. De mengden-form og mengdeknapp er avgjørende for å sende inn kommentarene til jordens sannhet. I tillegg trenger du Flytende objekter i malen for jobbautomatisering, spesielt oppgavens inputobjekt som er lest inn av forhåndsmerkingen Lambda-funksjonen:
Vi bruker Hjørnesteins JavaScript-bibliotek å bygge merkingsgrensesnittet som viser et DICOM-bilde i moderne nettlesere som støtter HTML5-lerretelementet, og bruke hjørnesteinverktøyene til å støtte interaksjoner og aktivere regioner av interesse (ROI) -kommentarer i forskjellige former. I tillegg bruker vi Hjørnestein WADO Image Loader å hente Nettilgang til DICOM Objects (WADO) URI via DICOMwebTM plugg inn på en ekstern Orthanc-server.
Følgende to funksjoner er viktige for å hente og vise DICOM-bildet:
- Last nedAndView () - Legger til
wadouri:
til begynnelsen av URL-en slik atcornerstone.js
filen kan finne bildelaster - loadAndViewImage () - Bruker hjørnesteinsbiblioteket til å vise bildet og tillater tilleggsfunksjoner som zoom, panorering og ROI-kommentar
Du bør kunne kommentere ethvert DICOM-bilde ved å bruke følgende tilpasset HTML-mal, som viser mulige etiketter som flere valg for bildeklassifiseringsoppgaven.
Bygg en ML-modell ved hjelp av MONAI-rammeverket
Nå som vi har et merket datasett i form av output-manifest.json-filen, kan vi starte ML-modellbyggingsprosessen. Vi opprettet en SageMaker-notatbokforekomst tidligere gjennom stabeldistribusjonen vår. Alternativt kan du opprett en ny forekomst for notisbok. De MONAI bibliotek og andre tilleggspakker administreres i krav.txt, som er i samme mappe i treningsskriptet.
Datainnlasting og forbehandling
Etter at du har åpnet Jupyter-notatboken, laster du inn output-manifest.json
fil som har DICOM URL-er og etiketter.
Følgende eksempel fra dicom_training.ipynb
analyserer merket datasett fra output-manifest.json
:
Nå som vi har DICOM-nettadressene image_url_list
og tilsvarende etiketter i image_label_list
, kan vi laste ned DICOM-filene fra Orthanc DICOM-serveren direkte til Amazon S3 for SageMaker-opplæring:
Etter at du har lastet bildene til S3-bøtta, kan du vise et eksempel på bildene med etiketter fra den analyserte JSON-filen ved hjelp av MONAI-rammeverket:
Følgende bilder viser et eksempel på DICOM-bilder med etiketter.
Vi bruker MONAI-transformasjonene under modellopplæring for å laste DICOM-filene direkte og behandle dem på forhånd. MONAI har transformasjoner som støtter både ordbok- og matriseformater, og er spesialisert for høydimensjonaliteten til DICOM medisinske bilder. Transformene inkluderer flere kategorier som beskjæring og pad, intensitet, I / O, etterbehandling, romlig og verktøy. I følgende utdrag kjeder Compose-klassen en serie bilder som forvandles sammen og returnerer en enkelt tensor av bildet:
Modelltrening
MONAI inkluderer dype nevrale nettverk som UNet, DenseNet, GAN og andre, og gir glidende vindusledninger for store medisinske bildevolumer. I DICOM-bildeklassifiseringsmodellen trener vi MONAI DenseNet-modellen på DICOM-bilder lastet og transformert ved hjelp av DataLoader
klasse i de forrige trinnene i 10 epoker mens man måler tap. Se følgende kode:
Følgende eksempel viser hvordan du bruker SageMaker Python SDK i en Jupyter-notatbok for å starte en treningsjobb og kjøre DICOM-modellopplæringsskriptet:
Når du ringer til fit
metoden i dette eksemplet, starter den treningsinstansen med en beregningsstørrelse basert på instance_type
parameter, instantierer den innebygde PyTorch deep learning container, installerer de MONAI-avhengige pakkene som finnes i krav.txt, og kjører treningsskriptet det refereres til av entry_point=’monai_dicom.py’
parameter.
For mer informasjon om hvordan du bruker MONAI-rammeverket i SageMaker til å bygge og distribuere dine medisinske bildemodeller, se Bygg en medisinsk bildeanalyserørledning på Amazon SageMaker ved hjelp av MONAI-rammeverket. Hvis du vil lære om andre tilpassede arbeidsmerker for datamerking, se Bygg en tilpasset arbeidsmerking for datamerking med Amazon SageMaker Ground Truth.
konklusjonen
Dette innlegget viste hvordan du lager en DICOM-arbeidsflyt for merking med Ground Truth. I tillegg viste vi deg hvordan du tar utdata-manifestfilen generert fra merkingsarbeidsflyten din og bruker den som et merket datasett for å bygge en DenseNet-bildeklassifiseringsmodell ved hjelp av MONAI-rammeverket.
Hvis du har noen kommentarer eller spørsmål om dette innlegget, kan du bruke kommentarfeltet. For å finne den siste utviklingen av denne løsningen, sjekk ut GitHub repo.
Om forfatterne
Nihir Chadderwala er en AI / ML-løsningsarkitekt i Global Healthcare and Life Sciences team. Hans bakgrunn er å bygge big data og AI-drevne løsninger på kundeproblemer på en rekke domener som programvare, media, bilindustri og helsetjenester. På fritiden liker han å spille tennis, og se og lese om Cosmos.
Gjenge Fu er Senior Healthcare Solutions Architect hos AWS. Han har doktorgrad i farmasøytisk vitenskap fra University of Mississippi og har over 10 års erfaring innen teknologi og biomedisinsk forskning. Han er lidenskapelig opptatt av teknologi og innvirkningen den kan ha på helsetjenester.
Bryan Marsh er Senior Solutions Architect i Academic Medical Center-teamet på Amazon Web Services. Han har kompetanse innen bedriftsarkitektur med fokus på helsesektoren. Han er lidenskapelig opptatt av å bruke teknologi for å forbedre helseopplevelsen og pasientens resultater.
- '
- "
- 100
- 9
- adgang
- Ytterligere
- Amazon
- Amazon EC2
- Amazon SageMaker
- Amazon Web Services
- analyse
- api
- arkitektur
- lyd
- Automatisering
- automotive
- AWS
- bygge
- Bygning
- ring
- klassifisering
- kode
- kommentarer
- Kommunikasjon
- kommunikasjon
- Beregn
- konsolidering
- Container
- innhold
- Kosmos
- Opprette
- avling
- dato
- datavitenskap
- Database
- dyp læring
- dype nevrale nettverk
- Enheter
- digitalt
- sykdom
- sykdommer
- domener
- emalje
- Endpoint
- Enterprise
- eksperter
- Fokus
- skjema
- format
- Rammeverk
- Gratis
- funksjon
- general
- GitHub
- Global
- grå
- helsetjenester
- Hosting
- Hvordan
- Hvordan
- HTTPS
- IAM
- Identitet
- bilde
- bildeanalyse
- Imaging
- Påvirkning
- Inkludert
- indeks
- informasjon
- Infrastruktur
- interaktiv
- interesse
- IT
- Javascript
- Jobb
- Jobb
- Jupyter Notebook
- nøkkel
- merking
- etiketter
- stor
- siste
- lanseringer
- LÆRE
- læring
- Bibliotek
- Life Sciences
- linje
- LINK
- Flytende
- lister
- laste
- maskinlæring
- Media
- medisinsk
- medisinsk bildebehandling
- medisin
- medlemmer
- Mississippi
- ML
- modell
- modellering
- nettverk
- nettverk
- neural
- nevrale nettverk
- Nginx
- åpen
- Alternativ
- Annen
- andre
- PAN
- Passord
- Pharmaceutical
- plattform
- lungebetennelse
- Politikk
- Portal
- Forhåndsvisning
- privat
- fagfolk
- Python
- pytorch
- radiologi
- Lesning
- Rapporter
- forskning
- ressurs
- svar
- REST
- avkastning
- Kjør
- sagemaker
- Vitenskap
- VITENSKAPER
- SDK
- Serien
- Tjenester
- Enkelt
- Størrelse
- So
- Software
- Solutions
- LØSE
- romlig
- Begynn
- startet
- lagring
- støtte
- Støtter
- Teknologi
- tennis
- tid
- topp
- lommelykt
- trafikk
- Kurs
- tutorial
- ui
- universitet
- verktøy
- video
- visualisering
- web
- Nettlesere
- webtjenester
- Wikipedia
- innenfor
- Arbeid
- arbeidere
- arbeidsflyt
- arbeidsstyrke
- år
- zoom