System and method for managing segmented image data of a vehicle
By segmenting and processing image datasets with different pixel densities at the vehicle equipment, the problem of excessively large vehicle image data file sizes was solved, achieving resource optimization and improved data analysis efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- 捷奥泰普公司
- Filing Date
- 2024-11-26
- Publication Date
- 2026-07-10
AI Technical Summary
Vehicle-related image data files are significantly large, and processing, storage, and transmission require substantial resources, which are difficult to optimize using existing technologies.
By segmenting image data at the vehicle equipment, image datasets with different pixel densities are generated, and image analysis models are used for processing and transmission to optimize image data size.
It effectively reduces the size of image data, optimizes the requirements for processing, storage, and transmission resources, and improves data analysis efficiency.
Smart Images

Figure CN122374777A_ABST
Abstract
Description
[0001] Prior application data
[0002] This application claims priority to U.S. Provisional Patent Application No. 63 / 608,999, filed on December 12, 2023, entitled “Systems and Methods for Managing Segmented Image Data for Vehicles”. Technical Field
[0003] This disclosure generally relates to systems and methods for managing image data, and particularly to managing segmented image data related to vehicles. Background Technology
[0004] Vehicle-related image data offers numerous benefits. As a non-limiting example, image data captured from a vehicle's perspective can be used to identify or characterize infrastructure (e.g., signage) to analyze driving behavior or understand events such as collisions or near misses. However, image data file size is a significant issue, requiring substantial resources for processing, storage, or transmission. This disclosure provides means for segmenting and / or managing segmented image data, optimizing for image data size. Summary of the Invention
[0005] According to a broad aspect, this disclosure describes a method comprising: accessing, by means of a vehicle device positioned at a vehicle, input image data representing an image obtained from the vehicle's perspective, the input image data including a first region and a second region, each having an input pixel density; generating first image data, the first image data at least partially representing the first region and having a first pixel density; generating second image data, the second image data at least partially representing the second region and having a second pixel density less than the first pixel density; generating analysis data by performing at least one image analysis model on the first image data and the second image data; generating output image data, the output image data representing the first region and the second region and having a second pixel density; outputting the analysis data; and outputting the output image data.
[0006] The output image data may include at least one non-transitory processor-readable storage medium that outputs the image data to vehicle equipment.
[0007] The output image data may include transmitting the output image data to a device remote from the vehicle via at least one communication interface of the vehicle equipment.
[0008] Output analysis data may include transmitting the analysis data to a device located away from the vehicle via at least one communication interface of the vehicle equipment.
[0009] The input image data may further include a third region having an input pixel density; the method may further include: generating third image data, the third image data at least partially representing the third region, and having a third pixel density that is less than the first pixel density and greater than the second pixel density; generating analysis data may include generating analysis data by performing at least one image analysis model on the first image data, the second image data, and the third image data; and generating output image data may include generating output image data representing the first region, the second region, and the third region with a second pixel density.
[0010] The first region can represent real-world content that is further away from the vehicle than the real-world content represented by the second region.
[0011] The first image data can represent the entire first region; and the second image data can represent the entire second region. The first image data can represent a first cropped portion of the first region; and the second image data can represent a second cropped portion of the second region.
[0012] Generating analytical data by performing at least one image analysis model on the first image data and the second image data may include: performing a trained object detection model on the first image data and the second image data. Generating analytical data by performing at least one image analysis model on the first image data and the second image data may include: performing a following distance detection model on the first image data and the second image data.
[0013] Accessing input image data may include capturing input image data by an image capture device located at the vehicle. Accessing input image data may also include receiving input image data from an image capture device communicatively coupled to vehicle equipment.
[0014] According to another broad aspect, this disclosure describes a system comprising: vehicle equipment located at a vehicle, the vehicle equipment including at least one processor and at least one non-transitory processor-readable storage medium communicatively coupled to the at least one processor, the at least one non-transitory processor-readable storage medium storing processor-executable instructions, which, when executed by the at least one processor, cause the vehicle equipment to: access input image data representing a view from the vehicle, the input image data including a first region and a second region, each having an input pixel density; generate first image data by the at least one processor, the first image data at least partially representing the first region and having a first pixel density; generate second image data by the at least one processor, the second image data at least partially representing the second region and having a second pixel density less than the first pixel density; generate analysis data by the at least one processor by performing at least one image analysis model on the first image data and the second image data; generate output image data by the at least one processor, the output image data representing the first region and the second region and having a second pixel density; output the analysis data; and output the output image data.
[0015] The processor-executable instructions that enable the vehicle equipment to output image data can cause at least one processor to output the image data to at least one non-transitory processor-readable storage medium at the vehicle equipment for storage.
[0016] The vehicle equipment may also include at least one communication interface; and processor-executable instructions that enable the vehicle equipment to output image data can cause at least one communication interface to transmit the output image data to a device remote from the vehicle.
[0017] The vehicle equipment may also include at least one communication interface; and processor-executable instructions that enable the vehicle equipment to output analytical data may enable at least one communication interface to transmit analytical data to equipment remote from the vehicle.
[0018] The input image data may further include a third region having an input pixel density; the processor-executable instructions may also cause at least one processor to: generate third image data, the third image data at least partially representing the third region and having a third pixel density less than the first pixel density and greater than the second pixel density; the processor-executable instructions causing at least one processor to generate analysis data may cause at least one processor to generate an analysis image by performing at least one image analysis model on the first image data, the second image data and the third image data; and the processor-executable instructions causing at least one processor to generate output image data may cause at least one processor to generate output image data representing the first region, the second region and the third region with a second pixel density.
[0019] The first region can represent real-world content that is further away from the vehicle than the real-world content represented by the second region.
[0020] The first image data can represent the entire first region; and the second image data can represent the entire second region.
[0021] The first image data can represent a first cropped portion of a first region; and the second image data can represent a second cropped portion of a second region.
[0022] Processor-executable instructions that enable at least one processor to generate analysis data by executing at least one image analysis model on first image data and second image data can enable at least one processor to execute a trained object detection model on first image data and second image data.
[0023] Processor-executable instructions that enable at least one processor to generate analysis data by executing at least one image analysis model on first image data and second image data can enable at least one processor to: execute a following distance detection model on first image data and second image data.
[0024] The vehicle equipment may also include at least one communication interface; and processor-executable instructions that enable the system to access input image data, causing the vehicle equipment to receive input image data from an image capture device communicatively coupled to the vehicle equipment via at least one communication interface. The system may also include an image capture device.
[0025] According to another broad aspect, this disclosure describes a method comprising: accessing first image data by a vehicle device positioned at a vehicle, the first image data representing a first region from the vehicle's perspective and having a first pixel density; accessing second image data by the vehicle device, the second image data representing a second region from the vehicle's perspective and having a second pixel density less than the first pixel density; generating analysis data by performing at least one image analysis model on the first image data and the second image data; generating output image data representing the first region and the second region and having a second pixel density; outputting the analysis data; and outputting the output image data.
[0026] The output image data may include at least one non-transitory processor-readable storage medium that outputs the image data to vehicle equipment.
[0027] The output image data may include transmitting the output image data to a device remote from the vehicle via at least one communication interface of the vehicle equipment.
[0028] Output analysis data may include transmitting the analysis data to a device located away from the vehicle via at least one communication interface of the vehicle equipment.
[0029] The method may further include accessing third image data by vehicle equipment, the third image data representing a third region obtained from the vehicle's perspective, and having a third pixel density that is less than the first pixel density and greater than the second pixel density; generating analysis data may include generating analysis data by performing at least one image analysis model on the first image data, the second image data, and the third image data; and generating output image data may include generating output image data representing the first region, the second region, and the third region with a second pixel density.
[0030] The first region can represent real-world content that is further away from the vehicle than the real-world content represented by the second region.
[0031] Generating analytical data by performing at least one image analysis model on the first image data and the second image data may include: performing a trained object detection model on the first image data and the second image data. Generating analytical data by performing at least one image analysis model on the first image data and the second image data may include: performing a following distance detection model on the first image data and the second image data.
[0032] Accessing the first image data may include capturing the first image data by first image capture hardware located at the vehicle; and accessing the second image data may include capturing the second image data by second image capture hardware located at the vehicle.
[0033] Accessing the first image data may include receiving the first image data from a first image capture hardware located at the vehicle and communicatively coupled to the vehicle device; and accessing the second image data may include receiving the second image data from a second image capture hardware located at the vehicle and communicatively coupled to the vehicle device.
[0034] According to another broad aspect, this disclosure describes a system comprising: vehicle equipment located at a vehicle, the vehicle equipment including at least one processor and at least one non-transitory processor-readable storage medium communicatively coupled to the at least one processor, the at least one non-transitory processor-readable storage medium storing processor-executable instructions, which, when executed by the at least one processor, cause the vehicle equipment to: access first image data, the first image data representing a first region seen from the vehicle's perspective and having a first pixel density; access second image data, the second image data representing a second region seen from the vehicle's perspective and having a second pixel density less than the first pixel density; generate analysis data by the at least one processor by performing at least one image analysis model on the first image data and the second image data; generate output image data by the at least one processor, the output image data representing the first region and the second region and having a second pixel density; output the analysis data; and output the output image data.
[0035] The processor-executable instructions that enable the vehicle equipment to output image data can cause the vehicle equipment to output the image data to at least one non-transitory processor-readable storage medium at the vehicle equipment for storage.
[0036] The vehicle equipment may also include at least one communication interface; and processor-executable instructions that enable the vehicle equipment to output image data can cause at least one communication interface to transmit the output image data to a device remote from the vehicle.
[0037] The vehicle equipment may also include at least one communication interface; and processor-executable instructions that enable the vehicle equipment to output analytical data may enable at least one communication interface to transmit analytical data to equipment remote from the vehicle.
[0038] The processor-executable instructions can also enable the vehicle equipment to access third image data, the third image data representing a third region obtained from the vehicle's perspective, and having a third pixel density that is less than the first pixel density and greater than the second pixel density; the processor-executable instructions that enable at least one processor to generate analysis data can enable at least one processor to generate analysis data by performing at least one image analysis model on the first image data, the second image data, and the third image data; and the processor-executable instructions that enable at least one processor to generate output image data can enable at least one processor to generate output image data representing the first region, the second region, and the third region with a second pixel density.
[0039] The first region can represent real-world content that is further away from the vehicle than the real-world content represented by the second region.
[0040] Processor-executable instructions that enable at least one processor to generate analysis data by executing at least one image analysis model on first image data and second image data may cause at least one processor to: execute a trained object detection model on the first image data and second image data. Processor-executable instructions that enable at least one processor to generate analysis data by executing at least one image analysis model on first image data and second image data may also cause at least one processor to: execute a following distance detection model on the first image data and second image data.
[0041] The vehicle equipment may further include at least one communication interface; processor-executable instructions enabling the vehicle equipment to access first image data may cause the vehicle equipment to receive first image data from first image capture hardware located at the vehicle via at least one communication interface; and processor-executable instructions enabling the vehicle equipment to access second image data may cause the vehicle equipment to receive second image data from second image capture hardware located at the vehicle via at least one communication interface. The system may also include first image capture hardware and second image capture hardware. Attached Figure Description
[0042] Exemplary non-limiting embodiments are described with reference to the accompanying drawings, in which:
[0043] Figure 1A A block diagram of an exemplary moving image system is shown.
[0044] Figure 1B A block diagram of another exemplary moving image system is shown.
[0045] Figure 2A , Figure 2B , Figure 2C and Figure 2D It is a simplified block diagram of an image capture device based on at least four exemplary implementations.
[0046] Figure 3 It is a schematic diagram of an operator device according to at least one exemplary implementation.
[0047] Figure 4 This is a flowchart illustrating a method for generating and utilizing segmented image data according to at least one exemplary implementation.
[0048] Figure 5A An exemplary image obtained from the vehicle's perspective is shown, and Figure 5B The following is illustrated according to at least one exemplary implementation: Figure 5A The image is segmented into image data of different pixel densities.
[0049] Figure 6A An exemplary image obtained from the vehicle's perspective is shown, and Figure 6B The following is illustrated based on at least one other exemplary implementation. Figure 6A The image is segmented into image data of different pixel densities.
[0050] Figure 7A An exemplary image obtained from the vehicle's perspective is shown, and Figure 7B The following is illustrated based on at least one other exemplary implementation. Figure 7A The image is segmented into image data of different pixel densities.
[0051] Figure 8A An exemplary image obtained from the vehicle's perspective is shown, and Figure 8B The following is illustrated based on at least one other exemplary implementation. Figure 8A The image is segmented into image data of different pixel densities.
[0052] Figure 9 A stretched appearance is shown according to at least one other exemplary implementation. Figure 8B Image data.
[0053] Figure 10 This is a flowchart illustrating a method for utilizing image data with different pixel densities according to at least one exemplary implementation.
[0054] Figure 11 This is a flowchart illustrating a method for training a following distance determination model according to at least one exemplary implementation.
[0055] Figure 12 This is a flowchart illustrating a method for determining following distance according to at least one exemplary implementation.
[0056] Figure 13 Image data illustrating position measurements used with a following distance determination model according to at least one exemplary implementation is shown.
[0057] Figure 14 This is a flowchart illustrating a method for determining following distance according to at least one exemplary implementation.
[0058] Figure 15 Image data showing a vertical position used with a following distance determination model according to at least one exemplary implementation is presented.
[0059] Figure 16 It is a side view of a scene used to calibrate the vertical position in image data, according to at least one of the implementations shown.
[0060] Figure 17 Transformed image data showing the vertical position used with a following distance determination model according to at least one exemplary implementation is shown. Detailed Implementation
[0061] This disclosure details systems and methods for segmenting vehicle-related image data and / or managing segmented image data.
[0062] Typically, "segmented" image data refers to image data with multiple datasets, each representing a corresponding region. By segmenting image data, different segmented datasets can have different properties such as pixel density.
[0063] As used in this disclosure, "following" refers to a situation where a "following vehicle" is traveling behind a "vehicle in front" in the same direction. In this context, "following" does not necessarily mean that the following vehicle is actively chasing the vehicle in front (e.g., to the destination of the vehicle in front), but rather that the following vehicle has been traveling behind the vehicle in front for at least a certain period of time. Throughout this disclosure, the vehicle in front and the following vehicle are generally referred to as the first vehicle and the second vehicle.
[0064] This article discusses models (e.g., algorithms, artificial intelligence, and / or machine learning models) used to identify objects or features in image data. Typically, machine learning models are trained on a training dataset, after which the model is able to analyze input data and reliably detect features or make determinations based on the input data.
[0065] Figure 1A and Figure 1B Block diagrams of exemplary mobile imaging systems 101A and 101B, and an exemplary communication network 100 through which the mobile imaging systems 101A and 101B operate, are shown respectively. In many of the implementations discussed herein, the communication network 100 is optional. That is, in some implementations, the segmentation of image data or the management of segmented image data can be performed entirely at a device local to the vehicle (also referred to as the “vehicle device”). Software or firmware updates, model updates capable of being performed at the vehicle device, or the provision of data (such as image data) from the vehicle device can be performed through physical distribution (e.g., by transferring data by connecting the vehicle device to another device, or by using a portable storage medium), thus eliminating the need for the communication network 100. Alternatively, the communication network 100 can be used to distribute data to and / or from the vehicle device (e.g., by sending software / firmware / model to the vehicle device for download, or by uploading data such as image data received from the vehicle device).
[0066] Communication network 100 may include one or more computing systems and may be any suitable combination of a network or portions thereof to facilitate communication between network components. Some examples of networks include wired and / or wireless wide area networks (WANs), local area networks (LANs), wireless wide area networks (WWANs), data networks, cellular networks, voice networks, and other networks. Communication network 100 may be configured according to one or more communication protocols (such as General Packet Radio Service (GPRS), General Mobile Telecommunications Service (UMTS)). Enhanced data rate GSM evolution (EDGE), LTE TM CDMA, LPWAN , It can operate using Ethernet, HTTP / S, TCP, CoAP / DTLS, or other suitable protocols. The communication network 100 can also take other forms.
[0067] The mobile imaging system 101A includes multiple image capture devices 108, which may include (and are referred to herein as) intelligent video camera (SVC) devices, but are therefore not strictly limited thereto. The multiple image capture devices 108 are located at multiple vehicles 110 (e.g., mounted in / on multiple vehicles 110, or placed within or on multiple vehicles 110). Furthermore, in some implementations, more than one image capture device or more than one image capture hardware may be located at each vehicle (or any particular vehicle), as will be discussed later. Figure 2C and Figure 2D This will be discussed in more detail. The image capture system 101A also includes a cloud server 106, a client device 104, and a local server 118. The client device 104 is communicatively coupled to the local server 118 via a communication link 120. The client device 104 is also shown as including at least one processor 104a and at least one non-transitory processor-readable storage medium 104b. The at least one processor 104a can perform actions such as determining, generating, identifying, analyzing data, processing, and other suitable actions such as those described herein. The at least one non-transitory processor-readable storage medium 104b can store any suitable data including processor-executable instructions that, when executed by the at least one processor 104a, cause the client device 104 to perform actions such as those described herein. Exemplary client devices may include combinations and devices of personal computers, servers, systems, subsystems. Specific and non-limiting examples of image capture devices or intelligent video camera devices include... Video camera devices and Video recording device. The term "video recording device" as used in this disclosure can include intelligent video recording devices, but can also include more basic recording devices. In this regard, the term "video recording device" may be used interchangeably with "image capture device." Each image capture device 108 is communicatively coupled to a cloud server 106 in a cloud 112 via a corresponding communication link 116. For example, each image capture device 108 and the cloud server 106 are configured to communicate wirelessly with each other. The cloud server 106 is also shown as including at least one processor 106a and at least one non-transitory processor-readable storage medium 106b. The at least one processor 106a can perform actions such as determining, generating, identifying, analyzing data, processing, and other suitable actions such as those described herein. The at least one non-transitory processor-readable storage medium 106b can store any suitable data including processor-executable instructions that, when executed by the at least one processor 106a, cause the cloud server 106 to perform actions such as those described herein. The cloud server 106 is communicatively coupled to a client device 104 via a communication link 114. For example, cloud server 106 and client device 104 are configured to communicate wirelessly with each other. As another example, cloud server 106 and client device 104 are configured to communicate with each other via a wired connection. In some implementations, local server 118 may be a remote server from client device 104. Local server 118 is also shown as including at least one processor 118a and at least one non-transitory processor-readable storage medium 118b. At least one processor 118a can perform actions such as determining, generating, identifying, analyzing data, processing, and other suitable actions such as those described herein. At least one non-transitory processor-readable storage medium 118b can store any suitable data including processor-executable instructions that, when executed by at least one processor 118a, cause local server 118 to perform actions such as those described herein.
[0068] and Figure 1A similar, Figure 1B The mobile imaging system 101B includes multiple image capture devices 108 positioned at multiple vehicles 110. Figure 1A Similarly, the imaging system 101B also includes a client device 104 and a local server 118. Figure 1B In this example, client device 104 is communicatively coupled to local server 118 via communication link 120. Exemplary client devices may include combinations of personal computers, servers, systems, system subsystems, and devices. Specific and non-limiting examples of image capture devices include... Video camera devices and Video recording device. Each image capture device 108 is communicatively coupled to the client device 104 via a corresponding communication link 130. For example, each image capture device 108 is configured to communicate wirelessly with the client device 104. In some implementations, the local server 118 may be a remote server relative to the client device 104. Figure 1A The description of the components in the moving image system 101A is applicable to Figure 1B Similar marked components in the mobile monitoring system 101B.
[0069] Specific and non-restrictive examples of vehicle types that each of vehicle 110 may belong to include: government-owned and operated vehicles (e.g., vehicles used for snow removal, infrastructure maintenance, and police enforcement), public transport vehicles (e.g., buses, trains), and privately owned vehicles (e.g., taxis, delivery vehicles), etc.
[0070] Image capture device 108 (or more) may be mounted on or positioned at vehicle 110 in a manner that allows image capture device 108 to capture image data of the external environment of vehicle 110 (e.g., facing the windshield, facing the window, vehicle roof, etc.). Additionally and / or alternatively, image capture device 108 may be mounted on or positioned at vehicle 110 in a manner that allows image capture device 108 to capture image data of the interior of vehicle 110. Interior-facing image capture device 108 can be used to detect events, including detecting people of interest.
[0071] Alternatively and / or optionally, the mobile imaging systems 101A, 101B may also include one or more image capture devices 108 coupled to a person and / or an object, wherein the object is not a vehicle. For example, the image capture device 108 may be coupled to a person, such as a motorcycle driver's helmet.
[0072] Now refer to Figure 2A A simplified block diagram of an exemplary image capture device 108A (such as a smart video camera device) according to one implementation is shown. Figure 2A The image capture device 108A shown can be implemented as Figure 1A and Figure 1BAny of the image capture devices 108 shown. Image capture device 108A includes a lens 202, an optoelectronic device 204, at least one processor 206, a positioning module 208 (e.g., including a GPS receiver), a wireless communication module 210 (e.g., including a 4G or 5G communication module for providing cellular connectivity), and at least one non-transitory processor-readable storage medium 212. Optionally, at least one non-transitory processor-readable storage medium 212 includes another non-transitory processor-readable storage medium 214 (or includes any appropriate number of additional non-transitory processor-readable storage media). In the context of this disclosure, the term "data storage" refers to a non-transitory processor-readable storage medium. In some implementations, a single non-transitory processor-readable storage medium corresponds to a single data storage repository. In other implementations, the non-transitory processor-readable storage medium may be virtually partitioned to include multiple "data storage repositories". The wireless communication module 210 is operable via a communication network (e.g., refer to...). Figure 1A and Figure 1B The discussion of cloud 112) and other devices (e.g., refer to Figure 1A and Figure 1B The cloud device 106 or client device 104 discussed communicates (shown as communication interface 216). The image capture device 108A can also be referred to as a vehicle device because the image capture device 108A can be located or installed in a vehicle.
[0073] Now refer to Figure 2B A simplified block diagram of an exemplary image capture device 108B (such as a camera device coupled to a peripheral device (such as a vehicle device)) according to one implementation is shown. Figure 2B Including reference Figure 2A The components discussed are many components that share the same reference numerals in the accompanying drawings. Figure 2A The description of such components in the text is applicable Figure 2B Components with similar numbering. In Figure 2B In this embodiment, the image capture device 108B includes a lens 202 and an optoelectronic device 204. In this implementation, the image capture device 108B itself is oriented to capture image data, which is then provided to a peripheral device 220 via a communication interface 222 (e.g., a wired or wireless communication interface). In some implementations, the peripheral device 220 is a vehicle device located in the vehicle, such as a telematics monitoring device. In other implementations, the peripheral device 220 includes a collection of components (e.g., OEM integrated electronics) integrated into the vehicle that communicate with each other. Figure 2B In the diagram, peripheral device 220 is shown as including devices with... Figure 2AThe image capture device 108A includes at least one processor 206, a positioning module 208, a wireless communication module 210, and at least one non-transitory processor-readable storage medium 212, similar to the components in the image capture device 108A. Although Figure 2B Not shown to reduce clutter, but at least one non-transitory processor-readable storage medium 212 may optionally include any suitable number of additional non-transitory processor-readable storage media. The wireless communication module 210 is operable via a communication network (e.g., see reference 1). Figure 1A and Figure 1B The discussion of cloud 112) and other devices (e.g., refer to Figure 1A and Figure 1B The cloud device 106 or client device 104 discussed communicates (shown as communication interface 216).
[0074] Now refer to Figure 2C A simplified block diagram of an exemplary image capture device 108C (such as a camera device including multiple sets of image capture hardware) according to one implementation is shown. Figure 2C Including reference Figure 2A The components discussed are those that share the same reference numerals in the accompanying drawings. Figure 2A The description of such components in the text is applicable Figure 2C Components with similar numbering. In Figure 2C In the image capture device 108C, a first lens 202C-1, a second lens 204C-2, a first optoelectronic device 204C-1, and a second optoelectronic device 204C-2 are included. Although two lenses and two optoelectronic devices are shown, any suitable number of lenses or optoelectronic devices may be included for a given application.
[0075] The first optoelectronic device 204C-1 and the second optoelectronic device 204C-2 in Figure 2CThe components shown are grouped as optoelectronic devices 204C. In some implementations, each optoelectronic device component (first optoelectronic device 204C-1 and second optoelectronic device 204C-2) may be a single component (e.g., physically distinct image sensors), each component associated with a corresponding lens (in the example shown, lens 202C-1 directs incident light to first optoelectronic device 204C-1, and lens 202C-2 directs incident light to second optoelectronic device 204C-2). In other implementations, multiple optoelectronic device components may be single components (e.g., a single image sensor), but may be logically grouped (and signals from them processed accordingly). For example, first optoelectronic device 204C-1 may be a first region of a common image sensor, to which lens 202C-1 directs incident light, and second optoelectronic device 204C-2 may be a second region of a common image sensor, to which lens 202C-2 directs incident light. These examples can be extended to any suitable number of optoelectronic devices.
[0076] exist Figure 2C In its implementation, the image capture device 108C also includes earlier related... Figure 2A The discussion includes at least one processor 206, a positioning module 208 (e.g., including a GPS receiver), a wireless communication module 210 (e.g., including a 4G or 5G communication module for providing cellular connectivity), and at least one non-transitory processor-readable storage medium 212. Unless the context otherwise indicates, [the following is a separate, unrelated sentence:] Figure 2A The description also applies to Figure 2C And to avoid repetition for the sake of brevity. (and) Figure 2A Similarly, the image capture device 108C can also be referred to as a vehicle device because the image capture device 108C can be located or installed in a vehicle and can be connected via a communication network (e.g., see reference 108C). Figure 1A and Figure 1B The discussion of cloud 112) and other devices (e.g., refer to Figure 1A and Figure 1B The cloud device 106 or client device 104 discussed communicates.
[0077] Now refer to Figure 2D A simplified block diagram of exemplary image capture devices 108D-1 and 108D-2 according to one implementation is shown. Figure 2D Including reference Figure 2A and Figure 2B The components discussed are many components that share the same reference numerals in the accompanying drawings. Figure 2A and Figure 2B The description of such components in the text is applicable Figure 2D Components with similar numbering. In Figure 2DIn the illustration, image capture device 108D-1 includes a first lens 202D-1 and a first optoelectronic device 204D-1, and image capture device 108D-2 includes a second lens 202D-2 and a second optoelectronic device 204D-2. In the example shown, lens 202D-1 directs incident light to optoelectronic device 204D-1 (or its image sensor), and lens 202D-2 directs incident light to optoelectronic device 204D-2 (or its image sensor). Although two image capture devices with corresponding lenses and optoelectronic devices are shown, any suitable number of image capture devices, lenses, or optoelectronic devices may be included for a given application.
[0078] exist Figure 2D In some implementations, image capture devices 108D-1 and 108D-2 are configured to capture corresponding image data, which is then provided to peripheral device 220D via corresponding communication interfaces 222-1 and 222-2 (e.g., wired or wireless communication interfaces). In some implementations, peripheral device 220D is a vehicle device located in the vehicle, such as a telematics monitoring device. In other implementations, peripheral device 220D includes a collection of components (e.g., OEM integrated electronics) integrated into the vehicle that communicate with each other. Figure 2D Peripheral equipment 220D and Figure 2B The peripheral equipment 220 is similar; for Figure 2B The description of peripheral device 220 in the text is fully applicable Figure 2D The peripheral device 220D is used, and for the sake of simplicity, it is not repeated.
[0079] exist Figure 2D In the illustrated example, each image capture device includes a lens and a corresponding set of optoelectronic devices. However, in some implementations, a hybrid implementation can be used, where multiple image capture devices (such as...) are employed. Figure 2D (in the middle), but each image capture device may include multiple lenses and corresponding optoelectronic devices (such as...) Figure 2C middle).
[0080] Commonly, references to image capture device 108 or more image capture devices 108 may include Figure 2A Image capture device 108A in Figure 2B Image capture device 108B in Figure 2C Image capture device 108C or Figure 2DThe image capture device 108D-1 or 108D-2 is mentioned. Furthermore, references to an image capture device performing actions (such as those in the methods discussed herein) may also refer to a peripheral device 220 or peripheral device 220D performing such actions. For example, references to an image capture device performing actions such as data processing, determination, generation, identification, storage, transmission, or similar actions may refer to an image capture device and a peripheral device performing these actions in combination.
[0081] Figure 3 This is a schematic diagram of operator device 300, which can be used for management and use in any of the implementations discussed herein, and particularly as a server-side device. For example, device 300 can be used as... Figure 1A and Figure 1B The device 300, as shown, includes at least one processor 312, at least one non-transitory processor-readable storage medium 314, and a communication interface 316. The non-transitory processor-readable storage medium 314 may have processor-readable instructions stored thereon, which, when executed by at least one processor 312, cause the device 300 to perform appropriate operations of the methods described herein. The communication interface 316 may be a wired or wireless interface through which data and input can be provided to the device 300, and through which the device 300 can provide data and output. For example, location data of multiple vehicles can be received from a telematics device or system via the communication interface 316 for processing and analysis by at least one processor 312. The resulting analysis can also be output from the communication interface 316.
[0082] Figure 3 Exemplary input and output devices are also shown, through which users or operators can interact with device 300. Specifically, Figure 3 A display 322 is shown, which can display the output from device 300. Other output devices such as speakers or any other suitable output devices may be provided. Figure 3 A keyboard and mouse 324 are also shown, which can be used to provide input to device 300. Other input devices such as a touchscreen, microphone, touchpad, or any other suitable input device may also be used. Although Figure 3The input and output devices shown are in the form of input and output devices used with a desktop computer, but other forms of devices such as portable devices like laptops, smartphones, PDAs, tablets, or any other suitable devices may also be used. Furthermore, the devices to which the user provides input and receives output may be located remotely from device 300. For example, a device including at least one processor 312, at least one non-transitory processor-readable storage medium 314, and a communication interface 316 may be a workstation or server remotely to which the user interacts.
[0083] Figure 4 This is a flowchart illustrating an exemplary method 400 for segmenting image data, managing segmented image data, and / or utilizing segmented image data. As shown, method 400 includes actions 402, 404, 406, 408, 410, 412, and 414. Those skilled in the art will understand that additional actions may be added, actions may be removed, or actions may be appropriately reordered for a given application. (Refer to...) Figure 1A , Figure 1B , Figure 2A , Figure 2B , Figure 2C , Figure 2D and Figure 3 In the examples shown, the actions can be performed by appropriate components of the system or device in question. For example, at least some actions of method 400 can be performed in an image capture device (such as, see reference 1). Figure 2A The image capture device 108A or reference discussed Figure 2C The image capture device 108C discussed) and / or peripheral devices (such as, see reference) Figure 2B The peripheral equipment 220 discussed or referenced Figure 2D The discussion focuses on peripheral device 220D. As another example, at least some actions of method 400 can be performed at a device remote from the vehicle (such as, see reference 220D). Figure 1A and Figure 1B The client device 104 and / or the local server 118 discussed, and / or referenced Figure 1A The discussion will be conducted at cloud device 106.
[0084] The reference to "at least one processor" or "processor" for performing actions of any of the methods described herein can refer to any suitable processor (such as, Figure 2A , Figure 2B , Figure 2C or Figure 2D(any of the processors 206 in the process). In addition, at least one non-transitory processor-readable storage medium (such as, as a non-limiting example, non-transitory processor-readable storage medium 212 or 214) may store processor-executable instructions that, when executed by the respective at least one processor, cause the corresponding system or device to perform a given action of any of the methods discussed herein.
[0085] For ease of understanding, please refer to the following: Figure 5A and Figure 5B The specific examples shown discuss method 400. However, those skilled in the art will understand that method 400 can be applied to any suitable example (such as, Figure 6A , Figure 6B , Figure 7A , Figure 7B , Figure 8A and Figure 8B (example), and Figure 5A and Figure 5B This is merely an example.
[0086] Figure 5A Image 500A is shown. Image 500A represents an image captured from the vehicle's perspective by an image capturing device (such as any one of image capturing devices 108, 108A, 108B, 108C, or 108D) positioned at the vehicle. Figure 5A In a specific example, image 500A represents an image captured from a front-facing camera (dashcam). Image 500A includes a representation of a road 510 on which a vehicle can travel, depicted by boundaries 512 and 514 and extending to a horizon 520. Image 500A also includes a representation of another vehicle 530 traveling in front of the vehicle on which the image-capturing device that captured image 500A is positioned.
[0087] In some implementations, image 500A, as shown, is raw data captured by an image capture device. In other implementations, image 500A, as shown, has been processed and / or "processed". For example, as... Figure 5A The image 500A shown may be a cropped version of the original image data (removing edge data and / or generating an image 500A with a specific aspect ratio). As another example, at least one distortion (or anti-distortion) transformation may be applied to the original image data, for example, to compensate for characteristics of the original image data (such as lens angle or distortion).
[0088] For simplicity, image 500A shows road 510 as a single-lane road, but image data of roads with any appropriate number of lanes can be captured. Furthermore, the image data captured by the image capture device can include representations of any relevant features or objects; Figure 5A The example shown is non-limiting. Image 500A is also shown as having two regions: a first region 550 and a second region 560. In this example, the first region 550 and the second region 560 are horizontal bands of the image, but in other examples, the regions may have different shapes. Image regions and corresponding image data will be discussed in more detail later.
[0089] Return to method 400, and at 402, access the input image data. Figure 5A Image 500A in the image is an example of such input image data. In some implementations, action 402 includes capturing the input image data by an image capture device (such as any of image capture devices 108). In other implementations, action 402 includes accessing previously captured image data. For example, the image data may be captured by an image capture device and stored at a non-transitory processor-readable storage medium (such as non-transitory processor-readable storage medium 212 or 214). In such an implementation, action 402 may include retrieving the stored input image data. In other implementations, action 402 may include receiving input image data, such as that provided by another device (such as an image capture device). For example, action 402 may include a peripheral device (such as peripheral device 220 or 220D) receiving input image data from an image capture device (such as image capture device 108B or 108D).
[0090] At least one processor of the system or device performing method 400 may optionally preprocess the accessed input image data appropriately. For example, the input image data may be cropped to a defined resolution, or image corrections, such as distortion corrections, may be applied to compensate for image skew caused by properties of the image capture device. As an example, radial and / or tangential distortion of the image data may be compensated. In some implementations, in method 400, the accessed image data has been preprocessed to have the desired resolution and / or subjected to distortion correction before access and utilization.
[0091] In the context of method 400, the input image data accessed at 402 has a first pixel density. Throughout this disclosure, the term "pixel density" generally refers to the number of pixels in or in a region of image data. Alternatively, pixel density may be referred to as resolution.
[0092] At 404, at least one processor of the device performing method 400 generates first image data representing a first region and having a first pixel density. In some implementations, the first pixel density is equal to the input pixel density. In such implementations, generating the first image data requires packing a portion of the input data corresponding to the first region into the first image data. In other implementations, the first pixel density is lower than the input pixel density. In such implementations, generating the first image data further includes downsampling a portion of the input image data corresponding to the first region to the first pixel density.
[0093] At 406, at least one processor of the device performing method 400 generates second image data representing the second region and having a second pixel density less than the first pixel density. In some implementations, generating the second image data requires downsampling a portion of the input image data corresponding to the second region and packaging the downsampled data into the second image data.
[0094] Figure 5A Image 500B is shown. Image 500B represents a representation of... Figure 5A The same content shown in image 500A. To reduce clutter, Figure 5A The objects and features marked in Figure 5B There is no mark in it, but Figure 5A The description of such objects and characteristics, as well as the scene as depicted, is fully applicable. Figure 5B .
[0095] Figure 5B The first image data 552 is shown, which represents Figure 5A The first region, 550. (Refer to...) Figure 4 In method 400, first image data 552 is generated according to action 404. The first image data 552 is shown as a grid representing a first pixel density. As mentioned earlier, this first pixel density can be equal to... Figure 5A The input pixel density of the image in the image is 500A, or it can be less than the input pixel density.
[0096] Figure 5B The second image data 562 is also shown, which represents Figure 5A The second region, 560. (Refer to...) Figure 4 In method 400, second image data 562 is generated according to action 406. The second image data 562 is shown as a grid representing a second pixel density. As mentioned earlier, this second pixel density is less than the first pixel density, which is... Figure 5B It is evident that the grid of the second image data 562 has a larger size than the grid of the first image data 552.
[0097] Figure 5B The grid shown for the first image data 552 and the second image data 562 is only representative, which is why it is referenced... Figure 5A The features discussed are shown with a sharper clarity compared to the pixel densities actually shown for the first image data 522 and the second image data 562. In practice, any suitable pixel density can be used, and a higher pixel density than shown is typically used. As an example, the input image data may include 4K image data (typically with a resolution of approximately 4096 by 2160 pixels), the first image data may include 2K image data (typically with a resolution of approximately 2048 by 1080 pixels), and the second image data may include 720p image data (typically with a resolution of 1280 by 720 pixels).
[0098] In addition, Figure 5B In the example, first image data 552 represents the entirety of first region 550, and second image data 562 represents the entirety of second region 560. However, as will be discussed later... Figure 8A and Figure 8B The situation discussed may not necessarily be like this.
[0099] Returning to method 400, at point 408, at least one processor generates analysis data by performing at least one image analysis model on the first image data and the second image data. For example, the at least one processor may run an object or feature detection model (e.g., a YOLO model) on the first image data and the second image data to identify objects or features. Indications of the identified objects or features may be collected as analysis data (e.g., a list of identified objects or features, or indications of multiple specific objects or features corresponding to a certain class of objects or features being searched). See reference... Figure 5A and Figure 5B As an example, and by way of non-limiting example, at least one processor can identify a road 510, a horizon 520, a vehicle 530, or any other feature (such as a road sign). Object or feature recognition used for analyzing data is merely exemplary and not limiting. See later. Figure 11 , Figure 12 , Figure 13 , Figure 14 , Figure 15 , Figure 16 and Figure 17 Discuss additional examples of data analysis. For instance, characteristics such as following distance can be identified and included in the data analysis.
[0100] At 410, at least one processor generates output image data representing the first region and the second region and having a second pixel density. That is, the output image data is generated with a uniform pixel density lower than the input pixel density. To achieve this, at least one processor may downsample the first image data (or input image data) of the first region to the second pixel density and pack the downsampled first image data with the second image data generated at 406 as output image data. Packing the downsampled first image data and the second image data together may alternatively be referred to as stitching or merging the downsampled first image data and the second image data. Alternatively, the input image data of the first region and the second region may be downsampled to the second pixel density, thus producing output image data including both the first region and the second region at the second pixel density.
[0101] At 412, the analysis data is output. At 414, the output image data is output. In some implementations, outputting the analysis data and / or outputting the image data includes (respectively) outputting the analysis data to at least one non-transitory processor-readable storage medium (e.g., non-transitory processor-readable storage medium 212 or 214) at the vehicle equipment and / or outputting the image data to at least one non-transitory processor-readable storage medium (e.g., non-transitory processor-readable storage medium 212 or 214) at the vehicle equipment. That is, the analysis data and / or output image data are stored at the vehicle equipment (for later access or use). In some implementations, outputting analytical data and / or outputting image data includes (respectively) transmitting analytical data to at least one device remote from the vehicle equipment via the vehicle equipment's communication interface and / or outputting image data to at least one device remote from the vehicle equipment (e.g., any of the communication interfaces 216 may, for example, transmit analytical data and / or outputting image data to any one of client device 104, cloud server 106, or local server 118 via communication links 116, 114, 120, 130, and / or cloud 112). The remote device may receive the analytical data and / or outputting image data and store the analytical data and / or outputting image data in a non-transitory processor-readable medium of the remote device, and / or perform further analysis or use based on it.
[0102] The storage and transmission of analytical data and / or output image data are not mutually exclusive. In some implementations, analytical data can be stored at the vehicle device and transmitted to a remote device. In some implementations, output image data can be stored at the vehicle device and transmitted to a remote device (e.g., selectively transmitting output image data in response to a request). Furthermore, the actions taken on the analytical data are not limited to those taken on the output image data. That is, analytical data can be stored at the vehicle device and / or transmitted to a remote device, and output image data can be stored at the vehicle device and / or transmitted to a remote device, without being hindered by whether the analytical data is stored at the vehicle device or transmitted to a remote device.
[0103] Method 400 advantageously optimizes image data for ease of processing, storage, and transmission. By generating image data with a pixel density lower than the input pixel density (as in actions 406 and optional 404 of method 400), the processing burden of image data analysis, as in action 408, is reduced. That is, because fewer pixels are available for analysis, the processing resources consumed for analysis are reduced. Accurate image analysis can still be obtained through effective region delineation, where the processing burden is reduced. (Refer to...) Figure 5A and Figure 5B In the example, the first region 550 represents content that is generally farther from the vehicle (which carries the image capture device for capturing images 500A) than the second region 560. Therefore, features or objects of interest appearing in the first region 550 are generally smaller compared to those appearing in the second region 560. Thus, to accurately detect or characterize objects or features in the first region 550, image data with a higher pixel density may be required compared to detecting or characterizing objects or features in the second region 560. In some cases, for accurate detection, it may be necessary to represent the specific object being detected with a minimum number of pixels for accurate detection to be performed, which in turn requires higher pixel density image data for objects that are further away. In other words, objects or features can be detected or characterized in the second region 560 based on lower pixel density image data compared to objects or features in the first region 550. Therefore, in the example shown, acceptable detection accuracy can be maintained across image 500A while reducing processing burden by segmenting the image data into a selected region (first region 552) with a higher pixel density and a region (second region 562) with a lower pixel density. The selection of image regions captured by the image capture device can be performed at the time of installation or configuration of the image capture device (e.g., optimized based on a specific image capture device installation), or it can be performed in batches for the image capture device (e.g., regions can be selected for each image capture device model).
[0104] Furthermore, image data can have large file sizes (especially for numerous images, as in the case of video data), which poses a problem for storing and / or transmitting image data. Method 400 addresses this issue by generating output image data with a second pixel density. That is, the number of pixels in both the first and second regions is reduced compared to the input pixel density, thus resulting in output image data with a smaller file size than the input image data. Storing and / or transmitting image data in a vehicle is often for the purpose of manual review later if necessary. For such review purposes, video data typically does not need to have a very high pixel density. Therefore, by generating and outputting output image data as in Method 400, the storage and / or transmission burden is reduced while still providing access to image data of sufficient quality for most purposes.
[0105] In a preferred implementation, the action of method 400 is performed by appropriate hardware or equipment located at the vehicle (such as, see reference ). Figure 2A The image capture device 108A or reference discussed Figure 2C The image capture device 108C and / or peripheral devices such as references discussed are Figure 2B The peripheral equipment 220 discussed or referenced Figure 2D The peripheral device 220D discussed performs this action. In this way, data generation and processing are performed at the vehicle (at actions 412 and 414) before data is transmitted or stored, thereby reducing bandwidth or storage usage because the resulting output image data is smaller in size than the input image data.
[0106] Although the above discussion usually refers to the first and second regions, an image can be segmented into any appropriate number of regions, and corresponding image data can be generated for each region with the appropriate pixel density. Figure 6A and Figure 6B An example of this is shown.
[0107] Figure 6A Image 600A is shown. Image 600A represents... Figure 5A The same content shown in image 500A. For Figure 5A The description is completely applicable Figure 6A Furthermore, for the sake of brevity, it avoids repetition. One difference between image 600A and image 500A is that image 600A includes three regions: a first region 650, a second region 660, and a third region 670. More regions can be appropriately included in other implementations for a given application.
[0108] Figure 6B Image 600B is shown. Image 600B represents a representation of... Figure 5AThe same content shown in image 500A (similar to) Figure 5B To reduce clutter, Figure 5A The objects and features marked in Figure 6B There is no mark in it, but Figure 5A The description of such objects and characteristics, as well as the scene as depicted, is fully applicable. Figure 6B .
[0109] like Figure 5B , Figure 6B Regions with different pixel densities in the image are shown. Specifically, Figure 6B The first image data 652 is shown, which represents Figure 6A The first region is 650. (Refer to...) Figure 4 In method 400, first image data 652 is generated according to action 404. The first image data 652 is shown as a grid representing a first pixel density. As mentioned earlier, this first pixel density can be equal to... Figure 5A The input pixel density of the image in the image is 500A, or it can be less than the input pixel density.
[0110] Figure 6B The second image data 662 is also shown, which represents Figure 6A The second region, 660. (Refer to...) Figure 4 In method 400, second image data 662 is generated according to action 406. The second image data 662 is shown as a grid representing a second pixel density. As mentioned earlier, this second pixel density is less than the first pixel density, which is... Figure 6B It is evident that the grid of the second image data 662 has a larger size than the grid of the first image data 652.
[0111] Figure 6B The third image data 672 is also shown, which represents Figure 6A The third region, 670. (Refer to...) Figure 4 Method 400 generates third image data 672 in an additional action similar to action 406. That is, at least one processor of the device performing method 400 generates third image data 672, which represents a third region 670 and has a third pixel density less than the first pixel density and greater than the second pixel density (the third pixel density is between the first and second pixel densities). In some implementations, generating the third image data requires downsampling a portion of the input image data corresponding to the third region and packing the downsampled data into the third image data. The third image data 672 is shown as a grid representing the third pixel density. As mentioned earlier, this third pixel density is between the first and second pixel densities, which... Figure 6BIt is evident that the grid of the third image data 672 is larger than that of the first image data 652, and smaller in size than that of the second image data 662. As an example, the input image data may include 4K image data (typically with a resolution of approximately 4096 x 2160 pixels), the first image data may include 2K image data (typically with a resolution of approximately 2048 x 1080 pixels), the second image data may include 480p image data (typically with a resolution of 640 x 480 pixels), and the third image data may include 720p image data (typically with a resolution of 1280 x 720 pixels).
[0112] Regarding Figure 5B The discussion is similar. Figure 6B The grid shown for the first image data 652, the second image data 662, and the third image data 672 is only representative, which is why referencing Figure 5A The features discussed are shown with greater sharpness compared to the pixel densities actually shown for the first image data 652, the second image data 662, and the third image data 672. In practice, any suitable pixel density can be used, and generally a higher pixel density than shown is used. Furthermore, in Figure 6B In the example, first image data 652 represents the entire first region 650, second image data 662 represents the entire second region 660, and third image data 672 represents the entire third region 670. However, as will be discussed later... Figure 8A and Figure 8B The situation discussed may not necessarily be like this.
[0113] In the case of including additional regions and generating corresponding image data (such as...) Figure 6A and Figure 6B In the example, generating analysis data at 408 and output image data at 410 also includes additional regions and additional image data. Figure 6A and Figure 6B In the example, generating analysis data at point 408 involves generating analysis data by performing at least one image analysis model on the first image data, the second image data, and the third image data. Furthermore, in... Figure 6A and Figure 6B In the example, generating output image data at 410 includes generating output image data representing the first region, the second region, and the third region at a second pixel density.
[0114] Although Figure 6A and Figure 6B The image data shows a region where the pixel density decreases towards the bottom of image 600B, but this is not necessarily the case. Regions and their corresponding pixel densities can be arranged in any order appropriately for a given application. Figure 7A and Figure 7B An example of this is shown.
[0115] Figure 7A Image 700A is shown. Image 700A represents... Figure 5A The same content shown in image 500A. For Figure 5A The description is completely applicable Figure 7A And for the sake of brevity, it will not be repeated. One difference between image 700A and image 500A is that, as Figure 6A Images 600A and 700A in the diagram include three regions: a first region 750, a second region 760, and a third region 770. More regions may be appropriately included in other implementations for a given application. Figure 7A and Figure 6A One difference is that Figure 7A The order of the regions is different. Specifically, the first region 750 is in the middle of the image 700A (compared to the first region 650 being at the top of the image 600A), the second region 760 is at the top of the image 700A (compared to the second region 660 being at the bottom of the image 600A), and the third region 770 is at the bottom of the image 700A (compared to the third region 670 being in the middle of the image 600A).
[0116] Figure 7B Image 700B is shown. Image 700B represents a representation of... Figure 5A The same content shown in image 500A (and) Figure 5B (Similar). To reduce clutter, Figure 5A The objects and features marked in Figure 7B There is no mark in it, but Figure 5A The description of such objects and characteristics, as well as the scene as depicted, is fully applicable. Figure 7B .
[0117] like Figure 6B , Figure 7B Three regions with different pixel densities in the image are shown. Specifically, Figure 7B The first image data 752 is shown, which represents Figure 7A The first region is 750. Figure 7B The second image data 762 is also shown, which represents Figure 7A The second region 760. Figure 7B Third image data 772 is also shown, which represents Figure 7AThe third region 770 in the image. The generation and pixel density of each of the first image data 752, the second image data 762, and the third image data 772 can be performed similarly to those discussed earlier for the first image data 652, the second image data 662, and the third image data 672, and will not be repeated for the sake of brevity. (As discussed regarding...) Figure 5B and Figure 6B The discussion is similar. Figure 7B The grids shown for the first image data 752, the second image data 762, and the third image data 772 are merely representative, and in practice, any suitable pixel density can be used. Furthermore, in Figure 7B In the example, first image data 752 represents the entire first region 750, second image data 762 represents the entire second region 760, and third image data 772 represents the entire third region 770. However, as will be discussed later... Figure 8A and Figure 8B The situation discussed may not necessarily be like this.
[0118] If it is possible Figure 7B As can be seen, the highest pixel density image data (first image data 752 of the first region 750) is located in the middle of image 700B. The lowest pixel density data (second image data 762 of the second region 760) is located at the top of image 700B. The intermediate pixel density data (third image data 772 of the third region 770) is located at the bottom of image 700B. Such a region arrangement can have advantages. In particular, the second region 762 typically represents the sky located above the horizon 520. In many cases, it is unlikely that important or relevant analytical data will be generated based on what is visible in the sky (although this is not always the case). Therefore, by generating the second image data 762, which represents the sky with the lowest pixel density, the processor load is minimized in regions where it is unlikely that relevant analytical data will be generated anyway. In contrast, the first region 750 represents real-world content and is located far enough that relatively high pixel density image data is required for accurate analysis, hence why a corresponding image data 752 with a first pixel density is generated for this first region 750. Furthermore, the third region 770 represents real-world content that can generate relevant analytical data, but the content is close enough that the relevant objects or features represented in the image data will have a sufficiently large size so that acceptable analytical data can be generated based on the intermediate pixel density image data (the second pixel density in this example).
[0119] against Figure 7A and Figure 7B The example generates analysis data at position 408 and output image data at position 410, as shown in the reference. Figure 6A and Figure 6BThe topics discussed are similar, and for the sake of brevity, they will not be repeated.
[0120] In each of Examples 5A, 5B, 6A, 6B, 7A, and 7B, each of the generated first, second, and third image data represents the entire corresponding region of the image. However, this is not always the case, and in some implementations, the image data may represent a cropped portion of the corresponding region. (Refer to...) Figure 8A and Figure 8B This is illustrated through examples, and applies to all examples in the previous examples.
[0121] Figure 8A Image 800A is shown. Image 800A represents... Figure 5A The same content shown in image 500A. For Figure 5A The description is completely applicable Figure 8A And for the sake of brevity and to avoid repetition, one difference between image 800A and image 500A is... Figure 6A Image 600A and Figure 7A Like image 700A, image 800A includes three regions: a first region 850, a second region 860, and a third region 870. More or fewer regions may be appropriately included in other implementations for a given application. For example, for... Figure 8A and Figure 8B The discussion also applies to images with two regions, such as Figure 5A and Figure 5B In the example.
[0122] Figure 8B Image 800B is shown. Image 800B represents... Figure 5A A portion of the same content shown in image 500A (similar to) Figure 5B To reduce clutter, Figure 5A The objects and features marked in Figure 8B There is no mark in it, but Figure 5A The description of such objects and characteristics, as well as the scene as depicted, is fully applicable. Figure 8B .
[0123] and Figure 6B and Figure 7B Same, Figure 8B Three regions with different pixel densities in the image are shown. Specifically, Figure 8B The first image data 852 is shown, which represents Figure 8A The first region is 850. Figure 8B The second image data 862 is also shown, which represents Figure 8A The second region, 860. Figure 8BThe third image data 872 is also shown, which represents Figure 8A The third region 870 in the image. The generation and pixel density for each of the first image data 852, second image data 862, and third image data 872 can be performed similarly to that discussed earlier for the first image data 652, second image data 662, and third image data 672, and will not be repeated for the sake of brevity. (As discussed regarding...) Figure 5B , Figure 6B and Figure 7B The discussion is similar. Figure 8B The grids shown for the first image data 852, the second image data 862, and the third image data 872 are only representative, and in practice, any appropriate pixel density can be used. Figure 8B and Figure 6B One difference is that Figure 8B The generated image data for at least some regions of the central region is cropped. In the example shown, the first image data 852 of the first region 850 is horizontally cropped such that the first image data 852 includes only data representing a portion of the first region 850 near the horizontal center of the image 800A. Furthermore, the third image data 872 of the third region 870 is horizontally cropped such that the third image data 872 includes only data representing a portion of the third region 870 near the horizontal center of the image 800A (although wider than the portion represented by the first image data 852). In the example shown, the second image data 862 representing the second region 860 is not explicitly cropped, but in some implementations, the second image data 862 may also represent a cropped portion of the second region 860.
[0124] exist Figure 8A and Figure 8B In the example, cropping the image data reduces the amount of image data to be analyzed at point 408, and thus reduces the processing burden. In the example shown, by limiting the image data to the horizontally central portion of the image, the analysis can be limited to a portion of the image surrounding road 510, and therefore remains effective for the detection of objects or features related to driving along road 510. In an alternative implementation, the image data can be cropped to limit the analysis to portions outside road 510. For example, such an implementation could be advantageously used to analyze infrastructure outside road 510.
[0125] When generating image data to represent the cropped portion of a region, the output image data generated at 410 can be processed in different ways.
[0126] In some implementations, image data for each region can be packaged, stitched together, or merged, where each pixel has the same size. Due to the different pixel densities of each image data, the result will be presented as a stretched, higher pixel density region (but cropped to a smaller size). Figure 9 An example is shown in the image. Figure 9 The diagram shows the representation with Figure 5A The same content shown in image 500A (and also in Figure 8A The output image 900 (shown in image 800A) is shown, but is illustrated as based on... Figure 8B The cropped output image data is shown in image 900. In image 900, compared to that shown in image 800A, image data 872 representing the third region 870 is horizontally stretched so that the pixel size in the third image data 872 is aligned with the pixel size in the second image data 862. Furthermore, although due to the lack of features in the first region 850... Figure 9 While not visible in the image, the first image data 852 is also horizontally stretched compared to that shown in image 800A, so that the pixel size in the first image data 852 is aligned with the pixel size in the third image data 872.
[0127] Reference Figure 9 The described stretching is not necessarily an active step of stretching image data. Instead, when storing the first image data 852, the second image data 862, and the third image data 872, the image data can be stored as a pixel array of the entire image 800B. When presented on a display with uniform pixel size, the described "stretching" can simply be a visual result due to the difference in pixel density in corresponding areas of the image.
[0128] Figure 10 This is a flowchart illustrating an exemplary method 1000 for segmenting image data, managing segmented image data, and / or utilizing segmented image data. The method 1000, as shown, includes actions 1004, 1006, 408, 410, 412, and 414. Those skilled in the art will understand that additional actions can be added, actions can be removed, or actions can be appropriately reordered for a given application. (Refer to...) Figure 1A , Figure 1B , Figure 2C , Figure 2D and Figure 3 In the examples shown, the actions can be performed by appropriate components of the system or device in question. For example, at least some actions of method 1000 can be performed in an image capture device (such as, see reference 1000). Figure 2C The image capture device 108C discussed) and / or peripheral devices (such as, see reference) Figure 2DThe discussion focuses on peripheral device 220D. As another example, at least some actions of method 400 can be performed at a device remote from the vehicle (such as, see reference 220D). Figure 1A and Figure 1B The client device 104 and / or the local server 118 and / or the reference discussed Figure 1A The discussion is being conducted at cloud device 106.
[0129] The reference to "at least one processor" or "processor" for performing actions of any of the methods described herein can refer to any suitable processor (such as, Figure 2C or Figure 2D (any of the processors 206 in the process). In addition, at least one non-transitory processor-readable storage medium (such as, by way of non-limiting example, non-transitory processor-readable storage medium 212 or 214) may store processor-executable instructions that, when executed by the respective at least one processor, cause the corresponding system or device to perform a given action of any of the methods discussed herein.
[0130] Method 1000 is in at least some respects with Figure 4 The method in 400 is similar, and unless the context otherwise specifies, it is... Figure 4 The description of method 400 in the middle is applicable to Figure 10 Method 1000. Additionally, refer to the above. Figure 5A , Figure 5B , Figure 6A , Figure 6B , Figure 7A , Figure 7B , Figure 8A , Figure 8B and Figure 9 The examples discussed also apply to method 1000. Furthermore, those skilled in the art will understand that method 1000 can be applied to any suitable example, and Figure 5A , Figure 5B , Figure 6A , Figure 6B , Figure 7A , Figure 7B , Figure 8A , Figure 8B and Figure 9 This is just an example.
[0131] Figure 10 Method 1000 and Figure 4 One difference between methods 400 involves how image data is collected. Specifically, as discussed above with respect to method 400, input image data is accessed at 402, and first image data and second image data (and, where appropriate, additional image data) are generated based on the input image data. Figure 10In method 1000, image data from different regions are accessed more extensively, as discussed below.
[0132] At position 1004, first image data is accessed, representing a first region and having a first pixel density. At position 1006, second image data is accessed, representing a second region and having a second pixel density less than the first pixel density. (See reference...) Figure 5A and Figure 5B For example, first image data 552 representing a first region 550 is accessed at 1004, and second image data 562 representing a second region 560 is accessed at 1006. In some implementations, additional image data representing additional regions can be accessed in a similar manner to actions 1004 and 1006. See [reference] Figure 6A and Figure 6B For example, at 1004, first image data 652 representing a first region 650 is accessed; at 1006, second image data 662 representing a second region 660 is accessed; and third image data 672 representing a region 670 is accessed. (See reference...) Figure 7A and Figure 7B For example, at 1004, first image data 752 representing a first region 750 is accessed; at 1006, second image data 762 representing a second region 760 is accessed; and third image data 772 representing a region 770 is accessed. (See reference...) Figure 8A and Figure 8B For example, at 1004, first image data 852 representing a portion of a first region 850 is accessed; at 1006, second image data 862 representing at least a portion of a second region 860 is accessed; and third image data 872 representing at least a portion of a region 870 is accessed.
[0133] In method 1000, the image data (and additional image data, if accessed) accessed at 1004 and 1006 can be captured by corresponding image capture hardware. For example, in image capture device 108C, first image data can be captured by lens 202C-1 and optoelectronic device 204C-1, and second image data can be captured by lens 202C-2 and optoelectronic device 204C-2. For reference... Figure 2D In another example, first image data may be captured by image capture device 108D-1 (including lens 202D-1 and optoelectronic device 204D-1), and second image data may be captured by image capture device 108D-2 (including lens 202D-2 and optoelectronic device 204D-2). Additional image capture devices, lenses, and / or optoelectronic devices may be appropriately used to capture additional image data for a given application.
[0134] In some implementations, the scope of method 1000 may include capturing each image data (and therefore the system or device performing method 1000 may include image capture hardware for capturing image data). In other implementations, the actual capture of image data may be outside the scope of method 1000 (and therefore the system or device performing method 1000 does not include image capture hardware for capturing image data). In such implementations, actions 1004 and 1006 include (e.g., receiving or retrieving image data via a communication interface from image capture hardware and / or from at least one non-transitory processor-readable storage medium storing image data such as that captured by the image capture hardware).
[0135] In some implementations, such as those discussed earlier with reference to actions 402, 404, and 406 of method 400, image data accessed at 1004 and 1006 can be generated based on the input image data.
[0136] At least one processor of the system or device performing method 1000 may optionally preprocess the accessed image data (in the example, first image data and second image data) appropriately. For example, the input image data may be cropped to a defined resolution, or image corrections such as distortion corrections may be applied to compensate for image skew caused by properties of the image capturing device. As an example, radial and / or tangential distortion of the image data may be compensated. Furthermore, the image data may be cropped to eliminate or reduce overlap between contents represented by different image data. In some implementations, the accessed image data has been preprocessed to have the desired resolution, distortion corrections, and / or overlap avoidance prior to access and utilization in method 400.
[0137] Once accessed, each image data can be accessed by at least one processor (such as any of processors 206) performing subsequent actions of method 1000. Method 1000 can then proceed to actions 408, 410, 412, and 414, which are similar in number to those in method 400. The descriptions of actions 408, 410, 412, and 414 of method 400 above apply entirely to method 1000 and are not repeated for the sake of brevity. This includes descriptions of alternative implementations for each of actions 408, 410, 412, and 414, such as how analysis data and / or output image data are generated, how analysis data and / or image data are output, and how different regions in the image are arranged. Similar to method 400, in a preferred implementation, the actions of method 1000 are performed by appropriate hardware or devices located at the vehicle (such as, see below). Figure 2A The image capture device 108A or reference discussed Figure 2C The image capture device 108C discussed) and / or peripheral devices (such as, see reference)Figure 2B The peripheral equipment 220 discussed or referenced Figure 2D The peripheral device 220D discussed performs this action. In this way, data generation and processing are performed at the vehicle (at actions 412 and 414) before data is transmitted or stored, thereby reducing bandwidth or storage usage because the resulting output image data is smaller in size than the input image data.
[0138] In method 1000, different image data representing corresponding regions are captured by different image capture hardware that may have different properties. Specifically, the first image capture hardware capturing the first image data may have a higher resolution (pixel density) than the second image capture hardware capturing the second image data. For example, the first image capture hardware may include optoelectronic devices with more capture pixels and / or a denser array of capture pixels. As another example, the first image capture hardware and the same image capture hardware may be physically similar (e.g., similar capture resolution), but the second image capture hardware may be configured to capture the second image data at a lower resolution (e.g., by disabling or ignoring data captured by some capture pixels).
[0139] As mentioned earlier, generating analysis data in action 408 of methods 400 and 1000 includes performing at least one image analysis model on the first image data and the second image data (and any additional image data representing additional regions, such as third image data representing a third region). The at least one image analysis model may include a variety of possible models; some non-limiting examples are discussed below.
[0140] In some implementations, generating analysis data at 408 includes performing a trained object detection model on first image data and second image data (and any additional image data representing additional regions, such as third image data representing a third region). For example, such an object detection model may include a YOLO model. In an exemplary implementation, the object detection model may be trained to detect road signs (such as stop signs, yield signs, speed limit signs, or any other suitable type of sign). By performing such a sign detection model in action 408, the resulting analysis data may include indications of the detected signs. Optionally, the analysis data may include confidence scores for each detection. Furthermore, the analysis data may include other sensor data (such as positioning data from positioning sensors located at the vehicle) or be associated with other sensor data (such as positioning data from positioning sensors located at the vehicle). For example, at least one processor of the device performing method 400 or method 1000 may access the analysis data including indications of the identified signs and access positioning data corresponding to each indication of the identified signs. By associating each indication of the identified signs with the positioning data, the positioning of each identified sign can be determined. Based on this, a signage database can be populated, in which signs are indicated along with their locations (e.g., on a map). Such a database can be used for human review and understanding, or for other analyses (e.g., to determine whether signs are effective in guiding driver behavior).
[0141] In some implementations, generating analysis data at 408 includes performing a following distance detection model on first image data and second image data (and any additional image data representing additional regions, such as third image data representing a third region). Any suitable following distance detection model can be performed, with several examples disclosed in U.S. Provisional Patent Applications Nos. 63 / 456,179, 63 / 526,233, 63 / 537,875, and 63 / 606,307, each of which is incorporated herein by reference in its entirety.
[0142] As an example, Figure 11 This is a flowchart for training a following distance model by minimizing the following distance loss function over a set of training images. Specifically, Figure 11This is a flowchart illustrating an exemplary method 1100 for training a machine learning model. As shown, method 1100 includes actions 1102, 1110 (including sub-actions 1112, 1114, 1116, and 1118) and 1120. Those skilled in the art will understand that additional actions can be added, actions can be removed, or actions can be appropriately reordered for a given application. As an example, sub-action 1118 is shown in dashed lines to highlight that this sub-action is optional. The actions of method 1100 can be derived from earlier references. Figure 1A , Figure 1B , Figure 2A , Figure 2B , Figure 2C , Figure 2D or Figure 3 The appropriate component of the system or device discussed performs the operation. Importantly, the system or device performing method 1100 to train the following distance model is not necessarily the same hardware that applies the trained model. In this way, model training and model execution can be performed by a discrete system or device best suited for the task. For example, a central server (e.g., any one of client device 104, cloud server 106, or local server 118) can perform model training, and devices at the vehicle (e.g., image capture devices 108, 108A, 108C, or peripheral devices 220 or 220D) can apply the trained model based on image data captured at the vehicle. However, in some implementations, a single device or system can perform all of the tasks: generating training data, training the machine learning model, and applying the machine learning model.
[0143] At 1102, the image data is accessed by at least one processor of the device performing method 1100. The image data includes at least a first set of images. The accessed image data may be labeled as real-world data or may be image data generated via simulation. Each image in the first set of images includes a representation of the corresponding first vehicle from the perspective of a second corresponding vehicle behind the first vehicle. That is, each image represents a corresponding instance of the second vehicle positioned behind (behind) the first vehicle. Images 500A, 600A, 700A, and 800A illustrate such exemplary following situations, and images of this form may be included in the first set of images. Furthermore, each image in the first set of images is associated with a distance label indicating the distance between the corresponding first vehicle and the corresponding second vehicle. Moreover, each image in the first set of images is associated with a corresponding vehicle presence label indicating whether the first vehicle is present in a valid following situation with the second vehicle. In particular, the vehicle presence label may indicate one or both of the following: (i) whether the first vehicle and the second vehicle are within a presence threshold distance from each other, or (ii) whether the first vehicle and the second vehicle are traveling in the same lane. In other words, the vehicle has a label indicating whether the second vehicle is actually following the second vehicle (i.e., whether it is within a validly close enough distance, and / or whether the second vehicle is actually behind the second vehicle, rather than in a different lane).
[0144] At 1110, the following distance loss function is minimized on the first set of images. Equation (1) below shows the loss function for this exemplary implementation:
[0145] (1)
[0146] In equation (1), L represents the loss. P is the vehicle presence label, where a label of 0 indicates that the first vehicle is not within the vehicle presence threshold, and a label of 1 indicates that the first vehicle is within the vehicle presence threshold. The vehicle presence determined by the model is indicated by p, and is a decimal number between 0 and 1, representing the model's confidence that the first vehicle is within the vehicle presence threshold (where a higher value implies greater confidence, and vice versa). D is the distance value indicated in the distance label, and d is the distance value determined by the model.
[0147] The first term in equation (1) This represents the distance regression loss. That is, the difference between the distance indicated by the label and the distance determined by the model. When P=1 (the vehicle presence label for a specific image indicates the first vehicle is within the vehicle presence threshold), the first term becomes... , which represents the difference between the distance label and the distance determined by the model (i.e., the accuracy of the model in determining the distance, where a higher value indicates greater inaccuracy than a lower value). When P=0 (the vehicle presence label for a specific image indicates that the first vehicle is not within the vehicle presence threshold), the first term becomes 0, causing the loss L to become only the second term.
[0148] The second term in equation (1) This represents the classification loss. That is, the difference between the vehicle presence as indicated by the vehicle presence label and the vehicle presence as determined by the model (i.e., the accuracy of the model's classification of whether a vehicle is within a vehicle presence threshold). In some exemplary implementations, the vehicle presence threshold is set to 40 meters. However, any vehicle presence threshold can be appropriately used for a given application.
[0149] exist Figure 11 In the example, action 1110 includes sub-actions 1112, 1114, 1116, and 1118. At 1112, the following distance loss function is evaluated by at least one processor for at least one image in the first set of images. That is, for at least one image, a model is applied to determine p and d, and then the loss L is determined according to equation (1).
[0150] At 1114, at least one processor compares the determined loss L with a maximum loss threshold. If the determined loss L is not within the maximum loss threshold, method 1100 proceeds to action 1116, in which the model is adjusted (e.g., by adjusting the model's weights and biases to reduce the loss). In one exemplary implementation, backpropagation is implemented to adjust the model's weights and biases. Those skilled in the art can implement any suitable model structure and means for adjusting the model, appropriately for a given application. After adjusting the model at 1116, method 1100 returns to action 1112, in which a following distance function is evaluated for at least one image in the first set of images. The at least one image for which the following distance loss function is evaluated may be the same as the at least one image previously evaluated, such that the adjustment to the model is "tested" against the same image data. Alternatively, the at least one image for which the following distance loss function is evaluated may be a different at least one image, such that the model is adjusted by iterating through the first set of images.
[0151] Actions 1112, 1114, and 1116 can iterate any appropriate number of times until the loss is within the maximum loss threshold at 1114, in which case method 1100 continues to 1118. At 1118, auxiliary criteria for the model are evaluated. If the auxiliary criteria are not met, method 1100 returns to action 1112, which evaluates the following distance loss function. Auxiliary criteria can include various criteria. As an example, an auxiliary criterion could require the loss function to be within the maximum loss threshold for each image in the first set of images. That is, even if the loss function is within the maximum loss threshold for the first image, the auxiliary criterion could require evaluation for each image before outputting the trained model. As another example, an auxiliary criterion could require the loss function to be within the maximum loss threshold for at least a defined number of images in the first set of images. That is, even if the loss function is within the maximum loss threshold for the first image, the auxiliary criterion could require the loss function to be within the maximum loss threshold for a defined number (e.g., 90%) of images in the first set of images. As yet another example, an auxiliary criterion could require evaluation of the loss function for at least a defined number (e.g., 90%) of images in the first set of images.
[0152] Action 1118 is optional. In one exemplary implementation, evaluating the following distance loss function for at least one image in the first set of images in action 1112 includes evaluating the following distance loss function for each image in the first set of images (or for a defined number of images in the first set of images) such that a criterion is inherently satisfied regarding the number of images to be evaluated.
[0153] If the auxiliary criterion is met at 1118 (or if action 1118 is not included), method 1100 proceeds to action 1120. At 1120, the model is considered a "trained" model and is output for use. For example, the trained model may be sent to another device for storage, distribution, and / or application, or it may be stored in a non-transitory processor-readable storage device of the device that performed the training.
[0154] The following discusses exemplary implementations and use cases of method 1100 (especially action 1110).
[0155] In the first example, at step 1112, a distance loss function is determined for the first image. The first image is associated with a vehicle presence label P1=1 and a distance label D1=3 m. In this case, the model determines a vehicle presence p1=0.9 and a distance d1=2.5 m. Using these values, equation (1) is evaluated to obtain a distance loss L1=0.51. At step 1114, the loss L1 is compared with a maximum loss threshold, which in this example is 0.25. Since 0.51 is greater than 0.25, the loss L1 is not within the maximum loss threshold, and method 1100 continues to action 1116. At step 1116, the model is adjusted for each machine learning adjustment process, after which method 1100 continues to the second iteration of action 1112. In this first example, the second iteration of action 1112 is run again for the first image. As a result of the model adjustment at step 1116, the model now determines a vehicle presence p2=0.95 and a distance d2=2.9 m. Therefore, equation (1) evaluates to a loss L2 = 0.1025. In the second iteration of action 1114, the loss L2 is compared with the maximum loss threshold of 0.25. Since 0.1025 is less than 0.25, the loss L2 is within the maximum loss threshold. If no auxiliary criterion is specified (i.e., action 1118 is excluded), method 1100 continues to action 1120, which outputs the trained model.
[0156] In the case where an auxiliary criterion is specified in the first example, this requires the loss for each image in the first set of images to be within the maximum loss threshold. At 1118, the method returns to 1112. At 1112, the following distance function is evaluated for the second image, and method 1100 continues to sub-actions 1114 (and 1116, if appropriate) similar to those discussed with respect to the first image. This loop is repeated for each image in the first set of images.
[0157] In the first example, the model is trained by repeatedly evaluating the distance loss function for the first image. As discussed above, this can be performed for each image in the first set of images until the distance loss function evaluated for each image is within the maximum loss threshold. Alternatively, this can be performed until the distance loss function evaluated for a threshold number of images (e.g., 90% of the images) is within the maximum loss threshold. In this way, the loss can be minimized for each image in the first set of images (or a satisfactory number of images).
[0158] In the second example, at 1112, the distance loss function is determined for the first image, similar to the discussion above for the first example. As above, evaluating equation (1) yields a distance loss L1 = 0.51. At 1114, the loss L1 is compared to a maximum loss threshold, which in this example is 0.25. Since 0.51 is greater than 0.25, the loss L1 is not within the maximum loss threshold, and method 1100 continues to action 1116. At 1116, the model is adjusted for each machine learning adjustment process, after which method 1100 continues to the second iteration of action 1112. In this second example, instead, the second iteration of action 1112 is run for the second image. The second image is associated with a vehicle presence label P2 = 1 and a distance label D2 = 2 m. In this case, the model determines a vehicle presence p2 = 0.93 and a distance d2 = 1.7 m. Using these values, evaluating equation (1) yields a distance loss L2 = 0.3049. At step 1114, the loss L2 is compared with the maximum loss threshold, which in this example is 0.25. Since 0.3049 is greater than 0.25, the loss L2 is not within the maximum loss threshold, and method 1100 continues to action 1116. At step 1116, the model is readjusted for the machine learning adjustment process, after which method 1100 continues to the third iteration of action 1112. In this second example, instead, the third iteration of action 1112 is run on the third image. The third image is associated with the vehicle presence label P3=1 and the distance label D3=3.5 m. In this case, the model determines the vehicle presence p3=0.95 and the distance d3=3.3 m. Using these values, equation (1) is evaluated to obtain the distance loss L3=0.2025. In the third iteration of action 1114, the loss L3 is compared with the maximum loss threshold of 0.25. Since 0.2025 is less than 0.25, the loss L3 is within the maximum loss threshold. If no auxiliary criteria are specified (i.e., action 1118 is not included), method 1100 continues until action 1120 of the trained model is output.
[0159] In the case where an auxiliary criterion is specified in the second example, this requires the loss to be within the maximum loss threshold for each image in the first set of images. At 1118, the method returns to 1112. At 1112, the following distance function is evaluated for the fourth image, and method 1100 continues to sub-actions 1114 (and 1116, where appropriate) similar to those discussed with respect to the first image. This loop is repeated for each image in the first set of images. Furthermore, since the loss functions for the first and second images are determined to be greater than the maximum loss threshold, sub-actions 1112, 1114, and 1116 are performed again for the first and second images (where appropriate).
[0160] In the second example, the model is trained by iteratively evaluating the distance loss function on different images. In this way, the loss can be minimized for multiple images (or a satisfactory number of images) in the first set of images.
[0161] Once trained, the following distance model can be stored on a non-transitory processor-readable storage medium of a vehicle device (such as image capture devices 108, 108A, 108C, or peripheral devices 220 or 220D). In action 408 of method 400 or method 1000, the trained following distance model can be appropriately executed on the first image data, the second image data, and any other additional image data for a given application. The determined following distance is then output as analysis data at 412.
[0162] Figure 12 This is a flowchart illustrating an exemplary method (or model) 1200 for determining following distance, which can be performed to generate analytical data in action 408 of method 400 and / or 1000. Method 1200, as shown, includes actions 1204, 1206, and 1208. Those skilled in the art will understand that additional actions can be added, actions can be removed, or actions can be appropriately reordered for a given application. Figure 1A , Figure 1B , Figure 2A , Figure 2B , Figure 2C , Figure 2D or Figure 3 The appropriate component of the system or device discussed performs the execution. Importantly, the system or device performing method 1200 to determine the following distance is not necessarily the same hardware used to train the applied following distance detection model. In this way, model training and model execution can be performed by a discrete system or device best suited for the task. For example, a central server (e.g., any one of client device 104, cloud server 106, or local server 118) can perform model training, and devices at the vehicle (e.g., image capture devices 108, 108A, 108C, or peripheral devices 220 or 220D) can apply the trained model to the first image data, second image data, and any additional image data generated or accessed in the context of methods 400 and / or 1000. However, in some implementations, a single device or system can perform both training the machine learning model and applying the machine learning model.
[0163] Below Figure 13 Method 1200 is discussed within the context of the example scenario shown. However, method 1200 is applicable to many different scenarios. Figure 13Image 1300 with boundary 1310 is shown. Image 1300 shows vehicle 1320 (the first vehicle in method 1200) driving along road 1302, indicated by edges 1304 and 1306, toward horizon 1308. A vehicle (the second vehicle in method 1200) drives behind vehicle 1320 and carries an image capturing device (i.e., a camera device capturing image 1300) representing the viewpoint of image 1300. Image 1300 is also segmented into image data segments with different pixel densities. Specifically, image 1300 is segmented into a first region 1350 represented by first image data and a second region 1360 represented by second image data. Although Figure 13 It is not explicitly shown, but image 1300 can be further segmented into any amount of additional image data representing corresponding additional regions (e.g., third image data representing a third region).
[0164] Returning to method 1200, at 1204, at least one processor of the system or device performing method 1200 determines at least one image attribute based on a positional measurement between a first vehicle, as represented in the first image data and / or the second image data, and at least one boundary of the first image data or the second image data. Such a positional measurement may be based on physical features of the vehicle represented in the image (e.g., pixels representing edge features of the vehicle), or by recognizing the vehicle's outline. For example, a feature detection model (such as a YOLO detection model) may be run on the first image data and / or the second image data to identify the first vehicle. A bounding box (such as...) may be identified. Figure 13 The bounding box 1322 in the figure approximates the boundary of the first vehicle (vehicle 1320). At least one position measurement can be based on such a bounding box.
[0165] exist Figure 13 In the example, the position measurement includes the distance H1 from the bottom boundary of image 1300 (e.g., the bottom edge of boundary 1310) to the bottom of the first vehicle 1320 (or the bottom of bounding box 1322). Distance H1 represents the distance along the image data and can be expressed in any suitable unit. A particularly convenient unit is the number of pixels, such that distance H1 represents the number of pixels from the bottom edge of image 1300 to the bottom of vehicle 1320 (or the bottom of bounding box 1322). Figure 13 As shown, H1 extends from the bottom of image 1300, and therefore in some cases can extend across different portions of the image data (e.g., in the context of methods 400 and 1000, it can span from the first image data to the second image data). However, in some implementations, position measurement can be based on the boundaries of image data segments (e.g., instead, H1 can extend from the bottom of the first image data 1350 generated in method 400 or 1000 to vehicle 1322).
[0166] Optionally, in Figure 13 In the example, the position measurement may also include another distance H2 from the top boundary of image 1300 to the top of first vehicle 1320 (or the top of bounding box 1322). Alternatively, H2 may extend from the boundary of the image data segment (e.g., from the top of first image data 1350 to vehicle 1320).
[0167] At 1206 in method 1200, at least one processor applies a following distance determination model to determine the following distance based on at least one image attribute determined at 1204. This model is trained to predict or determine the following distance based on at least one image attribute, rather than through analysis of the image itself.
[0168] Generally, the farther the vehicle in front is from the following vehicle (the greater the physical distance between the first and second vehicles in method 1200), the greater the distance H1 will be, and the smaller the distance H2 will be (for example, ...). Figure 13 (Examples H1 and H2 shown). This is because vehicles that are further away typically appear at a higher position in images captured by the front-facing camera in the vehicle. Therefore, in Figure 13 In the example, the model typically determines the following distance to be proportional to distance H1 (and optionally inversely proportional to distance H2). In other implementations where the position measurement comes from different parts of the image, the relationship between the position measurement and the following distance can be different.
[0169] At 1208, the determined following distance is output (as at least a portion of the analysis data in 408 of method 400 and / or method 1000). For example, the following distance may be stored in a non-transitory processor-readable storage medium of the device performing method 400 or method 1000, or it may be transmitted to a remote device via a communication interface.
[0170] Figure 13 The example illustrates two possible location attributes, H1 and H2, that can be determined. However, any appropriate number of location attributes can be determined based on any suitable region or boundary of the image data for training a model based on such location attributes.
[0171] Figure 14This is a flowchart illustrating another exemplary method (or model) 1400 for determining following distance. Method 1400 can be applied to image data (including first image data, second image data, and / or additional image data representing any additional regions) generated or accessed in method 400 and / or method 1000. As shown, method 1400 includes actions 1402, 1404, 1406, 1408, 1410, 1412, 1414, and 1416. Those skilled in the art will understand that additional actions can be added, actions can be removed, or actions can be appropriately reordered for a given application. The actions of method 1400 can be performed by appropriate components of the system or device discussed earlier, similar to those discussed with respect to method 1200, and are not repeated for the sake of brevity.
[0172] The following will be Figure 15 Method 1400 is discussed within the context of the exemplary scenario shown. However, method 1400 is applicable to many different scenarios. Figure 15 Image 1500 is shown with left boundary 1510 and right boundary 1512. Image 1500 shows vehicle 1520 (the first vehicle in method 1400) driving along road 1532, indicated by edges 1534 and 1536, toward horizon 1538. A vehicle (the second vehicle in method 1400) drives behind vehicle 1520 and carries an image capturing device or multiple image capturing devices (i.e., camera devices capturing image 1500) representing the viewpoint of image 1500. The hood 1522 of the second vehicle is visible at the bottom of image 1500. Image 1500 is shown as segmented into image data segments with different pixel densities. In particular, image 1500 includes a first region 1550 represented by first image data and a second region 1560 represented by second image data. Furthermore, in other scenes, image 1500 may be segmented into any other appropriate amount of additional images representing additional regions.
[0173] Returning to method 1400, at 1402, the image data is accessed by the system or device performing method 1400. In this context, "image data" refers to image data representing any appropriate number of regions. The accessed image data includes a representation of the first vehicle from the perspective of a second vehicle behind the first vehicle. Figure 15 Image 1500 shown is an exemplary image that can be accessed, wherein the accessed image data includes first image data 1550 and second image data 1560. In the example, vehicle 1520 is a first vehicle, hood 1522 is part of a second vehicle, and road 1532 includes public driving lanes as shown by boundaries 1534 and 1536. Although Figure 15Road 1532 in the diagram is shown as a single-lane road to reduce clutter, but this disclosure is fully applicable to multi-lane roads where the first and second vehicles travel in a common lane among multiple possible lanes. Accessing image data may include capturing image data or receiving / retrieving image data such as captured image data, as referenced. Figure 10 The discussed, or access to the generated image data, such as reference Figure 4 As mentioned above.
[0174] At 1404, at least one processor is processing the image data (in...) Figure 15 In the example, the first vertical position representing the bottom of the first vehicle is determined from the first image data or the second image data. In this respect, Figure 15 A first vertical position 1540 is shown, representing the bottom of the first vehicle 1520 when it appears in image 1500. The first vertical position 1540 is shown as a line extending horizontally across image 1500 to show that the first vertical position 1540 may simply be a height coordinate in the image, independent of horizontal position. In some implementations, the first vertical position 1540 may also include horizontal coordinates, for example, centered on the first vehicle 1520 or on road 1532 (or a public driving lane). Furthermore, Figure 15 The bottom of the first vehicle 1520 is shown as the bottom of the tires of vehicle 1520, but other reference points, such as the bottom of the chassis of vehicle 1520, can be used.
[0175] To determine the initial vertical position, various techniques can be used. In one example, an object detection model (such as the YOLO model) can be run on image 1500 to output a bounding box around vehicle 1520 (similar to bounding box 2422 shown in Figure 24A, and...). Figure 15 (Not shown to reduce clutter). The bottom coordinates of such a bounding box can be used as the first vertical position. Alternatively, a feature detection model can be used, which identifies specific features of vehicle 1520 and specific features identified as depicting the “bottom” of the first vehicle (e.g., the rear bumper of the first vehicle). The vehicle’s height coordinates can be derived from any suitable reference point, such as the bottom of image 1500, the top of image 1500, or the boundary between the first image data and the second image data.
[0176] At 1406, a second vertical position 1542 in the image is accessed (e.g., by at least one processor). The second vertical position 1542 represents a static physical distance from the second vehicle. In this respect, the second vertical position 1542 can be determined during the calibration of an image capture device mounted in the second vehicle, wherein a specific image distance (e.g., number of pixels) from the bottom boundary of the image captured by the image capture device is associated with a specific physical distance from the second vehicle (as an example). The second vertical position can originate from any suitable reference point, such as the bottom of image 1500, the top of image 1500, or the boundary between the first and second image data. Figure 15 In the example, the second vertical position 1542 is shown slightly above the hood 1522 of the second vehicle (slightly higher than the front of the second vehicle in physical space). However, other specific positions are also possible, such as the second vertical position 1542, such as a position on the hood 1522, or a position at the foremost part of the hood 1522. The second vertical position 1542 can be stored in at least one non-transitory processor-readable storage medium of the system performing method 1400 and can be accessed (or retrieved) as needed. (See below for reference...) Figure 16 An exemplary (non-limiting) process for calibrating an image capture device and determining a second vertical position 1542 is discussed.
[0177] Figure 16 This is a side view of an exemplary scene 1600, in which vehicle 1620 is positioned on surface 1610. In scene 1600, vehicle 1620 is stationary. Marker 1612 is also positioned on surface 1610, and protrusion 1614 is shown extending upward from marker 1612 (perpendicular to surface 1610). Image capturing device 1624 is positioned at vehicle 1620 and captures image data within the field of view shown by field lines 1626 and 1628. The hood 1622 of vehicle 1620 is partially captured within field lines 1626 and 1628. The physical distance 1630 between the front of vehicle 1620 and marker 1612 (or projection 1614 from marker 1612) is shown and can be determined, for example, by manual measurement. The physical distance 1630 can then be associated with an image distance in the image data captured by the image capture device 1624, the image distance corresponding to the position where the marker 1612 appears in the captured image data. That is, the static physical distance (physical distance 1630) represented by the second vertical position accessed in action 1406 of method 1400 is determined.
[0178] In some implementations, the static physical distance can be 0, such as by placing marker 1612 close to vehicle 1620. This simplifies distance calculations, but may not be possible in all configurations, especially if marker 1612 is not visible in the field of view of image capture device 1624.
[0179] Figure 16 An exemplary process for associating a second vertical position with a static physical distance is shown. However, other implementations are possible, such as using objects (e.g., symbols) instead of surface-based markers. Furthermore, Figure 16 The process described in the text does not need to be in Figure 14 The method 1400 is not executed in the context of the method in the second vehicle, but can be executed before the method as part of the initialization or calibration of the image capture device in the second vehicle.
[0180] Due to perspective, the relationship between real-world following distance (the physical distance between the first and second vehicles in image data 1500) and image distance in the image data (e.g., the number of pixels between the first and second vehicles as represented in image 1500) is not fixed in ordinary image data from image capture devices within vehicles. That is, the higher a pixel is vertically in the image data (the further forward it appears in physical space), the greater the distance represented by that pixel. Therefore, determining the following distance between vehicles based on image data is challenging. To address this, Figure 14 Method 1400 transforms image data (or at least key points of image data) to achieve a fixed relationship between image distance and physical distance (e.g., the physical distance between a first vehicle and a second vehicle). This will be discussed with reference to actions 1408 and 1410 below. This fixed relationship can be expressed, for example, as a ratio between the number of pixels in the image and the physical distance represented by said number of pixels. For example, the ratio of image distance to physical distance could be 1 meter per 10 pixels, 1 meter per 50 pixels, 1 meter per 100 pixels, or any other suitable ratio. Furthermore, in some cases, two different fixed relationships can be used, such as a first ratio between a first number of pixels in the horizontal direction of the image and the physical distance represented by said number of pixels, and a second ratio between a second number of pixels in the vertical direction of the image and the physical distance represented by said number of pixels. In an illustrative example, a physical distance of one meter is represented by 75.998 pixels in the horizontal direction (x-axis) and a physical distance of one meter is represented by 109.202 pixels in the vertical direction (y-axis). These figures are merely illustrative, and any ratio may be used appropriately for a given application.
[0181] In action 1408, at least one processor determines a transformed first vertical position by applying an image transformation matrix to a first vertical position determined in action 1404. In action 1410, at least one processor determines a transformed second vertical position by applying an image transformation matrix to a second vertical position. The image transformation matrix is a matrix that transforms image data into a bird's-eye view of the image when applied to image data set for a specific image capture device. That is, the image transformation matrix transforms the image data into a top-down view where a fixed relationship exists between the physical following distance and the image distance (e.g., the image distance can be converted to a physical distance by applying a fixed ratio relating the image distance to the physical distance). In other words, in the transformed image, pixels represent the set physical distance, regardless of the pixel's position in the image. This is referred to below. Figure 17 Let's discuss this in detail. For example, an example of how to obtain an image transformation matrix is discussed in U.S. Provisional Patent Application No. 63 / 537,875, which is incorporated herein by reference in its entirety.
[0182] Figure 17 It shows a reference-based Figure 15 The image data 1500 discussed is transformed into image data 1700. Specifically, the transformed image data 1700 represents a portion of image data 1500, as shown in image data 1500, extending from the bottom of image data 1500 to the vehicle 1520 above. Transformed image data 1700 can be obtained by applying an image transformation matrix to image data 1500 (or a portion of its first and second image data). Figure 17 The image data 1700 shown is transformed, including data corresponding to... Figure 15 The first region 1750, a part of the first region 1550, and corresponding to Figure 15 The second region 1560 is a part of the second region 1760. Figure 17 The image data 1700 shown includes transformed image data such as a representation 1732 of road 1532, which is shown as represented by representations 1734 and 1736 of boundaries 1534 and 1536, respectively. The transformed image data 1700 also includes a representation 1720 of vehicle 1520 and a representation 1722 of the engine hood 1522 of a second vehicle. Also... Figure 17 The image shows a transformed first vertical position 1740, which represents a transformation of the first vertical position as determined in action 1408. Also... Figure 17 The image shows a transformed second vertical position 1742, which represents a transformation of the second vertical position as determined in action 1410.
[0183] Transformed image data (such as, Figure 17 (As shown) does not need to have the same resolution or aspect ratio as the image data before the transformation. This can be achieved by comparison. Figure 15 and Figure 17 It can be seen that, compared to image 1500, the transformed image data 1700 is significantly taller than wide. Furthermore, in some aspects, the transformed image data may not be a completely faithful reproduction of the actual appearance of the scene when viewed from above. For example, while representation 1720 may represent the shape and proportions of a transformed vehicle 1520, image data 1500 may not include data showing what the actual top of vehicle 1520 looks like. In this respect, representation 1720 could be image data representing the rear of vehicle 1520, transformed to the shape and proportions of a top view of vehicle 1520.
[0184] In some implementations, actions 1408 and 1410 of method 1400 may require transformations of important portions of the image data, such as... Figure 17 As shown, the transformed first vertical position 1740 and the transformed second vertical position 1742 are identified in the transformed image data. However, this is not strictly necessary; the image transformation matrix can be directly applied to the first and second vertical positions to determine the transformed first and second vertical positions. This method can significantly reduce the computational burden of method 1400.
[0185] Return to Figure 14 In method 1400, at point 1412, at least one processor determines the image distance between a transformed first vertical position and a transformed second vertical position. This is in Figure 17 The image distance is shown as 1744 by way of example. The image distance can be, for example, the number of pixels between a transformed first vertical position and a transformed second vertical position.
[0186] At 1414, at least one processor bases its work on the image distance determined at 1412 and a reference. Figure 15 and Figure 16 The static physical distance discussed defines the following distance as the physical distance between the first and second vehicles. Specifically, the ratio of physical distance to image distance is applied to the image distance determined at 1412 (…). Figure 17 In the example, the image distance is 1744), to determine the physical distance represented by the determined image distance. For example, how such a ratio of physical distance to image distance can be determined is discussed in detail in U.S. Provisional Patent Application No. 63 / 537,875, which is incorporated herein by reference in its entirety. The static physical distance discussed with reference to Action 1406 is added to the determined physical distance to obtain the following distance between the first vehicle and the second vehicle.
[0187] At 1416, the determined following distance is output (as at least a portion of the analysis data in 408 of method 400 and / or method 1000). For example, the following distance may be stored in a non-transitory processor-readable storage medium of the device performing method 400 or method 1000, or it may be transmitted to a remote device via a communication interface.
[0188] While the invention has been described with respect to non-limiting embodiments, it should be understood that the invention is not limited to the disclosed embodiments. Those skilled in the art will understand that the disclosed invention is intended to cover various modifications and equivalent arrangements included within the scope of the appended claims. Therefore, the invention should not be limited to any of the described embodiments.
[0189] Throughout this specification and the appended claims, infinitive verb forms such as “to operate” or “to couple” are frequently used. Unless the context otherwise specifies, such infinitive verb forms are used in an open and inclusive manner, such as “to at least operate” or “to atleast couple”.
[0190] The accompanying drawings are not necessarily to scale and may be shown using dashed lines, graphical representations, and fragmentary views. In some cases, details that are unnecessary for understanding the exemplary embodiments or that make other details difficult to perceive may have been omitted.
[0191] The specification includes various implementations in the form of block diagrams, schematic diagrams, and flowcharts. Those skilled in the art will understand that any function or operation within such block diagrams, schematic diagrams, and flowcharts can be implemented using various hardware, software, firmware, or combinations thereof. As a non-limiting example, the various embodiments described herein can be implemented using one or more of the following: application-specific integrated circuits (ASICs), standard integrated circuits (ICs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), computer programs executed by any number of computers or processors, programs executed by one or more control units or processor units, firmware, or any combination thereof.
[0192] This disclosure includes a description of several processors. These processors can be implemented as any hardware capable of processing data, such as application-specific integrated circuits (ASICs), standard integrated circuits (ICs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), logic circuits, or any other suitable hardware. This disclosure also includes a description of several non-transitory processor-readable storage media. These non-transitory processor-readable storage media can be implemented as any hardware capable of storing data, such as magnetic drives, flash drives, RAM, or any other suitable data storage hardware. Furthermore, references to data or information stored at a device generally refer to data information stored on a non-transitory processor-readable storage medium of the device.
Claims
1. A method comprising: The input image data, obtained from the vehicle's perspective, is accessed by a vehicle device located at the vehicle. The input image data includes a first region and a second region, each having an input pixel density. Generate first image data, the first image data at least partially representing the first region and having a first pixel density; Generate second image data, the second image data at least partially representing the second region, and having a second pixel density less than the first pixel density; Analysis data is generated by performing at least one image analysis model on the first image data and the second image data; Generate output image data, which represents the first region and the second region and has the second pixel density; Output the analysis data; as well as Output the image data.
2. The method according to claim 1, wherein, Outputting the output image data includes outputting the output image data to at least one non-transitory processor-readable storage medium at the vehicle equipment.
3. The method according to claim 1, wherein, Outputting the output image data includes transmitting the output image data to a device remote from the vehicle via at least one communication interface of the vehicle equipment.
4. The method according to claim 1, wherein, Outputting the analysis data includes transmitting the analysis data to a device remote from the vehicle via at least one communication interface of the vehicle equipment.
5. The method according to claim 1, wherein: The input image data also includes a third region having the input pixel density; The method further includes: generating third image data, the third image data at least partially representing the third region, and having a third pixel density that is less than the first pixel density and greater than the second pixel density; Generating the analysis data includes generating the analysis data by performing the at least one image analysis model on the first image data, the second image data, and the third image data; and Generating the output image data includes generating the output image data representing the first region, the second region, and the third region at the second pixel density.
6. The method according to claim 1, wherein: The first region represents real-world content that is farther away from the vehicle than the real-world content represented by the second region.
7. The method according to claim 1, wherein: The first image data represents the entire first region; and The second image data represents the entire second region.
8. The method according to claim 1, wherein: The first image data represents the first cropped portion of the first region; and The second image data represents the second cropped portion of the second region.
9. The method according to claim 1, wherein, Generating the analysis data by performing at least one image analysis model on the first image data and the second image data includes: A trained object detection model is executed on the first image data and the second image data.
10. The method according to claim 1, wherein, Generating the analysis data by performing at least one image analysis model on the first image data and the second image data includes: A following distance detection model is performed on the first image data and the second image data.
11. The method according to claim 1, wherein, Accessing the input image data includes capturing the input image data using an image capture device located at the vehicle.
12. The method according to claim 1, wherein, Accessing the input image data includes receiving the input image data from an image capture device that is communicatively coupled to the vehicle equipment.
13. A system comprising: A vehicle device located at a vehicle, the vehicle device including at least one processor and at least one non-transitory processor-readable storage medium communicatively coupled to the at least one processor, the at least one non-transitory processor-readable storage medium storing processor-executable instructions that, when executed by the at least one processor, cause the vehicle device to: Access represents input image data obtained from the perspective of the vehicle, the input image data including a first region and a second region, each of the first region and the second region having an input pixel density; The at least one processor generates first image data, the first image data at least partially representing the first region and having a first pixel density; The at least one processor generates second image data, the second image data at least partially representing the second region, and having a second pixel density less than the first pixel density; The at least one processor generates analysis data by executing at least one image analysis model on the first image data and the second image data; The at least one processor generates output image data, which represents the first region and the second region and has the second pixel density; Output the analysis data; as well as Output the image data.
14. The system according to claim 13, wherein, The processor that causes the vehicle equipment to output the output image data has executable instructions that cause the at least one processor to output the output image data to the at least one non-transitory processor-readable storage medium at the vehicle equipment for storage.
15. The system according to claim 13, wherein: The vehicle equipment also includes at least one communication interface; and The processor executes instructions that cause the vehicle equipment to output the output image data, causing the at least one communication interface to transmit the output image data to a device remote from the vehicle.
16. The system according to claim 13, wherein: The vehicle equipment also includes at least one communication interface; as well as The processor-executable instructions that cause the vehicle equipment to output the analysis data cause the at least one communication interface to transmit the analysis data to a device remote from the vehicle.
17. The system according to claim 13, wherein: The input image data also includes a third region having the input pixel density; The processor executable instructions further cause the at least one processor to: generate third image data, the third image data at least partially representing the third region, and having a third pixel density that is less than the first pixel density and greater than the second pixel density; The processor-executable instructions that cause the at least one processor to generate the analysis data cause the at least one processor to generate the analysis data by executing the at least one image analysis model on the first image data, the second image data, and the third image data; as well as The processor executable instructions that cause the at least one processor to generate the output image data cause the at least one processor to generate the output image data representing the first region, the second region, and the third region at the second pixel density.
18. The system according to claim 13, wherein: The first region represents real-world content that is farther away from the vehicle than the real-world content represented by the second region.
19. The system according to claim 13, wherein: The first image data represents the entire first region; and The second image data represents the entire second region.
20. The system according to claim 13, wherein: The first image data represents the first cropped portion of the first region; and The second image data represents the second cropped portion of the second region.
21. The system according to claim 13, wherein, The processor-executable instructions that cause the at least one processor to generate the analysis data by executing at least one image analysis model on the first image data and the second image data cause the at least one processor to: A trained object detection model is executed on the first image data and the second image data.
22. The system according to claim 13, wherein, The processor-executable instructions that cause the at least one processor to generate the analysis data by executing at least one image analysis model on the first image data and the second image data cause the at least one processor to: A following distance detection model is performed on the first image data and the second image data.
23. The system according to claim 13, wherein: The vehicle equipment also includes at least one communication interface; as well as The processor that enables the system to access the input image data executes instructions that cause the vehicle equipment to receive the input image data from an image capture device communicatively coupled to the vehicle equipment via the at least one communication interface.
24. The system of claim 23, further comprising the image capture device.
25. A method comprising: The first image data is accessed by a vehicle device located at the vehicle, the first image data representing a first region obtained from the vehicle's viewpoint and having a first pixel density; Accessing second image data via the vehicle equipment, the second image data representing a second region obtained from the vehicle's viewpoint and having a second pixel density less than the first pixel density; Analysis data is generated by performing at least one image analysis model on the first image data and the second image data; Generate output image data, which represents the first region and the second region and has the second pixel density; Output the analysis data; as well as Output the image data.
26. The method according to claim 25, wherein, Outputting the output image data includes outputting the output image data to at least one non-transitory processor-readable storage medium at the vehicle equipment.
27. The method according to claim 25, wherein, Outputting the output image data includes transmitting the output image data to a device remote from the vehicle via at least one communication interface of the vehicle equipment.
28. The method according to claim 25, wherein, Outputting the analysis data includes transmitting the analysis data to a device remote from the vehicle via at least one communication interface of the vehicle equipment.
29. The method according to claim 25, wherein: The method further includes accessing third image data via the vehicle equipment, the third image data representing a third region obtained from the vehicle's viewpoint, and having a third pixel density that is less than the first pixel density and greater than the second pixel density; Generating the analysis data includes generating the analysis data by performing at least one image analysis model on the first image data, the second image data, and the third image data; as well as Generating the output image data includes generating the output image data representing the first region, the second region, and the third region at the second pixel density.
30. The method of claim 25, wherein: The first region represents real-world content that is farther away from the vehicle than the real-world content represented by the second region.
31. The method according to claim 25, wherein, Generating the analysis data by performing at least one image analysis model on the first image data and the second image data includes: A trained object detection model is executed on the first image data and the second image data.
32. The method according to claim 25, wherein, Generating the analysis data by performing at least one image analysis model on the first image data and the second image data includes: A following distance detection model is performed on the first image data and the second image data.
33. The method according to claim 25, wherein: Accessing the first image data includes capturing the first image data via first image capture hardware positioned at the vehicle; and Accessing the second image data includes capturing the second image data via second image capture hardware located at the vehicle.
34. The method according to claim 25, wherein: Accessing the first image data includes receiving the first image data from a first image capture hardware located at the vehicle and communicatively coupled to the vehicle equipment; as well as Accessing the second image data includes receiving the second image data from a second image capture hardware located at the vehicle and communicatively coupled to the vehicle equipment.
35. A system comprising: A vehicle device located at a vehicle, the vehicle device including at least one processor and at least one non-transitory processor-readable storage medium communicatively coupled to the at least one processor, the at least one non-transitory processor-readable storage medium storing processor-executable instructions that, when executed by the at least one processor, cause the vehicle device to: Access first image data, the first image data representing a first region obtained from the perspective of the vehicle and having a first pixel density; Access second image data, which represents a second region obtained from the vehicle's viewpoint and has a second pixel density that is less than the first pixel density; The at least one processor generates analysis data by executing at least one image analysis model on the first image data and the second image data; The at least one processor generates output image data, which represents the first region and the second region and has the second pixel density; Output the analysis data; as well as Output the image data.
36. The system according to claim 35, wherein, The processor executable instructions that cause the vehicle equipment to output the output image data cause the vehicle equipment to output the output image data to at least one non-transitory processor-readable storage medium at the vehicle equipment for storage.
37. The system according to claim 35, wherein: The vehicle equipment also includes at least one communication interface; and The processor executes instructions that cause the vehicle equipment to output the output image data, causing the at least one communication interface to transmit the output image data to a device remote from the vehicle.
38. The system according to claim 35, wherein: The vehicle equipment also includes at least one communication interface; and The processor-executable instructions that cause the vehicle equipment to output the analysis data cause the at least one communication interface to transmit the analysis data to a device remote from the vehicle.
39. The system according to claim 35, wherein: The processor-executable instructions also cause the vehicle equipment to access third image data, the third image data representing a third region obtained from the vehicle's viewpoint, and having a third pixel density that is less than the first pixel density and greater than the second pixel density; The processor-executable instructions that cause the at least one processor to generate the analysis data cause the at least one processor to generate the analysis data by executing the at least one image analysis model on the first image data, the second image data, and the third image data; as well as The processor executable instructions that cause the at least one processor to generate the output image data cause the at least one processor to generate the output image data representing the first region, the second region, and the third region at the second pixel density.
40. The system according to claim 35, wherein: The first region represents real-world content that is farther away from the vehicle than the real-world content represented by the second region.
41. The system according to claim 35, wherein, The processor-executable instructions that cause the at least one processor to generate the analysis data by executing at least one image analysis model on the first image data and the second image data cause the at least one processor to: A trained object detection model is executed on the first image data and the second image data.
42. The system according to claim 35, wherein, The processor-executable instructions that cause the at least one processor to generate the analysis data by executing at least one image analysis model on the first image data and the second image data cause the at least one processor to: A following distance detection model is performed on the first image data and the second image data.
43. The system according to claim 35, wherein: The vehicle equipment also includes at least one communication interface; The processor executable instructions that enable the vehicle equipment to access the first image data cause the vehicle equipment to receive the first image data from first image capture hardware located at the vehicle via the at least one communication interface; as well as The processor executable instructions that enable the vehicle equipment to access the second image data cause the vehicle equipment to receive the second image data from second image capture hardware located at the vehicle via the at least one communication interface.
44. The system of claim 43 further includes the first image capture hardware and the second image capture hardware.