WO2023160991A1 - Verfahren und prozessorschaltung zum betreiben einer datenbrille mit driftkorrektur eines beschleunigungssensors sowie entsprechend betreibbare datenbrille und computerlesbares elektronisches speichermedium - Google Patents
Verfahren und prozessorschaltung zum betreiben einer datenbrille mit driftkorrektur eines beschleunigungssensors sowie entsprechend betreibbare datenbrille und computerlesbares elektronisches speichermedium Download PDFInfo
- Publication number
- WO2023160991A1 WO2023160991A1 PCT/EP2023/052723 EP2023052723W WO2023160991A1 WO 2023160991 A1 WO2023160991 A1 WO 2023160991A1 EP 2023052723 W EP2023052723 W EP 2023052723W WO 2023160991 A1 WO2023160991 A1 WO 2023160991A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- data glasses
- image
- test image
- predetermined
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/0093—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Definitions
- the invention relates to a method and a processor circuit for operating data glasses, by means of which virtual reality (VR) and/or augmented reality (AR) is displayed.
- VR virtual reality
- AR augmented reality
- an acceleration sensor is provided in the data glasses.
- Such an acceleration sensor must be calibrated in such a way that its sensor signal can be interpreted correctly so that the sensor signal can be used to identify the orientation or alignment of the data glasses (and with them the user's head) in relation to a real environment.
- a sensor signal from an acceleration sensor is usually subject to drift, i.e.
- a drift of an inertial sensor can be compensated for by regularly capturing an image of the environment using a camera and based on the image a second localization, in addition to the one from the sensor signal of the inertial sensor. If the sensor signal from the inertial sensor contains a drift, this can be detected and compensated for using the localization using the camera image.
- the camera images are triggered or recorded at specified cycle times.
- a system uses an image comparison of a current camera image with reference images in order to determine a current orientation of data glasses in space.
- the object of the invention is to provide drift correction for the sensor signal of an acceleration sensor of the data glasses when operating data glasses.
- the object is solved by the subject matter of the independent patent claims. Advantageous further developments or developments of the invention are described by the dependent patent claims, the following description and the figures.
- the invention includes a method for operating data glasses.
- the method can include program instructions that can be executed by a processor circuit, for example in the data glasses.
- the method assumes that the data glasses are at least temporarily available in a predetermined calibrated state.
- the acceleration sensor is calibrated by calibration data from a predetermined calibration method.
- a calibration method can be based, for example, on a manual drift correction, in which the user of the data glasses is asked to align the data glasses in a predetermined reference orientation, for example by looking straight ahead, so that the true current orientation of the data glasses is known so that the sensor signal of the acceleration sensor is calibrated accordingly or can be corrected, giving the calibration data.
- the predetermined calibrated state is therefore available or known at least immediately after the end of the calibration method and can be used.
- a reference image of the real surroundings of the data glasses is recorded by means of a camera of the data glasses in a predetermined spatial reference orientation of the data glasses.
- a reference image for the calibrated state which shows the surroundings when the data glasses have the predetermined spatial reference alignment. This can be given, for example, by the user looking straight ahead or (if the data glasses are worn in a motor vehicle) eg in the forward direction or generally in a reference direction defined with respect to the motor vehicle. How the data glasses are actually aligned in the reference orientation does not necessarily have to be known.
- the data glasses are in the calibrated state and that a current alignment is then determined by means of the sensor signal, the value or alignment data of which is kept stored as a reference alignment.
- the reference image is captured or generated during the Wearing the data glasses, i.e. at the same place of use and/or during the same journey, where the drift correction described here is also carried out. No prior knowledge of the geometric design or the appearance of this location is therefore necessary. While a user is wearing the data glasses, a reference image is first recorded and later (when the recalibration event is fulfilled) the test image is recorded.
- a predetermined recalibration event is then awaited, for example several seconds later, i.e. the data glasses are moved or used for a period of time greater than zero, and then the recalibration event is detected. It is therefore awaited when an opportunity arises to check the calibration data or to verify whether the calibrated state is still present.
- the camera When a recalibration event is detected, the camera generates a test image of the environment. As in the case of the reference image, the environment is thus mapped for the test image by means of the camera. Image data are thus available for a reference image and for the test image.
- the sensor signal from the acceleration sensor can of course be used to determine which current alignment the data glasses (supposedly) have according to the sensor signal.
- test image and the reference image are shifted against each other for so long until there is maximum agreement between the two images (test image and reference image) in terms of their content or pixels, without it being necessary to interpret the displayed content (semantically) or to analyze it using object recognition.
- a respective difference value between the test image and the reference image is determined by means of a predetermined comparison function for different relative displacements of the test image with respect to the reference image. Irrespective of the image content, the entire overlapping area of the two images that have been shifted relative to one another can therefore be taken as a basis.
- the relative displacement can, for example, be in one direction, for example horizontal translation and/or vertical translation and/or rotation, be limited or include all possible relative translation movements (until there is no longer an overlapping area).
- the shift can also be limited to a predetermined value interval, for example until an overlap of the two images is less than a threshold value, which can be in a range of 80% to 10%, for example.
- the difference value is determined in each case when the relative displacement is used. The difference value is then of course only determined for those pixels of the two images (test image and reference image) that still overlap after the shift.
- the displacement data of the relative displacement giving a difference value satisfying a predetermined suitability condition is selected.
- the condition of suitability can include that the displacement data of that relative displacement is selected which results in a minimum difference value of all difference values determined. This corresponds to a shift that gives the greater agreement.
- the eligibility condition may signal that a predetermined minimum level of agreement has been achieved by the move.
- correction data for correcting the calibration data are then generated by means of a predetermined conversion function or mapping function. If it is recognized with which relative displacement, for example, a smaller or the smallest difference value between test image and reference image results, then the corresponding displacement data can be converted into correction data for correcting the calibration data or mapped.
- a predetermined conversion function or mapping function is available as a function of the imaging properties of the camera (so-called extrinsic and intrinsic data of the camera) and can be derived by a person skilled in the art.
- the mapping function can be implemented, for example, as a calculation formula or as a lookup table (LUT).
- the mapping function can determine a correction angle (drift angle) from the selected displacement data and signal it through the correction data.
- the acceleration sensor is then recalibrated using the correction data.
- the calibration data is changed or new calibration data is generated.
- the correction data can specify, for example, an additional drift angle that has resulted since the reference image was recorded or generated or that has increased or has arisen since then.
- the invention has the advantage that object detection does not have to be carried out either in the reference image or in the test image in order to detect a drift in the sensor signal of the acceleration sensor or in order to be able to evaluate the test image in such a way that correction data for compensating for or compensating for the drift can be calculated . It is sufficient to shift the entire test image or a predetermined image section of the test image in relation to the reference image and to use the comparison function.
- the alignment signal described here can be formed from the sensor signal of the acceleration sensor alone or, for example, from a plurality of sensor signals by means of a sensor fusion.
- the method can be used for both variants, since a drift in the sensor signal can also cause or contribute to an offset or drift angle in a sensor fusion.
- the invention also includes further developments and developments that result in additional advantages.
- the said recalibration event is awaited in order to trigger or record the test image.
- this includes the alignment signal generated by the sensor signal of the acceleration sensor indicating that a current spatial alignment of the data glasses has a predetermined relative position with respect to the reference alignment (from which the reference image was generated).
- the predetermined relative position can say, for example, that the current spatial orientation in at least one spatial plane, for example horizontally and/or vertically, must match the relative position.
- a less strict relative position or condition can also be specified, for example the relative position between the current orientation according to the orientation signal and the reference orientation is less than a threshold value, which is in a range from 0 degrees to an upper limit in the range from 3 degrees to 10 degrees or up to 15 degrees or up to 20 degrees.
- the accuracy of the drift correction is then limited to the said upper limit.
- the scalar product of a vector that describes the reference orientation with a vector that describes the current spatial orientation according to the orientation signal can be determined.
- the recalibration event includes that a predetermined minimum period of time has elapsed (since the last determination of the correction data). This can be in a range from 0.5 seconds to 10 seconds, for example. Waiting for the minimum period of time results in the advantage that a computing load in the processor circuit for carrying out the method can be kept low.
- a further development provides that a movement speed and/or movement acceleration of the data glasses lies within a predetermined value interval. This can be determined, for example, using the acceleration sensor itself.
- the data glasses have to stand still or a movement speed and/or movement acceleration of the data glasses has to be less than a predetermined maximum value of the corresponding size.
- This has the advantage that the test image depicts the surroundings sharply.
- a time offset between generation of the test image and detection or calculation of the associated signal value of the alignment signal does not have such a large time offset that it could lead to incorrect calculation of the correction data.
- the selected displacement data is available, which, for example, minimizes the difference between the displaced test image and the reference image
- a drift angle for the spatial alignment determined by means of the acceleration sensor is determined from the selected displacement data using the mapping function and specified by the correction data for the acceleration sensor .
- the alignment signal (within the available accuracy of the correction data) signals the true alignment of the smart glasses.
- a calculation rule can be derived from the described geometric conditions in order to calculate the correction data.
- a further development includes that said comparison function for comparing the mutually shifted images (reference image with the shifted test image or the test image with the shifted reference image) first applies an edge detection filter and/or a low-pass filter and/or a region Growing filter applied.
- One of these filters or a cascade (connection in series) of several of these filters or a combination of at least some of these filters can be used. This results in a filtered reference image and a filtered test image. The difference value is then determined between the filtered reference image and the filtered test image.
- the filters described have the advantage that characteristic image features that are advantageous for detecting a relative displacement are emphasized, in particular edges.
- the comparison function includes that, as the difference value, a sum of magnitudes of the respective difference or a sum of the squared difference of pixel values of those pixels that overlap or lie on top of one another according to the respective shift is calculated.
- the entire overlapping part of the images can be used here, or a predetermined image detail. In particular, this operation is independent of an object detection. Will the said filters or will any of the filters is used, then of course the difference value or the respective difference with regard to the filtered images is calculated. For example, a binary image with values of either 0 or 1 per pixel can be generated as the output value of an edge detection filter and/or a region growing filter.
- said sum of the magnitudes of the differences or of the squared differences is a weighted sum, with a respective weighting of the pixels or of the difference values being specified by a weighting mask of the reference image and/or the test image.
- a weighting mask of the reference image and/or the test image For this purpose, an algorithm can be used to learn from a number of past images which pixels make an advantageous contribution to detecting a drift.
- respective weight values for individual pixels can be specified as a function of an exposure value or brightness value of the respective pixel, for example in the interior of a motor vehicle to hide the bright window areas (with the useless, dynamic image background of the outside environment of the motor vehicle) by brightness-saturated pixels with with a weight value of 0.
- a weight or weight mask can also be defined, for example, by means of prior knowledge of the construction of the environment by the person skilled in the art. For example, such areas can be hidden using a weighting mask (low weighting values compared to other regions, for example the value 0), in which there is a change in the environment independent of the movement of the data glasses, for example when using the data glasses in a motor vehicle in the area the window.
- a weighting mask low weighting values compared to other regions, for example the value 0
- the comparison function includes the difference value being standardized or normalized to a number of the total compared pixels by dividing said sum by the number.
- the difference value can thus be compared with other difference values, independently of a respective degree of overlap that is currently generated or caused by the shift.
- the comparison function includes compensation for a roll angle and/or pitch angle of the data glasses being carried out for the test image. It is the roll angle (roll angle) and / or pitch angle, the Capturing the test image is signaled by a sensor circuit. So if the data glasses have a different roll angle and/or pitch angle at the later time the test image is recorded compared to the time the reference image was recorded, this can be compensated for by the test image being shifted using a corresponding shift operation according to the signaled roll angle and/or pitch angle before it compared to the reference image.
- a spatial alignment of the camera ie the reference alignment
- signaled when capturing the reference image is adjusted or set in relation to the roll angle and/or pitch angle of the data glasses.
- the correction data for the data glasses are then determined in each case in particular only with regard to one remaining degree of freedom, namely the yaw angle of the data glasses.
- the roll angle and/or pitch angle can often be determined in data glasses without drift or with little drift, so that correction data for the yaw angle can be determined in a targeted manner by compensating for these angles.
- That displacement can be sought for which the difference value between the test image and the reference image is the smallest after the displacement. This can be appropriately set in the suitability condition for selecting the displacement data.
- the "smallest" difference value can still be large if the test image and reference image do not match at all. Then the smallest difference value is an unsuitable random value. It can therefore be provided by the suitability condition that the difference value must also be less than a predetermined maximum value. If this does not happen for a predetermined maximum period of time because no corresponding test image is found or the recalibration event does not occur, the actual calibration process is preferably triggered again, because it can be assumed, for example, that the drift has meanwhile become too large for the process described to be able to carry out. For example, the user can be prompted to align himself with the data glasses in the reference alignment and, for example, manually initiate or initiate the generation of calibration data.
- the predetermined calibration method is triggered in the event that the suitability condition remains unfulfilled for a predetermined maximum period of time.
- the method for generating the correction data can preferably be used during operation of the data glasses, while the user uses the data glasses for a virtual reality or augmented reality (e.g. playing a game or viewing entertainment or educational content).
- the test image is thus generated during operation of the data glasses, during which the virtual reality or augmented reality is displayed to the user by means of the data glasses, ie no calibration perceived by the user or to be carried out by the user is carried out. Instead, the data glasses are worn on the user's head and moved with the head while the user consumes the virtual reality or augmented reality.
- the data glasses can be operated in a motor vehicle. This has already been implemented in the prior art described at the outset and can also be carried out in a corresponding manner in the method described here.
- the reference alignment can be aligned with respect to the interior or passenger compartment of the motor vehicle and the alignment signal can signal the current alignment of the data glasses with regard to the interior.
- a further acceleration sensor can be provided in the motor vehicle for this purpose and can record movements of the motor vehicle.
- the relative position of the data glasses in relation to the motor vehicle can be determined .
- Said reference orientation and the current orientation which is signaled for the data glasses as a function of the sensor signal from the acceleration sensor, then relate to a relative one Alignment with respect to the motor vehicle.
- a viewing direction forward in the longitudinal direction of the vehicle is specified as the reference orientation.
- the method can also be used in an advantageous manner when the moving outside environment while driving is visible through the window panes of the motor vehicle.
- an exposure setting of the camera can be achieved for the respective image of the camera by means of a color histogram or brightness histogram, in which light areas, for example the area of the window panes in daylight, are overexposed or saturated.
- the exposure setting for a central area for example a central pixel in the respective image of the camera, can be specified if the reference alignment specifies that the user with the data glasses is aligned with a headrest located on a front seat.
- the processor circuit described for data glasses is provided as a further solution.
- the data glasses can be adapted or set up to carry out an embodiment of the method according to the invention.
- the invention provides a computer-readable electronic storage medium as a further solution, which has the program code that includes the program instructions that, when executed by the processor circuit of the data glasses, cause this processor circuit to do so to carry out the embodiment of the method according to the invention.
- the storage medium can be located in the data glasses or, for example, also on an Internet server, for example a so-called app store.
- the storage medium can be embodied, for example, at least partially as a non-volatile data memory (eg as a flash memory and/or as an SSD—solid state drive) and/or at least partially as a volatile data memory (eg as a RAM—random access memory).
- a Processor circuit can be provided with at least one microprocessor.
- the instructions may be provided as binary code or assembler and/or as source code of a programming language (eg "C").
- Data glasses equipped with the processor circuit are also provided as a solution by the invention.
- the invention provides, as a further solution, data glasses with a camera for capturing images of a (real) environment around the data glasses and with an acceleration sensor for determining a current spatial alignment of the data glasses with respect to the environment.
- the processor circuit described is provided in the data glasses.
- the current spatial orientation of the data glasses can be determined using an acceleration sensor in the manner known from the prior art on the basis of signal integration.
- the data glasses can be designed as opaque VR glasses or as partially transparent AR glasses. It can also be designed to be switchable between an opaque setting and a partially transparent setting.
- the processor circuit can represent a data processing device or a processor device and it can be set up to carry out an embodiment of the method according to the invention.
- the processor circuit can have at least one microprocessor and/or at least one microcontroller and/or at least one FPGA (Field Programmable Gate Array) and/or at least one DSP (Digital Signal Processor).
- the processor circuit can have program code which is set up to carry out the embodiment of the method according to the invention when executed by the processor circuit.
- the program code can be stored in a data memory of the processor circuit.
- Said motor vehicle is preferably designed as a motor vehicle, in particular as a passenger car or truck, or as a passenger bus or motorcycle, or as a train (train) or as an airplane.
- the invention also includes the combinations of features of the described embodiments.
- the invention also includes implementations that each have a combination of the features of several of the described embodiments, provided that the embodiments were not described as mutually exclusive.
- FIG. 1 shows a schematic representation of an embodiment of the data glasses according to the invention when an embodiment of the method according to the invention is carried out in a motor vehicle;
- FIG. 2 shows a flow chart to illustrate an embodiment of the method according to the invention, as it can be carried out in the motor vehicle from FIG. 1;
- FIG. 3 shows a comparison of a reference image and a test image, as can be used as a basis for the method according to FIG.
- a motor vehicle 10 which can be a motor vehicle, in particular a passenger car or truck.
- the motor vehicle 10 can alternatively be a train with a train car for passengers or an airplane with be a cabin for passengers.
- a traveling user 11 can use data glasses 13 during a journey 12 of the motor vehicle 10 in order to view or use virtual reality or augmented reality.
- the display content presented to the user 11 by the data glasses 13 can be displayed or adjusted in a manner known per se synchronously with the movement 12 of the motor vehicle 10, so that, for example, a speed and/or a relative movement of the data glasses 13 with respect to an external environment 14 of the motor vehicle 10 in the virtual reality or augmented reality can be represented or imitated, for example, by virtual objects in a synchronous movement.
- Such a yaw movement 17 can be detected in a manner known per se using at least one sensor 19 of motor vehicle 10 and using a radio interface 20 in the manner known from the prior art via a communication link 21, for example a radio link and/or a wired connection, as Vehicle movement signal 22 of the data glasses 13 are signaled.
- the user 11 can wear the data glasses 13 on his head.
- an acceleration sensor 24 can generate a sensor signal 25 that includes a movement of the data glasses 13 in space when the user 11 moves the head 15 and/or when the motor vehicle 10 moves with respect to the external environment 14, in particular a respective accelerated movement takes place.
- a processor circuit 26 which can receive both the sensor signal 25 of the acceleration sensor 24 and the vehicle movement signal 22 can be provided in the data glasses 13 .
- it can be achieved, for example by means of a subtraction 28, that a relative movement of the data glasses 13 with respect to the interior 16 as a intermediate or preliminary alignment signal 29' is provided.
- the provisional alignment signal 29 ′ can signal which spatial alignment the data glasses 13 have with respect to an environment 31 , which here represents the environment 31 of the interior 16 due to the calculation with the vehicle movement signal 22 . So that signal values of the provisional alignment signal 29' are interpreted correctly, calibration data 32 can be provided which can be added to the signal values of the provisional alignment signal 29', for example, in order to generate the alignment signal 29.
- the calibration data 32 corrects or clarifies which current spatial alignment 33 results at which signal value of the provisional alignment signal 29 ′, for example by correcting an offset contained in the provisional alignment signal 29 ′ using the calibration data 32 .
- Such a calibration using calibration data 32 is known per se from the prior art.
- Fig. 1 illustrates the current orientation 33, as determined by means of the orientation signal 29 and the calibration data 32, by an arrow indicating the direction in which a forward viewing direction 34 (along a vehicle longitudinal axis forward) in the environment 31, i.e. in the Interior 16 of the motor vehicle 10 has. 1 shows that the user 11 has turned his head 15 with the data glasses 13 worn on them to the right, so that the forward viewing direction 34 points diagonally to the left relative to the head 15 . This is signaled by the processor circuit 26 by the current alignment 33 .
- FIG. 1 shows that instead of the current orientation 33, which corresponds to the true orientation 36 in the calibrated state, a falsified or drifted current orientation 37 that suggests is signaled due to a drift or falsification of the sensor signal 25 or pretends or falsely signals that the user 11 is looking straight ahead with his head 15, i.e. along the forward viewing direction 34.
- this can be detected or recognized using a method 38 and correction data 39 can be generated, which can be used to correct the calibration data 32, so that despite the drift or change in the sensor signal 25 due to the drift, the current alignment is not incorrect 37 but again the current orientation 33 is signaled as the true orientation 36 .
- Fig. 2 and Fig. 3 illustrate the method 38 in this regard.
- a driver's seat 44 and a steering wheel 45 are also shown (a driver is not shown).
- FIG. 2 illustrates method steps of method 38
- FIG. 3 illustrates a reference image 50 and a test image 51 , both of which may have been recorded using camera 43 .
- the test image 51 shows the headrest 42, but laterally offset. Contents of the test image 51 are shown in dashed lines, contents of the reference image 50 are shown in solid lines.
- a calibration method 60 known from the prior art can be carried out in a step S10 in order to generate the calibration data 32 .
- the user 11 can be prompted by a program code of the calibration method 60 to look in a known, predetermined reference direction or general direction, for example the forward viewing direction 34. It is then known in which direction the data glasses 13 are aligned.
- the user 11 can be prompted to do this by pressing a key or by a predetermined confirm operator action. It can then be determined which calibration data 32 are necessary so that the alignment signal 29 combined with the calibration data 32 actually signals the predetermined alignment for the calibration method 60 . If the orientation of the data glasses 13 then changes and this is signaled accordingly by the orientation signal 29, this, combined with the calibration data 32, results in the correct or true orientation 36. However, it may be the case that this is due to a drift or a change or an offset in the acceleration sensor 24 there is a difference or a drift angle over time during use, i.e. the true alignment 36 and the alignment 37 determined by means of the alignment signal 29 fall apart or are different.
- the reference image 50 is generated by the camera 43 .
- Image data of the reference image 50 can be stored in the processor circuit 26 .
- 3 illustrates by way of example how the headrest 42 of the vehicle seat 41 can be seen or is depicted frontally in front of the user 11 when the data glasses 13 are aligned in the forward viewing direction 34 as the reference alignment 61 in the reference image 50 .
- a part of the steering wheel 45 as well as a window pane 62 of the side door and a window pane 63 of the front window can be shown by way of example.
- An exposure can, for example, be aligned with the interior 16, for example with the headrest 42, so that areas of the window panes 62, 63 can be overexposed or displayed uniformly white or monochrome white (brightness of the pixels saturated at 100%).
- a recalibration event 66 can be awaited or detected repeatedly or cyclically in a monitoring cycle 65 in step S12.
- the recalibration event 66 can be, for example, that the current alignment 37 determined according to the alignment signal 29 and the calibration data 32 matches the reference alignment 61 or an angle between the current alignment 37 according to the alignment signal 29 and the reference alignment 61 is smaller than a threshold value. As shown in Fig. 1, however, the drift may have resulted in the user aligning his head to the right at an angle forward, but the current alignment 37 according to the orientation signal 29 forward in the forward viewing direction 34, i.e. the reference orientation 61.
- the test image 51 can be generated by the camera 43 in a step S13. If, on the other hand, the recalibration event 66 does not occur for a predetermined maximum period of time 67, a return can be made to step S10 in order to carry out the calibration method 60 again.
- a comparison function 68 can be executed in a step S14, which determines for the test image 51 whether it actually results in the same orientation according to the reference image 50 or the expected orientation as the current orientation 37 .
- the reference image 50 and the test image 51 can be preprocessed by means of at least one filter 69, for example edge detection can be carried out and the filtered images (test image and reference image) can be displayed or processed as binary images.
- FIG 3 illustrates how, using the filtered test image and the filtered reference image, a displacement V of the two images relative to one another can be carried out and a difference value U can be calculated for each displacement step. It shows how the difference value U0 can result for a shift of 0.
- the two images can be displaced relative to one another in predetermined displacement directions 70, which can be limited to a horizontal displacement here, for example.
- Fig. 3 shows that the reference orientation 61 points in the forward viewing direction 34 and the alleged current orientation 37 also points in the forward viewing direction 34, i.e. in the reference orientation 61, while the true orientation 36 shows the orientation of the data glasses illustrated in Fig. 1 13 is This resulted in a drift angle 71 that was not taken into account by the calibration data 32 .
- a step S15 the displacement V in the displacement directions 70 for several different predetermined displacement values carried out and the difference value U determined in each case.
- the displacement value Vmin (Vmin) can then be determined for which the smallest difference value Umin (Umin) results, which is illustrated in FIG. This corresponds to a suitability condition that is satisfied by Vmin.
- the displacement value Vmin at which the smallest difference value Umin results therefore satisfies a suitability criterion 74 as long as the difference value Umin is preferably smaller than a predetermined threshold value 75 . If this does not occur for a predetermined maximum period of time 76, that is to say in particular for a number of occurrences of the recalibration event 66, a return can be made to step S10.
- step S15 the comparison function 68 can be used to determine the shift Vmin with the difference value Umin, which satisfies the suitability criterion 74, and corresponding shift data 77 can be determined.
- the displacement data 77 can be converted into the value of the drift angle 71 by means of a mapping function 78.
- the correction data 39 for the calibration data 32 can then be determined with this.
- the displacement V for determining the displacement value Vmin can also depend on the distance of the imaged objects, for example the headrest 42, and the conversion using the mapping function 78 can accordingly also depend on how far the compared or imaged objects are are or were away from the camera 43.
- this can be neglected or disregarded in particular in a motor vehicle 10, i.e. in its interior 16, to the extent that it has been found that sufficiently accurate correction data 39 result in order to detect a drift of an acceleration sensor 24 continuously or by repeatedly carrying out the method 38 be able to compensate repeatedly or iteratively.
- the distance of the relevant objects which are decisive for determining the displacement value Vmin, can be estimated or determined, for example by reading out a control value or focusing value of an autofocus of the camera 43 .
- the next recalibration event 66 can be awaited or detected in step S12.
- the comparison function 68 in step S14 can mean a low numerical effort, ie it can be implemented with a low computing load for the processor circuit 26. For example, difference values between the superimposed pixels of the mutually shifted images (filtered reference image and filtered test image) and subsequent summation of the amounts of the differences and then dividing by the number of pixel pairs or pixels taken into account. While the method 38 is being carried out, content of the virtual reality or augmented reality can be continuously or continuously played back or displayed for the user 11 through the data glasses 13, so that the user 11 does not notice anything about the method 38, in particular steps S12 to S16, or is not informed about it.
- test image and reference image The entire image (test image and reference image) is preferably used for the correlation and an attempt is made to minimize the difference to a later overall image by mutual shifting, by testing various camera rotation angles and using this angle for drift correction with the best match (minimal difference). becomes. Regions outside the cockpit are not explicitly ignored or blanked out, they only increase the base error, which can be filtered away as noise via a threshold. As long as constant areas dominate in the image, a meaningful result is obtained, which can be recognized using the threshold value. A physical phenomenon comes in handy here: If the exposure or exposure of the camera is set to the cockpit (i.e. to the lighting conditions in the cockpit) and not to the brighter surroundings outside, the noise will be less or become less due to overexposure of the window areas even eliminated altogether.
- An edge detection for object segmentation can be preceded by the correlation in order to then iteratively shift the two images against each other in order to Minimizing the degree of error and then deducing a sensor drift from this takes the concept a lot further.
- a Sobel filter or a Laplacian-of-Gaussian filter can be used for edge detection, in particular to be independent of the illumination.
- a low-pass filter not only increases efficiency, but also robustness, since the frequency bands of the spatial frequencies in the image, which most favor the recognition of the rotation angle, gain influence. In image processing, this is called the Gauss-Laplace pyramid.
- This algorithm is applied to both the reference image and a test image.
- the test image is then re-projected several times (hundreds of times) step by step or shifted against each other in such a way that different yaw angles of the camera are simulated.
- the drift-independent degrees of freedom of the roll angle and pitch angle can be excluded by evaluating the position sensors.
- the entire test image or predefined sections of the test image are compared with the reference image using template matching and the degree of error is determined.
- Template matching simply slides the template image (test image) over the input image (reference image) like 2D convolution and compares the template and the area of the input image under the template image. Several comparison methods are suitable. The result is a grayscale image in which each pixel indicates how closely that pixel's surroundings match the original.
- this resulting error value is preferably divided or normalized by the number of valid pixel pairs. Otherwise pairs of images with greater overlap would be favoured.
- Areas that are outside the vehicle can be neglected as noise as long as enough areas inside the vehicle are affected pictures can be seen.
- a favorable setting of the camera exposure can also reduce edge strengths outside the vehicle.
- Another approach is to give less weight to entire regions that tend to be noisier, ie inconsistencies between the images.
- the algorithm can learn from several past images and make corresponding assumptions about upcoming images.
- the one with the smallest degree of error and the resulting optimized yaw angle is ultimately retained.
- a threshold value to ensure a minimum quality can be attached to the error measure. If the error is higher, the test image is discarded entirely. This is possible because the drift develops over a longer period of time.
- the head yaw angle is calculated with the vehicle yaw angle, the result is subtracted from the optimized yaw angle and the drift angle is obtained.
- the drift angle can now be gradually corrected by the VR camera rotation within the virtual 3D scene in order not to cause noticeable jumps.
- a manual drift correction command when looking ahead can be used as an initial reference image. If no hit is found for a maximum period of time (longer period, e.g. in the range of 30 seconds to 5 minutes), a manual recalibration or a new reference image generation may be necessary.
- test images are captured whenever the user is looking roughly in the forward direction, as this ensures a high degree of image overlap and a correspondingly high number of pixel pairs. For example, a test image can be recorded whenever the user's line of sight overlaps approximately the assumed direction of travel during a head movement (i.e. the dot product of both directional vectors is close to a value of 1).
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Eye Examination Apparatus (AREA)
Abstract
Die Erfindung betrifft ein Verfahren (38) zum Betreiben einer Datenbrille (13), wobei in einem vorbestimmten kalibrierten Zustand der Datenbrille (13), in welchem ein Beschleunigungssensor (24) durch Kalibrierdaten (32) eines vorbestimmten Kalibrierverfahrens (60) kalibriert ist, mittels einer Kamera (43) der Datenbrille (13) in einer vorbestimmten räumlichen Referenzausrichtung (61) ein Referenzbild (50) einer Umgebung (31) aufgenommen wird, und danach bei detektiertem Rekalibrierungsereignis (66) ein Testbild (51) der Umgebung (31) erzeugt wird. Die Erfindung sieht vor, dass mittels einer vorbestimmten Vergleichsfunktion (68) für unterschiedliche relative Verschiebungen des Testbilds (51) bezüglich des Referenzbildes (50) ein jeweiliger Unterschiedswert zwischen dem Testbild (51) und dem Referenzbild (50) ermittelt wird und die Verschiebungsdaten derjenigen relativen Verschiebung ausgewählt werden, welche einen Unterschiedswert ergibt, der eine vorbestimmte Eignungsbedingung erfüllt, und aus den ausgewählten Verschiebungsdaten mittels einer vorbestimmten Abbildungsfunktion (78) Korrekturdaten (39) zum Korrigieren der Kalibrierdaten (32) erzeugt werden und der Beschleunigungssensor (24) mittels der Korrekturdaten (39) rekalibriert wird.
Description
BESCHREIBUNG:
Verfahren und Prozessorschaltung zum Betreiben einer Datenbrille mit Driftkorrektur eines Beschleunigungssensors sowie entsprechend betreibbare Datenbrille und computerlesbares elektronisches Speichermedium
Die Erfindung betrifft ein Verfahren und eine Prozessorschaltung zum Betreiben einer Datenbrille, mittels welcher eine virtuelle Realität (VR) und/oder augmentierte Realität (AR) dargestellt wird. Um hierbei auf Kopfbewegungen des Benutzers mit einer entsprechenden Anpassung des dargestellten Bildinhalts reagieren zu können, ist in der Datenbrille ein Beschleunigungssensor bereitgestellt. Ein solcher Beschleunigungssensor muss dahingehend kalibriert sein, dass sein Sensorsignal korrekt interpretiert werden kann, damit anhand des Sensorsignals erkannt werden kann, welche Orientierung oder Ausrichtung die Datenbrille (und mit ihr der Kopf des Benutzers) in Bezug auf eine reale Umgebung aufweist. Allerdings unterliegt ein Sensorsignal eines Beschleunigungssensors in der Regel einer Drift, das heißt mit der Zeit oder während des Betriebs der Datenbrille kommt es zu einem additiven Fehler, der mit der Zeit anwächst, so dass eine anhand des Sensorsignals ermittelte aktuelle Ausrichtung oder Orientierung der Datenbrille bezüglich der realen Umgebung dann nicht mehr der tatsächlichen realen Ausrichtung entspricht, sondern um einen Driftwinkel versetzt ist. Wird beispielsweise ein Rotationswinkel der Datenbrille bezüglich einer senkrechten Achse (Gierwinkel) anhand des Sensorsignals ermittelt, so weist die aufgrund der Drift falsch ermittelte aktuellen Orientierung der Datenbrille den zusätzlichen Driftwinkel auf, der korrigiert werden muss.
Die Nutzung von Beschleunigungssensoren in Datenbrillen für VR und AR ist hinlänglich bekannt. Auch die Notwendigkeit einer Driftkorrektur ist bekannt. Hierzu ist aus der US 10 948 299 B1 bekannt, zu bestimmten Zeitpunkten ein Bild der realen Umgebung der Datenbrille mittels einer in der Datenbrille verfügbaren Kamera zu erfassen und in dem Bild mittels einer Objekterkennung ein Referenzobjekt zu
erkennen. Durch Vergleichen der relativen Position des Referenzobjekts in zwei unterschiedlichen Bildern kann erkannt werden, ob sich zwischenzeitlich eine Drift im Sensorsignal des Beschleunigungssensors der Datenbrille ergeben hat. Dieses Verfahren erfordert allerdings eine Objekterkennung für Objekte in den Bildern der Kamera, was die Implementierung der Driftkorrektur aufwendig macht.
Aus der DE 10 2014 206 623 A1 ist für eine Lokalisierung einer Datenbrille bekannt, dass sich eine Drift eines Inertialsensors dadurch kompensieren lässt, dass regelmäßig ein Abbild der Umgebung mittels einer Kamera erfasst wird und auf Grundlage des Abbilds eine zweite Lokalisierung, zusätzlich zu derjenigen aus dem Sensorsignal des Inertialsensors, ermittelt wird. Enthält das Sensorsignal des Inertialsensors eine Drift, so kann diese anhand der Lokalisierung mittels Kamerabild erkannt und kompensiert werden. Die Kamerabilder werden zu vorgegebenen Zykluszeiten ausgelöst oder aufgenommen.
Aus der DE 10 2020 105 196 A1 ist bekannt, dass eine Umgebung einer Datenbrille durch ein Datenmodell modelliert werden kann, welches mit Kamerabildern aus der Datenbrille abgeglichen werden kann, um eine aktuelle Pose oder Ausrichtung der Datenbrille zu ermitteln.
Aus der wissenschaftlichen Veröffentlichung von Briechle et al. (Kai Briechle, Uwe D. Hanebeck, "Template matching using fast normalized cross correlation," Proc. SPIE 4387, Optical Pattern Recognition XII, (20 March 2001 ); doi: 10.1117/12.421129) geht ein Algorithmus zur normalisierten Kreuzkorrelation, NCC, hervor.
Ein System gemäß der WO 2017/172984 A2 nutzt einen Bildvergleich eines aktuellen Kamerabildes mit Referenzbildern, um eine aktuelle Ausrichtung einer Datenbrille im Raum zu ermitteln.
Der Erfindung liegt die Aufgabe zugrunde, beim Betreiben einer Datenbrille eine Driftkorrektur für das Sensorsignal eines Beschleunigungssensors der Datenbrille bereitzustellen.
Die Aufgabe wird durch die Gegenstände der unabhängigen Patentansprüche gelöst. Vorteilhafte Weiterentwicklungen oder Weiterbildungen der Erfindung sind durch die abhängigen Patentansprüche, die folgende Beschreibung sowie die Figuren beschrieben.
Als eine Lösung umfasst die Erfindung ein Verfahren zum Betreiben einer Datenbrille. Das Verfahren kann hierzu Programminstruktionen umfassen, die durch eine Prozessorschaltung beispielsweise in der Datenbrille ausgeführt werden können.
Das Verfahren geht davon aus, dass die Datenbrille zumindest zeitweise in einem vorbestimmten kalibrierten Zustand verfügbar ist. In dem kalibrierten Zustand ist der Beschleunigungssensor durch Kalibrierdaten eines vorbestimmten Kalibrierverfahrens kalibriert. Ein solches Kalibrierverfahren kann beispielsweise auf einer manuellen Driftkorrektur beruhen, bei welcher der Benutzer der Datenbrille aufgefordert wird, die Datenbrille in eine vorbestimmte Referenzausrichtung auszurichten, beispielsweise durch Geradeausblicken, so dass die wahre aktuelle Ausrichtung der Datenbrille bekannt ist, damit das Sensorsignal des Beschleunigungssensors entsprechend kalibriert oder korrigiert werden kann, was die Kalibrierdaten ergibt. Der vorbestimmte kalibrierte Zustand ist also zumindest unmittelbar nach Abschluss des Kalibrierverfahrens verfügbar oder bekannt und kann genutzt werden.
Im kalibrierten Zustand der Datenbrille wird mittels einer Kamera der Datenbrille in einer vorbestimmten räumlichen Referenzausrichtung der Datenbrille ein Referenzbild der realen Umgebung der Datenbrille aufgenommen. Zu dem kalibrierten Zustand liegt also ein Referenzbild vor, welches die Umgebung zeigt, wenn die Datenbrille die vorbestimmte räumliche Referenzausrichtung aufweist. Diese kann beispielsweise gegeben sein, indem der Benutzer geradeaus oder (falls die Datenbrille in einem Kraftfahrzeug getragen wird) z.B. in Vorwärtsfahrtrichtung oder allgemein eine bezüglich des Kraftfahrzeugs definierte Referenzrichtung blickt. Wie die Datenbrille in der Referenzausrichtung tatsächlich ausgerichtet ist, muss allerdings nicht unbedingt bekannt sein. Es muss nur bekannt sein, dass die Datenbrille im kalibrierten Zustand ist und dass dann mittels des Sensorsignals eine aktuelle Ausrichtung ermittelt wird, deren Wert oder Ausrichtungsdaten als Referenzausrichtung gespeichert gehalten wird. Mit andere Worten erfolgt die Erfassung oder Erzeugung des Referenzbilds während des
Tragens der Datenbrille, also am selben Einsatzort und/oder während derselben Fahrt, wo auch die hier beschriebene Driftkorrektur vorgenommen wird. Es ist somit kein Vorwissen über die geometrische Ausgestaltung oder das Aussehen diesen Einsatzort notwendig. Während ein Benutzer die Datenbrille trägt, wird also zunächst ein Referenzbild aufgenommen und später danach (bei erfüllten Rekalibrierungsereignis) wird das Testbild aufgenommen.
Nachdem das Referenzbild erzeugt wurde, wird danach, also beispielsweise mehrere Sekunden danach ein vorbestimmtes Rekalibrierungsereignis abgewartet, d.h. die Datenbrille wird für einen Zeitraum größer als Null bewegt oder benutzt, und dann das Rekalibrierungsereignis detektiert. Es wird also abgewartet, wann sich eine Gelegenheit ergibt, um die Kalibrierdaten zu überprüfen oder zu verifizieren, ob der kalibrierte Zustand noch vorliegt. Bei detektiertem Rekalibrierungsereignis wird mittels der Kamera ein Testbild der Umgebung erzeugt. Wie bei dem Referenzbild auch, wird also für das Testbild mittels der Kamera die Umgebung abgebildet. Es liegen somit Bilddaten für ein Referenzbild und für das Testbild vor. Zudem kann anhand des Sensorsignal des Beschleunigungssensor natürlich ermittelt werden, welche aktuelle Ausrichtung die Datenbrille (angeblich) gemäß dem Sensorsignal aufweist.
Um nun mit geringem Aufwand ermitteln zu können, wie groß die Drift oder der Driftwinkel in dem Sensorsignal ist, also die Abweichung zwischen der wahren Ausrichtung der Datenbrille und der mittels des Beschleunigungssensors ermittelten Ausrichtung der Datenbrille, werden das Testbild und das Referenzbild so lange gegeneinander verschoben, bis sich eine maximale Übereinstimmung der beiden Bilder (Testbild und Referenzbild) in Bezug auf deren Inhalt oder Pixel ergibt, ohne dass hierzu notwendig ist, den abgebildeten Inhalt (semantisch) zu interpretieren oder mittels einer Objekterkennung zu analysieren.
Stattdessen wird mittels einer vorbestimmten Vergleichsfunktion für unterschiedliche relative Verschiebungen des Testbilds bezüglich des Referenzbildes ein jeweiliger Unterschiedswert zwischen dem Testbild und dem Referenzbild ermittelt. Es kann also ungeachtet des Bildinhalts der gesamte überlappende Bereich der beiden gegeneinander verschobenen Bilder zugrunde gelegt werden. Die relative Verschiebung kann beispielsweise auf eine Richtung, beispielsweise horizontales
Verschieben und/oder vertikales Verschieben und/oder eine Drehung, begrenzt sein oder alle möglichen relativen Verschiebebewegungen umfassen (bis sich kein überlappender Bereich mehr ergibt). Die Verschiebung kann auch auf ein vorbestimmtes Werteintervall begrenzt sein, beispielsweise bis eine Überlappung der beiden Bilder kleiner als ein Schwellenwert ist, der beispielsweise in einem Bereich von 80% bis 10% liegen kann. Der Unterschiedswert wird natürlich jeweils bei ausgewendeter relativer Verschiebung ermittelt. Der Unterschiedswert wird dann natürlich lediglich für diejenigen Pixel der beiden Bilder (Testbild und Referenzbild) ermittelt, die sich nach der Verschiebung noch überlappen.
Für das weitere Verfahren wird lediglich eine einzige Verschiebungseinstellung genutzt. Es werden nämlich die Verschiebungsdaten derjenigen relativen Verschiebung ausgewählt, welche einen Unterschiedswert ergibt, der eine vorbestimmte Eignungsbedingung erfüllt. Die Eignungsbedingung kann insbesondere umfassen, dass die Verschiebungsdaten derjenigen relativen Verschiebung ausgewählt werden, die einen minimalen Unterschiedswert von allen ermittelten Unterschiedswerten ergibt. Dies entspricht einer Verschiebung, die die größer Übereinstimmung ergibt. Die Eignungsbedingung kann signalisieren, dass durch die Verschiebung ein vorbestimmter Mindestgrad an Übereinstimmung erreicht wurde.
Aus diesen derart ausgewählten Verschiebungsdaten (die die Verschiebung mit der erfüllten Eignungsbedingung ergeben) werden dann mittels einer vorbestimmten Umrechnungsfunktion oder Abbildungsfunktion Korrekturdaten zum Korrigieren der Kalibrierdaten erzeugt. Wird also erkannt, mit welcher relativen Verschiebung sich beispielsweise ein kleinerer oder der kleinste Unterschiedswert zwischen Testbild und Referenzbild ergibt, so können die entsprechenden Verschiebungsdaten in Korrekturdaten zum Korrigieren der Kalibrierdaten umgerechnet oder abgebildet werden. Entsprechende geometrische Berechnungen sind in Abhängigkeit von der Abbildungseigenschaft der Kamera (sogenannte extrinsische und intrinsische Daten der Kamera) verfügbar und für den Fachmann herleitbar. Die Abbildungsfunktion kann z.B. als Berechnungsformel oder als Lookup-Tabelle (LUT) implementiert werden. Die Abbildungsfunktion kann aus den ausgewählten Verschiebungsdaten einen Korrekturwinkel (Driftwinkel) ermitteln und durch die Korrekturdaten signalisieren.
Der Beschleunigungssensor wird dann mitels der Korrekturdaten rekalibriert. Mit anderen Worten werden die Kalibrierdaten verändert, oder es werden neue Kalibrierdaten erzeugt. Die Korrekturdaten können z.B. einen zusätzlichen Driftwinkel angeben, der sich seit Aufnehmen oder Erzeugen des Referenzbildes ergeben hat oder der seit dem angewachsen ist oder entstanden ist. Indem der Driftwinkel von dem Ausrichtungssignal des Datenbrille, z.B. einem Rotationswert für den Gierwinkel, der ohne die Korrekturdaten bis dahin verwendet wurde, subtrahiert wird, kann eine korrigierte Angabe oder ein korrigiertes Ausrichtungssignal der Ausrichtung der Datenbrille berechnet werden, in welcher die seit dem Aufnahmezeitpunkt des Referenzbilds hinzugekommene Drift kompensiert ist.
Durch die Erfindung ergibt sich der Vorteil, dass weder im Referenzbild noch im Testbild eine Objekterkennung durchgeführt werden muss, um eine Drift im Sensorsignal des Beschleunigungssensors zu erkennen oder um das Testbild dahingehend auswerten zu können, dass Korrekturdaten zum Kompensieren oder Ausgleichen der Drift berechnet werden können. Es reicht, das gesamte Testbild oder einen vorbestimmten Bildausschnitt des Testbilds bezüglich des Referenzbilds zu verschieben und die Vergleichsfunktion anzuwenden.
Das hier beschriebene Ausrichtungssignal kann aus dem Sensorsignal des Beschleunigungssensors allein oder beispielsweise mittels einer Sensorfusion aus mehreren Sensorsignalen gebildet sein kann. Für beide Varianten ist das Verfahren nutzbar, da eine Drift im Sensorsignal auch einen Offset oder Driftwinkel in einer Sensorfusion verursachen oder beitragen kann.
Die Erfindung umfasst auch Weiterentwicklungen und Weiterbildungen, durch die sich zusätzliche Vorteile ergeben.
Zum Auslösen oder Aufnehmen des Testbilds wird das besagte Rekalibrierungsereignis abgewartet. Dieses umfasst gemäß einer Weiterentwicklung, dass das mittels des Sensorsignals des Beschleunigungssensors erzeugte Ausrichtungssignal signalisiert, dass eine aktuelle räumliche Ausrichtung der Datenbrille bezüglich der Referenzausrichtung (aus welcher heraus das Referenzbild erzeugt wurde) eine vorbestimmte Relativstellung aufweist. Die vorbestimmte Relativstellung kann
beispielsweise besagen, dass die aktuelle räumliche Ausrichtung in zumindest einer Raumebene, beispielsweise horizontal und/oder vertikal, mit der Relativstellung übereinstimmen muss. Es kann aber auch eine weniger strenge Relativstellung oder Bedingung vorgegeben sein, dass beispielsweise die Relativstellung zwischen aktueller Ausrichtung gemäß Ausrichtungssignal und der Referenzausrichtung kleiner als ein Schwellenwert ist, der in einem Bereich von 0 Grad bis zu einer oberen Grenze im Bereich von 3 Grad bis 10 Grad oder bis 15 Grad oder bis 20 Grad liegen kann. Dies stellt eine ausreichende Überlappung der in beiden Bildern (Referenzbild und Testbild) dargestellten Bildausschnitte der realen Umgebung dar. Entsprechend ist dann die Genauigkeit der Driftkorrektur auf die besagte obere Grenze limitiert. Zum Berechnen der Relativstellung kann beispielsweise das Skalarprodukt eines Vektors, der die Referenzausrichtung beschreibt, mit einem Vektor, der die aktuelle räumliche Ausrichtung gemäß Ausrichtungssignal beschreibt, ermittelt werden.
Zusätzlich oder alternativ dazu sieht eine Weiterentwicklung vor, dass das Rekalibrierungsereignis umfasst, dass eine vorbestimmte Mindestzeitdauer verstrichen ist (seit der letzte Ermittlung der Korrekturdaten). Diese kann beispielsweise in einem Bereich von 0,5 Sekunden bis 10 Sekunden liegen. Durch Abwarten der Mindestzeitdauer ergibt sich der Vorteil, dass eine Rechenlast in der Prozessorschaltung zum Durchführen des Verfahrens gering gehalten werden kann. Zusätzlich oder alternativ zu den bisherigen Bedingungen für das Rekalibrierungsereignis sieht eine Weiterentwicklung vor, dass eine Bewegungsgeschwindigkeit und/oder Bewegungsbeschleunigung der Datenbrille in einem vorbestimmten Werteintervall liegt. Dies kann beispielsweise mittels des Beschleunigungssensors selbst ermittelt werden. Beispielsweise kann vorgegeben sein, dass die Datenbrille stillstehen muss oder eine Bewegungsgeschwindigkeit und/oder Bewegungsbeschleunigung der Datenbrille kleiner als ein vorbestimmter Höchstwert der entsprechenden Größe sein muss. Dies weist den Vorteil auf, dass das Testbild die Umgebung scharf abbildet. Zusätzlich oder alternativ dazu ergibt sich der Vorteil, dass ein Zeitversatz zwischen Erzeugen des Testbilds und Erfassen oder Berechnen des zugehörigen Signalwerts des Ausrichtungssignals keinen derart großen Zeitversatz aufweist, dass er zu einer fehlerhaften Berechnung der Korrekturdaten führen könnte.
Liegen die ausgewählten Verschiebungsdaten vor, die beispielsweise den Unterschied zwischen dem verschobenen Testbild und dem Referenzbild minimieren, so wird gemäß einer Weiterentwicklung mittels der Abbildungsfunktion aus den ausgewählten Verschiebungsdaten ein Driftwinkel für die mittels des Beschleunigungssensors ermittelte räumliche Ausrichtung ermittelt und durch die Korrekturdaten für den Beschleunigungssensor angegeben. Wird der Driftwinkel als Korrekturdaten angewendet, so signalisiert das Ausrichtungssignal (innerhalb der verfügbaren Genauigkeit der Korrekturdaten) die wahre Ausrichtung der Datenbrille. Durch die beschriebenen geometrischen Bedingungen kann eine Berechnungsvorschrift hergleitet werden, um die Korrekturdaten zu berechnen.
Eine Weiterentwicklung umfasst, dass die besagte Vergleichsfunktion zum Vergleichen der gegenseitig zueinander verschobenen Bilder (Referenzbildes mit dem verschobenen Testbild oder des Testbilds mit dem verschobenen Referenzbild) zunächst auf das Referenzbild und das Testbild jeweils ein Kantendetektionsfilter und/oder ein Tiefpassfilter und/oder ein Region-Growing-Filter anwendet. Es kann eines dieser Filter oder eine Kaskade (Hintereinanderschaltung) mehrerer dieser Filter oder eine Kombination zumindest einiger dieser Filter angewendet werden. Hierdurch ergibt sich ein gefiltertes Referenzbild und ein gefiltertes Testbild. Der Unterschiedswert wird dann zwischen dem gefilterten Referenzbild und dem gefilterten Testbild ermittelt. Die beschriebenen Filter weisen den Vorteil auf, dass charakteristische Bildmerkmale, die zum Detektieren einer relativen Verschiebung vorteilhaft sind, hervorgehoben werden, insbesondere Kanten.
Gemäß einer Weiterentwicklung umfasst die Vergleichsfunktion, dass als der Unterschiedswert eine Summe von Beträgen der jeweiligen Differenz oder eine Summe der quadrierten Differenz von Pixelwerten derjenigen Pixel berechnet wird, die sich gemäß der jeweiligen Verschiebung überlagern oder aufeinander liegen. Es ergeben sich also jeweils Pixelpaare, für die der Betrag der Differenz oder eine quadrierte Differenz berechnet wird, und es wird dann eine Betragssumme oder Quadratsumme über die insgesamt verfügbaren und sich überlagernden Pixel (verfügbare Pixelpaare) berechnet. Es kann hierbei der gesamte überlappende Teil der Bilder genutzt werden oder ein vorbestimmter Bildausschnitt. Diese Operation ist insbesondere unabhängig von einer Objektdetektion. Werden die besagten Filter oder wird eines der Filter
ausgewendet, so wird natürlich der Unterschiedswert oder die jeweilige Differenz bezüglich der gefilterten Bilder berechnet. Als Ausgabewert eines Kantendetektionsfilters und/oder eines Region-Growing-Filters kann beispielsweise ein binäres Bild mit Werten von entweder 0 oder 1 pro Pixel erzeugt werden.
Die besagte Summe der Beträge der Differenzen oder der quadrierten Differenzen ist gemäß einer Weiterentwicklung eine gewichtete Summe, wobei eine jeweilige Gewichtung der Pixel oder der Differenzwerte durch eine Gewichtungsmaske des Referenzbilds und/oder des Testbilds vorgegeben wird. Hierzu kann mittels eines Algorithmus aus mehreren vergangenen Bildern erlernt werden, welche Pixel in vorteilsbringender Weise einen Beitrag zum Erkennen einer Drift leisten. Zusätzlich oder alternativ können jeweilige Gewichtswerte für einzelne Pixel in Abhängigkeit von einem Belichtungswert oder Helligkeitswert des jeweiligen Pixels vorgegeben werden, um beispielsweise in einem Innenraum eines Kraftfahrzeugs die hellen Fensterbereiche (mit dem nutzlosen, dynamischen Bildhintergrund der Außenumgebung des Kraftfahrzeugs) auszublenden, indem helligkeitsgesättigte Pixel mit einem Gewichtungswert von 0 bewertet werden. Eine Gewichtung oder Gewichtungsmaske kann auch beispielsweise mittels Vorwissen von der Konstruktion der Umgebung durch den Fachmann definiert werden. Beispielsweise können solche Bereiche mittels einer Gewichtungsmaske ausgeblendet werden (im Vergleich zu anderen Regionen geringe Gewichtungswerte, beispielsweise der Wert 0), in welchen sich eine von der Bewegung der Datenbrille unabhängige Veränderung der Umgebung ergibt, beispielsweise bei der Verwendung der Datenbrille in einem Kraftfahrzeug im Bereich der Fenster.
Eine Weiterentwicklung sieht vor, dass die Vergleichsfunktion umfasst, dass der Unterschiedswert auf eine Anzahl der insgesamt verglichenen Pixel normiert oder normalisiert wird, indem die besagte Summe durch die Anzahl dividiert wird. Somit kann unabhängig von einem aktuell durch die Verschiebung erzeugten oder hervorgerufenen jeweiligen Überlappungsgrad der Unterschiedswert mit anderen Unterschiedswerten verglichen werden.
Gemäß einer Weiterentwicklung umfasst die Vergleichsfunktion, dass für das Testbild eine Kompensation eines Rollwinkels und/oder Nickwinkels der Datenbrille ausgeführt wird. Es handelt sich um den Rollwinkel (Wankwinkel) und/oder Nickwinkel, der beim
Erfassen des Testbilds durch eine Sensorschaltung signalisiert wird. Weist also die Datenbrille im Vergleich zum Aufnahmezeitpunkt des Referenzbildes am späteren Aufnahmezeitpunkt des Testbilds einen anderen Rollwinkel und/oder Nickwinkel auf, so kann dies kompensiert werden, indem das Testbild mittels einer entsprechenden Verschiebeoperation gemäß dem signalisierten Rollwinkel und/oder Nickwinkel verschoben wird, bevor es mit dem Referenzbild verglichen wird. Somit wird eine beim Erfassen des Referenzbilds signalisierte räumliche Ausrichtung der Kamera (das heißt die Referenzausrichtung) in Bezug auf Rollwinkel und/oder Nickwinkel der Datenbrille angeglichen oder eingestellt. Die Korrekturdaten für die Datenbrille werden dann jeweils insbesondere nur bezüglich eines verbleibenden Freiheitsgrads, nämlich des Gierwinkels der Datenbrille, ermittelt. Der Rollwinkel und/oder Nickwinkel kann in einer Datenbrille oftmals driftfrei oder mit geringer Drift ermittelt werden, so dass sich durch Kompensation dieser Winkel gezielt Korrekturdaten für den Gierwinkel ermitteln lassen.
Wie bereits ausgeführt, kann zum Auswählen der geeigneten Verschiebungsdaten diejenige Verschiebung gesucht werden, bei welcher der Unterschiedswert zwischen Testbild und Referenzbild nach der Verschiebung der kleinste ist. Dies kann entsprechend in der Eignungsbedingung zum Auswählen der Verschiebungsdaten festgelegt sein.
Der „kleinste“ Unterschiedswert kann aber dennoch groß sein, wenn Testbild und Referenzbild keinerlei Übereinstimmung aufweisen. Dann ist der kleinste Unterschiedswert ein ungeeigneter Zufallswert. Es kann daher durch die Eignungsbedingung vorgesehen sein, dass der Unterschiedswert auch kleiner als ein vorbestimmter Höchstwert sein muss. Ergibt sich dies für eine vorbestimmte Höchstzeitdauer nicht, weil kein entsprechendes Testbild gefunden wird oder das Rekalibrierungsereignis nicht eintritt, so wird bevorzugt das eigentliche Kalibrierverfahren erneut ausgelöst, weil beispielsweise davon ausgegangen werden kann, dass die Drift mittlerweile zu groß geworden ist, um das beschriebene Verfahren durchführen zu können. Beispielsweise kann der Benutzer aufgefordert werden, sich mit der Datenbrille in die Referenzausrichtung auszurichten und beispielsweise manuell das Erzeugen von Kalibrierdaten anzustoßen oder auszulösen. Durch Vorgeben einer Höchstzeitdauer ist sichergestellt, dass die Drift oder der Driftwinkel nicht derart groß angewachsen sein kann, dass aus diesem Grund keine Überlappung mehr zwischen
Referenzbild und Testbild bei gegebener vorbestimmter Relativstellung ist. Deshalb ist in vorteilhafter Weise gemäß einer Weiterentwicklung vorgesehen, dass für den Fall, dass die Eignungsbedingung für eine vorbestimmte Höchstzeitdauer unerfüllt bleibt, das vorbestimmte Kalibrierverfahren ausgelöst wird.
Anders als das (absolute) Kalibrierverfahren, bei welchem sich der Benutzer mit der Datenbrille in die Referenzausrichtung gezielt ausrichten muss oder zur Kalibrierung beitragen muss, kann das Verfahren zum Erzeugen der Korrekturdaten an sich bevorzugt im Betrieb der Datenbrille, während der Benutzer die Datenbrille für eine virtuelle Realität oder augmentierte Realität nutzt (beispielsweise beim Spielen eines Spiels oder beim Betrachten eines Unterhaltungsinhalts oder Bildungsinhalts), genutzt werden. Das Testbild wird also während eines Betriebs der Datenbrille erzeugt, während welchem mittels der Datenbrille dem Benutzer die virtuelle Realität oder augmentierte Realität angezeigt wird, also keine vom Benutzer wahrgenommene oder vom Benutzer durchzuführende Kalibrierung durchgeführt wird. Stattdessen wird die Datenbrille vom Benutzer am Kopf getragen und mit dem Kopf mitbewegt, während der Benutzer die virtuelle Realität oder augmentierte Realität konsumiert.
Wie bereits ausgeführt, kann die Datenbrille in einem Kraftfahrzeug betrieben werden. Dies ist bei dem eingangs beschriebenen Stand der Technik bereits umgesetzt und kann in entsprechender Weise auch bei dem vorliegend beschriebenen Verfahren durchgeführt werden. Die Referenzausrichtung kann hierbei bezüglich des Innenraums oder Fahrgastraums des Kraftfahrzeugs ausgerichtet sein und das Ausrichtungssignal kann die aktuelle Ausrichtung der Datenbrille bezüglich des Innenraums signalisieren. Beispielsweise kann hierzu ein weiterer Beschleunigungssensor in dem Kraftfahrzeug bereitgestellt sein und Bewegungen des Kraftfahrzeugs erfassen. Durch Subtrahieren des Beschleunigungssignals des Kraftfahrzeugs (oder eines daraus hergeleiteten Bewegungssignals des Kraftfahrzeugs bezüglich der Außenumgebung des Kraftfahrzeugs) aus dem Kraftfahrzeug von dem entsprechenden Sensorsignal des Beschleunigungssensors der Datenbrille (oder einem daraus hergeleiteten Bewegungssignal der Datenbrille) kann die Relativstellung der Datenbrille bezüglich des Kraftfahrzeugs ermittelt werden. Die besagte Referenzausrichtung und die aktuelle Ausrichtung, die für die Datenbrille in Abhängigkeit von dem Sensorsignal des Beschleunigungssensors signalisiert wird, beziehen sich dann auf eine relative
Ausrichtung bezüglich des Kraftfahrzeugs. Insbesondere ist als Referenzausrichtung eine Blickrichtung nach vorne in Fahrzeuglängsrichtung vorgegeben. In einem Kraftfahrzeug kann das Verfahren in vorteilhafter Weise auch dann eingesetzt werden, wenn durch Fensterscheiben des Kraftfahrzeugs hindurch die während der Fahrt bewegte Außenumgebung sichtbar ist. Dies kann dadurch erreicht werden, dass eine Belichtungseinstellung der Kamera für den Innenraum des Kraftfahrzeugs eingestellt wird. Dies kann beispielsweise erreicht werden, indem dunkle Regionen im jeweiligen Kamerabild (Referenzbild, Testbild) ermittelt werden und für diese die Belichtungseinstellung ausgerichtet wird. Beispielsweise kann für das jeweilige Bild der Kamera mittels eines Farbhistogramms oder Helligkeitshistogramms eine Belichtungseinstellung der Kamera erreicht werden, bei welcher helle Bereiche, beispielsweise bei Tageslicht der Bereich der Fensterscheiben, überbelichtet ist oder gesättigt ist. Beispielsweise kann die Belichtungseinstellung für einen Mittenbereich, beispielsweise ein zentrales Pixel im jeweiligen Bild der Kamera festgelegt sein, wenn durch die Referenzausrichtung festgelegt ist, dass der Benutzer mit der Datenbrille auf eine auf einem vorderen Sitz befindliche Kopfstütze ausgerichtet ist.
Um das erfindungsgemäße Verfahren durchzuführen, ist als weitere Lösung die beschriebene Prozessorschaltung für eine Datenbrille bereitgestellt. Die Datenbrille kann dazu angepasst oder eingerichtet sein, eine Ausführungsform des erfindungsgemäßen Verfahrens durchzuführen.
Um eine Datenbrille mit Prozessorschaltung dahingehend zu ertüchtigen, das Verfahren ausführen zu können, ist durch die Erfindung als weitere Lösung ein computerlesbares elektronisches Speichermedium bereitgestellt, welches den Programmcode aufweist, der die Programminstruktionen umfasst, die bei Ausführen durch die Prozessorschaltung der Datenbrille diese Prozessorschaltung dazu veranlassen, die Ausführungsform des erfindungsgemäßen Verfahrens durchzuführen. Das Speichermedium kann sich in der Datenbrille befinden oder beispielsweise auch auf einem Server des Internets, beispielsweise einem sogenannten App-Store. Das Speichermedium kann z.B. zumindest teilweise als ein nicht-flüchtiger Datenspeicher (z.B. als eine Flash-Speicher und/oder als SSD - solid state drive) und/oder zumindest teilweise als ein flüchtiger Datenspeicher (z.B. als ein RAM - random access memory) ausgestaltet sein. Durch den Computer oder Computerverbund kann eine
Prozessorschaltung mit zumindest einem Mikroprozessor bereitgestellt sein. Die Befehle können als Binärcode oder Assembler und/oder als Quellcode einer Programmiersprache (z.B. „C“) bereitgestellt sein.
Eine mittels der Prozessorschaltung ausgestattete Datenbrille ist ebenfalls als Lösung durch die Erfindung vorgesehen. Das heißt, die Erfindung sieht als weitere Lösung eine Datenbrille mit einer Kamera zum Erfassen von Bildern einer (realen) Umgebung der Datenbrille und mit einem Beschleunigungssensor zur Ermitteln einer aktuellen räumlichen Ausrichtung der Datenbrille bezüglich der Umgebung vor. Des Weiteren ist in der Datenbrille die beschriebene Prozessorschaltung bereitgestellt. Die aktuellen räumlichen Ausrichtung der Datenbrille kann mittels eines Beschleunigungssensor in der aus dem Stand der Technik bekannten Weise auf der Grundlage von Signalintegration ermittelt werden.
Die Datenbrille kann als blickdichte VR-Brille oder als teiltransparente AR-Brille ausgestaltet sein. Sie kann auch zwischen blickdichter Einstellung und teiltransparenter Einstellung umschaltbar ausgestaltet sein.
Die Prozessorschaltung kann eine Datenverarbeitungsvorrichtung oder eine Prozessoreinrichtung darstellen und sie kann dazu eingerichtet sein, eine Ausführungsform des erfindungsgemäßen Verfahrens durchzuführen. Die Prozessorschaltung kann hierzu zumindest einen Mikroprozessor und/oder zumindest einen Mikrocontroller und/oder zumindest einen FPGA (Field Programmable Gate Array) und/oder zumindest einen DSP (Digital Signal Processor) aufweisen. Des Weiteren kann die Prozessorschaltung Programmcode aufweisen, der dazu eingerichtet ist, bei Ausführen durch die Prozessorschaltung die Ausführungsform des erfindungsgemäßen Verfahrens durchzuführen. Der Programmcode kann in einem Datenspeicher der Prozessorschaltung gespeichert sein.
Das besagte Kraftfahrzeug ist bevorzugt als Kraftwagen, insbesondere als Personenkraftwagen oder Lastkraftwagen, oder als Personenbus oder Motorrad oder als Zug (Train) oder als Flugzeug ausgestaltet.
Die Erfindung umfasst auch die Kombinationen der Merkmale der beschriebenen Ausführungsformen. Die Erfindung umfasst also auch Realisierungen, die jeweils eine Kombination der Merkmale mehrerer der beschriebenen Ausführungsformen aufweisen, sofern die Ausführungsformen nicht als sich gegenseitig ausschließend beschrieben wurden.
Im Folgenden sind Ausführungsbeispiele der Erfindung beschrieben. Hierzu zeigt:
Fig. 1 eine schematische Darstellung einer Ausführungsform der erfindungsgemäßen Datenbrille bei einer Durchführung einer Ausführungsform des erfindungsgemäßen Verfahrens in einem Kraftfahrzeug;
Fig. 2 ein Flussschaudiagramm zur Veranschaulichung einer Ausführungsform des erfindungsgemäßen Verfahrens, wie es in dem Kraftfahrzeug von Fig. 1 ausgeführt werden kann; und
Fig. 3 ein Vergleich eines Referenzbilds und eines Testbilds, wie es bei dem Verfahren gemäß Fig. 2 zugrunde gelegt sein kann.
Bei den im Folgenden erläuterten Ausführungsbeispielen handelt es sich um bevorzugte Ausführungsformen der Erfindung. Bei den Ausführungsbeispielen stellen die beschriebenen Komponenten der Ausführungsformen jeweils einzelne, unabhängig voneinander zu betrachtende Merkmale der Erfindung dar, welche die Erfindung jeweils auch unabhängig voneinander weiterbilden. Daher soll die Offenbarung auch andere als die dargestellten Kombinationen der Merkmale der Ausführungsformen umfassen. Des Weiteren sind die beschriebenen Ausführungsformen auch durch weitere der bereits beschriebenen Merkmale der Erfindung ergänzbar.
In den Figuren bezeichnen gleiche Bezugszeichen jeweils funktionsgleiche Elemente.
Fig. 1 zeigt ein Kraftfahrzeug 10, bei dem es sich um einen Kraftwagen, insbesondere einen Personenkraftwagen oder Lastkraftwagen, handeln kann. Das Kraftfahrzeug 10 kann alternativ dazu ein Zug mit einem Zugwagon für Passagiere oder ein Flugzeug mit
einer Kabine für Passagiere sein. In dem Kraftfahrzeug 10 kann ein reisender Benutzer 11 während einer Fahrt 12 des Kraftfahrzeugs 10 eine Datenbrille 13 nutzen, um eine virtuelle Realität oder augmentierte Realität zu betrachten oder zu nutzen. Der durch die Datenbrille 13 dem Benutzer 11 präsentierte Anzeigeinhalt kann in an sich bekannter Weise bewegungssynchron mit der Fahrt 12 des Kraftfahrzeug 10 dargestellt oder angepasst werden, sodass beispielsweise eine Geschwindigkeit und/oder eine Relativbewegung der Datenbrille 13 bezüglich einer Außenumgebung 14 des Kraftfahrzeugs 10 in der virtuellen Realität oder der augmentierten Realität bewegungssynchron beispielsweise durch virtuelle Objekte repräsentiert oder nachgeahmt werden kann. Allerdings ist es insbesondere von Vorteil, wenn einige Objekte oder ein Objekt in der virtuellen/augmentierten Realität sich bezüglich des Benutzers 11 nicht bewegt, wenn der Benutzer 11 seinen Kopf 15 bezüglich des Innenraums 16 des Kraftfahrzeugs 10 nicht bewegt. Dieses zumindest eine Objekt muss dann seine Relativlage bezüglich des Benutzers 11 beibehalten, selbst wenn das Kraftfahrzeug 10 eine Gierbewegung 17 um eine Hochachse oder vertikale Achse 18 ausführt, wie es beispielsweise bei einer Kurvenfahrt des Kraftfahrzeugs 10 der Fall ist. Eine solche Gierbewegung 17 kann in an sich bekannter Weise mittels zumindest eines Sensors 19 des Kraftfahrzeugs 10 erfasst werden und mittels einer Funkschnittstelle 20 in der aus dem Stand der Technik bekannten Weise über eine Kommunikationsverbindung 21 , beispielsweise eine Funkverbindung und/oder eine kabelgebundene Verbindung, als Fahrzeugbewegungssignal 22 der Datenbrille 13 signalisiert werden.
Der Benutzer 11 kann die Datenbrille 13 am Kopf tragen. In der Datenbrille 13 kann ein Beschleunigungssensor 24 ein Sensorsignal 25 erzeugen, dass eine Bewegung der Datenbrille 13 im Raum umfasst, wenn der Benutzer 11 den Kopf 15 bewegt und/oder wenn das Kraftfahrzeug 10 sich bezüglich der Außenumgebung 14 bewegt, insbesondere eine jeweilige Beschleunigte Bewegung stattfindet.
In der Datenbrille 13 kann eine Prozessorschaltung 26 bereitgestellt sein, welche sowohl das Sensorsignal 25 des Beschleunigungssensors 24 als auch das Fahrzeugbewegungssignal 22 empfangen kann. In der aus dem Stand der Technik bekannten Weise kann beispielsweise mittels einer Subtraktion 28 erreicht werden, dass eine Relativbewegung der Datenbrille 13 bezüglich des Innenraums 16 als ein
intermediäres oder vorläufiges Ausrichtungssignal 29‘ bereitgestellt wird. Das vorläufige Ausrichtungssignal 29‘ kann signalisieren, welche räumliche Ausrichtung die Datenbrille 13 bezüglich einer Umgebung 31 aufweist, die hier aufgrund der Verrechnung mit dem Fahrzeugbewegungssignal 22 die Umgebung 31 des Innenraums 16 darstellt. Damit Signalwerte des vorläufigen Ausrichtungssignals 29‘ korrekt interpretiert werden, können Kalibrierdaten 32 vorgesehen sein, die beispielsweise additiv auf die Signalwerte des vorläufigen Ausrichtungssignals 29‘ hinzugefügt werden können, um das Ausrichtungssignal 29 zu erzeugen. Durch die Kalibrierdaten 32 wird korrigiert oder klargestellt, welche aktuelle räumliche Ausrichtung 33 sich bei welchem Signalwert des vorläufigen Ausrichtungssignals 29‘ ergibt, indem beispielsweise ein in dem vorläufigen Ausrichtungssignal 29‘ enthaltene Offset durch die Kalibrierdaten 32 korrigiert wird. Eine solche Kalibrierung mittels Kalibrierdaten 32 ist an sich aus dem Stand der Technik bekannt.
Fig. 1 veranschaulicht die aktuelle Ausrichtung 33, wie sie mittels des Ausrichtungssignals 29 und den Kalibrierdaten 32 ermittelt wurde, durch einen Pfeil, der anzeigt, in welche Richtung eine Vorwärtsblickrichtung 34 (entlang einer Fahrzeuglängsachse nach vorne) in der Umgebung 31 , das heißt im Innenraum 16 des Kraftfahrzeugs 10 weist. Fig. 1 zeigt, dass der Benutzer 11 seinen Kopf 15 mit der daran getragenen Datenbrille 13 nach rechts gedreht hat, sodass die Vorwärtsblickrichtung 34 relativ zum Kopf 15 schräg nach links weist. Dies ist durch die aktuelle Ausrichtung 33 durch die Prozessorschaltung 26 signalisiert. Dies kann in an sich bekannter Weise einer Render-Engine oder einer Erzeugungssoftware 35 für die virtuelle oder augmentierte Realität VR / AR signalisiert werden, damit diese eine entsprechende Perspektive oder Darstellung der virtuellen oder augmentierten Realität über die Datenbrille 13 ins Blickfeld des Benutzers 11 einblendet.
Die Erzeugung des Ausrichtungssignals 29 und die Erzeugung initialer Kalibrierdaten 32 kann aus dem Stand der Technik entnommen werden. Der Beschleunigungssensor 24 mit seinem Sensorsignal 25 kann allerdings einen Drift aufweisen, das heißt die Kalibrierdaten 32 werden mit der Zeit ungültig, weil ein Offset oder eine Verschiebung oder Veränderung des Sensorsignals 25 stattfindet oder sich entwickelt.
Um dies zu veranschaulichen, ist in Fig. 1 dargestellt, dass anstelle der aktuellen Ausrichtung 33, die im kalibrierten Zustand der wahren Ausrichtung 36 entspricht, aufgrund einer Drift oder einer Verfälschung des Sensorsignals 25 eine verfälschte oder gedriftete aktuelle Ausrichtung 37 signalisiert wird, die suggeriert oder vortäuscht oder fälschlicherweise signalisiert, dass der Benutzer 11 mit seinem Kopf 15 geradeaus blickt, also entlang der Vorwärtsblickrichtung 34.
Bei der Prozessorschaltung 26 kann dies mittels eines Verfahrens 38 detektiert oder erkannt werden und es können Korrekturdaten 39 erzeugt werden, die für eine Korrektur der Kalibrierdaten 32 genutzt werden können, sodass trotz der Drift oder Veränderung des Sensorsignals 25 aufgrund der Drift nicht die falsche aktuelle Ausrichtung 37, sondern wieder die aktuelle Ausrichtung 33 als wahre Ausrichtung 36 signalisiert wird.
Fig. 2 und Fig. 3 veranschaulichen hierzu das Verfahren 38.
Für die weitere Erläuterung sei angenommen, dass sich der Benutzer 11 auf einer Rückbank 40 des Kraftfahrzeugs 10 sitzend befindet und vor ihm ein Fahrzeugsitz 41 mit einer Kopfstütze 42 angeordnet ist, die eine Kamera 43 der Datenbrille 13 erfassen oder ablichten kann. Zur weiteren Orientierung sind noch ein Fahrersitz 44 und ein Lenkrad 45 dargestellt (ein Fahrer ist nicht dargestellt).
Fig. 2 veranschaulicht Verfahrensschritte des Verfahrens 38, Fig. 3 veranschaulicht ein Referenzbild 50 und ein Testbild 51 , die beide mittels der Kamera 43 aufgenommen worden sein können. Das Testbild 51 zeigt wie das Referenzbild 50 die Kopfstütze 42, allerdings seitlich versetzt. Inhalte des Testbilds 51 sind gestrichelt dargestellt, Inhalte des Referenzbildes 50 durchgezogene Linien. Bei dem Verfahren kann gemäß Fig. 2 in einem Schritt S10 ein aus dem Stand der Technik bekanntes Kalibrierverfahren 60 durchgeführt werden, um die Kalibrierdaten 32 zu erzeugen. Beispielsweise kann der Benutzer 11 durch einen Programmcode des Kalibrierverfahrens 60 aufgefordert werden, in eine bekannte vorbestimmte Referenzrichtung oder Allgemeinrichtung zu blicken, beispielsweise die Vorwärtsblickrichtung 34. Dann ist bekannt, in welche Richtung die Datenbrille 13 ausgerichtet ist. Beispielsweise kann der Benutzer 11 aufgefordert werden, dies mit einem Tastendruck oder einer vorbestimmten
Bedienhandlung zu bestätigen. Sodann kann ermittelt werden, welche Kalibrierdaten 32 notwendig sind, damit das Ausrichtungssignal 29 kombiniert mit den Kalibrierdaten 32 die vorbestimmte Ausrichtung für das Kalibrierverfahren 60 auch tatsächlich signalisiert. Ändert sich danach die Ausrichtung der Datenbrille 13 und wird dies durch das Ausrichtungssignal 29 entsprechend signalisiert, so ergibt kombiniert mit den Kalibrierdaten 32 dies die korrekte oder wahre Ausrichtung 36. Allerdings kann es sein, dass durch eine Drift oder eine Veränderung oder einen Offset im Beschleunigungssensor 24 sich mit der Zeit während er Benutzung eine Differenz oder ein Driftwinkel ergibt, das heißt die wahre Ausrichtung 36 und die mittels des Ausrichtungssignals 29 ermittelte Ausrichtung 37 fallen auseinander oder sind unterschiedlich. Daher wird nach Durchführen des Kalibrierverfahrens 60, während sich die Datenbrille in einer bekannten Referenzausrichtung 61 ausgerichtet befindet, beispielsweise die auch für die Kalibrierung vorgesehene Ausrichtung, das Referenzbild 50 mittels der Kamera 43 erzeugt. Bilddaten des Referenzbildes 50 können in der Prozessorschaltung 26 gespeichert werden. Fig. 3 veranschaulicht beispielhaft, wie bei Ausrichten der Datenbrille 13 in die Vorwärtsblickrichtung 34 als Referenzausrichtung 61 in dem Referenzbild 50 die Kopfstütze 42 des Fahrzeugsitzes 41 frontal vor dem Benutzer 11 zu sehen ist oder abgebildet ist. Zusätzlich kann beispielhaft ein Teil des Lenkrads 45 sowie eine Fensterscheibe 62 der Seitentür und eine Fensterscheibe 63 der Frontscheibe abgebildet sein. Eine Belichtung kann beispielhaft an dem Innenraum 16, beispielsweise an der Kopfstützte 42 ausgerichtet sein, sodass Bereiche der Fensterscheiben 62, 63 überbelichtet oder uniform-weiß oder monochrom-weiß dargestellt sein können (Helligkeit der Pixel gesättigt bei 100%).
Nachdem in dem Schritt S11 das Referenzbild 50 erzeugt worden ist, kann in einem Schritt S12 wiederholt oder zyklisch in einen Überwachungszyklus 65 ein Rekalibrierungsereignis 66 abgewartet oder detektiert werden. Bei dem Rekalibrierungsereignis 66 kann es sich beispielsweise darum handeln, dass die gemäß dem Ausrichtungssignal 29 und der Kalibrierdaten 32 ermittelte aktuelle Ausrichtung 37 mit der Referenzausrichtung 61 übereinstimmt oder ein Winkel zwischen aktueller Ausrichtung 37 gemäß Ausrichtungssignal 29 und Referenzausrichtung 61 kleiner als ein Schwellenwert ist. Wie in Fig. 1 dargestellt, kann es sich allerdings aufgrund der Drift ergeben haben, dass der Benutzer seinen Kopf nach rechts schräg nach vorne ausgerichtet hat aber die aktuelle Ausrichtung 37
gemäß dem Ausrichtungssignal 29 nach vorne in die Vorwärtsblickrichtung 34, das heißt die Referenzausrichtung 61 ausgerichtet ist.
Tritt das Rekalibrierungsereignis 66ein, so kann in einem Schritt S13 das Testbild 51 mittels der Kamera 43 erzeugt werden. Tritt dagegen für eine vorbestimmte Höchstzeitdauer 67 das Rekalibrierungsereignis 66 nicht ein, so kann zu dem Schritt S10 zurückgekehrt werden, um das Kalibrierverfahren 60 erneut durchzuführen.
Nach dem Schritt S13 kann auf der Grundlage des Testbilds 51 und des Referenzbilds 50 in einem Schritt S14 eine Vergleichsfunktion 68 ausgeführt werden, welche zu dem Testbild 51 ermittelt, ob es tatsächlich gemäß dem Referenzbild 50 dieselbe Ausrichtung oder die erwartete Ausrichtung als aktuelle Ausrichtung 37 ergibt. Mittels zumindest eines Filters 69 können dabei das Referenzbild 50 und das Testbild 51 vorverarbeitet werden, beispielsweise kann eine Kantendetektion durchgeführt werden und die gefilterten Bilder (Testbild und Referenzbild), können als Binärbilder dargestellt oder verarbeitet werden.
Fig. 3 veranschaulicht, wie anhand des gefilterten Testbilds und des gefilterten Referenzbilds eine Verschiebung V der beiden Bilder gegeneinander durchgeführt werden kann und für jeden Verschiebungsschritt ein Unterschiedswert U berechnet werden kann. Dargestellt ist, wie für eine Verschiebung von 0 sich der Unterschiedswert U0 ergeben kann. Die Verschiebung der beiden Bilder gegeneinander kann in vorbestimmte Verschieberichtungen 70 erfolgen, die hier beispielsweise auf eine horizontale Verschiebung beschränkt sein können.
Fig. 3 veranschaulicht für die weitere Erläuterung, dass die Referenzausrichtung 61 in die Vorwärtsblickrichtung 34 zeigt und die angebliche aktuelle Ausrichtung 37 ebenfalls in die Vorwärtsblickrichtung 34 also in die Referenzausrichtung 61 zeigt, während die wahre Ausrichtung 36 die in Fig. 1 veranschaulichte Ausrichtung der Datenbrille 13 ist. Es hat sich somit ein durch die Kalibrierdaten 32 nicht berücksichtigter Driftwinkel 71 ergeben.
Um diesen herauszufinden, wird in einem Schritt S15 die Verschiebung V in die Verschieberichtungen 70 für mehrere unterschiedliche vorbestimmte Verschiebewerte
durchgeführt und jeweils der Unterschiedswert U ermittelt. Sodann kann derjenige Verschiebewert Vmin (Vmin) ermittelt werden, bei dem sich der kleinste Unterschiedwert Umin (Umin) ergibt, was in Fig. 3 zur Veranschaulichung anhand von Kanten 73 der Kopfstütze 42 veranschaulicht ist, die bei der Verschiebung Vmin aufeinander zu liegen kommen. Dies entspricht einer Eignungsbedingung, die durch Vmin erfüllt wird. Der Verschiebewert Vmin bei dem sich der kleinste Unterschiedswert Umin ergibt erfüllt damit ein Eignungskriterium 74, solange hierbei bevorzugt der Unterschiedswert Umin kleiner als ein vorbestimmter Schwellenwert 75 ist. Tritt dies für eine vorbestimmte Höchstzeitdauer 76, das heißt insbesondere für mehrere Eintritte des Rekalibrierungsereignisses 66 nicht ein, so kann zum Schritt S10 zurückgekehrt werden.
Andernfalls kann in dem Schritt S15 durch die Vergleichsfunktion 68 die Verschiebung Vmin mit dem Unterschiedswert Umin, der das Eignungskriterium 74 erfüllt, ermittelt werden und entsprechende Verschiebedaten 77 ermittelt werden.
In einem Schritt S16 können die Verschiebedaten 77 mittels einer Abbildungsfunktion 78 in den Wert des Driftwinkels 71 umgerechnet werden. Mit diesem können dann die Korrekturdaten 39 für die Kalibrierdaten 32 ermittelt werden.
Zu beachten ist, dass zwar die Verschiebung V zum Ermitteln des Verschiebewerts Vmin auch von der Entfernung der abgebildeten Objekte, also beispielsweise der Kopfstütze 42, abhängen kann und entsprechend auch die Umrechnung mittels der Abbildungsfunktion 78 davon abhängen kann, wie weit die verglichenen oder abgebildeten Objekte von der Kamera 43 entfernt sind oder waren. Allerdings kann dies insbesondere in einem Kraftfahrzeug 10, also in dessen Innenraum 16, dahingehend vernachlässigt werden oder unberücksichtigt bleiben, als dass es sich herausgestellt hat, dass ausreichend genaue Korrekturdaten 39 resultieren, um eine Drift eines Beschleunigungssensors 24 kontinuierlich oder durch wiederholtes Durchführen des Verfahrens 38 wiederholt oder iterativ kompensieren zu können. Alternativ dazu kann die Entfernung der relevanten Objekte, die entscheidend für das Ermitteln des Verschiebewerts Vmin sind, beispielsweise durch Auslesen eines Stellwerts oder Fokusierwerts eines Autofokus der Kamera 43 geschätzt oder ermittelt werden.
Nach dem Schrit S16, wenn Korrekturdaten 39 ermittelt wurden, kann das nächste Rekalibrierungsereignis 66 im Schritt S12 abgewartet oder detektiert werden.
Somit ergibt sich eine kontinuierliche oder wiederholte Korrektur zum Kompensieren der Drift und wiederholtes erzeugen von Korrekturdaten 39.
Die Vergleichsfunktion 68 im Schritt S14 kann einen geringen numerischen Aufwand bedeuten, das heißt mit geringer Rechenlast für die Prozessorschaltung 26 implementiert sein. Es können beispielsweise Differenzwerte zwischen den aufeinanderliegenden Pixeln der gegeneinander verschobenen Bilder (gefiltertes Referenzbild und gefiltertes Testbild) und anschließendes Aufsummieren der Beträge der Differenzen und dann dividieren durch die Anzahl der berücksichtigen Pixelpaare oder Pixel. Während der Durchführung des Verfahrens 38 kann durchgängig oder kontinuierlich ein Inhalt der virtuellen Realität oder augmentierten Realität für den Benutzer 11 durch die Datenbrille 13 abgespielt oder dargestellt werden, sodass der Benutzer 11 von dem Verfahren 38, insbesondere der Schritte S12 bis S16, nichts mitbekommt oder nicht darüber informiert ist.
Bevorzugt wird das jeweils gesamte Bild (Testbild und Referenzbild) für die Korrelation verwendet und es wird versucht, durch gegenseitige Verschiebung die Differenz zu einem späteren Gesamtbild zu minimieren, indem verschiedene Kamerarotationswinkel durchgetestet werden und beim besten Match (minimale Differenz) dieser Winkel zur Driftkorrektur verwendet wird. Regionen außerhalb des Cockpits werden nicht explizit ignoriert oder ausgeblendet, sondern sie erhöhen nur den Basisfehler, der als Rauschen über einen Schwellwert weggefiltert werden kann. So lange konstante Bereiche im Bild dominieren, erhält man ein aussagekräftiges Ergebnis, was mittels des Schwellenwerts erkannt werden kann. Dabei kommt ein physikalisches Phänomen gelegen: Wenn die Exposure bzw. die Belichtung der Kamera auf das Cockpit eingestellt wird (also auf die Lichtverhältnisse im Cockpit) und eben nicht auf die hellere Umgebung außerhalb, fällt aufgrund einer Überbelichtung der Fensterbereiche das Rauschen geringer aus oder wird sogar ganz eliminiert.
Eine Kantendetektion zur Objektsegmentierung kann der Korrelation vorweggeschaltet sein, um daraufhin die zwei Bilder iterativ gegeneinander zu verschieben, um ein
Fehlermaß zu minimieren, und dann daraus auf eine Sensordrift zu schließen, führt das Konzept doch noch um einiges weiter.
Zur Kantendetektion kann ein Sobel-Filter oder ein Laplacian-of-Gaussian-Filter (LoG) verwendet werden, insbesondere um unabhängig von der Beleuchtung zu sein. Mit einem Tiefpassfilter lässt sich neben der Effizienz auch die Robustheit steigern, da die Frequenzbänder der Ortsfrequenzen im Bild, die die Wiedererkennung des Rotationswinkels am stärksten begünstigen an, Einfluss gewinnen. In der Bildverarbeitung wird dies als Gauss-Laplace-Pyramide bezeichnet.
Dieser Algorithmus wird sowohl auf das Referenzbild, als auch ein Testbild angewendet. Das Testbild wird nun mehrfach (hundertfach) schrittweise derart re- projiziert oder gegeneinander verschoben, dass verschiedene Gierwinkel der Kamera simuliert werden. Hierbei können durch Auswertung der Lagesensoren die driftunabhängigen Freiheitsgrade des Rollwinkel und Nickwinkels ausgeschlossen werden. In jedem Schritt wird das gesamte Testbild oder vordefinierte Ausschnitte des Testbildes mittels Template Matching mit dem Referenzbild verglichen und das Fehlermaß bestimmt. Hier kann aus verschiedenen an sich bekannten Funktionen zur Fehlerberechnung gewählt werden.
Template Matching schiebt einfach das Vorlagenbild (Testbild) über das Eingabebild (Referenzbild) wie bei der 2D-Faltung und vergleicht die Vorlage und den Bereich des Eingabebildes unter dem Vorlagenbild. Mehrere Vergleichsmethoden sind geeignet. Das Ergebnis ist ein Graustufenbild, bei dem jedes Pixel angibt, wie sehr die Umgebung dieses Pixels mit der Vorlage übereinstimmt.
Z.B. verwende man eine einfache Differenzfunktion, d.h. die Summe der Werte aller Farbunterschiede zwischen allen Pixeln, sofern das Pixel in beiden Bildern zu finden ist und nicht außerhalb des Referenzbildes liegt. Dieser resultierende Fehlerwert wird bevorzugt schließlich durch die Anzahl der gültigen Pixelpaare dividiert bzw. normalisiert. Andernfalls wären Bilderpaare mit größerer Überlappung bevorteilt.
Bereiche, die sich außerhalb des Fahrzeugs befinden, können als Rauschen vernachlässigt werden, so lange genügend Bereiche innerhalb des Fahrzeugs auf den
Bildern zu sehen sind. Durch eine günstige Einstellung der Kamerabelichtung können Kantenstärken außerhalb des Fahrzeugs darüber hinaus verringert werden.
Ein weiterer Ansatz besteht darin, ganze Regionen, die zu stärkerem Rauschen, das heißt zu Inkonsistenzen zwischen den Bildern tendieren, weniger stark gewichtet werden. Hierbei kann der Algorithmus aus mehreren vergangenen Bildern lernen und entsprechende Annahmen an kommende Bilder stellen.
Von allen Bildern wird schließlich das mit dem geringsten Fehlermaß und dem dadurch optimierten Gier-Winkel behalten. An das Fehlermaß kann ein Schwellwert zur Absicherung einer Mindestqualität angesetzt werden. Liegt der Fehler darüber, wird das Testbild gänzlich verworfen. Dies ist dadurch möglich, dass sich der Drift über einen längeren Zeitraum entwickelt.
Wird ein entsprechend ausreichender Treffer gefunden, verrechnet man nun den Kopf- Gier-Winkel mit der Fahrzeug-Gier-Winkel, subtrahiert das Ergebnis vom optimierten Gier-Winkel und erhält den Driftwinkel. Der Driftwinkel kann nun von der VR- Kamerarotation innerhalb der virtuellen 3D Szene nach und nach korrigiert werden um keine merklichen Sprünge zu verursachen.
Als initiales Referenzbild kann etwa ein manueller Driftkorrekturbefehl beim Nachvorneschauen verwendet werden. Wird über eine Höchstzeitdauer (längerer Zeitraum, z.B. im Bereich 30 Sekunden bis 5 Minuten) kein Treffer gefunden, kann eine manuelle Rekalibrierung, bzw. eine neue Referenzbilderzeugung nötig sein. Idealerweise werden Testbilder immer dann aufgenommen, wenn der Benutzer ungefähr in die Vorwärtsrichtung schaut, da auf diese Weise eine hohes Maß an Bildüberlappung und eine dementsprechend hohe Anzahl an Pixelpaaren gewährleistet ist. Es kann etwa immer dann ein Testbild aufgenommen werden, wenn die Blickrichtung des Benutzers während einer Kopfbewegung ungefähr die angenommene Fahrtrichtung überlagert (d.h. das Skalarprodukt beider Richtungsvektoren nahe einem Wert von 1 ist).
Insgesamt zeigen die Beispiele, wie eine bildbasierte Drift-Korrektur für ein Headset im Kraftfahrzeug bereitgestellt werden kann.
Claims
1 . Verfahren (38) zum Betreiben einer Datenbrille (13), wobei in einem vorbestimmten kalibrierten Zustand der Datenbrille (13), in welchem ein Beschleunigungssensor (24) durch Kalibrierdaten (32) eines vorbestimmten Kalibrierverfahrens (60) kalibriert ist, mittels einer Kamera (43) der Datenbrille (13) in einer vorbestimmten räumlichen Referenzausrichtung (61 ) ein Referenzbild (50) einer Umgebung (31 ) der Datenbrille (13) aufgenommen wird, und danach ein vorbestimmtes Rekalibrierungsereignis (66) abgewartet und detektiert wird, bei detektiertem Rekalibrierungsereignis (66) mittels der Kamera (43) ein Testbild (51 ) der Umgebung (31 ) erzeugt wird, dadurch gekennzeichnet, dass mittels einer vorbestimmten Vergleichsfunktion (68) für unterschiedliche relative Verschiebungen (V) des Testbilds (51 ) bezüglich des Referenzbildes (50) ein jeweiliger Unterschiedswert zwischen dem Testbild (51 ) und dem Referenzbild (50) ermittelt wird und Verschiebungsdaten derjenigen relativen Verschiebung (V) ausgewählt werden, welche einen Unterschiedswert ergibt, der eine vorbestimmte Eignungsbedingung erfüllt, und aus den ausgewählten Verschiebungsdaten (Vmin) mittels einer vorbestimmten Abbildungsfunktion (78) Korrekturdaten (39) zum Korrigieren der Kalibrierdaten (32) erzeugt werden und der Beschleunigungssensor (24) mittels der Korrekturdaten (39) rekalibriert wird.
2. Verfahren (38) nach Anspruch 1 , wobei das Rekalibrierungsereignis (66) umfasst, dass ein mittels eines Sensorsignals (25) des Beschleunigungssensors (24) erzeugtes Ausrichtungssignal (29) signalisiert, dass eine aktuelle räumliche Ausrichtung (37) der Datenbrille (13) bezüglich der Referenzausrichtung (61 ) eine vorbestimmte Relativstellung aufweist.
3. Verfahren (38) nach einem der vorhergehenden Ansprüche, wobei das Rekalibrierungsereignis (66) umfasst, dass
• eine vorbestimmte Mindestzeitdauer verstrichen ist und/oder
• eine Bewegungsgeschwindigkeit und/oder Bewegungsbeschleunigung der Datenbrille (13) in einem vorbestimmten Werteintervall liegt.
4. Verfahren (38) nach einem der vorhergehenden Ansprüche, wobei die Vergleichsfunktion (68) umfasst, dass auf das Referenzbild (50) und das Testbild (51 ) jeweils ein Kantendetektionsfilter und/oder ein Tiefpassfilter und/oder ein Region-Growing-Filter angewendet wird hierdurch ein gefiltertes Referenzbild (50) und ein gefiltertes Testbild (51 ) erzeugt werden und der Unterschiedswert (U) zwischen dem gefilterten Referenzbild (50) und dem gefilterten Testbild (51 ) ermittelt wir.
5. Verfahren (38) nach einem der vorhergehenden Ansprüche, wobei die Vergleichsfunktion (68) umfasst, dass als Unterschiedswert eine Summe von Beträgen der jeweiligen Differenz oder quadrierten Differenz von Pixelwerten von gemäß der jeweiligen Verschiebung überlagerten Pixeln berechnet wird.
6. Verfahren (38) nach Anspruch 5, wobei die Summe als gewichtete Summe berechnet wird und eine jeweilige Gewichtung pro Pixel aus dem Referenzbild (50) und/oder aus dem Testbild (51 ) durch eine Gewichtungsmaske vorgegeben wird.
7. Verfahren (38) nach einem der vorhergehenden Ansprüche, wobei die Vergleichsfunktion (68) umfasst, dass der Unterschiedswert auf eine Anzahl der insgesamt verglichenen Pixel normiert wird.
8. Verfahren (38) nach einem der vorhergehenden Ansprüche, wobei die Vergleichsfunktion (68) umfasst, dass für das Testbild (51 ) eine Kompensation eines beim Erfassen des Testbilds (51 ) durch eine Sensorschaltung signalisierten Rollwinkels und/oder Nickwinkels ausgeführt wird, um die beim Erfassen des Referenzbilds (50) signalisierte räumliche Referenzausrichtung (61 ) der Kamera (43) in Bezug auf Rollwinkel und/oder Nickwinkel auch im Testbild (51 ) zu erzeugen, und die Korrekturdaten (39) bezüglich eines Gierwinkels ermittelt werden.
9. Verfahren (38) nach einem der vorhergehenden Ansprüche, wobei die Eignungsbedingung umfasst, dass der Unterschiedswert (U) der kleinste (Umin) ist.
10. Verfahren (38) nach einem der vorhergehenden Ansprüche, wobei die Eignungsbedingung umfasst, dass der Unterschiedswert (U) kleiner als ein vorbestimmter Höchstwert ist, und für den Fall, dass die Eignungsbedingung für eine vorbestimmte Höchstdauer unerfüllt bleibt, das vorbestimmte Kalibrierverfahren (60) ausgelöst wird.
11 . Verfahren (38) nach einem der vorhergehenden Ansprüche, wobei das Testbild (51 ) während eines Betriebs der Datenbrille (13) erzeugt wird, während welchem mittels der Datenbrille (13) einem Benutzer (11 ) eine virtuelle Realität oder eine augmentierte Realität angezeigt wird und die Datenbrille (13) am Kopf (15) des Benutzer (11 ) getragen und mit dem Kopf (15) mitbewegt wird.
12. Verfahren (38) nach einem der vorhergehenden Ansprüche, wobei die Datenbrille (13) in einem Kraftfahrzeug (10) betrieben wird und als Referenzausrichtung (61 ) und als aktuelle Ausrichtung (37) jeweils eine relativ zum Kraftfahrzeug (10) definierte Blickrichtung vorgegeben wird.
13. Verfahren nach Anspruch 12, wobei eine Belichtungseinstellung der Kamera (43) für einen Innenraum (16) des Kraftfahrzeugs (10) eingestellt wird.
14. Prozessorschaltung (26) für eine Datenbrille (13), wobei die Prozessorschaltung (26) dazu angepasst ist, ein Verfahren (38) nach einem der Ansprüche 1 bis 13 durchzuführen.
15. Computerlesbares elektronisches Speichermedium mit einem Programmcode, der Programminstruktionen umfasst, die bei Ausführen durch eine Prozessorschaltung (26) einer Datenbrille (13) die Prozessorschaltung (26) dazu veranlassen, ein Verfahren (38) nach einem der Ansprüche 1 bis 13 durchzuführen.
16. Datenbrille (13) mit einer Kamera (43) zum Erfassung von Bilder einer Umgebung (31 ) der Datenbrille (13) und mit einem Beschleunigungssensor (24) zum Ermitteln einer aktuellen Ausrichtung (37) der Datenbrille (13) bezüglich der Umgebung (31 ) und mit einer Prozessorschaltung (26) nach Anspruch 14.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102022104091.7 | 2022-02-22 | ||
DE102022104091.7A DE102022104091A1 (de) | 2022-02-22 | 2022-02-22 | Verfahren und Prozessorschaltung zum Betreiben einer Datenbrille mit Driftkorrektur eines Beschleunigungssensors sowie entsprechend betreibbare Datenbrille und computerlesbares elektronisches Speichermedium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023160991A1 true WO2023160991A1 (de) | 2023-08-31 |
Family
ID=85175905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2023/052723 WO2023160991A1 (de) | 2022-02-22 | 2023-02-03 | Verfahren und prozessorschaltung zum betreiben einer datenbrille mit driftkorrektur eines beschleunigungssensors sowie entsprechend betreibbare datenbrille und computerlesbares elektronisches speichermedium |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102022104091A1 (de) |
WO (1) | WO2023160991A1 (de) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130076915A1 (en) * | 2011-09-28 | 2013-03-28 | Qualcomm Incorporated | Framework for reference-free drift-corrected planar tracking using lucas-kanade optical flow |
DE102014206623A1 (de) | 2014-04-07 | 2015-10-08 | Bayerische Motoren Werke Aktiengesellschaft | Lokalisierung eines Head-mounted Displays (HMD) im Fahrzeug |
WO2017172984A2 (en) | 2016-03-29 | 2017-10-05 | Ariadne's Thread (Usa), Inc. | Virtual reality headset with relative motion head tracker |
US10948299B1 (en) | 2017-09-28 | 2021-03-16 | Apple Inc. | Relative inertial measurement system with visual correction |
DE102020105196A1 (de) | 2020-02-27 | 2021-09-02 | Audi Aktiengesellschaft | Verfahren zum Betreiben einer Datenbrille in einem Kraftfahrzeug sowie System mit einem Kraftfahrzeug und einer Datenbrille |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102017010618A1 (de) | 2017-11-16 | 2018-05-09 | Daimler Ag | Verfahren zur Kalibrierung von Beschleunigungssensoren |
-
2022
- 2022-02-22 DE DE102022104091.7A patent/DE102022104091A1/de active Pending
-
2023
- 2023-02-03 WO PCT/EP2023/052723 patent/WO2023160991A1/de unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130076915A1 (en) * | 2011-09-28 | 2013-03-28 | Qualcomm Incorporated | Framework for reference-free drift-corrected planar tracking using lucas-kanade optical flow |
DE102014206623A1 (de) | 2014-04-07 | 2015-10-08 | Bayerische Motoren Werke Aktiengesellschaft | Lokalisierung eines Head-mounted Displays (HMD) im Fahrzeug |
WO2017172984A2 (en) | 2016-03-29 | 2017-10-05 | Ariadne's Thread (Usa), Inc. | Virtual reality headset with relative motion head tracker |
US10948299B1 (en) | 2017-09-28 | 2021-03-16 | Apple Inc. | Relative inertial measurement system with visual correction |
DE102020105196A1 (de) | 2020-02-27 | 2021-09-02 | Audi Aktiengesellschaft | Verfahren zum Betreiben einer Datenbrille in einem Kraftfahrzeug sowie System mit einem Kraftfahrzeug und einer Datenbrille |
Non-Patent Citations (3)
Title |
---|
GIUSEPPE DONATO ET AL: "Stereoscopic helmet mounted system for real time 3D environment reconstruction and indoor ego-motion estimation", PROCEEDINGS OF SPIE, vol. 6955, 3 April 2008 (2008-04-03), US, pages 1 - 13, XP055481540, ISBN: 978-1-5106-1533-5, DOI: 10.1117/12.777653 * |
KAI BRIECHLEUWE D. HANEBECK: "Template matching using fast normalized cross correlation", OPTICAL PATTERN RECOGNITION XII, 20 March 2001 (2001-03-20), pages 4387 |
TOMMI TYKKALA ET AL: "Direct Iterative Closest Point for real-time visual odometry", 2011 IEEE INTERNATIONAL CONFERENCE ON COMPUTER VISION WORKSHOPS (ICCV WORKSHOPS), IEEE, 6 November 2011 (2011-11-06), pages 2050 - 2056, XP032095497, ISBN: 978-1-4673-0062-9, DOI: 10.1109/ICCVW.2011.6130500 * |
Also Published As
Publication number | Publication date |
---|---|
DE102022104091A1 (de) | 2023-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112017005111T5 (de) | Bordanzeigesteuervorrichtung | |
DE102008031784B4 (de) | Verfahren und Vorrichtung zur Verzerrungskorrektur und Bildverbesserung eines Fahrzeugrückblicksystems | |
DE102017005040A1 (de) | Anzeigeapparat für ein Fahrzeug, Verfahren zum Ausbilden eines virtuellen Bilds und Computerprogrammprodukt | |
EP2166510B1 (de) | Verfahren zum Ermitteln der Position und der Orientierung einer in einem Fahrzeug angeordneten Kamera | |
DE102014208664A1 (de) | Verfahren und vorrichtung zum verzerrungsfreien anzeigen einer fahrzeugumgebung eines fahrzeuges | |
DE102013108070A9 (de) | Bildkalibrierung und Entzerrung einer Weitwinkelkamera | |
EP3281178A1 (de) | Verfahren zur darstellung einer fahrzeugumgebung eines fahrzeuges | |
DE102010038825A1 (de) | Bildanzeigesteuervorrichtung | |
DE102020215860A1 (de) | Korrektur von Bildern eines Rundumsichtkamerasystems bei Regen, Lichteinfall und Verschmutzung | |
DE102015202863A1 (de) | Verfahren und Vorrichtung zum verzerrungsfreien Anzeigen einer Fahrzeugumgebung eines Fahrzeuges | |
DE102016223908A1 (de) | Projektionsanzeigesystem sowie Verfahren zum Betreiben eines Projektionsanzeigesystems | |
DE102019125751A1 (de) | Augapfelinformationenschätzvorrichtung, Augapfelinformationenschätzverfahren und Augapfelinformationenschätzprogramm | |
EP3924932A1 (de) | Modulares inpainting verfahren | |
DE102020105196A1 (de) | Verfahren zum Betreiben einer Datenbrille in einem Kraftfahrzeug sowie System mit einem Kraftfahrzeug und einer Datenbrille | |
WO2022128013A1 (de) | Korrektur von bildern einer kamera bei regen, lichteinfall und verschmutzung | |
EP4078941A2 (de) | Umwandlung von eingangs-bilddaten einer mehrzahl von fahrzeugkameras eines rundumsichtsystems in optimierte ausgangs-bilddaten | |
DE102014219423B4 (de) | Dynamisches Modell zur Kompensation von Verzeichnungen einer Windschutzscheibe | |
WO2014009406A1 (de) | VERFAHREN UND VORRICHTUNG ZUM BERECHNEN EINER VERÄNDERUNG EINES ABBILDUNGSMAßSTABS EINES OBJEKTS | |
EP3293971B1 (de) | Verfahren zur nachführung eines bildausschnitts | |
DE102018201631A1 (de) | Verfahren und system zum erzeugen einer virtuellen darstellung zur erweiterung des sichtfelds in einem fahrzeug | |
DE102017210415B4 (de) | Verfahren zum Bereitstellen einer Bildmaske für die Abgrenzung einer Interessensregion in einem Kamerabild einer Umfeldkamera eines Kraftfahrzeugs sowie Steuervorrichtung, Umfeldkamera und Kraftfahrzeug | |
WO2023160991A1 (de) | Verfahren und prozessorschaltung zum betreiben einer datenbrille mit driftkorrektur eines beschleunigungssensors sowie entsprechend betreibbare datenbrille und computerlesbares elektronisches speichermedium | |
DE102022120236B3 (de) | Verfahren zum harmonisierten Anzeigen von Kamerabildern in einem Kraftfahrzeug und entsprechend eingerichtetes Kraftfahrzeug | |
DE102024001248A1 (de) | Verfahren zur Steuerung einer Beleuchtungsvorrichtung eines Kraftwagens sowie Beleuchtungssystem | |
DE102022214289A1 (de) | Verfahren zur Reduktion von Bildartefakten in einer Anzeige der Umgebung eines Fahrzeugs, Computerprogramm, Rechenvorrichtung und Fahrzeug |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23703572 Country of ref document: EP Kind code of ref document: A1 |