Seniorforsker Jakob Sauer Jørgensen (til højre) og postdocs Nicolai Riis og Amal Alghamdi, som sammen har stået i spidsen for at udvikle software-værktøjet. På billedet  ses de tre ved en CUQIpy-workshop i september 2022. Foto: Nicolai A. B. Riis.

Gratis software sætter tal på usikkerheden i skanninger

mandag 02 jan 23

Kontakt

Per Christian Hansen
Professor
DTU Compute
45 25 30 97

Kontakt

Jakob Sauer Jørgensen
Seniorforsker
DTU Compute
45 25 30 15

Kontakt

Nicolai Andre Brogaard Riis
Postdoc
DTU Compute
22 17 77 73

Kontakt

Forskningsteamet CUQI på DTU Compute har med atypisk proces kogt 1000 linjer kode ned til fem i ny software, der bl.a. hjælper med at se fejl i lukkede objekter.

Ingeniører har ofte brug for at undersøge helt lukkede objekters indre for eventuelle fejl uden at skulle skære igennem materialet, eksempelvis når de leder efter indvendige skader i olie- og gasrørledninger eller vindmøllevinger. I stedet sender de røntgenstråler eller strøm gennem objekterne og måler dæmpningen. Ved at sætte de målte data ind i en matematisk model kan de skabe rekonstruktioner f.eks. 3D-billeder af objekternes indre strukturer for at opdage brud. Spørgsmålet er dog, hvor meget de kan stole på pålideligheden af billederne, for en artefakt kunne måske være skabt af beregningsalgoritmerne ud fra støj i data.

Her kan en ny softwarepakke - CUQIpy - hjælpe ved at sætte tal på, hvor præcis ingeniørernes beregning og dermed rekonstruktionen er ved så at sige at regne ’baglæns’. Ud fra et givet output (målinger) kan man se, hvordan de er opstået – altså hvad inputtet er, f.eks. fejl i en konstruktion - og dermed beregne usikkerheden i billeder, så læger, ingeniører eller andre kan træffe en beslutning med baggrund i viden om usikkerheden.

Softwaren er udviklet i forskningsteamet CUQI (Computational Uncertainty Quantification for Inverse problems) på DTU Compute. Den kan bruges til alle mulige såkaldt ’inverse problemer’; steder hvor man ved hjælp af målinger prøver at sige noget om, hvad der er inden i et objekt uden at åbne og kigge ind i det, altså indirekte målinger – i industrien såvel som på sygehuset.

”Normalt vil man skulle skrive 1000 linjer kode, men folk er ikke eksperter i f.eks. både CT-skanninger og inverse problem-analyser. Derfor har vi kortet det ned, så man kun skal skrive cirka fem linjer kode til at sætte et problem op, løse det og visualisere det. Dette gør det så enkelt som muligt for brugerne at anvende værktøjet til at løse og analysere deres problemer,” siger seniorforsker Jakob Sauer Jørgensen, der leder software-folkene i CUQI.

Samme matematiske kerne uanset problem

Siden 2019 har forskningsinitiativet CUQI med støtte fra Villum Fonden arbejdet med at udvikle matematiske modeller og metoder, der kan hjælpe f.eks. industrien med kvalitetssikring af produkter.

”Vi sætter det abstrakte på formel ved hjælp af matematik. Uanset om man kigger på problemer med CT-scan, udtværede billeder eller prøver at finde den nedgravede landmine eller en olie/gas-forekomst, går den matematiske kerne igen, så man kan formulere problemet med den samme type formel – det vil sige med samme matematiske struktur. I CUQIpy har vi bygget software-byggeklodser, der repræsenterer de matematiske byggeklodser, og dermed kan softwaren flere ting og tilpasses de specifikke problemer,” forklarer professor og leder af CUQI Per Christian Hansen.

CUQI-teamet har udviklet byggeklodser, der beskriver typiske problemer ved hjælp af et antal demonstrationsproblemer, som brugerne kan begynde at arbejde med. Brugerne kan derfor nøjes med at indtaste enkelte specifikke ting for netop deres inverse problemer – f.eks. hvordan man matematisk beskriver, hvad der sker inde i skanneren - og så tager softwaren sig af resten.

”Men samtidig kan brugerne tilpasse formlen, hvis målegeometrien skal være anderledes, eller hvis de ønsker at foretage usikkerhedsanalyse af et helt andet inverst problem, for så kan det let håndteres, siger Per Christian Hansen.

Artiklen fortsætter under figuren.

CUQIpy – sådan bruges softwaren

Kort fortalt så bygger CUQIpy - https://cuqi-dtu.github.io/CUQIpy - på en generel formulering af inverse problemer ved ligningen

b = Ax 

hvor b er de målte data, x er de ubekendte parametre vi søger at rekonstruere, og A er den såkaldte forward model, der beskriver fysikken for, hvordan b opstår ud fra x.

I et CT-skan er b f.eks. røntgenmålinger gennem et objekt, x er et tværsnitsbillede af objektet, og A beskriver, hvordan røntgen absorberes samt geometrien for skanneren.

Et typisk workflow for en UQ-analyse med CUQIpy er vist i figuren nedenfor. Brugeren vælger en af CUQIpys indbyggede forward modeller A, eller angiver sin egen, sammen med de målte data b. Dernæst specificerer bruger, hvad der haves af forhåndsviden om f.eks. billede og støj på de ønskede parametre i form af sandsynlighedsfordelinger. Ud fra dette opstiller og løser CUQIpy det underliggende bayesianske inverse problem, herunder vælger en effektiv sampling-algoritme. Resultatet præsenteres i form af både rekonstruerede billeder, parameterfordelinger og usikkerhedsinformation.

 
 CUQIpy, forskningsteamet CUQI (Computational Uncertainty Quantification for Inverse problems)

Atypisk samarbejde

CUQIpy er udviklet gennem et atypisk, tværfagligt samarbejde, hvor forskerne gennem en systematisk tilgang har arbejdet sig frem til softwarens forskellige matematiske byggesten. Man har brugt professionelle software-udviklingsværktøjer til versionsstyring, test af kode og dokumentation, og kodeudviklingen er sket via den åbne platform Github.

Jakob Sauer Jørgensen blev hentet til CUQI-projektet i april 2020 fra University of Manchester, hvor han selv havde opbygget og ledet en forsknings- og softwaregruppe, og han så tidligt, at det ville gavne at inddrage hele CUQI-teamet i softwareudviklingen:

”Software fylder stadig mere overalt, og derfor er vi nødt til at arbejde helt systematisk med udviklingen, når vi bygger nye værktøjer. Normalt er alle optaget af at skrive artikler om lige deres egen del af et projekt, men her har vi på tværs af gruppen bygget et software-produkt i tæt samarbejde.”

CUQI-teamet har været på træningskurser for at opbygge kompetence i værktøjer og softwareudvikling, så alle forstår processerne og kan bidrage til løsningen. Desuden arbejder man med to-ugers planer, hvor man koncentrerer sig om at implementere bestemte features, som CUQI-teamet efterspørger, for at kunne komme videre. Dagligt mødes man til korte opdateringer, hvor man koordinerer og diskuterer.

”Jeg er super begejstret for vores arbejde. Det er også specielt, at man kan have det her store fokus på software-platformen, for ofte udgør arbejdet med software bare en mindre del,” siger Jakob Sauer Jørgensen.

Kommer længere uden silo-struktur

Per Christian Hansen glæder sig over, at hans tanker var rigtige, da han skrev ansøgningen om fondsmidler til CUQI.

”Det er lykkedes os at tiltrække meget dygtige folk, der forstår strategien med at kombinere teoretisk matematik med anvendt matematik og statistik - gennem softwareudvikling -  i stedet for at sidde med deres egen forskning i et mindre antal siloer. Ved at samle personerne og arbejde sammen kommer man langt. Det handler om at skabe det rette miljø, og det synes jeg, at CUQI er et godt eksempel på.”

Der er tale om grundforskning, og formelt  har CUQI ikke bundet sig op på ’leverancer’, men dog lovet, at man ville udvikle noget software. Samtidig rækker bevillingen frem til og med august 2025, så man har et fin overlap mellem ph.d.-studerende og postdocs, der ikke behøver at starte fra bunden, men kan bygge videre på det, der allerede er udviklet.

I september 2022 holdt CUQI en fire-dages konference om usikkerhedskvantificering med deltagere fra flere europæiske lande. Den første dag bestod af en workshop, hvor CUQI-teamet trænede deltagerne i brugen af CUQIpy-softwaren. Workshoppen blev fulgt op af tre dage med teori og matematiske metoder. Flere sådanne software-workshops er undervejs, og man overvejer at holde kurser for industrien, ligesom softwaren er under løbende forbedring og nemt  kan gøres mere tilgængelig, f.eks. gennem en mere grafisk brugerflade.

”Det er dejligt, at vi har fonde som Villum Fonden, som støtter et projekt, hvor man kan være nysgerrig og have tid til at finde løsninger. Jeg tror, at der opstår flere løsninger, fordi bevillingen er af en sådan størrelse, at vi har mulighed for at samle folk, så vi både favner folk fra den matematiske/numeriske skala og folk med software-ekspertise, siger Per Christian Hansen. 

Kort om CUQIpy

  • Som en del af forskningsprojektet CUQI (Computational Uncertainty Quantification for Inverse Problems) på DTU Compute har et softwareteam med seniorforsker Jakob Sauer Jørgensen og postdocs Nicolai Riis og Amal Alghamdi i spidsen udviklet software-værktøjet. På billedet øverst ses de tre ved en CUQIpy-workshop i september 2022.
  • Softwaren er skrevet i Python-programsproget, hvilket understreges af navnet CUQIpy – med ”py” tilføjet CUQI-navnet. Læs mere https://cuqi-dtu.github.io/CUQIpy/
  • Hele CUQIpy-softwaren er open source, inklusiv forward-modeller, Uncertainty Quantification (UQ)-beregningsmetoder, UQ-analyser, visualiseringer osv., og er så let at bruge, at selv folk, der ikke er eksperter i matematik og statistik, efter lidt introduktion kan anvende softwaren og putte egne data ind og lave deres analyse. Er brugeren derimod ekspert, kan der skrues på alle parametre.
  • Softwaren kan bruges til at beregne usikkerheden i alle såkaldt inverse’ problemer; steder hvor man ved hjælp af målinger prøver at sige noget om, hvad der findes eller sker inden i et objekt uden at åbne og kigge ind i det, altså indirekte målinger - i industrien såvel som på sygehuset.
  • Det kan være ved røntgentomografi af objekter, CT-skanninger og uskarpe billeder. Det kan også være gennem elektrisk impedanstomografi, hvor man ved hjælp af elektroder måler, hvad der sker inden i objektet – fx en kemisk proces i en tank, hvor processen går i stå, hvis man åbner for tanken, men også på sygehuse, hvor metoden bruges til at tjekke lungekapaciteten hos for tidligt fødte børn.
  • CUQI-teamet har siden april 2020 udviklet softwaren og metoderne efter SCRUM-principperne om agil softwareudvikling, hvor man i perioder af to uger sammen løser nye delelementer i en fælles opgave og dagligt mødes 15 minutter for at blive opdateret.
  • CUQI er støttet af Villum Fonden 

Nyheder og filtrering

Få besked om fremtidige nyheder, der matcher din filtrering.