DE112022003299T5 - Bildverarbeitungsvorrichtung, bildverarbeitungsverfahren und programm - Google Patents

Bildverarbeitungsvorrichtung, bildverarbeitungsverfahren und programm Download PDF

Info

Publication number
DE112022003299T5
DE112022003299T5 DE112022003299.5T DE112022003299T DE112022003299T5 DE 112022003299 T5 DE112022003299 T5 DE 112022003299T5 DE 112022003299 T DE112022003299 T DE 112022003299T DE 112022003299 T5 DE112022003299 T5 DE 112022003299T5
Authority
DE
Germany
Prior art keywords
dimensional
dimensional coordinates
imaging device
coordinates
measuring sensor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112022003299.5T
Other languages
English (en)
Inventor
Hiroaki Kikuchi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Corp
Original Assignee
Fujifilm Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujifilm Corp filed Critical Fujifilm Corp
Publication of DE112022003299T5 publication Critical patent/DE112022003299T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/86Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Electromagnetism (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

Ein Prozessor einer Bildverarbeitungsvorrichtung ist so konfiguriert, dass er: dreidimensionale Koordinaten eines dreidimensionalen Entfernungsmesssensorsystems, die in einem auf einen dreidimensionalen Entfernungsmesssensor angewendeten dreidimensionalen Koordinatensystem definiert sind, erfasst, wobei die dreidimensionalen Koordinaten des dreidimensionalen Entfernungsmesssensorsystems in der Lage sind, Positionen von mehreren Messpunkten zu spezifizieren; dreidimensionale Koordinaten eines Bildgebungsvorrichtungssystems auf der Grundlage der dreidimensionalen Koordinaten des dreidimensionalen Entfernungsmesssensorsystems erfasst; die dreidimensionalen Koordinaten des Bildgebungsvorrichtungssystems in zweidimensionale Koordinaten des Bildgebungsvorrichtungssystems umwandelt, die in der Lage sind, eine Position in einem aufgenommenen Bild zu spezifizieren; die dreidimensionalen Koordinaten des Bildgebungsvorrichtungssystems in zweidimensionale Koordinaten eines Anzeigesystems umwandelt, die in der Lage sind, eine Position auf einem Bildschirm zu spezifizieren; und ein Pixel, das das aufgenommene Bild bildet, einer Interpolationsposition auf dem Bildschirm zuordnet, die durch ein Interpolationsverfahren, das die zweidimensionalen Koordinaten des Bildgebungsvorrichtungssystems und die zweidimensionalen Koordinaten des Anzeigesystems verwendet, spezifiziert wird.

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Die Technik der vorliegenden Offenbarung betrifft eine Bildverarbeitungsvorrichtung, ein Bildverarbeitungsverfahren und ein Programm.
  • 2. Beschreibung des Standes der Technik
  • JP2012-220471A offenbart eine Erzeugungsvorrichtung für Abwicklungsansicht. Die in JP2012-220471 Abeschriebene Erzeugungsvorrichtung für Abwicklungsansicht enthält: eine Speichereinheit, die ein durch Bildgebung einer Wandfläche eines Tunnels aufgenommenes Bild und Messpunktdaten mit einem Intensitätswert von Reflexion und Koordinatenwerten mehrerer Messpunkte auf der Wandfläche, die durch Durchführen von Laserscan-Messung an der Wandfläche erhalten werden, speichert; eine Umwandlungseinheit, die Koordinatenumwandlung zum Anordnen mehrerer Messpunkte auf einer Wandfläche in einer Abwicklungsansicht der Wandfläche durchführt; eine Gegenprüfeinheit, die Ausrichtung zwischen einem Bild und den mehreren Messpunkten, die der Koordinatenumwandlung unterzogen wurden, auf der Grundlage des Intensitätswerts der Reflexion durchführt; eine Verschiebungsform-Erzeugungseinheit, die eine Verschiebungsform, auf die eine ungleichmäßige Form, bei der ein Wert von Koordinaten in einer Richtung senkrecht zu einer Abwicklungsebene der Wandfläche widergespiegelt wird, angewendet wird, auf der Grundlage von Koordinaten der mehreren Messpunkte, die der Koordinatenumwandlung unterzogen wurden, erzeugt; und eine Zeichnungseinheit, die ein Muster des Ausrichtung unterzogenen Bildes auf die Verschiebungsform zeichnet.
  • JP2017-106749A offenbart ein Punktwolkendaten-Erfassungssystem, das eine erste elektronische Vorrichtungsgruppe, die eine erste elektronische Vorrichtung und eine oder mehrere bewegliche zweite elektronische Vorrichtungen aufweist, enthält und das Punktwolkendaten, die Tiefeninformationen bis zu jedem Punkt auf einer Oberfläche eines Objekts in einer Pixeleinheit aufweisen, erfasst.
  • Bei dem in JP2017-106749A offenbarten Punktwolkendaten-Erfassungssystem enthält die zweite elektronische Vorrichtung eine dreidimensionale Messeinheit, die ein zweites Koordinatensystem aufweist und die Punktwolkendaten eines Objekts auf der Grundlage des zweiten Koordinatensystems misst, und mehrere Markierungen, die mehrere vorbestimmte Markierungen mit visuellen Eigenschaften sind und die mehrere Markierungen sind, von denen jede an einer linear unabhängigen Position in dem zweiten Koordinatensystem vorgesehen ist. Ferner enthält bei dem in JP2017-106749A offenbarten Punktwolkendaten-Erfassungssystem die erste elektronische Vorrichtung eine Positionsmesseinheit, die ein erstes Koordinatensystem aufweist und die ein Objekt auf der Grundlage des ersten Koordinatensystems misst. Das Punktwolkendaten-Erfassungssystem weist ferner ein Referenzkoordinatensystem auf und enthält: eine Markierungspositionsinformations-Berechnungseinheit, die Positionsinformationen von zweiter elektronischer Vorrichtung, die Koordinatenwerte der mehreren Markierungen in dem in der zweiten elektronischen Vorrichtung enthaltenen ersten Koordinatensystem sind, auf der Grundlage der von der Positionsinformations-Messeinheit gemessenen Daten berechnet; eine Punktwolkendaten-Koordinatenwert-Umwandlungseinheit, die auf der Grundlage der Positionsinformationen von zweiter elektronischer Vorrichtung Koordinatenwerte von Daten von jeweiligen Punkten in dem zweiten Koordinatensystem bei den Punktwolkendaten, die von der in der zweiten elektronischen Vorrichtung enthaltenen dreidimensionalen Messeinheit gemessen wurden, in Koordinatenwerte in einem Referenzkoordinatensystem umwandelt; und eine Erzeugungseinheit für kombinierte Punktwolkendaten, die eine kombinierte Punktwolkendatenangabe auf der Grundlage der Koordinatenwerte in dem Referenzkoordinatensystem erzeugt, in dem mehrere Punktwolkendaten, die von der in der zweiten elektronischen Vorrichtung enthaltenen dreidimensionalen Messeinheit gemessen wurden, durch die Punktwolkendaten-Koordinatenwert-Umwandlungseinheit umgewandelt wurden.
  • Es werden in JP2018-025551A eine erste elektronische Vorrichtung, die eine Tiefenkamera, die Punktwolkendaten eines Objekts auf der Grundlage eines Tiefenkamera-Koordinatensystems misst, enthält, und eine zweite elektronische Vorrichtung, die eine Nicht-Tiefenkamera, die zweidimensionale Bilddaten des Objekts auf der Grundlage eines Nicht-Tiefenkamera-Koordinatensystems erfasst, enthält, bereitgestellt. JP2018-025551A offenbart eine Technik des Umwandelns der zweidimensionalen Bilddaten des Objekts in die Punktwolkendaten durch Zuordnen der Punktwolkendaten, bei denen Koordinatenwerte von jeweiligen Punkten auf einer Oberfläche des Objekts, die von der Tiefenkamera gemessen werden, in Koordinatenwerte in dem Nicht-Tiefenkamera-Koordinatensystem umgewandelt wurden, zu zweidimensionalen Bilddaten des Objekts, die von der Nicht-Tiefenkamera erfasst wurden.
  • JP4543820B offenbart eine dreidimensionale Verarbeitungsvorrichtung, die enthält: eine Zwischeninterpolationseinheit, die einen Hilfszwischenpunkt bei jeder Liniendatenangabe von dreidimensionalen Vektordaten, die mehrere Liniendaten enthalten, interpoliert; eine TIN-Erzeugungseinheit, die ein unregelmäßiges dreieckiges Netz aus dreidimensionalen Koordinatenwerten des Hilfszwischenpunkts und eines Punkts, der jede Liniendatenangabe der dreidimensionalen Vektordaten beschreibt, bildet, um TIN(triangulated irregulär network, unregelmäßiges Dreiecksnetz)-Daten, die jedes Dreieck definieren, zu erzeugen; und eine Gitterkoordinaten-Berechnungseinheit, die eine Sucheinheit, die nach einem in den TIN-Daten enthaltenen TIN sucht, und eine Koordinatenwert-Berechnungseinheit, die Koordinatenwerte der in dem gesuchten TIN enthaltenen Gitterpunkte berechnet, enthält, wobei die Gitterkoordinaten-Berechnungseinheit Koordinatenwerte von den jeweiligen Gitterpunkten aus den TIN-Daten durch Anwenden eines Gitters mit einem vorbestimmten Gitterabstand auf die TIN-Daten berechnet und Gitterdaten, die dreidimensionale Koordinaten für jeden Gitterpunkt angeben, ausgibt. Bei der in JP4543820B beschriebenen dreidimensionalen Datenverarbeitungsvorrichtung bestimmt die Koordinatenwert-Berechnungseinheit einen maximalen Gitterbereich, der in einem von dem TIN umschriebenen Viereck aufgenommen wird, sucht nach Gitterpunkten, die in dem innerhalb des maximalen Gitterbereichs gesuchten TIN enthalten sind, und berechnet Koordinatenwerte von jeweiligen gesuchten Gitterpunkten aus Koordinatenwerten von drei Scheiteln des TIN.
  • „As-is 3D Thermal Modeling for Existing Building Envelopes Using a Hybrid LIDAR System", Chao Wang, Yong K. Cho, Journal of Computing in Civil Engineering, 2013, 27, 645-656 (nachstehend als „Nicht-Patentdokument 1“ bezeichnet) offenbart ein Verfahren des Kombinierens von gemessenen Temperaturdaten mit einer dreidimensionalen Geometrie eines Gebäudes. Bei dem in Nicht-Patentdokument 1 beschriebenen Verfahren wird eine Funktion des virtuellen Darstellens einer Energieeffizienz und einer Umweltbelastung eines tatsächlich vorhandenen Gebäudes verwendet. Ferner stellt das in Nicht-Patentdokument 1 beschriebene Verfahren visuelle Informationen durch Verwenden eines LiDAR(Light Detection and Ranging)-Systems des Hybridtyps bereit. Dadurch wird Modifikation des Gebäudes gefördert.
  • Bei dem in Nicht-Patentdokument 1 offenbarten Verfahren hält ein 3D-Temperaturmodell geometrische Punktwolkendaten eines Gebäudes zusammen mit Temperaturdaten (einer Temperatur und Temperaturfarbinformationen, die auf der Grundlage der Temperatur erzeugt werden) jedes Punkts fest. Das LiDAR kann von einem transparenten Objekt keine geometrischen Daten sammeln. Daher ist es notwendig, einen Scheitel einer virtuellen Temperatur bei Fensterglas zu erzeugen. Daher wird bei dem in Nicht-Patentdokument 1 beschriebenen Verfahren ein Algorithmus verwendet, der ein Fenster spezifiziert. Ein Rahmen eines in Nicht-Patentdokument 1 vorgeschlagenen Dienstes enthält die folgenden Elemente. (1) Ein hybrides 3D-LiDAR-System, das eine Punktwolke und eine Temperatur von einer Außenwand des tatsächlich vorhandenen Gebäudes gleichzeitig sammelt. (2) Automatische Kombination zwischen den gesammelten Punktwolken- und Temperaturdaten. (3) Ein Fensterdetektionsalgorithmus zum Ergänzen von Unfähigkeit des LiDAR bei Detektion eines Fensterglases. (4) Zeichnen auf einer GUI. (5) Ein Programm einer webbasierten Raumaufteilung zum Bestimmen von Ausbessern oder dergleichen.
  • Nicht-Patentdokument 1 beschreibt, dass das LiDAR und eine Infrarotstrahl(infrared ray, IR)-Kamera in Bezug auf einen Sitz einer Schwenk- und Neigeeinheit (pan and tilt unit, PTU) stationär bleiben (siehe 5) und dass bei einem Bildgebungssystem im Voraus für Verzeichnung der IR-Kamera kalibriert wird. Ferner beschreibt Nicht-Patentdokument 1, dass eine Schwarz-Weiß-Inspektionsplatte verwendet wird (siehe 7). Ferner beschreibt Nicht-Patentdokument 1, dass Kalibrierung von internen Parametern und externen Parametern notwendig ist, um eine durch LiDAR erhaltene Punktwolke mit einem von einer IR-Kamera aufgenommenen Bild zu kombinieren (siehe 6). Die internen Parameter beziehen sich auf eine Brennweite, einen Linsenhauptpunkt, einen Schrägverzeichnungskoeffizienten und einen Verzeichnungskoeffizienten, und die externen Parameter beziehen sich auf Drehmatrizen und parallele Translation.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Eine Ausführungsform gemäß der Technik der vorliegenden Offenbarung stellt eine Bildverarbeitungsvorrichtung, ein Bildverarbeitungsverfahren und ein Programm bereit, die in der Lage sind, zu hochauflösender Erzeugung eines Bildes auf einem Bildschirm beizutragen.
  • Es wird nach einem ersten Aspekt der Technik der vorliegenden Offenbarung eine Bildverarbeitungsvorrichtung bereitgestellt, die umfasst: einen Prozessor; und einen Speicher, der in den Prozessor eingebaut oder mit diesem verbunden ist, wobei eine Positionsbeziehung zwischen einem dreidimensionalen Entfernungsmesssensor und einer Bildgebungsvorrichtung, die eine höhere Abtastauflösung als der dreidimensionale Entfernungsmesssensor aufweist, gegeben ist. Der Prozessor ist so konfiguriert, dass er: dreidimensionale Koordinaten eines dreidimensionalen Entfernungsmesssensorsystems, die in einem auf den dreidimensionalen Entfernungsmesssensor angewendeten dreidimensionalen Koordinatensystem definiert sind, auf der Grundlage von Entfernungsmessergebnissen des dreidimensionalen Entfernungsmesssensors für mehrere Messpunkte erfasst, wobei die dreidimensionalen Koordinaten des dreidimensionalen Entfernungsmesssensorsystems in der Lage sind, Positionen der mehreren Messpunkte zu spezifizieren; dreidimensionale Koordinaten eines Bildgebungsvorrichtungssystems, die in einem auf die Bildgebungsvorrichtung angewendeten dreidimensionalen Koordinatensystem definiert sind, auf der Grundlage der dreidimensionalen Koordinaten des dreidimensionalen Entfernungsmesssensorsystems erfasst; die dreidimensionalen Koordinaten des Bildgebungsvorrichtungssystems in zweidimensionale Koordinaten des Bildgebungsvorrichtungssystems umwandelt, die in der Lage sind, eine Position in einem aufgenommenen Bild, das durch von der Bildgebungsvorrichtung durchgeführte Bildgebung aufgenommen wurde, zu spezifizieren; die dreidimensionalen Koordinaten des Bildgebungsvorrichtungssystems in zweidimensionale Koordinaten eines Anzeigesystems umwandelt, die in der Lage sind, eine Position auf einem Bildschirm zu spezifizieren; und ein Pixel, das das aufgenommene Bild bildet, einer Interpolationsposition auf dem Bildschirm zuordnet, die durch ein Interpolationsverfahren, das die zweidimensionalen Koordinaten des Bildgebungsvorrichtungssystems und die zweidimensionalen Koordinaten des Anzeigesystems verwendet, spezifiziert wird.
  • Nach einem zweiten Aspekt der Technik der vorliegenden Offenbarung ist bei der Bildverarbeitungsvorrichtung nach dem ersten Aspekt der Prozessor so konfiguriert, dass er einen polygonalen Patch auf der Grundlage der dreidimensionalen Koordinaten des Bildgebungsvorrichtungssystems erzeugt, und die dreidimensionalen Koordinaten des Bildgebungsvorrichtungssystems definieren eine Position eines Schnittpunkts des polygonalen Patches.
  • Nach einem dritten Aspekt der Technik der vorliegenden Offenbarung ist bei der Bildverarbeitungsvorrichtung nach dem zweiten Aspekt die Interpolationsposition eine Position auf dem Bildschirm, die einer anderen Position als dem Schnittpunkt des polygonalen Patches entspricht.
  • Nach einem vierten Aspekt der Technik der vorliegenden Offenbarung ist bei der Bildverarbeitungsvorrichtung nach dem zweiten oder dritten Aspekt der Prozessor so konfiguriert, dass er ein dreidimensionales Bild erzeugt, indem er ein Pixel an einer Position, die der Position des Schnittpunkts des polygonalen Patches entspricht, unter mehreren Pixeln, die in dem aufgenommenen Bild enthalten sind, einer Bildschirmschnittpunktposition auf dem Bildschirm, die der Position des Schnittpunkts des polygonalen Patches entspricht, zuordnet.
  • Nach einem fünften Aspekt der Technik der vorliegenden Offenbarung ist bei der Bildverarbeitungsvorrichtung nach einem von dem zweiten bis vierten Aspekt der polygonale Patch durch ein dreieckiges Netz oder ein viereckiges Netz definiert.
  • Nach einem sechsten Aspekt der Technik der vorliegenden Offenbarung ist bei der Bildverarbeitungsvorrichtung nach einem von dem ersten bis fünften Aspekt der Prozessor so konfiguriert, dass er die dreidimensionalen Koordinaten des Bildgebungsvorrichtungssystems erfasst, indem er die dreidimensionalen Koordinaten des dreidimensionalen Entfernungsmesssensorsystems in die dreidimensionalen Koordinaten des Bildgebungsvorrichtungssystems umwandelt.
  • Nach einem siebten Aspekt der Technik der vorliegenden Offenbarung ist bei der Bildverarbeitungsvorrichtung nach einem von dem ersten bis sechsten Aspekt der Prozessor so konfiguriert, dass er die dreidimensionalen Koordinaten des Bildgebungsvorrichtungssystems erfasst, indem er die dreidimensionalen Koordinaten des Bildgebungsvorrichtungssystems auf der Grundlage eines Merkmalspunkts eines Objekts, der zwischen Bildern von mehreren durch Abbilden des Objekts mit der Bildgebungsvorrichtung von unterschiedlichen Positionen aufgenommenen Einzelbildern als ein Bild enthalten ist, berechnet.
  • Nach einem achten Aspekt der Technik der vorliegenden Offenbarung ist bei der Bildverarbeitungsvorrichtung nach einem von dem ersten bis siebten Aspekt die Position auf dem Bildschirm eine Position auf einem Bildschirm einer Anzeige.
  • Nach einem neunten Aspekt der Technik der vorliegenden Offenbarung hält bei der Bildverarbeitungsvorrichtung nach einem von dem ersten bis achten Aspekt der Speicher Zuordnungsinformationen fest, bei denen die dreidimensionalen Koordinaten des dreidimensionalen Entfernungsmesssensorsystems und die zweidimensionalen Koordinaten des Bildgebungsvorrichtungssystems einander zugeordnet sind.
  • Nach einem zehnten Aspekt der Technik der vorliegenden Offenbarung ist bei der Bildverarbeitungsvorrichtung nach dem neunten Aspekt der Prozessor so konfiguriert, dass er das Pixel, das das aufgenommene Bild bildet, der Interpolationsposition unter Bezugnahme auf die Zuordnungsinformationen zuordnet.
  • Es wird nach einem elften Aspekt der Technik der vorliegenden Offenbarung ein Bildverarbeitungsverfahren bereitgestellt, das umfasst: Erfassen von dreidimensionalen Koordinaten eines dreidimensionalen Entfernungsmesssensorsystems, die in einem auf einen dreidimensionalen Entfernungsmesssensor angewendeten dreidimensionalen Koordinatensystem definiert sind, auf der Grundlage von Entfernungsmessergebnissen des dreidimensionalen Entfernungsmesssensors für mehrere Messpunkte, wobei die dreidimensionalen Koordinaten des dreidimensionalen Entfernungsmesssensorsystems unter der Bedingung, dass eine Positionsbeziehung zwischen dem dreidimensionalen Entfernungsmesssensor und einer Bildgebungsvorrichtung, die eine höhere Abtastauflösung als der dreidimensionale Entfernungsmesssensor aufweist, gegeben ist, in der Lage sind, Positionen der mehreren Messpunkte zu spezifizieren; Erfassen von dreidimensionalen Koordinaten eines Bildgebungsvorrichtungssystems, die in einem auf die Bildgebungsvorrichtung angewendeten dreidimensionalen Koordinatensystem definiert sind, auf der Grundlage der dreidimensionalen Koordinaten des dreidimensionalen Entfernungsmesssensorsystems; Umwandeln der dreidimensionalen Koordinaten des Bildgebungsvorrichtungssystems in zweidimensionale Koordinaten des Bildgebungsvorrichtungssystems, die in der Lage sind, eine Position in einem aufgenommenen Bild, das durch von der Bildgebungsvorrichtung durchgeführte Bildgebung aufgenommen wurde, zu spezifizieren; Umwandeln der dreidimensionalen Koordinaten des Bildgebungsvorrichtungssystems in zweidimensionale Koordinaten eines Anzeigesystems, die in der Lage sind, eine Position auf einem Bildschirm zu spezifizieren; und Zuordnen eines Pixels, das das aufgenommene Bild bildet, zu einer Interpolationsposition auf dem Bildschirm, die durch ein Interpolationsverfahren, das auf den zweidimensionalen Koordinaten des Bildgebungsvorrichtungssystems und den zweidimensionalen Koordinaten des Anzeigesystems basiert, spezifiziert wird.
  • Es wird nach einem zwölften Aspekt der Technik der vorliegenden Offenbarung ein Programm zum Veranlassen eines Computers, Verarbeitung auszuführen, bereitgestellt, die umfasst: Erfassen von dreidimensionalen Koordinaten eines dreidimensionalen Entfernungsmesssensorsystems, die in einem auf einen dreidimensionalen Entfernungsmesssensor angewendeten dreidimensionalen Koordinatensystem definiert sind, auf der Grundlage von Entfernungsmessergebnissen des dreidimensionalen Entfernungsmesssensors für mehrere Messpunkte, wobei die dreidimensionalen Koordinaten des dreidimensionalen Entfernungsmesssensorsystems unter der Bedingung, dass eine Positionsbeziehung zwischen dem dreidimensionalen Entfernungsmesssensor und einer Bildgebungsvorrichtung, die eine höhere Abtastauflösung als der dreidimensionale Entfernungsmesssensor aufweist, gegeben ist, in der Lage sind, Positionen der mehreren Messpunkte zu spezifizieren; Erfassen von dreidimensionalen Koordinaten eines Bildgebungsvorrichtungssystems, die in einem auf die Bildgebungsvorrichtung angewendeten dreidimensionalen Koordinatensystem definiert sind, auf der Grundlage der dreidimensionalen Koordinaten des dreidimensionalen Entfernungsmesssensorsystems; Umwandeln der dreidimensionalen Koordinaten des Bildgebungsvorrichtungssystems in zweidimensionale Koordinaten des Bildgebungsvorrichtungssystems, die in der Lage sind, eine Position in einem aufgenommenen Bild, das durch von der Bildgebungsvorrichtung durchgeführte Bildgebung aufgenommen wurde, zu spezifizieren; Umwandeln der dreidimensionalen Koordinaten des Bildgebungsvorrichtungssystems in zweidimensionale Koordinaten eines Anzeigesystems, die in der Lage sind, eine Position auf einem Bildschirm zu spezifizieren; und Zuordnen eines Pixels, das das aufgenommene Bild bildet, zu einer Interpolationsposition auf dem Bildschirm, die durch ein Interpolationsverfahren, das die zweidimensionalen Koordinaten des Bildgebungsvorrichtungssystems und die zweidimensionalen Koordinaten des Anzeigesystems verwendet, spezifiziert wird.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
    • 1 ist ein schematisches Konfigurationsdiagramm, das ein Beispiel einer Gesamtkonfiguration eines Systems für bewegliches Objekt zeigt.
    • 2 ist eine schematische perspektivische Ansicht, die ein Beispiel einer Detektionsachse eines Beschleunigungssensors und eines Winkelgeschwindigkeitssensors zeigt.
    • 3 ist ein Blockdiagramm, das ein Beispiel einer Hardwarekonfiguration eines Informationsverarbeitungssystems zeigt.
    • 4 ist ein Blockdiagramm, das ein Beispiel von Funktionen einer Haupteinheit eines Prozessors zeigt.
    • 5 ist ein Konzeptdiagramm, das ein Beispiel von Inhalten von Verarbeitung einer Erfassungseinheit zeigt.
    • 6 ist ein Konzeptdiagramm, das ein Beispiel eines Aspekts zeigt, bei dem ein LiDAR-Koordinatensystem in ein dreidimensionales Kamerakoordinatensystem umgewandelt wird.
    • 7 ist ein Konzeptdiagramm, das ein Beispiel von Inhalten der Verarbeitung der Erfassungseinheit zeigt.
    • 8 ist ein Konzeptdiagramm, das ein Beispiel von Inhalten von Verarbeitung einer Umwandlungseinheit zeigt.
    • 9 ist ein Konzeptdiagramm, das ein Beispiel eines Aspekts zeigt, bei dem dreidimensionale Kamerakoordinaten auf eine xy-Ebene und eine uv-Ebene perspektivisch projiziert werden.
    • 10 ist ein Konzeptdiagramm, das ein Beispiel von Inhalten von Verarbeitung einer Pixelzuordnungseinheit zeigt.
    • 11 ist ein Flussdiagramm, das ein Beispiel eines Flusses von Texturabbildungsverarbeitung zeigt.
    • 12 ist ein Vergleichsdiagramm des Vergleichens eines Ausführungsbeispiels, bei dem Pixel an Positionen, die nur TIN-Schnittpunkten entsprechen, einem Bildschirm zugeordnet sind, mit einem Ausführungsbeispiel, bei dem Pixel an Positionen, die den TIN-Schnittpunkten entsprechen, und Pixel an Positionen, die anderen Positionen als den TIN-Schnittpunkten entsprechen, dem Bildschirm zugeordnet sind.
    • 13 ist ein Konzeptdiagramm, das ein Beispiel eines Aspekts zeigt, bei dem ein Pixel eines Schwerpunkts oder eines Schwerpunktteils eines zweidimensionalen Kamerakoordinatensystems einem zweidimensionalen Bildschirmkoordinatensystem zugeordnet ist.
    • 14 ist ein Konzeptdiagramm, das ein Beispiel eines Aspekts zeigt, bei dem ein Pixel auf einer Seite des zweidimensionalen Kamerakoordinatensystems dem zweidimensionalen Bildschirmkoordinatensystem zugeordnet ist.
    • 15 ist ein Blockdiagramm, das ein Beispiel einer Funktion einer Haupteinheit eines Prozessors gemäß einem ersten Modifikationsbeispiel zeigt.
    • 16 ist ein Flussdiagramm, das ein Beispiel eines Flusses von Texturabbildungsverarbeitung gemäß dem ersten Modifikationsbeispiel zeigt.
    • 17 ist ein Konzeptdiagramm, das ein Beispiel eines Aspekts zeigt, bei dem das gleiche Objekt von einer Kamera eines beweglichen Objekts abgebildet wird, während eine Bildgebungsposition geändert wird.
    • 18 ist ein Konzeptdiagramm, das ein Beispiel von Inhalten von Verarbeitung eines Prozessors gemäß einem zweiten Modifikationsbeispiel zeigt.
    • 19 ist ein Konzeptdiagramm, das zum Beschreiben von Epipolargeometrie bereitgestellt ist.
    • 20 ist ein Konzeptdiagramm, das ein Beispiel eines Aspekts zeigt, bei dem die Texturabbildungsverarbeitung von einem Speichermedium auf einem Computer installiert wird.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Ein Beispiel einer Ausführungsform einer Bildverarbeitungsvorrichtung, eines Bildverarbeitungsverfahrens und eines Programms gemäß der Technik der vorliegenden Offenbarung wird nachstehend unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
  • Zunächst werden die Begriffe beschrieben, die in der folgenden Beschreibung verwendet werden.
  • CPU (central processing unit) ist eine Abkürzung für „Zentraleinheit“. GPU (graphics processing unit) ist eine Abkürzung für „Grafikverarbeitungseinheit“. RAM (random-access memory) ist eine Abkürzung für „Arbeitsspeicher“. IC (integrated circuit) ist eine Abkürzung für „integrierte Schaltung“. ASIC (application-specific integrated circuit) ist eine Abkürzung für „anwendungsspezifische integrierte Schaltung“. PLD (programmable logic device) ist eine Abkürzung für „programmierbare logische Schaltung“. FPGA ist eine Abkürzung für „feldprogrammierbares Gate-Array“. SoC ist eine Abkürzung für „System-on-Chip“. SSD (solid-state drive) ist eine Abkürzung für „Solid-State-Laufwerk“. USB ist eine Abkürzung für „Universal Serial Bus“. HDD (hard disk drive) ist eine Abkürzung für „Festplattenlaufwerk“. EL ist eine Abkürzung für „Elektrolumineszenz“. I/F (interface) ist eine Abkürzung für „Schnittstelle“. UI (user interface) ist eine Abkürzung für „Benutzerschnittstelle“. CMOS (complementary metal-oxide-semiconductor) ist eine Abkürzung für „komplementärer Metalloxid-Halbleiter“. CCD (charge-coupled device) ist eine Abkürzung für „ladungsgekoppeltes Bauteil“. LiDAR ist eine Abkürzung für „Light Detection and Ranging“. TIN (triangulated irregulär network) ist eine Abkürzung für „unregelmäßiges Dreiecksnetz“. In der vorliegenden Beschreibung bezieht sich ein Schnittpunkt auf einen Punkt (das heißt einen Scheitelpunkt), an dem sich zwei benachbarte Seiten eines Polygons schneiden. Ferner bezieht sich in der vorliegenden Beschreibung eine andere Position als der Schnittpunkt eines Polygons oder eines polygonalen Patches auf eine Position innerhalb des Polygons oder des polygonalen Patches (in dem Polygon). Das Innere des Polygons (in dem Polygon) enthält auch eine Seite des Polygons.
  • Wie in 1 gezeigt, enthält ein Informationsverarbeitungssystem 2 beispielsweise ein bewegliches Objekt 10 und eine Informationsverarbeitungsvorrichtung 20. Eine Sensoreinheit 30 ist an dem beweglichen Objekt 10 montiert. Ein Beispiel des beweglichen Objekts 10 ist ein unbemanntes bewegliches Objekt. Bei dem in 1 gezeigten Beispiel ist ein unbemanntes Luftfahrzeug (zum Beispiel eine Drohne) als ein Beispiel des beweglichen Objekts 10 gezeigt.
  • Das bewegliche Objekt 10 wird zur Vermessung und/oder Inspektion von Land, Infrastruktur und/oder dergleichen verwendet. Beispiele für die Infrastruktur umfassen Straßenausrüstung (zum Beispiel eine Brücke, eine Straßenoberfläche, ein Tunnel, eine Leitplanke, eine Ampel und/oder eine winddichte Windschutzscheibe), Wasserwegausrüstung, Flughafenausrüstung, Hafenausrüstung, Wasserspeicherausrüstung , Gasausrüstung, Stromversorgungsausrüstung, medizinische Ausrüstung und/oder Feuerlöschausrüstung.
  • Während hier das unbemannte Luftfahrzeug als ein Beispiel des beweglichen Objekts 10 beispielhaft dargestellt ist, ist die Technik der vorliegenden Offenbarung nicht darauf beschränkt. Zum Beispiel kann das bewegliche Objekt 10 ein Fahrzeug sein. Beispiele des Fahrzeugs umfassen ein Fahrzeug mit einer Gondel, ein Fahrzeug für Luftarbeit, ein Fahrzeug für Brückeninspektion und dergleichen. Ferner kann das bewegliche Objekt 10 ein Schieber, ein Wagen oder dergleichen sein, an dem die Sensoreinheit 30 montiert werden kann. Des Weiteren kann das bewegliche Objekt 10 eine Person sein. Hier bezieht sich eine Person beispielsweise einen Arbeiter, der die Sensoreinheit 30 trägt und die Sensoreinheit 30 bedient, um Vermessung und/oder Inspektion des Landes und/oder der Infrastruktur durchzuführen.
  • Die Informationsverarbeitungsvorrichtung 20 ist ein Laptop-Personal Computer. Hier ist der Laptop-Personal Computer beispielhaft dargestellt, aber dies ist nur ein Beispiel, und ein Personal Computer des Desktop-Typs kann angewendet werden. Ferner ist die Informationsverarbeitungsvorrichtung 20 nicht auf einen Personal Computer beschränkt und kann ein Server sein. Der Server kann ein Mainframe sein, der lokal zusammen mit dem beweglichen Objekt 10 verwendet wird, oder kann ein externer Server sein, der durch Cloud-Computing implementiert wird. Ferner kann der Server ein externer Server sein, der durch Netzwerk-Computing, wie beispielsweise Fog-Computing, Edge-Computing oder Grid-Computing implementiert wird.
  • Die Informationsverarbeitungsvorrichtung 20 enthält eine Empfangsvorrichtung 22 und eine Anzeige 24. Die Empfangsvorrichtung 22 enthält eine Tastatur, eine Maus, ein Touch-Panel und dergleichen und empfängt eine Anweisung von einem Benutzer. Die Anzeige 24 zeigt verschiedene Informationen (zum Beispiel ein Bild und Text) an. Beispiele der Anzeige 24 umfassen eine EL-Anzeige (zum Beispiel eine organische EL-Anzeige oder eine anorganische EL-Anzeige). Es ist anzumerken, dass die Anzeige nicht auf die EL-Anzeige beschränkt ist und ein anderer Typ von Anzeige, wie beispielsweise eine Flüssigkristallanzeige, angewendet werden kann.
  • Das bewegliche Objekt 10 ist mit der Informationsverarbeitungsvorrichtung 20 so verbunden, dass es zu drahtloser Kommunikation fähig ist, und verschiedene Informationen werden zwischen dem beweglichen Objekt 10 und der Informationsverarbeitungsvorrichtung 20 drahtlos ausgetauscht.
  • Das bewegliche Objekt 10 enthält einen Körper 12 und mehrere Propeller 14 (vier Propeller bei dem in 1 gezeigten Beispiel). Das bewegliche Objekt 10 fliegt oder schwebt in einem dreidimensionalen Raum durch Steuern der Drehung jedes der mehreren Propeller 14.
  • Die Sensoreinheit 30 ist an dem Körper 12 angebracht. Bei dem in 1 gezeigten Beispiel ist die Sensoreinheit 30 an einem oberen Abschnitt des Körpers 12 angebracht. Dies ist jedoch nur ein Beispiel, und die Sensoreinheit 30 kann an einer anderen Stelle als dem oberen Abschnitt des Körpers 12 (zum Beispiel einem unteren Abschnitt des Körpers 12) angebracht sein.
  • Die Sensoreinheit 30 enthält einen externen Sensor 32 und einen internen Sensor 34. Der externe Sensor 32 tastet eine äußere Umgebung des beweglichen Objekts 10 ab. Der externe Sensor 32 weist ein LiDAR 32A und eine Kamera 32B auf. Das LiDAR 32A ist ein Beispiel eines „dreidimensionalen Entfernungsmesssensors“ gemäß der Technik der vorliegenden Offenbarung, und die Kamera 32B ist ein Beispiel einer „Bildgebungsvorrichtung“ gemäß der Technik der vorliegenden Offenbarung.
  • Das LiDAR 32A scannt einen umgebenden Raum durch Emittieren eines gepulsten Laserstrahls L an die Umgebung. Der Laserstrahl L ist beispielsweise sichtbares Licht oder Infrarotlicht. Das LiDAR 32A empfängt reflektiertes Licht des von einem in dem umgebenden Raum vorhandenen Objekt (zum Beispiel einem natürlichen Objekt und/oder einem künstlichen Objekt) reflektierten Laserstrahls L und misst eine Zeit von Emission des Laserstrahls L bis zu Empfang des reflektierten Lichts, wodurch eine Entfernung zu einem Messpunkt bei dem Objekt berechnet wird. Hier bezieht sich der Messpunkt auf einen Reflexionspunkt des Laserstrahls L bei dem Objekt. Ferner gibt das LiDAR 32A immer dann, wenn das LiDAR 32A den umgebenden Raum scannt, Punktwolkendaten aus, die mehrere dreidimensionale Koordinaten als Positionsinformationen darstellen, die in der Lage sind, Positionen von mehreren Messpunkten zu spezifizieren. Die Punktwolkendaten werden auch als eine Punktwolke bezeichnet. Die Punktwolkendaten sind beispielsweise Daten, die durch dreidimensionale rechteckige Koordinaten dargestellt werden.
  • Das LiDAR 32A emittiert den Laserstrahl L in einen Gesichtsfeldbereich S1 von beispielsweise 135 Grad nach links und rechts und 15 Grad nach oben und unten in Bezug auf eine Fahrtrichtung des beweglichen Objekts 10. Das LiDAR 32A emittiert den Laserstrahl L in den gesamten Gesichtsfeldbereich S1, während es den Winkel beispielsweise um 0,25 Grad in einer Links-Rechts-Richtung oder einer Auf-Ab-Richtung ändert. Das LiDAR 32A scannt wiederholt den Gesichtsfeldbereich S1 und gibt die Punktwolkendaten für jeden Scan aus. Nachstehend werden, zur Vereinfachung von Beschreibung, die Punktwolkendaten, die von dem LiDAR 32Abei jedem Scan ausgegeben werden, als segmentierte Punktwolkendaten PG (siehe 3) bezeichnet.
  • Die Kamera 32B ist eine Digitalkamera mit einem Bildsensor. Hier bezieht sich der Bildsensor beispielsweise auf einen CMOS-Bildsensor oder einen CCD-Bildsensor. Die Kamera 32B führt als Reaktion auf eine Anweisung, die von außen (zum Beispiel der Informationsverarbeitungsvorrichtung 20) gegeben wurde, Bildgebung in einem Gesichtsfeldbereich S2 durch. Beispiele der Bildgebung, die von der Kamera 32B durchgeführt wird, umfassen Bildgebung für ein Filmbild (zum Beispiel Bildgebung, die mit einer vorbestimmten Bildrate, wie beispielsweise 30 Einzelbilder/Sekunde oder 60 Einzelbilder/Sekunde) durchgeführt wird, und Bildgebung für ein Standbild. Die Bildgebung für das Filmbild und die Bildgebung für das Standbild, die von der Kamera 32B durchgeführt wird, werden als Reaktion auf die Anweisung, die von außen an die Kamera 32B gegeben wurde, selektiv durchgeführt.
  • Eine Abtastauflösung (zum Beispiel eine Dichte von Pixeln pro Flächeneinheit des aufgenommenen Bildes, das durch von der Kamera 32B durchgeführte Bildgebung aufgenommen wurde) der Kamera 32B ist höher als eine Abtastauflösung (zum Beispiel eine Dichte von Entfernungsmesspunkten pro Flächeneinheit von Punktwolkendaten) des LiDAR 32A. Ferner ist bei der Informationsverarbeitungsvorrichtung 20 eine Positionsbeziehung zwischen dem LiDAR 32A und der Kamera 32B gegeben.
  • Es ist anzumerken, dass, zur Vereinfachung von Beschreibung, die Beschreibung nachstehend unter der Voraussetzung gegeben wird, dass das LiDAR 32A und die Kamera 32B in Bezug auf das bewegliche Objekt 10 stationär bleiben. Ferner wird nachstehend, zur der Vereinfachung von Beschreibung, Beschreibung unter der folgenden Bedingung gegeben. Der Gesichtsfeldbereich S1 enthält den Gesichtsfeldbereich S2 (das heißt, der Gesichtsfeldbereich S2 ist ein Teil des Gesichtsfeldbereichs S1), eine Position des Gesichtsfeldbereichs S2 bleibt stationär in Bezug auf den Gesichtsfeldbereich S1, und eine Position des Gesichtsfeldbereichs S2 in Bezug auf den Gesichtsfeldbereich S1 ist gegeben. Ferner ist es hier zur Vereinfachung von Beschreibung beispielhaft dargestellt, dass der Gesichtsfeldbereich S1 den Gesichtsfeldbereich S2 enthält, aber dies ist nur ein Beispiel. Beispielsweise kann der Gesichtsfeldbereich S2 den Gesichtsfeldbereich S1 enthalten (das heißt, der Gesichtsfeldbereich S1 kann ein Teil des Gesichtsfeldbereichs S2 sein). Insbesondere können sich der Gesichtsfeldbereich S1 und der Gesichtsfeldbereich S2 so überlappen, dass mehrere der segmentierten Punktwolkendaten PG, mit denen später zu beschreibende Texturabbildungsverarbeitung (siehe 11) realisiert werden kann, und das aufgenommene Bild erhalten werden können.
  • Der interne Sensor 34 weist einen Beschleunigungssensor 36 und einen Winkelgeschwindigkeitssensor 38 auf. Der interne Sensor 34 detektiert eine physikalische Größe, die zum Spezifizieren einer Bewegungsrichtung, einer Bewegungsentfernung, einer Lage und dergleichen des beweglichen Objekts 10 notwendig ist, und gibt Detektionsdaten, die die detektierte physikalische Größe angeben, aus. Die Detektionsdaten, die von dem internen Sensor 34 erhalten werden (nachstehend auch einfach als „Detektionsdaten“ bezeichnet), sind beispielsweise Beschleunigungsdaten, die eine von dem Beschleunigungssensor 36 detektierte Beschleunigung angeben, und Beschleunigungsdaten, die eine von dem Winkelgeschwindigkeitssensor 38 detektierte Winkelgeschwindigkeit angeben.
  • Das bewegliche Objekt 10 weist ein LiDAR-Koordinatensystem und ein dreidimensionales Kamerakoordinatensystem auf. Das LiDAR-Koordinatensystem ist ein dreidimensionales Koordinatensystem (hier als ein Beispiel ein senkrechtes Koordinatensystem eines dreidimensionalen Raums), das auf das LiDAR 32A angewendet wird. Das dreidimensionale Kamerakoordinatensystem ist ein dreidimensionales Koordinatensystem (hier als ein Beispiel ein senkrechtes Koordinatensystem eines dreidimensionalen Raums), das auf die Kamera 32B angewendet wird.
  • Wie in 2 als ein Beispiel gezeigt, wird das auf das LiDAR 32A angewendete senkrechte Koordinatensystem des dreidimensionalen Raums, das heißt das LiDAR-Koordinatensystem, durch eine XL-Achse, eine YL-Achse und eine ZL-Achse, die senkrecht zueinander sind, bestimmt. Die Punktwolkendaten werden durch das LiDAR-Koordinatensystem definiert.
  • Der Beschleunigungssensor 36 (siehe 1) detektiert eine Beschleunigung, die in jeder Richtung der XL-Achse, der YL-Achse und der ZL-Achse ausgeübt wird. Der Winkelgeschwindigkeitssensor 38 (siehe 1) detektiert eine Winkelgeschwindigkeit, die um jede Achse (das heißt jeweils eine Rollrichtung, eine Neigungsrichtung und eine Gierrichtung) der XL-Achse, der YL-Achse und der ZL-Achse. Das heißt, der interne Sensor 34 ist ein sechsachsiger Trägheitsmesssensor.
  • Wie in 3 gezeigt, ist der Körper 12 des beweglichen Objekts 10 beispielsweise mit einer Steuerung 16, einer Kommunikationsschnittstelle 18 und Motoren 14A versehen. Die Steuerung 16 wird beispielsweise durch einen IC-Chip realisiert. Der Körper 12 ist mit mehreren Motoren 14A versehen. Die mehreren Motoren 14A sind mit den mehreren Propellern 14 verbunden. Die Steuerung 16 steuert Flug des beweglichen Objekts 10, indem sie die mehreren Motoren 14A steuert. Ferner steuert die Steuerung 16 einen Scanvorgang des Laserstrahls L durch das LiDAR 32A.
  • Der externe Sensor 32 gibt, als ein Ergebnis des Abtastens eines Objekts 50, das ein Beispiel der äußeren Umgebung ist, segmentierte Punktwolkendaten PG, die durch Scannen des Gesichtsfeldbereichs S1 mit dem Laserstrahl L durch das LiDAR 32A erhalten werden, und ein aufgenommenes Bild PD, das durch Bildgebung von Objektlicht (das heißt reflektiertes Licht, das einen Teil des in dem Gesichtsfeldbereich S2 enthaltenen Objekts 50 angibt), das den Gesichtsfeldbereich S2 angibt, mit der Kamera 32B aufgenommen wurde, an die Steuerung 16 aus. Die Steuerung 16 empfängt die segmentierten Punktwolkendaten PG und das aufgenommene Bild PD von dem externen Sensor 32.
  • Der interne Sensor 34 gibt Detektionsdaten, die durch Durchführen von Abtasten erhalten werden (zum Beispiel Beschleunigungsdaten, die durch den Beschleunigungssensor 36 erhalten werden, und Winkelgeschwindigkeitsdaten, die durch den Winkelgeschwindigkeitssensor 38 erhalten werden), an die Steuerung 16 aus. Die Steuerung 16 empfängt die Detektionsdaten von dem internen Sensor 34.
  • Die Steuerung 16 überträgt drahtlos via die Kommunikationsschnittstelle 18 die empfangenen segmentierten Punktwolkendaten PG, das empfangene aufgenommene Bild PD und die empfangenen Detektionsdaten an die Informationsverarbeitungsvorrichtung 20.
  • Die Informationsverarbeitungsvorrichtung 20 enthält, zusätzlich zu der Empfangsvorrichtung 22 und der Anzeige 24, einen Computer 39 und eine Kommunikationsschnittstelle 46. Der Computer 39 weist einen Prozessor 40, einen Datenspeicher 42 und einen RAM 44 auf. Die Empfangsvorrichtung 22, die Anzeige 24, der Prozessor 40, der Datenspeicher 42, der RAM 44 und die Kommunikationsschnittstelle 46 sind mit einem Bus 48 verbunden. Es ist anzumerken, dass die Informationsverarbeitungsvorrichtung 20 ein Beispiel der „Bildverarbeitungsvorrichtung“ gemäß der Technik der vorliegenden Offenbarung ist. Der Computer 39 ist ein Beispiel des „Computers“ gemäß der Technik der vorliegenden Offenbarung. Darüber hinaus ist der Prozessor 40 ein Beispiel des „Prozessors“ gemäß der Technik der vorliegenden Offenbarung. Ferner sind der Datenspeicher 42 und der RAM 44 Beispiele des „Speichers“ gemäß der Technik der vorliegenden Offenbarung.
  • Der Prozessor 40 weist beispielsweise eine CPU und eine GPU auf und steuert die gesamte Informationsverarbeitungsvorrichtung 20. Die GPU arbeitet unter der Steuerung der CPU und ist für Ausführen von Bildschirmanzeige und/oder Bildverarbeitung verantwortlich. Darüber hinaus kann der Prozessor 40 eine oder mehrere CPUs sein, mit denen die Funktionen der GPU integriert wurden, oder kann eine oder mehrere CPUs sein, mit denen die Funktionen der GPU nicht integriert wurden.
  • Der Datenspeicher 42 ist eine nicht flüchtige Speichervorrichtung, die verschiedene Programme, verschiedene Parameter und dergleichen speichert. Beispiele des Datenspeichers 42 umfassen eine HDD und eine SSD. Es ist anzumerken, dass die HDD und die SSD nur Beispiele sind. Anstelle der HDD und/oder der SSD oder zusammen mit der HDD und/oder der SSD können ein Flash-Speicher, ein magnetoresistiver Speicher und/oder ein ferroelektrischer Speicher verwendet werden.
  • Der RAM 44 ist ein Speicher, in dem Informationen vorübergehend gespeichert werden, und wird von dem Prozessor 40 als ein Arbeitsspeicher verwendet. Beispiele des RAM 44 umfassen ein DRAM und/oder ein SRAM.
  • Die Kommunikationsschnittstelle 46 führt drahtlose Kommunikation mit der Kommunikationsschnittstelle 18 des beweglichen Objekts 10 durch, um mehrere der segmentierten Punktwolkendaten PG von dem beweglichen Objekt 10 zu empfangen. Die mehreren der segmentierten Punktwolkendaten PG, die von der Kommunikationsschnittstelle 46 empfangen werden, geben mehrere der segmentierten Punktwolkendaten PG mit unterschiedlichen Zeitpunkten an, die von dem LiDAR 32A erfasst werden (das heißt mehrere der segmentierten Punktwolkendaten PG, die durch mehrere Scans erhalten werden). Ferner kommuniziert die Kommunikationsschnittstelle 46 drahtlos mit der Kommunikationsschnittstelle 18 des beweglichen Objekts 10, um die Detektionsdaten und das aufgenommene Bild PD, die durch den internen Sensor 34 zu jedem Zeitpunkt, zu dem jede Datenangabe der mehreren der segmentierten Punktwolkendaten PG erfasst werden, erhalten werden, zu empfangen. Auf diese Weise erfasst und verarbeitet der Prozessor 40 die segmentierten Punktwolkendaten PG, das aufgenommene Bild PD und die Detektionsdaten, die von der Kommunikationsschnittstelle 46 empfangen wurden.
  • Der Prozessor 40 erfasst kombinierte Punktwolkendaten SG auf der Grundlage der mehreren der segmentierten Punktwolkendaten PG, die von dem beweglichen Objekt 10 empfangen wurden. Insbesondere erzeugt der Prozessor 40 die kombinierten Punktwolkendaten SG durch Durchführen von Kombinationsverarbeitung des Kombinierens der mehreren der segmentierten Punktwolkendaten PG, die von dem beweglichen Objekt 10 empfangen wurden. Die kombinierten Punktwolkendaten SG sind ein Aggregat der mehreren der segmentierten Punktwolkendaten PG, die durch Scannen in Bezug auf den Gesichtsfeldbereich S1 erhalten werden, und werden von dem Prozessor 40 in dem Datenspeicher 42 gespeichert. Die mehreren der segmentierten Punktwolkendaten PG sind ein Beispiel von „Entfernungsmessergebnissen des dreidimensionalen Entfernungsmesssensors für mehrere Messpunkte“ gemäß der Technik der vorliegenden Offenbarung. Die kombinierten Punktwolkendaten SG sind ein Beispiel der „dreidimensionalen Koordinaten des dreidimensionalen Entfernungsmesssensorsystems“ gemäß der Technik der vorliegenden Offenbarung.
  • Wie in 4 als ein Beispiel gezeigt, speichert der Datenspeicher 42 ein Programm 52 für Texturabbildungsverarbeitung. Das Programm 52 für Texturabbildungsverarbeitung ist ein Beispiel des „Programms“ gemäß der Technik der vorliegenden Offenbarung. Der Prozessor 40 liest das Programm 52 für Texturabbildungsverarbeitung aus dem Datenspeicher 42 aus und führt das ausgelesene Programm 52 für Texturabbildungsverarbeitung auf dem RAM 44 aus. Der Prozessor 40 führt die Texturabbildungsverarbeitung in Übereinstimmung mit dem Programm 52 für Texturabbildungsverarbeitung, das auf dem RAM 44 ausgeführt wird, durch (siehe 11). Der Prozessor 40 führt das Programm 52 für Texturabbildungsverarbeitung aus, um als eine Erfassungseinheit 40A. eine Umwandlungseinheit 40B und eine Pixelzuordnungseinheit 40C zu arbeiten.
  • Wie in 5 gezeigt, erfasst die Erfassungseinheit 40A beispielsweise die kombinierten Punktwolkendaten SG von dem Datenspeicher 42. Dann erfasst die Erfassungseinheit 40A dreidimensionale Kamerakoordinaten, die in dem dreidimensionalen Kamerakoordinatensystem definiert sind, auf der Grundlage der kombinierten Punktwolkendaten SG. Hier wird die von der Erfassungseinheit 40A durchgeführte Erfassung der dreidimensionalen Kamerakoordinaten implementiert, indem die kombinierten Punktwolkendaten SG von der Erfassungseinheit 40A in die dreidimensionalen Kamerakoordinaten umgewandelt werden. Hier sind die dreidimensionalen Kamerakoordinaten ein Beispiel der „dreidimensionalen Koordinaten des Bildgebungsvorrichtungssystems“ gemäß der Technik der vorliegenden Offenbarung.
  • Wie in 6 als ein Beispiel gezeigt, wird die Umwandlung der kombinierten Punktwolkendaten SG in die dreidimensionalen Kamerakoordinaten durch Umwandeln des LiDAR-Koordinatensystems in das dreidimensionale Kamerakoordinatensystem in Übereinstimmung mit einer Drehmatrix und einem Translationsvektor realisiert. Bei dem in 6 gezeigten Beispiel ist ein Beispiel des folgenden Aspekts gezeigt. Die dreidimensionalen Koordinaten (nachstehend auch als „LiDAR-Koordinaten“ bezeichnet), die, von den kombinierten Punktwolkendaten SG, Daten zum Spezifizieren einer Position eines Messpunkts P sind, werden in dreidimensionale Kamerakoordinaten umgewandelt.
  • Es wird hier angenommen, dass drei Achsen des LiDAR-Koordinatensystems die XL-Achse, die YL-Achse und die ZL-Achse sind und dass die Drehmatrix, die für Umwandlung von dem LiDAR-Koordinatensystem in das dreidimensionale Kamerakoordinatensystem notwendig ist, C LR ist. Das bewegliche Objekt 10 wird zusammen mit dem LiDAR-Koordinatensystem um die XL-Achse des LiDAR-Koordinatensystems um die YL-Achse des LiDAR-Koordinatensystems und um die ZL-Achse des LiDAR-Koordinatensystems, in dieser Reihenfolge, entsprechend um einen Winkel φ, einen Winkel θ und einen Winkel ψ gedreht. In einem solchen Fall wird die Drehmatrix C LR, die die Umwandlung der Position des beweglichen Objekts 10 darstellt, durch die folgende Matrix (1) dargestellt. Der Winkel φ, der Winkel θ und der Winkel ψ werden auf der Grundlage der in den Detektionsdaten enthaltenen Winkelgeschwindigkeitsdaten berechnet.
    [Numerischer Ausdruck 1] L C R [ cos ψ cos θ cos ϕ sin ψ sin ϕ sin ψ cos θ cos ϕ cos ψ sin ϕ sin θ cos ϕ cos ψ cos θ cos ϕ + sin ψ sin ϕ sin ψ cos θ cos ϕ + cos ψ sin ϕ sin θ sin ϕ cos ψ sin θ sin ψ sin θ cos θ ]
    Figure DE112022003299T5_0001
  • Ein Ursprung des LiDAR-Koordinatensystems wird als OL dargestellt, ein Ursprung des dreidimensionalen Kamerakoordinatensystems wird als Oc dargestellt, und die drei Achsen des dreidimensionalen Kamerakoordinatensystems werden als eine XC-Achse, eine YC-Achse und eine ZC-Achse dargestellt. Darüber hinaus werden die dreidimensionalen Koordinaten des Messpunkts P in dem LiDAR-Koordinatensystem (das heißt die dreidimensionalen LiDAR-Koordinaten) als LP dargestellt, die dreidimensionalen Koordinaten des Messpunkts P in dem dreidimensionalen Kamerakoordinatensystem (das heißt die dreidimensionalen Kamerakoordinaten) werden als CP dargestellt, der für Umwandlung von dem LiDAR-Koordinatensystem in das dreidimensionale Kamerakoordinatensystem notwendige Translationsvektor wird als C LT dargestellt, und eine Position des Ursprungs OL wird in dem LiDAR-Koordinatensystem als LOC dargestellt. Die dreidimensionalen Kamerakoordinaten CP können durch numerischen Ausdruck (2) dargestellt werden. Darüber hinaus wird der Translationsvektor C LT auf der Grundlage der Beschleunigungsdaten berechnet, die in den Detektionsdaten enthalten sind.
    [Numerischer Ausdruck 2] C P = L C R ( L P L O C ) = L C R L P L C R L O C
    Figure DE112022003299T5_0002
  • Hier wird die Beziehung von C LT, C LR und LOC durch numerischen Ausdruck (3) dargestellt. Daher wird numerischer Ausdruck (3) in numerischen Ausdruck (2) eingesetzt, so dass die dreidimensionalen Kamerakoordinaten CP durch numerischen Ausdruck (4) dargestellt werden. Die kombinierten Punktwolkendaten SG einschließlich der LiDAR-Koordinaten bezüglich des Messpunkts P werden unter Verwendung von numerischem Ausdruck (4) in mehrere dreidimensionale Kamerakoordinaten umgewandelt.
    [Numerischer Ausdruck 3] L C T L C R   L O C
    Figure DE112022003299T5_0003

    [Numerischer Ausdruck 4] c P = L C R L P + L C T
    Figure DE112022003299T5_0004
  • Wie in 7 als ein Beispiel gezeigt, erzeugt die Erfassungseinheit 40A ein TIN 54 auf der Grundlage der mehreren dreidimensionalen Kamerakoordinaten, um die mehreren dreidimensionalen Kamerakoordinaten, die durch Umwandeln der kombinierten Punktwolkendaten SG unter Verwendung von numerischem Ausdruck (4) erhalten wurden, in einer digitalen Datenstruktur auszudrücken. Das TIN 54 ist eine digitale Datenstruktur, die ein Aggregat von dreieckigen Patches 54A angibt, die durch ein dreieckiges Netz (zum Beispiel ein unregelmäßiges dreieckiges Netz) definiert sind. Die mehreren dreidimensionalen Kamerakoordinaten definieren Positionen von Schnittpunkten mehrerer dreieckiger Patches 54A, die in dem TIN 54 enthalten sind (mit anderen Worten, Scheitel der jeweiligen dreieckigen Patches 54A). Der dreieckige Patch 54Aist ein Beispiel des „polygonalen Patches“ gemäß der Technik der vorliegenden Offenbarung. Hier ist der dreieckige Patch 54A beispielhaft dargestellt, aber dies ist nur ein Beispiel, und ein Patch mit einer anderen polygonalen Form als einem Dreieck kann verwendet werden. Das heißt, anstelle des TIN 54 kann ein polygonaler Aggregat-Patch mit einer Flächenstruktur, bei der mehrere Patches mit polygonalen Formen aggregiert sind, angewendet werden.
  • Wie in 8 als ein Beispiel gezeigt, wandelt die Umwandlungseinheit 40B die mehreren dreidimensionalen Kamerakoordinaten, die bei dem TIN 54 verwendet werden, in mehrere zweidimensionale Koordinaten (nachstehend auch als „zweidimensionale Kamerakoordinaten“ bezeichnet) um, die in der Lage sind, eine Position in dem aufgenommenen Bild PD zu spezifizieren. Ferner wandelt die Umwandlungseinheit 40B die mehreren dreidimensionalen Kamerakoordinaten, die bei dem TIN 54 verwendet werden, in mehrere zweidimensionale Koordinaten (nachstehend auch als „zweidimensionale Bildschirmkoordinaten“ bezeichnet) um, die in der Lage sind, eine Position auf einem Bildschirm der Anzeige 24 zu spezifizieren. Hier sind die zweidimensionalen Kamerakoordinaten ein Beispiel der „zweidimensionalen Koordinaten des Bildgebungsvorrichtungssystems“ gemäß der Technik der vorliegenden Offenbarung. Die zweidimensionalen Bildschirmkoordinaten sind ein Beispiel der „zweidimensionalen Koordinaten des Anzeigesystems“ gemäß der Technik der vorliegenden Offenbarung.
  • Wie in 9 als ein Beispiel gezeigt, wird die Position jedes Pixels, das das aufgenommene Bild PD bildet, durch Koordinaten in einer xy-Ebene PD0 (bei dem in 9 gezeigten Beispiel eine Ebene, die einer von dem Ursprung Oc in einer Richtung der Zc-Achse um eine Brennweite entfernten Bildgebungsebene entspricht), die einer Bildgebungsebene des Bildsensors der Kamera 32B (siehe 1 und 3) entspricht, spezifiziert. Die xy-Ebene PD0 ist eine Ebene, die durch ein zweidimensionales Koordinatensystem (nachstehend auch als ein „zweidimensionales Kamerakoordinatensystem“ bezeichnet) dargestellt werden kann, das durch die x-Achse und die y-Achse definiert ist, und Positionen von Pixeln, die das aufgenommene Bild PD bilden, werden durch die zweidimensionalen Kamerakoordinaten (x, y) spezifiziert. Unter der Annahme, dass i = 0, 1, 2, ... und n, entsprechen hier Positionen Ai, Ai+1 und Ai+2 der Pixel in der xy-Ebene PD0 Positionen Pi, Pi+1 und Pi+2 der drei Scheitel des dreieckigen Patches 54A. Die zweidimensionalen Kamerakoordinaten (x0, y0), (x1, y1) und (x2, y2) der Positionen Ai, Ai+1 und Ai+2 werden durch perspektivisches Projizieren der dreidimensionalen Kamerakoordinaten jeder der Positionen Pi, Pi+1 und Pi+2 auf die xy-Ebene PD0 erhalten.
  • Bei dem in 9 gezeigten Beispiel ist ein dreidimensionales Anzeigekoordinatensystem, das eine Xd-Achse, eine Yd-Achse und eine Zd-Achse, die senkrecht zueinander sind aufweist, gezeigt, unter der Annahme, dass ein Ursprung als Od eingestellt ist. Die dreidimensionalen Anzeigekoordinaten sind dreidimensionale Koordinaten, die auf die Anzeige 24 angewendet werden (siehe 1 und 3). In dem dreidimensionalen Anzeigekoordinatensystem ist ein Bildschirm 24A eingestellt. Der Bildschirm 24A ist ein Bildschirm der Anzeige 24 und zeigt ein Bild an, das das Objekt 50 zeigt. Beispielsweise ist das Bild, das auf dem Bildschirm 24A angezeigt wird, ein Texturbild. Hier bezieht sich das Texturbild auf ein Bild, in dem das aufgenommene Bild PD, das durch von der Kamera 32B durchgeführte Bildgebung aufgenommen wurde, auf dem Bildschirm 24A texturabgebildet ist.
  • Eine Position und eine Orientierung des Bildschirms 24A, die in Bezug auf das dreidimensionale Anzeigekoordinatensystem eingestellt werden, werden beispielsweise als Reaktion auf eine von der Empfangsvorrichtung 22 (siehe 3) empfangene Anweisung geändert. Die Position jedes Pixels, das den Bildschirm 24A bildet, wird durch Koordinaten in einer uv-Ebene 24A1 spezifiziert (bei dem in 9 gezeigten Beispiel eine von dem Ursprung Od in einer Richtung der Zd-Achse um die der Brennweite entsprechenden Entfernung entfernte Ebene). Die uv-Ebene 24A1 ist eine Ebene, die durch ein zweidimensionales Koordinatensystem (nachstehend auch als ein „zweidimensionales Bildschirmkoordinatensystem“ bezeichnet) dargestellt werden kann, das durch eine u-Achse und eine v-Achse definiert ist. Die Position jedes Pixels, das den Bildschirm 24A bildet, das heißt die Position auf dem Bildschirm der Anzeige 24, wird durch die zweidimensionalen Bildschirmkoordinaten (u, v) spezifiziert.
  • Bei dem in 10 gezeigten Beispiel entsprechen Positionen Bi, Bi+1 und Bi+2 der Pixel in der uv-Ebene 24A1 den Positionen Pi, Pi+1 und Pi+2 der drei Scheitel des dreieckigen Patches 54A. Die zweidimensionalen Bildschirmkoordinaten (u0, v0), (u1, v1), und (u2, v2) der Positionen Bi, Bi+1, und Bi+2 werden durch Projizieren der dreidimensionalen Kamerakoordinaten der Positionen Pi, Pi+1, und Pi+2 auf die uv-Ebene 24A1 erhalten.
  • Wie in 10 als ein Beispiel gezeigt, ordnet die Pixelzuordnungseinheit 40C ein Pixel an einer Position, die einer Position des Schnittpunkts der mehreren dreieckigen Patches 54A (siehe 7 bis 9), die in dem TIN 54 enthalten sind, entspricht, unter mehreren Pixeln (zum Beispiel allen Pixeln), die in dem aufgenommenen Bild PD enthalten sind, der Bildschirmschnittpunktposition zu und erzeugt dadurch ein dreidimensionales Bild (das heißt ein von einem Benutzer durch den Bildschirm 24A dreidimensional wahrgenommenes Texturbild). Die Bildschirmschnittpunktposition ist als eine Position definiert, die einer Position eines Schnittpunkts von mehreren dreieckigen Patches 54A (siehe 7 bis 9), die in dem TIN 54 enthalten sind, unter mehreren auf dem Bildschirm 24A enthaltenen Pixeln (zum Beispiel allen Pixeln) entspricht. Bei dem in 10 gezeigten Beispiel ist unter mehreren Pixeln, die in dem aufgenommenen Bild PD enthalten sind, jedes der Pixel an den Positionen Ai, Ai+1 und A1+2 (das heißt Positionen, die durch die zweidimensionalen Kamerakoordinaten (x0, y0), (x1, y1), und (x2, y2) spezifiziert werden) den Positionen Bi, Bi+1 und Bi+2 auf dem Bildschirm 24A (das heißt Positionen, die durch zweidimensionale Bildschirmkoordinaten (u0, v0), (u1, v1), und (u2, v2) spezifiziert werden) zugeordnet.
  • Auf diese Weise sind unter mehreren Pixeln, die in dem aufgenommenen Bild PD enthalten sind, Pixel an Positionen, die den Positionen der Schnittpunkte der mehreren dreieckigen Patches 54A, die in dem TIN 54 enthalten sind, entsprechen, den entsprechenden Positionen auf dem Bildschirm 24Azugeordnet. Jedoch wird kein Pixel einer anderen Position als den Schnittpunkten (mit anderen Worten, den Scheitelpunkten der dreieckigen Patches 54A) der mehreren dreieckigen Patches 54A zugeordnet. Daher nimmt die Pixeldichte des auf dem Bildschirm 24A anzuzeigenden Bildes in diesem Umfang ab.
  • Daher ordnet die Pixelzuordnungseinheit 40C die Pixel, die das aufgenommene Bild PD bilden, einer Interpolationsposition auf dem Bildschirm 24A zu, die durch ein Interpolationsverfahren, das die zweidimensionalen Kamerakoordinaten und die zweidimensionalen Bildschirmkoordinaten verwendet, spezifiziert wird. Hier bezieht sich die Interpolationsposition auf eine Position, die der anderen Position als dem Schnittpunkt des dreieckigen Patches 54A entspricht (bei dem in 10 gezeigten Beispiel eine zweite Interpolationsposition D0). Beispiele des Interpolationsverfahrens umfassen lineare Interpolation. Beispiele des anderen Interpolationsverfahrens als der linearen Interpolation umfassen Polynominterpolation, Spline-Interpolation und dergleichen.
  • Bei dem in 10 gezeigten Beispiel ist eine erste Interpolationsposition C0 als eine Position gezeigt, die der anderen Position als dem Schnittpunkt des dreieckigen Patches 54A entspricht, unter den Positionen der mehreren Pixel (zum Beispiel aller Pixel), die in dem aufgenommenen Bild PD enthalten sind. Bei dem in 10 gezeigten Beispiel ist die zweite Interpolationsposition D0 als eine Position gezeigt, die der anderen Position als dem Schnittpunkt des dreieckigen Patches 54A entspricht, unter den Positionen der mehreren Pixel (zum Beispiel aller Pixel), die auf dem Bildschirm 24A enthalten sind. Die zweite Interpolationsposition D0 ist eine Position, die der ersten Interpolationsposition C0 entspricht. Bei dem in 10 gezeigten Beispiel ist (x, y) als die zweidimensionalen Kamerakoordinaten der ersten Interpolationsposition C0 gezeigt, und (u, v) ist als die zweidimensionalen Bildschirmkoordinaten der zweiten Interpolationsposition D0 gezeigt.
  • Die erste Interpolationsposition C0 ist in dem aufgenommenen Bild PD innerhalb eines Dreiecks (das heißt innerhalb eines in dem aufgenommenen Bild PD gebildeten dreieckigen Patches) mit drei Scheiteln an den Positionen Ai, Ai+1 und Ai+2, vorhanden. Beispielsweise ist die erste Interpolationsposition C0 eine Position, die zwischen einer Position C1 und einer Position C2 vorhanden ist. Die Position C1 ist eine Position, die in dem aufgenommenen Bild PD auf einer Seite, die die Positionen Ai und Ai+2 verbindet, unter den drei Seiten eines Dreiecks mit drei Scheiteln an den Positionen Ai, Ai+1 und Ai+2 vorhanden ist. Die Position C2 ist eine Position, die in dem aufgenommenen Bild PD auf einer Seite, die die Positionen Ai und Ai+1 verbindet, unter den drei Seiten eines Dreiecks mit drei Scheiteln an den Positionen Ai, Ai+1 und Ai+2 vorhanden ist. Die Positionen C1 und C2 können als Reaktion auf die von der Empfangsvorrichtung 22 (siehe 3) empfangene Anweisung bestimmt werden oder können in Übereinstimmung mit einem bestimmten internen Teilungsverhältnis, das auf eine Seite, die Positionen Ai und Ai+2 verbindet, und eine Seite, die Positionen Ai und Ai+1 angewendet wird, bestimmt werden.
  • Die Zweidimensionalen Kamerakoordinaten der Position C1 sind (x02, y02), und die zweidimensionalen Kamerakoordinaten der Position C2 sind (x01, y01). Die erste Interpolationsposition C0 wird durch die unter Verwendung der zweidimensionalen Kamerakoordinaten (x0, y0), (x1, y1), (x2, y2), (x01, y01) und (x02, y02) interpolierten zweidimensionalen Kamerakoordinaten (x, y) spezifiziert.
  • Die zweite Interpolationsposition D0 ist eine Position auf dem Bildschirm 24A, die innerhalb eines Dreiecks mit drei Scheiteln an den Positionen Bi, Bi+1 und Bi+2 (das heißt innerhalb des auf dem Bildschirm 24A gebildeten dreieckigen Patches) vorhanden ist. Beispielsweise ist die zweite Interpolationsposition D0 eine Position, die zwischen einer Position D1 und einer Position D2 vorhanden ist. Die Position D1 ist eine Position, die auf dem Bildschirm 24A auf einer Seite, die die Positionen Bi und Bi+2 verbindet, unter den drei Seiten des Dreiecks mit den drei Scheiteln an den Positionen Bi, Bi+1 und Bi+2 vorhanden ist. Die Position D2 ist auf dem Bildschirm 24A auf einer Seite, die die Positionen Bi und Bi+1 verbindet, unter den drei Seiten des Dreiecks mit den drei Scheiteln an den Positionen Bi, Bi+1 und Bi+2 vorhanden. Die Position D1 entspricht der Position C1, und die Position D2 entspricht der Position C2.
  • Zweidimensionale Bildschirmkoordinaten der Position D1 sind (u02, v02), und zweidimensionale Kamerakoordinaten der Position C2 sind (u01, v01). Die zweite Interpolationsposition D0 wird aus den unter Verwendung der zweidimensionalen Bildschirmkoordinaten (u0, v0), (u1, v1), (u2, v2), (u01, v01) und (u02, v02) interpolierten zweidimensionalen Bildschirmkoordinaten (u, v) spezifiziert.
  • Unter mehreren Pixeln, die in dem aufgenommenen Bild PD enthalten sind, kann das Pixel an der ersten Interpolationsposition C0, die aus den zweidimensionalen Kamerakoordinaten (x, y) spezifiziert wird, der zweiten Interpolationsposition D0, die aus den zweidimensionalen Bildschirmkoordinaten (u, v) durch die Pixelzuordnungseinheit 40C spezifiziert wird, zugeordnet werden. Das Pixel an der ersten Interpolationsposition C0 kann ein Pixel selbst sein, das das aufgenommene Bild PD bildet, aber es kann sein, dass das Pixel nicht an einer Position, die aus den zweidimensionalen Kamerakoordinaten (x, y) spezifiziert wird, vorhanden ist. In einem solchen Fall wird ein Pixel, das durch Interpolieren mehrerer Pixel (zum Beispiel Pixel von drei Scheiteln der Positionen Ai, Ai+1 und Ai+2), die zu einer Position, die aus den zweidimensionalen Kamerakoordinaten (x, y) spezifiziert wird, benachbart sind, erzeugt wird, kann als das Pixel an der ersten Interpolationsposition C0 verwendet werden.
  • Es ist bevorzugt, dass eine Auflösung des aufgenommenen Bildes PD (das heißt eine durch die Kamera 32B durchgeführte Abtastauflösung) höher als eine Auflösung der kombinierten Punktwolkendaten SG (das heißt eine durch das LiDAR 32A durchgeführte Abtastauflösung) ist, in dem Umfang, dass die Anzahl an Pixeln in dem Dreieck in dem aufgenommenen Bild PD (das Dreieck, das dem dreieckigen Patch 54A entspricht) gleich oder größer als die Anzahl an Pixeln, die in Übereinstimmung mit der Auflösung der Interpolationsverarbeitung (zum Beispiel Verarbeitung des Spezifizierens der ersten Interpolationsposition C0 durch das Interpolationsverfahren) bestimmt ist. Hier gibt die Anzahl an Pixeln, die in Übereinstimmung mit der Auflösung der Interpolationsverarbeitung bestimmt ist, beispielsweise die Anzahl an Pixeln an, die im Voraus so bestimmt ist, dass die Anzahl an Pixeln zunimmt, wenn die Auflösung der Interpolationsverarbeitung zunimmt. Die Auflösung der Interpolationsverarbeitung kann ein fester Wert sein, der beispielsweise durch die Auflösung des aufgenommenen Bildes PD und/oder des Bildschirms 24A bestimmt ist. Die Auflösung der Interpolationsverarbeitung kann ein variabler Wert sein, der in Übereinstimmung mit einer von außen gegebenen Anweisung (zum Beispiel einer von der Empfangsvorrichtung 22 empfangenen Anweisung) geändert wird. Die Auflösung der Interpolationsverarbeitung kann ein variabler Wert sein, der in Übereinstimmung mit der Größe (zum Beispiel der durchschnittlichen Größe) eines dreieckigen Patches 54A, eines Dreiecks, das durch perspektivisches Projizieren des dreieckigen Patches 54A auf das zweidimensionale Kamerakoordinatensystem erhalten wird, und/oder eines Dreiecks, das durch perspektivisches Projizieren des dreieckigen Patches 54A auf das zweidimensionale Bildschirmkoordinatensystem erhalten wird, geändert wird. Die Auflösung der Interpolationsverarbeitung kann von dem dreieckigen Patch 54A oder dergleichen abhängen. Beispielsweise kann die Auflösung der Interpolationsverarbeitung, je größer der dreieckige Patch 54A oder dergleichen ist, desto höher eingestellt werden, und die Auflösung der Interpolationsverarbeitung kann, je kleiner der dreieckige Patch 54A oder dergleichen ist, desto niedriger eingestellt werden.
  • Die Pixelzuordnungseinheit 40C ordnet das Pixel an der ersten Interpolationsposition C0 (das heißt das Pixel an der ersten Interpolationsposition C0, die aus den zweidimensionalen Kamerakoordinaten (x, y) spezifiziert wird) der zweiten Interpolationsposition zu D0 (das heißt die zweite Interpolationsposition D0, die aus den zweidimensionalen Bildschirmkoordinaten (u, v) spezifiziert wird) zu, wodurch die zweidimensionalen Bildschirmkoordinaten (u, v) der zweiten Interpolationsposition D0 durch das Interpolationsverfahren, das numerische Ausdrücke (5) bis (12) verwendet, berechnet werden.
    [Numerischer Ausdruck 5] x = ( u 02 u ) x 01 + ( u u 01 ) x 02 u 02 u 01
    Figure DE112022003299T5_0005

    [Numerischer Ausdruck 6] y = ( v 02 u ) y 01 + ( u u 01 ) y 02 u 02 u 01
    Figure DE112022003299T5_0006

    [Numerischer Ausdruck 7] x 01 = ( v 0 v ) x 1 + ( v v 1 ) x 0 v 0 v 1
    Figure DE112022003299T5_0007

    [Numerischer Ausdruck 8] y 01 = ( v 0 v ) y 1 + ( v v 1 ) y 0 v 0 v 1
    Figure DE112022003299T5_0008

    [Numerischer Ausdruck 9] x 02 = ( v 0 v ) x 2 + ( v v 2 ) x 0 v 0 v 2
    Figure DE112022003299T5_0009

    [Numerischer Ausdruck 10] y 02 = ( v 0 v ) y 2 + ( v v 2 ) y 0 v 0 v 2
    Figure DE112022003299T5_0010

    [Numerischer Ausdruck 11] u 01 = ( v 0 v ) u 1 + ( v v 1 ) u 0 v 0 v 1
    Figure DE112022003299T5_0011

    [Numerischer Ausdruck 12] u 02 = ( v 0 v ) u 2 + ( v v 1 ) u 0 v 0 v 2
    Figure DE112022003299T5_0012
  • Als Nächstes wird, als ein Arbeitsvorgang des Informationsverarbeitungssystems 2, die Texturabbildungsverarbeitung, die von dem Prozessor 40 der Informationsverarbeitungsvorrichtung 20 durchgeführt wird, unter Bezugnahme auf 11 beschrieben.
  • 11 zeigt ein Beispiel eines Flusses der Texturabbildungsverarbeitung, die von dem Prozessor 40 durchgeführt wird. Der in 11 gezeigte Fluss der Texturabbildungsverarbeitung ist ein Beispiel des „Bildverarbeitungsverfahrens“ gemäß der Technik der vorliegenden Offenbarung. Im Folgenden wird die Beschreibung unter der Voraussetzung gegeben, dass die kombinierten Punktwolkendaten SG im Voraus in dem Datenspeicher 42 gespeichert sind.
  • Bei der in 11 gezeigten Texturabbildungsverarbeitung erfasst die Erfassungseinheit 40A zunächst bei Schritt ST100 die kombinierten Punktwolkendaten SG von dem Datenspeicher 42 (siehe 5). Nachdem die Verarbeitung bei Schritt ST100 ausgeführt wurde, geht die Texturabbildungsverarbeitung zu Schritt ST102 über.
  • Bei Schritt ST102 wandelt die Erfassungseinheit 40A die kombinierten Punktwolkendaten SG in die mehreren dreidimensionalen Kamerakoordinaten um (siehe 5 und 6). Nachdem die Verarbeitung bei Schritt ST102 ausgeführt wurde, geht die Texturabbildungsverarbeitung zu Schritt ST104 über.
  • Bei Schritt ST104 erzeugt die Erfassungseinheit 40A das TIN 54 auf der Grundlage der mehreren dreidimensionalen Kamerakoordinaten (siehe 7). Nachdem die Verarbeitung bei Schritt ST104 ausgeführt wurde, geht die Texturabbildungsverarbeitung zu Schritt ST106 über.
  • Bei Schritt ST106 wandelt die Umwandlungseinheit 40B die mehreren dreidimensionalen Kamerakoordinaten, die bei dem TIN 54 verwendet werden, in mehrere zweidimensionale Kamerakoordinaten um (siehe 8 und 9). Nachdem die Verarbeitung bei Schritt ST106 ausgeführt wurde, geht die Texturabbildungsverarbeitung zu Schritt ST108 über.
  • Bei Schritt ST108 wandelt die Umwandlungseinheit 40B die mehreren dreidimensionalen Kamerakoordinaten, die bei dem TIN 54 verwendet werden, in mehrere zweidimensionale Bildschirmkoordinaten um (siehe 8 und 9). Nachdem die Verarbeitung bei Schritt ST108 ausgeführt wurde, geht die Texturabbildungsverarbeitung zu Schritt ST110 über.
  • Bei Schritt ST110 ordnet die Pixelzuordnungseinheit 40C die Pixel an den Positionen, die den Positionen der Schnittpunkte der mehreren dreieckigen Patches 54A (siehe 7 bis 9) entsprechen, die in dem TIN 54 enthalten sind, unter mehreren Pixeln, die in dem aufgenommenen Bild PD enthalten sind, der Bildschirmschnittpunktposition zu, wodurch ein Texturbild erzeugt wird. Das Texturbild, das durch Ausführen der Verarbeitung von Schritt ST110 erhalten wird, wird auf dem Bildschirm 24A angezeigt.
  • Als Nächstes führt die Pixelzuordnungseinheit 40C Verarbeitung von Schritt ST112 und Verarbeitung von Schritt ST114 durch, um das durch Ausführen der Verarbeitung von Schritt ST110 erhaltene Texturbild zu verfeinern.
  • Bei Schritt ST112 berechnet die Pixelzuordnungseinheit 40C die zweidimensionalen Bildschirmkoordinaten (u, v) der Interpolationsposition auf dem Bildschirm 24A, das heißt die zweite Interpolationsposition D0, durch das Interpolationsverfahren, das die zweidimensionalen Kamerakoordinaten, die bei Schritt ST106 erhalten wurden, die zweidimensionalen Bildschirmkoordinaten, die bei Schritt ST108 erhalten wurden, und numerische Ausdrücke (5) bis (12) (siehe 10) verwendet. Nachdem die Verarbeitung bei Schritt ST112 ausgeführt wurde, geht die Texturabbildungsverarbeitung zu Schritt ST114 über.
  • Bei Schritt ST114 ordnet die Pixelzuordnungseinheit 40C ein Pixel von zweidimensionalen Kamerakoordinaten (bei dem in 10 gezeigten Beispiel zweidimensionale Kamerakoordinaten (x, y)), die den zweidimensionalen Bildschirmkoordinaten zu (u, v) entsprechen, unter den mehreren Pixeln, die das aufgenommene Bild PD bilden, den zweidimensionalen Bildschirmkoordinaten (u, v) der Interpolationsposition auf dem Bildschirm 24A, das heißt die zweite Interpolationsposition D0, zu. Dadurch wird ein Texturbild, das feiner als das Texturbild ist, das durch Ausführen der Verarbeitung von Schritt ST110 erhalten wird, auf dem Bildschirm 24A angezeigt. Nachdem die Verarbeitung bei Schritt ST114 ausgeführt wurde, endet die Texturabbildungsverarbeitung.
  • Wie oben beschrieben, werden bei dem Informationsverarbeitungssystem 2 die kombinierten Punktwolkendaten SG in die mehreren dreidimensionalen Kamerakoordinaten umgewandelt (siehe 5 bis 7), und die mehreren dreidimensionalen Kamerakoordinaten werden in die mehreren der zweidimensionalen Kamerakoordinaten und die mehreren zweidimensionalen Bildschirmkoordinaten umgewandelt (siehe 8 und 9). Dann werden auf dem Bildschirm 24A die Pixel, die das aufgenommene Bild PD bilden, den Interpolationspositionen (bei dem in 10 gezeigten Beispiel der zweiten Interpolationsposition D0) zugeordnet, an denen die mehreren dreidimensionalen Kamerakoordinaten durch das Interpolationsverfahren, das die mehreren zweidimensionalen Kamerakoordinaten und die mehreren zweidimensionalen Bildschirmkoordinaten verwendet, spezifiziert werden (siehe 10). Dadurch wird ein dreidimensionales Bild (das heißt ein von einem Benutzer dreidimensional wahrgenommenes Texturbild) auf dem Bildschirm 24A angezeigt. Dementsprechend ist es gemäß der vorliegenden Konfiguration im Vergleich zu einem Fall, in dem das Bild auf dem Bildschirm unter Verwendung nur der kombinierten Punktwolkendaten SG erzeugt wird, möglich, zu hochauflösender Erzeugung des Bildes auf dem Bildschirm 24A beizutragen. Ferner kann, da der Bildschirm 24A ein Bildschirm der Anzeige 24 ist, das Texturbild dem Benutzer durch die Anzeige 24 gezeigt werden.
  • Ferner werden bei dem Informationsverarbeitungssystem 2, unter den mehreren Pixeln, die in dem aufgenommenen Bild PD enthalten sind, Pixel an Positionen, die Positionen der Schnittpunkte der mehreren dreieckigen Patches 54A (siehe 7 bis 9), die in dem TIN 54 enthalten sind, entsprechen, den Bildschirmschnittpunktpositionen zugeordnet, und dadurch wird das Texturbild erzeugt. Dann, unter den mehreren Pixeln, die das aufgenommene Bild PD bilden, wird das Pixel von zweidimensionalen Kamerakoordinaten (bei dem in 10 gezeigten Beispiel zweidimensionalen Kamerakoordinaten (x, y)), die den zweidimensionalen Bildschirmkoordinaten zu (u, v) entsprechen, den zweidimensionalen Bildschirmkoordinaten (u, v) der Interpolationsposition auf dem Bildschirm 24A, das heißt die zweite Interpolationsposition D0, zugeordnet. Dadurch werden, wie in 12 als ein Beispiel gezeigt, die folgenden Ausführungsbeispiele verglichen. Bei einem Ausführungsbeispiel werden Pixel an Positionen, die nur den Positionen der Schnittpunkte der mehreren dreieckigen Patches 54A, die in dem TIN 54 enthalten sind, entsprechen, den Bildschirmschnittpunktpositionen zugeordnet. Bei einem anderen Ausführungsbeispiel werden die Pixel an den Positionen, die den Positionen der Schnittpunkte der mehreren dreieckigen Patches 54A, die in dem TIN 54 enthalten sind, entsprechen, und die Pixel an den Positionen, die den anderen Positionen als den Schnittpunkten der mehreren dreieckigen Patches 54A, die in dem TIN 54 enthalten sind, entsprechen, dem Bildschirm 24A zugeordnet. In dem letzteren Fall ist es möglich, ein Texturbild mit einer Dichte von Pixeln, die höher als die in dem ersteren Fall ist, zu erhalten. Das heißt, gemäß der vorliegenden Konfiguration kann das Texturbild auf dem Bildschirm 24A angezeigt werden. Das Texturbild ist feiner als das Texturbild, das nur durch Zuordnen der Pixel an den Positionen, die den Positionen der Schnittpunkte der mehreren dreieckigen Patches 54A, die in dem TIN 54 enthalten sind, entsprechen, zu den Bildschirmschnittpunktpositionen erzeugt wird.
  • Bei dem Informationsverarbeitungssystem 2 wird das TIN 54, das durch die mehreren dreieckigen Patches 54A definiert ist, auf der Grundlage der mehreren dreidimensionalen Kamerakoordinaten erzeugt. Die Positionen der Schnittpunkte der mehreren dreieckigen Patches 54A werden durch die mehreren dreidimensionalen Kamerakoordinaten definiert. Die Positionen der Schnittpunkte der mehreren dreieckigen Patches 54A, die in dem TIN 54 enthalten sind, werden auf die xy-Ebene PD0 und die uv-Ebene 24A1 perspektivisch projiziert. Die jeweiligen Pixel der Positionen Ai, Ai+1 und Ai+2, die durch perspektivisches Projizieren der Positionen der Schnittpunkte der mehreren dreieckigen Patches 54A auf die xy-Ebene PD0 erhalten werden, werden den Positionen Bi, Bi+1 und Bi+2, die durch perspektivisches Projizieren der Positionen der Schnittpunkte der mehreren dreieckigen Patches 54A auf die uv-Ebene 24A1 erhalten werden, zugeordnet. Dadurch wird das Texturbild auf dem Bildschirm 24A erzeugt. Dementsprechend ist es gemäß der vorliegenden Konfiguration im Vergleich zu einem Fall, in dem ein Texturbild ohne Verwendung des polygonalen Patches, wie beispielsweise des dreieckigen Patches 54A, erzeugt wird, möglich, das Texturbild leicht zu erzeugen.
  • Bei dem Informationsverarbeitungssystem 2 wird als die zweite Interpolationsposition D0 die Position auf dem Bildschirm 24A angewendet, die der anderen Position als dem Schnittpunkt der dreieckigen Patches 54A entspricht. Das heißt, das Pixel, das das aufgenommene Bild PD bildet, wird nicht nur der Bildschirmschnittpunktposition, sondern auch der zweiten Interpolationsposition D0 zugeordnet. Dementsprechend wird gemäß der vorliegenden Konfiguration ein feineres Texturbild auf dem Bildschirm 24A im Vergleich zu einem Fall angezeigt, in dem das Pixel, das das aufgenommene Bild PD bildet, nur den Bildschirmschnittpunktpositionen zugeordnet ist.
  • Bei dem Informationsverarbeitungssystem 2 werden die kombinierten Punktwolkendaten SG in die mehreren dreidimensionalen Kamerakoordinaten umgewandelt, und die mehreren dreidimensionalen Kamerakoordinaten werden in die mehreren der zweidimensionalen Kamerakoordinaten und die mehreren zweidimensionalen Bildschirmkoordinaten umgewandelt. Dann wird die Texturabbildung realisiert, indem Pixel an den Positionen, die aus den zweidimensionalen Kamerakoordinaten spezifiziert werden, den Positionen, die aus den zweidimensionalen Bildschirmkoordinaten spezifiziert werden, zugeordnet werden. Dementsprechend ist es gemäß der vorliegenden Konfiguration im Vergleich zu einem Fall, in dem die Texturabbildung durchgeführt wird, ohne die kombinierten Punktwolkendaten SG in die mehreren dreidimensionalen Kamerakoordinaten umzuwandeln, möglich, ein Texturbild mit einer höheren Genauigkeit zu erhalten.
  • Bei der oben erwähnten Ausführungsform wurde ein Ausführungsbeispiel beschrieben, bei dem eine zweite Interpolationsposition D0 auf jeden dreieckigen Patch 54A angewendet wird, aber die Technik der vorliegenden Offenbarung ist nicht darauf beschränkt. Beispielsweise können mehrere zweite Interpolationspositionen D0 auf jeden der dreieckigen Patches 54A angewendet werden. In einem solchen Fall sind mehrere erste Interpolationspositionen C0 für jeden der dreieckigen Patches 54A vorgesehen. Dann werden die jeweiligen Pixel der mehreren entsprechenden ersten Interpolationspositionen C0 den mehreren zweiten Interpolationspositionen D0 zugeordnet. Dadurch ist es im Vergleich zu einem Fall, in dem nur eine zweite Interpolationsposition D0 auf einen dreieckigen Patch 54A angewendet wird, möglich, ein Texturbild mit höherer Auflösung als das auf dem Bildschirm 24A anzuzeigende Bild zu erzeugen.
  • Ferner kann, wie in 13 als ein Beispiel gezeigt, in dem zweidimensionalen Kamerakoordinatensystem mindestens eine zweite Interpolationsposition D0 auf einen Abschnitt angewendet werden, der einem Schwerpunkt CG1 und/oder einem Schwerpunktteil CG2 des dreieckigen Patches 54A (zum Beispiel einem kreisförmigen Teil, der auf den Schwerpunkt CG1 zentriert ist, in einem Bereich innerhalb des dreieckigen Patches 54A) entspricht. In einem solchen Fall ist in dem zweidimensionalen Kamerakoordinatensystem beispielsweise mindestens eine erste Interpolationsposition C0 für eine Stelle, die jeweils dem Schwerpunkt CG1 und/oder dem Schwerpunktteil CG2 des dreieckigen Patches 54A entspricht, gegeben. Dann wird das Pixel an der entsprechenden ersten Interpolationsposition C0 mindestens einer zweiten Interpolationsposition D0 auf die gleiche Weise wie bei der oben erwähnten Ausführungsform zugeordnet. Dadurch ist es in dem zweidimensionalen Kamerakoordinatensystem im Vergleich zu einem Fall, in dem die zweite Interpolationsposition D0 näher an einer Stelle, die dem Schnittpunkt des dreieckigen Patches 54A entspricht, als an einer Stelle, die dem Schwerpunkt CG1 des dreieckigen Patches 54A entspricht, angewendet wird, möglich, die Verzerrung der Pixel in dem auf dem Bildschirm 24A anzuzeigenden Bild zu unterdrücken. Ferner kann, wie in 14 als ein Beispiel gezeigt, mindestens eine zweite Interpolationsposition D0 auf eine Stelle, die einer Seite 54A1 des dreieckigen Patches 54A entspricht, angewendet werden. In einem solchen Fall ist beispielsweise mindestens eine erste Interpolationsposition C0 für einen Abschnitt (bei dem in 10 gezeigten Beispiel die Position C1 und/oder C2), der der Seite 54A1 des dreieckigen Patches 54A entspricht, gegeben. Dann wird das Pixel an der entsprechenden ersten Interpolationsposition C0 mindestens einer zweiten Interpolationsposition D0 auf die gleiche Weise wie bei der oben erwähnten Ausführungsform zugeordnet.
  • Die Anzahl an Interpolationspositionen, die auf ein Aggregat von Dreiecken angewendet werden, die dem TIN 54 in dem zweidimensionalen Kamerakoordinatensystem und dem zweidimensionalen Bildschirmkoordinatensystem entsprechen (zum Beispiel die durchschnittliche Anzahl an Interpolationspositionen, die auf den dreieckigen Patch 54A angewendet werden), kann als Reaktion auf eine von außen gegebene Anweisung (zum Beispiel eine von der Empfangsvorrichtung 22 empfangene Anweisung) geändert werden. In einem solchen Fall kann das auf dem Bildschirm 24A angezeigte Bild weiter verfeinert werden. Dann kann, um die Anzahl an Interpolationspositionen, die auf das Dreieck angewendet werden, das dem dreieckigen Patch 54A in dem zweidimensionalen Kamerakoordinatensystem und dem zweidimensionalen Bildschirmkoordinatensystem entspricht, angewendet werden, zu erhöhen, eine Berechnungslast, die auf die Texturabbildungsverarbeitung aufgebracht wird, reduziert werden. In einem solchen Fall kann die Anzahl an Interpolationspositionen reduziert werden.
  • [Erstes Modifikationsbeispiel]
  • Bei der oben erwähnten Ausführungsform wurde das Ausführungsbeispiel, bei dem der Prozessor 40 das Programm 52 für Texturabbildungsverarbeitung ausführt, so dass er als die Erfassungseinheit 40A, die Umwandlungseinheit 40B und die Pixelzuordnungseinheit 40C betrieben wird, als ein Beispiel beschrieben. Die Technik der vorliegenden Offenbarung ist jedoch nicht darauf beschränkt. Beispielsweise kann der Prozessor 40, wie in 15 gezeigt, das Programm 52 für Texturabbildungsverarbeitung ausführen, um den Prozessor 40 weiter als eine Steuereinheit 40D zu betreiben.
  • Beispielsweise veranlasst die Steuereinheit 40D, wie in 15 gezeigt, die Erfassungseinheit 40A, die kombinierten Punktwolkendaten SG, die zum Umwandeln der mehreren dreidimensionalen Kamerakoordinaten verwendet werden, zu erfassen, und erfasst die mehreren dreidimensionalen Kamerakoordinaten, die von der Erfassungseinheit 40A erhalten werden. Die Steuereinheit 40D erzeugt einen Datensatz 56, der ein Beispiel von „Zuordnungsinformationen“ gemäß der Technik der vorliegenden Offenbarung ist, auf der Grundlage der kombinierten Punktwolkendaten SG und der mehreren dreidimensionalen Kamerakoordinaten. Der Datensatz 56 sind Informationen, bei denen die kombinierten Punktwolkendaten SG vor Umwandlung in die mehreren dreidimensionalen Kamerakoordinaten durch die Erfassungseinheit 40A den mehreren dreidimensionalen Kamerakoordinaten, die durch die Erfassungseinheit 40A von den kombinierten Punktwolkendaten SG umgewandelt wurden, zugeordnet sind.
  • Die Steuereinheit 40D speichert den Datensatz 56 in dem Datenspeicher 42. Dadurch hält der Datenspeicher 42 den Datensatz 56 fest.
  • Wie in 16 als ein Beispiel gezeigt, unterscheidet sich die Texturabbildungsverarbeitung gemäß dem ersten Modifikationsbeispiel von der in 11 gezeigten Texturabbildungsverarbeitung darin, dass die Texturabbildungsverarbeitung die Verarbeitung von Schritt ST200 und die Verarbeitung von Schritten ST202 bis ST206 enthält. Die Verarbeitung von Schritt ST200 wird zwischen der Verarbeitung von Schritt ST102 und der Verarbeitung von Schritt ST104 durchgeführt. Die Verarbeitung von Schritten ST202 bis ST206 wird ausgeführt, nachdem die Verarbeitung von Schritt ST114 ausgeführt wurde.
  • Bei der in 16 gezeigten Texturabbildungsverarbeitung ordnet die Steuereinheit 40D bei Schritt ST200 die bei Schritt ST100 erfassten kombinierten Punktwolkendaten SG den mehreren bei Schritt ST102 erhaltenen dreidimensionalen Kamerakoordinaten zu, wodurch der Datensatz 56 erzeugt wird. Infolgedessen speichert der Datenspeicher 42 den erzeugten Datensatz 56.
  • Bei Schritt ST202 bestimmt die Steuereinheit 40D, ob die kombinierten Punktwolkendaten SG, die in dem Datensatz 56 in dem Datenspeicher 42 enthalten sind, ausgewählt wurde oder nicht. Die kombinierten Punktwolkendaten SG werden beispielsweise als Reaktion auf eine von der Empfangsvorrichtung 22 (siehe 3) empfangene Anweisung ausgewählt. Bei Schritt ST202 ist in einem Fall, in dem die kombinierten Punktwolkendaten SG, die in dem Datensatz 56 in dem Datenspeicher 42 enthalten sind, nicht ausgewählt wurden, die Bestimmung negativ, und die Texturabbildungsverarbeitung geht zu Schritt ST206 über. Bei Schritt ST202 ist in einem Fall, in dem die kombinierten Punktwolkendaten SG, die in dem Datensatz 56 in dem Datenspeicher 42 enthalten sind, ausgewählt wurden, die Bestimmung positiv, und die Texturabbildungsverarbeitung geht zu Schritt ST204 über.
  • Bei Schritt ST204 erfasst die Erfassungseinheit 40A die mehreren dreidimensionalen Kamerakoordinaten, die den kombinierten Punktwolkendaten SG, die bei Schritt ST202 ausgewählt wurden, zugeordnet sind, aus dem Datensatz 56 in dem Datenspeicher 42 und erzeugt ein TIN 54 auf der Grundlage der mehreren erfassten dreidimensionalen Kamerakoordinaten. Nachdem die Verarbeitung bei Schritt ST204 ausgeführt wurde, geht die Texturabbildungsverarbeitung zu Schritt ST106 über. Bei Schritt ST106 bis Schritt ST110 wird die Verarbeitung, die das bei Schritt ST204 erzeugte TIN 54 verwendet, ausgeführt. Dann wird, nachdem die Verarbeitung bei Schritt ST110 durchgeführt wurde, jede Verarbeitung bei Schritten ST112 und ST114 durchgeführt.
  • Bei Schritt ST206 bestimmt die Steuereinheit 40D, ob eine Bedingung für Endung der Texturabbildungsverarbeitung (nachstehend als eine „Endbedingung“ bezeichnet) erfüllt ist oder nicht. Als ein erstes Beispiel der Endbedingung gibt es eine Bedingung, dass die Empfangsvorrichtung 22 (siehe 3) eine Anweisung zum Beenden der Texturabbildungsverarbeitung empfängt. Als ein zweites Beispiel der Endbedingung gibt es eine Bedingung, dass eine vorbestimmte Zeit (zum Beispiel 15 Minuten) ab dem Start der Ausführung der Texturabbildungsverarbeitung verstrichen ist, ohne dass bei Schritt ST202 eine positive Bestimmung getroffen wird.
  • Bei Schritt ST206 ist in einem Fall, in dem die Endbedingung nicht erfüllt ist, die Bestimmung negativ, und die Texturabbildungsverarbeitung geht zu Schritt ST202 über. Bei Schritt ST206 ist in einem Fall, in dem die Endbedingung erfüllt ist, die Bestimmung positiv, und die Texturabbildungsverarbeitung endet.
  • Wie oben beschrieben, hält der Datenspeicher 42 bei dem ersten Modifikationsbeispiel den Datensatz 56 als Informationen fest, bei denen die kombinierten Punktwolkendaten SG und die mehreren dreidimensionalen Kamerakoordinaten einander zugeordnet sind. Dementsprechend ist es gemäß der vorliegenden Konfiguration in einem Zustand, in dem das LiDAR einen Abschnitt des Objekts 50, an dem die kombinierten Punktwolkendaten SG im Voraus erhalten wurden, nicht erneut scannt, möglich, die Texturabbildungsverarbeitung auf der Grundlage der mehreren dreidimensionalen Kamerakoordinaten durchzuführen.
  • Ferner erzeugt der Prozessor 40 bei dem ersten Modifikationsbeispiel das TIN 54 unter Bezugnahme auf den Datensatz 56 (siehe Schritt ST204 in 16) und führt die Verarbeitung nach Schritt ST106 aus. Dadurch werden auf dem Bildschirm 24A die Pixel, die das aufgenommene Bild PD bilden, den Interpolationspositionen (bei dem in 10 gezeigten Beispiel der zweiten Interpolationsposition D0) zugeordnet, an denen die mehreren dreidimensionalen Kamerakoordinaten durch das Interpolationsverfahren, das die mehreren zweidimensionalen Kamerakoordinaten und die mehreren zweidimensionalen Bildschirmkoordinaten verwendet, spezifiziert werden. Dementsprechend ist es gemäß der vorliegenden Konfiguration in einem Zustand, in dem das LiDAR einen Abschnitt des Objekts 50, in dem die kombinierten Punktwolkendaten SG im Voraus erhalten wurden, nicht erneut scannt, möglich, das dreidimensionale Bild, das auf dem Bildschirm 24A angezeigt wird (das heißt ein Texturbild, das von dem Benutzer dreidimensional wahrgenommen wird), zu erzeugen.
  • [Zweites Modifikationsbeispiel]
  • Bei der oben erwähnten Ausführungsform wurde ein Ausführungsbeispiel der Ausführungsform beschrieben, bei dem die kombinierten Punktwolkendaten SG in die mehreren dreidimensionalen Kamerakoordinaten umgewandelt werden, aber die Technik der vorliegenden Offenbarung ist nicht darauf beschränkt. Die mehreren dreidimensionalen Kamerakoordinaten können auf der Grundlage von mehreren aufgenommenen Bildern PD berechnet werden.
  • In einem solchen Fall wird zunächst, wie in 17 gezeigt, das bewegliche Objekt 10 zu mehreren Positionen bewegt, und ein Objekt 58 wird von jeder Position durch die Kamera 32B abgebildet. Zum Beispiel wird das bewegliche Objekt 10 in Reihenfolge einer ersten Bildgebungsposition, einer zweiten Bildgebungsposition und einer dritten Bildgebungsposition bewegt, und die Kamera 32B wird dazu gebracht, das Objekt 58 an jeweils der ersten Bildgebungsposition, der zweiten Bildgebungsposition und der dritten Bildgebungsposition abzubilden.
  • Ein Motivbild des Objekts 58 wird auf einer Bildgebungsebene 32B1 an einer von einer Mitte eines Objektivs der Kamera 32B um die Brennweite entfernten Position gebildet, und die Kamera 32B nimmt das Motivbild auf. Bei dem in 17 gezeigten Beispiel wird ein Motivbild OI1, das dem Objekt 58 entspricht, auf der Bildgebungsebene 32B1 an der ersten Bildgebungsposition gebildet. Ferner wird ein Motivbild OI2, das dem Objekt 58 entspricht, auf der Bildgebungsebene 32B1 an der zweiten Bildgebungsposition gebildet. Des Weiteren wird ein Motivbild OI3, das dem Objekt 58 entspricht, auf der Bildgebungsebene 32B 1 an der dritten Bildgebungsposition gebildet.
  • Ein elektronisches Bild, das dem Motivbild OI1 entspricht, wird in dem aufgenommenen Bild PD reflektiert, das durch von der Kamera 32B an der ersten Bildgebungsposition durchgeführte Bildgebung aufgenommen wurde. Ein elektronisches Bild, das dem Motivbild OI2 entspricht, wird in dem aufgenommenen Bild PD reflektiert, das durch von der Kamera 32B an der zweiten Bildgebungsposition durchgeführte Bildgebung aufgenommen wurde. Ein elektronisches Bild, das dem Motivbild OI3 entspricht, wird in dem aufgenommenen Bild PD reflektiert, das durch von der Kamera 32B an der dritten Bildgebungsposition durchgeführte Bildgebung aufgenommen wurde.
  • Wie in 18 als ein Beispiel gezeigt, erfasst der Prozessor 40 die aufgenommenen Bilder PD mehrerer Einzelbilder von der Kamera 32B. Hier geben die aufgenommenen Bilder PD der mehreren Einzelbilder beispielsweise die aufgenommenen Bilder PD der mehreren Einzelbilder an, die durch Abbilden des Objekts 58 mit der Kamera 32B von mindestens zwei unterschiedlichen Positionen unter der ersten Bildgebungsposition, der zweiten Bildgebungsposition, der dritten Bildgebungsposition und dergleichen aufgenommen wurden. Der Prozessor 40 berechnet die dreidimensionalen Kamerakoordinaten, die in der Lage sind, die Position eines Merkmalspunkts des Objekts 58 zu spezifizieren, auf der Grundlage der Merkmalspunkte des Objekts 58, die zwischen den mehreren Einzelbildern von aufgenommenen Bildern PD, die durch Abbilden des Objekts 58 mit der Kamera 32B von unterschiedlichen Positionen aufgenommen wurden, als ein Bild (hier als ein Beispiel ein elektronisches Bild) enthalten sind. Infolgedessen werden die dreidimensionalen Kamerakoordinaten erfasst.
  • Bei dem in 18 gezeigten Beispiel ist ein Merkmalspunkt Q gezeigt, der in dem Objekt 58 enthalten ist. Ein Merkmalspunkt q1 in einem ersten aufgenommenen Bild, das dem Merkmalspunkt Q entspricht, ist in einem ersten aufgenommenen Bild PD1 enthalten, das durch Abbilden des Objekts 58 mit der Kamera 32B an der ersten Bildgebungsposition aufgenommen wurde. Ferner ist ein Merkmalspunkt q2 in einem zweiten aufgenommenen Bild, das dem Merkmalspunkt Q entspricht, ist in einem zweiten aufgenommenen Bild PD2 enthalten, das durch Abbilden des Objekts 58 mit der Kamera 32B an der zweiten Bildgebungsposition aufgenommen wurde. Die dreidimensionalen Kamerakoordinaten (X, Y, Z) des Merkmalspunkts Q werden auf der Grundlage von zweidimensionalen Koordinaten (x3, y3), die Koordinaten in einem Kameragesichtsfeld des Merkmalspunkts q1 in dem ersten aufgenommenen Bild sind, und von zweidimensionalen Koordinaten (x4, y4), die Koordinaten in einem Kameragesichtsfeld des Merkmalspunkts q2 in dem zweiten aufgenommenen Bild sind, berechnet. Folglich berechnet der Prozessor 40 geometrisch die Position und die Lage der Kamera 32B auf der Grundlage der zweidimensionalen Koordinaten (x3, y3) des Merkmalspunkts q1 in dem ersten aufgenommenen Bild und der zweidimensionalen Koordinaten (x4, y4) des Merkmalspunkts q2 in dem zweiten aufgenommenen Bild und berechnet die dreidimensionalen Kamerakoordinaten (X, Y, Z) des Merkmalspunkts Q auf der Grundlage des Berechnungsergebnisses.
  • Wie in 19 als ein Beispiel gezeigt, werden die Position und die Lage der Kamera 32B auf der Grundlage einer Epipolarebene 60 spezifiziert, die eine dreieckige Ebene mit drei Scheiteln an dem Merkmalspunkt Q, einem Kamerazentrum O1 und einem Kamerazentrum O2 ist. Das Kamerazentrum O1 ist auf einer geraden Linie vorhanden, die von dem Merkmalspunkt Q den Merkmalspunkt q1 in dem ersten aufgenommenen Bild passiert, vorhanden, und das Kamerazentrum O2 ist auf einer geraden Linie, die von dem Merkmalspunkt Q den Merkmalspunkt q2 in dem zweiten aufgenommenen Bild passiert, vorhanden. Die Epipolarebene 60 weist eine Basislinie BL auf. Die Basislinie BL ist ein Liniensegment, das das Kamerazentrum O1 und das Kamerazentrum O2 verbindet. Die Epipolarebene 60 weist Epipole e1 und e2 auf. Der Epipol e1 ist ein Punkt, an dem die Basislinie BL und eine Ebene des ersten aufgenommenen Bildes PD1 sich schneiden. Der Epipol e2 ist ein Punkt, an dem die Basislinie BL und eine Ebene des zweiten aufgenommenen Bildes PD2 sich schneiden. Das erste aufgenommene Bild PD1 weist eine Epipolarlinie EP1 auf. Die Epipolarlinie EP1 ist eine gerade Linie, die den Epipol e1 und den Merkmalspunkt q1 in dem ersten aufgenommenen Bild passiert. Das zweite aufgenommene Bild PD2 weist eine Epipolarlinie EP2 auf. Die Epipolarlinie EP2 ist eine gerade Linie, die den Epipol e2 und den Merkmalspunkt q2 in dem zweiten aufgenommenen Bild passiert.
  • Wie oben beschrieben, bildet die Kamera 32B das in dem dreidimensionalen Raum vorhandene Objekt 58 an mehreren Bildgebungspositionen (hier zum Beispiel der ersten Bildgebungsposition und der zweiten Bildgebungsposition) ab (das heißt, der Merkmalspunkt Q wird auf die Ebene des ersten aufgenommenen Bildes PD1 als der Merkmalspunkt q1 in dem ersten aufgenommenen Bild projiziert, und der Merkmalspunkt Q wird auf die Ebene des zweiten aufgenommenen Bildes PD2 als der Merkmalspunkt q2 in dem zweiten aufgenommenen Bild projiziert). In einem solchen Fall erscheint eine Epipolargeometrie als eine einzigartige Geometrie, die auf der Epipolarebene 60 zwischen dem ersten aufgenommenen Bild PD1 und dem zweiten aufgenommenen Bild PD2 basiert. Die Epipolargeometrie gibt eine Korrelation des Merkmalspunkts Q, des Merkmalspunkts q1 in dem ersten aufgenommenen Bild und des Merkmalspunkts q2 in dem zweiten aufgenommenen Bild an. Beispielsweise ändern sich in einem Fall, in dem sich die Position des Merkmalspunkts Q ändert, der Merkmalspunkt q1 in dem ersten aufgenommenen Bild und der Merkmalspunkt q2 in dem zweiten aufgenommenen Bild, und die Epipolarebene 60 ändert sich ebenfalls. In einem Fall, in dem sich die Epipolarebene 60 ändert, ändern sich auch die Epipole e1 und e2 und somit ändern sich auch die Epipolarlinien EP1 und EP2. Das heißt, die Epipolargeometrie enthält Informationen, die zum Spezifizieren der Position und der Lage der Kamera 32B an mehreren Bildgebungspositionen (hier als ein Beispiel einer ersten Bildgebungsposition und einer zweiten Bildgebungsposition) notwendig sind.
  • Daher berechnet der Prozessor 40 eine Fundamentalmatrix E aus numerischen Ausdrücken (13) bis (19) durch Verwenden der zweidimensionalen Koordinaten (x3, y3) des Merkmalspunkts q1 in dem ersten aufgenommenen Bild und der zweidimensionalen Koordinaten (x4, y4) des Merkmalspunkts q2 in dem zweiten aufgenommenen Bild und der Epipolargeometrie und schätzt eine Drehmatrix R und einen Translationsvektor T aus der berechneten Fundamentalmatrix E. Dann berechnet der Prozessor 40 die dreidimensionalen Kamerakoordinaten (X, Y, Z) des Merkmalspunkts Q auf der Grundlage der geschätzten Drehmatrix R und des Translationsvektors T.
  • Hier wird ein Beispiel eines Verfahrens des Berechnens der Fundamentalmatrix E beschrieben. Es kommt eine Beziehung zwischen den dreidimensionalen Kamerakoordinaten (X1, Y1, Z1) des Merkmalspunkts Q, die in dem Koordinatensystem der Kamera 32B an der ersten Bildgebungsposition dargestellt sind, und den dreidimensionalen Kamerakoordinaten (x2, Y2, Z2) des Merkmalspunkts Q, die in dem Koordinatensystem der Kamera 32B an der zweiten Bildgebungsposition dargestellt sind, zustande. Die Beziehung wird durch numerischen Ausdruck (13) dargestellt. Bei numerischem Ausdruck (13) sind Q1 die dreidimensionalen Kamerakoordinaten (X1, Y1, Z1) des Merkmalspunkts Q, die in dem Koordinatensystem der Kamera 32B an der ersten Bildgebungsposition dargestellt sind, Q2 sind die dreidimensionalen Kamerakoordinaten (X2, Y2, Z2) des Merkmalspunkts Q, die in dem Koordinatensystem der Kamera 32B an der zweiten Bildgebungsposition dargestellt sind, R ist eine Drehmatrix (das heißt eine Drehmatrix, die für Umwandlung von dem Koordinatensystem der Kamera 32B an der ersten Bildgebungsposition zu dem Koordinatensystem der Kamera 32B an der zweiten Bildgebungsposition notwendig ist), und T ist ein Translationsvektor (das heißt ein Translationsvektor, der für Umwandlung von dem Koordinatensystem der Kamera 32B an der ersten Bildgebungsposition zu dem Koordinatensystem der Kamera 32B an der zweiten Bildgebungsposition notwendig ist).
    [Numerischer Ausdruck 13] Q 2 = R Q 1 + T
    Figure DE112022003299T5_0013
  • Die Projektion der dreidimensionalen Kamerakoordinaten (X1, Y1, Z1) des Merkmalspunkts Q auf die zweidimensionalen Koordinaten (x3, y3) und (x4, y4) wird durch numerischen Ausdruck (14) dargestellt. Bei numerischem Ausdruck (14) ist λ1 ein Wert, der eine Tiefe angibt, die in einem Fall verschwindet, in dem der Merkmalspunkt Q auf das erste aufgenommene Bild PD1 projiziert wird, und λ2 ist ein Wert, der eine Tiefe angibt, die in einem Fall verschwindet, in dem der Merkmalspunkt Q auf das zweite aufgenommene Bild PD2 projiziert wird.
    [Numerischer Ausdruck 14] λ 2 ( x 4 y 4 1 ) = ( 1 0 0 0 0 1 0 0 0 0 1 0 ) ( X 2 Y 2 Z 2 1 ) ,   λ 1 ( x 3 y 3 1 ) = ( 1 0 0 0 0 1 0 0 0 0 1 0 ) ( X 1 Y 1 Z 1 1 )
    Figure DE112022003299T5_0014
  • Numerischer Ausdruck (14) wird durch numerischen Ausdruck (15) ersetzt. Durch Einsetzen von numerischem Ausdruck (15) in numerischen Ausdruck (13) wird numerischer Ausdruck (16) erhalten.
    [Numerischer Ausdruck 15] λ 2 q 2 = Q 2 , λ 1 = Q 1 ( λ 1 = Z 1 ,   λ 2 = Z 2 )
    Figure DE112022003299T5_0015

    [Numerischer Ausdruck 16] λ 2 q 2 = R λ 1 + T
    Figure DE112022003299T5_0016
  • Der Translationsvektor T ist ein Vektor, der eine Entfernung und eine Orientierung von dem Kamerazentrum O2 zu dem Kamerazentrum O1 angibt. Das heißt, der Translationsvektor T entspricht einem Vektor, der sich von dem Kamerazentrum O2 zu dem Kamerazentrum OP erstreckt, und stimmt mit der Basislinie BL überein. Indessen entspricht „λ2q2“ (das heißt „Q2“ von numerischem Ausdruck (15)) auf der linken Seite von numerischem Ausdruck (16) einer geraden Linie, die sich von dem Kamerazentrum O2 zu dem Merkmalspunkt Q erstreckt, und stimmt mit einer Seite der Epipolarebene 60 überein. Dementsprechend ist ein äußeres Produkt des Translationsvektors T und „λ2q2“ ein Vektor W (siehe 19), der senkrecht zu der Epipolarebene 60 ist. Hier wird in einem Fall, in dem das äußere Produkt des Translationsvektors T für die rechte Seite von numerischem Ausdruck (16) eingestellt ist, das äußere Produkt durch numerischen Ausdruck (17) dargestellt. Bei numerischem Ausdruck (17) ist der Translationsvektor T als eine schiefsymmetrische Matrix [T] dargestellt.
    [Numerischer Ausdruck 17]  T × λ 2 q 2 = T × ( R λ 1 q 1 + T ) [ T ] × λ 2 q 2 = [ T ] × R λ 1 q 1
    Figure DE112022003299T5_0017
  • Der Vektor W (siehe 19) und die Epipolarebene 60 sind senkrecht zueinander. Daher wird in einem Fall, in dem das innere Produkt der zweidimensionalen Koordinaten (x4, y4) des Merkmalspunkts q2 in dem zweiten aufgenommenen Bild auf beiden Seiten von numerischem Ausdruck (17) eingestellt ist, „0“ erhalten, wie bei Numerischem Ausdruck (18) gezeigt. λ1 und λ2 sind konstante Terme und haben keinen Einfluss auf die Schätzung der Drehmatrix R und des Translationsvektors T. Daher werden λ1 und λ2 aus numerischem Ausdruck (18) eliminiert. In einem Fall, in dem „E = [T] × R“, wird numerischer Ausdruck (19), der einen sogenannten epipolaren Beschränkungsausdruck angibt, von numerischem Ausdruck (18) abgeleitet.
    [Numerischer Ausdruck 18]   q 2 T [ T ] × λ 2 q 2 = q 2 T [ T ] × R λ 1 q 1 = 0 q 2 T [ T ] × q 2 = q 2 T [ T ] × R q 1 = 0
    Figure DE112022003299T5_0018

    [Numerischer Ausdruck 19] E = [ T ] × R q 2 T E q 1 = 0
    Figure DE112022003299T5_0019
  • Die Fundamentalmatrix E wird durch eine simultane Gleichung, die aus mehreren epipolaren Beschränkungsausdrücken, die für jeden von mehreren Merkmalspunkten einschließlich des Merkmalspunkts Q abgeleitet werden, gebildet wird, berechnet. Da die Fundamentalmatrix E nur die Drehmatrix R und den Translationsvektor T enthält, können die Drehmatrix R und der Translationsvektor T auch durch Berechnen der Fundamentalmatrix E erhalten werden. Die Drehmatrix R und der Translationsvektor T werden durch Verwenden eines wohlbekannten Verfahrens, wie beispielsweise der Singulärpunktzerlegung, auf der Grundlage der Fundamentalmatrix E geschätzt (siehe beispielsweise https://ir.lib.hiroshimau.ac.jp/00027688, 20091125note_reconstruction.pdf, Vorlesungsskript für fortgeschrittenen Kurs von Image Engineering: Dreidimensionale Restauration mit linearer Algebra, Toru Tamaki, 25. November 2009, Seite 59 „1.4.2 Epipolargeometrie mit projektiver Geometrie" bis Seite 69 „1.4.4 Zusammenfassung von dreidimensionaler Restauration").
  • Die dreidimensionalen Kamerakoordinaten (X, Y, Z) des Merkmalspunkts Q werden berechnet, indem die Drehmatrix R und der Translationsvektor T, die auf der Grundlage der Fundamentalmatrix E geschätzt wurden, in numerischen Ausdruck (13) eingesetzt werden.
  • Wie oben beschrieben, werden gemäß dem zweiten Modifikationsbeispiel die dreidimensionalen Kamerakoordinaten des Merkmalspunkts Q des Objekts 58 auf der Grundlage des Merkmalspunkts q1 in dem ersten aufgenommenen Bild und des Merkmalspunkts q2 in dem zweiten aufgenommenen Bild des Objekts 58, das als ein Bild zwischen den aufgenommenen Bildern PD der mehreren Einzelbilder, die durch Abbilden des Objekts 58 mit der Kamera 32B von unterschiedlichen Positionen aufgenommen wurden, enthalten ist, berechnet. Dementsprechend ist es gemäß der vorliegenden Konfiguration möglich, die dreidimensionalen Kamerakoordinaten des Merkmalspunkts Q des Objekts 58 ohne Verwendung des LiDAR 32A zu berechnen.
  • [Andere Modifikationsbeispiele]
  • Bei der oben erwähnten Ausführungsform wurde der dreieckige Patch 54A beispielhaft dargestellt, aber die Technik der vorliegenden Offenbarung ist nicht darauf beschränkt. Ein viereckiger Patch, der durch ein viereckiges Netz definiert ist, kann anstelle des dreieckigen Patches 54A verwendet werden. Ferner kann ein Patch mit einer anderen polygonalen Form als einem Dreieck oder einem Viereck anstelle des dreieckigen Patches 54A verwendet werden. Auf diese Weise kann bei der Technik der vorliegenden Offenbarung, da die polygonalen Patches verwendet werden, die Texturabbildung im Vergleich zu einem Fall, in dem die polygonalen Patches nicht verwendet werden, leicht durchgeführt werden.
  • Darüber hinaus kann der polygonale Patch ein planarer Patch oder ein Patch mit gekrümmter Fläche sein, aber eine Last, die auf die Berechnung der Texturabbildung aufgebracht wird, ist bei dem planaren Patch kleiner als bei dem Patch mit gekrümmter Fläche. Daher ist es bevorzugt, dass der polygonale Patch ein planarer Patch ist.
  • Bei der oben erwähnten Ausführungsform wurde ein Ausführungsbeispiel beschrieben, bei dem der Datenspeicher 42 das Programm 52 für Texturabbildungsverarbeitung speichert, aber die Technik der vorliegenden Offenbarung ist nicht darauf beschränkt. Beispielsweise kann ein tragbares Speichermedium 100, wie beispielsweise eine SSD oder ein USB-Speicher, das Programm 52 für Texturabbildungsverarbeitung speichern. Das Speichermedium 100 ist ein nicht flüchtiges computerlesbares Speichermedium. Das auf dem Speichermedium 100 gespeicherte Programm 52 für Texturabbildungsverarbeitung ist auf dem Computer 39 der Informationsverarbeitungsvorrichtung 20 installiert. Der Prozessor 40 führt die Texturabbildungsverarbeitung in Übereinstimmung mit dem Programm 52 für Texturabbildungsverarbeitung aus.
  • Ferner kann das Programm 52 für Texturabbildungsverarbeitung auf einer Speichervorrichtung eines anderen Computers, einer Servervorrichtung oder dergleichen gespeichert sein, die über ein Netzwerk mit der Informationsverarbeitungsvorrichtung 20 verbunden ist. Das Programm 52 für Texturabbildungsverarbeitung kann als Reaktion auf eine Anforderung von der Informationsverarbeitungsvorrichtung 20 auf den Computer 39 heruntergeladen und auf diesem installiert werden.
  • Es ist nicht notwendig, das gesamte Programm 52 für Texturabbildungsverarbeitung auf der Speichervorrichtung eines anderen Computers, der Servervorrichtung oder dergleichen, die mit der Informationsverarbeitungsvorrichtung 20 verbunden ist, oder in dem Datenspeicher 42 zu speichern, und ein Teil des Programms 52 für Texturabbildungsverarbeitung kann gespeichert sein.
  • Ferner ist der Computer 39 in die in 3 gezeigte Informationsverarbeitungsvorrichtung 20 eingebaut, aber die Technik der vorliegenden Offenbarung ist nicht darauf beschränkt. Der Computer 39 kann beispielsweise außerhalb der Informationsverarbeitungsvorrichtung 20 vorgesehen sein.
  • Bei der oben erwähnten Ausführungsform wurde der Computer 39 beispielhaft dargestellt, aber die Technik der vorliegenden Offenbarung ist nicht darauf beschränkt, und eine Vorrichtung einschließlich einer ASIC, eines FPGA und/oder einer PLD kann anstelle des Computers 39 verwendet werden. Ferner können anstelle des Computers 39 eine Hardwarekonfiguration und eine Softwarekonfiguration in Kombination verwendet werden.
  • Als eine Hardware-Ressource zum Ausführen der bei der oben erwähnten Ausführungsform beschriebenen Texturabbildungsverarbeitung können die folgenden verschiedenen Prozessoren verwendet werden. Beispiele der Prozessoren umfassen eine CPU, die ein Allzweckprozessor ist, der durch Ausführen von Software, das heißt ein Programm, als eine Hardware-Ressource zum Ausführen der Texturabbildungsverarbeitung fungiert. Ferner umfassen Beispiele des Prozessors eine dedizierte elektrische Schaltung, die ein Prozessor ist, der eine Schaltungskonfiguration aufweist, die speziell zur Ausführung einer spezifischen Verarbeitung, wie beispielsweise eines FPGA, einer PLD oder einer ASIC, entworfen ist. Ein beliebiger Prozessor weist einen eingebauten oder damit verbundenen Speicher auf, und ein beliebiger Prozessor führt die Texturabbildungsverarbeitung durch Verwenden des Speichers aus.
  • Die Hardware-Ressource zum Ausführen der Texturabbildungsverarbeitung kann aus einem von diesen verschiedenen Prozessoren bestehen oder kann aus einer Kombination (zum Beispiel einer Kombination aus mehreren FPGAs oder einer Kombination aus einer CPU und einem FPGA) aus zwei oder mehr Prozessoren desselben Typs oder unterschiedlicher Typen bestehen. Ferner kann die Hardware-Ressource zum Ausführen der Texturabbildungsverarbeitung ein Prozessor sein.
  • Als ein Beispiel des Konfigurierens einer Hardware-Ressource mit einem Prozessor gibt es zunächst eine Form, bei der ein Prozessor durch eine Kombination aus einer oder mehreren CPUs und Software konfiguriert ist und der Prozessor als die Hardware-Ressource zum Ausführen der Texturabbildungsverarbeitung fungiert. Zweitens gibt es, wie durch ein SoC dargestellt, eine Form, bei der ein Prozessor verwendet wird, der die Funktionen des gesamten Systems einschließlich mehrerer Hardware-Ressourcen zum Ausführen der Texturabbildungsverarbeitung mit einem IC-Chip realisiert. Wie oben beschrieben, wird die Texturabbildungsverarbeitung durch Verwenden eines oder mehrerer der verschiedenen Prozessoren als der Hardwareressourcen realisiert.
  • Des Weiteren ist es als die Hardwarestruktur dieser verschiedenen Prozessoren weiter insbesondere möglich, eine elektrische Schaltung, bei der Schaltungselemente, wie beispielsweise Halbleiterelemente, kombiniert sind, zu verwenden. Ferner ist die Texturabbildungsverarbeitung nur ein Beispiel. Dementsprechend versteht es sich von selbst, dass unnötige Schritte gestrichen werden können, neue Schritte hinzugefügt werden können oder die Verarbeitungsreihenfolge geändert werden kann, ohne dass dies von dem technischen Anwendungsbereich der vorliegenden Offenbarung abweicht.
  • Die oben beschriebenen und dargestellten Inhalte sind detaillierte Beschreibungen der Teile, die sich auf die Technik der vorliegenden Offenbarung beziehen, und sind nur Beispiele der Technik der vorliegenden Offenbarung. Beispielsweise ist die obige Beschreibung der Konfiguration, Funktion, des Effekts und Vorteils ein Beispiel der Konfiguration, Funktion, des Effekts und Vorteils eines Abschnitts, der sich auf die Technik der vorliegenden Offenbarung bezieht. Es versteht sich daher von selbst, dass bei den beschriebenen Inhalten und dargestellten Inhalten, die oben gezeigt sind, unnötige Teile gelöscht werden können, neue Elemente hinzugefügt werden können oder Ersetzungen vorgenommen werden können, ohne von dem technischen Anwendungsbereich der vorliegenden Offenbarung abzuweichen. Um Komplikationen zu vermeiden und Verständnis der Teile, die sich auf die Technik der vorliegenden Offenbarung beziehen, zu erleichtern, ist bei den beschriebenen Inhalten und den dargestellten Inhalten, die oben gezeigt sind, ferner die Beschreibung über allgemeines technisches Wissen und dergleichen, die keine spezielle Erklärung erfordern, um die Implementierung der Technik der vorliegenden Offenbarung möglich zu machen, nicht gegeben.
  • In der vorliegenden Beschreibung ist „A und/oder B“ gleichbedeutend mit „mindestens eines von A und B“. Das heißt, „A und/oder B“ bedeutet, dass es nur A, nur B oder eine Kombination aus A und B sein kann. Ferner wird in der vorliegenden Beschreibung in einem Fall, in dem drei oder mehr Sachverhalte miteinander verbunden sind und durch „und/oder“ ausgedrückt werden, das gleiche Konzept wie „A und/oder B“ angewendet.
  • Alle in der vorliegenden Beschreibung beschriebenen Dokumente, Patentanmeldungen und technischen Normen werden in die vorliegende Beschreibung durch Bezugnahme in demselben Umfang wie in einem Fall, in dem die einzelnen Dokumente, Patentanmeldungen und technischen Normen spezifisch und individuell angegeben werden, dass sie durch Bezugnahme aufgenommen werden, aufgenommen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2012220471 A [0002]
    • JP 2012220471 [0002]
    • JP 2017106749 A [0003, 0004]
    • JP 2018025551 A [0005]
    • JP 4543820 B [0006]
  • Zitierte Nicht-Patentliteratur
    • „As-is 3D Thermal Modeling for Existing Building Envelopes Using a Hybrid LIDAR System", Chao Wang, Yong K. Cho, Journal of Computing in Civil Engineering, 2013, 27, 645-656 [0007]
    • https://ir.lib.hiroshimau.ac.jp/00027688, 20091125note_reconstruction.pdf [0121]
    • Kurs von Image Engineering: Dreidimensionale Restauration mit linearer Algebra, Toru Tamaki, 25. November 2009, Seite 59 „1.4.2 Epipolargeometrie mit projektiver Geometrie“ bis Seite 69 „1.4.4 Zusammenfassung von dreidimensionaler Restauration" [0121]

Claims (12)

  1. Bildverarbeitungsvorrichtung, umfassend: einen Prozessor; und einen Speicher, der in den Prozessor eingebaut oder mit diesem verbunden ist, wobei eine Positionsbeziehung zwischen einem dreidimensionalen Entfernungsmesssensor und einer Bildgebungsvorrichtung, die eine höhere Abtastauflösung als der dreidimensionale Entfernungsmesssensor aufweist, gegeben ist, und der Prozessor so konfiguriert ist, dass er: dreidimensionale Koordinaten eines dreidimensionalen Entfernungsmesssensorsystems, die in einem auf den dreidimensionalen Entfernungsmesssensor angewendeten dreidimensionalen Koordinatensystem definiert sind, auf der Grundlage von Entfernungsmessergebnissen des dreidimensionalen Entfernungsmesssensors für mehrere Messpunkte erfasst, wobei die dreidimensionalen Koordinaten des dreidimensionalen Entfernungsmesssensorsystems in der Lage sind, Positionen der mehreren Messpunkte zu spezifizieren; dreidimensionale Koordinaten eines Bildgebungsvorrichtungssystems, die in einem auf die Bildgebungsvorrichtung angewendeten dreidimensionalen Koordinatensystem definiert sind, auf der Grundlage der dreidimensionalen Koordinaten des dreidimensionalen Entfernungsmesssensorsystems erfasst; die dreidimensionalen Koordinaten des Bildgebungsvorrichtungssystems in zweidimensionale Koordinaten des Bildgebungsvorrichtungssystems umwandelt, die in der Lage sind, eine Position in einem aufgenommenen Bild, das durch von der Bildgebungsvorrichtung durchgeführte Bildgebung aufgenommen wurde, zu spezifizieren; die dreidimensionalen Koordinaten des Bildgebungsvorrichtungssystems in zweidimensionale Koordinaten eines Anzeigesystems umwandelt, die in der Lage sind, eine Position auf einem Bildschirm zu spezifizieren; und ein Pixel, das das aufgenommene Bild bildet, einer Interpolationsposition auf dem Bildschirm zuordnet, die durch ein Interpolationsverfahren, das die zweidimensionalen Koordinaten des Bildgebungsvorrichtungssystems und die zweidimensionalen Koordinaten des Anzeigesystems verwendet, spezifiziert wird.
  2. Bildverarbeitungsvorrichtung nach Anspruch 1, wobei der Prozessor so konfiguriert ist, dass er einen polygonalen Patch auf der Grundlage der dreidimensionalen Koordinaten des Bildgebungsvorrichtungssystems erzeugt, und die dreidimensionalen Koordinaten des Bildgebungsvorrichtungssystems eine Position eines Schnittpunkts des polygonalen Patches definieren.
  3. Bildverarbeitungsvorrichtung nach Anspruch 2, wobei die Interpolationsposition eine Position auf dem Bildschirm ist, die einer anderen Position als dem Schnittpunkt des polygonalen Patches entspricht.
  4. Bildverarbeitungsvorrichtung nach Anspruch 2 oder 3, wobei der Prozessor so konfiguriert ist, dass er ein dreidimensionales Bild erzeugt, indem er ein Pixel an einer Position, die der Position des Schnittpunkts des polygonalen Patches entspricht, unter mehreren Pixeln, die in dem aufgenommenen Bild enthalten sind, einer Bildschirmschnittpunktposition auf dem Bildschirm, die der Position des Schnittpunkts des polygonalen Patches entspricht, zuordnet.
  5. Bildverarbeitungsvorrichtung nach einem der Ansprüche 2 bis 4, wobei der polygonale Patch durch ein dreieckiges Netz oder ein viereckiges Netz definiert ist.
  6. Bildverarbeitungsvorrichtung nach einem der Ansprüche 1 bis 5, wobei der Prozessor so konfiguriert ist, dass er die dreidimensionalen Koordinaten des Bildgebungsvorrichtungssystems erfasst, indem er die dreidimensionalen Koordinaten des dreidimensionalen Entfernungsmesssensorsystems in die dreidimensionalen Koordinaten des Bildgebungsvorrichtungssystems umwandelt.
  7. Bildverarbeitungsvorrichtung nach einem der Ansprüche 1 bis 6, wobei der Prozessor so konfiguriert ist, dass er die dreidimensionalen Koordinaten des Bildgebungsvorrichtungssystems erfasst, indem er die dreidimensionalen Koordinaten des Bildgebungsvorrichtungssystems auf der Grundlage eines Merkmalspunkts eines Objekts, der zwischen Bildern von mehreren durch Abbilden des Objekts mit der Bildgebungsvorrichtung von unterschiedlichen Positionen aufgenommenen Einzelbildern als ein Bild enthalten ist, berechnet.
  8. Bildverarbeitungsvorrichtung nach einem der Ansprüche 1 bis 7, wobei die Position auf dem Bildschirm eine Position auf einem Bildschirm einer Anzeige ist.
  9. Bildverarbeitungsvorrichtung nach einem der Ansprüche 1 bis 8, wobei der Speicher Zuordnungsinformationen festhält, bei denen die dreidimensionalen Koordinaten des dreidimensionalen Entfernungsmesssensorsystems und die zweidimensionalen Koordinaten des Bildgebungsvorrichtungssystems einander zugeordnet sind.
  10. Bildverarbeitungsvorrichtung nach Anspruch 9, wobei der Prozessor so konfiguriert ist, dass er das Pixel, das das aufgenommene Bild bildet, der Interpolationsposition unter Bezugnahme auf die Zuordnungsinformationen zuordnet.
  11. Bildverarbeitungsverfahren, umfassend: Erfassen von dreidimensionalen Koordinaten eines dreidimensionalen Entfernungsmesssensorsystems, die in einem auf einen dreidimensionalen Entfernungsmesssensor angewendeten dreidimensionalen Koordinatensystem definiert sind, auf der Grundlage von Entfernungsmessergebnissen des dreidimensionalen Entfernungsmesssensors für mehrere Messpunkte, wobei die dreidimensionalen Koordinaten des dreidimensionalen Entfernungsmesssensorsystems unter der Bedingung, dass eine Positionsbeziehung zwischen dem dreidimensionalen Entfernungsmesssensor und einer Bildgebungsvorrichtung, die eine höhere Abtastauflösung als der dreidimensionale Entfernungsmesssensor aufweist, gegeben ist, in der Lage sind, Positionen der mehreren Messpunkte zu spezifizieren; Erfassen von dreidimensionalen Koordinaten eines Bildgebungsvorrichtungssystems, die in einem auf die Bildgebungsvorrichtung angewendeten dreidimensionalen Koordinatensystem definiert sind, auf der Grundlage der dreidimensionalen Koordinaten des dreidimensionalen Entfernungsmesssensorsystems; Umwandeln der dreidimensionalen Koordinaten des Bildgebungsvorrichtungssystems in zweidimensionale Koordinaten des Bildgebungsvorrichtungssystems, die in der Lage sind, eine Position in einem aufgenommenen Bild, das durch von der Bildgebungsvorrichtung durchgeführte Bildgebung aufgenommen wurde, zu spezifizieren; Umwandeln der dreidimensionalen Koordinaten des Bildgebungsvorrichtungssystems in zweidimensionale Koordinaten eines Anzeigesystems, die in der Lage sind, eine Position auf einem Bildschirm zu spezifizieren; und Zuordnen eines Pixels, das das aufgenommene Bild bildet, zu einer Interpolationsposition auf dem Bildschirm, die durch ein Interpolationsverfahren, das auf den zweidimensionalen Koordinaten des Bildgebungsvorrichtungssystems und den zweidimensionalen Koordinaten des Anzeigesystems basiert, spezifiziert wird.
  12. Programm zum Veranlassen eines Computers, Verarbeitung auszuführen, die umfasst: Erfassen von dreidimensionalen Koordinaten eines dreidimensionalen Entfernungsmesssensorsystems, die in einem auf einen dreidimensionalen Entfernungsmesssensor angewendeten dreidimensionalen Koordinatensystem definiert sind, auf der Grundlage von Entfernungsmessergebnissen des dreidimensionalen Entfernungsmesssensors für mehrere Messpunkte, wobei die dreidimensionalen Koordinaten des dreidimensionalen Entfernungsmesssensorsystems unter der Bedingung, dass eine Positionsbeziehung zwischen dem dreidimensionalen Entfernungsmesssensor und einer Bildgebungsvorrichtung, die eine höhere Abtastauflösung als der dreidimensionale Entfernungsmesssensor aufweist, gegeben ist, in der Lage sind, Positionen der mehreren Messpunkte zu spezifizieren; Erfassen von dreidimensionalen Koordinaten eines Bildgebungsvorrichtungssystems, die in einem auf die Bildgebungsvorrichtung angewendeten dreidimensionalen Koordinatensystem definiert sind, auf der Grundlage der dreidimensionalen Koordinaten des dreidimensionalen Entfernungsmesssensorsystems; Umwandeln der dreidimensionalen Koordinaten des Bildgebungsvorrichtungssystems in zweidimensionale Koordinaten des Bildgebungsvorrichtungssystems, die in der Lage sind, eine Position in einem aufgenommenen Bild, das durch von der Bildgebungsvorrichtung durchgeführte Bildgebung aufgenommen wurde, zu spezifizieren; Umwandeln der dreidimensionalen Koordinaten des Bildgebungsvorrichtungssystems in zweidimensionale Koordinaten eines Anzeigesystems, die in der Lage sind, eine Position auf einem Bildschirm zu spezifizieren; und Zuordnen eines Pixels, das das aufgenommene Bild bildet, zu einer Interpolationsposition auf dem Bildschirm, die durch ein Interpolationsverfahren, das die zweidimensionalen Koordinaten des Bildgebungsvorrichtungssystems und die zweidimensionalen Koordinaten des Anzeigesystems verwendet, spezifiziert wird.
DE112022003299.5T 2021-06-29 2022-06-06 Bildverarbeitungsvorrichtung, bildverarbeitungsverfahren und programm Pending DE112022003299T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2021-108048 2021-06-29
JP2021108048 2021-06-29
PCT/JP2022/022785 WO2023276567A1 (ja) 2021-06-29 2022-06-06 画像処理装置、画像処理方法、及びプログラム

Publications (1)

Publication Number Publication Date
DE112022003299T5 true DE112022003299T5 (de) 2024-04-18

Family

ID=84690262

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112022003299.5T Pending DE112022003299T5 (de) 2021-06-29 2022-06-06 Bildverarbeitungsvorrichtung, bildverarbeitungsverfahren und programm

Country Status (5)

Country Link
US (1) US20240119657A1 (de)
JP (1) JPWO2023276567A1 (de)
CN (1) CN117501315A (de)
DE (1) DE112022003299T5 (de)
WO (1) WO2023276567A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115797185B (zh) * 2023-02-08 2023-05-02 四川精伍轨道交通科技有限公司 一种基于图像处理、复球面的坐标转换的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4543820B2 (ja) 2004-08-19 2010-09-15 朝日航洋株式会社 3次元データ処理装置及びプログラム
JP2012220471A (ja) 2011-04-14 2012-11-12 Mitsubishi Electric Corp 展開図生成装置、展開図生成方法及び展開図表示方法
JP2017106749A (ja) 2015-12-07 2017-06-15 株式会社Hielero 点群データ取得システム及びその方法
JP2018025551A (ja) 2016-08-04 2018-02-15 株式会社Hielero 点群データ変換システム及びその方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8948498B1 (en) * 2012-10-17 2015-02-03 Google Inc. Systems and methods to transform a colored point cloud to a 3D textured mesh
JP6166631B2 (ja) * 2013-09-25 2017-07-19 株式会社 日立産業制御ソリューションズ 3次元形状計測システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4543820B2 (ja) 2004-08-19 2010-09-15 朝日航洋株式会社 3次元データ処理装置及びプログラム
JP2012220471A (ja) 2011-04-14 2012-11-12 Mitsubishi Electric Corp 展開図生成装置、展開図生成方法及び展開図表示方法
JP2017106749A (ja) 2015-12-07 2017-06-15 株式会社Hielero 点群データ取得システム及びその方法
JP2018025551A (ja) 2016-08-04 2018-02-15 株式会社Hielero 点群データ変換システム及びその方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
„As-is 3D Thermal Modeling for Existing Building Envelopes Using a Hybrid LIDAR System", Chao Wang, Yong K. Cho, Journal of Computing in Civil Engineering, 2013, 27, 645-656
https://ir.lib.hiroshimau.ac.jp/00027688, 20091125note_reconstruction.pdf
Kurs von Image Engineering: Dreidimensionale Restauration mit linearer Algebra, Toru Tamaki, 25. November 2009, Seite 59 „1.4.2 Epipolargeometrie mit projektiver Geometrie" bis Seite 69 „1.4.4 Zusammenfassung von dreidimensionaler Restauration"

Also Published As

Publication number Publication date
JPWO2023276567A1 (de) 2023-01-05
WO2023276567A1 (ja) 2023-01-05
CN117501315A (zh) 2024-02-02
US20240119657A1 (en) 2024-04-11

Similar Documents

Publication Publication Date Title
DE112009001833B4 (de) 3D-Flugzeit-Kamerasystem und zugehöriges Positions-/Orientierungs-Kalibrationsverfahren
Assali et al. Surveying and modeling of rock discontinuities by terrestrial laser scanning and photogrammetry: Semi-automatic approaches for linear outcrop inspection
CN111353969B (zh) 道路可行驶区域的确定方法、装置及计算机设备
ES2458790T3 (es) Procedimiento para dictaminar sobre la idoneidad de una superficie del suelo como zona de aterrizaje o superficie de rodadura para aeronaves
DE112014003823T5 (de) Echtzeitprüfführung eines Triangulationsscanners
EP2918972A2 (de) Verfahren und handhaltbares Entfernungsmessgerät zum Erzeugen eines Raummodells
Lallensack et al. Photogrammetry in ichnology: 3D model generation, visualisation, and data extraction
Santagati et al. 123D Catch: efficiency, accuracy, constraints and limitations in architectural heritage field
CN103852060A (zh) 一种基于单目视觉的可见光图像测距方法
CN102279974A (zh) 摄像机监控面积计算方法及系统
US20240119657A1 (en) Image processing device, image processing method, and program
CN107167118A (zh) 一种基于非编码平行多线的稳定实时激光测量方法
CN116222425A (zh) 一种基于多目三维扫描装置的三维重建方法及系统
RU2562368C1 (ru) Способ трёхмерного (3d) картографирования
Saricam et al. Joint roughness profiling using photogrammetry
CN109506562A (zh) 一种用于太阳翼展开锁定深度检测的双目视觉测量装置
CN205808362U (zh) 一种模型重建装置
JP6296444B2 (ja) 点群画像による図化方法、及び点群画像による図化装置
Bori et al. Integration the low cost camera images with the google earth dataset to create a 3D model
DE112021002733T5 (de) Verfahren und Apparate zum Bestimmen von Volumina von 3D-Bildern
DE102022114091A1 (de) 3D-Modellierungsverfahren und -system
CN116129064A (zh) 电子地图生成方法、装置、设备及存储介质
Gonçalves et al. 3D cliff reconstruction by drone: An in-depth analysis of the image network
Abu Hanipah et al. Development of the 3D dome model based on a terrestrial laser scanner
García-Sellés et al. Capture and geological data extraction: tools for a better analysis and digital outcrop modelling

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: DEHNS GERMANY PARTNERSCHAFT MBB, DE