Marco Block-Berlitz

Marco Block-Berlitz
Hochschule für Technik und Wirtschaft Dresden – University of Applied Sciences · Computer Sciences and Mathematics

Dr. rer. nat.
Privatdozent (FU Berlin), Studiendekan für den Masterstudiengang Computer and Geoscience in Archaeology (HTW Dresden)

About

69
Publications
16,703
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
252
Citations
Additional affiliations
September 2009 - March 2012
Media Design University for Design and Computer Science
Position
  • Professor (Full)
April 2004 - August 2009
Freie Universität Berlin
Position
  • PhD Student

Publications

Publications (69)
Presentation
Full-text available
I have decided to make many of my current lecture videos and content freely available. There is already a Youtube channel: https://www.youtube.com/channel/UCnnvHNzG6BNOQBiZT3M8B4A From time to time I will upload various lecture series, conference presentations and other content there.
Book
The application of photo-based 3D reconstructions has proven to be an extremely useful tool in archaeological documentation practices both above and underwater. This book provides a comprehensive insight into the subject, delivering essential information on the applied methods to achieve successful results in practice. Photogrammetry is expanded to...
Book
Seit über 20 Jahren arbeite ich mit Lyx unter Windows und versuche in meinen Veranstaltungen vielfach dafür zu werben - zumindest Latex oder Lyx den Systemen von OpenOffice oder Word beim wissenschaftlichen Schreiben vorzuziehen. Ein Bericht, eine Abschlussarbeit oder ein wissenschaftlicher Aufsatz schreiben sich so viel angenehmer und zielgerichte...
Book
Die Anwendung fotobasierter 3D-Rekonstruktionen hat sich als äußerst nützliches Instrument in der archäologischen Dokumentationspraxis über und unter Wasser etabliert. Dieses Buch bietet einen umfassenden Einblick in das Thema und liefert wesentliche Informationen zu den angewandten Methoden, um in der Praxis erfolgreiche Ergebnisse zu erzielen. Da...
Article
Full-text available
The co-registration of photogrammetric products such as image blocks or point clouds is an essential step before they can be used for subsequent analysis. Usually this is done by using control points. This has some disadvantages such as the need for additional measuring devices and a laborious measuring of the coordinates. In prior works we develop...
Article
Current consumer-grade UAV technology is economical, highly automated, and well-suited for large area prospection. At the same time, rapid recording of sites and monuments that cannot be preserved or protected in their entirety is becoming a key research topic. We address the critical issue of designing UAV-based workflows to maximize area coverage...
Book
Seit über 20 Jahren arbeite ich mit Lyx unter Windows und versuche in meinen Veranstaltungen vielfach dafür zu werben - zumindest Latex oder Lyx den Systemen von OpenOffice oder Word beim wissenschaftlichen Schreiben vorzuziehen. Ein Bericht, eine Abschlussarbeit oder ein wissenschaftlicher Aufsatz schreibt sich so viel angenehmer und zielgerichtet...
Book
Hintergrund Das Buch ist aus den Vorlesungen „Beleuchtung und Rendering“ und „Computergrafik II“ an der Hochschule für Technik und Wirtschaft Dresden (HTW Dresden) hervorgegangen. Es hat nicht den Anspruch auf Vollständigkeit, sondern möchte vielmehr die Tiefe und Vielfältigkeit von GPU-basierten Anwendungen motivieren und aufzeigen. Ein Streifzug...
Article
Full-text available
Images taken under water are often of a monochromatic appearance, due to the physical interaction (absorption and reflection) between particles and light sources. Enhanced images with improved saturation, for which the monochromatic character has been corrected, are more suitable for generating 3D models and for identifying structures and materials...
Article
Full-text available
We present a complete, video-based 3d documentation process for the submerged remains of Neolithic pile dwellings at the UNESCO World Heritage Site "See am Mondsee" in Austria. We discuss good practice routines and solutions, such as cable management, supporting the Unmanned Underwater Vehicle (UUV) when strong currents are prevalent, and documenta...
Technical Report
Full-text available
In diesem Artikel werden der Aufbau und die Einsatzmöglichkeiten des kostengünstigen Mini-UBootes Eckbert II aus dem Projekt Archaeonautic vorgestellt. Es eignet sich für die Sondierung und die Dokumentation von archäologischen Artefakten und Fundstellen unter Wasser. Die notwendigen Modifikationen zu einem flexiblen Multi-Kamerasystem und die dazu...
Conference Paper
Full-text available
Archaeology has been greatly benefiting from hardware evolution in UAVs and cameras. In keeping with the spirit of preferring low-cost and open technologies, many archaeologists are turning to free and open source software for data processing. Low-cost UAVs in combination with small action cameras are being employed by a diversity of archaeological...
Conference Paper
Full-text available
An open source framework for general gesture recognition is presented and tested with isolated signs of sign language. Other than common systems for sign language recognition, this framework makes use of Kinect, a depth camera which makes real-time 3D-reconstruction easily applicable. Recognition is done using hidden Markov models with a continuous...
Conference Paper
A common task in the field of document digitization for information retrieval is separating text and non-text elements. In this paper an innovative approach of recognizing patterns is presented. Statistical and structural features in arbitrary number are combined into a rating tree, which is an adapted decision tree. Such a tree is trained for char...
Article
Den Datentyp Warteschlange haben wir bereits in Kap. 11 kennengelernt. Eine Warteschlange kann an jeder Supermarktkasse beobachtet werden. Elemente werden hinten angefügt und von vorne abgearbeitet. In einigen Situationen kann es aber wünschenswert sein, Elemente mit höheren Prioritäten zu versehen, damit diese sich vordrängeln können.
Article
In diesem Kapitel untersuchen wir, wie lange unsere Programme für die Lösung eines Problems benötigen. Dabei messen wir nicht experimentell die Zeit, da diese von Computer zu Computer unterschiedlich ist, sondern wir versuchen analytisch festzustellen, wie viele primitive Operationen ein Prozessor durchführen muss.
Article
Full-text available
In den vielen Jahren der Entwicklung von Programmiersprachen haben sich drei einfache Datentypklassen etabliert [2]. Es gibt Wahrheitswerte, Zahlen und Symbole. Diese kleinsten Bausteine können wir als atomar bezeichnen. Später sehen wir, wie sich daraus komplexere Datentypen konstruieren lassen.
Article
Monaden sind ein mathematisches Konzept aus der Kategorientheorie und werden in Haskell unter anderem auch für die Ein- und Ausgabe verwendet. Viele Haskell-Studenten haben gerade mit dem Monaden-Konzept Schwierigkeiten und einige glauben, dass die Verwendung von Monaden den Prinzipien der funktionalen Programmierung widerspricht.
Article
In der heutigen Zeit müssen wir uns in so vielen Bereichen auf computerbasierte Systeme verlassen, dass es geradezu zwingend notwendig ist, benutzbare, wartbare und fehlerfreie Software zu entwickeln. Aus diesem Grund sind funktionale Programmiersprachen für den Einstieg in die Programmierung besonders gut geeignet, denn sie verlangen von Programm...
Article
In den 1930er Jahren, als sich die Informatik gerade als eigenständige wissenschaftliche Disziplin etablierte und die ersten programmierbaren Rechenmaschinen gebaut wurden, wurde die Frage diskutiert: Welche Probleme lassen sich theoretisch überhaupt durch Computer lösen bzw. berechnen?
Article
Um Dinge der realen Welt in seinen Programmen abzubilden, ist es nur in den seltensten Fällen komfortabel alles als Zahlen, Strings oder Listen zu kodieren. Es ist ein höherer Abstraktionsgrad notwendig. So können weniger Gedanken in die Eigenarten der Kodierung und mehr Energie für die Lösung des eigentlichen Problems aufgewendet werden. Zu diese...
Article
Der abstrakte Datentyp Wörterbuch findet in vielen Anwendungen seinen Einsatz und trägt den Namen aufgrund der Ähnlichkeit zum physikalischen Wörterbuch. Elemente können mit einem Schlüssel darin abgelegt und anschließend effizient wiedergefunden werden. Ein sehr einfaches Wörterbuch haben wir schon in Abschn. 8.4 verwendet. In diesem Kapitel werd...
Article
Bisher haben wir uns von der Richtigkeit unserer Programme durch Ausprobieren und scharfes Hinsehen überzeugt. Das hat ganz gut funktioniert, aber wirklich sicher konnten wir uns nie sein, dass wir nicht etwas übersehen haben. In diesem Kapitel lernen wir, wie sich mathematische Beweise zur Verifikation von Programmen führen lassen.
Article
Durch geeignete Kombinationen aus den Basisdatentypen lassen sich neue, komplexere Strukturen von Daten erstellen. In diesem Kapitel werden Listen vorgestellt. Listen sind dabei geordnete Speicher für Elemente gleichen Typs. Der Umgang mit größeren Datenmengen wird dabei erleichtert und eine höhere Datenabstraktion ist möglich.
Article
Der Begriff Rekursion kommt aus dem Lateinischen (recurrere) und bedeutet zurücklaufen. Eine rekursive Funktion ruft sich in aller Regel solange selbst wieder auf, bis ein Rekursionsanker erreicht wird. Die Rekursion ist dabei ein natürlicher Lösungsweg, den Menschen auch im täglichen Leben verwenden. Ist das Problem leicht, kann es sofort gelöst...
Article
Eine Warteschlange (queue) als Datenstruktur verhält sich im Prinzip nicht anders, als die bekannte Personenkette an den Kassen von Supermärkten. Es gibt die Möglichkeit, sich hinten anzustellen, aber die Bedienung der Personen beginnt vorn. Als abstrakter Datentyp ist eine Warteschlange ein Containertyp Queue a, der mehrere Elemente des Typs a en...
Article
Listen in Haskell sind einfach verkettet. In konstanter Zeit kann am Kopf der Liste etwas angehangen oder umgekehrt dieser auch entfernt werden. Leider ist es nicht effizient möglich, auf das n-te Element zuzugreifen. Diese Operation hat eine Laufzeit von O(n), was für längere Listen zu aufwändig ist. In diesem Kapitel wollen wir uns überlegen, wie...
Article
Bisher haben wir schon an der einen oder anderen Stelle Funktionen verwendet. Hier wollen wir dieses Konzept Schritt für Schritt erarbeiten und konkretisieren. Um Funktionen in Haskell zu beschreiben, verwenden wir das Skriptformat hs (s. Abschn. 1.3.5), da sich die Kommentare größtenteils im Text des Buches und nicht im Programm befinden werden.
Article
In den folgenden Kapiteln werden wir uns mit verschiedenen Möglichkeiten beschäftigen, wie sich Daten organisieren lassen. Die Operationen sollen möglichst effizient realisiert und die jeweiligen Vor- und Nachteile besprochen werden. Die Menge der gewünschten Operationen beschreibt einen sogenannten abstrakten Datentypen, der mit ADT abgekürzt wir...
Article
Bisher haben wir Funktionen entwickelt, die entweder Basisdatentypen oder Listen von Basisdatentypen als Eingabeparameter erhalten haben. Funktionen können aber auch andere Funktionen als Argumente erhalten. Diese Funktionen werden als Funktionen höherer Ordnung bezeichnet. Das ist nützlich, um wiederkehrende Muster im Programmcode zu vermeiden, w...
Article
Um erfolgreich größere Projekte zu realisieren, Programmcode übersichtlich zu gestalten und die Interaktion der Methoden untereinander transparent zu halten, ist die Modularisierung ein wichtiges Werkzeug. Auch aus Gründen der Wiederverwendbarkeit, Wartung und Fehlerlokalisierung ist es ratsam, Programme in Teile zu zerlegen und durch diese Modular...
Chapter
Graphen spielen in der Informatik eine außerordentlich wichtige Rolle. Viele Probleme lassen sich sehr anschaulich auf Graphen abbilden und so auf bekannte Lösungsstrategien zurückführen. So werden beispielsweise Entscheidungen zur Wegefindung, die künstliche Spieler oder Roboter treffen müssen, oft durch Graphen abgebildet [12].
Chapter
Die Datenstruktur Baum liegt vielen Algorithmen zu Grunde. Bäume bestehen aus Knoten und Kanten. Der Startknoten wird als Wurzel bezeichnet. In den Knoten und an den Kanten können bei Bedarf zusätzliche Informationen gespeichert werden. Alle kreisfreien Datenstrukturen, wie beispielsweise Listen, lassen sich durch Bäume repräsentieren. In der Infor...
Article
In diesem Kapitel wollen wir uns mit Beispielen aus der Bildverarbeitung beschäftigen. Dabei werden wir lernen, wie Bilder im Rechner dargestellt und manipuliert werden können. Eine kleine Einführung in die Rechnung mit komplexen Zahlen hilft uns, schicke Fraktale zu zeichnen. Wir werden Farben invertieren, farbige Bilder in Grauwertbilder konvert...
Article
Das Gebiet der Künstlichen Intelligenz (KI) ist zu umfassend, um auch nur einen Überblick in diesem Kapitel geben zu können. Daher werden in diesem Kapitel ein paar – wie ich finde – interessante Aspekte herausgepickt und exemplarisch erläutert. Wir werden sehen, dass unser bisheriges Wissen über Java ausreicht, um in diese Materie einzusteigen und...
Article
Anhand kleiner Projekte haben wir wichtige Konzepte und Methoden der Softwareentwicklung kennengelernt. Jetzt ist es an der Zeit, ein großes Projekt von der Entwurfssphase bis zur fertigen Präsentation durchzuführen. Als Beispiel haben wir Tetris gewählt und unsere Variante mit dem Namen TeeTrist versehen, da sie über einen überschaubaren Funktion...
Article
Unser erster Abschnitt beschäftigt sich zunächst mit der Installation von Java, der Wahl einer Entwicklungsumgebung und der Motivation zum Selbststudium. Im zweiten Teil dieses Kapitels werden wir die kleinsten Java-Bausteine kennenlernen und schon mit den ersten Programmierübungen beginnen. Ein innerer Antrieb und viele praktische Übungen sind un...
Article
Zum Handwerkzeug eines Programmierers gehört die Fähigkeit, Fehler in seinen und anderen Programmen aufzuspüren und zu behandeln. Im folgenden Kapitel werden wir ein paar dieser Techniken kennenlernen und gemeinsam auf die Suche nach Fehlern gehen. Die bessere Methode allerdings ist die Investition in ein gutes Konzept, um viele Fehler bereits vor...
Article
In vielen Fällen ist es erforderlich, in Dateien vorliegende Daten für die Ausführung eines Programms zu verwenden. Es könnte z.B. eine Datei vorliegen, in der die Namen, Matrikelnummern und erreichten Punkte in den Übungszetteln gespeichert sind und es stellt sich die Frage, wer von den Studenten nun die Zulassung für die Klausur erworben hat. Ebe...
Article
Java bietet die Möglichkeit, Programme zu entwerfen, die in Webseiten eingebettet werden und somit im Webbrowser laufen können. Diese Programme heißen Applets. Die meisten auf Frames basierenden Anwendungen können schon mit wenigen Änderungen zu Applets umfunktioniert werden. Bevor wir aber mit den Applets starten, machen wir uns mit dem Aufbau ein...
Article
Bisher haben wir ein sehr einfaches Klassenkonzept verwendet, um die ersten Programmierübungen beginnen zu können. Jetzt ist es an der Zeit den Begriff Objektorientierung näher zu beleuchten und zu verstehen. Wir werden mit dem Spielprojekt Fußballmanager verschiedene Konzepte erörtern. Parallel zu den Grundideen werden wir eine Motivation für die...
Article
In Java gibt es verschiedene Möglichkeiten, Fenster zu erzeugen und deren grafische Gestaltung vorzunehmen. Damit haben wir die Gelegenheit, endlich einmal etwas Farbe in unsere Programme zu bringen. Für unsere Beispiele werden wir AWT (= Abstract Window Toolkit) kennenlernen und verwenden. AWT stellt die Basis der meisten bekannten Grafikpakete d...
Article
Der aufmerksame Leser ist jetzt bereits schon in der Lage, Softwareprojekte erfolgreich zu meistern. Die Kapitel und Übungsaufgaben waren so aufgebaut, dass mit einem minimalen roten Faden bereits in kürzester Zeit, kleine Softwareprojekte zu realisieren waren. Ich lege dem Leser hier nahe, in ähnlicher Weise fortzufahren. Fangen Sie nicht gleich m...
Article
Bisher können wir schon recht erfolgreich kleine Probleme durch Javaprogramme lösen. Die gesammelten Lösungen müssen wir jetzt nicht jedes Mal neu erarbeiten oder die Inhalte von einer Klasse in die nächste kopieren, sondern können damit beginnen, sie zu sammeln und dann wiederzuverwenden. Java bietet dafür das Bibliothekenkonzept. Mit Bibliotheken...
Article
Das letzte Kapitel hat uns eine Tür in die Welt der Objektorientierung geöffnet und uns damit scheinbar ein komplett neues Werkzeug in die Hand gegeben. Es ist aber so, dass wir bisher bereits objektorientiert gearbeitet haben, es nur nicht wussten. In den vorhergehenden Kapiteln sind einige Fragen aufgekommen, die mit dem Konzept der Objektorient...
Article
In diesem Kapitel werden wir sehen, dass die Erstellung von Programmen viel mit alltäglichen Abläufen zu tun hat. Kochrezepte lassen sich beispielsweise als Programme auffassen und mit diesem naheliegenden Vergleich wird klar, Programmieren kann jeder! Die Erstellung von Programmen lässt sich auf nur drei Programmierkonzepte reduzieren. Diese drei...
Article
In diesem Kapitel werden wir weniger auf die Effizienz einzelner Problemlösungen zu sprechen kommen, als vielmehr verschiedene Ansätze aufzeigen, mit denen Probleme gelöst werden können. Es soll ein Einblick in die verschiedenen Programmiertechniken gegeben werden, die beim Entwurf von Programmen zum Einsatz kommen können. In diesem Kapitel werden...
Article
Bisher haben primitive Datentypen für die Lösung einfacher Probleme ausgereicht. Jetzt wollen wir uns mit zusammengesetzten Datentypen auseinandersetzen, den so genannten Datenstrukturen. Das Wort Datenstruktur verrät schon, dass es sich um Daten handelt, die in irgendeiner Form in Strukturen, die spezielle Eigenschaften besitzen, zusammengefasst w...
Article
Full-text available
Segmentation in color images is a complex and challenging task in particular to overcome changes in light intensity caused by noise and shadowing. Most of the segmentation algorithms do not tolerate variations in color hue corresponding to the same object. By means of the Learning Vector Quantization (LVQ) networks, neighboring neurons are able to...
Chapter
Segmentation in color images is a complex and challenging task in particular to overcome changes in light intensity caused by noise and shadowing. Most of the segmentation algorithms do not tolerate variations in color hue corresponding to the same object. By means of the Learning Vector Quantization (LVQ) networks, neighboring neurons are able to...
Article
Full-text available
Zusammenfassung—In der Game Description Language lassen sich rundenbasierte Spiele mit vollständiger Information ohne stochastische Ereignisse beschreiben. Obwohl die Sprache erst 2005 entwickelt wurde, hat sie eine hohe Akzeptanz innerhalb der Wissenschaftgemeinde. Es werden Programme entwickelt, die aus den Spielbeschreibungen Strategien ableiten...
Conference Paper
Full-text available
In this paper, a new binarization algorithm for degraded document images is proposed. The method is based on positive and negative pixel energies using the Laplacian of an image. After a filtering step and morphological operations our local contrast segmentation method is able to detecting connected components. The given approach is applied to case...
Conference Paper
Full-text available
This paper presents a new algorithm for fusioning im- ages of text-documents taken with different exposures. It is compared to several standard block oriented exposure- and focus-blending-algorithms. The recognition rate of a pub- licly available OCR-engine is used as a benchmark to quan- tify the results. Experiments show in average an improve- me...
Book
Das Buch bietet eine kompakte Einführung in die Softwareentwicklung mit Java. Dabei liegt der Fokus eher auf Konzepten und Methoden als auf Sprachelementen. Die Konzepte werden anhand der beispielhaften Realisierung von Projekten vermittelt. Dabei setzt der Autor auf kreative Projektbeispiele, die verschiedene Gebiete der Informatik streifen wie z....
Article
Full-text available
Up until recently, the use of reinforcement learning (RL) in chess programming has been problematic and failed to yield the expected results. The breakthrough was finally achieved through Gerald's Tesauros work on backgammon, which resulted in a program that could beat the world champion of backgammon in the majority of the matches they played. Our...
Conference Paper
Full-text available
We describe a threshold-based local algorithm for image binarization. The main idea is to compute a transition energy using pixel value differences taken from a neighborhood around the pixel of interest. By filtering the pixels with low positive and negative energy, we keep two subsets in the neighborhood, corresponding to higher positive and negat...
Conference Paper
Full-text available
This paper describes a new versatile algorithm for correcting nonlinear distortions, such as curvature of book pages, in camera based document processing. We introduce the idea of using local orientation features to interpolate a vector field from which a warping mesh is derived. Ultimately, the image is corrected by approximating the nonlinear dis...
Conference Paper
Full-text available
In this paper we extend Active Monte Carlo Recog- nition (AMCR), a recently proposed framework for object recognition. The approach is based on the analogy between mobile robot localization and object recognition. Up to now AMCR was only shown to work for shape recognition on binary im- ages. In this paper, we significantly extend the ap- proach to...
Article
Full-text available
Zusammenfassung—Viele Verfahren identifizieren zunächst Textzeilen und ermitteln anschließend über die Dokumentrand-eigenschaften die notwenige Korrekturtransformation. Das in dieser Arbeit vorgestellte Verfahren benötigt keine Dokumen-trandeigenschaften, sondern ermittelt die Dokumentorientierung anhand der Buchstabenausrichtungen. Als Interpolati...
Article
Full-text available
We developed a local algorithm specialized in im-proving the images of letters. The goal is to extract the characters that have a lower gray level than the background. The new algorithm has an emphasis in the characthers edge. Using the gray level range in any pixel neighbourhood, we define the transition energy concept. Transition energy allows to...
Article
Full-text available
Abstract—In this paper we present SITT, a simple robust scaleinvariant text feature detector for document mosaicing. Digital image,stitching has been,studied for several decades. SIFT-Features in combination with RANSAC algorithm,are established to produce good,panoramas.,The main,problem,of realtime text document,stitching is the size of the featu...

Network

Cited By