Segmenteren van Skeletale Spiercellen in Histologische Beelden met behulp van Machinaal Leren en Beeldverwerking

Thomas
Janssens

Kan een computerprogramma je leven redden? Automatische analyse van ziek celweefsel

Er wordt de laatste jaren steeds meer vooruitgang geboekt op het gebied van medische beeldvormingstechnologie. Artsen en clinici hebben meer dan ooit tevoren enorme hoeveelheden visuele patiëntdata ter beschikking. Deze enorme explosie aan gegevens vergroot hun kennis, maar dreigt hen ook boven het hoofd te groeien. Scans en analyses van weefselmonsters resulteren vaak in tientallen, honderden of zelfs duizenden beelden, die allemaal met de hand onderzocht dienen te worden. De onderzoekers duiden vervolgens alle cellen, tot honderden per afbeelding, aan met behulp van een elektronische pen of beeldbewerkingssoftware.

Hoewel dit werk een zekere expertise en voorkennis vereist, is het verder niet bijzonder interessant of uitdagend te noemen. Het vergt erg veel tijd, wat een kostbaar goed is voor de drukbezette onderzoeker. Het is ook menselijk niet mogelijk om over honderden afbeeldingen exact dezelfde criteria te behouden, laat staan dat collega's exact dezelfde markeringen kunnen afleveren.

We hebben in dit onderzoek geprobeerd met een combinatie van computervisie en machinaal leren dit analyseproces te automatiseren. We hebben ons concreet gericht op de analyse van skeletspierweefsel. De onderzoekers snijden dit spierweefsel in dunne plakjes, waarna ze het inkleuren en doorheen een microscoop fotograferen. We spreken van een “histologisch beeld”. “Skeletspier” is een verzamelnaam voor alle spieren die verbonden zijn aan het skelet en door samentrekken gewrichten bewegen. Dit spierweefsel is bijzonder interessant voor onderzoekers: het uitzicht van de spiercellen kan mogelijk enorm veel vertellen over de toestand van de ziekte van de patiënt. Deze verbanden zijn nog volledig onbekend terrein waarnaar momenteel intensief onderzoek gevoerd wordt.

Het doel van deze automatisatie is om uit de afbeelding de locatie van alle cellen te halen. Dit proces van objectherkenning staat ook wel bekend als beeldsegmentatie. Deze informatie kan dan in een later stadium gebruikt worden om alle relevante gegevens over de cellen te ontdekken. Vooraleer we dieper ingaan op het onderzoek vertellen we wat over de achtergrond van de gebruikte technieken.

Computervisie heeft alles te maken met het interpreteren van beelden door software. Dit is handig in de robotica, maar ook voor automatische cartografie of intelligente beveiligingscamera's. Ook in de medische wereld wordt het enorme potentieel van computervisie almaar duidelijker. In dit onderzoek gebruiken we het om de cellen uit de achtergrond te filteren.

Machinaal leren heeft als doel patronen te zoeken in data, om zo verschillende klassen onderscheiden. Hiervoor worden grote hoeveelheden gelabelde trainingsdata bestudeerd, waarbij we eigenschappen zoeken die het onderscheid het best illustreren. Met deze ontgonnen kennis kunnen we dan nieuwe, ongemarkeerde, gegevens automatisch identificeren. We leggen verderop uit hoe we hier verschillende types segmenten mee onderscheiden.

De methode die we voor dit onderzoek bedacht hebben bestaat uit drie stappen. We beginnen met het uitvoeren van een eerste segmentatie op de afbeelding. Dit betekent dat we deze gaan omvormen in een verzameling ruwe segmenten, waarbij we gebruik maken van de kennis die we hebben over het beeld, namelijk dat er roze cellen te zien zijn op een witte achtergrond. Door dit kleurverschil kunnen we de wittere beeldpunten, die bij de achtergrond horen, herkennen en wegfilteren.

Dit is prima indien de cellen los van elkaar liggen. Als ze echter dicht tegen elkaar aan liggen vormen ze na filteren één enkel segment, een opeenhoping van meerdere cellen, omdat er niet voldoende witte achtergrondpixels tussenliggen om ze uit elkaar te houden. Naast cellen en deze opeenhopingen houden we ook stukjes vetweefsel over, dat niet interessant is en dus weggefilterd dient te worden.

Deze problemen worden aangepakt in de volgende stap, de finale segmentatie. De uitdaging is hier om de computer volledig zelfstandig het onderscheid te laten maken tussen drie verschillende types segmenten: gewone spiercellen, opeenhopingen en vetweefsel. Hier komen de technieken bekend uit machinaal leren ons goed van pas.

Het idee is dat het programma leert welke rol deze eigenschappen spelen bij het klasseren van een onbekend segment. Het moet ze dus allemaal in overweging nemen om te kunnen beslissen wat het type in dit geval is. Dit kunnen we aanleren via onze traingings-database, die bestaat uit meer dan tweeduizend met de hand gelabelde segmenten van de drie types. Ze worden gebruikt als invoer voor het krachtige “Support Vector Machine”-algoritme, dat een model teruggeeft dat het type van elk onbekend segment kan voorspellen.

Nu we deze drie types kunnen onderscheiden moeten we beslissen wat ermee gebeurt. We weten dat we de cellen mogen houden en het vetweefsel mogen weggooien, maar wat met de opeenhopingen? Ze bevatten bruikbare, enkele, cellen, dus we kunnen ze best uiteen halen. Dit is echter gemakkelijker gezegd dan gedaan. We weten niet uit hoeveel cellen ze daadwerkelijk bestaat en we weten niet waar de grenzen tussen de cellen liggen. Dit eerste probleem kan opgelost worden door de opeenhoping herhaaldelijk in twee te splitsen totdat er enkel aparte cellen overblijven. Het is namelijk makkelijker telkens één lijn te trekken dan heel de opeenhoping in een keer volledig te splitsen.

Hoe kan een opeenhoping cellen nu concreet in twee stukken worden verdeeld? We hebben gewerkt met het concept van een “splitslijn”. Deze vertrekt en eindigt op twee verschillende punten op de rand van de cel en trekt een pad doorheen de binnenkant. Belangrijk hierbij is dat we altijd de randen van de individuele cellen volgen en dus nooit een cel doormidden snijden. Wat de eindpunten betreft baseerden we ons methode om “inhammen” in de rand te detecteren, plaatsen waar cellen tegen elkaar duwen. Om deze punten dan te verbinden doorheen de opeenhoping proberen we de celgrenzen te volgen. Dit kan door naar de kleur van de beeldpunten in het pad te kijken; punten aan de rand zijn minder rood dan punten in het midden van een cel.

We vergeleken onze methode zowel met door experts gelabelde afbeeldingen als met de resultaten van een reeds bestaade celsegmentatietool, CellProfiler. Onze methode haalde bij een eis van 50% overlap tussen de cellen uit de expert- en de programmasegmentatie een score van 70% tegenover 53% van CellProfiler. Bij een eis van 75% was dit respectievelijk 65% en 28%. Onze methode scoort dus niet alleen beter dan de huidige “state-of-the-art”, ze is ook robuuster indien we de lat hoger leggen wat kwaliteit betreft. Dit betekent een enorme sprong vooruit voor het mogelijk levensreddend ondezoek van skeletspiercellen en hun relatie met ziekte op intensieve zorgen. Het brengt ons ook een stuk dichter bij de ontwikkeling van een volledig automatisch analyseproces voor deze afbeeldingen.