EP4552082A1 - Verfahren zum bestimmen wenigstens eines kameraparameters zum kalibrieren einer kamera und kamera - Google Patents

Verfahren zum bestimmen wenigstens eines kameraparameters zum kalibrieren einer kamera und kamera

Info

Publication number
EP4552082A1
EP4552082A1 EP23730828.3A EP23730828A EP4552082A1 EP 4552082 A1 EP4552082 A1 EP 4552082A1 EP 23730828 A EP23730828 A EP 23730828A EP 4552082 A1 EP4552082 A1 EP 4552082A1
Authority
EP
European Patent Office
Prior art keywords
camera
images
corner points
camera parameter
parameter
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
EP23730828.3A
Other languages
English (en)
French (fr)
Inventor
Moritz Michael Knorr
Gregor Blott
Nils ZERRER
Florian Richter
Emil Schreiber
Michael Seiter
Sven Wagner
Andreas Wellhausen
Matthias Kirschner
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of EP4552082A1 publication Critical patent/EP4552082A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • G06V10/147Details of sensors, e.g. sensor lenses
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • G06V20/54Surveillance or monitoring of activities, e.g. for recognising suspicious objects of traffic, e.g. cars on the road, trains or boats
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30232Surveillance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30236Traffic on road, railway or crossing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/08Detecting or categorising vehicles

Definitions

  • the present invention relates to a method for determining at least one camera parameter for calibrating a camera, as well as a computing unit, a camera and a computer program for carrying it out.
  • Cameras can be used to monitor an environment such as highways, buildings, fences or offices. So-called intelligent cameras or camera systems are being used more and more frequently. In order for these to function properly, the camera usually needs to be calibrated. For example, options for calibrating cameras are known from EP 2 044 573 B1, EP 2 798 611 B1 and US 2019/0311494 A1.
  • the invention is concerned with cameras, in particular traffic surveillance cameras, and in particular their calibration or the determination of one or more camera parameters for calibrating such a camera, i.e. camera parameters based on which the geometric imaging behavior of the camera is described.
  • a calibration can include both extrinsic and intrinsic calibration. Extrinsic camera parameters are, for example, roll angle, pitch angle and camera height (above the ground), intrinsic camera parameters are, for example, a focal length, or also main point and distortion.
  • Such camera parameters can be obtained, for example, based on manually determined and provided information. For example, dimensions of objects in images captured by the camera can be manually specified and provided so that calibration can be performed. However, this is very complex and often not practical, especially in complicated environments that need to be monitored.
  • a procedure is now proposed which, in particular, allows automatic calibration of the camera.
  • one or more images of an environment e.g. a highway, recorded using the camera (to be calibrated) are provided or received, e.g. in an executing computing unit.
  • images of an environment e.g. a highway
  • these can be, for example, individual frames of a video, but also separately recorded images.
  • Coordinates of at least two corner points are then determined for a 3D bounding box of one or of each of several objects in the one or more images, namely in a camera coordinate system.
  • the objects that are considered here are, in particular, vehicles, but people or trailers, for example, can also be considered.
  • a 3D bounding box is a cuboid into which the object is fitted, i.e. an enveloping cuboid.
  • This 3D bounding box is or but is then projected onto the image or camera plane or the plane of the camera sensor, i.e. into the image.
  • a projected 3D bounding box (as it is based here in particular) is therefore defined by eight corner points, each of which has coordinates in the image plane (image coordinates). By projecting the 3D bounding box onto the camera plane, each corner point has two degrees of freedom, e.g. an x and a y coordinate.
  • the coordinates of the at least two corner points are determined using a machine learning algorithm, in particular an artificial neural network (e.g. a deep neural network, DNN), which receives the one or more images as input data.
  • a machine learning algorithm in particular an artificial neural network (e.g. a deep neural network, DNN), which receives the one or more images as input data.
  • DNN deep neural network
  • the machine learning algorithm then predicts (or estimates), for example, a certain number of vertices (or keypoints in general) for each of the objects in the image.
  • Either individual images (ie several images individually) or a series of images comprising several related or time-separated images that are processed simultaneously as a batch can be used as input data for the machine learning algorithm.
  • the architecture of a DNN can vary and can, for example, be an anchor-based approach or an anchor-free approach, or work on the basis of a 'convolutional neural network' or on the basis of a 'transformer network' (such as a Swin transformer).
  • all eight corner points of the enveloping cuboid (projected 3D bounding box) of the object, projected onto the camera plane, can then be used as the prediction result of the DNN.
  • the DNN would have a full 16 degrees of freedom (each of the eight projected vertices has an x and y coordinate).
  • a subset of the eight vertices can be predicted (determined), e.g. only four vertices, from which the remaining four vertices are made up resulting from the linear combination of the predicted four corner points. In the latter case the system has eight degrees of freedom.
  • Such a machine learning algorithm or such a neural network can be obtained, for example, by training the projected 3D bounding boxes and/or the interesting or all corner points of the projected 3D bounding boxes to the objects for a large number of images with objects be provided as training data.
  • the 3D bounding boxes and projected 3D bounding boxes themselves do not necessarily have to be completely determined; rather, the coordinates of the corner points of interest are sufficient. For example, if the camera's optics depicts recordings, i.e. lines in the world/camera system are mapped onto curves, the eight corner points and not the curves are still of interest here.
  • the at least one camera parameter is then determined, based on at least one distance in the image plane (i.e. in an image coordinate system that is typically 2D) defined by the coordinates of the at least two corner points of the respective projected 3D bounding box, and at least a corresponding, predetermined distance in an environmental coordinate system or camera coordinate system.
  • the at least one camera parameter is then provided.
  • the predetermined distance is, for example, a width of a vehicle and/or a length of a vehicle and/or a height of a vehicle and/or a size of a vehicle that can be determined therefrom, for example a length of a diagonal of a vehicle.
  • a 3D bounding box is a cuboid that encloses an object such as a vehicle.
  • certain distances are defined by the corner points, namely the distances between two corner points, in particular the edges of the cuboid.
  • Examples of such distances that are defined by the corner points are, for example, a length, a width and a height.
  • the environmental coordinate system i.e. the real environment
  • the length, a width and a Height of the real object e.g. the vehicle.
  • a real width or length of a vehicle is known for different vehicle types, for example.
  • the at least one camera parameter can then be determined since the distance between two corner points in the camera coordinate system must correspond to the corresponding real distance; This requires, for example, certain values for the extrinsic camera parameters such as pitch angle, roll angle and altitude.
  • the at least one camera parameter is determined based on distances for several 3D bounding boxes, or in other words determined based on the at least one distance defined by the coordinates of the at least two corner points of several 3D bounding boxes becomes.
  • This can include multiple images, each with one or more objects, with each object assigned a 3D bounding box.
  • distances from several (projected) 3D bounding boxes are determined, in the simplest case one and the same dimensions, i.e. distances between the corner points or keypoints, of the 3D bounding boxes can be assumed, e.g. that all vehicles in the surrounding coordinate system have the same width.
  • the average width is assumed for the width of vehicles, the deviations between the actual width of individual vehicles and the average width are statistically averaged (e.g. assuming the law of large numbers), so that an exact result is obtained for a sufficiently large number of detected vehicles is achieved
  • different distances in the 3D bounding boxes then compensate for each other.
  • At least one object parameter is also determined by the one or each of the multiple objects in the one or more images.
  • Possible object parameters include position in the plane and orientation (rotation around the vertical axis) of the objects.
  • the at least one camera parameter and the at least one object parameter are then optimized at the same time as part of an optimization method.
  • the devious procedure or calibration particularly takes advantage of the fact that the axes resulting from the corner points of the 3D bounding boxes are at right angles to one another.
  • a hypothesis for the extrinsics of the camera can be created from a single vehicle observation.
  • the extrinsics are described in particular by the three parameters roll angle, pitch angle and height above ground (or ground, i.e. in particular the road) and are therefore different for each level in the scene or environment.
  • ground i.e. in particular the road
  • three object parameters can also be determined for each object or vehicle.
  • All object or vehicle observations can serve as measurements here.
  • the extrinsic parameters and object parameters are then estimated or optimized at the same time, whereby, for example, a back projection error is minimized.
  • the four ground corner points of the 3D bounding box are projected into the image assuming an average vehicle size and the extrinsic camera parameters and object parameters and compared with the detected corner points.
  • the estimated parameters are correct if the observed vehicles (or general objects) have, on average, the assumed average sizes (distances).
  • observations i.e. images and the resulting coordinates and possibly parameters
  • a fixed, ie constant number of vehicle observations (objects) can always be used.
  • Observations or objects can be discarded according to various schemes.
  • the age of the observation can be taken into account.
  • older observations can be discarded to allow continuous re-estimation of the parameters.
  • the several images that are taken into account can only include current images that are determined according to a predetermined criterion, e.g. only images from the last ten minutes or the last 100 images. This is crucial, for example, if the orientation of the camera or the attachment (the camera) can change over time (e.g. due to thermal influences).
  • the coverage in the image can also be taken into account.
  • measurements or observations i.e. objects present in the image
  • the actual road is slightly curved (e.g. due to an incline). In this case, estimating an average level is often desirable.
  • different vehicles or generally different objects i.e. types of objects
  • vehicles can differ in size from the assumed average values
  • different vehicles/observations should be used if possible. This can be ensured, for example, by tracking vehicles based on the generated top view.
  • different vehicle or passenger classes can be used if there is an average size for them. In this case, for example, there is not just one specified distance overall, but one for each vehicle class (e.g. cars and trucks).
  • a focal length (expressed by the aperture angle, for example) can also be determined (or estimated) as an intrinsic parameter.
  • perspective effects of the individual 3D bounding boxes can be considered, such as the position of the vanishing points that result from the connections of the corner points.
  • intrinsic parameters e.g. main point, distortion
  • each individual projected 3D bounding box here in particular assuming at least four corner points that are not in one plane
  • the intrinsic parameters can be derived from the observation of several vehicles and world assumptions , such as a common basic plane, since in this case the same extrinsic calibration parameters would have to be determined for all vehicles.
  • a (systematic) deviation can therefore be used to determine (calibrate) the intrinsic parameters.
  • the focus was on four corner points on the bottom of the 3D bounding box and an average length and width dimension was assumed. In general, however, only a single dimension (distance), e.g. only width or height, is required. At the same time, the four upper corner points can also be used. These are located on a level parallel to the street. Preferably there should be at least three (connected) vertices and two lengths or four points and one length. However, it is also possible to include observations without reference to length, e.g. for vehicles that have a higher variance in length/width/height, such as vans or commercial vehicles. Only the perpendicularity of the legs is used.
  • each image can also be broken down into grid cells, for example, and the at least one camera parameter (in particular an extrinsic calibration) for each grid cell can be determined. Neighborhood properties between grid cells can also be exploited (e.g. smoothing, for example via a Markov random field).
  • the approach described above can be modified so that each object or vehicle generates a hypothesis. These would then be clustered locally and corresponding parameters derived for each cluster. This would mean that each cluster or each grid cell would have its own, different extrinsic calibration (with corresponding calibration parameters). These can then be used in various ways, for example through interpolation with polynomials, like a changing (changing height and orientation) surface.
  • 3D bounding boxes can also be used for people or trailers or other objects, not just vehicles.
  • a preferred extension of the approach presented here is calibration by tracking objects over time. Even if there is no assumed length reference, it can be exploited that the dimensions of an object do not change over time. For example, object dimensions can be determined based on the currently assumed calibration or camera parameters. These can then be used in later images. In particular, this can be embedded in a holistic process or estimator, whereby the object dimensions are also estimated but are assumed to be constant over time.
  • Another application or extension is, for example, an automatic, simultaneous creation of maps that contain, for example, lane information.
  • Simple methods e.g. grid-based
  • 3D bounding box corner point detectors are used for the fully automatic calibration of (especially stationary) cameras.
  • the projections of 3D bounding box coordinates into the image are used to derive an extrinsic and (in extension) also intrinsic calibration.
  • the particular advantages here are the direct estimation of the corner points of the enveloping cuboid (as keypoints) in contrast to the estimation of, for example, special distinctive keypoints on vehicles (e.g. tires, license plates or lights).
  • the approach generally allows the estimation of extrinsics with respect to multiple planes or even curved surfaces and curves.
  • the number of predicted vertices required can be further reduced to three or even two. For example, these can all be on the floor.
  • a special feature is also the proposed possibility of a one-stage detector (compared to multi-stage processes).
  • a computing unit e.g. processor of a camera, is set up, in particular in terms of programming, to carry out a method according to the invention.
  • a camera according to the invention in particular a traffic surveillance camera, has a computing unit according to the invention.
  • a computing unit can also be provided separately from the camera, for example by outsourcing the process to a server as a computing unit (e.g. in the so-called cloud).
  • a machine-readable storage medium is provided with a computer program stored thereon as described above.
  • Suitable storage media or data carriers for providing the computer program are, in particular, magnetic, optical and electrical memories, such as hard drives, flash memories, EEPROMs, DVDs, etc.
  • Figure 1 shows schematically an environment with a camera to explain an embodiment.
  • Figure 2 shows an image of an environment to explain a further embodiment.
  • Figure 3 shows schematically a sequence of an embodiment.
  • Figure 4 shows diagrams of camera parameters that can be determined within the framework of one embodiment.
  • an environment 110 with a camera 100 is shown schematically to explain an embodiment of the invention.
  • a roadway 112 is shown in the environment 110, on which an object 120 designed as a vehicle is located, for example.
  • the camera 100 has a computing unit 102 and is used, for example, as a traffic surveillance camera, that is, the environment 100 and objects present or appearing therein, in particular vehicles such as the vehicle 120, are to be observed or monitored. For this purpose, a calibration of the camera 100 may be necessary in particular.
  • the vehicle 120 has, for example, a length 122 and a height 124, which are defined in an environmental coordinate system x, y, z. A width of the vehicle 120 is not shown here.
  • the image 200 can be an image of an environment with objects, in particular vehicles, recorded by means of a camera such as the camera 100 from FIG.
  • a roadway 212 can be seen in the image 200, as well as a large number of vehicles as objects.
  • a vehicle approaching the camera by means of which the image 200 was recorded is designated 220, here a car
  • another vehicle approaching the camera is designated 250, here a truck.
  • one from the camera is exemplary Vehicle leaving is marked 252, here a car.
  • the 3D bounding box 230 is a cuboid that envelops the vehicle 220 (or an object in general).
  • the 3D bounding box or cuboid therefore comprises eight corner points or is defined by these corner points.
  • four of these corner points are designated 231, 232, 233 and 234.
  • Two of the corner points are connected to each other by lines or edges (there are a total of 12 edges for a cuboid), with three edges being designated 241, 242 and 243 as an example. These edges are now at the corner points perpendicular to each other, and the cuboid or the 3D bounding box lies on a plane that is defined by the roadway 212.
  • the lengths of certain edges correspond to corresponding maximum dimensions of the vehicle 220.
  • the length of the edge 241 corresponds to the width of the vehicle 220
  • the length of the edge 242 corresponds to the length of the vehicle 220 (see also length 122 in Figure 1)
  • the length of the edge 243 corresponds to that Height of the vehicle 220 (see also height 124 in Figure 1).
  • the corner points have coordinates in the image plane y', z', i.e. a 2D coordinate system in the camera plane or the sensor plane. Accordingly, these coordinates are in 2D, i.e. two-dimensional, while the 3D bounding box 230 itself is three-dimensional.
  • the 3D bounding box 230 is therefore projected into the 2D plane.
  • 3D bounding boxes with corner points can be defined for the other vehicles, as shown in Figure 2.
  • 3D bounding boxes can also be defined for other objects such as people or trailers.
  • An estimated horizon of 260 is also shown. The position of the horizon in the image is shown here for better understanding, as it is easy to determine whether such a horizon is plausible. The position and shape of the horizon curve is also directly dependent on the estimated angles of the ground plane and the intrinsic camera parameters.
  • FIG. 3 schematically shows a sequence of a method in one embodiment, which will be explained in more detail below, in particular with reference to FIG. 2.
  • a step 300 one, but preferably several images, such as image 200, are first provided.
  • the images can be taken with the camera.
  • the coordinates 312 of corner points of a respective projected 3D bounding box are determined for each of the objects such as the vehicle 230 in image 200, namely in the image plane y', z'.
  • an artificial neural network 314 (or another machine learning algorithm) can be used, which receives the images 200 as input data.
  • the coordinates of all eight corner points of each 3D bounding box can be determined, but two or three corner points (e.g. 231, 232, 233) are also sufficient.
  • the corner points or their coordinates then also define distances between the corner points, for example the edges 241, 242.
  • object parameters 322 of the vehicles can also be determined, for example their position on the roadway 212 and their orientation or rotation about a perpendicular to the roadway 212.
  • one, but preferably several, camera parameters are then determined, e.g. the extrinsic camera parameters roll angle 332, pitch angle 334 and height of the camera above the ground (road) 336, and an intrinsic camera parameter 338, e.g. the focal length.
  • the extrinsic camera parameters roll angle 332, pitch angle 334 and height of the camera above the ground (road) 336, and an intrinsic camera parameter 338, e.g. the focal length.
  • This is done based on the distances between corner points (in the camera coordinate system x', y') and at least a corresponding, predetermined distance such as the length, height or width of a vehicle (in the environmental coordinate system x, y, z). This can also be done in particular as part of an optimization process.
  • the mentioned object parameters 322 can be optimized as part of this optimization method.
  • a step 340 the camera parameters obtained as part of this calibration are then provided. They can then be applied if necessary, step 350, to adjust the camera settings.
  • diagrams include, among other things, the camera parameters, roll angle
  • object parameters and thus such a view can be obtained, for example, as part of optimization.
  • maps of the lanes can be determined using repeated top views, since a vehicle typically does not change lanes frequently.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Vascular Medicine (AREA)
  • Traffic Control Systems (AREA)
  • Image Analysis (AREA)
  • Closed-Circuit Television Systems (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Bestimmen wenigstens eines Kameraparameters zum Kalibrieren einer Kamera, insbesondere einer Verkehrsüberwachungskamera, umfassend: Bereitstellen von einem oder mehreren, mittels der Kamera aufgenommenen Bildern (200) einer Umgebung, Bestimmen, für eine 3D-Bounding-Box (230) von einem oder von jedem von mehreren Objekten (220, 250, 252), insbesondere Fahrzeugen, in dem einen oder den mehreren Bildern (200), von Koordinaten von jeweils wenigstens zwei Eckpunkten (231-234) in einer Bildebene (y`, z`), Bestimmen, basierend auf wenigstens einem, durch die Koordinaten der wenigstens zwei Eckpunkte (231-234) der jeweiligen 3D-Bounding-Box (230) definierten Abstand (241-243) in der Bildebene, und wenigstens einem korrespondierenden, vorgegebenen Abstand in einem Umgebungskoordinatensystem, des wenigstens einen Kameraparameters, und Bereitstellen des wenigstens einen Kameraparameters.

Description

Beschreibung
Titel
Verfahren zum Bestimmen wenigstens eines Kameraparameters zum Kalibrieren einer Kamera und Kamera
Die vorliegende Erfindung betrifft ein Verfahren zum Bestimmen wenigstens eines Kameraparameters zum Kalibrieren einer Kamera, sowie eine Recheneinheit, eine Kamera und ein Computerprogramm zu dessen Durchführung.
Hintergrund der Erfindung
Kameras können für die Überwachung einer Umgebung wie z.B. von Autobahnen, Gebäuden, Umzäunungen oder Büros eingesetzt werden. Hierbei kommen immer häufiger sog. intelligente Kameras bzw. Kamerasysteme zum Einsatz. Damit diese ordnungsgemäß funktionieren können, ist in der Regel eine Kalibrierung der Kamera nötig. Aus der EP 2 044 573 B1 , der EP 2 798 611 B1 sowie der US 2019/0311494 A1 sind z.B. Möglichkeiten zum Kalibrieren von Kameras bekannt.
Offenbarung der Erfindung
Erfindungsgemäß werden ein Verfahren zum Bestimmen wenigstens eines Kameraparameters zum Kalibrieren einer Kamera sowie eine Recheneinheit, eine Kamera und ein Computerprogramm zu dessen Durchführung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung. Die Erfindung beschäftigt sich mit Kameras, insbesondere Verkehrsüberwa- chungskameras, sowie insbesondere deren Kalibrierung bzw. der Bestimmung eines oder mehrerer Kameraparameter zum Kalibrieren einer solchen Kamera, also Kameraparametern, basierend auf welchen das geometrische Abbildungsverhalten der Kamera beschrieben wird. Eine Kalibrierung kann sowohl eine extrinsische als auch eine intrinsische Kalibrierung umfassen. Extrinsische Kameraparameter sind z.B. Rollwinkel, Nickwinkel und Kamerahöhe (über dem Boden), intrinsische Kameraparameter sind z.B. eine Fokallänge, oder auch Hauptpunkt und Verzerrung.
Solche Kameraparameter können z.B. basierend auf manuell bestimmten und bereitgestellten Informationen erhalten werden. Beispielsweise können Abmessung von Objekten in mittels der Kamera aufgenommenen Bildern manuell angegeben und bereitgestellt werden, sodass eine Kalibrierung durchgeführt werden kann. Dies ist jedoch sehr aufwändig und insbesondere bei komplizierten, zu überwachenden Umgebungen oftmals auch nicht praktikabel.
Im Rahmen der vorliegenden Erfindung wird nun ein Vorgehen vorgeschlagen, das insbesondere eine automatische Kalibrierung der Kamera erlaubt. Hierzu werden eines oder mehrere, mittels der (zu kalibrierenden) Kamera aufgenommene Bilder einer Umgebung, z.B. einer Autobahn, bereitgestellt oder erhalten, z.B. in einer ausführenden Recheneinheit. Im bevorzugten Fall von mehreren Bildern können dies z.B. einzelne Frames eines Videos sein, ebenso aber auch separat aufgenommene Bilder.
Es werden dann, für eine 3D-Bounding-Box von einem oder von jedem von mehreren Objekten, in dem einen oder den mehreren Bildern, Koordinaten von jeweils wenigstens zwei Eckpunkten bestimmt, und zwar in einem Kamerakoordinatensystem. Als Objekte, die hier betrachtet werden, kommen insbesondere Fahrzeuge in Betracht, jedoch können z.B. auch Personen oder Anhänger in Betracht gezogen werden.
Bei einer 3D-Bounding-Box handelt es um einen Quader, in den das Objekt eingepasst ist, also einen einhüllenden Quader. Diese 3D-Bounding-Box ist bzw. wird dann aber auf die Bild- oder Kameraebene bzw. die Ebene des Kamera- Sensors projiziert, also ins Bild. Eine projizierte 3D-Bounding-Box (wie sie hier insbesondere zugrunde liegt) ist damit durch acht Eckpunkte definiert, die jeweils Koordinaten in der Bildebene (Bildkoordinaten) haben. Durch die Projektion der 3D-Bounding-Box auf die Kameraebene hat jeder Eckpunkt zwei Freiheitsgrade, z.B. eine x- und eine y-Koordinate.
Für das vorgeschlagene Verfahren sind jedoch nicht alle acht Eckpunkte bzw. deren Koordinaten nötig, sondern es können zwei Eckpunkte ausreichend sein. Zweckmäßig ist es aber, wenn die Koordinaten von wenigstens drei, insbesondere wenigstens vier, weitere insbesondere bis zu acht Eckpunkten für die 3D- Bounding-Box eines oder jedes der mehreren Objekte bestimmt werden.
Besonders bevorzugt ist es, wenn das Bestimmen der Koordinaten der wenigstens zwei Eckpunkte mittels eines Maschinenlernalgorithmus, insbesondere eines künstlichen neuronalen Netzes (z.B. ein Deep Neural Network, DNN), erfolgt, der als Eingangsdaten das eine oder die mehreren Bilder erhält.
Der Maschinenlernalgorithmus prädiziert (oder schätzt) dann z.B. eine bestimmte Anzahl an Eckpunkten (oder allgemein Keypoints) für jedes der Objekte im Bild. Als Eingangsdaten für den Maschinenlernalgorithmus können entweder einzelne Bilder (d.h. die mehreren Bilder einzeln) benutzt werden, oder eine Bildserie, umfassend mehrere zusammenhängende oder auch zeitlich getrennte Bilder, die als Batch zeitgleich prozessiert werden. Die Architektur eines DNN kann variieren und z.B. ein anchor-basierter Ansatz oder ein anchor-freier Ansatz sein, oder auf Basis eines 'Convolutional Neural Networks' oder auf Basis eines 'Transformer Netzwerks' (wie beispielsweise eines Swin-Transformers) funktionieren. Als Prädiktionsergebnis des DNN können dann beispielsweise alle acht Eckpunkte des einhüllenden Quaders (projizierte 3D-Bounding-Box) des Objekts, projiziert auf die Kameraebene verwendet werden. In diesem Fall hätte das DNN volle 16 Freiheitsgrade (jeder der acht projizierten Eckpunkte hat eine x- und y-Koordinate). Alternativ kann eine Teilmenge der acht Eckpunkte vorhergesagt (bestimmt) werden, z.B. nur vier Eckpunkte, aus welchen sich die verbleibenden vier Eckpunkte aus der Linearkombination der prädizierten vier Eckpunkte ergeben. In letzterem Fall hat das System acht Freiheitsgrade.
Ein solcher Maschinenlernalgorithmus bzw. ein solches neuronales Netz kann z.B. durch Trainieren erhalten werden, indem für eine Vielzahl von Bildern mit Objekten jeweils die projizierten 3D-Bounding-Boxen und/oder die interessierenden oder alle Eckpunkte der projizierten 3D-Bounding-Boxen zu den Objekten als Trainingsdaten bereitgestellt werden. Hierzu sei erwähnt, dass die 3D-Bounding- Boxen und projizierten 3D-Bounding-Boxen selbst nicht notwendigerweise vollständig bestimmt werden müssen, vielmehr sind die Koordinaten der interessierenden Eckpunkte ausreichend. Bildet die Optik der Kamera z.B. verzeichnend ab, d.h., dass Linien in der Welt/Kamerasystem auf Kurven abgebildet werden, so sind hier dennoch die acht Eckpunkte und nicht die Kurvenzüge von Interesse.
Weiterhin wird dann der wenigstens eine Kameraparameter bestimmt, und zwar basierend auf wenigstens einem, durch die Koordinaten der wenigstens zwei Eckpunkte der jeweiligen projizierten 3D-Bounding-Box definierten Abstand in der Bildebene (d.h. in einem Bildkoordinatensystem, das typischerweise 2D ist), und wenigstens einem korrespondierenden, vorgegebenen Abstand in einem Umgebungskoordinatensystem oder Kamerakoordinatensystem. Der wenigstens eine Kameraparameter wird dann bereitgestellt. Der vorgegebene Abstand ist beispielsweise eine Breite eines Fahrzeugs und/oder eine Länge eines Fahrzeugs und/oder eine Höhe eines Fahrzeugs und/oder eine daraus bestimmbare Größe eines Fahrzeuges, beispielsweise eine Länge einer Diagonalen eines Fahrzeugs.
Wie erwähnt, handelt es sich bei einer 3D-Bounding-Box um einen Quader, der ein Objekt wie ein Fahrzeug einhüllt. Entsprechend sind durch die Eckpunkte bestimmte Abstände definiert, nämlich die Abstände zwischen zwei Eckpunkten, insbesondere die Kanten des Quaders. Beispiele für solche Abstände, die durch die Eckpunkte definiert sind, sind z.B. eine Länge, eine Breite sowie eine Höhe. Für solche Abstände gibt es im Umgebungskoordinatensystem (also der realen Umgebung) entsprechende Abstände, also z.B. die Länge, eine Breite sowie eine Höhe des realen Objekts, z.B. des Fahrzeugs. Ein reale Breite oder Länge eines Fahrzeugs ist für verschiede Fahrzeugtypen z.B. bekannt.
Der wenigstens eine Kameraparameter kann dann bestimmt werden, da der Abstand zwischen zwei Eckpunkten im Kamerakoordinatensystem dem korrespondierenden realen Abstand entsprechen muss; dies bedingt z.B. gewisse Werte für die extrinsischen Kameraparameter wie Nickwinkel, Rollwinkel und Höhe.
Besonders zweckmäßig ist es, wenn der wenigstens eine Kameraparameter basierend auf Abständen für mehrere 3D-Bounding-Boxen bestimmt wird, bzw. mit anderen Worten basierend auf dem wenigstens einen durch die Koordinaten der wenigstens zwei Eckpunkte von mehreren 3D-Bounding-Boxen definierten Abstand bestimmt wird. Dies kann mehrere Bilder mit je einem oder mehreren Objekten umfassen, wobei jedem Objekt eine 3D-Bounding-Box zugeordnet ist. Je mehr Abstände (bzw. Objekte und Bilder) verwendet werden, desto genauer kann der wenigstens eine Kameraparameter bestimmt werden, und zwar z.B. im Rahmen eines Optimierungsverfahrens.
Werden Abstände von mehreren (projizierten) 3D-Bounding-Boxen (in der Bildebene) bestimmt, können im einfachsten Fall ein und dieselben Abmessungen, also Abstände zwischen den Eckpunkten bzw. Keypoints, der 3D-Bounding-Bo- xen angenommen werden, also z.B. dass alle Fahrzeuge im Umgebungskoordinatensystem dieselbe Breite haben. Wenn beispielsweise für die Breite von Fahrzeugen die Durchschnittsbreite angenommen wird, so mitteln sich die Abweichungen zwischen der tatsächlichen Breite einzelner Fahrzeuge und der Durchschnittsbreite statistisch (z.B. unter Annahme des Gesetzes der großen Zahlen), sodass für eine hinreichend große Anzahl an detektierten Fahrzeugen ein exaktes Ergebnis erreicht wird Im Rahmen z.B. eines Optimierungsverfahrens gleichen sich unterschiedliche Abstände bei den 3D-Bounding-Boxen dann aus.
Vorzugsweise wird außerdem wenigstens ein Objektparameter von dem einen oder von jedem von den mehreren Objekten, in dem einen oder den mehreren Bildern, bestimmt. Als Objektparameter kommen z.B. Position in der Ebene und Orientierung (Rotation um Hochachse) der Objekte in Betracht. Zum Bestimmen des wenigstens einen Kameraparameters werden dann der wenigstens eine Kameraparameter und der wenigstens eine Objektparameter zugleich im Rahmen eines Optimierungsverfahrens optimiert.
Bei dem verschlagenen Vorgehen bzw. der Kalibrierung wird insbesondere ausgenutzt, dass die Achsen die sich aus den Eckpunkten der 3D-Bounding-Boxen ergeben, rechtwinklig aufeinander stehen. Durch Annahme mindestens einer Länge (oder z.B. Länge und Breite) lässt sich somit bereits aus einer einzelnen Fahrzeugbeobachtung eine Hypothese für die Extrinsik der Kamera erstellen. Die Extrinsik ist insbesondere durch die drei Parameter Rollwinkel, Nickwinkel und Höhe über Grund (oder Boden, also insbesondere der Straße) beschrieben und damit für jede Ebene in der Szene bzw. Umgebung unterschiedlich. Hier kann zunächst angenommen werden, dass nur eine Ebene in der Szene vorliegt. Neben den drei extrinsischen Parametern können z.B. auch drei Objektparameter für jedes Objekt bzw. Fahrzeug bestimmt werden. Die Position in der Ebene (zwei Parameter) und die Rotation bzw. Drehung um die Hochachse bzw. Ebenennormale, sodass zu jedem Zeitpunkt eine Draufsicht (Topview) erstellt werden kann. Alle Objekt- bzw. Fahrzeugbeobachtungen (bzw. die vier Boden-Eckpunkte jeder 3D-Bounding-Box) können hier als Messung dienen. In einem Optimierungsverfahren werden dann z.B. die extrinsischen Parameter und Objektparameter gleichzeitig geschätzt oder optimiert, wobei z.B. ein Rückprojektionsfehler miniert wird. Konkret werden insbesondere die vier Boden-Eckpunkte der 3D- Bounding-Box unter Annahme einer durchschnittlichen Fahrzeuggröße und den extrinsischen Kameraparametern und Objektparametern ins Bild projiziert und mit den detektierten Eckpunkten verglichen.
Sofern z.B. immer Durchschnittswerte für die Objekt- bzw. Fahrzeuggröße angenommen werden, ist es zweckmäßig, wenn nur Pkws (Personenfahrzeuge) verwendet werden. Dies kann z.B. dadurch erfolgen, dass der erwähnte Maschinenlernalgorithmus nur Pkws als Objekte berücksichtigt. Dabei ist zu beachten, dass die geschätzten Parameter korrekt sind, wenn die beobachteten Fahrzeuge (oder allgemeine Objekte) im Durschnitt die angenommenen Durchschnittsgrößen (Abstände) aufweisen. In einem bevorzugten Ausführungsbeispiel werden Beobachtungen (also Bilder und dabei erhaltene Koordinaten und ggf. Parameter) nicht sofort verworfen, sodass immer mehr Objektparameter geschätzt werden müssen. Es kann auch immer eine feste, d.h. gleichbleibende Anzahl von Fahrzeugbeobachtungen (Objekte) benutzt werden.
Beobachtungen bzw. Objekte können dabei nach verschiedenen Schemata verworfen werden. So kann z.B. das Alter der Beobachtung berücksichtigt werden. Ältere Beobachtungen können z.B. verworfen werden, um eine kontinuierliche Nachschätzung der Parameter zu erlauben. Allgemein können also z.B. die mehreren Bilder, die berücksichtigt werden, nur zeitlich aktuelle Bilder umfassen, die nach einem vorgegebenen Kriterium bestimmt sind, z.B. nur Bilder der letzten zehn Minuten oder die letzten 100 Bilder. Dies ist z.B. entscheidend, wenn sich die Ausrichtung der Kamera oder der Befestigung (der Kamera) über die Zeit (z.B. durch thermische Einflüsse) ändern kann.
Ebenso kann z.B. die Abdeckung im Bild berücksichtigt werden. Für die Kalibrierung ist es vorteilhaft, wenn im kompletten relevanten Bereich der erfassten Umgebung Messungen bzw. Beobachtungen (also im Bild vorhandene Objekte) vorliegen. Dies gilt insbesondere, wenn eine ungekrümmte Ebene (auf der sich die Objekte befinden, z.B. eine ebene Fahrbahn) angenommen wird, die tatsächliche Fahrbahn aber leicht gekrümmt ist (z.B. durch einen Anstieg). In diesem Fall ist die Schätzung einer durchschnittlichen Ebene oft erwünscht.
Ebenso können z.B. unterschiedliche Fahrzeuge oder allgemein unterschiedliche Objekte, also Typen von Objekten, berücksichtigt werden. Da z.B. Fahrzeuge in der Größe von den angenommenen Durchschnittswerten abweichen können, sollten möglichst verschiedene Fahrzeuge/Beobachtungen verwendet werden. Dies kann z.B. sichergestellt werden, indem Fahrzeuge z.B. auf Basis der erzeugten Draufsicht verfolgt werden. Zudem können verschiedene Fahrzeugoder Personen-) Klassen benutzt werden, wenn für sie eine Durchschnittsgröße vorliegt. In diesem Fall gibt es also z.B. insgesamt nicht nur einen vorgegebenen Abstand, sondern je einen pro Fahrzeugklasse (z.B. Pkw und Lkw). Neben den extrinsischen Kameraparametern kann auch eine Fokallänge (z.B. ausgedrückt durch den Öffnungswinkel) als intrinsischer Parameter bestimmt (bzw. mitgeschätzt) werden. Dabei können z.B. perspektivische Effekte der einzelnen 3D-Bounding-Boxen betrachtet werden, also z.B. die Lage der Fluchtpunkte, die sich aus den Verbindungen der Eckpunkte ergeben.
Generell lassen sich weitere intrinsische Parameter (z.B. Hauptpunkt, Verzeichnung) mit schätzen. Da jede einzelne projizierte 3D-Bounding-Box (hier insbesondere unter Annahme von mindestens vier Eckpunkten, die nicht in einer Ebene liegen) schon die Bestimmung der extrinsischen Parameter (Winkel und Höhe) zulässt, können die intrinsischen Parameter aus der Beobachtung mehrerer Fahrzeuge und Weltannahmen, wie z.B. einer gemeinsamen Grundebene, bestimmt werden, da in diesem Fall für alle Fahrzeuge die gleichen extrinsischen Kalibrierparameter bestimmt werden müssten. Eine (systematische) Abweichung kann daher zur Bestimmung (Kalibrierung) der intrinsischen Parameter genutzt werden.
Vorstehend wurde insbesondere auf vier Eckpunkte am Boden der 3D-Bounding- Box abgestellt und ein durchschnittliches Längen- und Breitenmaß angenommen. Generell ist jedoch nur ein einziges Maß (Abstand), z.B. nur Breite oder Höhe, erforderlich. Gleichzeitig können auch die vier oberen Eckpunkte mitverwendet werden. Diese befinden sich in einer Ebene parallel zur Straße. Vorzugsweise sollten mindestens drei (verbundene) Eckpunkte und zwei Längen oder vier Punkte und eine Länge vorliegen. Es ist jedoch auch möglich, Beobachtungen ohne Längenbezug hinzuzunehmen, z.B. bei Fahrzeugen, die eine höhere Varianz in Länge/Breite/Höhe aufweisen, wie Vans bzw. Nutzfahrzeuge. Dabei wird nur die Rechtwinkligkeit der Schenkel ausgenutzt.
Bei den vorstehenden Erläuterungen wurde eine (Haupt-)Ebene (die Fahrbahn) angenommen. Generell ist es jedoch auch möglich, mehrere Ebenen oder gekrümmte Oberflächen anzunehmen. Für gekrümmte Oberflächen können z.B. parametrische Oberflächen (z.B. beschrieben durch Polynome) genutzt werden. Gleichzeitig kann jedes Bild z.B. auch in Gitterzellen zerlegt werden und der wenigstens eine Kameraparameter (insbesondere eine extrinsische Kalibrierung) für jede Gitterzelle bestimmt werden. Dabei können auch Nachbarschaftseigenschaften zwischen Gitterzellen ausgenutzt werden (z.B. eine Glättung, beispielsweise über ein Markov-Random-Field). Für diese Ansätze kann der vorstehend beschriebene Ansatz dahingehend verändert werden, dass jedes Objekt oder Fahrzeug eine Hypothese erzeugt. Diese würden dann lokal geclustert und entsprechende Parameter je Cluster abgeleitet. Damit läge für jedes Cluster, oder jede Gitterzelle, eine eigene, unterschiedliche extrinsische Kalibrierung (mit entsprechenden Kalibrierparametern) vor. Diese können dann auf verschiedene Weisen, z.B. durch Interpolation mit Polynomen, wie eine sich verändernde (Änderung der Höhe und Ausrichtung) Oberfläche genutzt werden.
Eine Eigenschaft, die im Rahmen des vorgeschlagenen Verfahrens genutzt wird, ist die Rechtwinkligkeit der 3D-Bounding-Boxen sowie deren Lage am Boden (ein Fahrzeug liegt auf der Fahrbahn auf). Generell lassen sich daher auch 3D- Bounding-Boxen von Personen oder Anhängern oder auch sonstigen Objekten verwenden, nicht nur von Fahrzeugen.
Eine bevorzugte Erweiterung des hier präsentierten Ansatzes stellt die Kalibrierung über die zeitliche Verfolgung von Objekten dar. Selbst wenn kein angenommener Längenbezug vorliegt, kann ausgenutzt werden, dass sich die Dimensionen eines Objekts über die Zeit nicht ändern. So können z.B. auf Basis der aktuell angenommenen Kalibrierung bzw. der Kameraparameter Objektdimensionen bestimmt werden. Diese können dann in späteren Bildern verwendet werden. Insbesondere kann dies in einen holistischen Prozess bzw. Schätzer eingebettet werden, wobei die Objektdimensionen mitgeschätzt werden, aber als konstant über die Zeit angenommen werden.
Eine weitere Anwendung oder Erweiterung ist z.B. ein automatischer, simultaner Aufbau von Karten, die z.B. Fahrspurinformationen enthalten. Hierfür können einfache Verfahren (z.B. gitterbasiert), auf Basis der erzeugten Draufsicht, verwendet werden. Zusammenfassend werden also einfache und vielseitige 3D-Bounding-Box-Eck- punkt-Detektoren zur vollautomatischen Kalibrierung von (insbesondere stationären) Kameras genutzt. Insbesondere werden dabei die Projektionen von 3D- Bounding-Box-Koordinaten ins Bild genutzt, um eine extrinsische sowie (in Erweiterung) auch intrinsische Kalibrierung abzuleiten. Vorteile sind hierbei insbesondere die direkte Schätzung der Eckpunkte des einhüllenden Quaders (als Keypoints) im Gegensatz zur Schätzung von z.B. speziellen markanten Keypoints an Fahrzeugen (z.B. Reifen, Kennzeichen oder Lichter). Somit ist keine Anpassung auf spezielle Fahrzeugtypen (ggf. über eine Klasse Lkw/Pkw/Van hinausgehend) notwendig und eine Extrapolation auf andere Fahrzeugtypen einfacher möglich. Zudem werden weniger Längenbezüge (lediglich mindestens ein Abstand muss bekannt sein) als bei anderen Ansätzen vorausgesetzt. Klassen mit hoher Variabilität können sogar ohne Längenbezug mitgenutzt werden.
Der Ansatz erlaubt generell die Schätzung der Extrinsik bezüglich mehrerer Ebenen oder sogar gekrümmter Oberflächen und Kurven. Die Anzahl benötigter prä- dizierter Eckpunkte (acht bei einer 3D-Bounding-Box) lässt sich weiter auf drei oder sogar zwei reduzieren. Diese können sich z.B. alle auf dem Boden befinden. Eine Besonderheit liegt auch in der vorgeschlagenen Möglichkeit eines One-Stage-Detektors (gegenüber mehrstufigen Verfahren).
Eine erfindungsgemäße Recheneinheit, z.B. Prozessor einer Kamera, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen.
Eine erfindungsgemäße Kamera, insbesondere Verkehrsüberwachungskamera, weist eine erfindungsgemäße Recheneinheit auf. Es sei jedoch erwähnt, dass eine Recheneinheit auch separat von der Kamera vorgesehen sein kann, z.B. durch Auslagerung des Verfahrens auf einen Server als Recheneinheit (z.B. in die sog. Cloud).
Auch die Implementierung eines erfindungsgemäßen Verfahrens in Form eines Computerprogramms oder Computerprogrammprodukts mit Programmcode zur Durchführung aller Verfahrensschritte ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Schließlich ist ein maschinenlesbares Speichermedium vorgesehen mit einem darauf gespeicherten Computerprogramm wie oben beschrieben. Geeignete Speichermedien bzw. Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash- Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich. Ein solcher Download kann dabei drahtgebunden bzw. kabelgebunden oder drahtlos (z.B. über ein WLAN- Netz, eine 3G-, 4G-, 5G- oder 6G-Verbindung, etc.) erfolgen.
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
Die Erfindung ist anhand eines Ausführungsbeispiels in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.
Kurze Beschreibung der Zeichnungen
Figur 1 zeigt schematisch eine Umgebung mit Kamera zur Erläuterung einer Ausführungsform.
Figur 2 zeigt ein Bild einer Umgebung zur Erläuterung einer weiteren Ausführungsform.
Figur 3 zeigt schematisch einen Ablauf einer Ausführungsform.
Figur 4 zeigt in Diagrammen Kameraparameter, die im Rahmen einer Ausführungsform bestimmt werden können.
Ausführungsform(en) der Erfindung In Figur 1 ist schematisch eine Umgebung 110 mit Kamera 100 zur Erläuterung einer Ausführungsform der Erfindung dargestellt. In der Umgebung 110 ist eine Fahrbahn 112 gezeigt, auf der sich beispielhaft ein als Fahrzeug ausgebildetes Objekt 120 befindet. Die Kamera 100 weist eine Recheneinheit 102 auf und wird beispielhaft als Verkehrsüberwachungskamera eingesetzt, d.h. damit sollen die Umgebung 100 und darin vorhandene bzw. auftauchende Objekte, insbesondere Fahrzeuge wie das Fahrzeug 120, beobachtet bzw. überwacht werden. Hierzu kann insbesondere eine Kalibrierung der Kamera 100 nötig sein.
Das Fahrzeug 120 weist beispielhaft eine Länge 122 und eine Höhe 124 auf, die in einem Umgebungskoordinatensystem x, y, z definiert sind. Eine Breite des Fahrzeugs 120 ist hier nicht gezeigt.
In Figur 2 ist ein Bild 200 einer Umgebung zur Erläuterung einer weiteren Ausführungsform der Erfindung gezeigt. Bei dem Bild 200 kann es sich um ein mittels einer Kamera wie z.B. der Kamera 100 aus Figur 1 aufgenommenes Bild einer Umgebung mit Objekten, insbesondere Fahrzeugen, handeln.
Beispielhaft ist in dem Bild 200 eine Fahrbahn 212 zu sehen, ebenso eine Vielzahl an Fahrzeugen als Objekte. Beispielhaft ist ein auf die Kamera, mittels welcher das Bild 200 aufgenommen worden ist, zufahrendes Fahrzeug mit 220 bezeichnet, hier ein Pkw, ein weiteres, auf die Kamera zufahrendes Fahrzeug ist mit 250 bezeichnet, hier ein Lkw. Zudem ist beispielhaft ein von der Kamera wegfahrendes Fahrzeug mit 252 bezeichnet, hier ein Pkw.
Anhand des Fahrzeugs 200 soll nun eine sog. 3D-Bounding-Box 230 erläutert werden, wie sie im Rahmen der vorliegenden Erfindung verwendet werden. Bei der 3D-Bounding-Box 230 handelt es sich um einen Quader, der das Fahrzeug 220 (oder allgemein ein Objekt) einhüllt. Die 3D-Bounding-Box bzw. der Quader umfasst damit acht Eckpunkte bzw. ist durch diese Eckpunkte definiert. Beispielhaft sind vier dieser Eckpunkte mit 231 , 232, 233 und 234 bezeichnet. Jeweils zwei der Eckpunkte sind durch Linien bzw. Kanten miteinander verbunden (es gibt für einen Quader insgesamt 12 Kanten), wobei beispielhaft drei Kanten mit 241 , 242 und 243 bezeichnet sind. Diese Kanten stehen nun an den Eckpunkten senkrecht aufeinander, zudem liegt der Quader bzw. die 3D-Bounding-Box auf einer Ebene auf, die durch die Fahrbahn 212 definiert ist.
Dadurch, dass die 3D-Bounding-Box 230 das Fahrzeug 220 einhüllt, entsprechen die Längen bestimmter Kanten korrespondierenden maximalen Abmessungen des Fahrzeugs 220. So entspricht die Länge der Kante 241 (der Abstand zwischen den Eckpunkten 231 und 232) der Breite des Fahrzeugs 220, die Länge der Kante 242 (der Abstand zwischen den Eckpunkten 232 und 233) entspricht der Länge des Fahrzeugs 220 (vgl. auch Länge 122 in Figur 1), und die Länge der Kante 243 (der Abstand zwischen den Eckpunkten 231 und 234) entspricht der Höhe des Fahrzeugs 220 (vgl. auch Höhe 124 in Figur 1).
Durch eine Projektion der3D-Bounding-Box 230 weisen die Eckpunkte Koordinaten in der Bildebene y‘, z‘ auf, also einem 2D-Koordinatensystem in der Kameraebene bzw. der Sensorebene. Entsprechend sind diese Koordinaten in 2D, d.h. zweidimensional, während die 3D-Bounding-Box 230 an sich dreidimensional ist. Die 3D-Bounding-Box 230 wird also in die 2D-Ebene projiziert.
In gleicher Weise lassen sich für die weiteren Fahrzeuge 3D-Bounding-Boxen mit Eckpunkten definieren, wie in Figur 2 gezeigt. Ebenso können für andere Objekte wie z.B. Personen oder Anhänger 3D-Bounding-Boxen definiert werden. Zudem ist mit 260 ein geschätzter Horizont gezeigt. Die Lage des Horizonts im Bild ist hier zum besseren Verständnis gezeigt, da sich einfach feststellen lässt, ob ein solcher Horizont plausibel ist. Die Lage und Form der Horizontkurve ist aber auch direkt abhängig von den geschätzten Winkeln der Bodenebene sowie den intrinsischen Kameraparametern.
In Figur 3 ist schematisch ein Ablauf eines Verfahrens in einer Ausführungsform dargestellt, das nachfolgend, insbesondere unter Bezug auf Figur 2, näher erläutert werden soll.
In einem Schritt 300 werden zunächst eines, bevorzugt jedoch mehrere Bilder wie z.B. das Bild 200 bereitgestellt. Hierzu können die Bilder mit der Kamera aufgenommen werden. In einem Schritt 310 werden dann z.B. für jedes der Objekte wie das Fahrzeug 230 in Bild 200 die Koordinaten 312 von Eckpunkten einer jeweiligen projizierten 3D-Bounding-Box bestimmt, und zwar in der Bildebene y‘, z‘. Hierzu kann z.B. ein künstliches neuronales Netz 314 (oder ein anderer Maschinenlernalgorithmus) verwendet werden, das die Bilder 200 als Eingangsdaten erhält. Wie schon erwähnt, können hierbei z.B. die Koordinaten von allen acht Eckpunkten jeder 3D-Bounding-Box bestimmt werden, ebenso sind aber z.B. zwei oder drei Eckpunkte (z.B. 231 , 232, 233) ausreichend. Durch die Eckpunkte bzw. deren Koordinaten sind dann auch Abstände zwischen den Eckpunkten definiert, z.B. die Kanten 241 , 242.
Optional können, in einem Schritt 320, auch Objektparameter 322 der Fahrzeuge bestimmt werden, also z.B. deren Position auf der Fahrbahn 212 sowie deren Orientierung bzw. Drehung um eine Senkrechte zur Fahrbahn 212.
In einem Schritt 330 werden dann z.B. einer, vorzugsweise aber mehrere Kameraparameter bestimmt, z.B. die extrinsischen Kameraparameter Rollwinkel 332, Nickwinkel 334 sowie Höhe der Kamera über dem Boden (Fahrbahn) 336, und ein intrinsischer Kameraparameter 338, z.B. die Fokallänge. Dies erfolgt basierend auf den Abständen zwischen Eckpunkten (im Kamerakoordinatensystem x‘, y‘) sowie zumindest einem korrespondierenden, vorgegebenen Abstand wie z.B. der Länge, Höhe oder Breite eines Fahrzeugs (im Umgebungskoordinatensystem x, y, z). Dies kann insbesondere auch im Rahmen eines Optimierungsverfahrens erfolgen. Ebenso können im Rahmen dieses Optimierungsverfahrens die erwähnten Objektparameter 322 optimiert werden.
In einem Schritt 340 werden die im Rahmen dieser Kalibrierung erhaltenen Kameraparameter dann bereitgestellt. Sie können bei Bedarf, Schritt 350, dann angewendet werden, um die Kameraeinstellungen anzupassen.
In Figur 4 sind in Diagrammen unter anderem die Kameraparameter Rollwinkel
332 (obere Linie) und Nickwinkel 332 (untere Linie), jeweils z.B. in Grad, in Diagramm (A), Höhe 336, z.B. in Meter, in Diagramm (B) und Anzahl 400 erfasster Objekte in Diagramm (C), jeweils über einer Anzahl N an verarbeiteten Bildern bzw. Messungen aufgetragen. Es ist anzunehmen, dass mit zunehmender Anzahl an Bildern bzw. Messungen die Schätzung bzw. Bestimmung der Kameraparameter genauer wird.
In Diagramm (D) ist zudem eine Draufsicht bzw. Topview der Umgebung im Umgebungskoordinatensystem (x, y) gezeigt, wobei in einem Sichtfeld 410 der Kamera (diese befindet sich bei x=0, y=0) Fahrzeuge bzw. Objekte gezeigt sind, d.h. deren Positionen und Orientierungen (Objektparameter). Diese Objektpara- meter und damit eine solche Ansicht kann, wie erwähnt, z.B. im Rahmen der Optimierung erhalten werden. Durch wiederholt bestimmte Draufsichten können somit z.B. Karten der Fahrspuren bestimmt werden, da ein Fahrzeug typischerweise die Fahrspur nicht häufig wechselt.

Claims

Ansprüche
1. Verfahren zum Bestimmen wenigstens eines Kameraparameters (332, 334, 336, 338) zum Kalibrieren einer Kamera (100), insbesondere einer Verkehrs- überwachungskamera, umfassend:
Bereitstellen (300) von einem oder mehreren, mittels der Kamera (100) aufgenommenen Bildern (200) einer Umgebung (110),
Bestimmen (310), für eine 3D-Bounding-Box (230) von einem oder von jedem von mehreren Objekten (220, 250, 252), insbesondere Fahrzeugen, in dem einen oder den mehreren Bildern (200), von Koordinaten (312) von jeweils wenigstens zwei Eckpunkten (231-234) in einer Bildebene (y‘, z‘),
Bestimmen (330) des wenigstens einen Kameraparameters (332, 334, 336, 338) basierend auf wenigstens einem durch die Koordinaten (312) der wenigstens zwei Eckpunkte (231-234) der jeweiligen 3D-Bounding-Box (230) definierten Abstand (241-243) in der Bildebene und wenigstens einem korrespondierenden vorgegebenen Abstand (122, 144) in einem Umgebungskoordinatensystem (x, y, z), und
Bereitstellen des wenigstens einen Kameraparameters (332, 334, 336, 338).
2. Verfahren nach Anspruch 1 , wobei die Koordinaten von wenigstens drei, insbesondere wenigstens vier, weitere insbesondere acht Eckpunkten für die 3D-Bounding-Box (230) eines oder jedes der mehreren Objekte bestimmt werden.
3. Verfahren nach Anspruch 1 oder 2, wobei der wenigstens eine Kameraparameter (332, 334, 336, 338) basierend auf dem wenigstens einen durch die Koordinaten (312) der wenigstens zwei Eckpunkte (231-234) von mehreren 3D-Bounding-Boxen (230) definierten Abstand (241-243), und insbesondere im Rahmen eines Optimierungsverfahrens, bestimmt wird, wobei ein korrespondierender vorgegebener Abstand in dem Umgebungskoordinatensystem für die Abstände für die mehreren 3D-Bounding- Boxen verwendet wird, insbesondere für einen Mittelwert der Abstände der mehreren 3D-Bounding-Boxen.
4. Verfahren nach einem der vorstehenden Ansprüche, weiterhin umfassend:
Bestimmen (320) wenigstens eines Objektparameters (322) von dem einen oder von jedem von den mehreren Objekten (220, 250, 252), in dem einen oder den mehreren Bildern (200), wobei zum Bestimmen (330) des wenigstens einen Kameraparameters (332, 334, 336, 338) der wenigstens eine Kameraparameter (332, 334, 336, 338) und der wenigstens eine Objektparameter (322) zugleich im Rahmen eines Optimierungsverfahrens optimiert werden.
5. Verfahren nach einem der vorstehenden Ansprüche, wobei der wenigstens eine Kameraparameter (332, 334, 336, 338) basierend auf mehreren Bildern bestimmt wird, wobei die mehreren Bilder nur zeitlich aktuelle Bilder, die nach einem vorgegebenen Kriterium bestimmt sind, umfassen.
6. Verfahren nach einem der vorstehenden Ansprüche, wobei für verschiedene Objekte, insbesondere für jedes von mehreren Objekten, jeweils wenigstens ein Kameraparameter bestimmt wird.
7. Verfahren nach einem der vorstehenden Ansprüche, wobei das Bestimmen der Koordinaten der wenigstens zwei Eckpunkte (231-234) mittels eines Maschinenlernalgorithmus, insbesondere eines künstlichen neuronalen Netzes, erfolgt, der als Eingangsdaten das eine oder die mehreren Bilder erhält.
8. Verfahren nach einem der vorstehenden Ansprüche, wobei der wenigstens eine Kameraparameter (332, 334, 336, 338) wenigstens einen extrinsischen Kameraparameter umfasst, insbesondere wenigstens einen von: Rollwinkel, Nickwinkel und Kamerahöhe, und/oder wobei der wenigstens eine Kameraparameter wenigstens einen intrinsischen Kameraparameter umfasst, insbesondere eine Fokallänge.
9. Recheneinheit (102), die dazu eingerichtet ist, alle Verfahrensschritte eines
Verfahrens nach einem der vorstehenden Ansprüche durchzuführen.
10. Kamera (100), insbesondere Verkehrsüberwachungskamera, mit einer Re- cheneinheit (102) nach Anspruch 9.
11. Computerprogramm, das eine Recheneinheit (102) dazu veranlasst, alle Verfahrensschritte eines Verfahrens nach einem der Ansprüche 1 bis 8 durchzuführen, wenn es auf der Recheneinheit (102) ausgeführt wird.
12. Maschinenlesbares Speichermedium mit einem darauf gespeicherten Corn- puterprogramm nach Anspruch 11.
EP23730828.3A 2022-07-05 2023-06-12 Verfahren zum bestimmen wenigstens eines kameraparameters zum kalibrieren einer kamera und kamera Pending EP4552082A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102022206860.2A DE102022206860A1 (de) 2022-07-05 2022-07-05 Verfahren zum Bestimmen wenigstens eines Kameraparameters zum Kalibrieren einer Kamera und Kamera
PCT/EP2023/065657 WO2024008397A1 (de) 2022-07-05 2023-06-12 Verfahren zum bestimmen wenigstens eines kameraparameters zum kalibrieren einer kamera und kamera

Publications (1)

Publication Number Publication Date
EP4552082A1 true EP4552082A1 (de) 2025-05-14

Family

ID=86771371

Family Applications (1)

Application Number Title Priority Date Filing Date
EP23730828.3A Pending EP4552082A1 (de) 2022-07-05 2023-06-12 Verfahren zum bestimmen wenigstens eines kameraparameters zum kalibrieren einer kamera und kamera

Country Status (3)

Country Link
EP (1) EP4552082A1 (de)
DE (1) DE102022206860A1 (de)
WO (1) WO2024008397A1 (de)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006033147A1 (de) 2006-07-18 2008-01-24 Robert Bosch Gmbh Überwachungskamera, Verfahren zur Kalibrierung der Überwachungskamera sowie Verwendung der Überwachungskamera
US9286678B2 (en) 2011-12-28 2016-03-15 Pelco, Inc. Camera calibration using feature identification
US10029622B2 (en) * 2015-07-23 2018-07-24 International Business Machines Corporation Self-calibration of a static camera from vehicle information
US10580164B2 (en) 2018-04-05 2020-03-03 Microsoft Technology Licensing, Llc Automatic camera calibration
US10839234B2 (en) * 2018-09-12 2020-11-17 Tusimple, Inc. System and method for three-dimensional (3D) object detection

Also Published As

Publication number Publication date
WO2024008397A1 (de) 2024-01-11
DE102022206860A1 (de) 2024-01-11

Similar Documents

Publication Publication Date Title
DE102018116107B4 (de) Verfahren zur steuerung eines fahrzeugs sowie entsprechend gesteuertes fahrzeug
EP2888604B1 (de) Verfahren zur bestimmung eines fahrspurverlaufs für ein fahrzeug
DE102019131384A1 (de) Strassenbelagcharakterisierung unter verwendung von posenbeobachtungen von benachbarten fahrzeugen
DE102015203016B4 (de) Verfahren und Vorrichtung zur optischen Selbstlokalisation eines Kraftfahrzeugs in einem Umfeld
DE102019133536A1 (de) Verfahren und Vorrichtung zum Ermöglichen der sequentiellen Bodenansichts-Bildprojektionssynthese und der komplizierten Szenenrekonstruktion an Kartenanomalie-Hotspots
DE102022108842A1 (de) Online-Validierung der LIDAR-LIDAR-Ausrichtung und der LIDAR-Fahrzeug-Ausrichtung
DE102013200387A1 (de) Erstellung einer Hinderniskarte
WO2015173092A1 (de) Verfahren und vorrichtung zur kalibrierung eines kamerasystems eines kraftfahrzeugs
DE102019125131A1 (de) Sensorblickfeldabbildung
EP3999806B1 (de) Verfahren und kommunikationssystem zur unterstützung einer wenigstens teilweise automatischen fahrzeugsteuerung
EP3167427A1 (de) Zusammenfügen von teilbildern zu einem abbild einer umgebung eines fortbewegungsmittels
DE102014222617A1 (de) Fahrzeugerfassungsverfahren und Fahrzeugerfassungssytem
DE102019127062A1 (de) Transportinfrastrukturkommunikation und -steuerung
DE102021111977A1 (de) Dreidimensionale verkehrszeichenerkennung
DE102023128810A1 (de) Systeme und Verfahren zur Kalibrierung und Validierung nichtüberlappender Entfernungssensoren eines autonomen Fahrzeugs
DE102023111700A1 (de) Algorithmus zum erzeugen von planungsbasierten aufmerksamkeitssignalen
DE102023128808A1 (de) Systeme und Verfahren zur Kalibrierung und Validierung nichtüberlappender Entfernungssensoren eines autonomen Fahrzeugs
DE102018123393A1 (de) Erkennung von Parkflächen
DE102020121259A1 (de) Lokalisieren eines sich bewegenden Objekts
EP3607740A1 (de) Kameravorrichtung und verfahren zur erfassung eines umgebungsbereichs eines fahrzeugs
WO2022079162A1 (de) System und verfahren zum annotieren von automobilradardaten
DE102014201409B4 (de) Parkplatz - trackinggerät und verfahren desselben
WO2019162327A2 (de) Verfahren zur ermittlung einer entfernung zwischen einem kraftfahrzeug und einem objekt
DE102018115895B4 (de) Verfahren und System zur Erkennung von Hindernissen
EP4552082A1 (de) Verfahren zum bestimmen wenigstens eines kameraparameters zum kalibrieren einer kamera und kamera

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20250205

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)