Plotting device, plotting method and program
The plotting device addresses inaccuracies in lane marking systems by using auxiliary points to calculate candidate lines, ensuring high-accuracy and efficient plotting of road lane boundaries.
Patent Information
- Application Number
- JP2021165490
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-10-07
- Publication Date
- 2025-08-14
- Estimated Expiration
- 2041-10-07
AI Technical Summary
Existing systems for creating road lane marking databases face inaccuracies due to assumptions about vehicle position within lanes and inconsistent lane widths, leading to errors in lane marking placement.
A plotting device that uses road images to map lane markings by setting auxiliary points based on designated points and calculating candidate lines, allowing for high-accuracy plotting of lane boundaries.
Enables precise plotting of lane markings with reduced user input, improving accuracy and efficiency in generating road lane databases.
Smart Images

Figure 0007723566000008 
Figure 0007723566000009 
Figure 0007723566000010
Abstract
Description
[Technical Field]
[0001] The present invention relates to a plotting device, a plotting method, and a program. [Background technology]
[0002] In order to build a system for autonomous driving of vehicles, it is necessary to build a highly accurate road database that includes information on road lane markings. Conventionally, to build such a database, a vehicle equipped with an image capture device or the like drives along the road to capture images of the road, and an operator determines the positions of the lane markings from the road images and inputs them into the database. However, because roads are long and vast, it is difficult for an operator to manually input all the lane markings on the road.
[0003] Patent Document 1 describes a road map creation system that drives a vehicle equipped with a GPS receiver to acquire a driving trajectory, calculates lane element points spaced a predetermined lane width to the left and right of the vehicle position indicated by the driving trajectory, and defines dividing lines based on the lane element point group. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2002-318533 Summary of the Invention [Problem to be solved by the invention]
[0005] However, the system described in Patent Document 1 assumes that vehicles will drive in the center of the lane, which can lead to errors in the lane markings depending on the vehicle's position within the lane. Also, because the system described in Patent Document 1 determines the lane width in advance, errors can occur in the lane markings when there is a mixture of sections with different lane widths, such as curved sections and straight sections.
[0006] The present invention has been made to solve the above-mentioned problems, and aims to provide a plotting device, a plotting method, and a program that enable plotting of lane markings with high accuracy. [Means for solving the problem]
[0007] The mapping device of the present invention is a mapping device that uses road images obtained by measuring the road to map marking lines that divide one or more lanes on a road, and is characterized by comprising: a memory means for storing the trajectory of a vehicle traveling on the road and a plurality of designated points on the marking lines in the road image; a calculation means for setting auxiliary points within a distance range from the trajectory based on the distance from each designated point to the trajectory, and calculating candidate marking lines based on the designated points and auxiliary points; and an output means for outputting information regarding the calculated candidate marking lines.
[0008] In addition, in the plotting device of the present invention, it is preferable that the calculation means sets an auxiliary point on a perpendicular line to the trajectory passing through the arbitrary point based on the distance from the trajectory to two of the multiple specified points and the distance from one of two corresponding points on the trajectory that correspond to the two specified points to an arbitrary point located between the two corresponding points.
[0009] In addition, in the plotting device of the present invention, it is preferable that the calculation means sets the range between each distance from the locus to two of the multiple designated points as a distance range, and sets a point located within the distance range from the locus and having image features similar to those of the designated points as an auxiliary point.
[0010] Furthermore, it is preferable that the plotting device according to the present invention further comprises a display means for displaying a road image, and the calculation means stores the point designated by the user based on the displayed road image as the designated point.
[0011] In the plotting device according to the present invention, it is preferable that the calculation means stores, as the designated point, a point in the road image that has the image characteristics of a lane marking line.
[0012] In addition, in the plotting device of the present invention, it is preferable that the storage means further stores the multiple demarcation line candidates calculated by the candidate calculation means, and the calculation means calculates a new demarcation line candidate by interpolation or extrapolation using two of the multiple demarcation line candidates.
[0013] The mapping method of the present invention is a mapping method executed by a mapping device that uses a road image obtained by measuring the road to map marking lines that divide one or more lanes on the road, and is characterized by including the steps of: storing the trajectory of a vehicle traveling on the road and a plurality of designated points specified at the positions of the marking lines in the road image; setting auxiliary points within a distance range from the trajectory that is based on the distance from each designated point to the trajectory; and calculating candidates for the marking lines based on the designated points and auxiliary points.
[0014] The program of the present invention is a computer program having a memory unit that uses road images obtained by measuring the road to plot dividing lines that divide one or more lanes on the road, and is characterized in that the memory unit causes the computer to store the trajectory of a vehicle traveling on the road and a plurality of designated points specified at the positions of the dividing lines in the road image, set auxiliary points within a distance range from the trajectory that is based on the distance from each designated point to the trajectory, and calculate candidates for dividing lines based on the designated points and auxiliary points. [Effects of the Invention]
[0015] The plotting device, plotting method, and program according to the present invention make it possible to plot demarcation lines with high accuracy. [Brief explanation of the drawings]
[0016] [Figure 1] FIG. 1 is a schematic diagram for explaining an overview of a plotting device. [Figure 2] 1 is a diagram showing a schematic configuration of a mapping system 1. FIG. [Figure 3] FIG. 2 is a diagram showing the data structure of a point cloud table T1. [Figure 4] FIG. 10 is a diagram showing the data structure of an input point table T2. [Figure 5] FIG. 10 is a diagram showing the data structure of plotted data T3. [Figure 6] FIG. 10 is a flow chart showing the flow of the plotting process. [Figure 7] FIG. 10 is a flow chart showing the flow of the plotting process. [Figure 8] FIG. 10A is a schematic diagram illustrating an example of calculation of a display target area in a non-reduced display mode, and FIG. 10B is a schematic diagram illustrating an example of calculation of a display target area in a reducible display mode. [Figure 9] FIG. 10 is a schematic diagram for explaining an example of calculation of the slope of a reference line. [Figure 10] FIG. 10 is a schematic diagram for explaining an example of calculation of an auxiliary point. [Figure 11] FIG. 10 is a schematic diagram for explaining another example of calculation of an auxiliary point. [Figure 12] 10A is a schematic diagram for explaining an example of setting a display target area in a linear display mode, and FIG. 10B is a schematic diagram for explaining an example of linearization processing. [Figure 13] FIG. 10 is a schematic diagram for explaining an example of calculation of a designated point. [Figure 14] FIG. 10 is a schematic diagram for explaining another example of calculation of an auxiliary point. DETAILED DESCRIPTION OF THE INVENTION
[0017] Various embodiments of the present invention will be described below with reference to the drawings. Please note that the technical scope of the present invention is not limited to these embodiments, but extends to the inventions set forth in the claims and their equivalents.
[0018] FIG. 1 is a schematic diagram for explaining an overview of a plotting device according to the present invention. The plotting device acquires measurement data obtained by measuring roads using an MMS (Mobile Mapping System) mounted on a vehicle traveling on the road, and a trajectory T of the vehicle traveling on the road. Based on the measurement data, the plotting device generates and stores a road image R showing roads included in the measured geographical area. The plotting device generates a display image D including a portion of the road image R that is included in a display target area A specified by the user, and displays this to the user. The display target area A can be a rectangular area extending along the extension direction of the road, and the display image D can be an image obtained by reducing the portion of the road image R that is included in the display target area A in the extension direction.
[0019] The user operates the plotting device to specify multiple points on the dividing lines that divide one or more lanes on the road, such as the center line E1, lane boundary line E2, and roadway outer edge line E3, in the display image D. The plotting device stores the specified multiple points as specified points P. The user repeatedly specifies points on the dividing lines while moving the display target area A along the extension direction of the road. As a result, specified points P are stored for the entire area of the road included in the road image R.
[0020] The plotting device sets auxiliary points Q whose distances from the locus T are within a distance range based on the distances from each designated point P to the locus T, and calculates lane line candidates L based on the designated points P and auxiliary points Q. The plotting device converts the lane line candidates L so that they are reduced in the extension direction of the road, and draws them on a display image D. The plotting device also generates and outputs plotting data Z including the designated points P, auxiliary points Q, and lane line candidates L.
[0021] In this way, the plotting device sets auxiliary point Q based on the specified point P and locus T. Therefore, the user does not need to specify a point on the lane line that corresponds to auxiliary point Q, reducing the user's workload. Furthermore, auxiliary point Q is set to fall within a distance range based on the distance from specified point P on the lane line specified by the user to locus T. Therefore, even if the vehicle is traveling outside the center of the lane or the lane width is not constant, there is a high possibility that auxiliary point Q set by the plotting device will be located on the lane line, and the lane line will be plotted with high accuracy.
[0022] The plotting device also displays, as the display image D, a shortened image obtained by reducing the road image R in the extension direction of the road and converting the lane marking candidate L so that it is reduced in the extension direction of the road. As a result, a wide range of roads is included in the display image D, reducing the number of times the user has to move the display target area A along the extension direction of the road, improving work efficiency. In other words, lane marking lines are plotted efficiently.
[0023] The above description of Fig. 1 is merely for the purpose of providing a better understanding of the present invention. The present invention is specifically embodied in various embodiments described below, and may be embodied in various modifications without substantially departing from the principles of the present invention. All such modifications are within the scope of the present invention and the disclosure of this specification.
[0024] 2 is a diagram showing a schematic configuration of a mapping system 1 according to an embodiment. The mapping system 1 includes a vehicle 2, a mapping device 3, and an external device 4.
[0025] The vehicle 2 is an automobile that travels on a road and is equipped with an MMS 21. The MMS 21 includes a GNSS (Global Navigation Satellite System) sensor, an inertial measurement unit, a laser measuring instrument, a camera, and a control terminal that controls each of the devices. The MMS 21 is an example of road measurement means, and may be any road measurement means that includes a GNSS sensor and / or an inertial measurement unit, a laser measuring instrument and / or a camera, and a control terminal that controls each of the devices.
[0026] The GNSS sensor and the inertial measurement unit generate position information and attitude information of the vehicle 2 at predetermined time intervals while the vehicle 2 is traveling. Based on the position information and attitude information, the control terminal generates time-series vehicle position data that indicates the three-dimensional vehicle position for each fixed travel distance or for each fixed time interval of the vehicle 2. Hereinafter, data that indicates a line connecting adjacent vehicle positions in the generated vehicle position data may be referred to as a trajectory.
[0027] While the vehicle 2 is traveling, the laser measurement instrument sequentially emits laser light toward the road while changing the emission direction, and detects the light reflected from the road. The laser measurement instrument generates data indicating the relative position of the reflection point based on the laser emission direction and the time from emitting the laser light to detecting the reflected light. The control terminal converts the relative position into an absolute position based on the data indicating the relative position of the reflection point and the position information and attitude information at the time the data was generated, and generates three-dimensional point cloud data indicating the shape of the road.
[0028] Furthermore, while the vehicle 2 is traveling, the camera sequentially captures images of the road to generate captured images. The camera is fixed relative to the laser measuring instrument, and a correspondence relationship between each irradiation direction and each pixel in the captured image is determined. This allows the control terminal to generate measurement data in which each point constituting the three-dimensional point cloud is associated with the pixel value of the corresponding pixel. Hereinafter, the three-dimensional point cloud with associated pixel values may be referred to as a colored point cloud.
[0029] The control terminal transmits the generated vehicle position data, the captured image, and the measurement data, which is a colored point cloud, to the plotting device 3.
[0030] The plotting device 3 is a device that plots the division lines that divide one or more lanes on a road, and is an information processing device such as a PC (Personal Computer) or a server. The plotting device 3 includes a memory unit 31, a communication unit 32, a display unit 33, an operation unit 34, and a processing unit 35.
[0031] The storage unit 31 is configured to store data and programs, and includes, for example, a semiconductor memory. The storage unit 31 stores an operating system program, driver programs, application programs, data, etc., used for processing by the processing unit 35. The programs are installed by a setup program from a computer-readable, non-transitory, portable storage medium such as a CD (Compact Disc)-ROM (Read Only Memory). The storage unit 31 is an example of storage means.
[0032] The communication unit 32 is a component that enables the plotting device 3 to communicate with other devices, and includes a communication interface circuit. The communication interface circuit included in the communication unit 32 is, for example, a communication interface circuit for a wired LAN (Local Area Network), a wireless LAN, or LTE (Long Term Evolution). The communication unit 32 supplies data received from other devices to the processing unit 35, and transmits data supplied from the processing unit 35 to other devices.
[0033] The display unit 33 is configured to display an image, and includes, for example, a liquid crystal display or an organic EL (Electro-Luminescence) display. The display unit 33 displays an image based on display data supplied from the processing unit 35.
[0034] The operation unit 34 is configured to accept input operations for the plotting device 3, and includes, for example, a keyboard, a keypad, or a mouse. The operation unit 34 may include a touch panel integrated with the display unit 33. The operation unit 34 generates a signal according to the input operation and supplies it to the processing unit 35.
[0035] The processing unit 35 is configured to comprehensively control the operation of the plotting device 3 and includes one or more processors (processing circuits) and their peripheral circuits. The processing unit 35 includes, for example, a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), an LSI (Large Scale Integration), or an ASIC (Application Specific Integrated Circuit). The processing unit 35 may also include a DSP (Digital Signal Processor), an FPGA (Field Programmable Gate Array), etc. The processing unit 35 executes processing based on programs stored in the storage unit 31 and controls the operation of each component of the plotting device 3 so that the processing is executed appropriately.
[0036] The processing unit 35 has an acquisition unit 351, a road image generation unit 352, a condition setting unit 353, a display image generation unit 354, a display processing unit 355, a candidate calculation unit 356, and an output unit 357. Each of these units is a functional module realized by a program executed by the processing unit 35. Each of these units may be implemented in the plotting device 3 as firmware. The display image generation unit 354 functions as image generation means. The display processing unit 355 functions as display means. The candidate calculation unit 356 functions as calculation means.
[0037] The external device 4 is a device to which plotting data of the lane markings is output, and is, for example, an information processing device such as a server. The external device 4 at least receives and stores the plotting data generated by the plotting device 3.
[0038] 3 is a diagram showing an example of the data structure of the point cloud table T1 stored in the storage unit 31. The point cloud table T1 shows colored point cloud data.
[0039] The point cloud table T1 stores latitude, longitude, altitude, distance, pixel value, etc. in association with one another. The latitude, longitude, and altitude are information indicating the three-dimensional position of each point constituting the three-dimensional point cloud generated by the laser measurement instrument of the MMS21. The distance is the distance from the laser measurement instrument to each point when each point was generated by the laser measurement instrument. The pixel value is the pixel value of the pixel that corresponds to each point in the three-dimensional point cloud among the pixels constituting the captured image generated by the camera of the MMS21, and is, for example, an RGB value.
[0040] The data of the point cloud table T1 is acquired from the MMS 21 by the plotting device 3 and stored in the storage unit 31.
[0041] 4 is a diagram showing an example of the data structure of the input point table T2 stored in the storage unit 31. The input point table T2 shows point sequence data of a plurality of input points (referring to designated points or auxiliary points) that constitute a lane marking line candidate. The plotting device 3 calculates a line based on the plurality of input points stored in the input point table T2 as a lane marking line candidate.
[0042] The input point table T2 stores point numbers, types, latitude, longitude, altitude, etc. in association with one another. The point number is information that identifies each input point and also specifies the order of the input points. The type is information that indicates whether the input point is a designated point or an auxiliary point. The latitude line number is identification information that identifies the latitude line corresponding to each input point. The same latitude line number is assigned to input points that make up the same latitude line. The latitude, longitude, and altitude are information that indicate the three-dimensional position of each input point. Latitude line candidates are calculated by connecting input points associated with the same latitude line number in the order of their point numbers.
[0043] Of the data in the input point table T2, the data for the specified points is input by the user or generated automatically by the plotting device 3. Of the data in the input point table T2, the data for the auxiliary points is generated automatically by the plotting device 3.
[0044] Figure 5 is a diagram showing an example of the data structure of the plotting data T3 stored in the memory unit 31. The plotting data T3 is graphic data showing lane line candidates calculated by the plotting device 3. The plotting data T3 stores lane line numbers, coordinates, etc. in association with each other. The lane line numbers are identification information that identify lane lines. The coordinates are information that indicates the latitude, longitude, and altitude of each input point that constitutes a lane line. In the following, the lane line candidates will be described as being polygonal lines connecting each input point.
[0045] The plotting data T3 is generated by the plotting device 3 based on the data in the input point table T2.
[0046] 6 and 7 are flow diagrams showing the flow of the plotting process executed by the plotting device 3. The plotting process is realized by the processing unit 35, which executes a program stored in the storage unit 31, working in cooperation with each component of the plotting device 3.
[0047] The plotting process includes an initial setting process (steps S11-S13), a display process (steps S14-S15), a reception process (steps S21-S27), and an output process (steps S28-S29). In the initial setting process, data necessary for displaying a road image on the display unit 33 is acquired and display conditions are set. In the display process, a display image including a portion of the road image is displayed on the display unit 33. In the reception process, a user instruction to edit lane line candidates based on the displayed display image is received, and if an instruction is received, processing is performed in accordance with the instruction. When the reception process is executed, the input points or lane line candidates included in the display image or the display conditions of the display image are changed, so the display process is executed again and the display image reflecting the changes is displayed. When the calculation of lane line candidates is completed by repeating the reception process and display process, an output process is executed in accordance with the user's output instruction. In the output process, processing is performed to output the plotting data.
[0048] 6, first, the acquisition unit 351 acquires measurement data including a trajectory, a colored point cloud, and a captured image from the MMS 21 via the communication unit 32 (step S11). The acquisition unit 351 stores the acquired measurement data in the storage unit 31.
[0049] Next, the road image generation unit 352 generates road images for each of a plurality of preset scales (step S12). The road image is an image generated by projecting each point included in the colored point cloud onto an arbitrary plane. In the following description, the road image is assumed to be an orthogonal projection image obtained by orthogonally projecting the colored point cloud onto a horizontal plane.
[0050] The road image generation unit 352 sets a two-dimensional geographical area defined by latitude and longitude so that each point in the colored point cloud is included. Next, the road image generation unit 352 determines the number of pixels in the width and height of the road image corresponding to the geographical area for each of multiple scales, and sets a projection function for orthogonally projecting the latitude and longitude onto coordinates (pixel positions) in the road image. Next, the road image generation unit 352 calculates the pixel position to which each point in the point cloud table T1 is projected using the set projection function, and generates a road image by setting the pixel value associated with each point as the pixel value of the projection destination pixel. Note that if multiple projection destinations are the same pixel, the point among the multiple points that is the shortest distance from the laser measurement instrument can be set as the projection source, or a representative value of the pixel values associated with the multiple points can be set as the projection destination pixel value.
[0051] Next, the condition setting unit 353 receives the setting of the display conditions by the user (step S13). The display conditions include the scale of the display image, the center position of the display target area to be displayed as the display image, the width and height of the window in which the road image is displayed on the display unit 33, the display mode, and the reduction rate in the case of the reduced display mode. The display mode is either a reduced display mode in which the road image is reduced and displayed or a non-reduced display mode in which the road image is displayed without reduction. Note that the condition setting unit 353 may omit the setting of the display conditions by the user and set the display conditions to the initial values stored in advance. The scale E and the reduction rate F are set within the ranges of 0 < E < 1 and 0 < F < 1, respectively.
[0052] Next, the display image generation unit 354 determines whether it is in the non-reduced display mode or the reduced display mode (step S14).
[0053] When it is determined that it is in the non-reduced display mode (step S14-No), the display image generation unit 354 generates a display image that has not been reduced and rotated (step S14a). First, the display image generation unit 354 calculates a display target area that has not been enlarged and rotated.
[0054] FIG. 8(A) is a schematic diagram for explaining an example of calculating the display target area in the non-reduced display mode. The display image generation unit 354 sets a display target area A1 in the geographical area corresponding to the road image R based on the center position C, the width and height of the window W, and the scale E, which are the display conditions set in step S13. For example, the display image generation unit 354 sets, as the display target area A1, a rectangular area that has the center position C as the center, has a preset inclination, and has a width W1 and a height H1. The width W1 and the height H1 of the display target area A1 in the road image R with the scale E are equal to the width and height of the window W. The width and height of the window W are the number of pixels in the horizontal and vertical directions of the window W, respectively. Hereinafter, the window W will be described as a horizontally long rectangle whose width is greater than or equal to the height. Note that the actual width W1 and height H1 are values obtained by dividing the actual width and height of the window W by the scale E, respectively.
[0055] Next, the display image generation unit 354 extracts the portion included in the display target area A1 from the road image R at scale E. The display image generation unit 354 also extracts data of input points included in the display target area A1 from the input point table T2. The display image generation unit 354 also extracts data of lane line candidates included in the display target area A1 from the diagramming data T3. The display image generation unit 354 generates a display image by superimposing and drawing figures indicating the extracted input points and lane line candidates L1 and L2 on the extracted road image.
[0056] If it is determined in step S14 that the display mode is the shortened display mode (step S14-Yes), the display image generation unit 354 generates a reduced and rotated display image (step S14b). Note that, hereinafter, a display image generated in the shortened display mode may be referred to as a shortened image. First, the display image generation unit 354 calculates an enlarged and rotated display target area.
[0057] 8(B) is a schematic diagram illustrating an example of calculation of the display target area in the shortened display mode. The display image generation unit 354 sets the display target area A2 in the geographical area corresponding to the road image R based on the display conditions set in step S13, namely, the center position C, the width and height of the window W, the scale E, and the shortening rate F. For example, the display image generation unit 354 sets a rectangular area having a width W2 and a height H2 centered on the center position C as the display target area A2. The width W2 of the display target area A2 in the road image R at the shortened scale E is the value obtained by dividing the width of the window W by the shortening rate F. The height H2 of the display target area A2 in the road image R at the shortened scale E is equal to the height of the window W. In other words, the display target area A2 in the shortened display mode has a shape obtained by enlarging the display target area A1 in the non-reduced display mode so that its width is the reciprocal of the shortening rate E. The actual width W2 is the value obtained by dividing the actual width of the window W by the shortening rate F and the scale E, and the actual height H2 is the value obtained by dividing the actual height of the window W by the scale E.
[0058] Next, the display image generation unit 354 sets a lane line candidate near the center position C as the reference line. For example, the display image generation unit 354 calculates the distance between each lane line candidate within a predetermined range from the center position C and the center position C, and sets the lane line candidate with the smallest calculated distance as the reference line. In the example shown in FIG. 8(B), of the lane line candidates L1 and L2, the lane line candidate L1 is identified as the reference line. Next, the display image generation unit 354 calculates the extension direction of the reference line near the center position C. For example, the display image generation unit 354 calculates the slope Δ of the reference line based on the input point that is closest to the center position C and the input point adjacent to that input point among the input points that make up the reference line, and calculates the direction indicated by the slope Δ as the extension direction of the reference line.
[0059] 9A is a schematic diagram for explaining an example of calculation of the inclination of a reference line. The display image generation unit 354 specifies the input point B0 that is closest to the center position C among the input points that constitute the lane marking candidate that is the reference line. The display image generation unit 354 then calculates the inclination of the reference line by dividing the input point B0 into two input points B0 that are adjacent to the input point B0 and the lane marking candidate. -1 and B +1 The display image generating unit 354 identifies the input point B -1 and B +1 The slope ΔA of the line passing through and is calculated as the slope Δ of the reference line.
[0060] 9B is a schematic diagram for explaining another example of calculation of the inclination of the reference line. The display image generation unit 354 specifies the input point B0 that is closest to the center position C among the input points that constitute the lane marking candidate that is the reference line. The display image generation unit 354 then selects two input points B0 that are adjacent to the input point B0 in front of the input point B0. -2 and B -1 and the two adjacent input points B +1 and B +2 The display image generating unit 354 identifies the input point B -2 The slope of the line passing through B0 is ΔB1, and the input point is B -1 and B +1 The slope of the line passing through the input points B0 and B2 is ΔB2. +2The display image generating unit 354 calculates the slope ΔB3 of the line passing through the points ΔB1, ΔB2, and ΔB3 as the slope Δ of the reference line.
[0061] 9(C) is a schematic diagram for explaining another example of a method for calculating the inclination of a reference line. The display image generation unit 354 specifies the input point B0 that is closest to the center position C among the input points that constitute the lane marking candidate that is the reference line. The display image generation unit 354 then selects two input points B0 that are adjacent to the input point B0 in front of the input point B0. -2 and B -1 and the two adjacent input points B +1 and B +2 The display image generating unit 354 identifies the input point B -2 , B -1 , B0, B +1 and B +2 is approximated by a straight line using the least squares method, and the slope ΔC of the approximated line is calculated as the slope Δ of the reference line. Note that the display image generation unit 354 may specify one or three or more input points as input points adjacent to the front and rear of the input point B0.
[0062] Returning to FIG. 8(B), the display image generating unit 354 rotates the display target area A2 so that the inclination of the width direction coincides with the extension direction corresponding to the inclination Δ of the reference line.
[0063] Next, as in step S14a, the display image generation unit 354 extracts a portion included in the display target area A2 from the road image R at scale E and reduces it in the extension direction of the reference line by the shortening factor F. The display image generation unit 354 also extracts data of input points included in the display target area A2 from the input point table T2 and converts the coordinate values (i.e., latitude, longitude, and altitude) of each input point so that the input points are displayed reduced in the extension direction of the reference line by the shortening factor F. The display image generation unit 354 also extracts lane line candidates L1 and L2 included in the display target area A2 from the plotting data T3 and converts the coordinate values of each input point so that the input points are displayed reduced in the extension direction of the reference line by the shortening factor F. In other words, the display image generation unit 354 converts each of these coordinate values by performing a transformation using the projection function set in step 12, the same rotation as that applied to the display target area, and a translation corresponding to the widthwise reduction applied to the display target area. The display image generation unit 354 generates a shortened image for the display target area A2 by superimposing and drawing figures indicating the input points with converted coordinate values and the lane line candidates L1 and L2 on the extracted road image.
[0064] Thus, in the shortened display mode, the display image generation unit 354 rotates the display target area so that the longitudinal direction of the display target area coincides with the extension direction of the reference line. The display image generation unit 354 also converts the plotting data included in the display target area so that the input point and the lane line candidate are displayed reduced in the extension direction of the reference line. Generally, after a user inputs a designated point for a lane line in the display target area, the user moves the display target area in the road extension direction and inputs another designated point. Therefore, the user must repeatedly issue instructions to move the display target area in the road extension direction (e.g., by dragging the mouse). In contrast, when a shortened image is displayed, the user can input designated points for a wide range of lane lines by setting the display target area once, thereby reducing the number of times the display target area needs to be moved and improving user work efficiency.
[0065] Furthermore, in the shortened image, the cross direction of the road, which is perpendicular to the extension direction of the reference line, is not reduced based on the shortening rate, so even if the user inputs a specified point while looking at the shortened image, the accuracy of the lane markings in the cross direction will not be reduced by the reduction based on the shortening rate. Generally, lane marking data requires higher accuracy in the cross direction than in the extension direction of the road, so preventing a decrease in accuracy in the cross direction makes it easier to generate lane markings that meet accuracy requirements.
[0066] The display image generation unit 354 may reduce the road image and convert the plotted data using a reduction ratio that is the ratio of the accuracy required in the road's extension direction to the accuracy required in the road's crosswise direction in the plotted data. This makes it easier for the operator to input designated points while taking into consideration the accuracy requirements, since the allowable error in the reduced image becomes the same in the crosswise and extension directions.
[0067] In step S14b, the display image generation unit 354 may set the center line of an area defined by multiple demarcation line candidates as the reference line. In this case, the display image generation unit 354 identifies the two demarcation line candidates that are closest to the center position C. The display image generation unit 354 generates a center line that is a set of points that are equidistant from the two demarcation line candidates and sets the center line as the reference line. The display image generation unit 354 sets input points at a predetermined interval on the reference line and calculates the slope of the reference line using the method described using Figures 9(A)-(C).
[0068] In step S14b, the display image generation unit 354 may set the reference line to the path traveled by the vehicle 2 on the road. In this case, the display image generation unit 354 regards the vehicle positions constituting the path as input points, and calculates the slope of the reference line by the method described with reference to FIGS. 9(A)-(C).
[0069] Returning to FIG. 6, next, the display processing unit 355 displays the generated display image on the display unit 33 (step S15).
[0070] Referring to FIG. 7, next, the candidate calculation unit 356 receives an instruction from the user (step S21).
[0071] Next, the candidate calculation unit 356 determines whether the instruction from the user is an instruction to add a designated point (step S22). The instruction to add a designated point is an instruction to specify a lane line number and a pixel in the display image and add a corresponding designated point.
[0072] If it is determined that the instruction from the user is an instruction to add a specified point (step S22—Yes), the candidate calculation unit 356 adds the specified point (step S22a) and proceeds to step S14. In step S22a, the candidate calculation unit 356 sets an inverse function of the projection function set in step S12, calculates the latitude and longitude of the projection source of the pixel position of the specified pixel using the inverse function, references the point cloud table T1 to obtain the altitude of the point having the calculated latitude and longitude, and adds data of the specified point associated with the calculated latitude, longitude, obtained altitude, and the specified latitude line number to the input point table T2, thereby storing the data in the storage unit 31. Note that if there is no point having the latitude and longitude calculated using the inverse function, the candidate calculation unit 356 may obtain a value interpolated using the altitudes of multiple points surrounding the calculated latitude and longitude as the altitude of the point corresponding to the specified pixel.
[0073] If it is determined that the instruction from the user is not an instruction to add a specified point (step S22-No), the candidate calculation unit 356 determines whether the instruction is an instruction to add an auxiliary point (step S23). An instruction to add an auxiliary point is an instruction to add an auxiliary point based on the trajectory and the specified point.
[0074] If it is determined that the instruction from the user is an instruction to add an auxiliary point (step S23-Yes), the candidate calculation unit 356 adds an auxiliary point (step S23a), and the process proceeds to step S14.
[0075] 10(A) is a schematic diagram for explaining an example of calculation of auxiliary points. In the example shown in Fig. 10(A), the candidate calculation unit 356 identifies a section on the trajectory based on two adjacent specified points, and calculates auxiliary points corresponding to each vehicle position included in the identified section.
[0076] The candidate calculation unit 356 identifies two adjacent designated points P1 and P2 from among the designated points included in the input point table T2, and acquires a trajectory including vehicle positions C1, C2, C3, and C4, as well as the designated points P1 and P2, from the storage unit 31. First, the candidate calculation unit 356 identifies sections on the trajectory corresponding to the two designated points P1 and P2. The candidate calculation unit 356 identifies the line segments that are closest to each designated point among the line segments that make up the trajectory, and calculates the distance from each designated point to the identified line segment. In the example shown in FIG. 10(A), the candidate calculation unit 356 identifies the line segment M12 connecting vehicle positions C1 and C2 as the line segment closest to the designated point P1, and calculates the distance J1 from the designated point P1 to the line segment M12. Similarly, the candidate calculation unit 356 identifies the line segment M34 connecting vehicle positions C3 and C4 as the line segment closest to the designated point P2, and calculates the distance J2 from the designated point P2 to the line segment M34. The candidate calculation unit 356 divides the trajectory into a plurality of sections, each of which is defined as an end point by an intersection of a line segment closest to each specified point with a perpendicular line drawn from each specified point to the line segment closest to each specified point. In the example shown in Fig. 10(A), an end point V1 is extracted as the corresponding point on the trajectory corresponding to the specified point P1, and an end point V2 is extracted as the corresponding point on the trajectory corresponding to the specified point P2. In other words, the section from end point V1 to end point V2 is identified as the section on the trajectory corresponding to the specified points P1 and P2.
[0077] Next, the candidate calculation unit 356 identifies a vehicle position connecting two line segments closest to both specified points and a line segment between those two line segments. The candidate calculation unit 356 calculates a line that passes through each identified vehicle position and is perpendicular to the line connecting the adjacent vehicle positions before and after each identified vehicle position. In the example shown in FIG. 10(A), the candidate calculation unit 356 identifies vehicle positions C2 and C3 that connect line segments M12 and M34 with the line segment M23 between them. The candidate calculation unit 356 calculates a line N2 that passes through vehicle position C2 and is perpendicular to the line connecting vehicle positions C1 and C3 that are adjacent before and after vehicle position C2. The candidate calculation unit 356 also calculates a line N3 that passes through vehicle position C3 and is perpendicular to the line connecting vehicle positions C2 and C4 that are adjacent before and after vehicle position C3. The calculated line indicates a perpendicular line to the trajectory at the identified vehicle position.
[0078] Next, the candidate calculation unit 356 sets an auxiliary point Q on a perpendicular line to the trajectory that passes through each vehicle position, within a distance range based on the distance from each specified point to the trajectory. The distance range is the range between the distance from one specified point to the trajectory and the distance from the other specified point to the trajectory. The candidate calculation unit 356 sets the auxiliary point Q based on, for example, the distance from the trajectory to two specified points and the distance from each vehicle position to endpoints on the trajectory that correspond to the two specified points. Each vehicle position is an example of an arbitrary point located between two endpoints on the trajectory. The candidate calculation unit 356 calculates a weighting coefficient as the ratio of the length of the trajectory from an endpoint corresponding to one specified point to each vehicle position to the length of the trajectory between the endpoints corresponding to the two specified points on the trajectory. The candidate calculation unit 356 calculates the distance from the trajectory to the auxiliary point corresponding to each vehicle position by multiplying the difference in distance from the trajectory to the two specified points using the distance from the trajectory to one specified point as a reference, and adding the resultant value to the weighting coefficient. In the example shown in FIG. 10(A), distances D2 and D3 from the trajectory to the auxiliary points corresponding to vehicle positions C2 and C3 are respectively expressed by the following equations.
[0079]
number
number
[0080] That is, in the example shown in FIG. 10(A), the distance of each auxiliary point from the locus is included in the distance range between the distance J1 from the designated point P1 to the locus and the distance J2 from the designated point P2 to the locus.
[0081] 10(B) is a schematic diagram illustrating another example of adding an auxiliary point. In the example shown in Fig. 10(B), the candidate calculation unit 356 identifies a section on the trajectory based on two adjacent specified points, and calculates auxiliary points corresponding to each of the line segments connected to the vehicle position included in the identified section.
[0082] The candidate calculation unit 356 acquires a trajectory including vehicle positions C1, C2, C3, and C4, and designated points P1 and P2 from the storage unit 31. The candidate calculation unit 356 identifies a line segment M12 connecting vehicle positions C1 and C2 as the line segment closest to designated point P1, and calculates a distance J1 from designated point P1 to line segment M12. The candidate calculation unit 356 identifies a line segment M34 connecting vehicle positions C3 and C4 as the line segment closest to designated point P2, and calculates a distance J2 from designated point P2 to line segment M34. The candidate calculation unit 356 divides the trajectory into multiple sections by setting the intersections of the line segments closest to each designated point with perpendicular lines drawn from each designated point to the line segments closest to each designated point as endpoints V1 and V2 (corresponding points on the trajectory that correspond to the designated points). The processing up to this point is the same as the example shown in FIG. 10(A).
[0083] Next, the candidate calculation unit 356 calculates a perpendicular line passing through the midpoint of each line segment connecting adjacent vehicle positions. The candidate calculation unit 356 sets auxiliary points Q on the perpendicular line of each line segment within a distance range based on the distance from each specified point to the trajectory. For example, the candidate calculation unit 356 sets auxiliary points Q based on the distance from the trajectory to the two specified points and the length of the trajectory from endpoints corresponding to the two specified points on the trajectory to the midpoints of the line segments corresponding to each vehicle position. Each midpoint is an example of an arbitrary point located between the two endpoints on the trajectory. The candidate calculation unit 356 calculates a weighting coefficient as the ratio of the length of the trajectory from an endpoint corresponding to one of the specified points to each midpoint, relative to the length of the trajectory between the endpoints corresponding to the two specified points on the trajectory. The candidate calculation unit 356 calculates the distance from the trajectory to the auxiliary points corresponding to each vehicle position by adding a value obtained by multiplying the difference between the distances from the trajectory to the two specified points by the weighting coefficient, using the distance from the trajectory to one of the specified points as a reference. In the example shown in FIG. 10(B), distances D1, D2, and D3 from line segments M12, M23, and M34 to auxiliary point Q are respectively expressed by the following equations.
[0084]
number
number
number
[0085] In the example shown in FIG. 10(B), the distance of each auxiliary point from the locus is also included in the distance range between the distance J1 from the designated point P1 to the locus and the distance J2 from the designated point P2 to the locus.
[0086] As explained using Figures 10(A) and 10(B), the candidate calculation unit 356 calculates auxiliary points as described above for each section of the trajectory divided by perpendicular lines dropped from two adjacent designated points to the trajectory, among the designated points included in the input point table T2. The candidate calculation unit 356 associates the calculated auxiliary points with the latitude, longitude, altitude, and the same latitude line number as the designated points, and adds them to the input point table T2, thereby storing them in the storage unit 31. The candidate calculation unit 356 also resets the point numbers in the input point table T2 so that the designated points and the added auxiliary points constitute lane line candidates. The candidate calculation unit 356 sets auxiliary points for all sections for which designated points have been set by repeating the process of sequentially selecting two adjacent designated points for each lane line candidate and setting auxiliary points.
[0087] After the specified point is added in step S22a, the candidate calculation unit 356 may execute step S23a for the added specified point to add an auxiliary point without receiving an instruction to add an auxiliary point from the user.
[0088] If it is determined that the instruction from the user is not an instruction to add an auxiliary point (step S23-No), the candidate calculation unit 356 determines whether the instruction is an instruction to delete an input point (step S24). An input point deletion instruction is an instruction to specify and delete a specified point or an auxiliary point.
[0089] If it is determined that the instruction from the user is an instruction to delete an input point (step S24-Yes), the candidate calculation unit 356 deletes the specified point or auxiliary point from the input point table T2 (step S24a), and proceeds to step S14.
[0090] If it is determined that the instruction from the user is not an input point deletion instruction (step S24-No), the candidate calculation unit 356 determines whether the instruction is a candidate calculation instruction (step S25). A candidate calculation instruction is an instruction to calculate section line candidates based on the specified points and auxiliary points.
[0091] If it is determined that the instruction from the user is a candidate calculation instruction (step S25-Yes), the candidate calculation unit 356 calculates lane line candidates (step S25a), and proceeds to step S14. In this case, the displayed display image is an example of information related to lane line candidates.
[0092] In step S25a, the candidate calculation unit 356 extracts designated points and auxiliary points associated with the same lane line number from the input point table T2. The candidate calculation unit 356 calculates a broken line connecting the extracted designated points and auxiliary points with line segments in the order of their point numbers as a lane line candidate. The candidate calculation unit 356 generates graphic data indicating the calculated lane line candidate, associates the lane line number with the graphic data, and stores it in the memory unit 31 by adding it to the plotting data T3. The candidate calculation unit 356 calculates and stores lane line candidates for each lane line number included in the input point table T2 as described above.
[0093] If it is determined that the instruction from the user is not an instruction to calculate candidates (step S25-No), the candidate calculation unit 356 determines whether the instruction is an instruction to calculate additional candidates (step S26). An instruction to calculate additional candidates is an instruction to calculate new lane line candidates by interpolation or extrapolation based on the calculated lane line candidates. The instruction to calculate additional candidates specifies two lane line candidates to be used for interpolation or extrapolation, the number of lane line candidates to be calculated, information indicating whether the lane line candidates are to be calculated by interpolation or extrapolation, and the internal division ratio in the case of interpolation or the external division ratio in the case of extrapolation.
[0094] If it is determined that the instruction from the user is an instruction to calculate additional candidates (step S26-Yes), the candidate calculation unit 356 calculates a lane line candidate by interpolation or extrapolation based on the two lane line candidates (step S26a), and proceeds to step S14.
[0095] In step S26a, the candidate calculation unit 356 extracts from the input point table T2 the designated points and auxiliary points associated with the demarcation line numbers of the two demarcation line candidates (hereinafter referred to as the first and second demarcation line candidates, respectively) used for interpolation or extrapolation. For each designated point and auxiliary point of the first demarcation line candidate, the candidate calculation unit 356 identifies the designated point or auxiliary point of the second demarcation line candidate that is closest to that designated point and auxiliary point as the corresponding designated point and auxiliary point of the second demarcation line candidate. In accordance with the instruction to calculate additional candidates, the candidate calculation unit 356 calculates one or more points that internally or externally divide the designated point and auxiliary point of the first demarcation line candidate and the corresponding designated point or auxiliary point of the second demarcation line using a specified internal or external division ratio. The candidate calculation unit 356 calculates a broken line connecting the calculated points as a new demarcation line candidate and stores it by adding it to the plotted data T3.
[0096] There are cases where three or more parallel markings are displayed on a road, such as an outer lane line, a center line, and lane markings. In such cases, the candidate calculation unit 356 automatically calculates a new candidate marking that is parallel to the two candidate marks, thereby reducing the workload of the user.
[0097] If it is determined that the instruction from the user is not an instruction to calculate additional candidates (step S26-No), the candidate calculation unit 356 determines whether the instruction is an instruction to change display conditions (step S27). An instruction to change display conditions is an instruction to change the display conditions set in step S13. If it is determined that the instruction from the user is an instruction to change display conditions (step S27-Yes), the condition setting unit 353 stores the changed display conditions in the storage unit 31 (step S27a), and proceeds to step S14.
[0098] If it is determined that the instruction from the user is not an instruction to change the display conditions (step S27-No), the candidate calculation unit 356 determines whether the instruction is an output instruction (step S28). If it is determined that the instruction is not an output instruction (step S28-No), the process proceeds to step S14.
[0099] If it is determined that the instruction from the user is an output instruction (step S28-Yes), the output unit 357 outputs the plotting data (step S29) and terminates the plotting process. The output unit 357 obtains the plotting data T3 from the memory unit 31 and outputs it by transmitting it to the external device 4 via the communication unit 32. The plotting data is an example of information regarding candidates for lane lines.
[0100] In step S29, the output unit 357 converts the lane line candidates included in the plotting data T3 into graphic data of spline curves that pass through the specified points and auxiliary points, and outputs the converted data. Instead of spline curves, Bézier curves or curves obtained by polynomial approximation using the least squares method or regression analysis may be used. The output unit 357 may also convert the lane line candidates into curves that pass through only some of the specified points and auxiliary points. For example, the output unit 357 may convert the lane line candidates into B-spline curves that pass through the specified points but not the auxiliary points, and output the converted data. Converting the lane line candidates from broken lines to curves in this way makes the shape of the lane line candidates closer to the shape of actual lane lines, enabling the lane lines to be plotted with high accuracy.
[0101] As described above, in the plotting device 3, the candidate calculation unit 365 sets auxiliary points within a distance range based on the distance from the trajectory to the designated point and calculates lane marking candidates based on the designated point and the auxiliary point. This enables the plotting device 3 to plot lane markings with high accuracy.
[0102] The candidate calculation unit 365 also displays a display image including a road image and stores the point designated by the user as a designated point, thereby enabling the plotting device 3 to efficiently designate a designated point while viewing the display image.
[0103] Furthermore, the candidate calculation unit 365 calculates new lane line candidates by interpolation or extrapolation using two of the lane line candidates stored in the memory unit 31. This enables the plotting device 3 to reduce the workload of the user on roads with three or more lane lines.
[0104] In addition, in the plotting device 3, the display image generation unit 354 sets a reference line based on the demarcation line and generates a shortened image by converting the plotting data so that the demarcation line candidate is reduced in the extension direction of the reference line. This allows the plotting device 3 to enable the user to efficiently specify the specified point.
[0105] The display image generating unit 354 also generates a shortened image by reducing the coordinate system of the road image, which is an orthogonal projection of the colored point cloud, in the extension direction of the reference line. This allows the plotting device 3 to efficiently specify designated points while the user is viewing the reduced road image.
[0106] The display image generating unit 354 also reduces the coordinate system using the ratio of the accuracy required in the longitudinal direction of the road to the accuracy required in the cross direction of the road in the plotting data as the reduction ratio, thereby enabling the plotting device 3 to plot lane lines based on the accuracy required in the plotting data.
[0107] The embodiment of the plotting device 3 is not limited to the above-described example. Various modified examples as described below may be applied to the plotting device 3.
[0108] In the above example, each point included in the colored point cloud data is associated with a pixel value such as an RGB value, but this is not limited to this example. Each point included in the colored point cloud data may also be associated with a luminance value of reflected light acquired by a laser measuring instrument. In this case, in step S12 of the plotting process, the road image generation unit 352 generates a monochrome road image in which a luminance value is associated with each pixel.
[0109] In the above example, the road image is an orthogonal projection image, but this is not limited to this example. A perspective projection image before orthogonal projection can also be used as the road image. In this case, in step S12 of the plotting process, the road image generation unit 352 generates either an orthogonal projection image or a perspective projection image, or both, as the road image. If both an orthogonal projection image and a perspective projection image are generated, in step S15 the display processing unit 355 may display a display image including either an orthogonal projection image or a perspective projection image according to the user's selection. Note that for perspective projection images, switching between scale-specific road images and display modes is not required.
[0110] In the example described above, the lane marking candidate is calculated by the candidate calculation unit 356 as a broken line passing through the input points, and is converted into a curve by the output unit 357, but this is not the only example. The lane marking candidate may be calculated as a curve by the candidate calculation unit 356. This allows the lane marking candidate to be displayed in the display image in a form that is close to the actual lane marking, making it easier for the user to determine whether the specified points have been specified with appropriate accuracy.
[0111] In this case, in the plotting data T3, each lane line candidate is further associated with curve parameters. Also, in this case, in step S14b of the plotting process, the display image generation unit 354 calculates the slope of the reference line as follows: The display image generation unit 354 sets the lane line candidate, which is a curve, as the reference line. The display image generation unit 354 sets input points at predetermined intervals on the reference line. Of the set input points, the display image generation unit 354 identifies the input point closest to the center point of the display target area. The display image generation unit 354 calculates the slope of the tangent to the reference line at the identified input point as the slope of the reference line. The slope of the tangent to the reference line at the identified input point may be calculated based on the curve parameters, or may be calculated by applying an image processing technique such as a Hough transform to an image of the reference line.
[0112] In the above example, the trajectory is a broken line connecting the vehicle positions, but this is not limited to this example. The trajectory may be a curved line passing through the vehicle positions. In this case, in step S23a of the plotting process, the candidate calculation unit 356 calculates auxiliary points as follows.
[0113] 11 is a schematic diagram for explaining an example of calculation of auxiliary points when the trajectory is a curved line. In the example shown in Fig. 11, the candidate calculation unit 356 identifies a section on the trajectory based on two adjacent specified points, and calculates auxiliary points corresponding to each of the vehicle positions included in the identified section.
[0114] The candidate calculation unit 356 identifies two adjacent designated points P1 and P2 from among the designated points included in the input point table T2, and acquires a trajectory including vehicle positions C1, C2, C3, and C4, as well as the designated points P1 and P2. The candidate calculation unit 356 calculates a straight line that is perpendicular to the tangent to the trajectory and passes through the acquired designated points, and calculates the distance from the designated points to the tangent to the trajectory. In the example shown in FIG. 11, the candidate calculation unit 356 calculates a straight line that is perpendicular to the tangent to the trajectory and passes through the designated point P1, and calculates the distance J1 from the designated point P1 to the tangent to the trajectory. Similarly, the candidate calculation unit 356 calculates a straight line that passes through the designated point P2, and calculates the distance J2 from the designated point P2 to the tangent to the trajectory.
[0115] Next, the candidate calculation unit 356 calculates a line perpendicular to the tangent to the trajectory at each vehicle position, and sets an auxiliary point Q on the calculated line within a distance range based on the distance from each specified point to the trajectory. For example, the candidate calculation unit 356 calculates a weighting coefficient as the ratio of the length of the trajectory from corresponding point V1 corresponding to one of the specified points V1 and V2 corresponding to the two specified points on the trajectory to the length of the trajectory from corresponding point V1 corresponding to one of the specified points V1 and V2 corresponding to the two specified points V2 and V2, respectively. The candidate calculation unit 356 calculates the distance from the trajectory to the auxiliary point corresponding to each vehicle position by adding a value obtained by multiplying the difference in the distance from the trajectory to the two specified points V1 and V2 based on the distance from the trajectory to one of the specified points V1 and V2. In the example shown in FIG. 11, distances D2 and D3 from the trajectory to the auxiliary points corresponding to vehicle positions C2 and C3 are expressed by the following equations, respectively.
[0116]
number
number
[0117] That is, in the example shown in FIG. 11, the distance of each auxiliary point from the locus is included in the distance range between the distance J1 from the designated point P1 to the locus and the distance J2 from the designated point P2 to the locus.
[0118] 11, the candidate calculation unit 356 calculates an auxiliary point corresponding to each vehicle position, similar to the example shown in FIG. 10(A), but the present invention is not limited to this example. The candidate calculation unit 356 may calculate an auxiliary point corresponding to the midpoint of adjacent vehicle positions on the trajectory, similar to the example shown in FIG. 10(B). Furthermore, in the examples shown in FIGS. 10 and 11, the weighting coefficient is calculated using the distance from the end point (corresponding point) V1 to the arbitrary point, with the designated point P1 as the reference point. However, the candidate calculation unit 356 may calculate a weighting coefficient using the distance from the end point (corresponding point) V2 to the arbitrary point, with the designated point P2 as the reference point.
[0119] In the above example, in step S14, the display image generation unit 354 is capable of generating a display image in either the shortened display mode or the non-shortened display mode, but this is not limited to this example. The display image generation unit 354 may also be capable of generating a display image in a linearization display mode in which a display image is generated by converting a reference line into a straight line and applying a coordinate transformation that shrinks the straight line in its extension direction to the road image and the plotted data. Note that, hereinafter, a display image generated in the linearization display mode may be referred to as a linearized image.
[0120] Fig. 12(A) is a schematic diagram for explaining an example in which the display target area in the linear display mode is set based on the set display conditions, namely, the center position C, the width and height of the window W, the scale E, and the shortening rate F. Note that although Fig. 12(A) illustrates the lane marking candidate as a curved line, the display target area is set in the same way even if the lane marking candidate is a broken line.
[0121] The display image generation unit 354 sets the lane marking candidate L near the center position C as the reference line and calculates a perpendicular line drawn from the center position C to the reference line. The display image generation unit 354 identifies points that are a length (W3 ÷ 2) away from the intersection of the calculated perpendicular line and the reference line on both the front and back of the reference line. The length W3 in the road image at scale E is the width of the window W divided by the shortening rate F. The display image generation unit 354 sets, as the display target area A3, a strip-shaped area within a distance α on the side of the reference line toward the center position C or within a distance β on the opposite side of the reference line toward the center position C, in the section on the reference line whose endpoints are the identified points. The distance α is (H3 ÷ 2 + D), and the distance β is (H3 ÷ 2 - D). Here, the height H3 in the road image at scale E is equal to the height of the window W, and the distance D is the distance from the center position C to the reference line.
[0122] The display image generation unit 354 extracts the portion included in the display target area A3 from the road image at scale E, converts the reference lines into straight lines, and applies coordinate transformation (hereinafter referred to as straightening processing) that reduces the straight lines in their extension directions. The display image generation unit 354 also extracts data of input points included in the display target area A3 from the input point table T2 and applies straightening processing. The display image generation unit 354 also extracts candidate lane lines included in the display target area A3 from the diagram data T3 and applies straightening processing.
[0123] FIG. 12(B) is a schematic diagram for explaining the linearization process. The display image generation unit 354 treats each pixel of the extracted road image as a transformation object S and applies the following coordinate transformation to each transformation object S. The display image generation unit 354 calculates the intersection of the reference line with a perpendicular line drawn from the transformation object S to the reference line, and calculates the length γ of the reference line from the start of the section of the reference line to the intersection point, and the distance δ from the transformation object S to the intersection point. In a rectangular window having a width (W3 × F) and a height H3, the display image generation unit 354 sets the point that is a distance (γ × F) from the left edge of the window and a distance (β + δ) from the top edge of the window as the coordinates after transformation of the transformation object S. Note that this linearization process converts the reference line into a straight line parallel to the top edge of the rectangular window, a distance β away from the top edge.
[0124] The display image generation unit 354 calculates the converted coordinates for each pixel of the extracted road image and sets the pixel value of each pixel before conversion to the pixel at the calculated coordinates. If the converted coordinates of multiple pixels are the same, the display image generation unit 354 sets the average value of the pixel values of the multiple pixels as the converted pixel value. The display image generation unit 354 also calculates the converted coordinates for each point that constitutes the extracted input point and lane line candidate, and draws a figure indicating the input point and lane line candidate at the calculated coordinates. In this way, the display image generation unit 354 generates a linearized image.
[0125] In this way, in the straightened display mode, the display image generation unit 354 generates a display image by applying coordinate transformation that straightens the reference lines. This allows a wide range of roads to be displayed at once, even if the road has a large curvature, so the user can input specified points for a wide range of lane lines, improving work efficiency.
[0126] In the linearized display mode, the display image generating unit 354 may set the center line of an area defined by multiple lane lines or the vehicle trajectory as the reference line, as in the abbreviated display mode. In addition, if the lane line candidate or the trajectory is a polygonal line, the display image generating unit 354 may generate a curve connecting the points that make up the polygonal line and set the curve as the reference line.
[0127] Furthermore, in the linearized display mode, if the curvature of the reference line is equal to or greater than a predetermined value, the display image generation unit 354 may calculate a curve in which the curvature of the reference line is reduced to a predetermined value, and generate a linearized image using the calculated curve as the reference line. If the curvature of the reference line is large, the pixel value of a single pixel in the road image is associated with multiple pixels in the linearized image, which may make it difficult for the user to grasp the road conditions. By using a curve with reduced curvature as the reference line, it is possible to prevent the user from having difficulty grasping the road conditions, while improving the user's work efficiency to some extent.
[0128] In the example described above, in step S22a, the candidate calculation unit 356 adds a point on a lane line designated by the user as a designated point, but this is not the only example. The candidate calculation unit 356 may also add a point on a lane line near a point on a road designated by the user based on pixel values in a road image as a designated point.
[0129] 13 is a schematic diagram for explaining an example of calculation of a specified point. Of the line segments constituting the trajectory, the candidate calculation unit 356 identifies the line segment M23 that is closest to point U on the road specified by the user, and calculates a perpendicular line NU that is drawn from point U to line segment M23. The candidate calculation unit 356 extracts pixels in the road image that are within a predetermined distance from point U and that are located on the calculated perpendicular line NU.
[0130] The candidate calculation unit 356 adds, as designated points, points among the extracted pixels that have image characteristics of the lane line. For example, the candidate calculation unit 356 identifies pixels whose brightness is equal to or greater than a predetermined value as pixels in section I1 on the lane line, and identifies a point corresponding to a pixel located at the center of section I1 as point P on the lane line, and adds this point as a designated point. Since lane lines are generally drawn with white paint, in the example shown in FIG. 13, among the pixels on the perpendicular line NU, the pixels in section I1 on the lane line have a higher pixel value than the pixels in section I2 outside the lane line. Therefore, the candidate calculation unit 356 can add a point located near the center of the lane line as a designated point by identifying a point corresponding to a pixel located at the center of a section whose brightness is equal to or greater than a predetermined value.
[0131] The candidate calculation unit 356 may identify edge pixels, among the pixels on the perpendicular line N, whose difference in brightness between adjacent pixels is equal to or greater than a predetermined value, and identify the pixels between the identified edge pixels as pixels of section I1. Generally, pixels in section I1 exhibit a color close to white, which is the color of the lane marking, and pixels in section I2 exhibit a color close to black, which is the color of the road surface, so the edge pixels indicate the boundary between sections I1 and I2. Therefore, by identifying a point corresponding to the pixel located at the center of the edge pixels, the candidate calculation unit 356 can add a point located near the center of the lane marking as a specified point.
[0132] Alternatively, the candidate calculation unit 356 may identify, from among the pixels on the perpendicular line NU, a point having image features similar to those of a specified point included in the input point table T2 as a point on the lane line. In the example shown in FIG. 13, the candidate calculation unit 356 extracts, from the input point table T2, a specified point P0 that is closest to a point U on the road specified by the user. The candidate calculation unit 356 extracts a feature value of the pixel at the position of the extracted specified point P0. The feature value is an arbitrary image feature value calculated based on pixel values of pixels within a predetermined range centered on that pixel, such as a Histograms of Oriented Gradients (HOG) feature value. The candidate calculation unit 356 identifies, from among the pixels on the perpendicular line NU, a point corresponding to a pixel whose feature value is close to that of the specified point P0 as a point P on the lane line. By using the feature values of the pixels at the positions of designated points near the point specified by the user among the stored designated points, the candidate calculation unit 356 can appropriately add points on the demarcation lines as designated points even when the colors of the demarcation lines or road surfaces vary locally.
[0133] In this way, the candidate calculation unit 356 identifies a point on a lane line on a perpendicular line drawn from a point on the road specified by the user to the trajectory. The candidate calculation unit 356 adds the identified point to the input point table T2 as a specified point. When the user specifies a point on the road, a point on the lane line that is located at approximately the same position in the extension direction of the road as the point specified by the user is added as the specified point, eliminating the need for the user to accurately specify a point on the lane line, improving work efficiency.
[0134] In the above example, in step S23a, the candidate calculation unit 356 sets an auxiliary point based only on the distance from the trajectory, but this is not a limitation. The candidate calculation unit 356 may also set an auxiliary point based on the characteristics of pixels at the positions of the specified points. For example, the candidate calculation unit 356 sets, as a distance range, the range between the distances to two specified points that define the endpoints of a section of the trajectory. The candidate calculation unit 356 sets, as an auxiliary point, a point that is located within the distance range from the trajectory and has image characteristics similar to those of the specified points.
[0135] FIG. 14 is a schematic diagram for explaining another example of calculation of the auxiliary point.
[0136] The candidate calculation unit 356 identifies adjacent designated points P1 and P2 and acquires a trajectory including vehicle positions C1, C2, C3, and C4, as well as the designated points P1 and P2. The candidate calculation unit 356 identifies the line segments that are closest to each designated point among the line segments that make up the trajectory, and calculates the distance from each designated point to the identified line segment. In the example shown in FIG. 14 , the candidate calculation unit 356 identifies the line segment M12 connecting vehicle positions C1 and C2 as the line segment closest to designated point P1, and calculates the distance J1 from designated point P1 to the identified line segment. Similarly, the candidate calculation unit 356 identifies the line segment M34 connecting vehicle positions C3 and C4 as the line segment closest to designated point P2, and calculates the distance J2 from designated point P2 to the identified line segment.
[0137] The candidate calculation unit 356 sets a distance range I in which the larger of the calculated distances J1 and J2 is the maximum value and the smaller of the calculated distances J1 and J2 is the minimum value. In the example shown in FIG. 14, the distance range I is a range in which the minimum value is distance J1 and the maximum value is distance J2. As in the example shown in FIG. 9(A), the candidate calculation unit 356 calculates, for each of vehicle positions C2 and C3, straight lines N2 and N3 that are perpendicular to the lines connecting the adjacent vehicle positions before and after each vehicle position. The candidate calculation unit 356 extracts pixels that are located on the calculated straight lines N2 and N3 and that are located within the distance range I from the trajectory.
[0138] The candidate calculation unit 356 calculates feature amounts for each of the pixels at the positions of the specified points P1 and P2 and the extracted pixel. The candidate calculation unit 356 calculates the similarity between the feature amount of the extracted pixel and the feature amount of the pixel at each specified point. The similarity is calculated, for example, based on the distance between feature vectors indicating the feature amounts. The candidate calculation unit 356 identifies points on each of the lines N2 and N3 that have image features similar to those of the specified points, and sets the identified points as auxiliary points. For example, the candidate calculation unit 356 identifies the pixel that is located on the line N2 and within the distance range I from the trajectory, and has the largest sum of the similarity between the specified point P1 and the similarity between the specified point P2. The candidate calculation unit 356 identifies the point at the position of the identified pixel as a point that has image features similar to those of the specified point, and sets it as the auxiliary point.
[0139] In this way, the candidate calculation unit 356 sets a point having image features similar to those of the specified point as an auxiliary point. This makes it possible to set auxiliary points with high accuracy based on the road image and illustrate the lane markings, even when the distance between the trajectory and the lane markings changes locally.
[0140] Furthermore, although lane markings have been exemplified as plotting data, the plotting data may further include data representing the coordinate values and shapes of other road markings such as speed signs, attribute information (numeric values and characters) associated with the data on lane markings and / or road markings, etc. The memory unit 31 stores the road marking data and attribute information input by the user via the operation unit 34, and the display image generation unit 354 further renders figures based on the road marking data and text attribute information in the abbreviated image, thereby enabling these input operations and inspection operations to be performed efficiently.
[0141] In the above example, the designated points and auxiliary points are three-dimensional data having latitude, longitude, and altitude, but are not limited to this example. The designated points and auxiliary points may be two-dimensional data having latitude and longitude but no altitude. In this case, in step S22a, the candidate calculation unit 356 does not obtain the altitude of the designated points from the point cloud table T1. In addition, in step S23a, the candidate calculation unit 356 sets auxiliary points, which are two-dimensional data, based on the latitude and longitude of the vehicle positions that constitute the trajectory and the designated points, which are two-dimensional data. Then, in steps S25a and S26a, the candidate calculation unit 356 obtains the altitudes of the designated points and auxiliary points from the point cloud table T1 and calculates lane line candidates, which are three-dimensional data. This reduces the calculation load in calculating the designated points and auxiliary points.
[0142] It should be understood by those skilled in the art that various changes, substitutions, and alterations can be made to the present invention without departing from the spirit and scope of the present invention. For example, the above-described embodiments and modifications may be appropriately combined within the scope of the present invention. [Explanation of symbols]
[0143] 3 Plotting device 31 Storage section 32 Communications Department 33 Display section 34 Control section 351 Acquisition Department 352 Road image generation unit 353 Condition setting section 354 Display image generation unit 355 Display processing section 356 Candidate Calculation Unit 357 Output Section
Claims
1. A mapping device that maps out demarcation lines that separate one or more lanes on a road using a road image obtained by measuring the road, a storage means for storing a path of a vehicle traveling on the road and a plurality of designated points on the lane markings in the road image; a calculation means for setting auxiliary points within a distance range from the trajectory, the distance range being based on the distance from each of the designated points to the trajectory, and calculating candidates for the lane marking lines based on the designated points and the auxiliary points; an output means for outputting information about the calculated lane marking candidates; Equipped with the calculation means sets the auxiliary point on a perpendicular line to the locus passing through the arbitrary point, based on a distance from the locus to two designated points among the plurality of designated points and a distance from one of two corresponding points on the locus that correspond to the two designated points to an arbitrary point located between the two corresponding points. A plotting device characterized by:
2. A mapping device that maps out demarcation lines that separate one or more lanes on a road using a road image obtained by measuring the road, a storage means for storing a path of a vehicle traveling on the road and a plurality of designated points on the lane markings in the road image; a calculation means for setting auxiliary points within a distance range from the trajectory, the distance range being based on the distance from each of the designated points to the trajectory, and calculating candidates for the lane marking lines based on the designated points and the auxiliary points; an output means for outputting information about the calculated lane marking candidates; Equipped with The calculation means sets the range between each distance from the trajectory to two of the plurality of designated points as the distance range, and sets a point located within the distance range from the trajectory and having image features similar to those of the designated points as the auxiliary point.
3. A mapping device that maps out demarcation lines that separate one or more lanes on a road using a road image obtained by measuring the road, a storage means for storing a path of a vehicle traveling on the road and a plurality of designated points on the lane markings in the road image; a calculation means for setting auxiliary points within a distance range from the trajectory, the distance range being based on the distance from each of the designated points to the trajectory, and calculating candidates for the lane marking lines based on the designated points and the auxiliary points; an output means for outputting information about the calculated lane marking candidates; further comprising a display means for displaying the road image, The plotting device is characterized in that the calculation means stores a point designated by a user based on the displayed road image as the designated point.
4. A mapping method carried out by a mapping device that maps a road dividing line that divides one or more lanes on a road using a road image obtained by measuring the road, comprising: storing a path of the vehicle traveling on the road and a plurality of designated points designated at the positions of the lane markings on the road image; setting auxiliary points within a distance range from the trajectory based on the distance from each designated point to the trajectory, and calculating candidates for the lane marking line based on the designated points and the auxiliary points; based on a distance from the locus to two of the plurality of designated points and a distance from one of two corresponding points on the locus that correspond to the two designated points to an arbitrary point located between the two corresponding points, the auxiliary point is set on a perpendicular line to the locus that passes through the arbitrary point; A mapping method comprising:
5. A mapping method carried out by a mapping device that maps a road dividing line that divides one or more lanes on a road using a road image obtained by measuring the road, comprising: storing a path of the vehicle traveling on the road and a plurality of designated points designated at the positions of the lane markings on the road image; setting auxiliary points within a distance range from the trajectory based on the distance from each designated point to the trajectory, and calculating candidates for the lane marking line based on the designated points and the auxiliary points; A drawing method characterized by setting the range between each distance from the trajectory to two of the multiple designated points as the distance range, and setting points located within the distance range from the trajectory and having image features similar to those of the designated points as the auxiliary points.
6. A computer program having a storage unit, the computer program using a road image obtained by measuring a road to plot a division line that divides one or more lanes on the road, the storage unit stores a path of a vehicle traveling on the road and a plurality of designated points designated at positions of the lane markings on the road image; setting auxiliary points within a distance range from the trajectory based on the distance from each designated point to the trajectory, and calculating candidates for the lane marking line based on the designated points and the auxiliary points; based on a distance from the locus to two of the plurality of designated points and a distance from one of two corresponding points on the locus that correspond to the two designated points to an arbitrary point located between the two corresponding points, the auxiliary point is set on a perpendicular line to the locus that passes through the arbitrary point; A program that causes the computer to execute the above steps.
7. A computer program having a storage unit, the computer program using a road image obtained by measuring a road to plot a division line that divides one or more lanes on the road, the storage unit stores a path of a vehicle traveling on the road and a plurality of designated points designated at positions of the lane markings on the road image; setting auxiliary points within a distance range from the trajectory based on the distance from each designated point to the trajectory, and calculating candidates for the lane marking line based on the designated points and the auxiliary points; a distance range is set as the distance range between each of two designated points from the locus to the plurality of designated points, and a point located within the distance range from the locus and having an image feature similar to that of the designated point is set as the auxiliary point; A program that causes the computer to execute the above steps.
Citation Information
Patent Citations
Road map generating system
JP2002318533A
Road surface marking map creating method
JP2009223220A
Method of creating road marker map
JP2009237901A
Integration of positional data and overhead images for lane identification
US20170116477A1
Information processing device
WO2020080088A1