Method for appending external data to cameras with a timed shots mode
The method synchronizes external data with camera metadata using a time-synchronized travel orientation module, addressing the cost and accuracy challenges in drone mapping and surveying, and enabling high-precision image capture and synchronization with external devices.
Patent Information
- Application Number
- PCT/US2024/044916
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-01
- Filing Date
- 2024-08-31
- Publication Date
- 2025-03-06
AI Technical Summary
Modern mapping and surveying require high-position location data, but existing drone systems with real-time kinematic (RTK) capabilities are costly, and cameras without manufacturer-supported RTK or additional sensors face challenges in achieving accurate positional data.
A method is introduced to append external data to cameras with a timed shots mode by synchronizing a time-synchronized travel orientation module, such as an RTK module, with the camera's image capture metadata, allowing for accurate positional data adjustment and synchronization with external devices.
This method enhances the accuracy of camera metadata by aligning it with RTK or GPS data, reducing the need for expensive upgrades and enabling any camera to provide high-precision images, while also allowing for synchronization with external devices like thermal or LiDAR systems.
Smart Images

Figure US2024044916_06032025_PF_FP_ABST
Abstract
Description
METHOD FOR APPENDING EXTERNAL DATA TO CAMERAS WITH A TIMED SHOTS MODECROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to, and the benefit of, U.S. provisional application entitled “Post Processing Kinematic Data for Drone Information” having serial no. 63 / 536,115, filed September 1 , 2023, which is hereby incorporated by reference in its entirety.BACKGROUND
[0002] Modern mapping and surveying require high position location data for photogrammetry and data collection. Modern drone companies have segmented their enterprise drones with real-time kinematic (RTK) or precision location photos to the $5000+ market, and this cost does not take into account the ground station which can be an additional $1000 or more. This means that for the average professional level RTK setup, a company can end up paying up to $6000 or more for equipment. These companies likely already have drones with high quality cameras and are being forced to upgrade or replace their systems by the drone companies for same quality results. Certain cameras such as 360 cameras and action cameras also could benefit from the addition of high-quality positional data or using additional sensors that are timed with the camera's photos without manufacturer support (Thermal, LiDAR, etc.).SUMMARY
[0003] Aspects of the present disclosure are related to appending data captured externally from a camera so that the data is appending the correct photo at the correct time. In one aspect, among others, a method comprises obtaining images captured by a camera along a path of movement, each image comprising metadata associated with the capture of that image; obtaining positional log or log of movement data recorded by a time synchronized travel orientation module affixed to the camera, the positional log or log of movement data comprising a series of positional log entries recorded at intervals along the flight path; for each of the captured images, comparing the metadata associated with that image with data of individual entries of the series of positional log entries; and in response to the comparison, identifying whether the metadata associated with that image matches the data of at least one entry of the individual entries within a defined margin of error or closest match condition; and updating the metadata of the captured image based upon the data ofthe at least one entry. In one or more aspects, updating the metadata of the captured image can increase accuracy of the metadata with respect to a position of the camera when the image was captured. The time synchronized travel orientation module can comprise a realtime kinematic (RTK) module, a global position system (GPS) module, or a gyroscope / accelerometer system module. The gyroscope / accelerometer system module can comprise a clock for time synchronization. The method can comprise synchronizing an event of an external device based upon the data of the at least one entry after identifying whether the metadata associated with that image matches the data of at least one entry. The external device can be a second camera, a thermal image device, or a Lidar device.
[0004] In various aspects, the images can be captured by the camera as a series of images having a fixed time interval between images, each image comprising metadata including an image capture time having a defined time resolution. The series of images can be captured using a timed shots feature. The fixed time interval between two consecutive images in the series of images may not be an integer multiple of the defined time resolution. The method can comprise determining a capture time error offset for each of the series of images based upon the image capture times of the series of images. The capture time error offset can be considered in the comparison. The metadata of the captured image can be updated based at least in part upon a position of the time synchronized travel orientation module affixed to the camera. Position data of the camera can be adjusted based at least in part upon position data of the time synchronized travel orientation module obtained from the positional log or log of movement data. The positional data of the camera and the time synchronized travel orientation module can comprise yaw, pitch and roll. The positional data of the camera and the time synchronized travel orientation module can comprise vertical, horizontal and diagonal velocity. The adjustment can be based upon a difference in position between the camera and the time synchronized travel orientation module. Determining the difference in position can comprise: positioning the time synchronized travel orientation module in at least one location for imaging by the camera thereby maintaining frame of reference; obtaining an image of the time synchronized travel orientation module with the camera and concurrently recording positional log or log of movement data with the time synchronized travel orientation module for each of the at least one location; affixing the time synchronized travel orientation module to the camera without repositioning the camera; obtaining an image with the camera and concurrently recording positional log or log of movement data with the time synchronized travel orientation module while affixed to the camera; and determining the difference in position between the camera and the time synchronized travel orientation module based upon the recorded positional log or log of movement data and metadata of the corresponding images captured by the camera.
[0005] Other systems, methods, features, and advantages of the present disclosure will be or become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features, and advantages be included within this description, be within the scope of the present disclosure, and be protected by the accompanying claims. In addition, all optional and preferred features and modifications of the described embodiments are usable in all aspects of the disclosure taught herein. Furthermore, the individual features of the dependent claims, as well as all optional and preferred features and modifications of the described embodiments are combinable and interchangeable with one another.BRIEF DESCRIPTION OF THE DRAWINGS
[0006] Many aspects of the present disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.
[0007] FIG. 1 is a flow chart illustrating an example of attachment device operation, in accordance with various embodiments of the present disclosure.
[0008] FIG. 2 is a flow chart illustrating an example of post processing, in accordance with various embodiments of the present disclosure.
[0009] FIG. 3A illustrates examples of EXIF metadata included in captured images, in accordance with various embodiments of the present disclosure.
[0010] FIG. 3B is a flow chart illustrating an example of matching a photo to its positional log, in accordance with various embodiments of the present disclosure.
[0011] FIG. 4A illustrates an example of the potential for a photo that was matched purely on a metadata to vary in position due to the accuracy of the data, in accordance with various embodiments of the present disclosure.
[0012] FIG. 4B illustrates an example of the potential for error with limited metadata provided with captured images, in accordance with various embodiments of the present disclosure.
[0013] FIG. 4C is a flow chart illustrating an example of matching image metadata to positional log data and the resulting information, in accordance with various embodiments of the present disclosure.
[0014] FIG. 4D is a flow chart illustrating an example of matching photos and the resulting information, in accordance with various embodiments of the present disclosure.
[0015] FIG. 5A illustrates an example of how the yaw, pitch and roll of the drone would be matched to the flight path of the drone in post processing, in accordance with various embodiments of the present disclosure.
[0016] FIG. 5B illustrates an example of the potential for error between the camera and the attachment device that can be accounted for, in accordance with various embodiments of the present disclosure.
[0017] FIG. 5C illustrates an example of implementation of a camera, drone, or UAV including an RTK device connected directly into the onboard USB port, in accordance with various embodiments of the present disclosure.
[0018] FIG. 6A illustrates an example of the workflow from a user’s perspective, in accordance with various embodiments of the present disclosure.
[0019] FIG. 6B illustrates an example of components of an attachment device, in accordance with various embodiments of the present disclosure.
[0020] FIG. 7 is a schematic diagram illustrating an example of a computing or processing device(s) that can be used for post processing kinematic (PPK) or other applications, in accordance with various embodiments of the present disclosure.
[0021] FIGS. 8A and 8B illustrate an example of a method of taking the log entry with the least compounded error, in accordance with various embodiments of the present disclosure.
[0022] FIG. 9 illustrates an example of a camera that includes a “timed shot” feature mode, in accordance with various embodiments of the present disclosure.
[0023] FIG. 10 illustrates an example of the use of an onboard compass, gyroscope, and GPS to determine a location of a sensor, in accordance with various embodiments of the present disclosure.
[0024] FIG. 11 illustrates an example of the use of a thermal camera in conjunction with an action camera, in accordance with various embodiments of the present disclosure.DETAILED DESCRIPTION
[0025] Disclosed herein are various examples related to a method to append data captured externally from a camera so that the data is appending the correct photo at the correct time. Reference will now be made in detail to the description of the embodiments as illustrated in the drawings, wherein like reference numbers indicate like parts throughout the several views.
[0026] A drone or unmanned aerial vehicle (UAV) includes a camera to capture images along a controlled flight path. The photographs comprise exchangeable image file format (EXIF) metadata including yaw, pitch, roll, etc. associated with the captured image. Anattachment device can be implemented that affixes to the camera, drone, or UAV. The attachment device can include a time synchronized travel orientation module such as, e.g., an RTK module comprising RTK positioning features, gyroscope, accelerometer, real-time clock, and / or data storage (memory) for positional log, log of movement, flight log or other information. The attachment device can be detachably attached to the camera, drone, or UAV by adhesive, fastener, or other appropriate mechanism. By utilizing a simplified system, the attachment device can reduce the investment cost by as much as 75%. It also allows any camera or drone to provide images with a higher precision such as, e.g., RTK precision.
[0027] The attachment device can be configured to implement the recording and storage of the RTK data during the acquisition of images along the path of movement in space. As the camera travels along a path in space, the attachment device can automatically acquire the RTK data concurrent with image acquisition. The RTK data can then be retrieved and used with a drone photogrammetry or PPK application to match it with the EXIF data of the captured photos, which offers millisecond precision for when the image was taken.
[0028] FIG. 1 illustrates an example of the attachment device operation. After affixing the attachment device to the camera, drone, or UAV, the attachment device can be setup by enabling the vibration interrupt service routine (ISR) and the timer ISR. As part of the setup, the last vibration date / time can be set to the current time. When the timer ISR fires, a comparison is initiated. If the difference between the last vibration time and the current time is greater than a preset interval (e.g., 5 min), then it is determined if a new flight is being initiated. If so, then a filename is set to the current datatime and a positional log file is created. Next, the RTK timestamp, RTK position, velocity vector, compass heading, tilt / roll vectors are read and appended to a new line of the positional log in the file. This process continues each time the timer ISR fires. As this is not a new flight, the process proceeds to reading the RTK timestamp, RTK position, velocity vector, compass heading, tilt / roll vectors and appending a new line of the positional log in the file. This continues until the difference between the last vibration and the current time is less than or equal to the preset interval. The positional log file can then be saved, and the filename set to null.
[0029] The captured images with associated EXIF metadata can be obtained from the camera, drone, or UAV and the RTK data can be obtained from the attachment device for further processing by, e.g., a computing or processing device. FIG. 2 illustrates an example of the post processing beginning with uploading the picture(s) from the camera, drone, or UAV and the positional log file from the attachment device. The flight data and images can then be parsed out into lists. For each image, consider the associated metadata and examine the positional log entries. If a comparison of the metadata for an image matches the positional log entry within a defined % error, then load positional log entry as RTK dataand the photo as a corresponding pair. This process can be repeated for each image until the matching is completed. Where the comparison does not result in a match within the defined % error, interpolation between positional log entries may be utilized to determine RTK data associated with the image.
[0030] An additional problem encountered is that the EXIF / metadata is limited in its accuracy, specifically in the timestamp, and therefore cannot be directly correlated without inducing substantial error. For example, modern drones only record the time a photo was taken down to a second. These same drones move up to 30m / s. Meaning a hypothetical error of 30 meters could be induced. To resolve this the user can use the built-in “timed shots" feature in most drones. This can provide added accuracy by knowing the time between shots. The metadata can be used to look at each shot and match it accordingly. With each new photo reference point the whole data set can gain positional accuracy. Each photo can be looked up in the attachment’s recorded positional log file, and given the time, it is possible to determine the location it was taken, the acceleration, and the rotation.
[0031] The metadata used for calculation can include:• Time• Yaw• Pitch• Roll• X velocity• Y velocity• Z velocity• AltitudeThis can also be calculated with time, velocity or gyroscopic rotation. FIG. 3A illustrates examples of the EXIF metadata included in the images captured by the camera, drone, or UAV and a list of positional log entries included in the file. FIG. 3B illustrates an example of the process of matching a photo to its positional log or log of movement with the correct, exact log entry bolded. After creating arrays of pictures and log entries for processing, the metadata of each picture is compared to the log entries. If the metadata matches a log entry within a defined margin of error or closest match condition, then that picture is updated with the log entry information. In some implementations, an event of an external device (e.g., another camera, a thermal imaging device, a LiDAR device, etc.) can be synchronized with the log entry information in response to the metadata matching a log entry within the defined margin of error or closest match condition. If not, the comparison moves to the next log entry for comparison.
[0032] Some drone manufacturers are limited in their metadata. One may have a really exact timestamp while another may not have any global positioning system (GPS) data. Inorder to compensate for this, an offset can be determined with timed shots. Large drone manufacturers only provide second data, without millisecond accuracy. Even though pictures are taken at intervals between seconds. With timed shots, it is known that exactly one second passes between shots. With multiple data points it is possible to extrapolate the error (milliseconds from the rounded up drone timestamp photo metadata). This can be the millisecond value in reference to the time the photos were taken. Each photo can have a time-stamp limited to a second. With a timed feature shot each photo can be used to determine this offset. The offset can range from 0 to 1 second. Each photo would be matched to data acquired along the flight path and the matching positional / rotational / time metadata on the photo.
[0033] FIG. 4A illustrates an example showing the potential for a photo that was matched purely on a metadata to vary in position due to the accuracy of the data, given that most common consumer drones only update their timestamp every second and include no millisecond data. This also shows how often the RTK data would update and shows the value in using gyroscope velocity data to predict the location based on the last RTK satellite ping.
[0034] This method of determining offset can use the same flight logger, the only difference would be the data available to it. Instead of matching each photo to a large set of metadata, only a small number of metadata fields would be available. Each photo would be matched given the available metadata. This would result in a potential range that the photo was potentially taken at. With each additional photo, the range would be used to increase the accuracy. Due to the timed shots feature of the camera, drone, or UAV, it is known that each picture was taken in some offset. Thus, by having a large number of photos, each image can be compared to determine a much more accurate time (milliseconds) that the timed set of pictures was taken. FIG. 4B shows the potential for error with limited metadata provided with the images.
[0035] FIG. 4C illustrates an example of a process for matching the image metadata to the positional log data and the resulting information afterwards. The more photos provided, and steps used, the more accurate the data would become. This can also account for a margin of error in each component, e.g., the gyroscope having an error of 0.05%. Based on the metadata provided with a picture consider a time range and matching positional log data entries. The range of error can be revised based upon the positional log or log of movement information. If a quantity of photos contains data that is too far outside the flight logs records (either in time or some other measure), those photos may be discarded to better increase the dataset’s overall accuracy.
[0036] FIG. 4D is a flowchart illustrating a process for matching the photos and the resulting data afterwards closer to the programmatic method. The pictures and positionallog information can be loaded into a list or array. For each picture, the positional log data can be examined to see which entries match the metadata of that picture. The matching positional log entries can be loaded into a list or array and a range covered by the loaded entries determined. This range can then be compared to a current range, which can be used to update the range of error / millisecond offset range. The offset time values can be used to match to the positional log information, and then to update the location based on the positional log entry.
[0037] In addition, the time between updating the position with the attachment device (RTK module) can vary. Hardware limitations can mean this occurs a limited number of times a second. Which for a device traveling at a speed of 30+ meters per second can account for a large error. In order to solve this issue, an onboard accelerometer on the attachment device can be used to determine the actual position between RTK updates and the device. The yaw, pitch and roll can also be used to match position of the RTK data and image metadata. Velocity can also be utilized. FIG. 5A shows how the yaw, pitch and roll of the drone would be matched to the flight path of the drone in post processing.
[0038] There would also be a slight error induced from the distance between the physical camera and the attachment device (RTK module). This can be alleviated by adjusting the difference with a known offset either provided by the user or from a database with stored values. FIG. 5B illustrates the potential for error between the camera of the camera, drone, or UAV and the attachment device (PPK or RTK module) that can be accounted for. In some embodiments, the attachment device (e.g., RTK module, GPS module, gyroscope / accelerometer system module, etc.) can connect directly to an onboard USB-C port on the camera, drone, or UAV. Providing the RTK positional data real time and directly imported to the photos. This would be a solution that could be implemented by manufacturers or with support from them. FIG. 5C shows an example of how a manufacturer could implement a camera, drone, or UAV by including an RTK device connected directly into the onboard USB port. The RTK data can be provided in real-time, and the photos on the device can contain accurate RTK positional data. FIG. 10 shows an additional method of using the onboard compass, gyroscope, and GPS to determine the location of the sensor. The device would be pointed at the camera multiple times and the sensor location would be known in space. Then once the attachment is placed on top the camera, drone, or UAV the difference between this known sensor location, and the location of the attachment could be determined.
[0039] FIG. 6A illustrates an example of the workflow from a user’s perspective. If the image provided by the camera, drone, or UAV did not include any metadata except the timestamp, the user could move to a location, pause a second, take a picture and then repeat. The software could then determine the pause and guess the location that the picturewas taken by averaging the position over that stationary period. Then updating the picture with the average longitude and latitude over that time.
[0040] As shown in FIG. 6A, a user can enable the attachment device and fix it to the camera, drone, or UAV. The drone operator or user can then enable the “timed shots” feature. As the drone flies around along the flight path and takes pictures, the attachment device would record the flight data, path, velocity, RTK data, and time. After the flight is completed, the user can remove the storage media from the attachment device, and insert it into the computing or processing device. In some implementations, the positional log or log of movement data can be downloaded from the attachment device to the computing or processing device via a wired or wireless communication link or connection. The user can then receive or download the photo(s) that would then contain the positional data (e.g., cm level) matched to the flight log / data at that time to the computing or processing device. The images can be provided to the computing or processing device in the same way as the positional log data. After downloading the information, post processing of the images and the positional log information can be carried out as has been discussed. This also does not apply to strictly drones, a 360 camera, or other camera that includes this “timed shot” feature could be utilized in place of the drone. This is shown in FIG. 9.
[0041] FIG. 6B illustrates an example of the components of the attachment device including a main control unit (MCU) communicatively coupled with a RTK module and an inertial measurement unit (IMU). The attachment device can also include a removable data storage device that allow for ease of data collection and transfer. Other components communicatively coupled with the MCU can include an L-band correction receiver module and / or long-range wireless communication module. The MCU can be accessed through a user interface (Ul) via a Bluetooth® or other wireless link.
[0042] Referring to FIG. 7, shown is a schematic diagram illustrating an example of a computing (or processing) device 700 that can be used for post processing kinematic (PPK) or other applications, in accordance with various embodiments of the present disclosure. The computing (or processing) device 700 can comprise one or more computing / processing device such as, e.g., a smartphone, tablet, computer, controller, etc. The computing (or processing) device 700 can include processing circuitry comprising at least one processor circuit, for example, having a processor 703 and a memory 706, both of which are coupled to a local interface 709. To this end, each computing (or processing) device 700 may comprise, for example, at least one server computer or like device, which can be utilized in a cloudbased environment. The local interface 709 may comprise, for example, a data bus with an accompanying address / control bus or other bus structure as can be appreciated.
[0043] In some embodiments, the computing (or processing) device 700 can include one or more network interfaces. The network interface may comprise, for example, a wirelesstransmitter, a wireless transceiver, and / or a wireless receiver. The network interface can communicate to a remote computing / processing device or other components using a Bluetooth, WiFi, or other appropriate wireless protocol. As one skilled in the art can appreciate, other wireless protocols may be used in the various embodiments of the present disclosure. The network interface can also be configured for communications through wired connections.
[0044] Stored in the memory 706 are both data and several components that are executable by the processor(s) 703. In particular, stored in the memory 706 and executable by the processor 703 can be a PPK application 712 which can utilize the methodology as disclosed herein, and potentially other applications 715. In this respect, the term "executable" means a program file that is in a form that can ultimately be run by the processor(s) 703. Also stored in the memory 706 may be a data store 718 and other data. In addition, an operating system may be stored in the memory 706 and executable by the processor(s) 703. It is understood that there may be other applications that are stored in the memory 706 and are executable by the processor(s) 703 as can be appreciated.
[0045] Examples of executable programs may be, for example, a compiled program that can be translated into machine code in a format that can be loaded into a random access portion of the memory 706 and run by the processor(s) 703, source code that may be expressed in proper format such as object code that is capable of being loaded into a random access portion of the memory 1006 and executed by the processor(s) 703, or source code that may be interpreted by another executable program to generate instructions in a random access portion of the memory 706 to be executed by the processor(s) 703, etc. Where any component discussed herein is implemented in the form of software, any one of a number of programming languages may be employed such as, for example, C, C++, C#, Objective C, Java®, JavaScript®, Perl, PHP, Visual Basic®, Python®, Ruby, Flash®, or other programming languages.
[0046] The memory 706 is defined herein as including both volatile and nonvolatile memory and data storage components. Volatile components are those that do not retain data values upon loss of power. Nonvolatile components are those that retain data upon a loss of power. Thus, the memory 706 may comprise, for example, random access memory (RAM), read-only memory (ROM), hard disk drives, solid-state drives, USB flash drives, memory cards accessed via a memory card reader, floppy disks accessed via an associated floppy disk drive, optical discs accessed via an optical disc drive, magnetic tapes accessed via an appropriate tape drive, and / or other memory components, or a combination of any two or more of these memory components. In addition, the RAM may comprise, for example, static random-access memory (SRAM), dynamic random access memory (DRAM), or magnetic random access memory (MRAM) and other such devices. The ROM maycomprise, for example, a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable readonly memory (EEPROM), or other like memory device.
[0047] Also, the processor 703 may represent multiple processors 703 and / or multiple processor cores, and the memory 706 may represent multiple memories 706 that operate in parallel processing circuits, respectively. In such a case, the local interface 709 may be an appropriate network that facilitates communication between any two of the multiple processors 703, between any processor 703 and any of the memories 706, or between any two of the memories 706, etc. The local interface 709 may comprise additional systems designed to coordinate this communication, including, for example, ultrasound or other devices. The processor 703 may be of electrical or of some other available construction.
[0048] Although the PPK application 712, and other various applications 715 described herein may be embodied in software or code executed by general purpose hardware as discussed above, as an alternative the same may also be embodied in dedicated hardware or a combination of software / general purpose hardware and dedicated hardware. If embodied in dedicated hardware, each can be implemented as a circuit or state machine that employs any one of or a combination of a number of technologies. These technologies may include, but are not limited to, discrete logic circuits having logic gates for implementing various logic functions upon an application of one or more data signals, application specific integrated circuits (ASICs) having appropriate logic gates, field-programmable gate arrays (FPGAs), or other components, etc. Such technologies are generally well known by those skilled in the art and, consequently, are not described in detail herein.
[0049] Also, any logic or application described herein, including the PPK application 712, that comprises software or code can be embodied in any non-transitory computer-readable medium for use by or in connection with an instruction execution system such as, for example, a processor 703 in a computer system or other system. In this sense, the logic may comprise, for example, statements including instructions and declarations that can be fetched from the computer-readable medium and executed by the instruction execution system. In the context of the present disclosure, a "computer-readable medium" can be any medium that can contain, store, or maintain the logic or application described herein for use by or in connection with the instruction execution system.
[0050] The computer-readable medium can comprise any one of many physical media such as, for example, magnetic, optical, or semiconductor media. More specific examples of a suitable computer-readable medium would include, but are not limited to, magnetic tapes, magnetic floppy diskettes, magnetic hard drives, memory cards, solid-state drives, USB flash drives, or optical discs. Also, the computer-readable medium may be a random access memory (RAM) including, for example, static random access memory (SRAM) and dynamicrandom access memory (DRAM), or magnetic random access memory (MRAM). In addition, the computer-readable medium may be a read-only memory (ROM), a programmable readonly memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other type of memory device.
[0051] Further, any logic or application described herein, including the PPK application 712, may be implemented and structured in a variety of ways. For example, one or more applications described may be implemented as segments or components of a single application. For example, the PPK application 712 can include a wide range of segments such as, e.g., an initial model or other segments that can provide specific functionality for the disclosed methodology. Further, one or more applications described herein may be executed in shared or separate computing / processing devices or a combination thereof. For example, a plurality of the applications described herein may execute in the same computing (or processing) device 700, or in multiple computing / processing devices in the same computing environment. To this end, each computing (or processing) device 700 may comprise, for example, at least one server computer or like device, which can be utilized in a cloud based environment.
[0052] Alternatively, utilizing a method of taking the log entry with the least compounded error, instead of the one within the range of error, could be used to produce the most accurate results, as shown in FIGS. 8A and 8B. Also, this process is not exclusive to applying RTK positional data to a device but external data such as a thermal camera, sonic sensor, LiDAR, etc. Any data that would benefit from being synced in time and space with the camera. An example is provided in FIG. 11 which shows a potential application of using a thermal camera in conjunction with an action camera. This allows for the action camera's image, and thermal camera’s image to be combined after the flight.
[0053] It should be emphasized that the above-described embodiments of the present disclosure are merely possible examples of implementations set forth for a clear understanding of the principles of the disclosure. Many variations and modifications may be made to the above-described embodiment(s) without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.
[0054] The term "substantially" is meant to permit deviations from the descriptive term that don't negatively impact the intended purpose. Descriptive terms are implicitly understood to be modified by the word substantially, even if the term is not explicitly modified by the word substantially.
[0055] It should be noted that ratios, concentrations, amounts, and other numerical data may be expressed herein in a range format. It is to be understood that such a range formatis used for convenience and brevity, and thus, should be interpreted in a flexible manner to include not only the numerical values explicitly recited as the limits of the range, but also to include all the individual numerical values or sub-ranges encompassed within that range as if each numerical value and sub-range is explicitly recited. To illustrate, a concentration range of “about 0.1% to about 5%” should be interpreted to include not only the explicitly recited concentration of about 0.1 wt% to about 5 wt%, but also include individual concentrations (e.g., 1%, 2%, 3%, and 4%) and the sub-ranges (e.g., 0.5%, 1.1%, 2.2%, 3.3%, and 4.4%) within the indicated range. The term “about” can include traditional rounding according to significant figures of numerical values. In addition, the phrase “about ‘x’ to ‘y’” includes “about x’ to about ‘y’”.
Claims
CLAIMSTherefore, at least the following is claimed:
1. A method, comprising: obtaining images captured by a camera along a path of movement, each image comprising metadata associated with the capture of that image; obtaining positional log or log of movement data recorded by a time synchronized travel orientation module affixed to the camera, the positional log or log of movement data comprising a series of positional log entries recorded at intervals along the flight path; for each of the captured images, comparing the metadata associated with that image with data of individual entries of the series of positional log entries; and in response to the comparison, identifying whether the metadata associated with that image matches the data of at least one entry of the individual entries within a defined margin of error or closest match condition; and updating the metadata of the captured image based upon the data of the at least one entry.
2. The method of claim 1 , wherein updating the metadata of the captured image increases accuracy of the metadata with respect to a position of the camera when the image was captured.
3. The method of claim 1 , wherein the time synchronized travel orientation module comprises a real-time kinematic (RTK) module, a global position system (GPS) module, or a gyroscope / accelerometer system module.
4. The method of claim 3, wherein the gyroscope / accelerometer system module comprises a clock for time synchronization.
5. The method of claim 1 , further comprising synchronizing an event of an external device based upon the data of the at least one entry after identifying whether the metadata associated with that image matches the data of at least one entry.
6. The method of claim 5, wherein the external device is a second camera, a thermal image device, or a Lidar device.
7. The method of claim 1 , wherein the images are captured by the camera as a series of images having a fixed time interval between images, each image comprising metadata including an image capture time having a defined time resolution.
8. The method of claim 7, wherein the series of images are captured using a timed shots feature.
9. The method of claim 7, wherein the fixed time interval between two consecutive images in the series of images is not an integer multiple of the defined time resolution.
10. The method of claim 7, comprising determining a capture time error offset for each of the series of images based upon the image capture times of the series of images.11 . The method of claim 10, wherein the capture time error offset is considered in the comparison.
12. The method of claim 1 , wherein the metadata of the captured image is updated based at least in part upon a position of the time synchronized travel orientation module affixed to the camera.
13. The method of claim 12, wherein position data of the camera is adjusted based at least in part upon position data of the time synchronized travel orientation module obtained from the positional log or log of movement data.
14. The method of claim 13, wherein the positional data of the camera and the time synchronized travel orientation module comprises yaw, pitch and roll.
15. The method of claim 14, wherein the positional data of the camera and the time synchronized travel orientation module comprises vertical, horizontal and diagonal velocity.
16. The method of claim 13, wherein the adjustment is based upon a difference in position between the camera and the time synchronized travel orientation module.
17. The method of claim 16, wherein determining the difference in position comprises: positioning the time synchronized travel orientation module in at least onelocation for imaging by the camera thereby maintaining frame of reference; obtaining an image of the time synchronized travel orientation module with the camera and concurrently recording positional log or log of movement data with the time synchronized travel orientation module for each of the at least one location; affixing the time synchronized travel orientation module to the camera without repositioning the camera; obtaining an image with the camera and concurrently recording positional log or log of movement data with the time synchronized travel orientation module while affixed to the camera; and determining the difference in position between the camera and the time synchronized travel orientation module based upon the recorded positional log or log of movement data and metadata of the corresponding images captured by the camera.
Citation Information
Patent Citations
Survey data processing device, survey data processing method, and program therefor
US20160217589A1
Positional Recording Synchronization System
US20170301373A1
Systems and methods for digital video stabalization
US20190132516A1
Unmanned Aerial Vehicle Sensor Activation and Correlation System
US20230236611A1
Digital camera with orientation sensor for optical tracking of objects
US9595109B1