Method and system for estimating the direction of motion of an object
By analyzing feature changes in object components, the system efficiently estimates the direction of motion, addressing inefficiencies in existing systems and enhancing vehicle safety.
Patent Information
- Application Number
- JP2025544955
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-02-06
- Filing Date
- 2024-01-16
- Publication Date
- 2026-02-10
AI Technical Summary
Existing systems for estimating the direction of motion of objects in vehicles are inefficient due to the use of simplistic approaches that result in false positives and take a long time, leading to sudden braking and potential accidents due to poor lane discipline and narrow reaction areas.
A method and system that utilize multiple data items from sensors to divide and analyze components of an object based on feature changes, selecting components with minimal change to quickly match and estimate the direction of motion, reducing processing time and improving accuracy.
The system enables faster and more accurate estimation of object direction, enhancing safety by improving reaction areas and reducing the likelihood of accidents.
Smart Images

Figure 2026505093000001_ABST
Abstract
Description
[Technical Field]
[0001] The present subject matter relates generally to data processing and motion estimation in vehicles, and more particularly, but not exclusively, the present subject matter relates to methods and systems for estimating the direction of motion of an object. [Background technology]
[0002] Currently, traffic volume is increasing due to an increase in the number of vehicles on roads. Traffic lacks lane discipline and involves a mixture of various types of objects moving on the road. Various types of objects include people, animals, and vehicles. Objects such as people, animals, and vehicles can exhibit large lateral movements at various speeds. Vehicles include cars, bicycles, taxis, autorickshaws, and buses, each of which moves at different speeds. The lateral movements of objects can be caused by poor lane discipline, sudden lane changes, queue jumping in traffic jams, and obstacles on the road (e.g., sudden movements of people or animals). Therefore, such conditions lead to smaller reaction areas for systems such as automated driving control (ACC), automatic braking systems, and collision avoidance systems. The reaction area is the area of a vehicle (located in front and behind) that is designed to crush or shatter if it collides with another object with a large force. ACC, automatic braking systems, and collision avoidance systems may be systems designed to enable a vehicle to maintain a safe following distance, stay within speed limits, and automatically brake. These systems automatically adjust the vehicle speed to provide road safety when the reaction area is small. Summary of the Invention [Problem to be solved by the invention]
[0003] Typically, due to poor lane discipline and a narrow reaction area between the vehicle and the object, a vehicle's ACC responds by sudden braking. Such sudden braking can lead to accidents, vehicle damage, shortened vehicle lifespan, and injury to the object. Existing systems attempt to overcome these issues by estimating the object's direction by matching the object across multiple input frames based on its appearance features. Appearance features are extracted based on image pixel information across multiple input frames. However, because objects are matched one by one across multiple input frames, estimating the direction takes a long time, affecting the operation of the ACC while driving. Furthermore, existing systems use a simplistic approach that may result in false positives during object matching.
[0004] The information disclosed in the Background section of this disclosure is intended to enhance understanding of the general background of the present invention and should not be taken as an admission or in any way suggesting that this information forms prior art already known to those skilled in the art. [Means for solving the problem]
[0005] In one embodiment, the present disclosure relates to a method for estimating a direction of motion of an object. The method includes receiving a plurality of data items of the object from one or more sensors installed in a vehicle, along with information associated with a plurality of portions of the object. The method includes dividing each of the plurality of data items into a respective plurality of components based on a type of the plurality of data items. The method includes determining, for each portion of the plurality of portions of the object, a first information change and a second information change in each of the plurality of components based on one or more features of the plurality of portions of the object. The first information change and the second information change are determined by, for each of the plurality of portions of the object, identifying differences between one or more features of the portion of the object and one or more features of a preceding portion of the object and a following portion of the object, respectively. The method includes, for each portion of the plurality of portions of the object, selecting a component from the plurality of components based on the first information change and the second information associated with the corresponding portion of the plurality of data items. The method further includes using the selected components for at least one feature in the data item from the plurality of features to identify a corresponding feature in a subsequent data item from the plurality of features, and then estimating a direction of motion of the object based on the identified at least one feature.
[0006] In one embodiment, the present disclosure relates to a direction estimation system for estimating a direction of motion of an object. The direction estimation system includes a processor and a memory communicatively connected to the processor. The memory stores instructions executable by the processor, and execution of the instructions causes the processor to estimate the direction of motion of the object. The direction estimation system receives a plurality of data items of the object from one or more sensors installed in a vehicle, along with information associated with a plurality of portions of the object. The direction estimation system divides each data item of the plurality of data items into a respective plurality of components based on a type of the plurality of data items. For each of the plurality of portions of the object, the direction estimation system determines a first information change and a second information change in each of the plurality of components based on one or more feature quantities of the plurality of portions of the object. The first information change and the second information change are determined by, for each of the plurality of portions of the object, identifying differences between one or more feature quantities of the portion of the object and one or more feature quantities of a preceding portion of the object and a succeeding portion of the object, respectively. The direction estimation system, for each of a plurality of regions of the object, selects a component from the plurality of components based on a first information change and a second information change associated with the corresponding region for each data item of the plurality of data items. Further, the direction estimation system, for at least one region in the data items from the plurality of regions, identifies a corresponding region in a subsequent data item from the plurality of data items using the selected respective component. Thereafter, the direction estimation system estimates a direction of motion of the object based on the identified at least one region.
[0007] The foregoing summary is illustrative and is not intended to be in any way limiting. In addition to the exemplary aspects, embodiments, and features described above, further aspects, embodiments, and features will become apparent by reference to the drawings and the following detailed description. [Brief explanation of the drawings]
[0008] [Figure 1]FIG. 1 illustrates an exemplary environment for estimating the direction of motion of an object according to some embodiments of the present disclosure. [Figure 2] FIG. 2 shows a detailed block diagram of a direction estimation system for estimating the direction of motion of an object according to some embodiments of the present disclosure. [Figure 3A] FIG. 3A illustrates an exemplary embodiment for estimating the direction of motion of an object consistent with some embodiments of the present disclosure. [Figure 3B] FIG. 3B illustrates an exemplary embodiment for estimating the direction of motion of an object consistent with some embodiments of the present disclosure. [Figure 3C] FIG. 3C illustrates an exemplary embodiment for estimating the direction of motion of an object consistent with some embodiments of the present disclosure. [Figure 3D] FIG. 3D illustrates an exemplary embodiment for estimating the direction of motion of an object consistent with some embodiments of the present disclosure. [Figure 3E] FIG. 3E illustrates an example scenario showing a reaction region between a vehicle and an object consistent with some embodiments of the present disclosure. [Figure 4] FIG. 4 shows a flowchart illustrating an example method for estimating the direction of motion of an object consistent with some embodiments of the present disclosure. [Figure 5] FIG. 5 illustrates a block diagram of an exemplary computer system for implementing embodiments consistent with this disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0009] The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, serve to explain the disclosed principles. In the drawings, the leftmost digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the figures to reference like features and components. Some embodiments of systems and / or methods corresponding to embodiments of the present subject matter will now be described, by way of example only, with reference to the accompanying drawings, in which:
[0010] Those skilled in the art will appreciate that any block diagrams herein represent conceptual views of illustrative systems embodying the principles of the present subject matter. Similarly, any flowcharts, flow diagrams, state transition diagrams, pseudocode, etc. will be understood to represent various processes that may be substantially represented on a computer-readable medium and executed by a computer or processor, whether or not such a computer or processor is explicitly shown.
[0011] The word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any embodiment or implementation of the present subject matter described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.
[0012] While the present disclosure is susceptible to various modifications and alternative forms, specific embodiments thereof have been shown by way of example in the drawings and are described in detail below. It is to be understood, however, that it is not intended to limit the disclosure to the disclosed form, but on the contrary, the disclosure is intended to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the disclosure.
[0013] The terms "comprises," "comprising," or other variations thereof are intended to be non-exclusive inclusive, and a setup, apparatus, or method consisting of a list of components or steps does not include only those components or steps, but may also include other components or steps not expressly listed or inherent in such setup, apparatus, or method. In other words, one or more elements in a system or apparatus preceded by "comprises...a" does not, without more constraints, exclude the presence of other or additional elements in the system or method. The terms "includes," "including," or other variations thereof are intended to cover a non-exclusive inclusion, and a setup, apparatus, or method that includes a list of components or steps does not include only those components or steps, but may include other components or steps that are not expressly listed or that are inherent in such setup, apparatus, or method. In other words, one or more elements in a system or apparatus prefaced by "includes...a" does not, without more constraints, exclude the presence of other or additional elements in the system or method.
[0014] In the following detailed description of embodiments of the present disclosure, reference is made to the accompanying drawings that form a part hereof, and in which are shown, by way of illustration, specific embodiments in which the disclosure may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the disclosure, and it should be understood that other embodiments may be utilized and changes may be made without departing from the scope of the present disclosure. Accordingly, the following description is not to be taken in a limiting sense.
[0015] The present disclosure relates to a method and a system for estimating the direction of motion of an object. Generally, various types of objects on a road exhibit lateral movement during traffic due to insufficient lane enforcement, sudden lane changes, etc. Those skilled in the art will appreciate that various types of objects may exhibit other movements, not limited to lateral movement. Various types of objects on a road include vehicles, people, animals, etc. Insufficient lane enforcement can result in a narrow reaction area between a vehicle and an object. For example, insufficient lane enforcement may result in a small reaction area between a vehicle and a person suddenly crossing the road. Such a small reaction area can cause the vehicle to brake hard, which can lead to an accident, vehicle damage, etc. To overcome the above problem, the present disclosure estimates the direction of an object by selecting components of each part of the object. The present disclosure utilizes multiple data items of the object and information about the object's parts to estimate the direction of motion of the object. In particular, the present disclosure determines, for each data item, a change in the position of the object's parts. The present disclosure utilizes the change in the position of each part of the object to identify the components of each part of the object. That is, the component of each part of the object that has the smallest change in position of each part of the object is identified. The present disclosure uses the identified component to match the part of the object in a data item with the corresponding part in a subsequent data item. Then, the present disclosure estimates the direction of movement of the object based on the matched part of the object. The present disclosure performs matching of the part of the object in the selected component. Therefore, the time required for matching the part of the object is reduced. As a result, the present disclosure can estimate the movement of the object faster, which is helpful in avoiding accidents while driving.
[0016] FIG. 1 illustrates an exemplary environment 100 for estimating the direction of motion of an object. The exemplary environment 100 includes a direction estimation system 101 connected to a vehicle 102 via a communication network (not explicitly shown in FIG. 1 ). In one embodiment, the direction estimation system 101 may be implemented in the vehicle 102. The vehicle 102 may include, but is not limited to, a car, a taxi, etc. The vehicle 102 includes one or more sensors 103. The vehicle 102 may also include other components (not explicitly shown in FIG. 1 ), such as a steering system, an ACC system, an ADAS unit, etc. The one or more sensors 103 of the vehicle 102 may include, but are not limited to, an imaging sensor, a depth sensor, etc. The one or more sensors 103 may receive multiple data items of a potentially moving object. The object may be moving in the same direction as the vehicle 102 or in the opposite direction to the vehicle 102. For example, if the vehicle 102 is moving north, the object may also be moving along the same direction, and the one or more sensors 103 may receive multiple data items of the object. In another example, if the vehicle 102 is moving north, an object may be moving in a direction opposite to the direction of the vehicle 102, and one or more sensors 103 may receive multiple data items of the object. The object may include, but is not limited to, a car, a bicycle, a truck, a bus, a person, an animal, etc. Those skilled in the art will understand that the object may be any entity in motion, and the direction of the object's motion is not limited to the direction of motion of the vehicle 102.
[0017] Further, the direction estimation system 101 may include a processor 104, an I / O interface 105, and a memory 106. The processor 104 may include a microcontroller, a microprocessor, an embedded processor, etc. In some embodiments, the memory 106 may be communicatively coupled to the processor 104. The memory 106 stores instructions executable by the processor 104 that, when executed, cause the direction estimation system 101 to estimate the direction of motion of an object as disclosed in this disclosure. The processor 104 may communicate input and / or output signals using the I / O interface 105. For example, the processor 104 may communicate with the vehicle 102 via the I / O interface 105 to estimate the direction of motion of an object.
[0018] During movement, the vehicle 102 equipped with the direction estimation system 101 may receive multiple data items of an object during movement. The object may be moving toward the vehicle 102 or may be moving in a direction opposite to the direction of the vehicle 102. The multiple data items may be received from one or more sensors 103. The multiple data items may include, but are not limited to, images, videos, depth images, etc. The direction estimation system 101 may also receive information associated with multiple portions of the object. In one embodiment, the direction estimation system 101 may identify multiple portions of the object and generate information associated with the multiple portions of the object using the multiple data items of the object. For example, a bounding box technique may be used to obtain the multiple portions of the object. The multiple portions of the object may include, but are not limited to, headlights, tires, side mirrors, body, etc. One skilled in the art will appreciate that the portions of the object may vary depending on the object and are not limited to the above-mentioned portions. The information associated with the multiple portions of the object may include, but is not limited to, location information, etc. The direction estimation system 101 may divide each of the plurality of data items into a plurality of respective components based on the type of the plurality of data items. For example, the plurality of data items may be images. In such a case, the image is divided into respective components, such as image channels. Information associated with the plurality of portions of the object is mapped to each of the plurality of components. Furthermore, the direction estimation system 101 may determine a first information change and a second information change for each of the plurality of components. The first information change and the second information change are determined for each portion from the plurality of portions of the object and for each data item of the plurality of data items. The first information change and the second information change are determined based on one or more features of the plurality of portions of the object. The one or more features may include, but are not limited to, histogram features, color features, etc. For each of the plurality of portions of the object, the direction estimation system 101 may determine the first information change and the second information change by identifying differences between one or more features of the portion of the object and one or more features of a preceding portion of the object and a following portion of the object, respectively.In the present disclosure, a preceding portion of an object may refer to any portion that appears before a portion of the object for which a first information change is identified. Similarly, in the present disclosure, a subsequent portion of an object may refer to any portion that appears after a portion of the object for which a second information change is identified. The direction estimation system 101 may select a component from the plurality of components based on the first information change and the second information change associated with the corresponding portion for each portion of the plurality of portions of the object and for each data item of the plurality of data items. In particular, the first information change and the second information change associated with each portion of the plurality of portions of the component are compared for each data item of the plurality of data items with the first information change and the second information change associated with each portion of the plurality of portions of other components from the plurality of components. Based on this comparison, the direction estimation system 101 selects a component from the plurality of components that has the smallest first information change and the smallest second information change. Furthermore, the direction estimation system 101 may determine whether at least one portion in the data items from the plurality of portions is present in a subsequent data item from the plurality of data items using the respective selected component. The direction estimation system 101 may then estimate the direction of motion of the object based on the identified portion. The direction estimation system 101 estimates the movement of an object by projecting a line from at least one location in a data item to at least one corresponding location in a subsequent data item. Those skilled in the art will appreciate that the direction of movement of an object may be estimated using other techniques and is not limited to the above-described projection line. The estimated direction may be communicated to an ADAS unit of the vehicle 102 to avoid accidents when the object overtakes the vehicle 102.
[0019] FIG. 2 is a detailed block diagram of a direction estimation system for estimating the direction of motion of an object according to some embodiments of the present disclosure.
[0020] The data 108 in the memory 106 and one or more modules 107 of the direction estimation system 101 are described in detail in this embodiment.
[0021] In one implementation, the one or more modules 107 may include, but are not limited to, a receiving module 201, a segmentation module 202, an information determination module 203, a site selection module 204, a site identification module 205, a direction estimation module 206, and other modules 207 associated with the direction estimation system 101.
[0022] In one embodiment, the data 108 in the memory 106 may include input data 208 , component data 209 , information change data 210 , direction data 211 , and other data 212 related to the direction estimation system 101 .
[0023] In one embodiment, the data 108 in the memory 106 may be processed by one or more modules 107 of the direction estimation system 101. The one or more modules 107 may be configured to perform the steps of the present disclosure using the data 108 to estimate the direction of motion of an object. In one embodiment, each of the one or more modules 107 may be a hardware unit that is external to the memory 106 and may be connected to the direction estimation system 101. In one embodiment, one or more modules 107 may be implemented as a dedicated unit, and when so implemented, such modules may be configured to have the functionality defined in this disclosure to result in novel hardware. As used herein, the term module may refer to an Application Specific Integrated Circuit (ASIC), an electronic circuit, a Field-Programmable Gate Array (FPGA), a Programmable System-on-Chip (PSoC), a combinational logic circuit, and / or other suitable component that provides the described functionality.
[0024] One or more modules 107 may be implemented in any direction estimation system 101 to estimate the direction of motion of an object in conjunction with data 108 .
[0025] The input data 208 may include multiple data items of the object. The multiple data items may include image data, depth data, etc. Additionally, the input data 208 may include information associated with multiple portions of the object. The information may include position information for the multiple portions of the object.
[0026] The component data 209 may include details about components of the data items. The components may be based on the type of the data items. The components may include image channels, RGB channels, YUV channels, depth coordinates, etc.
[0027] The information change data 210 may include details regarding a first information change and a second information change. The first information change and the second information change are determined based on one or more feature quantities of multiple parts of the object. The one or more feature quantities may include a histogram feature quantity, a color feature quantity, a movement feature quantity, etc.
[0028] The direction data 211 may include information regarding the estimated direction of motion of the object.
[0029] Other data 212 may store data including temporary data and temporary files generated by modules to perform various functions of direction estimation system 101 .
[0030] The receiving module 201 may receive multiple data items of an object from one or more sensors 103, along with information associated with multiple portions of the object. The one or more sensors 103 may be associated with the vehicle 102. The segmentation module 202 may segment each data item of the multiple data items into a respective plurality of components. The segmentation module 202 segments each data item based on the type of the multiple data items. For example, if the multiple data items are a sequence of image frames, the segmentation module 202 may segment each image into corresponding red, blue, and green channels. Furthermore, when segmenting the data items into their respective components, the segmentation module 202 may map information associated with multiple portions of the object in each of the multiple components. For example, consider FIG. 3A. As shown, FIG. 3A illustrates two image frames (a first frame 300 and a second frame 301) of an object, i.e., a car, being received from one or more sensors 103. The car may be passing the vehicle in which the direction estimation system 101 is implemented. The first frame 300 and the second frame 301 are captured by one or more sensors 103 at time T and time T+1, respectively. The first frame 300 and the second frame 301 contain a vehicle, with the vehicle's parts indicated by part boxes 305. Those skilled in the art will appreciate that the part boxes 305 may be in any field of view and are not limited to a vertical view. The part boxes 305 associated with the parts, such as those shown in FIG. 3A, may be unevenly divided across the object and are not limited to an even division. Upon receiving the first frame 300 and the second frame 301, the segmentation module 202 segments the two frames into corresponding red, blue, and green channels. The red channel is indicated by 302, the blue channel is indicated by 303, and the green channel is indicated by 304. The segmentation module 202 maps / replicates information associated with the vehicle's multiple parts in each of the red, blue, and green channels 302, 303, and 304.
[0031] Referring back to FIG. 2, the information determination module 203 may determine, for each of the plurality of portions of the object, a first information change and a second information change for each of the plurality of portions. The first information change and the second information change are determined for each of the plurality of data items based on one or more features of the plurality of portions of the object. The first information change is determined by identifying differences between one or more features of the portion of the object and one or more features of a preceding portion of the object. Similarly, the second information change is determined by identifying differences between one or more features of the portion of the object and one or more features of a succeeding portion of the object. For example, consider FIG. 3B, which illustrates the determination of a first information change and a second information change for the blue channel 303 shown in FIG. 3A. The first information change and the second information change are determined for each portion of the automobile in each channel. First, the information determination module 203 may extract one or more features of the plurality of portions of the automobile. In this scenario, the extracted features may be color features. After extracting the color features, the information determination module 203 may calculate an entropy value for each of the multiple parts of the automobile. As shown, the multiple parts of the automobile are denoted by X1, X2, X3, ..., Xn for the first frame 300. Consider that the entropy value of part X1 is 0.5, part X2 is 0.7, part X3 is 0.8, part X4 is 0.7, etc. Similarly, the multiple parts of the automobile are denoted by Y1, Y2, Y3, ..., Yn for the second frame 301. The entropy value of part Y1 is 0.5, part Y2 is 0.4, part Y3 is 0.8, part Y4 is 0.8, etc. For example, the first information change for part X2 is determined to be 0.2 by subtracting its entropy value of 0.7 by the entropy value of X1 (i.e., 0.5). This value 0.2 is the first information change for part X2 of the automobile. Similarly, the second information change for part Y2 is determined by subtracting the entropy value of part Y3, 0.8, from the entropy value of part Y2, 0.4, resulting in a value of 0.4. This value of 0.4 is the second information change for part Y2 of the car.The information determination module 203 determines the first information and the second information in a similar manner for each region of the vehicle and for each frame of each channel. In one embodiment, the first information change for X3 may be determined by subtracting its entropy value of 0.8 by either the entropy value of X2 (i.e., 0.7) or the entropy value of X1 (i.e., 0.5). Similarly, the second information change for Y2 may be determined by subtracting the entropy value of region Y3 (0.8) or the entropy value of Y4 (0.8) by the entropy value of Y2. Those skilled in the art will understand that the first information change and the second information change may be determined by any preceding region and any following region of the object, respectively. Furthermore, those skilled in the art will understand that the values shown for the regions of the object are for illustrative purposes and are not limited to the above examples. In one embodiment, the values may be either a specific value or a range of values.
[0032] Returning to FIG. 2 , the region selection module 204 may select a component from the plurality of components based on the first information variation and second information associated with each of the plurality of components of the object. The region selection module 204 compares the first information variation and second information variation of each portion of the object of one component with the first information variation and second information variation of each portion of the object of the other components from the plurality of components. Based on the comparison, the region selection module 204 may select a component from the plurality of components having the smallest first information variation and the smallest second information variation. For example, a taillight of a vehicle may have a first information variation of 0.9 and a second information variation of 0.7 in the red channel 302. Similarly, the taillight of the vehicle may have a first information variation of 0.7 and a second information variation of 0.4 in the blue channel 303. Similarly, the taillight of the vehicle may have a first information variation of 0.94 and a second information variation of 0.6 in the green channel 304. In such a case, the region selection module 204 may select the blue channel 303 for the vehicle's taillights because it has the smallest first information change and the smallest second information change. In one embodiment, one or more channels may be selected based on the first information change and the second information change. Those skilled in the art will appreciate that the values shown for the first information change and the second information change are provided for illustrative purposes and are not limited to the above examples. In an embodiment, the values of the first information change and the second information change may be either a specific value or a range of values.
[0033] The region identification module 205 may identify a corresponding region in a subsequent data item from the plurality of data items using the selected components for at least one region in a data item from the plurality of regions. The region identification module 205 may identify the subsequent data item based on a technique such as a sliding window technique. Those skilled in the art will understand that other techniques may be used to identify the subsequent data item and are not limited to the above-mentioned techniques. For example, consider FIG. 3C. Considering the above example, FIG. 3C illustrates an example of identifying a region in a first frame 300 to a corresponding region in a second frame 301. For example, consider the case in FIG. 3C where a region X2 of a car is identified to estimate the direction of the car's motion. Region X2 is matched with each region in a subsequent frame to identify the corresponding region. For example, in this scenario, region X2 is matched with region Y4 and region Y5. In one embodiment, the entropy value of region X2 is subtracted by the entropy values of regions Y4 and Y5. During the subtraction, the part identification module 205 identifies the part X2 of the automobile as being similar to the part Y5 because it has the least information change. Those skilled in the art will appreciate that the part identification module 205 may identify one or more parts of the automobile (i.e., the object) in subsequent frames to estimate the direction of movement of the automobile (i.e., the object), and is not limited to matching only one part of the object as shown in the above example.
[0034] Returning to FIG. 2, the direction estimation module 206 may estimate the direction of motion of the object based on the identified features. The direction estimation module 206 estimates the direction by projecting a line from the identified feature in a data item to the corresponding feature in a subsequent data item. For example, consider FIG. 3D. FIG. 3D is a diagram illustrating the estimation of the direction of motion of a car. As described above, when the car feature X2 is matched with the car feature Y5 in the subsequent frame, a line is projected to obtain the direction of motion of the car, as shown in FIG. 3D.
[0035] FIG. 3E is a diagram illustrating a reaction area between the automobile 306 and the overtaking vehicle 307 according to the above embodiment. The automobile 306 is equipped with a direction estimation system 101. The direction estimation system 101 of the automobile 306 estimates the direction of movement of the overtaking vehicle 307. The direction estimation system 101 of the automobile 306 enables the direction of movement of the overtaking vehicle 307 to be determined more quickly. For example, assume that the speed of the automobile 306 is 80 km / h and the speed of the overtaking vehicle 307 is 100 km / h. The direction estimation system 101 of the automobile 306 estimates the direction of movement of the overtaking vehicle 307 in approximately two milliseconds (2 ms). In such a scenario, the reaction area between the automobile 306 and the overtaking vehicle 307 is approximately 40 m, as shown in Equation 1 below. Thus, the reaction area between the automobile 306 and the overtaking vehicle 307 is improved by estimating the direction of movement of the overtaking vehicle 307 more quickly to avoid any accidents.
[0036]
number
[0037] Those skilled in the art will understand that the response area can be between the vehicle and any object and is not limited to the above examples. The object can be a car, a bus, a person, an animal, etc. Furthermore, those skilled in the art will understand that the response area is one metric for estimating the direction of an object, and that other metric for estimating direction can also be used.
[0038] Additionally, one or more modules 107 may include other modules 207, such as an entropy calculation module, to perform various miscellaneous functions of the direction estimation system 101. The entropy calculation module may calculate an entropy value for each portion of the object based on one or more features of the object. The entropy value is utilized to determine the first information change and the second information change. It will be appreciated that such modules may be represented as a single module or a combination of different modules.
[0039] FIG. 4 shows a flowchart illustrating an example method for estimating the direction of motion of an object consistent with some embodiments of the present disclosure.
[0040] 4, the method 400 may include one or more blocks for performing a process in the direction estimation system 101. The method 400 may be described in the general context of computer-executable instructions. Generally, computer-executable instructions can include routines, programs, objects, components, data structures, procedures, modules, and functions that perform particular functions or implement particular abstract data types.
[0041] The order in which method 400 is described is not intended to be construed as a limitation, and any number of the described method blocks can be combined in any order to implement the method. Moreover, individual blocks may be deleted from the method without departing from the scope of the subject matter described herein. Furthermore, the method may be implemented in any suitable hardware, software, firmware, or combination thereof.
[0042] In block 401, a plurality of data items of an object are received by the receiving module 201 from one or more sensors 103 installed on the vehicle 102, along with information associated with the plurality of portions of the object. The information associated with the plurality of portions of the object comprises location information for the plurality of portions of the object.
[0043] At block 402, the segmentation module 202 segments each of the plurality of data items into a respective plurality of components based on a type of the plurality of data items, such as image data, depth data, etc. Information associated with the plurality of portions of the object is mapped to each of the plurality of components.
[0044] In block 403, the information determination module 203 determines, for each of the plurality of portions of the object, a first information change and a second information change in each of the plurality of components for each of the plurality of data items based on the one or more features of the plurality of portions of the object. The first information change and the second information change are determined, for each of the plurality of portions of the object, by identifying differences between the one or more features of the portion of the object and one or more features of a preceding portion of the object and a succeeding portion of the object, respectively.
[0045] At block 404, the region selection module 204 selects a component from the plurality of components for each region of the plurality of regions of the object based on a first information change and a second information change associated with the corresponding region for each data item of the plurality of data items. In particular, the first information change and the second information change associated with each of the plurality of regions of the component are compared for each data item of the plurality of data items with the first information change and the second information change associated with each of the plurality of regions of other components from the plurality of components. Upon comparison, the component from the plurality of components that has the smallest first information change and the smallest second information change is selected based on the comparison.
[0046] At block 405, the site identification module 205 identifies, for at least one site in a data item from the plurality of sites, a corresponding site in a subsequent data item from the plurality of data items using the respective selected components.
[0047] At block 406, the direction of movement of the object is estimated based on the identified at least one feature by the direction estimation module 206. In particular, the direction estimation module 206 estimates the direction of movement of the object by projecting a line from at least one feature in a data item to at least one corresponding feature in a subsequent data item. (Computing Systems) 5 illustrates a block diagram of an exemplary computer system 500 for implementing embodiments consistent with the present disclosure. In an embodiment, computer system 500 is used to implement direction estimation system 101. Computer system 500 may include a central processing unit (“CPU” or “processor”) 502. In one embodiment, processor 502 incorporates processor 104. Processor 502 may include at least one data processor for performing processing in a virtual memory area network. Processor 502 may include specialized processing units such as an integrated system (bus) controller, a memory management control unit, a floating-point unit, a graphics processing unit, a digital signal processing unit, etc.
[0048] The processor 502 may be arranged to communicate with one or more input / output (I / O) devices 509 and 510 via an I / O interface 501. The I / O interface 501 may use communication protocols / methods such as, but not limited to, audio, analog, digital, mono, RCA, stereo, IEEE-1394, serial bus, universal serial bus (USB), infrared, PS / 2, BNC, coaxial, component, composite, digital visual interface (DVI), high-definition multimedia interface (HDMI), RF antenna, S-video, VGA, IEEE 802.n / b / g / n / x, Bluetooth, wireless telephony (e.g., code division multiple access (CDMA), high-speed packet access (HSPA+), global system for mobile communications (GSM), long-term evolution (LTE), WiMax, etc.).
[0049] Using I / O interface 501, computer system 500 may communicate with one or more I / O devices 509 and 510. For example, input device 509 may be an antenna, keyboard, mouse, joystick, (infrared) remote control, camera, card reader, fax machine, dongle, biometric reader, microphone, touch screen, touch pad, trackball, stylus, scanner, storage device, transceiver, video device / source, etc. Output device 510 may be a printer, fax machine, video display (e.g., cathode ray tube (CRT), liquid crystal display (LCD), light emitting diode (LED), plasma, plasma display panel (PDP), organic light emitting diode display (OLED), etc.), audio speaker, etc.
[0050] In some embodiments, the computer system 500 may comprise the direction estimation system 101. The processor 502 may be disposed in communication with a communication network 511 via a network interface 503. The network interface 503 may communicate with the communication network 511. The network interface 503 may use a connection protocol including, but not limited to, direct connect, Ethernet (e.g., twisted pair 10 / 100 / 1000 base T), Transmission Control Protocol / Internet Protocol (TCP / IP), Token Ring, IEEE 802.11a / b / g / n / x, etc. The communication network 511 may include, but is not limited to, a direct interconnect, a local area network (LAN), a wide area network (WAN), a wireless network (e.g., using a wireless application protocol), the Internet, etc. Using the network interface 503 and the communication network 511, the computer system 500 may communicate with the vehicle 102 and one or more sensors 103 associated with the vehicle 102 to estimate the direction of motion of an object and avoid any accidents during driving. The network interface 503 may use connection protocols including, but not limited to, Direct Connect, Ethernet (e.g., twisted pair 10 / 100 / 1000 Base-T), Transmission Control Protocol / Internet Protocol (TCP / IP), Token Ring, IEEE 802.11a / b / g / n / x, etc.
[0051] The communications network 511 may include, but is not limited to, a direct interconnection, an e-commerce network, a peer-to-peer (P2P) network, a local area network (LAN), a wide area network (WAN), a wireless network (e.g., using a wireless application protocol), the Internet, Wi-Fi, etc. The first and second networks may be dedicated networks or shared networks, which represent an association of different types of networks that communicate with each other using various protocols, such as Hypertext Transfer Protocol (HTTP), Transmission Control Protocol / Internet Protocol (TCP / IP), Wireless Application Protocol (WAP), etc. Additionally, the first and second networks may include various network devices, such as routers, bridges, servers, computing devices, storage devices, etc.
[0052] In some embodiments, processor 502 may be disposed in communication with memory 505 (e.g., RAM, ROM, etc., not shown in FIG. 5 ) via storage interface 504. In one embodiment, memory 505 comprises memory 106. Storage interface 504 may connect to memory 505 including, but not limited to, memory drives, removable disk drives, etc., using connection protocols such as Serial Advanced Technology Attachment (SATA), Integrated Drive Electronics (IDE), IEEE-1394, Universal Serial Bus (USB), Fibre Channel, Small Computer System Interface (SCSI), etc. Memory drives may further include drum, magnetic disk drives, magneto-optical drives, optical drives, Redundant Array of Independent Discs (RAID), solid state memory devices, solid state drives, etc.
[0053] Memory 505 may store a collection of program or database components, including, but not limited to, a user interface 506, an operating system 507, etc. In some embodiments, computer system 500 may store user / application data, such as data, variables, records, etc., as described in this disclosure. Such databases may be implemented as fault-tolerant, relational, scalable, and secure databases, such as Oracle® or Sybase®.
[0054] Operating system 507 may facilitate resource management and operation of computer system 500. Examples of operating systems may include, but are not limited to, APPLE MACINTOSH® OS X, UNIX®, UNIX-like system distributions (e.g., BERKELEY SOFTWARE DISTRIBUTION™ (BSD), FREEBSD™, NETBSD™, OPENBSD™, etc.), LINUX DISTRIBUTIONS™ (e.g., REDHAT™, UBUNTU™, KUBUNTU™, etc.), IBM™ OS / 2, MICROSOFT™ WINDOWS™ (XP™, VISTA™ / 7 / 8, 10, etc.), APPLE® IOS™, GOOGLE® ANDROID™, BLACKBERRY® OS, etc.
[0055] Additionally, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present disclosure. A computer-readable storage medium refers to any type of physical memory in which information or data readable by a processor may be stored. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor to perform steps or stages consistent with the embodiments described herein. The term computer-readable storage medium should be understood to include tangible objects and exclude carrier waves and transient signals, i.e., non-transitory. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, non-volatile memory, hard drives, CD-ROMs, DVDs, flash drives, disks, and any other existing physical storage medium.
[0056] One embodiment of the present disclosure provides a method for estimating the direction of motion of an object, the estimated direction of motion of the object being provided to an ADAS controller of a vehicle to reduce a reaction region between the vehicle and the object.
[0057] One embodiment of the present disclosure provides dynamic selection of components for multiple data items and also provides a simple similarity estimation approach.
[0058] An embodiment of the present disclosure provides a method for identifying overtaking objects and avoiding any accidents while driving.
[0059] An embodiment of the present disclosure improves processing time for estimating the direction of motion of an object because the object's parts are matched only in selected components of a data item.
[0060] In one embodiment of the present disclosure, the accuracy of estimating the object's direction of motion is improved by matching multiple parts of the object at each selected component.
[0061] The described operations may be implemented as a method, system, or article of manufacture using standard programming and / or engineering techniques to create software, firmware, hardware, or any combination thereof. The described operations may also be embodied as code stored on a “non-transitory computer-readable storage medium,” and a processor may read and execute the code from the computer-readable storage medium. The processor may be a microprocessor and / or processor capable of processing and executing queries. Non-transitory computer-readable storage media may include media such as magnetic storage media (e.g., hard disk drives, floppy disks, tape, etc.), optical storage devices (e.g., CD-ROMs, DVDs, optical disks, etc.), volatile and non-volatile storage devices (e.g., EEPROMs, ROMs, PROMs, RAMs, DRAMs, SRAMs, flash memory, firmware, programmable logic, etc.). Furthermore, non-transitory computer-readable storage media may include all computer-readable storage media except those that are transient. Code implementing the described operations may also be implemented in hardware logic (eg, an integrated circuit chip, a programmable gate array (PGA), an application specific integrated circuit (ASIC), etc.).
[0062] An "article of manufacture" includes non-transitory computer-readable media and / or hardware logic upon which code may be implemented. An apparatus encoded with code implementing embodiments of the described operations may include computer-readable storage media or hardware logic. Of course, those skilled in the art will recognize that many variations can be made to this configuration without departing from the scope of the present invention, and that an article of manufacture may include appropriate information to produce a storage medium known in the art.
[0063] The terms "an embodiment," "embodiment," "embodiments," "the embodiment," "the embodiment," "the embodiment," "one or more embodiments," "some embodiments," and "one embodiment" mean "one or more (but not all) embodiments of the invention(s)," unless expressly specified otherwise.
[0064] "Including," "comprising," "having" and variations thereof mean "including, but not limited to," unless expressly stated otherwise.
[0065] The listing of items does not imply that any or all of the items are mutually exclusive unless expressly stated otherwise.
[0066] The terms "a," "an," and "the" mean "one or more" unless expressly stated otherwise.
[0067] A description of an embodiment having multiple components in communication with each other does not imply that all such components are required, but rather various optional components are described to illustrate the wide variety of possible embodiments of the present invention.
[0068] Where a single device or article is described in this embodiment, it will be readily apparent that one or more devices / articles (whether or not they cooperate) may be used in place of the single device / article. Similarly, where more than one device or article (whether or not they cooperate) is described in this embodiment, it will be readily apparent that a single device / article may be used in place of the one or more devices or articles, or that a different number of devices / articles may be used in place of the number of devices or programs shown. The functionality and / or features of a device may alternatively be embodied by one or more other devices not explicitly described as having such functionality / features. Thus, other embodiments of the present invention need not include the device itself.
[0069] The illustrated operations in FIG. 4 show certain events occurring in a particular order. In alternative embodiments, certain operations may be performed in a different order, modified, or removed. Furthermore, steps may be added to the logic described above and still be consistent with the embodiment. Furthermore, operations described in the present embodiment may be performed sequentially or certain operations may be processed in parallel. Furthermore, operations may be performed by a single processing unit or by distributed processing units.
[0070] Finally, the language used in this specification has been selected primarily for ease of reading and explanation, and not to define or limit the subject matter of the invention. Accordingly, it is intended that the scope of the invention be limited not by this detailed description, but rather by the claims that issue on an application based hereon. Accordingly, the disclosure of embodiments of the invention is intended to be illustrative, but not limiting, of the scope of the invention, which is defined in the following claims.
[0071] While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope and spirit being indicated by the following claims. [Explanation of symbols]
[0072] 100: Environment 101: Direction Estimation System 102: Vehicle 103: One or more sensors 104: Processor 105: I / O interface 106: Memory 107: Module 108: Data 201: Receiving module 202: Division Module 203: Information Decision Module 204: Site selection module 205: Part identification module 206: Direction estimation module 207:Other modules 208: Input data 209: Component data 210: Information change data 211: Direction data 212:Other data 300: First frame 301: Second frame 302: Red channel 303: Blue channel 304: Green channel 305: Body Part Box 306: Automobiles 307: Passing car 500: Computer Systems 501: I / O interface 502: Processor 503: Network Interface 504: Storage interface 505: Memory 506: User Interface 507: Operating System 508: Web browser 509: Input device 510: Output device 511: Communications Network
Claims
1. 1. A method for estimating a direction of motion of an object, the method comprising: receiving, by a direction estimation system (101), from one or more sensors mounted on the vehicle, a plurality of data items of the object along with information associated with a plurality of portions of the object; The direction estimation system (101) divides each of the plurality of data items into a respective plurality of components based on the type of the plurality of data items; the direction estimation system (101) determines, for each of the plurality of data items, a first information change and a second information change in each of the plurality of components based on one or more feature amounts of the plurality of parts of the object, for each of the plurality of parts of the object, and the first information change and the second information change are determined by identifying, for each of the plurality of parts of the object, differences between the one or more feature amounts of the part of the object and one or more feature amounts of a preceding part of the object and a succeeding part of the object, respectively; and selecting, for each of a plurality of portions of the object, a component from a plurality of components based on a first information change and second information associated with the corresponding portion, for each data item of a plurality of data items, by the direction estimation system (101); using the selected components for at least one location in a data item from the plurality of locations to identify a corresponding location in a subsequent data item from the plurality of locations; A method for estimating the direction of motion of an object, comprising estimating the direction of motion of the object based on at least one identified part by the direction estimation system (101).
2. In the method for estimating the movement direction of an object according to claim 1, selecting a component corresponding to each of a plurality of parts of the object includes the following configuration: and comparing, for each data item of the plurality of data items, a first information change and a second information change associated with each part of the plurality of parts of a component from the plurality of components with a first information change and a second information change associated with each part of the plurality of parts of another component; A method for estimating the direction of motion of an object, wherein the direction estimation system (101) selects, from the plurality of components, a component having the smallest first information change and the smallest second information change based on the comparison.
3. 2. The method of claim 1, wherein estimating the direction of movement of the object comprises projecting a line from at least one location in a data item to at least one corresponding location in a subsequent data item.
4. 2. The method for estimating the direction of motion of an object according to claim 1, wherein the types of the plurality of data items include image data and depth data.
5. 2. The method of claim 1, wherein the information associated with the plurality of parts of the object includes position information.
6. 2. The method for estimating the direction of motion of an object according to claim 1, wherein information associated with a plurality of parts of the object is mapped to each of a plurality of components.
7. A direction estimation system (101) for estimating a direction of motion of an object, comprising: a processor (104); a memory (106) communicatively coupled to the processor (104), the memory (106) storing processor-executable instructions that, when executed, cause the processor (104) to: receiving a plurality of data items about the object along with information associated with a plurality of portions of the object from one or more sensors installed in the vehicle; Dividing each data item of the plurality of data items into a respective plurality of components based on the type of the plurality of data items; determining a first information change and a second information change in each of a plurality of components for each data of a plurality of data items based on one or more feature amounts of the plurality of parts of the object, for each part of a plurality of parts of the object, wherein the first information change and the second information change are determined by identifying, for each part of the plurality of parts of the object, differences between the one or more feature amounts of the part of the object and one or more feature amounts of a preceding part of the object and a succeeding part of the object, respectively; For each of the plurality of portions of the object, selecting a component from the plurality of components based on a first information change and a second information change associated with the corresponding portion for each data item of the plurality of data items; for at least one site in a data item from the plurality of sites, using each selected component to identify a corresponding site in a subsequent data item from the plurality of data items; A direction estimation system for estimating the direction of movement of an object, which estimates the direction of movement of the object based on at least one identified part.
8. 8. A direction estimation system (101) for estimating a direction of motion of an object according to claim 7, The processor (104) is configured to select components corresponding to each portion of the plurality of portions of the object as follows: For each data item of the plurality of data items, comparing a first information change and a second information change associated with each of the plurality of sites of one component with a first information change and a second information change associated with each of the plurality of sites of another component from the plurality of components; A direction estimation system for estimating a direction of motion of an object, the system selecting a component having a minimum first information change and a minimum second information change from the plurality of components based on the comparison.
9. 8. A direction estimation system (101) for estimating a direction of motion of an object according to claim 7, A direction estimation system for estimating the direction of motion of an object, wherein estimating the direction of motion of the object includes projecting a line from at least one location in a data item to at least one corresponding location in a subsequent data item.
10. 8. A direction estimation system (101) for estimating a direction of motion of an object according to claim 7, A direction estimation system for estimating a direction of movement of an object, wherein the types of multiple data items include image data and depth data.
11. 8. A direction estimation system (101) for estimating a direction of motion of an object according to claim 7, A direction estimation system for estimating a direction of movement of an object, wherein information associated with multiple parts of the object includes position information.
12. 8. A direction estimation system (101) for estimating a direction of motion of an object according to claim 7, A direction estimation system for estimating the direction of motion of an object, wherein information associated with multiple parts of the object is mapped in each of multiple components.