Vorwort
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Maschinelles Lernen auf Bildern revolutioniert das Gesundheitswesen, die Produktion, den Einzelhandel und viele andere Bereiche. Viele bisher schwierige Probleme können jetzt durch das Trainieren von Machine-Learning-Modellen (ML) gelöst werden, um Objekte in Bildern zu identifizieren. Unser Ziel in diesem Buch ist es, die ML-Architekturen, die diesem schnell voranschreitenden Bereich zugrunde liegen, intuitiv zu erklären und praktische Codes zur Verfügung zu stellen, um diese ML-Modelle zur Lösung von Problemen wie Klassifizierung, Messung, Erkennung, Segmentierung, Darstellung, Erzeugung, Zählung und mehr einzusetzen.
Die Bildklassifizierung ist die "Hallo-Welt" des Deep Learning. Deshalb bietet dieses Buch auch eine praktische, umfassende Einführung in Deep Learning. Es kann als Sprungbrett für andere Deep-Learning-Bereiche dienen, z. B. für die Verarbeitung natürlicher Sprache.
Du lernst, wie du ML-Architekturen für Computer-Vision-Aufgaben entwirfst und das Modelltraining mit beliebten, gut getesteten, vorgefertigten Modellen in TensorFlow und Keras durchführst. Außerdem lernst du Techniken zur Verbesserung der Genauigkeit und Erklärbarkeit. Schließlich lernst du in diesem Buch, wie du End-to-End-ML-Pipelines für Bildverarbeitungsaufgaben konzipierst, implementierst und abstimmst.
Für wen ist dieses Buch?
Dieses Buch richtet sich in erster Linie an Softwareentwickler, die maschinelles Lernen mit Bildern durchführen wollen. Es richtet sich an Entwickler, die TensorFlow und Keras verwenden, um gängige Anwendungsfälle der Computer Vision zu lösen.
Die im Buch besprochenen Methoden werden von Codebeispielen begleitet, die unter https://github.com/GoogleCloudPlatform/practical-ml-vision-book verfügbar sind . Der größte Teil dieses Buches beschäftigt sich mit Open Source TensorFlow und Keras und funktioniert unabhängig davon, ob du den Code vor Ort, in der Google Cloud oder in einer anderen Cloud ausführst.
Entwickler, die PyTorch verwenden möchten, werden die textlichen Erklärungen nützlich finden, aber für praktische Codeschnipsel müssen sie wahrscheinlich woanders suchen. Wir freuen uns über Beiträge mit PyTorch-Äquivalenten zu unseren Codebeispielen; bitte stelle einen Pull-Request in unserem GitHub-Repository.
Wie man dieses Buch benutzt
Wir empfehlen dir, dieses Buch in der richtigen Reihenfolge zu lesen. Achte darauf, die begleitenden Notizbücher im GitHub-Repositorydes Buches zu lesen, zu verstehen und auszuführen - dukannst sie entweder in Google Colab oder in den Vertex Notebooks von Google Cloud ausführen. Wir empfehlen dir, nach dem Lesen jedes Abschnitts den Code auszuprobieren, um sicherzustellen, dass du die vorgestellten Konzepte und Techniken vollständig verstehst. Wir empfehlen dir dringend, die Notizbücher in jedem Kapitel abzuschließen, bevor du zum nächsten Kapitel übergehst.
Google Colab ist kostenlos und reicht aus, um die meisten Notebooks in diesem Buch auszuführen; Vertex Notebooks ist leistungsfähiger und hilft dir, die Notebooks schneller durchzuarbeiten. Die komplexeren Modelle und größeren Datensätze in den Kapiteln 3, 4, 11 und 12 profitieren von der Verwendung von Google Cloud TPUs. Da der gesamte Code in diesem Buch unter Verwendung von Open-Source-APIs geschrieben wurde, sollte der Code auch in jeder anderen Jupyter-Umgebung funktionieren, in der du die neueste Version von TensorFlow installiert hast, egal ob auf deinem Laptop, bei Amazon Web Services (AWS) Sagemaker oder Azure ML. Wir haben es jedoch nicht in diesen Umgebungen getestet. Wenn du feststellst, dass du Änderungen vornehmen musst, um den Code in einer anderen Umgebung zum Laufen zu bringen, reiche bitte einen Pull Request ein, um anderen Lesern zu helfen.
Der Code in diesem Buch wird dir unter einer Apache Open Source Lizenz zur Verfügung gestellt. Er ist in erster Linie als Lehrmittel gedacht, kann aber auch als Ausgangspunkt für deine Produktionsmodelle dienen.
Organisation des Buches
Der Rest dieses Buches ist wie folgt aufgebaut:
-
In Kapitel 2 führen wir in das maschinelle Lernen ein, wie man Bilder einliest und wie man ML-Modelle trainiert, auswertet und vorhersagt. Die Modelle, die wir in Kapitel 2 behandeln, sind generisch und funktionieren daher nicht besonders gut bei Bildern, aber die in diesem Kapitel vorgestellten Konzepte sind für den Rest des Buches unerlässlich.
-
In Kapitel 3 stellen wir einige Modelle des maschinellen Lernens vor, die bei Bildern gut funktionieren. Wir beginnen mit Transferlernen und Feinabstimmung und stellen dann eine Reihe von Faltungsmodellen vor, die im Laufe des Kapitels immer ausgefeilter werden.
-
In Kapitel 4 untersuchen wir den Einsatz von Computer Vision, um Probleme der Objekterkennung und Bildsegmentierung zu lösen. Jede der in Kapitel 3 vorgestellten Backbone-Architekturen kann in Kapitel 4 verwendet werden.
-
In den Kapiteln 5 bis 9 befassen wir uns mit den Details der Erstellung von maschinellen Lernmodellen für die Produktion. Wir gehen die Standard-ML-Pipeline Schritt für Schritt durch und befassen uns mit der Erstellung von Datensätzen in Kapitel 5, der Vorverarbeitung in Kapitel 6, dem Training in Kapitel 7, der Überwachung und Bewertung in Kapitel 8 und dem Einsatz in Kapitel 9. Die in diesen Kapiteln besprochenen Methoden lassen sich auf alle in den Kapiteln 3 und 4 behandelten Modellarchitekturen und Anwendungsfälle anwenden.
-
In Kapitel 10 gehen wir auf drei aufkommende Trends ein. Wir verbinden alle in den Kapiteln 5 bis 9 behandelten Schritte zu einer durchgängigen, containerisierten ML-Pipeline und probieren dann ein no-code Bildklassifizierungssystem aus, das für ein schnelles Prototyping und als Benchmark für individuellere Modelle dienen kann. Zum Schluss zeigen wir, wie man die Erklärbarkeit in die Vorhersagen von Bildmodellen einbaut.
-
In den Kapiteln 11 und 12 zeigen wir, wie die grundlegenden Bausteine der Computer Vision verwendet werden, um eine Vielzahl von Problemen zu lösen, darunter Bilderzeugung, Zählen, Posenerkennung und mehr. Auch für diese fortgeschrittenen Anwendungsfälle gibt es Implementierungen.
In diesem Buch verwendete Konventionen
In diesem Buch werden die folgenden typografischen Konventionen verwendet:
- Kursiv
-
Weist auf neue Begriffe, URLs, E-Mail-Adressen, Dateinamen und Dateierweiterungen hin.
Constant width
-
Wird für Programmlistings sowie innerhalb von Absätzen verwendet, um auf Programmelemente wie Variablen- oder Funktionsnamen, Datentypen, Umgebungsvariablen, Anweisungen und Schlüsselwörter hinzuweisen.
Constant width bold
-
Wird zur Hervorhebung in Codeschnipseln verwendet und um Befehle oder anderen Text anzuzeigen, der vom Benutzer wörtlich eingegeben werden sollte.
Constant width italic
-
Zeigt Text an, der durch vom Benutzer eingegebene Werte oder durch kontextabhängige Werte ersetzt werden soll.
Tipp
Dieses Element steht für einen Tipp oder eine Anregung.
Hinweis
Dieses Element steht für einen allgemeinen Hinweis.
Warnung
Dieses Element kennzeichnet eine Warnung.
Code-Beispiele verwenden
Zusätzliches Material (Code-Beispiele, Übungen usw.) steht unter https://github.com/GoogleCloudPlatform/practical-ml-vision-book zum Download bereit .
Wenn du eine technische Frage oder ein Problem mit den Codebeispielen hast, sende bitte eine E-Mail an bookquestions@oreilly.com.
Dieses Buch soll dir helfen, deine Arbeit zu erledigen. Wenn in diesem Buch Beispielcode angeboten wird, darfst du ihn in deinen Programmen und deiner Dokumentation verwenden. Du musst uns nicht um Erlaubnis fragen, es sei denn, du reproduzierst einen großen Teil des Codes. Wenn du zum Beispiel ein Programm schreibst, das mehrere Teile des Codes aus diesem Buch verwendet, brauchst du keine Erlaubnis. Wenn du eine CD-ROM mit Beispielen aus den O'Reilly-Büchern verkaufst oder verteilst, ist eine Genehmigung erforderlich. Die Beantwortung einer Frage mit einem Zitat aus diesem Buch und einem Beispielcode erfordert keine Genehmigung. Wenn du einen großen Teil des Beispielcodes aus diesem Buch in die Dokumentation deines Produkts aufnimmst, ist eine Erlaubnis erforderlich.
Wir schätzen die Namensnennung, verlangen sie aber nicht. Eine Quellenangabe umfasst normalerweise den Titel, den Autor, den Verlag und die ISBN. Zum Beispiel: "Practical Machine Learning for Computer Vision, von Valliappa Lakshmanan, Martin Görner, und Ryan Gillard. Copyright 2021 Valliappa Lakshmanan, Martin Görner, and Ryan Gillard, 978-1-098-10236-4."
Wenn du der Meinung bist, dass die Verwendung von Code-Beispielen nicht unter die Fair-Use-Regelung oder die oben genannte Erlaubnis fällt, kannst du uns gerne unter permissions@oreilly.com kontaktieren .
O'Reilly Online Learning
Seit mehr als 40 Jahren bietet O'Reilly Media Schulungen, Wissen und Einblicke in Technologie und Wirtschaft, um Unternehmen zum Erfolg zu verhelfen.
Unser einzigartiges Netzwerk von Experten und Innovatoren teilt sein Wissen und seine Erfahrung durch Bücher, Artikel und unsere Online-Lernplattform. Die Online-Lernplattform von O'Reilly bietet dir On-Demand-Zugang zu Live-Trainingskursen, ausführlichen Lernpfaden, interaktiven Programmierumgebungen und einer umfangreichen Text- und Videosammlung von O'Reilly und über 200 anderen Verlagen. Weitere Informationen erhältst du unter http://oreilly.com.
Wie du uns kontaktierst
Bitte richte Kommentare und Fragen zu diesem Buch an den Verlag:
-
O'Reilly Media, Inc.
-
1005 Gravenstein Highway Nord
-
Sebastopol, CA 95472
-
800-998-9938 (in den Vereinigten Staaten oder Kanada)
-
707-829-0515 (international oder lokal)
-
707-829-0104 (Fax)
Wir haben eine Webseite für dieses Buch, auf der wir Errata, Beispiele und zusätzliche Informationen auflisten. Du kannst diese Seite unter https://oreil.ly/practical-ml-4-computer-vision aufrufen .
Schreib eine E-Mail an bookquestions@oreilly.com, um Kommentare oder technische Fragen zu diesem Buch zu stellen.
Neuigkeiten und Informationen über unsere Bücher und Kurse findest du unter http://www.oreilly.com.
Finde uns auf Facebook: http://facebook.com/oreilly
Folge uns auf Twitter: http://twitter.com/oreillymedia
Schau uns auf YouTube: http://www.youtube.com/oreillymedia
Danksagungen
Wir sind Salem Haykal und Filipe Gracio, unseren Superstar-Rezensenten, sehr dankbar, die jedes Kapitel dieses Buches geprüft haben - ihr Blick fürs Detail ist überall zu spüren. Unser Dank geht auch an die O'Reilly-Rezensenten Vishwesh Ravi Shrimali und Sanyam Singhal, die die Neuordnung des Buches vorgeschlagen haben. Außerdem möchten wir uns bei Rajesh Thallam, Mike Bernico, Elvin Zhu, Yuefeng Zhou, Sara Robinson, Jiri Simsa, Sandeep Gupta und Michael Munn für die Überprüfung von Kapiteln bedanken, die ihren Fachgebieten entsprachen. Alle verbleibenden Fehler sind natürlich unsere.
Wir möchten uns bei den Google Cloud-Nutzern, unseren Teamkollegen und vielen Teilnehmern des Google Cloud Advanced Solutions Lab dafür bedanken, dass sie uns dazu gedrängt haben, unsere Erklärungen noch klarer zu gestalten. Unser Dank gilt auch den TensorFlow-, Keras- und Google Cloud AI-Entwicklungsteams für die gute Zusammenarbeit.
Unser O'Reilly-Team hat uns kritisches Feedback und Anregungen gegeben. Rebecca Novack schlug vor, ein früheres O'Reilly-Buch zu diesem Thema zu aktualisieren, und war offen für unsere Empfehlung, dass ein praktisches Buch über Computer Vision nun auch maschinelles Lernen beinhalten würde und das Buch daher komplett neu geschrieben werden müsste. Amelia Blevins, unsere Redakteurin bei O'Reilly, hielt uns auf Trab. Rachel Head, unsere Lektorin, und Katherine Tozer, unsere Redakteurin für die Produktion, haben die Klarheit unserer Texte erheblich verbessert.
Und schließlich, und das ist das Wichtigste, danken wir auch unseren jeweiligen Familien für ihre Unterstützung.
Get Praktisches maschinelles Lernen für Computer Vision now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.