GPGPU-basierte Echtzeitdetektion von Nanoobjekten mittels Plasmonen-unterstützter Mikroskopie Frank Weichert1 , Constantin Timm2 , Marcel Gaspar1 , Alexander Zybin3 , Evgeny L. Gurevich3 , Heinrich Müller1 , Peter Marwedel2 1 Lehrstuhl für Graphische Systeme, Technische Universität Dortmund 2 Lehrstuhl für Eingebettete Systeme, Technische Universität Dortmund 3 ISAS - Institut for Analytical Science, Dortmund frank.weichert@tu-dortmund.de Kurzfassung. Die Verfügbarkeit echtzeitfähiger und mobiler Biosenso- ren gewinnt durch die zunehmende Verbreitung viraler Infektionen zu- nehmend an Bedeutung. Im Gegensatz zu Virusdetektionsmethoden wie beispielsweise ELISA erlaubt die neuartige Plasmonen-unterstützte Mi- kroskopie von Nanoobjekten, Proben innerhalb von wenigen Minuten auf Viren analysieren zu können. Die Herausforderung für ein, auf dieser Analysemethode beruhendes In-situ-Virusdetektionssystem, besteht in der Echtzeitverarbeitung von extrem hohen Datenmengen. Hier setzt die vorliegende Arbeit an, welche eine hoch parallele GPU-basierte Verarbei- tungspipeline zur echtzeitfähigen Virusdetektion vorstellt. Durch die kon- sequente Ausnutzung der GPGPU-Fähigkeiten von Grafikkarten kann auf teure Spezialhardware verzichtet werden, um eine echtzeitkonforme Beschleunigung notwendiger Bildverarbeitungs- und Bildanalysealgorith- men bereitzustellen, die auch den Anforderungen an ein eingebettetes Virusdetektionssystem gerecht wird. 1 Einleitung Der Einsatz ubiquitär verfügbarer echtzeitfähiger Biosensoren wird vor dem Hin- tergrund eines Anstiegs epidemisch auftretender viraler Infektionen zunehmend relevant [1]. Mit der neuartigen, am Leibniz-Institut für Analytische Wissen- schaften entwickelte PAMONO-Technik (engl. Plasmon-assisted Microscopy of Nano-Size Objects) [2] steht eine Methodik zur Verfügung, welche vergleichbar zu etablierten Verfahren, wie z.B. ELISA die gestellten Anforderungen an eine zuverlässige Virusdetektion erfüllt, aber zudem die Umsetzung an ein echtzeit- fähiges portables System ermöglicht. Daher könnte dieses System auch außer- halb von Speziallaboren, direkt vor Ort, z.B. an Flughäfen eingesetzt werden, da es auf keine aufwendige Infrastruktur angewiesen ist. Prinzipiell basiert der PAMONO-Sensor [2] auf der Erkennung von markierungsfreien biomolekularen Bindungsreaktionen an einer Goldoberfläche, in einer mit einer CCD-Kamera aufgenommenen Bildserie. Zur Detektion von Bindungsereignissen wird der Ef- fekt ausgenutzt, dass polarisierendes Licht (Laser), welches gebündelt über ein 40 Weichert et al. Prisma auf eine Metallschicht trifft, reflektiert wird und dieses zu einer Anregung der Oberflächenplasmonen innerhalb der Metallschicht führt. Eine Virusbindung verändert dabei die reflektierte Intensität [2]. Eine CPU-basierte Analyse mit hoher Detektionsrate für PAMONO-Daten wurde in [3] vorgestellt. Die automatische Verarbeitung dieser Bilderserien stellt aber mit einer Datenrate von circa 50 Megabyte/s im Hinblick auf das verar- beitende System besondere Anforderungen, da selbst aktuelle Multicore-CPUs mit einer durchschnittlichen Verarbeitungszeit zwischen 70 − 100 ms pro Frame für die vorliegende Detektionsaufgabe nicht mehr konform zu einer Echtzeitde- tektion sind. Eine effiziente Beschleunigungsmöglichkeit für parallele Algorith- men bieten Grafikkarten. Diese werden zunehmend auch im medizinischen Um- feld eingesetzt, beispielsweise bei der Verarbeitung von Ultraschallbildern, da sie im Gegensatz zu Spezialprozessoren [4] einen flexibleren Entwurf von Algorith- men unterstützen. Ausgehend von dieser einleitenden Darstellung thematisiert der Abschnitt 2, die echtzeitfähige Analyse und Verarbeitung der PANOMO- Daten mittels hoch parallelisierter Detektionsalgorithmen und der Abschnitt 3 die Entwurfsraumexploration mit verschiedenen Grafikkartenplattformen. Zur Bewertung der Nachhaltigkeit der Umsetzung erfolgt diese ausgehend von der Bewertung der Erkennungsrate der Verarbeitungspipeline (Abschn. 3). 2 Material und Methoden Die Erkennung von Nanoobjekten beruht konzeptionell auf drei algorithmischen, echtzeitfähigen Basisschritten (Abb. 1). Methodisch wird diese parallele Verar- beitung und Klassifikation des Eingabebilderstroms über zwei Konzepte erreicht (Abb. 2). Im Hinblick auf die Vorverarbeitung und Klassifikation mittels Zeitrei- henanalyse werden die Zeitreihen pro Bildposition durch die Prozessoren der Grafikkarte gleichzeitig analysiert (Abb. 2a). Zur Aggregation der klassifizierten Pixel zu (Virus-)Objekten erfolgt eine Fraktionierung der Bildebene in paral- lel zu verarbeitende Frames (Abb. 2b). Die Thread-basierte Verarbeitung der PAMONO-Daten geschieht dabei komplett auf der Grafikkarte, um Verzögerun- gen durch Speichertransfers zwischen der Grafikkarte und dem Analyserechner auszuschließen. Der initiale Schritt zur Verarbeitung der PAMONO-Daten ist eine Bildver- besserung in Form einer Hintergrundbereinigung und Rauschreduktion. In die- sem Schritt wird insbesondere der zeitlich nicht bzw. langsam variierende Bildan- teil durch Subtraktion eines Hintergrundes entfernt, um Partikelanhaftungen vi- Vorverarbeitung Detektion der Partikelkandidaten Pixelaggregation und Klassifikation Gradienten - Wavelet -basierte Polygonextraktion Visualisierung basierte Rauschreduktion über Distanzmaß Zeitreihenanalyse Nachver - Hintergrund - arbeitung der bereinigung Detektionen Zeitreihen - Pseudofarb - Mittelung der analyse mit Marching -Squares Bilddaten Darstellung Pattern-Matching Abb. 1. Schematische Darstellung der GPGPU-Verarbeitungspipeline. GPGPU-basierte Echtzeitanalyse 41 suell und maschinell erfassbarer zu machen. Weiterhin findet in diesem Schritt eine Glättung der zeitlichen Intensitätsvariation (Rauschreduktion) mittels Wa- velets statt. Die Algorithmen der Vorverarbeitung können bis auf die einzelne Pixelposition parallelisiert werden, d.h. bei M × N -großen Bildern in der aufge- nommenen Bilderserie, werden M · N parallele Threads (Zeitreihen) ausgeführt (Abb. 2a), die automatisch auf die verschiedenen Rechenkerne der Grafikkarte verteilt werden. Im Anschluss an die Vorverarbeitung der Daten erfolgt die Differenzierung jedes Pixels aufgrund seiner zeitlichen Intensitätsvariation (Abb. 2a) in die Klas- sen (Virus-)Partikel (positiv) und Hintergrund (negativ). Ein Virus bzw. Nano- objekt (schwarze Kurven) manifestiert sich durch einen im Verhältnis zu den Hintergrundstrukturen (graue Kurven) prägnanten Sprung im Intensitätsprofil. Die Pixelklassifikation in diesem Schritt basiert auf einem kombinierten Ansatz aus einer gleitenden Sprungdetektion im Sinne eines gleitenden Mittelwertpro- zesses und auf der Berechnung der Ähnlichkeit eines Zeitreihenabschnittes zu einer musterhaften Sprungfunktion. Die Algorithmen dieser Pipelinestufen wer- den analog zur Vorverarbeitung parallelisiert. Der letzte Schritt aggregiert positiv klassifizierte Pixel (Abb. 3a, schwarz markierte Pixel) in zusammenhängende Bereiche bzw. Segmente und klassifi- ziert jedes dieser Segmente unter Bewertung von Formfaktoren wie beispielswei- se Kreishaftigkeit. Die Granularität der Parallelisierung erfolgt in dieser Stufe der Verarbeitungspipeline unter Berücksichtigung der Zerlegung der Frames in gleichgroße Teilbilder (Abb. 2b), die in parallelen Threads verarbeitet werden. Falls sich Segmente über mehrere Teilbilder erstrecken, werden die einzelnen Be- rechnungen synchronisiert und die Verarbeitung in einem Thread fortgesetzt. Die als Nanoobjekt (Virus) klassifizierten Bildbereiche sind in der Abbildung 3a durch weiße Polygone visualisiert. 5,5e+4 m Analysefenster Nanopartikel N 5,0e+4 kein Nanopartikel T1 T2 T3 Ti n 4,5e+4 Intensität 4,0e+4 Zeilen 3,5e+4 3,0e+4 2,5e+4 2,0e+4 Tk-2 Tk-1 Tk 0 10 20 30 40 50 60 70 80 90 0 Spalten M Zeit/Schicht (a) Zeitreihen-Parallelität (b) Frame-Parallelität Abb. 2. Exemplarische Darstellung der verschiedenen Ebenen der parallelen Verarbei- tung eines Bildes der Größe M × N : (a) Prinzip der parallelen Analyse der M · N Zeitreihen und (b) parallele Verarbeitung von k Teilbildern der Größe ∆m × ∆n. 42 Weichert et al. 3 Ergebnisse Die Evaluierung erfolgte ausgehend von einem PC-Komplettsystem (Intel Core 2 Duo 2.8GHz, 4GB, Nvidia GTS 250) und einer per Firewire verbundenen CCD- Kamera (Kappa DX 4 – 1020). Als Testdatenfundus standen drei exemplarische Typen von Datensätzen (inkl. manueller Segmentierung) mit 4316 Bildern zur Verfügung. Zwei Typen von Datensätzen mit einer Auflösung von 1000 × 566 Pi- xeln respektive 1000 × 367 Pixeln beruhen auf synthetischen Partikeln der Größe 200nm bzw. 280nm, für den dritten Typus mit einer Auflösung von 1000 × 295 Pixeln wurden virusähnliche Partikel (Virus-like Particles) verwendet. Unabhän- gig vom betrachteten Datensatz konnte aus der Evaluierung abgeleitet werden, dass die Verarbeitungsgeschwindigkeit der Pipeline für die maximale Datenra- te der Kamera (30 fps bei 800 × 600 Pixeln) ausreichend ist und damit eine Echtzeit-konforme Auswertung prinzipiell garantiert werden kann. Initial wurde die Erkennungsgüte der automatisch detektierten Strukturen (Abb. 3a) mit den Referenzsegmentierungen innerhalb einer ROC-Analyse be- wertet (Abb. 3b): Sofern eine Überschneidung zwischen den extrahierten und den manuell bestimmten Polygonen vorlag, wurden diese als True-Positives be- zeichnet, nicht geschnittene Polygone aus der automatischen Bestimmung als False-Negatives und nicht geschnittene Polygone aus der Referenzsegmentierung als False-Negatives. Sowohl die synthetischen als auch die realkonformen Na- noobjekte werden in ausreichender Güte erkannt. Dass die Identifikation der synthetischen Strukturen eine geringere Ausprägung falsch positiver Strukturen ausweist, liegt an der bedingt besseren Ausprägung in der Darstellung. Zur näheren Analyse der Skalierbarkeit und Performanz der Verarbeitungs- pipeline wurde zudem eine Variation der Grafikkartentypen (Nvidia GTS 250 und 9800 GTX: 128 Rechenkerne; Nvidia GTX 280: 240 Rechenkerne) vorge- nommen. Gemäß der Auswertung – akkumulierte Laufzeit in Millisekunden pro Verarbeitungsschritt der Pipeline – kann eine Skalierbarkeit der Geschwindig- keit mit der Anzahl der Rechenkerne festgestellt werden (Abb. 3c). Aus der Aufschlüsselung der einzelnen Laufzeiten ist erkennbar, dass die Detektion der 12,0 1,0 Nvidia 9800 GTX Precision Akkumulierte Laufzeiten pro Frame [ms] Nvidia GTS 250 Recall 10,0 Nvidia GTX 280 0,8 Precision / Recall 8,0 0,6 6,0 0,4 4,0 0,2 2,0 0 r r 0 der r tion inn nsfe tung n de en e onal ng ifika nsfe rte rtra e rbei ektio at rtra Beg ektion iche kart vera Det kandid Polygentieru Klass iche fikka 280nm 200nm Exosom-VLP Det Spe Grafik Vor Spe r Gra zur tikel Seg m de Par von Bearbeitungsschritt Datensatztypus (a) (b) (c) Abb. 3. (a) Darstellung der Partikelkandidaten (schwarz) und der zu Segmenten aggre- gierten Pixel (weiß); Statistischer Vergleich zur (b) Klassifikationsbewertung für drei exemplarische Datensätze und (c) zur Laufzeit der verschiedenen Pipelineschritte in Abhängigkeit zur Grafikkarte. GPGPU-basierte Echtzeitanalyse 43 Partikelkandidaten einen prägnanten Anteil der Bearbeitungszeit innerhalb der Pipelineverarbeitung aufweist (2 − 3 ms). Die Gesamtlaufzeit pro Frame vari- iert zwischen 7 ms (Nvidia GTX 280) und 11 ms, d.h. es können zwischen 90 und 142 Frames pro Sekunde verarbeitet werden – bei der CPU-basierten Imple- mentierung nur ca. 10 Frames pro Sekunde. Die Auswertung der GPU-basierten Detektion zeigt daher, dass die Kamera (maximale Übertragungsrate der Kame- ra: 30 fps bei 800 × 600 Pixeln) momentan der Flaschenhals der Anwendung ist, die GPU-basierte Detektion hingegen auch effizient genug ist, um einen höheren Datendurchsatz zu ermöglichen. 4 Diskussion Ausgehend von der Motivation, eine Echtzeit-konforme Detektion von Nanoob- jekten (insbesondere Viren) für die neuartige PAMONO-Technik zur Verfügung zu stellen, wurden in dieser Arbeit GPGPU-basierte Verarbeitungsalgorithmen innerhalb einer hoch-parallelen Pipeline zur Anwendung gebracht. Es konnte gezeigt werden, dass die Verarbeitungspipeline bis zu 142 Bilder pro Sekunde verarbeiten kann und damit die Verarbeitung im Moment sogar oberhalb der maximalen Datenrate der aktuell verwendeten Kamera liegt. Durch die inte- grierte Kombination von zur parallelen Verarbeitung ausgerichteten Algorith- men, u.a. zur Wavelet-basierten Rauschreduktion und merkmalsbasierten Klas- sifikation auf Zeitreihen, kann trotz der performanten Verarbeitung weiterhin eine hohe Erkennungsgüte von Nanoobjekten erreicht werden. Zusammenfas- send ist festzuhalten, dass das vorliegende Verfahren die Voraussetzungen an ein In-situ-Virusdetektionssytem erfüllt. Trotz der subjektiv recht guten Ergeb- nisse besteht die Notwendigkeit, die vorliegenden Algorithmen weiter zu opti- mieren, insbesondere im Hinblick auf eine weitergehende Elimination von Ar- tefakten in den Bildfolgen und einer frühzeitigen Einschränkung des Suchbe- reichs. Zudem sollen verstärkt hybride Verfahren zwischen Template-basierten und Partitions-basierten Ansätzen sowie der Verwendung von Strukturparame- tern von Partitions-basierten Verfahren integriert werden. Im Hinblick auf ein angestrebtes portables Virusdetektionssystem ist eine Adaptierung an die spezi- ellen Anforderungen mobiler Grafikchips (z.B. Nvidia ION) geplant. Literaturverzeichnis 1. Erickson D, et al. Nanobiosensors: optofluidic, electrical and mechanical approaches to biomolecular detection at the nanoscale. Microfluid Nanofluidics. 2008;4(1):33– 52. 2. Zybin A, et al. Real-time detection of single immobilized nanoparticles by surface plasmon resonance imaging. Plasmonics. 2010;5:31–5. 3. Weichert F, et al. Signal analysis and classification for surface plasmon assisted microscopy of nanoobjects. Sens Actuators B Chem. 2010;151:281–90. 4. Dasika G, et al. MEDICS: ultra-portable processing for medical image reconstruc- tion. In: Proc PACT. ACM; 2010. p. 181–92.