Table Of ContentFelix Grimm
Expertensysteme für den Einsatz von Subroutinenpaketen
Am Beispiel eines Expertensystems für Bildverarbeitung
Felix Grimm
Expertensysteme
für den Einsatz von
Subroutinenpaketen
Am Beispiel eines Expertensystems
für Bildverarbeitung
1j)fl1.\f7 DeutscherUniversitätsVerlag
~ GABlER·YIEWEG·WESTDEUTSCHERYERLAG
ClP-Titeloufnahme der Deutschen Bibliothek
Grimm, Felix:
Expertensysteme für den Einsatz von Subroutinenpaketen : am
Beispiel eines Expertensystems für Bildverarbeitung / Felix
Grimm. - Wiesbaden: Dt. Univ.-Verl., 1990
(DUV : Informatik)
Zugl.: Bern, Univ., Diss., 1989
ISBN 978-3-8244-2016-2 ISBN 978-3-322-91020-2 (eBook)
DOI 10.1007/978-3-322-91020-2
Gekürzte Fassung; Kopien der vollständigen Dissertation sind bei der Stadt-und Uni
versitätsbibliothek Bern oder bei der Schweiz. Landesbibliothek Bern erhältlich.
Der Deutsche Universitäts-Verlag ist ein Unternehmen der
Verlagsgruppe Bertelsmann International.
© Deutscher Universitäts-Verlag GmbH, Wiesbaden 1990
Das Werk einschließlich aller seiner Teile ist urheberrechtlich ge
schützt. Jede Verwertung außerhalb der engen Grenzen des Ur
heberrechtsgesetzes ist ohne Zustimmung des Verlags unzulässig
und strafbar. Das gilt insbesondere für Vervielfältigungen, Über
setzungen, Mikroverfilmungen und die Einspeicherung und Ver
arbeitung in elektronischen Systemen.
ISBN 978-3-8244-2016-2
Zum Geleit
Die ersten Arbeiten auf dem Gebiet der Expertensysteme liegen nun schon bald zwei
Jahrzehnte zurück. Sie wurden in den 70-er Jahren an einigen wenigen amerikanischen
Universitäten durchgeführt und haben zunächst nur ein relativ schwaches Echo gefun
den. Ab dem Beginn der 80-er Jahre sollte sich dies jedoch schlagartig ändern. Bedingt
durch verschiedene breit angelegte internationale Forschungsprogramme sowie durch
technische Fortschritte und Preisverfall bei Computer-Hardware erfolgte eine rapide
Zunahme des Interesses am Gebiet der Künstlichen Intelligenz im allgemeinen und an
Expertensystemen im speziellen. Auch wenn die Anzahl der heute im Routinebetrieb
eingesetzten Installationen noch bescheidener ist, als es in zahlreichen Prognosen vor
wenigen Jahren prophezeit wurde, kann dennoch von einer stetigen Zunahme der
Bedeutung von Expertensystemen in vielen Anwendungsgebieten in der nächsten
Zukunft ausgegangen werden. Als sicher darf auch angenommen werden, dass Pro
grammiertechniken und Methoden der Wissens repräsentation, wie sie im Zusammen
hang mit Expertensystemen entwickelt wurden, ihren Eingang in die verschiedensten
anderen Teilgebiete der Informatik finden werden.
Das vorliegende Buch beschreibt ein Expertensystem, das am Institut für Informatik und
angewandte Mathematik der Universität Bern in den Jahren 1985 - 1989 im Rahmen
einer Dissertation entwickelt wurde. Es ist durchaus nicht der Normalfall, dass eine
Dissertation einen Leserkreis anspricht, der breit genug ist, um eine Publikation in Form
eines Buches zu rechtfertigen. Die vorliegende Arbeit scheint mir jedoch für eine Veröf
fentlichung als Buch gut geeignet. Zwar handelt es sich bei der Bildverarbeitung, dem
Anwengungsgebiet, auf welches sich das hier beschriebene Expertensysten bezieht, um
eine Disziplin, für die sich nur ein relativ kleiner Kreis von Fachleuten interessiert. Die
genauere Betrachtung zeigt jedoch, dass der Bildverarbeitung nur eine prototypische
Rolle zukommt. Der grundsätzliche, im vorliegenden Buch beschriebene Ansatz für den
Bau eines Expertensystems lässt sich auf viele andere Anwendungsgebiete übertragen.
Das Buch ist von potentiellem Interesse für Studenten der Informatik sowie für in der
Berufspraxis stehende Informatiker, die vorhandene elementare Grundkenntnisse im
Bereich der Expertensysteme anhand der Beschreibung eines konkreten Systems vertie
fen möchten. Insbesondere dürfte das Buch von Nutzen sein für Kolleginnen und Kolle
gen, die sich selbst konkret mit der Entwicklung eines Expertensystems beschäftigen. Die
generelle Aufgabe, die vom hier beschriebenen Expertensystem gelöst werden soll, ist die
Unterstützung von Softwareentwicklern bei der Erstellung von Programmen unter Ver
wendung von Unterprogrammen aus einer Programmbibliothek. Der hohe zeitliche
Aufwand bei der Softwareentwicklung sowie der Mangel an qualifizierten Spezialisten
sind hier wichtige Motive für den Einsatz von Automatisierungswerkzeugen wie z. B.
Expertensystemen. Wie bereits erwähnt, ist die Bildverarbeitung nur ein mögliches
Anwendungsgebiet für ein Expertensystem der hier vorgestellten Art. In der vorliegenden
Zum Geleit
Arbeit wurde grosser Wert auf eine modulare Konzeption gelegt, die es erlaubt, das
System mit möglichst geringem Aufwand an andere Unterprogrammbibliotheken und
andere Anwendungsgebiete anzupassen. Ich hoffe deshalb, dass das vorliegende Buch
einen allgemeinen Beitrag zur Methodik der Entwicklung von Expertensystemen liefern
kann und einen Leserkreis ansprechen wird, der nicht nur auf Spezialisten in der Bild
verarbeitung beschränkt ist.
Bern, im Juni 1990 H. Bunke
Vorwort
In dieser Arbeit wird ein Expertensystem vorgestellt, das einen Benutzer beim Einsatz
der Bildverarbeitungssoftware SPIDER unterstützt. Ferner wird allgemein erläutert,
wie Expertensysteme zur Kontrolle des Einsatzes von Subroutinenpaketen verwendet
werden können. Es wird eine Expertensystem-Schale vorgestellt, welche das Erstellen von
solchen Expertensystemen vereinheitlicht und vereinfacht.
Vorwort zur Originaldissertation
Zum Gelingen der vorliegenden Dissertation haben verschiedene Leute auf die eine oder
andere Art beigetragen. An erster Stelle möchte ich Herrn Prof. Dr. H. Bunke für die
Leitung dieser Arbeit danken. Von ihm stammt die Idee zur Entwicklung eines Exper
tensystems für das Subroutinenpaket SPIDER. Er hat mir in vielen Gesprächen zahl
reiche Anregungen gegeben und Hinweise auf relevante Literatur vermittelt. Auch hat
er sich die Mühe genommen, die Entwürfe zur vorliegenden Arbeit durchzulesen und zu
kommentieren.
Der Firma Nixdorf Computer AG Schweiz danke ich für die Zurverfügungstellung der
verwendeten Hardware (Computersystem Targon 131 mit Peripherie) und Software
(TWAICE, IF/Prolog, UNIX, usw.). Ganz besonders möchte ich den Herren Dr. M.
Grosser und W. Sonderegger danken, die meine Kontaktpersonen waren und meine
Fragen und Probleme stets wohlwollend entgegennahmen und an die entsprechenden
Spezialisten weiterleiteten. Dank gebührt auch Herrn R. Schreier (Elektrowatt Bern), auf
dessen Vermittlung hin ein erster Kontakt zu Nixdorf zustande kam.
Von Herrn A. Kohler konnte ich Programme für die Ausgabe von Bildern auf einem
AED-Terminal (vgl. [DI-1]) übernehmen, welche den Hauptteil der Bildausgabekompo
nente meines Systems SPICE bilden. Herr A. Reber hat im Rahmen eines studentischen
Informatik-Projekts das im Beispiel »Verbessern einer Elektronenmikroskopaufnahme«
auf Seite 94 verwendete Bild untersucht und dabei drei Fortran-Subroutinen entwickelt
(vgl. [DI-4]) , welche auch in SPICE aufgenommen wurden. (Das Originalbild für das
DNS-Beispiel kommt vom Mikrobiologischen Institut der Universität Bern und wurde
uns durch Herrn T. Steffen vermittelt.) Herr M.-Q. Song hat in [DI-3] einen anderen
Ansatz eines Expertensystems für den Einsatz von Subroutinenpaketen untersucht, über
den wir einen interesanten Gedankenaustausch führen konnten. Frau A.S. Monnier hat
in ihrer Lizentiatsarbeit ([DI-5]) viele Erfahrungen bei der Verarbeitung von Binärbil
dern gesammelt, die auch für meine Arbeit von Interesse waren. Mit Herrn D. von
Weissenfluh konnte ich v.a. in der Anfangsphase meines Projekts Erfahrungen über
verschiedene Expertensystem-Schalen austauschen.
viii Vorwort
Ferner möchte ich all meinen Kolleginnen und Kollegen vom Institut für Informatik und
angewandte Mathematik der Universität Bern danken, die in irgend einer Weise zum
Gelingen dieser Arbeit beigetragen haben. Insbesondere habe ich diverse technische
Auskünfte und Hilfe betr. Hardware- und Software-Infrastruktur von den Herren T.
Glauser, I. Metz und J. Dvorak (UNIX), M. Studer (Netzwerk), W. Neugebauer
(AED-Terminal) und A. Hänecke (SPIDER) erhalten.
Bern, im Mai 1989 F. Grimm
Vorwort zum vorliegenden Buch
Für den Autor einer Dissertation ist es besonders schön, wenn seine Arbeit nicht einfach
in einem Archiv verschwindet, sondern einen weiteren Kreis von Interessenten anspre
chen kann. So freue ich mich, dass es mir ermöglicht wurde, diese Arbeit in Buchform
herauszugeben. Dafür möchte ich dem Verlag Vieweg sowie Herrn Prof. Dr. H. Bunke,
der den Kontakt vermittelt hat, meinen besten Dank aussprechen. Dank gebührt auch
der Nixdorf Computer AG Schweiz, die diese Veröffentlichung durch einen Druck
kostenbeitrag unterstützt hat.
Das vorliegende Buch entspricht fast vollständig meiner Originaldissertation. Neu dazu
gekommen sind lediglich der Abschnitt 1.4 sowie Abbildung 20. Ferner wurde der
Anhang D gekürzt, so dass die Sessionslistings der Anwendungsbeispiele nur mehr aus
zugsweise vorliegen.
Zur Verallgemeinerbarkeit meines Expertensystemes kann ich noch erwähnen, dass zur
Zeit an unserem Institut eine Diplomarbeit (Bearbeiter Jürg Hählen) in Entwicklung ist,
deren Ziel es ist, in meinem Expertensystem das Subroutinenpaket SPIDER durch die
Bildverarbeitungs-Software GIPSY zu ersetzen.
Bern, im August 1990 F. Grimm
Inhaltsverzeichnis
1.0 Einleitung ................................................... 1
1.1 Zur AufgabensteIlung .......................................... I
1.2 Verwandte Arbeiten ........................................... 2
1.3 Vorgehen und Aufbau der Arbeit ................................. 5
1.4 Verallgemeinerungsmöglichkeit ................................... 6
2.0 Bildverarbeitung und Bildanalyse .................................. 9
2.1 Kurze Einführung in die Bildverarbeitung und Bildanalyse .............. 9
2.1.1 Zur Begriffsbildung .......................................... 10
2.1.2 Bildverarbeitung ............................................ 10
2.1.3 Bildanalyse ................................................ 11
2.1.4 Diverse Bemerkungen ........................................ 13
2.2 SPIDER -ein Software-Paket für Bildverarbeitung und Bildanalyse ........ 13
3.0 Expertensysteme .............................................. 17
3.1 Kurze Einführung in das Gebiet der Expertensysteme .................. 17
3.1.1 Zur Begriffsbildung .......................................... 17
3.1.2 Allgemeiner Aufbau eines Expertensystems ......................... 18
3.2 Die Expertensystem-Schale TWAICE .............................. 21
3.2.1 Übersicht über TWAICE ...................................... 21
3.2.2 Wissensbasis und Inferenzkomponente von TWAICE ................. 23
4.0 Das Expertensystem SPICE ..................................... 29
4.1 Einleitung .................................................. 29
4.2 Konzept von SPICE ........................................... 29
4.2.1 Lösungsansatz .............................................. 29
4.2.2 Einschränkungen und Abgrenzungen ............................. 30
4.3 Systemspezifikation von SPICE ................................... 31
4.3.1 Systemübersicht von SPICE .................................... 31
4.3.2 Expertensystem-Kern von SPICE ................................ 32
4.3.3 Benutzerschnittstelle ......................................... 33
4.3.4 Schnittstelle für den Knowledge Engineer .......................... 34
4.3.5 Schnittstelle zum Subroutinenpaket .............................. 34
4.3.6 Programmgenerator von SPICE ................................. 35
4.4 Detailbeschreibung der Wissens basis ............................... 35
4.4.1 Allgemeines Wissen (Wissens basis-Teil 1) .......................... 36
4.4.2 Wissen über Bildverarbeitung und Bildanalyse (Wissens basis-Teil 2) ...... 43
4.4.3 Wissen über das Subroutinenpaket SPIDER (Wissens basis-Teil 3) ........ 50
4.5 Implementation von SPICE ..................................... 54
4.5.1 Allgemeines ................................................ 54
x Inhaltsverzeichnis
4.5.2 Implementation des Expertensystem-Kerns von SPICE ................ 55
4.5.3 Implementation der Benutzerschnittstelle .......................... 57
4.5.4 Schnittstelle für den Knowledge Engineer .......................... 57
4.5.5 Implementation der Schnittstelle zum Subroutinenpaket ............... 57
4.5.6 Implementation des Programmgenerators von SPICE ................. 59
4.6 Implementation der Wissens basis von SPICE ........................ 60
4.6.1 Implementation des allgemeinen Wissens (Wissensbasis-Teil 1) .......... 60
4.6.2 Implementation des Wissens über Bildverarbeitung und Bildanalyse
(Wissens basis-Teil 2) .............................................. 66
4.6.3 Implementation des Wissens über SPIDER (Wissens basis-Teil 3) ......... 70
4.7 Diverse Bemerkungen zu SPICE .................................. 75
4.7.1 Zusammenfassung ........................................... 75
4.7.2 Anwendung ................................................ 75
4.7.3 Verallgemeinerung ........................................... 76
4.7.4 Einschränkungen ............................................ 76
4.7.5 Umgang mit unsicherem Wissen ................................. 77
5.0 Anwendungsbeispiele von SPICE ................................. 79
5.1 Lokalisieren von Münzen ....................................... 79
5.1.1 Problembeschreibung ......................................... 79
5.1.2 Problemlösung mit SPICE ..................................... 79
5.1.3 Bemerkungen ............................................... 93
5.2 Verbessern einer Elektronenmikroskopaufnahme ...................... 94
5.2.1 Problem beschreibung ......................................... 94
5.2.2 Problemlösung mit SPICE ..................................... 95
5.2.3 Bemerkungen ............................................... 97
5.3 Finden von Elementen in elektrischen Schaltplänen .................... 98
5.3.1 Problembeschreibung ......................................... 98
5.3.2 Problemlösung mit SPICE ..................................... 98
5.3.3 Bemerkungen .............................................. 100
5.4 Konturen von einfachen Körpern ................................ 100
5.4.1 Problembeschreibung ........................................ 100
5.4.2 Problemlösung mit SPICE .................................... 101
5.4.3 Bemerkungen .............................................. 101
5.5 Konturen in Bildern aus der realen Welt ........................... 101
5.5.1 Problembeschreibung ........................................ 101
5.5.2 Problemlösung mit SPICE .................................... 103
5.5.3 Bemerkungen .............................................. 107
5.6 Abschliessende Bemerkungen zu den Anwendungsbeispielen ............ 107
6.0 Die Expertensystem-Schale KESPES .............................. 109
6.1 Einleitung ................................................. 109
6.2 Konzept von KESPES ........................................ 110
6.2.1 Lösungsansatz ............................................. 110
6.2.2 Einschränkungen ........................................... III
6.3 Systemspezifikation von KESPES ................................ 111
6.3.1 Übersicht über die Komponenten eines SPES ...................... 111
6.3.2 Realisierung von KESPES .................................... 112
xi
6.4 Implementation von KESPES ................................... 113
6.5 Erstellen eines SPES mit Hilfe von KESPES ........................ 114
6.6 Zusammenfassung und diverse Bemerkungen zu KESPES .............. 116
7.0 Schlussfolgerungen und Ausblick ................................. 119
7.1 Zusammenfassung ........................................... 119
7.2 Erfahrungen mit TWAICE ..................................... 119
7.3 Allgemeine Anwendbarkeit von KESPES .......................... 121
7.4 Erzeugen eines compilierbaren Programms in einem SPES .............. 121
7.4.1 Einleitung ................................................ 121
7.4.2 Ablaufsteuerung (Kompositionsproblem) und Algorithmenselektion ...... 122
7.4.3 Parameterbestimmung .................................... : .. 123
7.4.4 Konsequenzen ............................................. 124
7.5 Bemerkungen zu SPICE ....................................... 124
7.6 Vergleich von SPICE mit FIVIS ................................. 125
8.0 Literatur 129
Anhang A. Übersicht über die in SPIDER enthaltenen Verfahren .............. 135
A.I Bildvorverarbeitung .......................................... 135
A.2 Linien-orientierte Bildsegmentierung und -beschreibung ............... 137
A.3 Regionen-orientierte Bildsegmentierung und -beschreibung ............. 138
A.4 Texturbasierte Bildverarbeitung ................................. 139
A.5 Hilfsfunktionen und Diverses ................................... 139
Anhang B. Ergänzungen zur Beschreibung von SPIeE ..................... 141
B.I Zerlegung von Zwischenzielen in Schritte .......................... 141
B.2 Liste der unterstützten Algorithmen und der zugehörigen
SPIDER-Subroutinen ............................................ 142
Anhang C. Anleitung für den Einsatz von SPIeE ......................... 145
C.I Benutzeranleitung ........................................... 145
c.1.l Vorbereitungen ............................................ 145
C.1.2 Arbeiten mit SPICE ........................................ 146
C.2 Hinweise für den Systembetreuer ................................ 151
Anhang D. Beispiele von Sessionen mit SPIeE ........................... 155
D.I Im Laienmodus durchgeführte Session für das Münzen-Beispiel ......... ISS
D.2 Session für das DNS-Beispiel (Auszug) ............................ 160
D.3 Session für das Schaltplan-Beispiel (Auszug) ........................ 164
D.4 Session für das Szenen-Beispiel (Auszug) .......................... 166
D.5 Session für das Brücken-Beispiel (Auszug) ......................... 169
Lebenslauf ..................................................... 171
Sachwortverzeichnis 173