WO2021212297A1 - Systems and methods for distance measurement - Google Patents

Systems and methods for distance measurement Download PDF

Info

Publication number
WO2021212297A1
WO2021212297A1 PCT/CN2020/085777 CN2020085777W WO2021212297A1 WO 2021212297 A1 WO2021212297 A1 WO 2021212297A1 CN 2020085777 W CN2020085777 W CN 2020085777W WO 2021212297 A1 WO2021212297 A1 WO 2021212297A1
Authority
WO
WIPO (PCT)
Prior art keywords
distance
line
camera
target line
predetermined reference
Prior art date
Application number
PCT/CN2020/085777
Other languages
French (fr)
Inventor
Yehe Cai
Yun Jiang
Zelin XU
Jingbo NIU
Original Assignee
Beijing Voyager Technology Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Voyager Technology Co., Ltd. filed Critical Beijing Voyager Technology Co., Ltd.
Priority to PCT/CN2020/085777 priority Critical patent/WO2021212297A1/en
Priority to CN202080020086.8A priority patent/CN113826145A/en
Publication of WO2021212297A1 publication Critical patent/WO2021212297A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/536Depth or shape recovery from perspective effects, e.g. by using vanishing points
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30261Obstacle

Definitions

  • FIG. 10 is a schematic diagram illustrating an exemplary process for projecting a predetermined reference line onto an image according to some embodiments of the present disclosure.
  • o w _x w y w z w refers to the world coordinate system
  • o_xyz refers to the camera coordinate system
  • o 0 _x 0 y 0 refers to the image coordinate system.
  • the processing device 122 e.g., the distance determination module 406 (e.g., the processing circuits of the processor 220) may obtain a height corresponding to the target line based on map information.
  • the “height” of the predetermined reference line may refer to an altitude of a portion of a road where the predetermined reference line is located.
  • the processing device 122 may access a storage device (e.g., the storage device 140) and obtain the height of the predetermined reference line by retrieving a corresponding high-definition map based on an estimated location of the portion of the road where the predetermined reference line is located.
  • the processing device 122 may determine the horizontal distance to the camera corresponding to the target line based on horizontal reference distance (s) of the at least one of the plurality of predetermined reference lines to the camera. For example, it is assumed that the target line is a projected line, the processing device 122 may obtain a horizontal reference distance of a predetermined reference line corresponding to the projected line. As another example, it is assumed that the target line is an interpolated projected line (e.g., 934 illustrated in FIG.

Abstract

A system (100) for distance measurement comprices: at least one storage device (140) including a set of instructions; at least one processor (122) in communication with the at least one storage device (140), wherein when executing the set of instructions, the at least one processor (122) is configured to cause the system (100) to: obtain an image captured by a camera, the image including an object (501); identify at least one target line in the image based on the object (503), wherein the at least one target line is associated with a plurality of predetermined reference lines, each of the plurality of predetermined reference lines corresponding to a respective horizontal reference distance to the camera; and determine, based on the at least one target line, a distance between the camera and the object (505).

Description

SYSTEMS AND METHODS FOR DISTANCE MEASUREMENT TECHNICAL FIELD
The present disclosure generally relates to distance measurement, and in particular, to systems and methods for determining a distance between an object and a camera mounted on a vehicle.
BACKGROUND
With the development of micro-electronic and robotic technologies, the exploration of autonomous driving has developed rapidly nowadays. Commonly, an autonomous driving system can sense environmental information by one or more sensor devices (e.g., a camera, a Lidar) . For example, a camera (e.g., a monocular camera) may be used to determine a distance between an object (e.g., a pedestrian, a vehicle) and an autonomous vehicle. However, the camera is mainly applied to determine the distance between the object and the vehicle when the vehicle drives on a flat road, that is, height information of the road is not considered, which may result in that the distance measurement may be inaccurate when the vehicle drives on a non-flat road (e.g., a slope, a rough road) . Therefore, it is desirable to provide systems and methods for determining a distance between a vehicle and an object efficiently and accurately.
SUMMARY
Embodiments of the disclosure provide a system for distance measurement. The exemplary system includes at least one storage device including a set of instructions; at least one processor in communication with the at least one storage device, wherein when executing the set of instructions, the at least one processor is configured to cause the system to: obtain an image captured by a camera, the image including an object; identify at least one target line in the image based on the object, wherein the at least one target line is associated with a plurality of predetermined reference lines, each of the plurality of predetermined reference lines corresponding to a respective horizontal reference distance to the camera; and determine, based on the at least one target line, a distance between the camera and the object.
Embodiments of the disclosure further provide a method for distance measurement. The exemplary method implemented on a computing device including at least one processor, at least one storage device, and a communication platform connected to a network, comprising: obtaining an image captured by a camera, the image including an object; identifying at least one target line in the image based on the object, wherein the at least one target line is associated with a plurality of predetermined reference lines, each of the plurality of predetermined reference  lines corresponding to a respective horizontal reference distance to the camera; and determining, based on the at least one target line, a distance between the camera and the object.
Embodiments of the disclosure also provide another a system for distance measurement. The exemplary system includes an obtaining module configured to obtain an image captured by a camera, the image including an object; a target line identification module configured to identify at least one target line in the image based on the object, wherein the at least one target line is associated with a plurality of predetermined reference lines, each of the plurality of predetermined reference lines corresponding to a respective horizontal reference distance to the camera; and a distance determination module configured to determine, based on the at least one target line, a distance between the camera and the object.
Embodiments of the disclosure further provide a non-transitory computer-readable storage medium for distance measurement. The exemplary non-transitory computer-readable storage medium includes at least one set of instructions, wherein when executed by at least one processor of a computing device, the at least one set of instructions directs the at least one processor to perform acts of: obtaining an image captured by a camera, the image including an object; identifying at least one target line in the image based on the object, wherein the at least one target line is associated with a plurality of predetermined reference lines, each of the plurality of predetermined reference lines corresponding to a respective horizontal reference distance to the camera; and determining, based on the at least one target line, a distance between the camera and the object.
Embodiments of the disclosure further provide a vehicle configured for autonomous driving for distance measurement. The exemplary vehicle configured for autonomous driving for distance measurement includes a detecting component, a planning component, and a control component, wherein the planning component is configured to: obtain an image captured by a camera, the image including an object; identify at least one target line in the image based on the object, wherein the at least one target line is associated with a plurality of predetermined reference lines, each of the plurality of predetermined reference lines corresponding to a respective horizontal reference distance to the camera; and determine, based on the at least one target line, a distance between the camera and the object.
Additional features will be set forth in part in the description which follows, and in part will become apparent to those skilled in the art upon examination of the following and the accompanying drawings or may be learned by production or operation of the examples. The features of the present disclosure may be realized and attained by practice or use of various aspects of the methodologies, instrumentalities and combinations set forth in the detailed examples discussed below.
BRIEF DESCRIPTION OF THE DRAWINGS
The present disclosure is further described in terms of exemplary embodiments. These exemplary embodiments are described in detail with reference to the drawings. These embodiments are non-limiting exemplary embodiments, in which like reference numerals represent similar structures throughout the several views of the drawings, and wherein:
FIG. 1 is a schematic diagram illustrating an exemplary autonomous driving system according to some embodiments of the present disclosure;
FIG. 2 is a schematic diagram illustrating exemplary hardware and/or software components of an exemplary computing device according to some embodiments of the present disclosure;
FIG. 3 is a schematic diagram illustrating exemplary hardware and/or software components of an exemplary mobile device according to some embodiments of the present disclosure;
FIG. 4 is a block diagram illustrating an exemplary processing device according to some embodiments of the present disclosure;
FIG. 5 is a flowchart illustrating an exemplary process for determining a distance between a camera and an object according to some embodiments of the present disclosure;
FIGs. 6A and 6B are schematic diagrams illustrating a position relationship between a camera and a plurality of predetermined reference lines according to some embodiments of the present disclosure;
FIG. 6C is a schematic diagram illustrating exemplary projected lines corresponding to a plurality of predetermined reference lines according to some embodiments of the present disclosure;
FIGs. 7A-7E are schematic diagrams illustrating exemplary measurement points associated with an object according to some embodiments of the present disclosure;
FIGs. 8A-8F are schematic diagrams illustrating exemplary processes for determining at least one target line based on at least one measurement point according to some embodiments of the present disclosure;
FIG. 9 is a flowchart illustrating an exemplary process for identifying at least one target line according to some embodiments of the present disclosure;
FIG. 10 is a schematic diagram illustrating an exemplary process for projecting a predetermined reference line onto an image according to some embodiments of the present disclosure;
FIG. 11 is a flowchart illustrating an exemplary process for determining a distance between a camera and an object according to some embodiments of the present disclosure;
FIG. 12A is a schematic diagram illustrating a side view of an exemplary distance between a camera and an object according to some embodiments of the present disclosure; and
FIG. 12B is a schematic diagram illustrating a side view of an exemplary distance between a camera and an object according to some embodiments of the present disclosure.
DETAILED DESCRIPTION
The following description is presented to enable any person skilled in the art to make and use the present disclosure, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present disclosure. Thus, the present disclosure is not limited to the embodiments shown, but is to be accorded the widest scope consistent with the claims.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used herein, the singular forms “a, ” “an, ” and “the” may be intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprise, ” “comprises, ” and/or “comprising, ” “include, ” “includes, ” and/or “including, ” when used in this disclosure, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
These and other features, and characteristics of the present disclosure, as well as the methods of operations and functions of the related elements of structure and the combination of parts and economies of manufacture, may become more apparent upon consideration of the following description with reference to the accompanying drawings, all of which form part of this disclosure. It is to be expressly understood, however, that the drawings are for the purpose of illustration and description only and are not intended to limit the scope of the present disclosure. It is understood that the drawings are not to scale.
The flowcharts used in the present disclosure illustrate operations that systems implement according to some embodiments of the present disclosure. It is to be expressly understood, the operations of the flowcharts may be implemented not in order. Conversely, the operations may be implemented in inverted order, or simultaneously. Moreover, one or more other operations may be added to the flowcharts. One or more operations may be removed from the flowcharts.
Moreover, while the systems and methods disclosed in the present disclosure are described primarily regarding a transportation system in land, it should be understood that this is  only one exemplary embodiment. The systems and methods of the present disclosure may be applied to any other kind of transportation system. For example, the systems and methods of the present disclosure may be applied to transportation systems of different environments including land, ocean, aerospace, or the like, or any combination thereof. The autonomous vehicle of the transportation systems may include a taxi, a private car, a hitch, a bus, a train, a bullet train, a high-speed rail, a subway, a vessel, an aircraft, a spaceship, a hot-air balloon, or the like, or any combination thereof.
An aspect of the present disclosure relates to systems and methods for distance measurement, for example, determining a distance between an object and a vehicle (e.g., an autonomous vehicle) . The systems may obtain an image including an object captured by a camera (e.g., a monocular camera) mounted on a vehicle. The systems may also identify at least one target line in the image based on the object. The at least one target line may be determined based on a plurality of predetermined reference lines, wherein each of the plurality of predetermined reference lines may correspond to a respective horizontal reference distance to the camera. For example, the systems may determine at least one measurement point associated with the object and determine the at least one target line based on the at least one measurement point and at least one projected line corresponding to at least one of the plurality of predetermined reference lines. Further, the systems may determine the distance between the camera (or the vehicle) and the object based on the at least one target line. According to the systems and methods of the present disclosure, a plurality of predetermined reference lines are introduced and used to determine a distance between a camera (or a vehicle where the camera is mounted) and an object, thereby improving the efficiency and accuracy of distance measurement.
FIG. 1 is a schematic diagram illustrating an exemplary autonomous driving system according to some embodiments of the present disclosure. In some embodiments, the autonomous driving system 100 may include a vehicle 110 (e.g. 110-1, 110-2, ..., 110-n) , a server 120, a terminal device 130, a storage device 140, a network 150, and a positioning and navigation system 160.
The vehicle 110 may be any type of autonomous vehicle, unmanned aerial vehicle, etc. As used herein, an autonomous vehicle or an unmanned aerial vehicle may refer to a vehicle that is capable of achieving a certain level of driving automation. Exemplary levels of driving automation may include a first level at which the vehicle is mainly supervised by a human and has a specific autonomous function (e.g., autonomous steering or accelerating) , a second level at which the vehicle has one or more advanced driver assistance systems (ADAS) (e.g., an adaptive cruise control system, a lane-keep system) that can control a braking, a steering, and/or an  acceleration of the vehicle, a third level at which the vehicle is able to drive autonomously when one or more certain conditions are met, a fourth level at which the vehicle can operate without a human input or oversight but still is subject to some constraints (e.g., be confined to a certain area) , a fifth level at which the vehicle can operate autonomously under all circumstances, or the like, or any combination thereof.
In some embodiments, the vehicle 110 may have equivalent structures that enable the vehicle 110 to move around or fly. For example, the vehicle 110 may include structures of a conventional vehicle, for example, a chassis, a suspension, a steering device (e.g., a steering wheel) , a brake device (e.g., a brake pedal) , an accelerator, etc. As another example, the vehicle 110 may have a body and at least one wheel. The body may be a body of any style, such as a sports vehicle, a coupe, a sedan, a pick-up truck, a station wagon, a sports utility vehicle (SUV) , a minivan, or a conversion van. The at least one wheel may be configured as all wheel drive(AWD) , front wheel drive (FWR) , rear wheel drive (RWD) , etc. In some embodiments, it is contemplated that the vehicle 110 may be an electric vehicle, a fuel cell vehicle, a hybrid vehicle, a conventional internal combustion engine vehicle, etc.
In some embodiments, the vehicle 110 may be capable of sensing its environment and navigating with one or more detecting units 112. The plurality of detection units 112 may include a radar (e.g., a light detection and ranging (LiDAR) ) , a global position system (GPS) module, an inertial measurement unit (IMU) , a camera, or the like, or any combination thereof. The radar (e.g., LiDAR) may be configured to scan the surrounding of the vehicle 110 and generate point-cloud data. The point-cloud data may be used to generate digital three dimensional (3D) representations of one or more objects surrounding the vehicle 110. The GPS module may refer to a device that is capable of receiving geolocation and time information from GPS satellites and then determining the device’s geographical position. The IMU may refer to an electronic device that measures and provides a vehicle’s specific force, angular rate, and sometimes a magnetic field surrounding the vehicle, using various inertial sensors. In some embodiments, the various inertial sensors may include an acceleration sensor (e.g., a piezoelectric sensor) , a velocity sensor (e.g., a Hall sensor) , a distance sensor (e.g., a radar, an infrared sensor) , a steering angle sensor (e.g., a tilt sensor) , a traction-related sensor (e.g., a force sensor) , etc. The camera may be configured to obtain one or more images relating to objects (e.g., a person, an animal, a tree, a roadblock, a building, or a vehicle) that are within the scope of the camera. The camera may be a still camera, a video camera, or the like, or a combination thereof. In some embodiments, the camera may include a monocular camera, a binocular camera, a multi-view camera, or the like, or a combination thereof. In some embodiments, the camera may be mounted on the vehicle 110 (e.g., the roof of the vehicle 110) . In some  embodiments, the camera may be placed horizontally or obliquely with respect to the vehicle 110.
In some embodiments, the server 120 may be a single server or a server group. The server group may be centralized or distributed (e.g., the server 120 may be a distributed system) . In some embodiments, the server 120 may be local or remote. For example, the server 120 may access information and/or data stored in the terminal device 130, the detecting units 112, the vehicle 110, the storage device 140, and/or the positioning and navigation system 160 via the network 150. As another example, the server 120 may be directly connected to the terminal device 130, the detecting units 112, the vehicle 110, and/or the storage device 140 to access stored information and/or data. In some embodiments, the server 120 may be implemented on a cloud platform or an onboard computer. Merely by way of example, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an inter-cloud, a multi-cloud, or the like, or any combination thereof. In some embodiments, the server 120 may be implemented on a computing device 200 including one or more components illustrated in FIG. 2 in the present disclosure.
In some embodiments, the server 120 may include a processing device 122. The processing device 122 may process information and/or data associated with distance measurement to perform one or more functions described in the present disclosure. For example, the processing device 122 may identify at least one target line in an image based on an object in the image and determine a distance between the vehicle 110 (or the camera mounted on the vehicle 110) and the object based on the at least one target line. Further, the processing device 122 may determine a driving path for the vehicle 110 based on the distance between the vehicle 110 and the object. That is, the processing device 122 may be configured as a planning component of the vehicle 110. In some embodiments, the processing device 122 may include one or more processing engines (e.g., single-core processing engine (s) or multi-core processor (s) ) . Merely by way of example, the processing device 122 may include a central processing unit (CPU) , an application-specific integrated circuit (ASIC) , an application-specific instruction-set processor (ASIP) , a graphics processing unit (GPU) , a physics processing unit (PPU) , a digital signal processor (DSP) , a field programmable gate array (FPGA) , a programmable logic device (PLD) , a controller, a microcontroller unit, a reduced instruction-set computer (RISC) , a microprocessor, or the like, or any combination thereof. In some embodiments, the processing device 122 may be integrated into the vehicle 110 and/or the terminal device 130.
In some embodiments, the terminal device 130 may include a mobile device 130-1, a tablet computer 130-2, a laptop computer 130-3, a built-in device in a vehicle 130-4, a wearable  device 130-5, or the like, or any combination thereof. In some embodiments, the mobile device 130-1 may include a smart home device, a smart mobile device, a virtual reality device, an augmented reality device, or the like, or any combination thereof. The smart home device may include a smart lighting device, a control device of an intelligent electrical apparatus, a smart monitoring device, a smart television, a smart video camera, an interphone, or the like, or any combination thereof. The smart mobile device may include a smartphone, a personal digital assistant (PDA) , a gaming device, a navigation device, a point of sale (POS) device, or the like, or any combination thereof. The virtual reality device and/or the augmented reality device may include a virtual reality helmet, a virtual reality glass, a virtual reality patch, an augmented reality helmet, an augmented reality glass, an augmented reality patch, or the like, or any combination thereof. For example, the virtual reality device and/or the augmented reality device may include a Google TM Glass, an Oculus Rift, a HoloLens, a Gear VR, etc. In some embodiments, the built-in device in the vehicle 130-4 may include an onboard computer, an onboard television, etc. In some embodiments, the wearable device 130-5 may include a smart bracelet, a smart footgear, a smart glass, a smart helmet, a smart watch, smart clothing, a smart backpack, a smart accessory, or the like, or any combination thereof. In some embodiments, the terminal device 130 may be a device with positioning technology for locating the location of the terminal device 130. In some embodiments, the server 120 may be integrated into the vehicle 110 and/or the terminal device 130.
The storage device 140 may store data and/or instructions. In some embodiments, the storage device 140 may store data obtained from the vehicle 110, the detecting units 112, the processing device 122, the terminal device 130, the positioning and navigation system 160, and/or an external storage device. For example, the storage device 140 may store information and/or data (e.g., a plurality of predetermined reference lines, at least one target line, at least one measurement point) associated with distance measurement. In some embodiments, the storage device 140 may store data and/or instructions that the server 120 may execute or use to perform exemplary methods described in the present disclosure. For example, the storage device 140 may store instructions that the processing device 122 may execute or use to determine a distance between the vehicle 110 (or the camera mounted on the vehicle 110) and an object. In some embodiments, the storage device 140 may include a mass storage, a removable storage, a volatile read-and-write memory, a read-only memory (ROM) , or the like, or any combination thereof. Exemplary mass storage may include a magnetic disk, an optical disk, a solid-state drive, etc. Exemplary removable storage may include a flash drive, a floppy disk, an optical disk, a memory card, a zip disk, a magnetic tape, etc. Exemplary volatile read-and-write memory may include a random access memory (RAM) . Exemplary RAM may include a dynamic RAM (DRAM) , a  double date rate synchronous dynamic RAM (DDR SDRAM) , a static RAM (SRAM) , a thyrisor RAM (T-RAM) , and a zero-capacitor RAM (Z-RAM) , etc. Exemplary ROM may include a mask ROM (MROM) , a programmable ROM (PROM) , an erasable programmable ROM (EPROM) , an electrically-erasable programmable ROM (EEPROM) , a compact disk ROM (CD-ROM) , and a digital versatile disk ROM, etc. In some embodiments, the storage device 140 may be implemented on a cloud platform. Merely by way of example, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an inter-cloud, a multi-cloud, or the like, or any combination thereof.
In some embodiments, the storage device 140 may be connected to the network 150 to communicate with one or more components (e.g., the server 120, the terminal device 130, the detecting units 112, the vehicle 110, and/or the positioning and navigation system 160) of the autonomous driving system 100. One or more components of the autonomous driving system 100 may access the data or instructions stored in the storage device 140 via the network 150. In some embodiments, the storage device 140 may be directly connected to or communicate with one or more components (e.g., the server 120, the terminal device 130, the detecting units 112, the vehicle 110, and/or the positioning and navigation system 160) of the autonomous driving system 100. In some embodiments, the storage device 140 may be part of the server 120. In some embodiments, the storage device 140 may be integrated into the vehicle 110.
The network 150 may facilitate exchange of information and/or data. In some embodiments, one or more components (e.g., the server 120, the terminal device 130, the detecting units 112, the vehicle 110, the storage device 140, or the positioning and navigation system 160) of the autonomous driving system 100may send information and/or data to other component (s) of the autonomous driving system 100 via the network 150. For example, the server 120 may obtain information and/or data (e.g., an image, a plurality of predetermined reference lines, at least one target line) associated with distance measurement from the vehicle 110, the terminal device 130, the storage device 140, and/or the positioning and navigation system 160 via the network 150. In some embodiments, the network 150 may be any type of wired or wireless network, or combination thereof. Merely by way of example, the network 150 may include a cable network, a wireline network, an optical fiber network, a tele communications network, an intranet, an Internet, a local area network (LAN) , a wide area network (WAN) , a wireless local area network (WLAN) , a metropolitan area network (MAN) , a wide area network (WAN) , a public telephone switched network (PSTN) , a Bluetooth network, a ZigBee network, a near field communication (NFC) network, or the like, or any combination thereof. In some embodiments, the network 150 may include one or more network access points. For example, the network 150 may include wired or wireless network access points (e.g., 150-1,  150-2) , through which one or more components of the autonomous driving system 100 may be connected to the network 150 to exchange data and/or information.
The positioning and navigation system 160 may determine information associated with an object, for example, the terminal device 130, the vehicle 110, etc. In some embodiments, the positioning and navigation system 160 may include a global positioning system (GPS) , a global navigation satellite system (GLONASS) , a compass navigation system (COMPASS) , a BeiDou navigation satellite system, a Galileo positioning system, a quasi-zenith satellite system (QZSS) , etc. The information may include a location, an elevation, a velocity, or an acceleration of the object, a current time, etc. The positioning and navigation system 160 may include one or more satellites, for example, a satellite 160-1, a satellite 160-2, and a satellite 160-3. The satellites 160-1 through 160-3 may determine the information mentioned above independently or jointly. The positioning and navigation system 160 may send the information mentioned above to the server 120, the vehicle 110, and/or the terminal device 130 via wireless connections.
One of ordinary skill in the art would understand that when an element (or component) of the autonomous driving system 100 performs, the element may perform through electrical signals and/or electromagnetic signals. For example, when the terminal device 130 transmits out a request to the server 120, a processor of the terminal device 130 may generate an electrical signal encoding the request. The processor of the terminal device 130 may then transmit the electrical signal to an output port. If the terminal device 130 communicates with the server 120 via a wired network, the output port may be physically connected to a cable, which further may transmit the electrical signal to an input port of the server 120. If the terminal device 130 communicates with the server 120 via a wireless network, the output port of the terminal device 130 may be one or more antennas, which convert the electrical signal to electromagnetic signal. Within an electronic device, such as the terminal device 130 and/or the server 120, when a processor thereof processes an instruction, transmits out an instruction, and/or performs an action, the instruction and/or action is conducted via electrical signals. For example, when the processor retrieves or saves data from a storage medium (e.g., the storage device 140) , it may transmit out electrical signals to a read/write device of the storage medium, which may read or write structured data in the storage medium. The structured data may be transmitted to the processor in the form of electrical signals via a bus of the electronic device. Here, an electrical signal may refer to one electrical signal, a series of electrical signals, and/or a plurality of discrete electrical signals.
It should be noted that the above description is merely provided for the purposes of illustration, and not intended to limit the scope of the present disclosure. For persons having ordinary skills in the art, multiple variations and modifications may be made under the teachings  of the present disclosure. However, those variations and modifications do not depart from the scope of the present disclosure. For example, in addition to autonomous driving, the present disclosure may be applied in various distance measurement scenarios, for example, road mapping, road maintenance, etc.
FIG. 2 is a schematic diagram illustrating exemplary hardware and/or software components of an exemplary computing device according to some embodiments of the present disclosure. In some embodiments, the server 120and/or the terminal device 130 may be implemented on the computing device 200. For example, the processing device 122 may be implemented on the computing device 200 and configured to perform functions of the processing device 122 disclosed in this disclosure.
The computing device 200 may be used to implement any component of the autonomous driving system 100 of the present disclosure. For example, the processing device 122 of the autonomous driving system 100 may be implemented on the computing device 200, via its hardware, software program, firmware, or a combination thereof. Although only one such computer is shown for convenience, the computer functions related to the autonomous driving system 100 as described herein may be implemented in a distributed manner on a number of similar platforms to distribute the processing load.
The computing device 200 may include communication (COM) ports 250 connected to and from a network (e.g., the network 150) connected thereto to facilitate data communications. The computing device 200 may also include a processor (e.g., a processor 220) , in the form of one or more processors (e.g., logic circuits) , for executing program instructions. For example, the processor may include interface circuits and processing circuits therein. The interface circuits may be configured to receive electronic signals from a bus 210, wherein the electronic signals encode structured data and/or instructions for the processing circuits to process. The processing circuits may conduct logic calculations, and then determine a conclusion, a result, and/or an instruction encoded as electronic signals. Then the interface circuits may send out the electronic signals from the processing circuits via the bus 210.
The computing device 200 may further include program storage and data storage of different forms, for example, a disk 270, a read only memory (ROM) 230, or a random access memory (RAM) 240, for storing various data files to be processed and/or transmitted by the computing device 200. The computing device 200 may also include program instructions stored in the ROM 230, the RAM 240, and/or another type of non-transitory storage medium to be executed by the processor 220. The methods and/or processes of the present disclosure may be implemented as the program instructions. The computing device 200 also includes an I/O component 260, supporting input/output between the computing device 200 and other  components therein. The computing device 200 may also receive programming and data via network communications.
Merely for illustration, only one processor is described in the computing device 200. However, it should be noted that the computing device 200 in the present disclosure may also include multiple processors, and thus operations that are performed by one processor as described in the present disclosure may also be jointly or separately performed by the multiple processors. For example, the processor of the computing device 200 executes both operation A and operation B. As another example, operation A and operation B may also be performed by two different processors jointly or separately in the computing device 200 (e.g., the first processor executes operation A and the second processor executes operation B, or the first and second processors jointly execute operations A and B) .
FIG. 3 is a schematic diagram illustrating exemplary hardware and/or software components of an exemplary mobile device according to some embodiments of the present disclosure. In some embodiments, the terminal device 130 may be implemented on the mobile device 300. As illustrated in FIG. 3, the mobile device 300 may include a communication platform 310, a display 320, a graphic processing unit (GPU) 330, a central processing unit (CPU) 340, an I/O 350, a memory 360, a mobile operating system (OS) 370, and storage 390. In some embodiments, any other suitable component, including but not limited to a system bus or a controller (not shown) , may also be included in the mobile device 300.
In some embodiments, the mobile operating system 370 (e.g., iOS TM, Android TM, Windows Phone TM) and one or more applications 380 may be loaded into the memory 360 from the storage 390 in order to be executed by the CPU 340. The applications 380 may include a browser or any other suitable mobile app for receiving and rendering information relating to positioning or other information from the processing device 122. User interactions with the information stream may be achieved via the I/O 350 and provided to the processing device 122 and/or other components of the autonomous driving system 100 via the network 150.
To implement various modules, units, and their functionalities described in the present disclosure, computer hardware platforms may be used as the hardware platform (s) for one or more of the elements described herein. A computer with user interface elements may be used to implement a personal computer (PC) or any other type of work station or terminal device. A computer may also act as a server if appropriately programmed.
FIG. 4 is block diagram illustrating an exemplary processing device according to some embodiments of the present disclosure. As shown in FIG. 4, the processing device 122 may include an obtaining module 402, a target line identification module 404, and a distance determination module 406.
The obtaining module 402 may be configured to obtain an image captured by a camera (e.g., a monocular camera) . In some embodiments, the image may include a two-dimensional (2D) image, a three-dimensional (3D) image, a four-dimensional (4D) image, or the like, or a combination thereof. The image may include an object, such as a vehicle (e.g., a bike, a motor, a car, a bus, a truck) , a pedestrian, an animal (e.g., a dog, a cat) , an obstacle (e.g., a stone, a roadblock, a board, a pole) , etc.
The target line identification module 404 may be configured to identify at least one target line in the image based on the object. In some embodiments, the at least one target line may be associated with a plurality of predetermined reference lines, wherein each of the plurality of predetermined reference lines corresponds to a respective horizontal reference distance to the camera (also can be considered as “horizontal reference distance to the vehicle 110” ) . In some embodiments, the target line identification module 404 may project at least one of the plurality of predetermined reference lines onto the image and determine at least one projected line corresponding to the at least one of the plurality of predetermined reference lines. Further, the target line identification module 404 may identify the at least one target line based on the at least one projected line and the object. For example, the target line identification module 404 may determine at least one measurement point associated with the object in the image and identify the at least one target line in the image based on the at least one measurement point and the at least one projected line. In some embodiments, the target line identification module 404 may include a measurement point determination unit (not shown) configured to determine at least one measurement point.
The distance determination module 406 may be configured to determine a distance between the camera and the object based on the at least one target line. In some embodiments, for each of the at least one target line, the distance determination module 406 may determine a target distance corresponding to the target line based on a height and a horizontal distance corresponding to the target line. The distance determination module 406 may then determine the distance between the camera and the object based on at least one target distance corresponding to the at least one target line. More descriptions regarding the determination of the distance may be found elsewhere in the present disclosure (e.g., FIG. 11 and the description thereof) .
The modules in the processing device 122 may be configured to or communicate with each other via a wired connection or a wireless connection. The wired connection may include a metal cable, an optical cable, a hybrid cable, or the like, or any combination thereof. The wireless connection may include a Local Area Network (LAN) , a Wide Area network (WAN) , a Bluetooth, a Zigbee, a Near Field Communication (NFC) or the like, or any combination thereof. Two or more of the modules may be combined as a single module, and any one of the modules  may be divided into two or more units. For example, the processing device 122 may include a storage module (not shown) used to store information and/or data (e.g., the plurality of predetermined reference lines, the at least one projected line, the at least one target line, the at least one measurement point) associated with distance measurement.
FIG. 5 is a flowchart illustrating an exemplary process for determining a distance between a camera and an object according to some embodiments of the present disclosure. In some embodiments, the process 500 may be implemented as a set of instructions (e.g., an application) stored in the storage ROM 230 or RAM 240. The processor 220 and/or the modules in FIG. 4 may execute the set of instruction, and when executing the instructions, the processor 220 and/or the modules may be configured to perform the process 500. The operations of the illustrated process presented below are intended to be illustrative. In some embodiments, the process 500 may be accomplished with one or more additional operations not described and/or without one or more of the operations herein discussed. Additionally, the order in which the operations of the process as illustrated in FIG. 5 and described below is not intended to be limiting.
In 501, the processing device 122 (e.g., the obtaining module 402) (e.g., the interface circuits of the processor 220) may obtain an image captured by a camera (e.g., a monocular camera) .
As described in connection with FIG. 1, the camera may be mounted on the vehicle 110 and configured to capture images associated with surrounding environment of the vehicle 110. In some embodiments, the image may include a two-dimensional (2D) image, a three-dimensional (3D) image, a four-dimensional (4D) image, or the like, or a combination thereof. In some embodiments, the image may include an object. The object may include a vehicle (e.g., a bike, a motor, a car, a bus, a truck) , a pedestrian, an animal (e.g., a dog, a cat) , an obstacle (e.g., a stone, a roadblock, a board, a pole) , etc.
In 503, the processing device 122 (e.g., the target line identification module 404) (e.g., the processing circuits of the processor 220) may identify at least one target line in the image based on the object.
In some embodiments, the at least one target line may be associated with a plurality of predetermined reference lines, wherein each of the plurality of predetermined reference lines corresponds to a respective horizontal reference distance to the camera (also can be considered as “horizontal reference distance to the vehicle 110” ) . The horizontal reference distance may be a default setting of the autonomous driving system 100 or may be adjustable under different situations. In some embodiments, the processing device 122 may determine the at least one target line based on at least one projected line corresponding to at least one of the plurality of  predetermined reference lines. More descriptions of the predetermined reference lines may be found elsewhere in the present disclosure (e.g., FIGs. 6A-6C and the descriptions thereof) .
In some embodiments, the processing device 122 may determine at least one measurement point associated with the object in the image and identify the at least one target line in the image based on the at least one measurement point and the at least one projected line. For example, the processing device 122 may determine at least one projected line that the at least one measurement point is located on or between as the at least one target line. As another example, the processing device 122 may determine at least one projected line in the vicinity of the at least one measurement point as the at least one target line. As used herein, “in the vicinity of” refers to that a distance between any one of the at least one measurement point and the at least one target line is less than a distance threshold. As a further example, the processing device 122 may select at least one candidate line from the at least one projected line based on the object (e.g., the at least one measurement point) and determine the at least one target line by performing an interpolation operation on the at least one candidate line. As still a further example, the processing device 122 may determine a plurality of projected lines corresponding to the plurality of predetermined reference lines as the at least one target line. More descriptions regarding determining the at least one target line may be found elsewhere in the present disclosure (e.g., FIGs. 8A-8F and the descriptions thereof) .
In some embodiments, in order to determine the at least one measurement point, the processing device 122 may determine a bounding box including the object using an object detection algorithm and determine the at least one measurement point based on the bounding box. The object detection algorithm may include a Regions with Convolutional Neural Network features (R-CNN) algorithm, a Fast R-CNN algorithm, a Faster R-CNN algorithm, a You Only Look Once (YOLO) algorithm, a Single Shot Multibox Detector (SSD) algorithm, or the like, or any combination thereof.
In some embodiments, the bounding box may be a rectangular box, a box along a 2D outline of the object, a circular box, or any irregular box. In some embodiments, the processing device 122 may select one or more points on the bounding box as the at least one measurement point. For example, the processing device 122 may select a midpoint of an edge of the bounding box as the at least one measurement point. As another example, the processing device 122 may select at least one endpoint of the edge of the bounding box as the at least one measurement point. In some embodiments, the processing device 122 may select one or more points within the bounding box as the at least one measurement point. For example, the processing device 122 may select a center point of the bounding box as the at least one measurement point. As another example, the processing device 122 may select multiple points within the bounding box and  determine a weighted average position based on positions of the multiple points as the at least one measurement point. As used herein, a weighting coefficient corresponding to a point may be associated with a position of the point. For example, a weighting coefficient corresponding to a point on the object may be larger than a weighting coefficient corresponding to a point beyond the object. As another example, a weighting coefficient corresponding to a point closer to the center point of the bounding box may be larger than a weighting coefficient corresponding to a point away from the center point. More descriptions regarding determining the at least one measurement point may be found elsewhere in the present disclosure (e.g., FIGs. 7A-7E and the description thereof) .
In 505, the processing device 122 (e.g., the distance determination module 408) (e.g., the processing circuits of the processor 220) may determine a distance between the camera and the object based on the at least one target line.
In some embodiments, for each of the at least one target line, the processing device 122 may determine a target distance corresponding to the target line based on a height and a horizontal distance to the camera corresponding to the target line. Further, the processing device 122 may determine the distance between the camera and the object based on at least one target distance corresponding to the at least one target line.
In some embodiments, the processing device 122 may determine the distance between the camera and the object based on an average or a weighted average of the at least one target distance. In some embodiments, the processing device 122 may determine the distance between the camera and the object based on a sum or a weighted sum of the at least one target distance. More descriptions regarding the determination of the distance may be found elsewhere in the present disclosure (e.g., FIG. 11 and the description thereof) .
In some embodiments, the processing device 122 may control the camera to capture images continuously and determine whether an object (e.g., a pedestrian, an obstacle) is detected in the images. In response to a determination that the object is detected, the processing device 122 may then determine the distance between the camera and the object. In some embodiments, the processing device 122 may control the camera to capture images associated with an object (e.g., a moving vehicle) in real-time and determine the distance between the camera and the object in real-time.
It should be noted that the above description regarding the process 500 is merely provided for the purposes of illustration, and not intended to limit the scope of the present disclosure. For persons having ordinary skills in the art, multiple variations and modifications may be made under the teachings of the present disclosure. However, those variations and modifications do not depart from the scope of the present disclosure. For example, operation 503 may include a  sub-operation in which the processing device 122 may determine the at least one measurement point associated with the object. As another example, one or more other optional operations (e.g., a storing operation) may be added elsewhere in the process 500. In the storing operation, the processing device 122 may store information and/or data (e.g., the plurality of predetermined reference line, the at least one target line, the at least one measurement point) associated with distance measurement in a storage device (e.g., the storage device 140) disclosed elsewhere in the present disclosure.
FIGs. 6A and 6B are schematic diagrams illustrating a position relationship between a camera and a plurality of predetermined reference lines according to some embodiments of the present disclosure. As illustrated, FIG. 6A is a side view of the camera and the plurality of predetermined reference lines and FIG. 6B is a top view of the camera and the plurality of predetermined reference lines.
As illustrated in FIGs. 6A and 6B, a camera 604 may be mounted on the top of the vehicle 110 and a plurality of predetermined reference lines 606 may be perpendicular to an optical axis 608 of the camera 604. Each of the plurality of predetermined reference lines 606 may correspond to a respective horizontal reference distance (e.g., L 1, L 2) to the camera 604. In some embodiments, the plurality of predetermined reference lines 606 may be equidistant. That is, the plurality of predetermined reference lines 606 may be lines with equidistant intervals along a moving direction of the vehicle 110. The equidistant interval may be a default setting of the autonomous driving system 100 or may be adjustable under different situations. For example, the equidistant interval may be 10cm, 50cm, 1m, 2m, 5m, etc. In some embodiments, the plurality of predetermined reference lines 606 may be non-equidistant. That is, the plurality of predetermined reference lines may be lines with non-equidistant intervals along the moving direction of the vehicle 110.
In some embodiments, the plurality of predetermined reference lines 606 can be considered as a plurality of virtual lines on the road moving with the camera 604 (or the vehicle 110) . In some situations, since the road may be rough (i.e., heights (e.g., altitudes) of different positions on the road may be different) , the heights of the predetermined reference lines may be different when the vehicle 110 moves along the road. In some embodiments, the heights of the predetermined reference lines may be obtained from map information stored in a storage device (e.g., the storage device 140) disclosed elsewhere in the present disclosure.
FIG. 6C is a schematic diagram illustrating exemplary projected lines corresponding to a plurality of predetermined reference lines according to some embodiments of the present disclosure. As illustrated in FIG. 6C, one or more projected lines 656 may be generated by projecting at least one of the plurality of predetermined reference lines 606 onto an imaging  plane 652 of the camera 604. Take a specific predetermined reference line as an example, the specific predetermined reference line corresponds to a specific horizontal reference distance to the camera; accordingly, a projected line corresponding to the specific predetermined reference line corresponds to the specific horizontal reference distance. As described in connection with operation 503, the processing device 122 may identify at least one target line based on the one or more projected lines 656. Accordingly, as described in connection with operation 505, a target distance corresponding to each of the at least one target line can be determined based on the horizontal reference distance (s) corresponding to the projected line (s) 656 (or the predetermined reference line (s) ) 606 and height (s) of the predetermined reference line (s) 606.
FIGs. 7A-7E are schematic diagrams illustrating exemplary measurement points associated with an object according to some embodiments of the present disclosure. As shown in FIGs. 7A-7E, 702 refers to an image including an object (e.g., a vehicle) and 704 refers to a bounding box including the object. For illustration purposes, the present disclosure takes a rectangular bounding box as an example which is not intended to be limiting. As described elsewhere in the present disclosure, the bounding box may be a circular box, a box along a 2D outline of the object, or any regular or irregular box.
As described in connection with operation 503, the processing device 122 may select one or more points on or within the bounding box 704 as the at least one measurement point. As illustrated in FIG. 7A, the processing device 122 may select a midpoint 706 of an edge of the bounding box 704 as the at least one measurement point. As illustrated in FIG. 7B, the processing device 122 may select two endpoints 716 of the edge of the bounding box 704 as the at least one measurement point. As illustrated in FIG. 7C, the processing device 122 may select a center point 726 of the bounding box 704 as the at least one measurement point. As illustrated in FIG. 7D, the processing device 122 may select multiple random points 736 within the bounding box 704 as the at least one measurement point. Alternatively or additionally, the processing device 122 may determine a weighted average position of positions of the multiple random points 736 as the at least one measurement point. As used herein, a weighting coefficient corresponding to a point on the object may be larger than a weighting coefficient corresponding to a point beyond the object. As illustrated in FIG. 7E, the processing device 122 may select a midpoint 746-1 of an edge of the bounding box 704 and a center point 746-2 of the bounding box 704 as the at least one measurement point.
It should be noted that the above description is merely provided for the purposes of illustration, and not intended to limit the scope of the present disclosure. For persons having ordinary skills in the art, multiple variations and modifications may be made under the teachings of the present disclosure. However, those variations and modifications do not depart from the  scope of the present disclosure. For example, the bounding box may be a circular box and the processing device 122 may select one or more points on a circumference of the circular box and/or within the circular box as the at least one measurement point. As another example, the bounding box may be a box along a 2D outline of the object and the processing device 122 may select one or more points on and/or within the box as the at least one measurement point. As a further example, the processing device 122 may randomly select one or more points on the bounding box as the at least one measurement point.
FIGs. 8A-8F are schematic diagrams illustrating exemplary processes for determining at least one target line based on at least one measurement point according to some embodiments of the present disclosure. As illustrated in FIGs. 8A-8F, dotted lines refers to projected lines corresponding to the predetermined reference lines and 912, 962-1, and 962-2 refer to measurement points associated with an object (e.g., a vehicle) . For illustration purposes, the present disclosure takes a single measurement point or two measurement points as examples, but it should be noted that a count of the at least one measurement point also can be three or more.
As illustrated in FIG. 8A, the processing device 122 may determine a projected line 914 where the measurement point 912 is located as the at least one target line. As illustrated in FIG. 8B, the processing device 122 may determine two projected  lines  924a and 924b that the measurement point 912 is located between as the at least one target line. As illustrated in FIG. 8C, the processing device 122 may determine two projected lines 934a and 934b that the measurement point 912 is located between, determine an interpolated projected line 934 by performing an interpolation operation on the two projected lines 934a and 934b, and determine the interpolated projected line 934 as the at least one target line. In this situation, the interpolated projected line corresponds to an interpolated reference line. As illustrated in FIG. 8D, the processing device 122 may determine one or more projected lines (e.g., projected lines 944a-944e) in the vicinity of the measurement 912 as the at least one target line. As illustrated in FIG. 8E, the processing device 122 may determine one or more projected lines corresponding to predetermined reference lines located between the object (e.g., the measurement point 912) and the camera as the at least one target line. As shown in FIG. 8F, the processing device 122 may determine one or more projected lines (e.g., projected lines 964a-964e) between a projected line 964a where the measurement point 962-1 is located and a projected line 964e where the measurement point 962-2 is located as the at least one target line.
It should be noted that the above description is merely provided for the purposes of illustration, and not intended to limit the scope of the present disclosure. For persons having ordinary skills in the art, multiple variations and modifications may be made under the teachings of the present disclosure. However, those variations and modifications do not depart from the  scope of the present disclosure. For example, the processing device 122 may determine a measurement line connecting a plurality of measurement points and determine one or more projected lines intersecting with the measurement line as the at least one target line.
FIG. 9 is a flowchart illustrating an exemplary process for identifying at least one target line according to some embodiments of the present disclosure. In some embodiments, the process 900 may be implemented as a set of instructions (e.g., an application) stored in the storage ROM 230 or RAM 240. The processor 220 and/or the modules in FIG. 4 may execute the set of instruction, and when executing the instructions, the processor 220 and/or the modules may be configured to perform the process 900. The operations of the illustrated process presented below are intended to be illustrative. In some embodiments, the process 900 may be accomplished with one or more additional operations not described and/or without one or more of the operations herein discussed. Additionally, the order in which the operations of the process as illustrated in FIG. 9 and described below is not intended to be limiting.
In 901, for at least one of a plurality of predetermined reference lines, the processing device 122 (e.g., the target line identification module 404) (e.g., the interface circuits of the processor 220) may obtain a height of the predetermined reference line based on map information. As used herein, the “height” of the predetermined reference line may refer to an altitude of a portion (e.g., a portion where a center point of the predetermined reference line is located) of a road where the predetermined reference line is located.
In some embodiments, the processing device 122 may obtain the height of the predetermined reference line based on map information associated with the road. Take “autonomous driving” as an example, the processing device 122 may obtain the height of the predetermined reference line from a high-definition map containing information of an accuracy of a centimeter level or a millimeter level. In some embodiments, the high-definition map may be generated online or offline. For example, the high-definition map may be generated offline based on data (e.g., point cloud data) captured by a plurality of detection units (e.g., the detection units described in FIG. 1) installed on a test vehicle which is used to execute a measurement trip. As the test vehicle moves along a road, the plurality of detection units may generate point cloud data associated with a surrounding environment of the test vehicle. Further, a processing device (e.g., the processing device 122) may generate a plurality of high-definition maps corresponding to different geographic regions based on the point cloud data and store the plurality of high-definition maps in a storage device (e.g., the storage device 140) of the autonomous driving system 100. Accordingly, the processing device 122 may access the storage device and retrieve a corresponding high-definition map based on an estimated location of the portion of the road where the predetermined reference line is located.
In 903, for at least one of the predetermined reference line, the processing device 122 (e.g., the target line identification module 404) (e.g., the processing circuits of the processor 220) may select at least two reference points on the predetermined reference line.
In some embodiments, the processing device 122 may select two end points of the predetermined reference line as the at least two reference points. In some embodiment, the processing device 122 may randomly select two or more points (e.g., point A and point B illustrated in FIG. 10) on the predetermined reference line as the at least two reference points.
In 905, the processing device 122 (e.g., the target line identification module 404) (e.g., the processing circuits of the processor 220) may project the at least two reference points onto an image (or an imaging plane) based on the horizontal reference distance to the camera and the height of the predetermined reference line. In some embodiments, the processing device 122 may project the at least two reference points onto the image (or the imaging plane) by performing a perspective projection operation.
Take the point A illustrated in FIG. 10 as an example, the processing device 122 may determine a projected point A’ in the imaging plane according to formula (1) below:
Figure PCTCN2020085777-appb-000001
where x a, y a, and z a refer to an x-axis coordinate, a y-axis coordinate, and a z-axis coordinate of the point A in a camera coordinate system respectively, x 0a and y 0a refer to an x-axis coordinate and a y-axis coordinate of the projected point A’ in an image coordinate system respectively, x wa, y wa, and z wa refer to an x-axis coordinate, a y-axis coordinate, and a z-axis coordinate of the point A in the world coordinate system, f refers to a focal length of the camera, 
Figure PCTCN2020085777-appb-000002
refers to a perspective projection matrix, and
Figure PCTCN2020085777-appb-000003
refers to an extrinsic parameter matrix associated with the camera, wherein R refers to a translation transformation matrix and T refers to a rotation transformation matrix.
In some embodiments, also take the point A as an example, the processing device 122 may determine the coordinate (i.e., x wa, y wa, and z wa) of the point A in the world coordinate system based on the horizontal reference distance to the camera and/or the height of the predetermined reference line. For example, the x-axis coordinate (i.e., x wa) may be a height difference between the predetermined reference line and the camera, the z-axis coordinate (i.e., z wa) may be the horizontal reference distance of the predetermined reference line to the camera, and the y-axis coordinate (i.e., y wa) may be a position coordinate of the point along the predetermined reference line. Further, the processing device 122 may determine the coordinate  (i.e., x a, y a, and z a) of the point A in the camera coordinate system based on the coordinate (i.e., x wa, y wa, and z wa) of the point A in the world coordinate system according to a transformation relationship below:
Figure PCTCN2020085777-appb-000004
where R refers to the translation transformation matrix (e.g., a 3*3 matrix) representing translation parameters and T refers to the rotation transformation matrix (e.g., a 3*1 matrix) representing rotation parameters, wherein the translation parameters and the rotation parameters can collectively be referred to as extrinsic parameters associated with the camera.
In 907, the processing device 122 (e.g., the target line identification module 404) (e.g., the processing circuits of the processor 220) may determine a projected line corresponding to the predetermined reference line in the image based on the projected at least two reference points. In some embodiments, the processing device 122 may determine a line (e.g., a line connecting point A’ and point B’ illustrated in FIG. 10) passing through the projected at least two reference points as the projected line.
In 909, the processing device 122 (e.g., the target line identification module 404) (e.g., the processing circuits of the processor 220) may identify the at least one target line based on at least one projected line corresponding to the at least one of the plurality of predetermined reference lines and the object.
As described in connection with operation 503, the processing device 122 may determine at least one measurement point associated with the object in the image and identify the at least one target line in the image based on the at least one measurement point. For example, the processing device 122 may determine at least one projected line that the at least one measurement point is located on or between as the at least one target line. As another example, the processing device 122 may select at least one candidate line from the at least one projected line based on the object and determine the at least one target line by performing an interpolation operation on the at least one candidate line. More descriptions regarding the determination of the at least one target line may be found elsewhere in the present disclosure (e.g., FIGs. 8A-8F and the descriptions thereof) .
It should be noted that the above description regarding the process 900 is merely provided for the purposes of illustration, and not intended to limit the scope of the present disclosure. For persons having ordinary skills in the art, multiple variations and modifications may be made under the teachings of the present disclosure. However, those variations and modifications do not depart from the scope of the present disclosure. For example, one or more other optional  operations (e.g., a storing operation) may be added elsewhere in the process 900. In the storing operation, the processing device 122 may store information and/or data (e.g., the plurality of predetermined reference line, the at least one projected line, the at least one target line) associated with distance measurement in a storage device (e.g., the storage device 140) disclosed elsewhere in the present disclosure. As another example, the processing device 122 may directly project the predetermined reference line onto the image (or the imaging plane) based on the horizontal reference distance to the camera and the height of the predetermined reference line and determine a projected line corresponding to the predetermined reference line in the image.
FIG. 10 is a schematic diagram illustrating an exemplary process for projecting a predetermined reference line onto an image according to some embodiments of the present disclosure. As illustrated, o w_x wy wz w refers to the world coordinate system, o_xyz refers to the camera coordinate system, and o 0_x 0y 0 refers to the image coordinate system.
For the world coordinate system, the origin (i.e., o w) may be any point (e.g., an optical center of the camera, a physical center point of the camera, a center point of the roof of the vehicle 110) in the environment and the three axes (i.e., x-axis, y-axis, and z-axis) may be any directions perpendicular to each other. For example, the origin (i.e., o w) may be the physical center point of the camera, the x-axis (i.e., o wx w) may be perpendicular to the horizontal plane, the z-axis (i.e., o wz w) may be parallel to the horizontal plane and parallel to the optical axis of the camera, and the y-axis (i.e., o wy w) may be parallel to the horizontal plane and perpendicular to the o wz w axis. As illustrated, the predetermined reference line is perpendicular to the z-axis (i.e., o wz w) (e.g., the optical axis of the camera) and parallel to the y-axis (i.e., o wy w) . Accordingly, a coordinate of any point on the predetermined reference line in the world coordinate system can be expressed as (x wi, y wi, z wi) , wherein x wi may be determined based on the height of the predetermined reference line (e.g., a height difference between the predetermined reference line and the camera) , y wi may be determined based on a position of the point on the predetermined reference line, and z wi may be a horizontal reference distance of the predetermined reference line to the camera.
For the camera coordinate system, the origin (i.e., o) may be the optical center of the camera, the z-axis (i.e., oz) may be a direction along an optical axis of the camera, the x-axis (i.e., ox) and the y-axis (i.e., oy) may be parallel to an imaging plane 1006. As described in connection with operation 905, a coordinate of a point in the world coordinate system may be transformed to a corresponding coordinate in the camera coordinate system according to formula (2) .
For the image coordinate system along the imaging plane 1006, the origin (i.e., o 0) may be an intersection of the optical axis of the camera and the imaging plane 1006, the x-axis (i.e.,  o 0x 0) may be parallel to the x-axis of the camera coordinate system, and the y-axis (i.e., o 0y 0) may be parallel to the y-axis of the camera coordinate system. As described in connection with operation 905, the processing device 122 may select at least two reference points (e.g., point A, point B) on the predetermined reference line 1002 and project the at least two reference points on the imaging plane 1006 according to formula (1) . Alternatively or additionally, the processing device 122 may directly project the predetermined reference line 1002 onto the imaging plane 1006 according to formula (1) .
FIG. 11 is a flowchart illustrating an exemplary process for determining a distance between a camera and an object according to some embodiments of the present disclosure. In some embodiments, the process 1100 may be implemented as a set of instructions (e.g., an application) stored in the storage ROM 230 or RAM 240. The processor 220 and/or the modules in FIG. 4 may execute the set of instruction, and when executing the instructions, the processor 220 and/or the modules may be configured to perform the process 1100. The operations of the illustrated process presented below are intended to be illustrative. In some embodiments, the process 1100 may be accomplished with one or more additional operations not described and/or without one or more of the operations herein discussed. Additionally, the order in which the operations of the process as illustrated in FIG. 11 and described below is not intended to be limiting.
In 1101, for each of the at least one target line, the processing device 122 (e.g., the distance determination module 406) (e.g., the processing circuits of the processor 220) may obtain a height corresponding to the target line based on map information.
As described in connection with operation 503 and FIGs. 8A-8F, the at least one target line may be determined based on at least one of the plurality of predetermined reference lines (e.g., based on at least one projected line corresponding to the at least one of the plurality of predetermined reference lines) . Accordingly, for each of the at least one target line, the processing device 122 may determine the height corresponding to the target line based on height (s) of at least one of the plurality of predetermined reference lines. For example, it is assumed that the target line is a projected line, the processing device 122 may obtain a height of a predetermined reference line corresponding to the projected line. As another example, it is assumed that the target line is an interpolated projected line (e.g., line 934 illustrated in FIG. 8C) determined based on two projected lines, the processing device 122 may obtain heights of two predetermined reference lines corresponding to the two projected lines and determine the height (which can be considered as a height of a corresponding interpolated reference line) corresponding to the target line (i.e., the interpolated projected line) by performing an interpolation operation on the two heights.
As described in connection with operation 901, the “height” of the predetermined reference line may refer to an altitude of a portion of a road where the predetermined reference line is located. The processing device 122 may access a storage device (e.g., the storage device 140) and obtain the height of the predetermined reference line by retrieving a corresponding high-definition map based on an estimated location of the portion of the road where the predetermined reference line is located.
In 1103, the processing device 122 (e.g., the distance determination module 406) (e.g., the processing circuits of the processor 220) may obtain a horizontal distance to the camera corresponding to the target line.
As described above, for each of the at least one target line, the processing device 122 may determine the horizontal distance to the camera corresponding to the target line based on horizontal reference distance (s) of the at least one of the plurality of predetermined reference lines to the camera. For example, it is assumed that the target line is a projected line, the processing device 122 may obtain a horizontal reference distance of a predetermined reference line corresponding to the projected line. As another example, it is assumed that the target line is an interpolated projected line (e.g., 934 illustrated in FIG. 8C) determined based on two projected lines, the processing device 122 may obtain horizontal reference distances of two predetermined reference lines corresponding to the two projected lines and determine the horizontal distance to the camera (which can be considered as a horizontal reference distance of a corresponding interpolated reference line to the camera) corresponding to the target line by performing an interpolation operation on the two horizontal reference distances. In some embodiments, the processing device 122 may obtain the horizontal reference distance (s) of the predetermined reference line (s) to the camera by retrieving a storage device (e.g., the storage device 140) disclosed elsewhere in the present disclosure.
In 1105, the processing device122 (e.g., the distance determination module 406) (e.g., the processing circuits of the processor 220) may determine a target distance corresponding to the target line based on the height and the horizontal distance.
In some embodiments, for each of the at least one target line, the processing device 122 may determine the target distance corresponding to the target line according to formula (3) below:
Figure PCTCN2020085777-appb-000005
where d i refers to an ith target distance corresponding to an ith target line, m i refers to a horizontal distance corresponding to the ith target line, n i refers to a height corresponding to the ith target line, and N refers to a height of the camera. As used herein, the “height” of the camera  may refer to an altitude of a portion (e.g., a portion where a center point of the camera or the vehicle 110 is located) of a road where the camera (or the vehicle 110) is located. It can be seen that the target distance corresponding to the target line can be considered as a distance between the camera and the reference line (e.g., a predetermined reference line or an interpolated reference line) corresponding to the target line.
In some embodiments, the processing device 122 may determine the target distance corresponding to the target line according to formula (4) below:
Figure PCTCN2020085777-appb-000006
where D i refers to an ith target distance corresponding to an ith target line, m i refers to a horizontal distance corresponding to the ith target line, m i-1 refers to a horizontal distance corresponding to a (i-1) th target line, n i refers to a height corresponding to the ith target line, and n i-1 refers to a height corresponding to the (i-1) th target line. It can be seen that the target distance corresponding to the target line can be considered as a distance between a corresponding reference line and a previous reference line with respect to the camera (or a distance between the corresponding reference line and the camera if the reference line is a nearest one to the camera) .
In 1107, the processing device 122 (e.g., the distance determination module 406) (e.g., the processing circuits of the processor 220) may determine the distance between the camera and the object based on at least one target distance corresponding to the at least one target line.
In some embodiments, the processing device 122 may determine the distance between the camera and the object based on the at least one target distance according to formula (5) below:
Figure PCTCN2020085777-appb-000007
where d T refers to the distance between the camera and the object, d i refers to an ith target distance corresponding to an ith target line, w i refers to a weighting coefficient corresponding to the ith target distance, and n refers to a count of the at least one target line. As used herein, the shorter the target distance is, the larger a weighting coefficient corresponding to the target distance may be.
In some embodiments, the processing device 122 may determine the distance between the camera and the object based on the at least one target distance according to formula (6) below:
Figure PCTCN2020085777-appb-000008
where D T refers to the distance between the camera and the object, D i refers to an ith target distance corresponding to an ith target line, W i refers to a weighting coefficient corresponding to the ith target distance, and n refers to a count of the at least one target line. As  used herein, the smaller the horizontal distance to the camera corresponding to the target line is, the larger a weighting coefficient corresponding to the target distance may be.
It should be noted that the above description regarding the process 900 is merely provided for the purposes of illustration, and not intended to limit the scope of the present disclosure. For persons having ordinary skills in the art, multiple variations and modifications may be made under the teachings of the present disclosure. However, those variations and modifications do not depart from the scope of the present disclosure.
FIG. 12A is a schematic diagram illustrating a side view of an exemplary distance between a camera and an object according to some embodiments of the present disclosure. As illustrated in FIG. 12A, 1210 refers to a camera mounted on the  vehicle  110 and 1220 refers to a reference line (e.g., a predetermined reference line or an interpolated reference line, which can be collectively referred to as “reference line” for brevity) corresponding to a target line. It can be seen that the vehicle 110 may be moving along a slope AC. As described in connection with FIG. 11, the processing device 122 may obtain a height (e.g., n 0) (we assume that the height of the camera 1210 is 0) and a horizontal distance (e.g., m 0) to the camera corresponding to the target line and determine a target distance (e.g., a hypotenuse d 0 of a right triangle ABC) based on the height and the horizontal distance according to formula (3) . Further, the processing device 122 may determine the distance between the camera 1210 and an object (which may be located on the reference line 1220) (not shown) based on at least one target distance corresponding to at least one target line. It is assumed that there is only one target line, the processing device 122 may determine the distance between the camera 1210 and the object approximately as the target distance (e.g., d 0) .
FIG. 12B is a schematic diagram illustrating a side view of an exemplary distance between a camera and an object according to some embodiments of the present disclosure. As illustrated in FIG. 12B, 1242, 1244, and 1246 refer to reference lines corresponding to target lines. It can be seen that the vehicle 110 may be moving along a rough road. As described in connection with FIG. 11, for each of the target lines, the processing device 122 may obtain a height and a horizontal distance to the camera corresponding to the target line. For example, for convenience, we assume that the height of the camera 1210 is 0, for a target line corresponding to the reference line 1242, the processing device 122 may obtain a height n 1 and a horizontal distance m 1; for a target line corresponding to the reference line 1244, the processing device 122 may obtain a height n 2 and a horizontal distance m 2; and for a target line corresponding to the reference line 1246, the processing device 122 may obtain a height n 3 and a horizontal distance m 3.
Further, for each of the target lines, the processing device 122 may determine a target distance corresponding to the target line according to formula (4) . For example, for the target line corresponding to the reference line 1242, the processing device 122 may determine a target distance (referred to as a first target distance) as below:
Figure PCTCN2020085777-appb-000009
where D 1 refers to the first target distance which may be a hypotenuse DF of a triangle ΔDEF.
As another example, for the target line corresponding to the reference line 1244, the processing device 122 may determine a target distance (referred to as a second target distance) as below:
Figure PCTCN2020085777-appb-000010
where D 2 refers to the second target distance which may be a hypotenuse FH of a triangle ΔFGH.
As a further example, for the target line corresponding to the reference line 1246, the processing device 122 may determine a target distance (referred to as a third target distance) as below:
Figure PCTCN2020085777-appb-000011
where D 3 refers to the third target distance which may be a hypotenuse HJ of a triangle ΔHIJ.
Further, the processing device 122 may determine the distance between the camera 1210 and an object (which may be located on the reference line 1246) (not shown) based on the target distances corresponding to target lines. For example, the processing device 122 may determine a sum or a weighted sum of the target distances according to formula (6) as the distance between the camera 1210 and the object.
It should be noted that the above description is merely provided for the purposes of illustration, and not intended to limit the scope of the present disclosure. For persons having ordinary skills in the art, multiple variations and modifications may be made under the teachings of the present disclosure. However, those variations and modifications do not depart from the scope of the present disclosure. For example, the vehicle 110 may move along a curved road, accordingly, the processing device 122 may divide the curved road into a plurality of segments and determine a plurality of distances on the plurality of segments according to the methods disclosed elsewhere in the present disclosure.
Having thus described the basic concepts, it may be rather apparent to those skilled in the art after reading this detailed disclosure that the foregoing detailed disclosure is intended to be  presented by way of example only and is not limiting. Various alterations, improvements, and modifications may occur and are intended to those skilled in the art, though not expressly stated herein. These alterations, improvements, and modifications are intended to be suggested by this disclosure, and are within the spirit and scope of the exemplary embodiments of this disclosure.
Moreover, certain terminology has been used to describe embodiments of the present disclosure. For example, the terms “one embodiment, ” “an embodiment, ” and/or “some embodiments” mean that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. Therefore, it is emphasized and should be appreciated that two or more references to “an embodiment, ” “one embodiment, ” or “an alternative embodiment” in various portions of this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures or characteristics may be combined as suitable in one or more embodiments of the present disclosure.
Further, it will be appreciated by one skilled in the art, aspects of the present disclosure may be illustrated and described herein in any of a number of patentable classes or context including any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof. Accordingly, aspects of the present disclosure may be implemented entirely hardware, entirely software (including firmware, resident software, micro-code, etc. ) or combining software and hardware implementation that may all generally be referred to herein as a "block, " “module, ” “engine, ” “unit, ” “component, ” or “system. ” Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including electro-magnetic, optical, or the like, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that may communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable signal medium may be transmitted using any appropriate medium, including wireless, wireline, optical fiber cable, RF, or the like, or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#,  VB. NET, Python or the like, conventional procedural programming languages, such as the “C” programming language, Visual Basic, Fortran 1703, Perl, COBOL 1702, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN) , or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) or in a cloud computing environment or offered as a service such as a software as a service (SaaS) .
Furthermore, the recited order of processing elements or sequences, or the use of numbers, letters, or other designations, therefore, is not intended to limit the claimed processes and methods to any order except as may be specified in the claims. Although the above disclosure discusses through various examples what is currently considered to be a variety of useful embodiments of the disclosure, it is to be understood that such detail is solely for that purpose, and that the appended claims are not limited to the disclosed embodiments, but, on the contrary, are intended to cover modifications and equivalent arrangements that are within the spirit and scope of the disclosed embodiments. For example, although the implementation of various components described above may be embodied in a hardware device, it may also be implemented as a software-only solution-e.g., an installation on an existing server or mobile device.
Similarly, it should be appreciated that in the foregoing description of embodiments of the present disclosure, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure aiding in the understanding of one or more of the various embodiments. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed subject matter requires more features than are expressly recited in each claim. Rather, claimed subject matter may lie in less than all features of a single foregoing disclosed embodiment.

Claims (38)

  1. A system for distance measurement, comprising:
    at least one storage device including a set of instructions;
    at least one processor in communication with the at least one storage device, wherein when executing the set of instructions, the at least one processor is configured to cause the system to:
    obtain an image captured by a camera, the image including an object;
    identify at least one target line in the image based on the object, wherein the at least one target line is associated with a plurality of predetermined reference lines, each of the plurality of predetermined reference lines corresponding to a respective horizontal reference distance to the camera; and
    determine, based on the at least one target line, a distance between the camera and the object.
  2. The system of claim 1, wherein to identify the at least one target line in the image based on the object, the at least one processor is configured to cause the system to:
    determine at least one measurement point associated with the object in the image; and
    identify the at least one target line in the image based on the at least one measurement point.
  3. The system of claim 2, wherein to determine the at least one measurement point associated with the object in the image, the at least one processor is configured to cause the system to:
    determine a bounding box including the object using an object detection algorithm; and
    determine the at least one measurement point based on the bounding box.
  4. The system of claim 3, wherein the at least one processor is configured to cause the system further to:
    select a midpoint of an edge of the bounding box as the at least one measurement point;
    select at least one endpoint of the edge of the bounding box as the at least one measurement point; or
    select one or more points within the bounding box as the at least one measurement point.
  5. The system of any one of claims 2-4, wherein the at least one measurement point is located on at least one of the at least one target line or between the at least one target line in the image.
  6. The system of any one of claims 1-5, wherein the plurality of predetermined reference lines are perpendicular to an optical axis of the camera.
  7. The system of any one of claims 1-6, wherein the plurality of predetermined reference lines are equidistant or non-equidistant.
  8. The system of any one of claims 1-7, wherein to identify the at least one target line in the image based on the object, the at least one processor is configured to cause the system to:
    for at least one of the plurality of predetermined reference lines,
    obtain a height of the predetermined reference line based on map information;
    select at least two reference points on the predetermined reference line;
    project, based on the horizontal reference distance to the camera and the height of the predetermined reference line, the at least two reference points onto the image; and
    determine a projected line corresponding to the predetermined reference line in the image based on the projected at least two reference points; and
    identify, based on the object, the at least one target line based on at least one projected line corresponding to the at least one of the plurality of predetermined reference lines.
  9. The system of claim 8, wherein to identify, based on the object, the at least one target line based on the at least one projected line corresponding to the at least one of the plurality of predetermined reference lines, the at least one processor is configured to cause the system to:
    select at least one candidate line from the at least one projected line based on the object; and
    determine the at least one target line by performing an interpolation operation on the at least one candidate line.
  10. The system of any one of claims 1-9, wherein to determine the distance between the camera and the object, the at least one processor is configured to cause the system to:
    for each of the at least one target line,
    obtain a height corresponding to the target line based on map information;
    obtain a horizontal distance to the camera corresponding to the target line; and
    determine a target distance corresponding to the target line based on the height and the horizontal distance; and
    determine the distance between the camera and the object based on at least one target distance corresponding to the at least one target line.
  11. The system of claim 10, wherein the at least one processor is configured to cause the system further to:
    determine the distance between the camera and the object based on an average or a weighted average of the at least one target distance.
  12. The system of claim 10 or claim 11, wherein the at least one processor is configured to cause the system further to:
    determine the distance between the camera and the object based on a sum or a weighted sum of the at least one target distance.
  13. A method for distance measurement, implemented on a computing device including at least one processor, at least one storage device, and a communication platform connected to a network, comprising:
    obtaining an image captured by a camera, the image including an object;
    identifying at least one target line in the image based on the object, wherein the at least one target line is associated with a plurality of predetermined reference lines, each of the plurality of predetermined reference lines corresponding to a respective horizontal reference distance to the camera; and
    determining, based on the at least one target line, a distance between the camera and the object.
  14. The method of claim 13, wherein the identifying the at least one target line in the image based on the object comprising:
    determining at least one measurement point associated with the object in the image; and
    identifying the at least one target line in the image based on the at least one measurement point.
  15. The method of claim 14, wherein the determining the at least one measurement point associated with the object in the image comprising:
    determining a bounding box including the object using an object detection algorithm; and
    determining the at least one measurement point based on the bounding box.
  16. The method of claim 15, further comprising:
    selecting a midpoint of an edge of the bounding box as the at least one measurement point;
    selecting at least one endpoint of the edge of the bounding box as the at least one measurement point; or
    selecting one or more points within the bounding box as the at least one measurement point.
  17. The method of any one of claims 14-16, wherein the at least one measurement point is located on at least one of the at least one target line or between the at least one target line in the image.
  18. The method of any one of claims 13-17, wherein the plurality of predetermined reference lines are perpendicular to an optical axis of the camera.
  19. The method of any one of claims 13-18, wherein the plurality of predetermined reference lines are equidistant or non-equidistant.
  20. The method of any one of claims 13-19, wherein the identifying the at least one target line in the image based on the object comprising:
    for at least one of the plurality of predetermined reference lines,
    obtaining a height of the predetermined reference line based on map information;
    selecting at least two reference points on the predetermined reference line;
    projecting, based on the horizontal reference distance to the camera and the height of the predetermined reference line, the at least two reference points onto the image; and
    determining a projected line corresponding to the predetermined reference line in the image based on the projected at least two reference points; and
    identifying, based on the object, the at least one target line based on at least one projected line corresponding to the at least one of the plurality of predetermined reference lines.
  21. The method of claim 20, wherein the identifying, based on the object, the at least one target line based on the at least one projected line corresponding to the at least one of the plurality of predetermined reference lines comprising:
    selecting at least one candidate line from the at least one projected line based on the object; and
    determining the at least one target line by performing an interpolation operation on the at least one candidate line.
  22. The method of any one of claims 13-21, wherein the determining the distance between the camera and the object comprising:
    for each of the at least one target line,
    obtaining a height corresponding to the target line based on map information;
    obtaining a horizontal distance to the camera corresponding to the target line; and
    determining a target distance corresponding to the target line based on the height and the horizontal distance; and
    determining the distance between the camera and the object based on at least one target distance corresponding to the at least one target line.
  23. The method of claim 22, further comprising:
    determining the distance between the camera and the object based on an average or a weighted average of the at least one target distance.
  24. The method of claim 22 or claim 23, further comprising:
    determining the distance between the camera and the object based on a sum or a weighted sum of the at least one target distance.
  25. A system for distance measurement, comprising:
    an obtaining module configured to obtain an image captured by a camera, the image including an object;
    a target line identification module configured to identify at least one target line in the image based on the object, wherein the at least one target line is associated with a plurality of predetermined reference lines, each of the plurality of predetermined reference lines corresponding to a respective horizontal reference distance to the camera; and
    a distance determination module configured to determine, based on the at least one target line, a distance between the camera and the object.
  26. The system of claim 25, wherein the target line identification module is further configured to:
    determine at least one measurement point associated with the object in the image; and
    identify the at least one target line in the image based on the at least one measurement point.
  27. The system of claim 26, wherein the target line identification module is further configured to:
    determine a bounding box including the object using an object detection algorithm; and
    determine the at least one measurement point based on the bounding box.
  28. The system of claim 27, wherein the target line identification module is further configured to:
    select a midpoint of an edge of the bounding box as the at least one measurement point;
    select at least one endpoint of the edge of the bounding box as the at least one measurement point; or
    select one or more points within the bounding box as the at least one measurement point.
  29. The system of any one of claims 26-28, wherein the at least one measurement point is located on at least one of the at least one target line or between the at least one target line in the image.
  30. The system of any one of claims 25-29, wherein the plurality of predetermined reference lines are perpendicular to an optical axis of the camera.
  31. The system of any one of claims 25-30, wherein the plurality of predetermined reference lines are equidistant or non-equidistant.
  32. The system of any one of claims 25-31, wherein the target line identification module is further configured to:
    for at least one of the plurality of predetermined reference lines,
    obtain a height of the predetermined reference line based on map information;
    select at least two reference points on the predetermined reference line;
    project, based on the horizontal reference distance to the camera and the height of the predetermined reference line, the at least two reference points onto the image; and
    determine a projected line corresponding to the predetermined reference line in the image based on the projected at least two reference points; and
    identify, based on the object, the at least one target line based on at least one projected line corresponding to the at least one of the plurality of predetermined reference lines.
  33. The system of claim 32, wherein the target line identification module is further configured to:
    select at least one candidate line from the at least one projected line based on the object; and
    determine the at least one target line by performing an interpolation operation on the at least one candidate line.
  34. The system of any one of claims 25-33, wherein the distance determination module is further configured to:
    for each of the at least one target line,
    obtain a height corresponding to the target line based on map information;
    obtain a horizontal distance to the camera corresponding to the target line; and
    determine a target distance corresponding to the target line based on the height and the horizontal distance; and
    determine the distance between the camera and the object based on at least one target distance corresponding to the at least one target line.
  35. The system of claim 34, wherein the distance determination module is further configured to:
    determine the distance between the camera and the object based on an average or a weighted average of the at least one target distance.
  36. The system of claim 34 or claim 35, wherein the distance determination module is further configured to:
    determine the distance between the camera and the object based on a sum or a weighted sum of the at least one target distance.
  37. A non-transitory computer-readable storage medium, comprising at least one set of instructions, wherein when executed by at least one processor of a computing device, the at least one set of instructions directs the at least one processor to perform acts of:
    obtaining an image captured by a camera, the image including an object;
    identifying at least one target line in the image based on the object, wherein the at least one target line is associated with a plurality of predetermined reference lines, each of the plurality of predetermined reference lines corresponding to a respective horizontal reference distance to the camera; and
    determining, based on the at least one target line, a distance between the camera and the object.
  38. A vehicle configured for autonomous driving, comprising:
    a detecting component, a planning component, and a control component, wherein the planning component is configured to:
    obtain an image captured by a camera, the image including an object;
    identify at least one target line in the image based on the object, wherein the at least one target line is associated with a plurality of predetermined reference lines, each of the plurality of predetermined reference lines corresponding to a respective horizontal reference distance to the camera; and
    determine, based on the at least one target line, a distance between the camera and the object.
PCT/CN2020/085777 2020-04-21 2020-04-21 Systems and methods for distance measurement WO2021212297A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2020/085777 WO2021212297A1 (en) 2020-04-21 2020-04-21 Systems and methods for distance measurement
CN202080020086.8A CN113826145A (en) 2020-04-21 2020-04-21 System and method for distance measurement

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/085777 WO2021212297A1 (en) 2020-04-21 2020-04-21 Systems and methods for distance measurement

Publications (1)

Publication Number Publication Date
WO2021212297A1 true WO2021212297A1 (en) 2021-10-28

Family

ID=78270979

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/085777 WO2021212297A1 (en) 2020-04-21 2020-04-21 Systems and methods for distance measurement

Country Status (2)

Country Link
CN (1) CN113826145A (en)
WO (1) WO2021212297A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116485893A (en) * 2023-04-23 2023-07-25 创新奇智(上海)科技有限公司 Method, system, equipment and medium for measuring article placement position

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011053025A (en) * 2009-08-31 2011-03-17 Nissan Motor Co Ltd Distance measuring device and method of measuring distance
CN107389026A (en) * 2017-06-12 2017-11-24 江苏大学 A kind of monocular vision distance-finding method based on fixing point projective transformation
CN108596116A (en) * 2018-04-27 2018-09-28 深圳市商汤科技有限公司 Distance measuring method, intelligent control method and device, electronic equipment and storage medium
CN109949356A (en) * 2019-03-14 2019-06-28 大连民族大学 Equal space line monocular vision pedestrian's method for estimating distance
CN110234955A (en) * 2016-12-07 2019-09-13 魔眼公司 Project the range sensor of pattern parallel
CN110751127A (en) * 2019-10-30 2020-02-04 芜湖汽车前瞻技术研究院有限公司 Distance determination method, device and storage medium

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2597328C1 (en) * 2015-05-21 2016-09-10 федеральное государственное бюджетное образовательное учреждение высшего образования "Национальный исследовательский университет "МЭИ" (ФГБОУ ВО "НИУ "МЭИ") Method of remote measurement and fixing the speed of vehicles
KR102434574B1 (en) * 2017-08-14 2022-08-22 삼성전자주식회사 Method and apparatus for recognizing a subject existed in an image based on temporal movement or spatial movement of a feature point of the image

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011053025A (en) * 2009-08-31 2011-03-17 Nissan Motor Co Ltd Distance measuring device and method of measuring distance
CN110234955A (en) * 2016-12-07 2019-09-13 魔眼公司 Project the range sensor of pattern parallel
CN107389026A (en) * 2017-06-12 2017-11-24 江苏大学 A kind of monocular vision distance-finding method based on fixing point projective transformation
CN108596116A (en) * 2018-04-27 2018-09-28 深圳市商汤科技有限公司 Distance measuring method, intelligent control method and device, electronic equipment and storage medium
CN109949356A (en) * 2019-03-14 2019-06-28 大连民族大学 Equal space line monocular vision pedestrian's method for estimating distance
CN110751127A (en) * 2019-10-30 2020-02-04 芜湖汽车前瞻技术研究院有限公司 Distance determination method, device and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116485893A (en) * 2023-04-23 2023-07-25 创新奇智(上海)科技有限公司 Method, system, equipment and medium for measuring article placement position
CN116485893B (en) * 2023-04-23 2024-02-23 创新奇智(上海)科技有限公司 Method, system, equipment and medium for measuring article placement position

Also Published As

Publication number Publication date
CN113826145A (en) 2021-12-21

Similar Documents

Publication Publication Date Title
US20220187843A1 (en) Systems and methods for calibrating an inertial measurement unit and a camera
US11781863B2 (en) Systems and methods for pose determination
US20220138896A1 (en) Systems and methods for positioning
WO2020133118A1 (en) Systems and methods for path determination
US10909411B2 (en) Information processing apparatus, information processing method, and computer program product
WO2019007263A1 (en) Method and device for calibrating external parameters of vehicle-mounted sensor
US20220171060A1 (en) Systems and methods for calibrating a camera and a multi-line lidar
CN112414417B (en) Automatic driving map generation method and device, electronic equipment and readable storage medium
US20210291902A1 (en) Method and apparatus for trailer angle measurement and vehicle
CN112041210B (en) System and method for autopilot
WO2024012211A1 (en) Autonomous-driving environmental perception method, medium and vehicle
JP2019102007A (en) Gradient estimation device, gradient estimation method, program and control system
WO2021077315A1 (en) Systems and methods for autonomous driving
WO2021212297A1 (en) Systems and methods for distance measurement
WO2020206774A1 (en) Systems and methods for positioning
US20220178701A1 (en) Systems and methods for positioning a target subject
CN110720025B (en) Method, device and system for selecting map of mobile object and vehicle/robot
WO2021012243A1 (en) Positioning systems and methods
US20220270288A1 (en) Systems and methods for pose determination
CN112840232B (en) System and method for calibrating cameras and lidar
US11940279B2 (en) Systems and methods for positioning
JP7117408B1 (en) POSITION CALCULATION DEVICE, PROGRAM AND POSITION CALCULATION METHOD
WO2021035532A1 (en) Systems and methods for positioning target subject
CN113557548A (en) System and method for generating pose graph
CN113447032A (en) Positioning method, positioning device, electronic equipment and storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20932301

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20932301

Country of ref document: EP

Kind code of ref document: A1