WO2025164397A1 - 処理装置、処理方法、及び記録媒体 - Google Patents
処理装置、処理方法、及び記録媒体Info
- Publication number
- WO2025164397A1 WO2025164397A1 PCT/JP2025/001534 JP2025001534W WO2025164397A1 WO 2025164397 A1 WO2025164397 A1 WO 2025164397A1 JP 2025001534 W JP2025001534 W JP 2025001534W WO 2025164397 A1 WO2025164397 A1 WO 2025164397A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- lane
- lane area
- estimated
- estimation
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/04—Detecting movement of traffic to be counted or controlled using optical or ultrasonic detectors
Definitions
- This disclosure relates to a processing device, a processing method, a program, and a recording medium.
- Patent Document 1 Technology related to the present disclosure is disclosed in Patent Document 1.
- the technology disclosed in Patent Document 1 detects white lines on the road using image analysis, and identifies the lane in which the vehicle is traveling based on the results of the white line detection.
- Patent Document 1 does not disclose this problem or a means for solving it.
- One example of the objective of this disclosure is to provide technology that solves the problem of not being able to execute various processes based on the estimation results until a predetermined estimation result is obtained.
- an acquisition means for acquiring a moving image generated by a fixed camera; a first estimation means for estimating a lane area based on the moving image using a first method; a second estimation means for estimating a lane area by a second method different from the first method based on the video image further accumulated after the lane area has been estimated by the first method; an output means for outputting information indicating the lane area estimated by the first method, and then outputting information indicating the lane area estimated by the second method;
- a processing device is provided having:
- One or more computers Capture video images generated by a fixed camera, estimating a lane area based on the moving image using a first method; estimating a lane area by a second method different from the first method based on the video image further accumulated after the lane area is estimated by the first method; There is provided a processing method for outputting information indicating lane areas estimated by the first technique, and then outputting information indicating lane areas estimated by the second technique.
- an acquisition means for acquiring a moving image generated by a fixed camera; a first estimation means for estimating a lane area based on the moving image using a first method; a second estimation means for estimating a lane area by a second method different from the first method based on the video image further accumulated after the lane area has been estimated by the first method; an output means for outputting information indicating the lane area estimated by the first method, and then outputting information indicating the lane area estimated by the second method;
- a program is provided to function as a
- One aspect of the present disclosure provides technology that solves the problem of not being able to execute various processes based on estimation results until a predetermined estimation result is obtained.
- FIG. 1 illustrates an example of a functional block diagram of a processing device according to the present disclosure.
- 10 is a flowchart illustrating an example of a processing flow of a processing device according to the present disclosure.
- FIG. 1 is a diagram illustrating an example of a hardware configuration of a processing device according to the present disclosure.
- 10 is a flowchart illustrating another example of the processing flow of the processing device according to the present disclosure.
- 10 is a flowchart illustrating another example of the processing flow of the processing device according to the present disclosure.
- 10 is a flowchart illustrating another example of the processing flow of the processing device according to the present disclosure.
- FIG. 2 is a diagram for explaining processing of a processing device according to the present disclosure.
- FIG. 10 is a diagram for explaining another process of the processing device according to the present disclosure.
- FIG. 10 is a diagram for explaining another process of the processing device according to the present disclosure.
- FIG. 10 is a diagram for explaining another process of the processing device according to the present disclosure.
- FIG. 10 is a diagram for explaining another process of the processing device according to the present disclosure.
- FIG. 10 is a diagram for explaining another process of the processing device according to the present disclosure.
- FIG. 10 is a diagram for explaining another process of the processing device according to the present disclosure.
- FIG. 10 is a diagram for explaining another process of the processing device according to the present disclosure.
- FIG. 10 is a diagram for explaining another process of the processing device according to the present disclosure.
- FIG. 10 is a diagram for explaining another process of the processing device according to the present disclosure.
- FIG. 10 is a diagram for explaining another process of the processing device according to the present disclosure.
- FIG. 10 is a diagram for explaining another process of the processing device according to the present disclosure.
- 10 is a diagram for explaining another process of the processing device according to the present disclosure.
- 10 is a flowchart illustrating another example of the processing flow of the processing device according to the present disclosure.
- FIG. 10 is a diagram for explaining another process of the processing device according to the present disclosure.
- 10 is a flowchart illustrating another example of the processing flow of the processing device according to the present disclosure.
- 10 is a flowchart illustrating another example of the processing flow of the processing device according to the present disclosure.
- 10 is a flowchart illustrating another example of the processing flow of the processing device according to the present disclosure.
- 10 is a flowchart illustrating another example of the processing flow of the processing device according to the present disclosure.
- 10 is a flowchart illustrating another example of the processing flow of the processing device according to the present disclosure.
- 10 is a flowchart illustrating another example of the processing flow of the processing device according to the present disclosure.
- FIG. 10 is a diagram illustrating another example of a functional block diagram of a processing device according to the present disclosure.
- FIG. 10 is a diagram illustrating another example of a functional block diagram of a processing device according to the present disclosure.
- 10 is a flowchart illustrating another example of the processing flow of the processing device according to the present disclosure.
- FIG. 10 is a diagram for explaining another process of the processing device according to the present disclosure.
- Fig. 1 is a functional block diagram showing an overview of a processing device 10.
- Fig. 2 is a flowchart showing an example of the flow of processing executed by the processing device 10.
- the processing device 10 has an acquisition unit 11, a first estimation unit 12, a second estimation unit 13, and an output unit 14. These functional units execute the processing of the flowchart in FIG. 2.
- the acquisition unit 11 acquires a moving image generated by a fixed camera.
- the first estimation unit 12 estimates a lane area based on a moving image using a first method.
- the output unit 14 outputs information indicating the lane area estimated by the first method.
- the second estimation unit 13 estimates the lane area using a second method different from the first method based on the video images that are acquired and stored after the lane area has been estimated using the first method.
- the output unit 14 outputs information indicating the lane area estimated by the second method. That is, the output unit 14 outputs information indicating the lane area estimated by the first method (S12), and then outputs information indicating the lane area estimated by the second method (S14).
- the processing device 10 can first estimate the lane area using the first method and quickly output the estimation results. Then, the processing device 10 can then perform a highly accurate estimation using the second method based on the video images that are acquired and stored after the lane area has been estimated using the first method, and output the estimation results.
- the processing apparatus 10 of the second embodiment is a specific embodiment of the configuration of the processing apparatus 10 of the first embodiment, which will be described in detail below.
- Each functional unit of the processing device 10 is realized by any combination of hardware and software.
- the software includes programs that are pre-loaded in the device before shipping, and programs downloaded from recording media such as CDs (Compact Discs) or servers on the Internet.
- FIG. 3 is a block diagram illustrating the hardware configuration of a processing device 10.
- the processing device 10 has a processor 1A, memory 2A, an input/output interface 3A, a peripheral circuit 4A, and a bus 5A.
- the peripheral circuit 4A includes various modules.
- the processing device 10 does not necessarily have to have the peripheral circuit 4A.
- the processing device 10 may also be composed of multiple devices that are physically and/or logically separated. In this case, each of the multiple devices can have the above hardware configuration.
- the bus 5A is a data transmission path for the processor 1A, memory 2A, peripheral circuit 4A, and input/output interface 3A to send and receive data among themselves.
- the processor 1A is an arithmetic processing device such as a CPU (Central Processing Unit) or GPU (Graphics Processing Unit).
- the memory 2A is memory such as RAM (Random Access Memory) or ROM (Read Only Memory).
- the input/output interface 3A includes interfaces for acquiring information from input devices, external devices, external servers, external sensors, cameras, etc., and interfaces for outputting information to output devices, external devices, external servers, etc.
- the input/output interface 3A also includes an interface for connecting to a communication network such as the Internet. Examples of input devices include a keyboard, mouse, microphone, physical buttons, and touch panel. Examples of output devices include a display, projection device, speaker, printer, and mailer.
- the processor 1A can issue commands to each module and perform calculations based on the results of those calculations.
- Fig. 1 shows an example of a functional block diagram of the processing device 10. As shown in the figure, the processing device 10 has an acquisition unit 11, a first estimation unit 12, a second estimation unit 13, and an output unit 14. These functional units execute various processes shown in Fig. 4.
- the processing device 10 can execute an external auxiliary information collection process, an image acquisition process, a non-target area exclusion process, a first lane estimation process, a vehicle detection process, a second lane estimation process, and an external output process.
- the processing device 10 does not have to execute one or both of the external auxiliary information collection process and the non-target area exclusion process.
- the image acquisition process, first lane process, vehicle detection process, second lane estimation process, and external output process are essential processes, but the external auxiliary information collection process and non-target area exclusion process can be omitted as appropriate.
- processing order of the steps shown in Figure 4 is merely an example and is not limited to the example shown.
- the processing order shown in Figure 4 is the order that allows for the most efficient operation, but the same output can be obtained even if the processing order is changed.
- the processing order can be changed according to the following rules.
- the timing of the external auxiliary information collection step is free, but it must be executed before the step that uses the collected information.
- the external auxiliary information collecting step can acquire a plurality of types of information, which may be acquired together at the same time or at different times.
- the first step that operates after the start of processing is the image acquisition step. After the image acquisition process is performed, the non-target area exclusion process, the first lane estimation process, the vehicle detection process, and the second lane estimation process are performed. These processes are basically performed in no particular order, but there are some exceptions.
- the second lane estimation process needs to be performed after the vehicle detection process. However, they do not need to be performed consecutively. In other words, another process may be inserted between the vehicle detection process and the second lane estimation process.
- the external output step is executed in accordance with the processing results of the first lane estimation step and the second lane estimation step.
- the external auxiliary information collection process, the image acquisition process, the non-target area exclusion process, the first lane estimation process, the vehicle detection process, and the second lane estimation process can be repeated as appropriate.
- the acquisition unit 11 executes an external auxiliary information collection step.
- the acquisition unit 11 acquires various pieces of information by at least one of acquisition from an external device different from the processing device 10 and user input.
- the acquisition unit 11 may acquire information published on the web from a web server.
- the acquisition unit 11 may acquire information stored in an external device or information input by a user to an external device connected to the processing device 10 so as to be able to communicate with the external device.
- the acquisition unit 11 may acquire information input by a user via an input device included in the processing device 10.
- the acquisition unit 11 can output the acquired information either directly or after processing it as required.
- the information output in the external auxiliary information collection process is used in other processes shown in Figure 4.
- the acquisition unit 11 acquires a variety of information during the external auxiliary information collection process.
- the acquisition unit 11 may acquire time information, calendar information, weather information (weather, temperature, humidity, etc.) at the location where the fixed camera is installed, etc.
- the acquisition unit 11 may display a GUI (Graphical User Interface) via a display device and accept various information inputs from the user via the GUI.
- GUI Graphic User Interface
- the GUI is displayed via a display device (display or projection device) provided in the processing device 10, or a display device provided in an external device connected to the processing device 10 so as to be able to communicate with it.
- the acquisition unit 11 may accept input of various information used in other processes shown in Figure 4. Examples of the various information that can be accepted as input from the user will be described in the explanation of the other processes shown in Figure 4.
- the acquisition unit 11 may display an image showing the estimated lane area on the GUI based on the information indicating the lane area (any of the primary to tertiary lane areas in Figure 4) output in the external output process in Figure 4.
- the acquisition unit 11 may then accept user input on the GUI to modify the estimation results.
- the acquisition unit 11 executes a video acquisition process.
- the acquisition unit 11 acquires video images generated by a fixed camera.
- the acquisition unit 11 may also acquire other information such as the camera's data transfer method.
- the acquisition unit 11 outputs the acquired video images.
- the video images output in the video acquisition process are used in other processes shown in FIG. 4.
- the acquisition unit 11 may acquire the video generated by the fixed camera using real-time processing or batch processing.
- the processing device 10 and the fixed camera may be connected so that they can communicate with each other.
- the fixed camera may then transmit the video it generates to the processing device 10.
- the video generated by the fixed camera may be stored in an arbitrary storage device.
- the storage device may be provided by the fixed camera or an external device.
- the video stored in the storage device may then be input to the processing device 10 by any means and at any timing.
- the video generated by the fixed camera may be made public on a web server.
- the acquisition unit 11 may then acquire the video that is made public on the web server.
- a fixed camera stays in a certain location for a certain period of time and takes pictures of the road as vehicles travel.
- Fixed cameras may detect visible light to create images, or other types of light such as infrared, ultraviolet, or X-rays to create images.
- a fixed camera may be a camera that is installed in a position where it can capture images of the road and remains in that position.
- the fixed camera may be installed in that position for a relatively long period of time (for example, several years) and capture images of the road over the long term.
- a fixed camera may be installed in that position for a relatively short period of time (for example, a few days to a few months) and capture images of the road over the short term.
- Such fixed cameras may be able to change at least one of the orientation, position, and shooting conditions (zoom, etc.) automatically or in response to operator operation.
- Such functionality is preferable as it broadens the range that can be captured by a single fixed camera.
- the fixed camera may be a camera attached to a moving object.
- the camera attached to the moving object takes pictures of the road when the moving object is stopped.
- the position of the camera attached to the moving object does not change. Therefore, the camera attached to the moving object functions as a fixed camera.
- the moving object may be an airborne flying object such as a drone, or a landborne flying object such as a motorcycle or automobile.
- the moving object may also be a robot equipped with a means of locomotion.
- the means of locomotion may be a mechanism for moving on land or a mechanism for moving in the air. In either case, the robot may employ any well-known locomotion mechanism.
- the means of locomotion may be a bipedal mechanism or a mechanism for walking on three or more legs.
- the means of locomotion may also be a mechanism equipped with wheels or crawlers, or any other special mechanism.
- the robot may also be an airborne flying object such as a drone.
- Non-target area exclusion process ( Figure 4)
- the first estimation unit 12 executes a non-target area exclusion process.
- the first estimation unit 12 identifies an area (non-target area) within the moving image (within the frame image) that is not to be subjected to the process of estimating lane areas, and generates information indicating the non-target area.
- the information indicating the non-target area is information indicating a partial area within the frame image.
- the first estimation unit 12 can then output the generated information.
- the information output in the non-target area exclusion process is used in other processes shown in FIG. 4 .
- a non-target area is, for example, an area that captures an object other than a road (e.g., a building, etc.).
- a non-target area may also be an area that captures part of one of multiple roads captured in a video.
- roads There are multiple types of roads, such as expressways, general roads, national highways, and private roads, and there is a demand to monitor only some of these (one or more). In such cases, an area that captures a road other than the road you want to monitor can be designated as a non-target area.
- the first estimation unit 12 may analyze the video to identify non-target areas. For example, the first estimation unit 12 may use deep learning techniques such as depth estimation and segmentation to identify areas in the video (frame images) in which roads are shown. The first estimation unit 12 may then identify areas in the video (frame images) other than areas in which roads are shown as non-target areas.
- deep learning techniques such as depth estimation and segmentation to identify areas in the video (frame images) in which roads are shown.
- the first estimation unit 12 may then identify areas in the video (frame images) other than areas in which roads are shown as non-target areas.
- the first estimation unit 12 may identify the non-target area based on user input.
- the acquisition unit 11 accepts user input specifying the non-target area within the moving image (within the frame image). Then, the first estimation unit 12 identifies the non-target area based on the user input.
- the first estimation unit 12 may be able to perform both a process of analyzing a moving image to identify a non-target area and a process of identifying a non-target area based on user input.
- the first estimation unit 12 can prioritize the process of identifying a non-target area based on user input. That is, in the above-mentioned external auxiliary information collection process, if the acquisition unit 11 receives user input specifying a non-target area within a moving image (within a frame image), the first estimation unit 12 identifies a non-target area based on that user input. In this case, the first estimation unit 12 does not need to perform a process of analyzing a moving image to identify a non-target area.
- the acquisition unit 11 does not receive user input specifying a non-target area within a moving image (within a frame image)
- the first estimation unit 12 analyzes the moving image to identify a non-target area.
- the first estimation unit 12 may distinguish the multiple roads from one another based on user input.
- the first estimation unit 12 may distinguish between multiple roads based on differences in the heights at which the multiple roads are located. For example, there are cases where a highway and a general road are located at different heights and appear simultaneously in a video image (for example, when the highway is on an elevated road). In such cases, this method is effective. Differences in the heights at which the roads are located can be identified from the results of measuring the distance in the depth direction using depth estimation technology, such as LIDAR, ultrasonic sensors, or Deep Learning (AI) technology.
- depth estimation technology such as LIDAR, ultrasonic sensors, or Deep Learning (AI) technology.
- the first estimation unit 12 may distinguish between multiple roads based on the differences in the size of the vehicles traveling on the roads.
- the types of objects installed on roads may differ depending on the type of road.
- pedestrian signals are installed on general roads, but not on expressways.
- signs installed on general roads and signs installed on expressways may differ from each other. Therefore, the first estimation unit 12 may distinguish between multiple roads based on the objects installed on the roads.
- the first estimation unit 12 may use the camera's installation position and facing direction to distinguish between multiple roads from road information used in navigation systems, etc.
- the process of identifying the non-target area of this step only needs to be executed once after the processing device 10 is started/initialized, and does not need to be executed repeatedly.
- the first estimation unit 12 can output the same information in the second and subsequent loops as in the first loop. Note that the process of identifying the non-target area may be executed each time the loop is executed from the second onwards.
- the first estimation unit 12 executes a first lane estimation process.
- the first estimation unit 12 estimates a lane area using a first method based on a moving image.
- the lane area indicated by the estimation result of the first lane estimation process becomes the "primary lane area" in FIG. 4.
- the first estimation unit 12 can output information indicating the estimated lane area.
- the information output in the first lane estimation process is used in other processes shown in FIG. 4.
- the lane area estimation results show the area within the video (area within the frame image) of each lane that appears in the video. If multiple lanes appear in the video, the lane area estimation results show the area within the video (area within the frame image) of each of the multiple lanes.
- the "first method” is a method that can output lane area estimation results earlier than the second method described below. Any method that can achieve these conditions can be used as the first method.
- the first method may be a method in which a computer analyzes moving images to estimate lane areas.
- the first method may be a method in which a computer uses a GUI generated based on moving images (frame images) to accept user input specifying lane areas on the frame images, and estimates lane areas based on the user input.
- the first method may be a method of estimating lane areas based on one frame image in a video.
- Such a method of estimating lane areas based on one frame image can output lane area estimation results more quickly than the second method described below.
- the first method may be a method of detecting white lines from a moving image (frame images) and estimating lane areas based on the detected white lines. With this method, the area between two white lines is estimated as one lane area. This method can estimate lane areas based on one frame image.
- the first estimation unit 12 can detect white lines and estimate lane areas within a moving image (within a frame image) using deep learning techniques such as white line detection and segmentation.
- the first estimation unit 12 can detect white lines and estimate lane areas within a moving image (within a frame image) using other image analysis techniques such as edge detection.
- image analysis techniques such as edge detection.
- the first estimation unit 12 may use time information, calendar information, and weather information (weather, temperature, humidity, etc.) at the location where the fixed camera is installed, acquired by the acquisition unit 11 in the external auxiliary information collection process, in the estimation.
- the first estimation unit 12 may classify the environment at the time of shooting based on this information, and perform the estimation using an algorithm according to the environment when the frame image to be processed was captured, or a learning model created for that environment.
- the first estimation unit 12 may identify non-target areas based on the information output in the non-target area exclusion process. Then, the first estimation unit 12 may set only areas other than the non-target areas in the moving image (frame images) as the processing target area, and analyze the image of the processing target area to estimate the lane area.
- the first lane estimation process only needs to be executed once after the processing device 10 is started/initialized, and does not need to be executed repeatedly.
- the first estimation unit 12 can output the same information in the second and subsequent loops as in the first loop. Note that in the second and subsequent loops, the process of estimating the lane area using the first method may be executed each time.
- Vehicle detection process ( Figure 4)
- the second estimation unit 13 executes a vehicle detection process.
- the second estimation unit 13 detects a vehicle from a moving image (frame image).
- the second estimation unit 13 tracks the detected vehicle within the moving image and generates trajectory data indicating the vehicle's movement trajectory.
- the second estimation unit 13 can output the generated trajectory data.
- the trajectory data output in the vehicle detection process is used in other processes shown in FIG. 4.
- a “vehicle” is a vehicle that travels on the road. Examples of vehicles include, but are not limited to, four-wheeled vehicles, large vehicles, and motorcycles.
- Vehicle detection is achieved using any widely known technology.
- the second estimation unit 13 can detect vehicles within moving images (frame images) using deep learning technologies such as object detection, object tracking, and classification.
- the second estimation unit 13 may use time information, calendar information, and weather information (weather, temperature, humidity, etc.) at the location where the fixed camera is installed, acquired by the acquisition unit 11 in the external auxiliary information collection process, when detecting vehicles. For example, the second estimation unit 13 may classify the environment at the time of shooting based on this information, and detect vehicles using an algorithm that corresponds to the environment when the frame image to be processed was captured, or a learning model created for that environment.
- weather information weather, temperature, humidity, etc.
- the second estimation unit 13 may also identify non-target areas based on the information output in the non-target area exclusion step. Then, the second estimation unit 13 may determine only the areas other than the non-target areas in the moving image (frame images) as the processing target area, and analyze the image of the processing target area to detect vehicles.
- the second estimation unit 13 may identify the lane area within the video image (frame image) estimated by the first estimation unit 12 based on the information output in the first lane estimation process. The second estimation unit 13 may then treat only the identified lane area as the processing target area and analyze the image of the processing target area to detect vehicles.
- Vehicle tracking is achieved using any well-known technology.
- Trajectory data indicates the trajectory of a vehicle's movement within the fixed camera's shooting range (within the video).
- the trajectory data indicates the movement trajectory of a reference location of the vehicle.
- the reference location of the vehicle is the point where the approximate center of the left-right direction (vehicle width direction) in the vehicle's direction of travel is lowered to the ground.
- the center of the base of a rectangular area in which the vehicle detected in the video is captured may be used as the reference location of the vehicle.
- the reference location of the vehicle is not limited to those shown here. Other locations on the vehicle may also be used as the reference location of the vehicle.
- lane areas can be estimated by appropriately adjusting the second lane estimation process described below. Details will be provided below.
- a driver may be detected using person detection technology, and the trajectory of the detected person's (driver's) movement may be used as a pseudo-trajectory of the vehicle's movement.
- Trajectory data is data that indicates the vehicle's movement trajectory, for example, as a set of coordinates in a two-dimensional coordinate system set in moving images (frame images) generated by a fixed camera.
- the second estimation unit 13 executes a second lane estimation process.
- the second estimation unit 13 estimates the lane area using a second method different from the first method, based on video images acquired and stored after the lane area has been estimated using the first method.
- the lane area indicated by the final estimation result of the second lane estimation process becomes the "tertiary lane area” in FIG. 4.
- the lane area indicated by the estimation result obtained as an intermediate product of the second lane estimation process becomes the "secondary lane area” in FIG. 4.
- the second estimation unit 13 can output information indicating the estimated lane area.
- the information output in the second lane estimation process is used in other processes shown in FIG. 4.
- the "second method” is a method for estimating lane areas based on the vehicle movement trajectory detected from multiple frame images in a video.
- the second estimation unit 13 can execute the processes S1 to S5 in Figure 5 as a second lane estimation process. An overview of each process is as follows:
- Data acquisition process S1 The second estimation unit 13 acquires the trajectory data generated in the vehicle detection process.
- Extraction process S2 The second estimation unit 13 extracts trajectory data suitable for extracting lane areas from the acquired trajectory data.
- Determination process S3 The second estimation unit 13 determines whether the processes S1 and S2 executed up to that point satisfy a predetermined condition. The second estimation unit 13 then repeats S1 and S2 until the predetermined condition is satisfied. If it is determined that the predetermined condition is satisfied, the process proceeds to S4. By performing the process of S3, a sufficient amount of trajectory data can be extracted in S2 before proceeding to the processes from S4 onwards.
- Lane area estimation process S4 The second estimation unit 13 estimates the lane area based on the trajectory data extracted in S2 up to that point.
- Lane area determination process S5 The second estimation unit 13 determines whether the lane area is determined based on the estimation result of S4. If the lane area is not determined, the process returns to S1 and the same process is repeated. By performing the process of S5, the estimation result of S4 is not determined as the lane area as it is, but rather the estimation result can be determined as the lane area when a reliable estimation result is obtained in S4.
- Data acquisition process S1 (FIG. 5)
- the second estimation unit 13 acquires the trajectory data generated in the vehicle detection process.
- the second estimation unit 13 extracts trajectory data suitable for extracting lane areas from the trajectory data acquired in S1. Specifically, the second estimation unit 13 extracts trajectory data from the trajectory data acquired in S1, the trajectory data having at least one of length and direction that satisfy a predetermined condition.
- the predetermined condition can be defined based on the "length of the trajectory” or the “angle between the trajectory (e.g., the trajectory of a partial section) and a reference direction," for example.
- the predetermined condition here may be, for example, one of the following conditions, or a condition in which both conditions are connected by a predetermined logical operator. Note that these predetermined conditions are merely examples and are not limited to these.
- the length of the trajectory is equal to or greater than a threshold value. There is no section where the angle between the trajectory and the reference direction is equal to or greater than a threshold value.
- the threshold value is a value that is set in advance.
- trajectory length By using "trajectory length” as a condition, you can extract trajectory data whose trajectory length is greater than or equal to a threshold, and exclude noise data whose trajectory length is less than the threshold.
- the reference direction is a direction determined within the fixed camera's shooting range (within the video image), and is the same as or close to the direction in which the lanes extend (the difference in direction is below a threshold).
- a trajectory with a section where the angle with the reference direction is above a threshold can be considered to be a trajectory where a lane change was made.
- the reference direction may be set by an operator.
- the acquisition unit 11 may accept user input to set the reference direction on the video image.
- the second estimation unit 13 may calculate the reference direction by statistically processing the trajectory data acquired in S1.
- the number of vehicles that change lanes is considered to be smaller than the number of vehicles that do not change lanes. For this reason, the second estimation unit 13 may, for example, take a majority vote on the extension direction of each piece of trajectory data acquired in S1 and determine the most common extension direction as the reference direction.
- the second estimation unit 13 may also delete any trajectory data acquired in S1 that was not extracted in S2.
- Determination process S3 (FIG. 5)
- the second estimation unit 13 determines whether the processes of S1 and S2 executed up to that point satisfy a predetermined condition. The second estimation unit 13 then repeats S1 and S2 until the predetermined condition is satisfied. If it is determined that the predetermined condition is satisfied, the process proceeds to S4.
- the predetermined condition here is a condition for advancing the process to S4. In order to improve the accuracy of the estimation from S4 onwards, it is preferable to perform the processing from S4 onwards after a certain amount of trajectory data has been extracted in S2.
- the predetermined condition is designed to make this preferable form possible.
- the predetermined condition here may be any of the following, or may be a condition in which two or more of the following are connected by a predetermined logical operator.
- the number of trajectory data (the number of vehicle movement trajectories) extracted in S2 up to that point is equal to or greater than a threshold.
- the duration of execution of processes S1 and S2 is equal to or greater than a threshold.
- the number of trajectory data (the number of vehicle movement trajectories) passing through at least one area set within the fixed camera's shooting range (within the video) is equal to or greater than a threshold.
- the threshold is a preset value.
- the "at least one area set within the fixed camera's shooting range" can be set in advance by, for example, an operator.
- the acquisition unit 11 may accept a user input to set the area in the video.
- the lane area estimation process S4 includes four processes (S4-1 to S4-4) shown in Fig. 6. By executing these four processes, the second estimation unit 13 estimates the lane area based on the trajectory data extracted in S2 up to that point.
- the second estimation unit 13 calculates a line indicating the tendency of the vehicle's movement trajectory as a lane reference line based on the trajectory data extracted in S2 up to that point.
- the trajectory data in this embodiment indicates the movement trajectory of a point that is approximately the center of the vehicle's left-right direction in the direction of travel, lowered to the ground.
- the lane reference line is a line that indicates the tendency of the movement trajectory of a point that is approximately the center of the vehicle's left-right direction in the direction of travel, lowered to the ground.
- the second estimation unit 13 performs the process of S4-4 to estimate the lane area from the lane reference lines calculated in S4-1 through S4-3. Each process is explained in detail below.
- the second estimation unit 13 determines a reference direction within the shooting range (within the moving image) of the fixed camera.
- the definition of the reference direction and the method for setting it have been described above, so a description thereof will be omitted here.
- Figure 7 shows a frame image captured by a fixed camera. It also shows the movement trajectories VL of multiple vehicles, which are indicated by the trajectory data extracted in S2.
- the up-down direction of this frame image is defined as the reference direction. In this embodiment, this reference direction is called the y-axis direction. Note that in the frame image of Figure 7, the up-down direction of the frame image is defined as the reference direction (y-axis direction), but depending on the position and orientation of the camera, a diagonal direction or left-right direction of the frame image may also be defined as the reference direction (y-axis direction).
- the second estimation unit 13 determines a plurality of coordinates of the reference direction at a predetermined interval, as shown in Fig. 7.
- the plurality of y coordinates ( y0 , y1 , y2 , ...) shown in Fig. 7 are the plurality of coordinates of the reference direction determined at a predetermined interval.
- the value of the predetermined interval is a design factor.
- the second estimation unit 13 may determine multiple y coordinates at predetermined intervals across the entire shooting range of the fixed camera (across the entire frame image in the case of Figure 7). Alternatively, the second estimation unit 13 may determine multiple y coordinates at predetermined intervals in a portion of the shooting range of the fixed camera. This portion is, for example, an area where the vehicle movement trajectory VL indicated by the trajectory data extracted in S2 exists. In the example of Figure 7, the vehicle movement trajectory VL does not extend to the upper edge of the frame image. The second estimation unit 13 may exclude such areas where the vehicle movement trajectory VL does not extend from the areas where the second estimation unit 13 determines multiple y coordinates at predetermined intervals.
- a set of x-coordinates indicating the positions through which the vehicle movement trajectory VL passes is obtained, for each of a plurality of y coordinates ( y0 , y1 , y2%) at a predetermined interval.
- the second estimation unit 13 extracts a y coordinate to be used for calculating the number of lanes from a plurality of y coordinates (y 0 , y 1 , y 2 . . . ) at a predetermined interval.
- the number of intersections at coordinate y0 is 2
- the number of intersections at coordinate y1 is 3
- the number of intersections at coordinate y2 is 1.
- the number of elements in the set of x coordinates calculated for each of a plurality of y coordinates ( y0 , y1 , y2 , ...) at a predetermined interval in S4-1 is the number of intersections.
- the second estimation unit 13 extracts y coordinates at which the number of intersections is equal to or greater than a threshold from among a plurality of y coordinates (y 0 , y 1 , y 2 . . . ) at a predetermined interval as y coordinates to be used in calculating the number of lanes.
- the threshold value here may be determined in advance. Alternatively, the threshold value here may be determined based on the number of trajectory data extracted in S2. For example, the second estimation unit 13 may set the threshold value here to a value obtained by multiplying the number of trajectory data extracted in S2 by a predetermined coefficient greater than 0 and equal to or less than 1.
- the predetermined coefficient is a predetermined value.
- This process makes it possible to exclude y coordinates that have few intersections (passages) with the vehicle movement trajectory VL indicated by the trajectory data extracted in S2 from the coordinates used to calculate the number of lanes.
- the horizontal axis of Figure 9(A) is the x coordinate, and the vertical axis is the number of intersections.
- the second estimation unit 13 can calculate a probability density function for the position where the vehicle passes, for each extracted y coordinate, as shown in FIG. 9(B).
- the second estimation unit 13 can calculate the probability density function using kernel density estimation.
- the horizontal axis of FIG. 9(B) is the x coordinate, and the vertical axis is the density.
- the second estimation unit 13 can treat all values below the threshold r as "0", as shown in FIG. 10. This can reduce the influence of the vehicle's movement trajectory VL, which rarely occurs due to lane changes, on the passing position (intersection position).
- the second estimation unit 13 calculates the number of peaks and the positions (x coordinates) of the peaks of the probability density function for each extracted y coordinate.
- a peak is a position where a maximum value is obtained.
- two peaks P1 and P2 are calculated.
- the probability density function in FIG. 11(A) is a probability density function related to the position where the vehicle passes at the coordinate y4 shown in FIG. 11(B).
- FIG. 11(B) shows the positions of the two peaks P1 and P2 calculated using the probability density function in FIG. 11(A).
- the second estimation unit 13 calculates the number of lanes based on the number of peaks for each extracted y coordinate. For example, the second estimation unit 13 takes a majority vote and calculates the number of peaks with the most as the number of lanes.
- the second estimation unit 13 may determine peak positions for y coordinates that were not extracted in S4-2 using the method described in S4-2.
- the second estimation unit 13 may also include peak positions calculated for y coordinates that were not extracted in S4-2 in the combining process. That is, the second estimation unit 13 may determine peak positions for each of a plurality of y coordinates (y 0 , y 1 , y 2 , ...) at a predetermined interval using the method described in S4-2, and combine the peak positions for each y coordinate along the y-axis direction to generate lines for the number of lanes calculated in S4-2.
- the line generated in this manner will be referred to as the "lane reference line.”
- the peak position determined for each y coordinate using the method described in S4-2 may be simply referred to as the "peak position for each y coordinate.”
- the second estimation unit 13 determines a y coordinate to be the start position of the bond.
- the y coordinate with the middle arrangement position along the reference direction can be determined as the start position of the bond.
- yn , yn +1 , yn +2 , yn +8 , and yn +9 have the largest number of peaks, 5.
- the coordinate with the middle arrangement position along the reference direction is yn +2 .
- the coordinate yn +2 is determined as the start position of the bond.
- the actual number of lanes (the number of most peaks) is distributed mostly near the center of the image. That is, the y coordinates with the most peaks tend to be concentrated near the center of the image. For example, if “y 0 to y 20 " are set as multiple y coordinates at a predetermined interval, the most peaks will occur near y 10 , for example, y 8 to y 13. This is because vehicles appear larger toward the bottom of the image (y 0 ) and smaller toward the top (y 20 ), which reduces the detection accuracy of the vehicle itself.
- the most frequent peaks are located near the center of the image (near y10 in the above example), but in rare cases, the most frequent peaks may appear isolated near the top of the image (for example, y19 in the above example) or the bottom of the image (for example, y3 in the above example). If the above-mentioned joining is started using the y-coordinate where such an isolated most frequent peak appears as the starting position, a situation may arise in which no joining destination is found for some peaks due to the joining cost. As a result, the number of lines generated by the above-mentioned joining may be less than the actual number of lanes.
- the y coordinate of the starting position for joining may also be determined using other methods that can set the y coordinate of the central part of the image, where the most peaks are expected to be concentrated, as the starting position. Furthermore, the y coordinate of the starting position for joining may also be determined using other methods, although this will not provide the same effect. Even when other methods are used, lane areas can be estimated with a certain degree of accuracy.
- the second estimation unit 13 determines the y-coordinate that will be the starting position for joining, and then joins the peak positions for each y-coordinate along the y-axis direction (a direction parallel to the reference direction) to generate lines for the number of lanes calculated in S4-2.
- the second estimation unit 13 can perform the following processes (1) to (8) in this order.
- the second estimation unit 13 selects one lane as a processing target.
- the second estimation unit 13 selects one peak position to be processed.
- the second estimation unit 13 extracts, as a combination candidate, a peak position whose cost for combining with the peak position selected in (2) is within the maximum cost.
- the second estimation unit 13 narrows down the bond candidates by extracting bond candidates that satisfy predetermined conditions from the bond candidates extracted in (3).
- the second estimation unit 13 determines one of the combination candidates extracted in (4) as the peak position that combines with the peak position to be processed selected in (2).
- the second estimation unit 13 connects the peak positions to generate (extend) a line.
- the second estimation unit 13 returns to (1), selects a new lane as the processing target, and executes (2) to (6).
- the second estimation unit 13 returns to (1), selects a new lane as the processing target, and executes (2) to (6).
- the second estimation unit 13 selects one lane as a processing target. If the number of lanes calculated in S4-2 is Q, the second estimation unit 13 selects one of the Q lanes as a processing target. Then, the second estimation unit 13 generates a lane reference line corresponding to the selected lane by the following process.
- the second estimation unit 13 selects one peak position to be processed.
- peak positions for the first time in correspondence with the lane selected in (1), one of the peak positions existing at the y coordinate as the starting position for combining is selected by any means and made the target for processing.
- the processes from (2) onwards are executed repeatedly. For this reason, the process of combining peak positions corresponding to the lanes selected in (1) may be executed at least once, and (2) may be executed once a line has been generated. In this case, the second estimation unit 13 selects the peak position at the beginning of the line generated up to that point as the target for processing.
- the "peak position at the start of a line” is the start (end) of a line generated by combining the peak positions up to that point.
- the peak position at the y-coordinate that is the start position of combining is treated as the start peak position of the line.
- the second estimation unit 13 calculates the maximum cost that can be combined for the selected peak position based on the following formulas (1) and (2).
- Formula (1) is a formula for calculating the cost for combining two peak positions.
- Formula (2) is a formula for calculating the maximum cost.
- the second estimation unit 13 extracts, as a combination candidate, a peak position whose cost for combining with the peak position selected in (2) is within the maximum cost. This process will be explained using Figure 13.
- P1 is the peak position selected in (2).
- Figure 13 shows a state in which the joining of peak positions corresponding to the lanes selected in (1) has been executed at least once, and a line (the line joining P0 and P1 ) has been generated.
- P1 is the peak position at the beginning of the line, and is the peak position selected in (2) as described above.
- P0 is the peak position immediately preceding that.
- the maximum combinable cost obtained in (2) above indicates the combinable range in FIG. 13.
- P2 and P3 are extracted. Note that, as shown in equation (2), by determining the maximum cost by adding a constant to the cost when combining the peak position P1 at the beginning of the line and the peak position P0 immediately preceding it, the combinable range can be narrowed as the line extends.
- the second estimation unit 13 narrows down the bond candidates by extracting bond candidates that satisfy predetermined conditions from the bond candidates extracted in (3).
- the predetermined condition here may be one of the following conditions, or may be a condition in which both conditions are connected by a predetermined logical operator. Note that these predetermined conditions are merely examples and are not limited to these.
- the second estimation unit 13 determines one of the combination candidates extracted in (4) as the peak position that combines with the peak position to be processed selected in (2).
- the second estimation unit 13 determines the joining candidate among the joining candidates extracted in (4) that has the smallest cost for joining with the peak position of the processing target selected in (2) as the peak position to be joined with the peak position of the processing target selected in (2).
- the second estimation unit 13 generates (extends) a line by connecting the peak positions.”
- the second estimation unit 13 generates (extends) a line by combining the peak position of the processing target selected in (2) with the combination candidate determined in (5). Then, the second estimation unit 13 sets the combination candidate determined in (5) as the leading peak position of the line.
- the second estimation unit 13 returns to (1), selects a new lane as a processing target, and executes (2) to (6).” If the number of lanes calculated in S4-2 is Q, the second estimation unit 13 selects all of the Q lanes and repeats the process until steps (2) to (6) are performed for all lanes. The second estimation unit 13 selects a new lane as the processing target from among the lanes that have not yet been selected. In this way, it is possible to perform the combining for all lanes in parallel. Then, after steps (2) to (6) are performed for all lanes, the second estimation unit 13 proceeds to step (8).
- the second estimation unit 13 returns to (1), selects a new lane as a processing target, and executes (2) to (6).” After selecting all lanes as processing targets in (7), the second estimation unit 13 executes the process of (8). In such (8), the second estimation unit 13 resets the lane selection history in (7) immediately before (8) and selects a new lane from scratch. That is, the second estimation unit 13 may newly select a lane that was previously selected in (7). The second estimation unit 13 repeats the processes of (1) to (7) until the leading positions of all lanes are no longer updated.
- FIG. 14 the characteristics of the combining in the above processes (1) to (8) will be described.
- two or more peak positions are not combined to one peak position.
- Two peak positions with the smallest combining cost are combined.
- peak positions that are separated in the y-axis direction by a distance equal to or greater than a predetermined value can also be combined. That is, as shown in the figure, not only peak positions with adjacent y-coordinates, such as the peak positions y n+1 and y n+2 , but also peak positions with y-coordinates that are separated by a predetermined value or more, such as the peak positions y n+1 and y n+3 , may be directly combined. Furthermore, even if the number of lanes and peaks are the same, they will not be combined if the combining cost is high.
- the second estimation unit 13 may perform a process to remove noise data after performing the processes (1) to (8) above to generate lane reference lines for each lane.
- the second estimation unit 13 may delete lane reference lines that satisfy conditions such as a length that is less than a threshold or a length in the y-axis direction that is less than a threshold.
- three lane reference lines EL1 to EL3 are generated by the above processes (1) to (8).
- the second estimation unit 13 can eliminate noise data such as the lane reference line EL3 .
- the lane reference lines EL1 and EL2 after the noise data removal can be output as the processing results.
- the second estimation unit 13 estimates a lane area based on the lane reference lines generated in S4-3. Specifically, the second estimation unit 13 determines the boundary of the lane in the width direction based on the lane reference lines. This processing by the second estimation unit 13 will be explained using Figure 17. It is assumed that two lane reference lines EL1 and EL2 shown in the figure are generated in S4-3.
- the second estimation unit 13 estimates the position where adjacent lane reference lines are divided at a predetermined ratio as the boundary between the adjacent lanes.
- the second estimation unit 13 can identify a location where an adjacent lane reference line exists. Identification of the location can be achieved by various methods. For example, the second estimation unit 13 generates a line extending from an arbitrary point on one lane reference line EL1 in a direction perpendicular to the reference direction. Then, the second estimation unit 13 identifies a location where another lane reference line exists that intersects with the line as a location where an adjacent lane reference line exists.
- the second estimation unit 13 estimates the position at the identified location where the adjacent lane reference lines are divided by a predetermined ratio as the boundary of the adjacent lanes.
- the predetermined ratio is determined according to the setting of the "vehicle reference location" described above.
- the vehicle reference location is a point where the "approximate center” in the left-right direction of the vehicle is lowered to the ground in the direction of travel. In other words, it is a point where the width direction of the vehicle is divided at a 1:1 ratio.
- the predetermined ratio is 1:1. That is, as shown in FIG. 17, the second estimation unit 13 estimates the midpoint between adjacent lane reference lines as the boundary of the adjacent lanes. By this processing, the illustrated boundary BL1 is determined. Note that if the vehicle reference location is a point where the width direction of the vehicle is divided into E1 and E2 , the predetermined ratio is E2 and E1 .
- the second estimation unit 13 can estimate the boundary using, for example, the following method.
- the second estimation unit 13 can estimate the boundary BL2 based on the distance from the lane reference line EL2 to the boundary BL1 on the opposite side as viewed from the lane reference line EL2 .
- the second estimation unit 13 calculates the distance D from the lane reference line EL2 to the boundary BL1 . Then, the second estimation unit 13 estimates the position that is the distance D away from the lane reference line EL2 in the opposite direction to the boundary BL1 as the boundary BL2 . Note that due to the perspective effect, the distance D may differ for each coordinate in the reference direction on the image. For this reason, it is preferable to calculate the distance D for each coordinate in the reference direction and calculate the boundary BL2 using the distance D for each coordinate in the reference direction.
- the boundary BL3 can be estimated using the same method as the boundary BL2 .
- the second estimation unit 13 estimates boundary BL4 using the distance D calculated at another coordinate in the reference direction. That is, the second estimation unit 13 estimates a position that is the distance D away from lane reference line EL2 in the direction of boundary BL4 as boundary BL4 . Note that, as described above, distance D may differ for each coordinate in the reference direction.
- the second estimation unit 13 estimates boundary BL4 using the distance D calculated at the point closest to the point where boundary BL4 is to be estimated (closest distance in the y direction).
- Boundary BL5 can be estimated using the same method as boundary BL4 .
- the second estimation unit 13 determines whether to confirm the lane area based on the estimation result of S4. If not, the process returns to S1 and the same process is repeated. By performing the process of S5, the estimation result of S4 is not confirmed as the lane area as it is, but rather, once a reliable estimation result is obtained in S4, the estimation result can be confirmed as the lane area. As a result, it becomes possible to output a highly reliable result.
- the second estimation unit 13 continues to acquire trajectory data and repeatedly estimates lane areas based on the accumulated trajectory data.
- the second estimation unit 13 determines the identity of each estimated lane area with the lane area estimated in the (n-1)th processing. Specifically, the second estimation unit 13 determines the difference between each lane area estimated in the nth processing and each lane area estimated in the (n-1)th processing. Then, if the difference between the lane area estimated in the (n-1)th processing and the lane area estimated in the nth processing is equal to or less than a reference value, it determines that the lane area estimated in the (n-1)th processing and the lane area estimated in the nth processing are identical.
- the second estimation unit 13 performs the above-mentioned identity determination each time a lane area is estimated in each processing run. If the lane areas are determined to be identical a predetermined number of times or more in succession, the second estimation unit 13 confirms the lane areas estimated during that time as the estimation result. In other words, the second estimation unit 13 confirms the lane areas that have been determined to be identical a predetermined number of times or more in succession.
- the second estimation unit 13 can execute the three processes (S5-1 to S5-3) shown in FIG. 18 as S5. Note that the second estimation unit 13 may determine the identity of the lane areas described above using a method different from the process described below.
- the second estimation unit 13 determines whether the lane area estimated in the (n-1)th processing is the same as the lane area estimated in the nth processing. If the difference between the lane area estimated in the (n-1)th processing and the lane area estimated in the nth processing is equal to or less than a predetermined standard, the second estimation unit 13 determines that the lane area estimated in the (n-1)th processing is the same as the lane area estimated in the nth processing.
- a predetermined standard There are various methods for calculating the difference between two lane areas, but one example will be described below.
- the lane area estimated in the (n-1)th processing may be referred to as the "(n-1)th lane area”
- the lane area estimated in the nth processing may be referred to as the "nth lane area.”
- the second estimation unit 13 calculates a three-dimensional probability density function based on the group of constituent points on the lane reference line used to estimate the (n-1)th lane area. For example, the second estimation unit 13 can calculate a three-dimensional probability density function such as that shown in FIG. 19 using kernel density estimation (KDE).
- KDE kernel density estimation
- the second estimation unit 13 generates data for generating a three-dimensional probability density function from the data of the constituent points on the lane reference line used to estimate the (n-1)th lane area, and can calculate the three-dimensional probability density function based on the generated data for generating the three-dimensional probability density function.
- the data for generating the three-dimensional probability density function is random data that approximates the data of the group of constituent points on the lane reference line used to estimate the (n-1)th lane area.
- Such data for generating the three-dimensional probability density function can be generated using various methods. For example, the second estimation unit 13 selects (x i , y i ), which is the i-th data item from the data of the group of constituent points on the lane reference line used to estimate the (n-1)th lane area, as the processing target. Then, the second estimation unit 13 randomly generates data that approximates this data based on the following equation (3):
- b and ⁇ are predetermined values.
- b may be a variance range calculated from the average width of the base of a rectangular area (an area where a vehicle exists) detected near the coordinate yi when a vehicle is detected by image analysis.
- the second estimation unit 13 performs this process for all i and generates a set of randomly generated data corresponding to each piece of data on the constituent points on the lane reference line used to estimate the (n-1)th lane area. This set of data becomes data on the constituent points that approximates the data on the constituent points on the lane reference line used to estimate the (n-1)th lane area.
- the second estimation unit 13 repeats this process a predetermined number of times (e.g., 100 times) to generate a predetermined number of pieces of data on the constituent points that approximates the data on the lane reference line used to estimate the (n-1)th lane area.
- the second estimation unit 13 then calculates a three-dimensional probability density function based on the data for that predetermined number of times.
- the second estimation unit 13 generates data for generating a three-dimensional probability density function from data on the group of constituent points on the lane reference line used to estimate the (n-1)th lane area, for example, as described above.
- the second estimation unit 13 then inputs each of the constituent points on the lane reference line used to estimate the nth lane area into the three-dimensional probability density function, and calculates the probability (occurrence rate) of the value input for each constituent point.
- the second estimation unit 13 determines that the (n-1)th lane area and the nth lane area are the same. On the other hand, if the number of component points whose calculated probability is equal to or greater than the threshold is less than the reference value, the second estimation unit 13 determines that the (n-1)th lane area and the nth lane area are different.
- the threshold and reference value here are predetermined values.
- the second estimation unit 13 may perform a more detailed identity determination in addition to the identity determination in S5-1.
- the "identity determination” in the condition "when the (n-1)th lane area and the nth lane area are determined to be identical for a predetermined number of consecutive times" may be “identity determination in this detailed identity determination” or “identity determination in both this detailed identity determination and S5-1.”
- the second estimation unit 13 can perform a detailed identity determination, for example, based on the following equation (4). If the conditions of the following equation (4) are satisfied, the second estimation unit 13 determines that the (n-1)th lane area and the nth lane area are identical.
- NewLane xi is the i-th x-coordinate of the group of constituent points on the lane reference line used to estimate the n-th lane area.
- OldLane xi is the i-th x-coordinate of the group of constituent points on the lane reference line used to estimate the (n-1)-th lane area. Note that NewLane xi and OldLane xi are x-coordinates corresponding to the same y-coordinate ( yi ).
- ImageShape X is the width of the image in the x-axis direction.
- M is a specified value, such as 0.9.
- Post-processing S5-3 (FIG. 18)
- the second estimation unit 13 determines a lane area in S5-2, it deletes the trajectory data used to estimate the determined lane area from the trajectory data extracted in S2.
- the trajectory data used to estimate the lane area is the trajectory data extracted in S2 before the lane area is determined and used to calculate the lane reference line for the lane area in S4.
- multiple lane areas may be determined simultaneously, or lane areas may be determined one by one.
- steps S1 to S5 in Figure 5 are repeated after one lane area has been determined until another lane area is determined.
- the second estimation unit 13 can delete trajectory data related to one lane area and then create dummy data related to that lane area. Thereafter, the second estimation unit 13 can calculate the probability density function of S4-2 using the dummy data related to that lane area and the accumulated trajectory data related to other lane areas (trajectory data extracted in S2). The second estimation unit 13 can create dummy data, for example, using the following method.
- the dummy data is random data that approximates the data of the constituent points on the lane reference line used to estimate the confirmed lane area.
- Such dummy data can be generated by various methods. For example, the second estimation unit 13 selects, as the processing target, (x i , y i ), which is the i-th data among the data of the constituent points on the lane reference line used to estimate the confirmed lane area. Then, the second estimation unit 13 randomly generates data that approximates the selected data based on the following equation (5):
- ⁇ is a predetermined value.
- the second estimation unit 13 performs this process for all i, and generates a set of randomly generated data corresponding to each piece of data for the group of constituent points on the lane reference line used to estimate the confirmed lane area. This set of data becomes data for the group of constituent points that approximates the data for the group of constituent points on the lane reference line used to estimate the confirmed lane area.
- the second estimation unit 13 repeats this process a predetermined number of times (e.g., 10 times) and generates dummy data for the predetermined number of times.
- the output unit 14 executes an external output process.
- the output unit 14 outputs information indicating the lane areas estimated in the first lane estimation process and the second lane estimation process (information indicating the lane areas in the video).
- the output unit 14 outputs information indicating the primary lane area estimated using the first method in the first lane estimation process. Then, the output unit 14 outputs information indicating the secondary lane area estimated using the second method in the second lane estimation process (the lane area indicated by the estimation result up until it is confirmed). Then, the output unit 14 outputs information indicating the tertiary lane area estimated using the second method in the second lane estimation process (the lane area indicated by the confirmed estimation result).
- the output unit 14 outputs information indicating the primary lane area, and can then output information indicating the secondary lane area in response to the secondary lane area being estimated using the second method in the second lane estimation process.
- the output unit 14 can then output information indicating the tertiary lane area in response to the tertiary lane area being estimated using the second method in the second lane estimation process, i.e., in response to the estimation result being confirmed in the second lane estimation process.
- the information indicating the lane area can be output to various destinations.
- the output destination may be an external device that performs various processes based on the estimated lane area.
- the external device performs various processes based on the estimated lane area. For example, the external device may detect targets such as vehicles that frequently change lanes or vehicles that travel across multiple lanes based on the estimated lane area and video images generated by a fixed camera. The external device may also measure the traffic conditions (e.g., congestion) and traffic volume for each lane based on the estimated lane area and video images generated by a fixed camera. These measurements can be achieved using any widely known technology.
- targets such as vehicles that frequently change lanes or vehicles that travel across multiple lanes based on the estimated lane area and video images generated by a fixed camera.
- the external device may also measure the traffic conditions (e.g., congestion) and traffic volume for each lane based on the estimated lane area and video images generated by a fixed camera. These measurements can be achieved using any widely known technology.
- traffic conditions e.g., congestion
- the output unit 14 may generate and output a processed image in which information indicating the lane area is superimposed on a moving image generated by a fixed camera as information indicating the lane area.
- the output unit 14 may input the generated processed image to an output device such as a display or projection device, and display the generated processed image.
- the output unit 14 may transmit the generated processed image to another device.
- the output unit 14 may identify non-target areas based on the information output in the non-target area exclusion step. Then, the output unit 14 may further superimpose information indicating the non-target area on the processed image.
- the video acquisition process (see Figure 4) is executed, and the acquisition of video images generated by the fixed camera continues.
- the processing device 10 executes a first lane estimation process (see Figure 4). That is, the processing device 10 estimates a lane area based on one frame image from a video image generated by a fixed camera (S20). The lane area indicated by this estimation result becomes the primary lane area described using Figure 4. Next, the processing device 10 executes an external output process (see Figure 4) and outputs the estimation result of S20 (primary lane area) (S21).
- the processing device 10 may execute at least one of an external auxiliary information collection process (see FIG. 4) and a non-target area exclusion process (see FIG. 4) before the first lane estimation process (see FIG. 4).
- the output results of these processes may then be used in the first lane estimation process (see FIG. 4), the vehicle detection process (see FIG. 4) and the second lane estimation process (see FIG. 4) described below.
- the processing device 10 executes a vehicle detection process (see Figure 4) and a second lane estimation process (see Figure 4). That is, the processing device 10 estimates the lane area based on the video images acquired and stored after the lane area was estimated in S20.
- the vehicle's movement trajectory is calculated based on moving images, and the process of estimating the lane area based on the vehicle's movement trajectory is repeated. If the same estimation result is obtained a predetermined number of times or more, the lane area indicated by that estimation result is confirmed as the estimation result.
- the processing device 10 determines whether a lane area has been estimated based on the vehicle's movement trajectory. For example, in a process of repeatedly estimating a lane area, if the first estimation result is obtained in the first loop, the processing device 10 can determine that the lane area has been estimated based on the vehicle's movement trajectory.
- the lane area indicated by the first estimation result obtained in this first loop becomes the secondary lane area described using Figure 4. Note that instead of the first estimation result of the first loop, the estimation result of the second loop or a subsequent loop may be used as the secondary lane area. However, using the first estimation result as the secondary lane area is preferable because it allows for earlier output of the secondary lane area.
- the processing device 10 repeats this determination until it determines that the lane area has been estimated based on the vehicle's movement trajectory (No in S22).
- the processing device 10 executes an external output process (see Figure 4) and outputs the estimation result (secondary lane area) of S22 (S23).
- the processing device 10 continues the vehicle detection process (see Figure 4) and the second lane estimation process (see Figure 4). Then, in S24, the processing device 10 determines whether the estimation result has been confirmed. As described above, if the processing device 10 obtains the same estimation result a predetermined number of times or more in succession, it confirms the lane area indicated by the estimation result as the estimation result. The lane area indicated by this confirmed estimation result becomes the tertiary lane area described using Figure 4.
- the processing device 10 repeats this determination until the estimation result is confirmed (No in S24). During this time, the processing device 10 continues the vehicle detection process (see Figure 4) and the second lane estimation process (see Figure 4).
- the processing device 10 executes the external output process (see Figure 4) and outputs the confirmed estimation result (tertiary lane area) (S25).
- the lane areas (estimated results) for each of the multiple lanes may be determined at once, or they may be determined one by one.
- the processing device 10 may execute the external output process (see FIG. 4) each time a lane area is confirmed, and output the confirmed estimation result (tertiary lane area) (S25). The processing device 10 may then repeat S24 and S25 until the lane areas (estimation results) for all lanes have been confirmed.
- the processing device 10 may execute an external output process (see Figure 4) after the lane areas (estimation results) of all lanes have been determined, and output all the determined estimation results (tertiary lane areas) together (S25).
- the processing device 10 repeats the process of estimating the lane area in the second lane estimation step (see Figure 4) until the estimation result is confirmed.
- the processing device 10 then outputs the confirmed estimation result as the tertiary lane area, and outputs the estimation result obtained in any one of the multiple loops until confirmation is reached as the secondary lane area.
- the processing device 10 outputs the confirmed estimation result as the tertiary lane area, and outputs the estimation results obtained in any "two or more" of the multiple loops until confirmation as the secondary lane area. In other words, the processing device 10 outputs two or more estimation results as the secondary lane area.
- the processing device 10 may output the estimation results obtained in all of the multiple loops as the secondary lane area.
- the processing device 10 may output the estimation results obtained in some of the multiple loops as the secondary lane area. In the latter case, the processing device 10 may output the estimation result as the secondary lane area every n loops (n is any integer).
- the processing device 10 can output the estimation result as the secondary lane area each time an estimation result is obtained for each loop.
- the processing device 10 can first estimate lane areas using a first method and quickly output the estimation results (primary lane areas). After that, the processing device 10 can perform highly accurate estimation using a second method based on video images acquired and stored after the lane areas have been estimated using the first method, and output the estimation results (secondary lane areas and tertiary lane areas).
- the processing device 10 can employ a process for estimating a lane area based on one frame image in a moving image.
- the processing device 10 can employ a process for detecting white lines in one frame image and estimating a lane area based on the detected white lines.
- the data to be processed (a single frame image) can be obtained more quickly than when estimating lane areas based on a video consisting of multiple frame images.
- the amount of data to be analyzed is also relatively small. Therefore, when estimating lane areas based on a single frame image, estimation results can be output more quickly.
- the processing device 10 can employ the first method of estimating lane areas based on a single frame image in a video, allowing the estimation results of the first method to be output quickly.
- the accuracy of the estimation results can be low if part of the white line is hidden or unclear in the video.
- This type of problem is relatively likely to occur when video is generated using a fixed camera.
- the white line in the image may become unclear due to the influence of light (sunlight, vehicle headlights, etc.).
- the processing device 10 compensates for the disadvantages of the first method by adopting a second method that estimates lane areas based on the vehicle's movement trajectory. Note that the second method provides relatively high estimation accuracy, but has the problem that it takes a long time to obtain estimation results. By adopting the first method, the processing device 10 compensates for the disadvantages of the second method. In this way, by using both the first and second methods, the processing device 10 makes use of the strengths of each while compensating for the problems of each.
- the processing device 10 estimates lane areas based on the movement trajectory of a vehicle detected by a fixed camera. Vehicles travel along lanes. For this reason, the movement trajectory of a vehicle detected by a fixed camera tends to follow the lane. The processing device 10 estimates lane areas based on the movement trajectory of a vehicle that tends to follow this pattern.
- This second method it is sufficient to detect the vehicle's movement trajectory on the road, and there is no need to detect white lines on the road using image analysis, etc.
- This second method can compensate for the disadvantages of the first method.
- lane areas can be estimated automatically or semi-automatically based on video images generated by the fixed camera after installation. Furthermore, with the processing device 10, even after the orientation, position, or measurement conditions (zoom, etc.) of the fixed camera have been changed, lane areas can be estimated automatically or semi-automatically based on video images generated by the fixed camera after the change.
- This processing device 10 avoids the tedious task of having workers register lane areas within the imaging range of each fixed camera each time a fixed camera is installed or the orientation, position, measurement conditions, etc. are changed. For example, when installing fixed cameras in locations that require temporary monitoring, such as construction sites, the installation and settings of fixed cameras may be frequently changed. In such cases, it would be tedious if workers had to register lane areas each time. The processing device 10 can alleviate this inconvenience.
- Fig. 21 shows the processing executed by the processing device 10. As shown in Fig. 21, the processing device 10 outputs the primary lane area and the tertiary lane area as the lane area estimation results, but does not output the secondary lane area.
- the processing device 10 of this embodiment differs from the processing device 10 of the second embodiment (see Fig. 4) in that it does not output the secondary lane area.
- the output unit 14 first outputs information indicating the lane area (primary lane area) estimated using the first method (first lane estimation process). Then, in response to the estimation result of the second method (second lane estimation process) being confirmed, the output unit 14 outputs information indicating the lane area (tertiary lane area) indicated by the confirmed estimation result.
- the video acquisition process (see Figure 21) is executed, and the acquisition of video images generated by the fixed camera continues.
- the processing device 10 executes a first lane estimation process (see FIG. 21). That is, the processing device 10 estimates a lane area based on one frame image from a video image generated by a fixed camera (S30). The lane area indicated by this estimation result becomes the primary lane area in FIG. 21. Next, the processing device 10 executes an external output process (see FIG. 21) and outputs the estimation result (primary lane area) of S30 (S31).
- the processing device 10 may execute at least one of an external auxiliary information collection process (see FIG. 21) and a non-target area exclusion process (see FIG. 21) before the first lane estimation process (see FIG. 21).
- the output results of these processes may then be used in the first lane estimation process (see FIG. 21), or the vehicle detection process (see FIG. 21) and second lane estimation process (see FIG. 21) described below.
- the processing device 10 executes a vehicle detection process (see FIG. 21) and a second lane estimation process (see FIG. 21). That is, the processing device 10 estimates the lane area based on the video images acquired and stored after the lane area is estimated in S30.
- the vehicle's movement trajectory is calculated based on moving images, and the process of estimating the lane area based on the vehicle's movement trajectory is repeated. If the same estimation result is obtained a predetermined number of times or more, the lane area indicated by that estimation result is confirmed as the estimation result.
- the processing device 10 determines whether the estimation result has been confirmed.
- the lane area indicated by this confirmed estimation result becomes the tertiary lane area in Figure 21.
- the processing device 10 repeats this determination until the estimation result is confirmed (No in S32). During this time, the processing device 10 continues the vehicle detection process (see Figure 21) and the second lane estimation process (see Figure 21).
- the processing device 10 executes the external output process (see FIG. 21) and outputs the confirmed estimation result (tertiary lane area) (S33).
- the lane areas (estimated results) for each of the multiple lanes may be determined at once, or they may be determined one by one.
- the processing device 10 may execute an external output process (see FIG. 21) each time a lane area is confirmed, and output the confirmed estimation result (tertiary lane area) (S33). The processing device 10 may then repeat S32 and S33 until the lane areas (estimation results) for all lanes have been confirmed.
- the processing device 10 may execute an external output process (see Figure 21) after the lane areas (estimation results) of all lanes have been determined, and output all the determined estimation results (tertiary lane areas) together (S33).
- the processing device 10 of this embodiment achieves the same effects as the processing device 10 of the second embodiment.
- the processing device 10 of this embodiment can first estimate the lane area using the first method and quickly output the estimation result (primary lane area). Then, the processing device 10 can then perform a highly accurate estimation using the second method based on the video images acquired and stored after the lane area has been estimated using the first method, and output the estimation result (tertiary lane area).
- the processing device 10 of the second embodiment outputs two estimation results (primary lane area and secondary lane area) before outputting a highly accurate estimation result (tertiary lane area).
- the processing device 10 of the present embodiment outputs one estimation result (primary lane area) before outputting a highly accurate estimation result (tertiary lane area).
- the processing device 10 can provide output that meets such needs.
- Fig. 23 shows the processing executed by the processing device 10. As shown in Fig. 23, the processing device 10 does not execute the first lane estimation process. The processing device 10 of this embodiment outputs the secondary lane area and the tertiary lane area as lane area estimation results, but does not output the primary lane area. The processing device 10 of this embodiment differs from the processing device 10 of the second embodiment (see Fig. 4) in that it does not execute the first lane estimation process and does not output the primary lane area.
- the "first method” performed by the first estimation unit 12 of this embodiment is a method of outputting the lane area indicated by the pre-confirmation estimation result obtained in the second lane estimation process (see Figure 23) as the estimation result.
- the "second method” performed by the second estimation unit 13 of this embodiment is a method of outputting the lane area indicated by the confirmed estimation result obtained in the second lane estimation process (see Figure 23) as the estimation result.
- the output unit 14 first outputs information indicating the lane area estimated using the first method (the lane area indicated by the estimation result before it is confirmed: the secondary lane area). Then, the output unit 14 outputs information indicating the lane area estimated using the second method (the lane area indicated by the confirmed estimation result: the tertiary lane area).
- the processing device 10 executes a vehicle detection process (see Figure 23) and a second lane estimation process (see Figure 23).
- a vehicle detection process see Figure 23
- a second lane estimation process see Figure 23
- the vehicle movement trajectory is calculated based on the moving image, and the process of estimating the lane area based on the vehicle movement trajectory is repeated.
- the same estimation result is obtained a predetermined number of times or more in succession, the lane area indicated by the estimation result is confirmed as the estimation result.
- the processing device 10 determines whether a lane area has been estimated based on the vehicle's movement trajectory. For example, in a process of repeatedly estimating a lane area, if the first estimation result is obtained in the first loop, the processing device 10 can determine that the lane area has been estimated based on the vehicle's movement trajectory.
- the lane area indicated by the first estimation result obtained in this first loop becomes the secondary lane area in Figure 23.
- the estimation result in the second loop or a subsequent loop may be used as the secondary lane area.
- using the first estimation result as the secondary lane area is preferable as it allows for earlier output of the secondary lane area.
- the processing device 10 repeats this determination until it determines that the lane area has been estimated based on the vehicle's movement trajectory (No in S40).
- the processing device 10 executes an external output process (see FIG. 23) and outputs the estimation result (secondary lane area) of S40 (S41).
- the processing device 10 continues the vehicle detection process (see Figure 23) and the second lane estimation process (see Figure 23). Then, in S42, the processing device 10 determines whether the estimation result has been confirmed. As described above, if the processing device 10 obtains the same estimation result a predetermined number of times or more in succession, it confirms the lane area indicated by that estimation result as the estimation result. The lane area indicated by this confirmed estimation result becomes the tertiary lane area in Figure 23.
- the processing device 10 repeats this determination until the estimation result is confirmed (No in S42). During this time, the processing device 10 continues the vehicle detection process (see Figure 23) and the second lane estimation process (see Figure 23).
- the processing device 10 executes the external output process (see FIG. 23) and outputs the confirmed estimation result (tertiary lane area) (S43).
- the lane areas (estimated results) for each of the multiple lanes may be determined at once, or they may be determined one by one.
- the processing device 10 may execute an external output process (see FIG. 23) each time a lane area is confirmed, and output the confirmed estimation result (tertiary lane area) (S43). The processing device 10 may then repeat S42 and S43 until the lane areas (estimation results) for all lanes have been confirmed.
- the processing device 10 may execute an external output process (see Figure 23) after the lane areas (estimation results) of all lanes have been determined, and output all the determined estimation results (tertiary lane areas) together (S43).
- the processing device 10 may execute at least one of an external auxiliary information collection process (see FIG. 23) and a non-target area exclusion process (see FIG. 23) before the vehicle detection process (see FIG. 23) and the second lane estimation process (see FIG. 23).
- the output results of these processes may then be used in the vehicle detection process (see FIG. 23) and the second lane estimation process (see FIG. 23).
- the processing device 10 repeats the process of estimating the lane area in the second lane estimation step (see Figure 4) until the estimation result is confirmed.
- the processing device 10 then outputs the confirmed estimation result as the tertiary lane area, and outputs the estimation result obtained in any one of the multiple loops until confirmation is reached as the secondary lane area.
- the processing device 10 outputs the confirmed estimation result as the tertiary lane area, and outputs the estimation results obtained in any "two or more" of the multiple loops until confirmation as the secondary lane area. In other words, the processing device 10 outputs two or more estimation results as the secondary lane area.
- the processing device 10 may output the estimation results obtained in all of the multiple loops as the secondary lane area.
- the processing device 10 may output the estimation results obtained in some of the multiple loops as the secondary lane area. In the latter case, the processing device 10 may output the estimation result as the secondary lane area every n loops (n is any integer).
- the processing device 10 can output the estimation result as the secondary lane area each time an estimation result is obtained for each loop.
- the processing device 10 of this embodiment achieves the same effects as the processing device 10 of the second embodiment.
- the processing device 10 of this embodiment can first estimate the lane area using the first method and quickly output the estimation result (secondary lane area). Then, the processing device 10 can then perform a highly accurate estimation using the second method based on the video images acquired and stored after the lane area has been estimated using the first method, and output the estimation result (tertiary lane area).
- the processing device 10 of the second embodiment outputs two estimation results (primary lane area and secondary lane area) before outputting a highly accurate estimation result (tertiary lane area).
- the processing device 10 of the present embodiment outputs one estimation result (secondary lane area) before outputting a highly accurate estimation result (tertiary lane area).
- the processing device 10 can provide output that meets such needs.
- the fixed camera can change at least one of the orientation, position, and shooting conditions (zoom, etc.) automatically or in response to an operator's operation.
- the area captured in the video generated by the fixed camera changes.
- the lane area in the video also changes, making it necessary to re-estimate the lane area.
- the processing device 10 of this embodiment detects a change in the area captured in the video generated by the fixed camera and re-estimates the lane area in response to the detection. This is described in detail below.
- FIG. 25 shows an example of a functional block diagram of the processing device 10.
- the processing device 10 has an acquisition unit 11, a first estimation unit 12, a second estimation unit 13, an output unit 14, and a change detection unit 16.
- the change detection unit 16 detects changes in the area captured in the video images generated by the fixed camera.
- the change detection unit 16 can analyze video images generated by a fixed camera and detect changes in the area captured in the video images generated by the fixed camera. Detecting changes in the area captured in video images through image analysis can be achieved using any technology. For example, deep learning technology that determines the identity of two images, template matching, ORB (Oriented Fast and Rotated BRIEF) feature matching, etc. can be used. An example is described below, but the invention is not limited to this.
- the change detection unit 16 may analyze the images and detect an object that is detected in the same position across multiple frame images as an object that continues to exist in that area. Then, when the change detection unit 16 detects that the position of the detected object within the frame image has changed, or that the detected object is no longer detected in the frame image, it may determine that the area captured in the video generated by the fixed camera has changed.
- the change detection unit 16 may detect a change in the area captured in the video generated by the fixed camera based on additional information transmitted from the fixed camera.
- the fixed camera when the fixed camera changes at least one of the orientation, position, and shooting conditions (zoom, etc.) automatically under its own control or in response to the operation of the worker, it can send information indicating this to the processing device 10. Then, when the change detection unit 16 receives this information from the fixed camera, it can determine that the area captured in the video generated by the fixed camera has changed.
- the fixed camera can detect changes in response to the operation of the worker based on change instructions input by the worker and sensing data from various sensors (attitude sensors) equipped on the fixed camera.
- the processing device 10 redoes the multiple steps shown in Figures 4, 21, and 23.
- the processing device 10 does not use the video before the change, but instead uses the video after the change to perform various processes.
- the first estimation unit 12 estimates the lane area using the first method based on the video after the change.
- the second estimation unit 13 estimates the lane area using the second method based on the video after the change. Note that the second estimation unit 13 does not use the video before the change.
- the output unit 14 outputs information indicating the lane area estimated using the first method based on the video after the change. Then, the output unit 14 outputs information indicating the lane area estimated using the second method based on the video after the change.
- the other configurations of the processing device 10 of this embodiment are the same as those of the processing device 10 of the first to fourth embodiments.
- the processing device 10 of this embodiment achieves the same effects as the processing device 10 of the first to fourth embodiments.
- the processing device 10 of this embodiment can automatically detect changes in the area captured in the video images generated by the fixed camera, and redo the estimation of lane areas in response to this detection. According to the processing device 10 of this embodiment, it is possible to automate or semi-automate the redo of lane areas in response to changes in the orientation, position, shooting conditions (zoom, etc.) of the fixed camera, which is preferable.
- the processing device 10 can output multiple types of estimation results (at least two of the primary to tertiary lane areas).
- the processing device 10 of this embodiment sets which of the multiple types of estimation results to output based on user input. Then, the processing device 10 outputs the estimation result that has been set to be output. This will be described in detail below.
- FIG. 26 shows an example of a functional block diagram of the processing device 10.
- the processing device 10 has an acquisition unit 11, a first estimation unit 12, a second estimation unit 13, an output unit 14, and a setting unit 15.
- the processing device 10 may further have a change detection unit 16.
- the setting unit 15 sets which of the multiple types of lane areas estimated by the first method and the second method to output based on user input.
- the "multiple types of lane areas" that can be set to be output or not are primary to tertiary lane areas.
- the "multiple types of lane areas" that can be set to be output or not are primary and tertiary lane areas.
- the "multiple types of lane areas" that can be set to be output or not are secondary and tertiary lane areas.
- the output unit 14 outputs information indicating lane areas of a type that is set to be output.
- the output unit 14 does not output information indicating lane areas of a type that is set not to be output.
- the other configurations of the processing device 10 of this embodiment are the same as those of the processing device 10 of the first to fifth embodiments.
- the processing device 10 of this embodiment achieves the same effects as the processing devices 10 of the first to fifth embodiments.
- the processing device 10 of this embodiment sets which of multiple types of estimation results to output based on user input, and outputs the estimation result that has been set to be output.
- This type of processing device 10 is preferable because it allows the user to customize the type of estimation result to be output.
- the processing device 10 of this embodiment differs from the processing device 10 of the second embodiment in the vehicle detection process (FIGS. 4, 21, and 23) and the second lane estimation process (FIGS. 4, 21, and 23).
- the second embodiment the process of estimating a lane area based on a vehicle movement trajectory was described.
- the process of estimating a lane area based on a vehicle position will be described.
- the processing device 10 estimates lane areas based on the vehicle positions that tend to be scattered along the lanes. This is explained in detail below.
- the second estimation unit 13 executes a vehicle detection process.
- the second estimation unit 13 detects a vehicle from a moving image (frame image).
- the second estimation unit 13 then generates position data indicating the position of the detected vehicle.
- the second estimation unit 13 can output the generated position data.
- the position data output in the vehicle detection process is used in other processes shown in FIGS. 4, 21, and 23.
- Position data indicates the position of the vehicle within the range of the fixed camera. More specifically, the position data indicates the position of the vehicle's reference point.
- the reference point of the vehicle is the point on the ground at the approximate center of the left-right direction of the vehicle's direction of travel.
- the reference point of the vehicle may simply be the center of the base of a rectangular area in which the vehicle detected in the video is captured.
- other points on the vehicle may also be used as the reference point.
- Position data is data that indicates the vehicle's position using coordinates in a two-dimensional coordinate system set in moving images (frame images) generated by, for example, a fixed camera. Note that there is no need to link the position data of the same vehicle that exists across multiple frame images; it is sufficient to simply detect the position of the vehicle's reference point for each frame image and store the results as position data.
- the second estimation unit 13 executes a second lane estimation step, in which the second estimation unit 13 estimates a lane area based on the position data generated in the vehicle detection step (FIGS. 4, 21 and 23).
- the second estimation unit 13 can execute the processes of S1, S4, and S5 in Figure 27 as the second lane estimation process ( Figures 4, 21, and 23). An overview of each process is as follows:
- Lane area estimation process S4 The second estimation unit 13 estimates the lane area based on the position data acquired in S1 up to that point.
- Lane area determination process S5 The second estimation unit 13 determines whether the lane area is determined by the estimation result of S4. If not, the process returns to S1 and repeats the same process. By performing the process of S5, the estimation result of S4 is not simply determined as the lane area, but the estimation result can be determined as the lane area once a reliable estimation result is obtained in S4. As a result, it becomes possible to output a highly reliable result.
- Data acquisition process S1 (FIG. 27)
- the second estimation unit 13 acquires the position data generated in the vehicle detection process (FIGS. 4, 21 and 23).
- the second estimation unit 13 estimates lane areas based on vehicle position data.
- the second estimation unit 13 differs from the second embodiment in the way it generates probability density functions for multiple y coordinates ( y0 , y1 , y2 , ...) at predetermined intervals.
- the processing after generating the probability density functions is the same as in the second embodiment. The way the probability density functions of this embodiment are generated will be described below.
- the second estimation unit 13 calculates a three-dimensional probability density function based on the vehicle position data, as shown in FIG. 28(A). For example, the second estimation unit 13 can calculate a three-dimensional probability density function such as that shown in FIG. 28(A) by kernel density estimation.
- This three-dimensional probability density function indicates the probability that vehicle position data occurs at each position (x coordinate) in the width direction of the lane for each of a plurality of y coordinates ( y0 , y1 , y2 , ...) at a predetermined interval.
- the second estimation unit 13 calculates the peak positions and the number of peaks of such a three-dimensional probability density function for each of a plurality of y coordinates ( y0 , y1 , y2 , ...) at a predetermined interval ( Figure 28(B)).
- the other configurations of the processing device 10 of this embodiment are the same as those of the processing device 10 of the first to sixth embodiments.
- the processing device 10 of this embodiment achieves the same effects as the processing devices 10 of the first to sixth embodiments.
- the processing device 10 of this embodiment can estimate lane areas using vehicle position data, rather than vehicle trajectory data. In this way, the processing device 10 of this embodiment can estimate lane areas based on video images generated by a fixed camera using a new method that is partially different from the second embodiment.
- the second estimation unit 13 may calculate the "lane reference line" using a method different from the methods of the first to seventh embodiments (methods that use a probability density function for multiple y coordinates ( y0 , y1 , y2 , ...) at predetermined intervals). For example, the second estimation unit 13 may calculate the lane reference line as a line indicated by data obtained by averaging trajectory data. If it is expected that the trajectory data to be processed will include trajectory data for multiple lanes, the second estimation unit 13 may group the trajectory data based on positions (x coordinate positions) that are close to each other and calculate the lane reference line by averaging the data for each group. The grouping is achieved using clustering technology or the like.
- the second estimation unit 13 may identify the traveling direction of the vehicle for each estimated lane area. For example, the second estimation unit 13 identifies the direction in which the vehicle detected in each estimated lane area moves over time based on video images generated by a fixed camera. Then, the second estimation unit 13 determines the identified direction as the traveling direction of the vehicle in each lane area.
- the processing device 10 may perform a process of removing motorcycle data (trajectory data/position data) from the acquired vehicle data (trajectory data/position data). The processing device 10 may then estimate the lane area based on the vehicle data (trajectory data/position data) from which the motorcycle data (trajectory data/position data) has been removed.
- the motorcycle may be a motorbike, an electric kick scooter, a bicycle, or the like.
- the processing device 10 estimates the lane area based on the vehicle's driving trajectory and position while driving.
- the driving trajectory and position while driving of a motorcycle tend to differ from the driving trajectory and position while driving of a four-wheeled vehicle or large vehicle.
- four-wheeled vehicles and large vehicles which are wider than two-wheeled vehicles, tend to drive approximately in the center of the lane, but because two-wheeled vehicles have a wider range of driving positions, they tend to vary, sometimes driving on the edge of the lane and sometimes driving approximately in the center of the lane.
- Removing such motorcycle trajectory data and position data improves the accuracy of lane area estimation.
- Whether the acquired vehicle data (trajectory data/position data) is motorcycle data can be identified by analyzing images generated by a fixed camera. This identification process may be performed by the processing device 10 or another device.
- the processing device 10 may extract data (trajectory data/position data) of a predetermined vehicle from the acquired vehicle data (trajectory data/position data). The processing device 10 may then estimate a lane area based on the extracted vehicle data (trajectory data/position data).
- the specified vehicle may be a vehicle for which a dedicated lane or priority lane exists.
- the specified vehicle may be a bus, large vehicle, taxi, bicycle, etc.
- Data (trajectory data/position data) of such a specified vehicle is suitable for estimating the dedicated lane or priority lane for each vehicle.
- the dedicated lane or priority lane for each vehicle can be estimated with high accuracy.
- Whether the acquired vehicle data (trajectory data/position data) is that of a specific vehicle can be determined by analyzing images generated by a fixed camera. This determination process may be performed by the processing device 10 or another device.
- the processing device 10 may output only one of the lane areas estimated by the first method and the lane areas estimated by the second method.
- the processing device 10 may select whether to output the lane area estimated using the first method or the lane area estimated using the second method.
- the request may further indicate the desired content for the estimation result.
- the desired content may be "priority on speed” or “priority on accuracy,” etc.
- the processing device 10 may present a plurality of selectable request contents to the user and accept input to select from among them. For example, if the desired content is "priority on speed,” the processing device 10 may select to output the lane area estimated using the first method. If the desired content is "priority on accuracy,” the processing device 10 may select to output the lane area estimated using the second method.
- the request may further indicate a desired time until an estimation result is obtained. If the desired time is less than a threshold, the processing device 10 may choose to output the lane area estimated using the first method. If the desired time is equal to or greater than the threshold, the processing device 10 may choose to output the lane area estimated using the second method.
- the threshold here is set to an estimate of the time required for the tertiary lane area to be output in the second lane estimation process.
- the processing device 10 can notify a vehicle of the lane area estimation results.
- the processing device 10 can notify a vehicle traveling on the road of the lane area estimation results via any communication means, such as road-to-vehicle communication.
- the vehicle can use the lane area estimation results received from the processing device 10 to control autonomous driving.
- the processing device 10 can estimate each parking space (lane area) based on vehicle trajectory data or position data generated from images captured by a fixed camera installed in the parking lot. The processing device 10 can then notify vehicles located in the parking lot of the estimated results for each parking space (lane area) via any communication means, such as road-to-vehicle communication. The vehicles can use the estimated results for each parking space (lane area) received from the processing device 10 to control automatic parking. Alternatively, the vehicle may notify the driver of the estimated results for each parking space (lane area) via an output device such as a display. In parking lots, the white lines separating parking spaces may fade and become difficult to see due to aging, etc. Use of the processing device 10 in this embodiment can alleviate the inconvenience in such cases.
- the processing device 10 can notify a predetermined notification destination, including information about the lane in which the accident occurred.
- the processing device 10 can detect vehicles driving in the wrong direction and lanes where there is a risk of such a situation, and notify the detected vehicles and their location information.
- a processing device having: 2.
- the first estimation means estimates a lane area based on one frame image in the moving image, 2.
- the processing device wherein the second estimation means estimates a lane area based on a plurality of frame images in the video image. 3.
- the first estimation means Detecting white lines from the moving image and estimating lane areas based on the detected white lines;
- the second estimation means 3.
- the processing device according to claim 1, wherein a vehicle movement trajectory or a vehicle position is detected based on the moving image, and a lane area is estimated based on the detected vehicle movement trajectory or vehicle position. 4.
- the second estimation means Continue detecting the vehicle's movement trajectory or vehicle position; repeatedly estimating lane areas based on the accumulated vehicle movement trajectories or vehicle positions; If the difference between the lane area estimated in the (n-1)th processing and the lane area estimated in the nth processing is equal to or less than a reference value, the lane area estimated in the (n-1)th processing and the lane area estimated in the nth processing are determined to be the same; If the lane areas are determined to be the same a predetermined number of times or more in succession, the lane areas estimated during that time are determined as the estimation result.
- a processing device which outputs information indicating the lane area estimated by the first method, and then, when the estimation result is confirmed, outputs information indicating the lane area indicated by the confirmed estimation result. 5.
- the output means 5.
- a processing device which outputs information indicating a lane area estimated using the first method, then outputs information indicating a lane area indicated by the estimation result before it is confirmed, and then outputs information indicating a lane area indicated by the confirmed estimation result. 6.
- the second estimation means detecting a vehicle movement trajectory or a vehicle position based on the moving image, and repeatedly executing a process of estimating a lane area based on the detected vehicle movement trajectory or vehicle position; If the difference between the lane area estimated in the (n-1)th processing and the lane area estimated in the nth processing is equal to or less than a reference value, the lane area estimated in the (n-1)th processing and the lane area estimated in the nth processing are determined to be the same; If the lane areas are determined to be the same a predetermined number of times or more in succession, the lane areas estimated during that time are determined as the estimation result, and the lane area indicated by the determined estimation result is set as the lane area estimated by the second method; 6.
- a processing device according to any one of 1 to 5, wherein the first estimation means regards the lane area indicated by the estimation result before it is confirmed as the lane area estimated by the first method.
- the apparatus further comprises a change detection means for detecting a change in the area captured in the moving image generated by the fixed camera, the first estimation means estimates a lane area using the first method based on the moving image after the change each time the change is detected; when the change is detected, the second estimation means estimates a lane area by the second method based on the moving image after the change;
- the device further comprises a setting means for setting, based on a user input, which of the plurality of types of lane areas estimated by the first method and the second method is to be output;
- the output means 8 A processing device according to any one of 1 to 7, which outputs information indicating a lane area of a type that is set to be output. 9.
- One or more computers Capture video images generated by a fixed camera, estimating a lane area based on the moving image using a first method; estimating a lane area by a second method different from the first method based on the video image further accumulated after the lane area is estimated by the first method; A processing method that outputs information indicating a lane area estimated by the first technique, and then outputs information indicating a lane area estimated by the second technique. 10.
- an acquisition means for acquiring a moving image generated by a fixed camera; a first estimation means for estimating a lane area based on the moving image using a first method; a second estimation means for estimating a lane area by a second method different from the first method based on the video image further accumulated after the lane area has been estimated by the first method; an output means for outputting information indicating the lane area estimated by the first method, and then outputting information indicating the lane area estimated by the second method;
- a program that functions as a
- Supplements 2 to 8 which are dependent on the processing device of Supplement 1 described above, may also be dependent on the processing method of Supplement 9 and the program of Supplement 10 in the same dependent relationship as Supplement 1 and Supplements 2 to 8. Furthermore, within the scope of each of the above-described embodiments, some or all of the configurations described as supplements may be realized in various hardware, software, various recording means for recording software, or systems.
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
- Traffic Control Systems (AREA)
Abstract
本開示の処理装置は、取得部と、第1の推定部と、第2の推定部と、出力部とを有する。取得部は、定点カメラで生成された動画像を取得する。第1の推定部は、動画像に基づき第1の手法で車線領域を推定する。第2の推定部は、第1の手法で車線領域が推定された後にさらに蓄積された動画像に基づき、第1の手法と異なる第2の手法で車線領域を推定する。出力部は、第1の手法で推定された車線領域を示す情報を出力し、その後、第2の手法で推定された車線領域を示す情報を出力する。
Description
本開示は、処理装置、処理方法、プログラム及び記録媒体に関する。
本開示に関連する技術が特許文献1に開示されている。特許文献1に開示の技術は、画像解析で路上の白線を検出し、白線の検出結果に基づき車両が走行する車線を特定する。
出願人らは、定点カメラで生成された画像に基づき車線領域を推定し、推定結果に基づき各種処理を実行する技術を検討した結果、次のような課題を新たに見出した。
まず、要求に合った所定の推定結果(例えば、精度の高い推定結果)を得るためには十分な量の画像が必要になる場合がある。このような場合、十分な量の画像が溜まるまでの時間等に起因して、所定の推定結果が得られるまでにある程度の時間がかかってしまう。そして、所定の推定結果が得られるまでの間、推定結果に基づく各種処理を実行できないという課題が発生し得る。特許文献1は、当該課題及びその解決手段を開示していない。
本開示の目的の一例は、所定の推定結果が得られるまでの間、推定結果に基づく各種処理を実行できないという課題を解決する技術を提供することにある。
本開示によれば、
定点カメラで生成された動画像を取得する取得手段と、
前記動画像に基づき第1の手法で車線領域を推定する第1の推定手段と、
前記第1の手法で車線領域が推定された後にさらに蓄積された前記動画像に基づき、前記第1の手法と異なる第2の手法で車線領域を推定する第2の推定手段と、
前記第1の手法で推定された車線領域を示す情報を出力し、その後、前記第2の手法で推定された車線領域を示す情報を出力する出力手段と、
を有する処理装置が提供される。
定点カメラで生成された動画像を取得する取得手段と、
前記動画像に基づき第1の手法で車線領域を推定する第1の推定手段と、
前記第1の手法で車線領域が推定された後にさらに蓄積された前記動画像に基づき、前記第1の手法と異なる第2の手法で車線領域を推定する第2の推定手段と、
前記第1の手法で推定された車線領域を示す情報を出力し、その後、前記第2の手法で推定された車線領域を示す情報を出力する出力手段と、
を有する処理装置が提供される。
また、本開示によれば、
1つ以上のコンピュータが、
定点カメラで生成された動画像を取得し、
前記動画像に基づき第1の手法で車線領域を推定し、
前記第1の手法で車線領域が推定された後にさらに蓄積された前記動画像に基づき、前記第1の手法と異なる第2の手法で車線領域を推定し、
前記第1の手法で推定された車線領域を示す情報を出力し、その後、前記第2の手法で推定された車線領域を示す情報を出力する処理方法が提供される。
1つ以上のコンピュータが、
定点カメラで生成された動画像を取得し、
前記動画像に基づき第1の手法で車線領域を推定し、
前記第1の手法で車線領域が推定された後にさらに蓄積された前記動画像に基づき、前記第1の手法と異なる第2の手法で車線領域を推定し、
前記第1の手法で推定された車線領域を示す情報を出力し、その後、前記第2の手法で推定された車線領域を示す情報を出力する処理方法が提供される。
また、本開示によれば、
コンピュータを、
定点カメラで生成された動画像を取得する取得手段、
前記動画像に基づき第1の手法で車線領域を推定する第1の推定手段、
前記第1の手法で車線領域が推定された後にさらに蓄積された前記動画像に基づき、前記第1の手法と異なる第2の手法で車線領域を推定する第2の推定手段、
前記第1の手法で推定された車線領域を示す情報を出力し、その後、前記第2の手法で推定された車線領域を示す情報を出力する出力手段、
として機能させるプログラムが提供される。
コンピュータを、
定点カメラで生成された動画像を取得する取得手段、
前記動画像に基づき第1の手法で車線領域を推定する第1の推定手段、
前記第1の手法で車線領域が推定された後にさらに蓄積された前記動画像に基づき、前記第1の手法と異なる第2の手法で車線領域を推定する第2の推定手段、
前記第1の手法で推定された車線領域を示す情報を出力し、その後、前記第2の手法で推定された車線領域を示す情報を出力する出力手段、
として機能させるプログラムが提供される。
本開示の一態様によれば、所定の推定結果が得られるまでの間、推定結果に基づく各種処理を実行できないという課題を解決する技術が実現される。
以下、本開示の実施形態について、図面を用いて説明する。本開示において図面は、1以上の実施形態に関連付けられる。また、全ての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
<<第1の実施形態>>
図1は、処理装置10の概要を示す機能ブロック図である。図2は、処理装置10が実行する処理の流れの一例を示すフローチャートである。
図1は、処理装置10の概要を示す機能ブロック図である。図2は、処理装置10が実行する処理の流れの一例を示すフローチャートである。
図1に示すように、処理装置10は、取得部11と、第1の推定部12と、第2の推定部13と、出力部14とを有する。これらの機能部により、図2のフローチャートの処理が実行される。
S10では、取得部11が、定点カメラで生成された動画像を取得する。
S11では、第1の推定部12が、動画像に基づき第1の手法で車線領域を推定する。
S12では、出力部14が、第1の手法で推定された車線領域を示す情報を出力する。
S13では、第2の推定部13が、第1の手法で車線領域が推定された後にさらに取得し、蓄積された動画像に基づき、第1の手法と異なる第2の手法で車線領域を推定する。
S14では、出力部14は、第2の手法で推定された車線領域を示す情報を出力する。すなわち、出力部14は、第1の手法で推定された車線領域を示す情報を出力し(S12)、その後、第2の手法で推定された車線領域を示す情報を出力する(S14)。
S11では、第1の推定部12が、動画像に基づき第1の手法で車線領域を推定する。
S12では、出力部14が、第1の手法で推定された車線領域を示す情報を出力する。
S13では、第2の推定部13が、第1の手法で車線領域が推定された後にさらに取得し、蓄積された動画像に基づき、第1の手法と異なる第2の手法で車線領域を推定する。
S14では、出力部14は、第2の手法で推定された車線領域を示す情報を出力する。すなわち、出力部14は、第1の手法で推定された車線領域を示す情報を出力し(S12)、その後、第2の手法で推定された車線領域を示す情報を出力する(S14)。
このように、処理装置10は、まず、第1の手法で車線領域を推定し、その推定結果を迅速に出力することができる。そして、その後、処理装置10は、第1の手法で車線領域が推定された後にさらに取得し、蓄積された動画像に基づき、第2の手法で精度の高い推定を行い、その推定結果を出力することができる。
このような処理装置10によれば、所定の推定結果(第2の手法による精度の高い推定結果)が得られるまでの間、第1の手法による推定結果に基づき各種処理を行うことが可能となる。結果、所定の推定結果(第2の手法による精度の高い推定結果)が得られるまでの間、推定結果に基づく各種処理を実行できないという課題が解決される。
<<第2の実施形態>>
<概要>
第2の実施形態の処理装置10は、第1の実施形態の処理装置10の構成を具体化したものである。以下、詳細に説明する。
<概要>
第2の実施形態の処理装置10は、第1の実施形態の処理装置10の構成を具体化したものである。以下、詳細に説明する。
<ハードウエア構成>
まず、処理装置10のハードウエア構成の一例を説明する。処理装置10の各機能部は、ハードウエアとソフトウエアの任意の組合せによって実現される。その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。ソフトウエアは、予め装置を出荷する段階から格納されているプログラムや、CD(Compact Disc)等の記録媒体やインターネット上のサーバ等からダウンロードされたプログラム等を含む。
まず、処理装置10のハードウエア構成の一例を説明する。処理装置10の各機能部は、ハードウエアとソフトウエアの任意の組合せによって実現される。その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。ソフトウエアは、予め装置を出荷する段階から格納されているプログラムや、CD(Compact Disc)等の記録媒体やインターネット上のサーバ等からダウンロードされたプログラム等を含む。
図3は、処理装置10のハードウエア構成を例示するブロック図である。図3に示すように、処理装置10は、プロセッサ1A、メモリ2A、入出力インターフェース3A、周辺回路4A、バス5Aを有する。周辺回路4Aには、様々なモジュールが含まれる。処理装置10は周辺回路4Aを有さなくてもよい。なお、処理装置10は物理的及び/又は論理的に分かれた複数の装置で構成されてもよい。この場合、複数の装置各々が上記ハードウエア構成を備えることができる。
バス5Aは、プロセッサ1A、メモリ2A、周辺回路4A及び入出力インターフェース3Aが相互にデータを送受信するためのデータ伝送路である。プロセッサ1Aは、例えばCPU(Central Processing Unit)、GPU(Graphics Processing Unit)等の演算処理装置である。メモリ2Aは、例えばRAM(Random Access Memory)やROM(Read Only Memory)等のメモリである。入出力インターフェース3Aは、入力装置、外部装置、外部サーバ、外部センサ、カメラ等から情報を取得するためのインターフェースや、出力装置、外部装置、外部サーバ等に情報を出力するためのインターフェース等を含む。また、入出力インターフェース3Aはインターネット等の通信ネットワークに接続するためのインターフェースを含む。入力装置は、例えばキーボード、マウス、マイク、物理ボタン、タッチパネル等である。出力装置は、例えばディスプレイ、投影装置、スピーカ、プリンタ、メーラ等である。プロセッサ1Aは、各モジュールに指令を出し、それらの演算結果をもとに演算を行うことができる。
<機能構成>
次に、処理装置10の機能構成を詳細に説明する。図1に、処理装置10の機能ブロック図の一例を示す。図示するように、処理装置10は、取得部11と、第1の推定部12と、第2の推定部13と、出力部14とを有する。これらの機能部により図4に示す各種工程が実行される。
次に、処理装置10の機能構成を詳細に説明する。図1に、処理装置10の機能ブロック図の一例を示す。図示するように、処理装置10は、取得部11と、第1の推定部12と、第2の推定部13と、出力部14とを有する。これらの機能部により図4に示す各種工程が実行される。
図4に示すように、処理装置10は、外部補助情報収集工程と、映像取得工程と、対象外領域除外工程と、第1の車線推定工程と、車両検知工程と、第2の車線推定工程と、外部出力工程とを実行することができる。
なお、処理装置10は、外部補助情報収集工程及び対象外領域除外工程の一方又は両方を実行しなくてもよい。本実施形態では、映像取得工程、第1の車線工程、車両検知工程、第2の車線推定工程及び外部出力工程は必須の工程であるが、外部補助情報収集工程及び対象外領域除外工程は適宜なくすことができる。
また、図4に示す工程の処理順はあくまで一例であり、図示する例に限定されない。図4に示す処理順は最も効率的に動作できる順番であるが、処理順を変更しても同様の出力を得ることができる。例えば、以下のルールに従って処理順を変更することができる。
・外部補助情報収集工程の実行タイミングは自由だが、収集した情報を利用する工程より前に実行される必要がある。
・外部補助情報収集工程は、複数種類の情報を取得することができるが、それらをまとめて同じタイミングで取得してもよいし、互いに異なるタイミングで取得してもよい。
・外部補助情報収集工程を除き、処理開始後に動作する初めの工程は映像取得工程である。
・映像取得工程を実行後は、対象外領域除外工程、第1の車線推定工程、車両検知工程、第2の車線推定工程が動作する。これらは基本的に順不同であるが一部例外が存在する。
・第2の車線推定工程は、車両検知工程より後に動作する必要がある。なお、連続して動作する必要はない。すなわち、車両検知工程と第2の車線推定工程の間に他の工程を挟んでもよい。
・外部出力工程は、第1の車線推定工程と第2の車線推定工程の処理結果に応じて実行される。
・外部補助情報収集工程、映像取得工程、対象外領域除外工程、第1の車線推定工程、車両検知工程、及び第2の車線推定工程を、適宜繰り返すことができる。
・外部補助情報収集工程は、複数種類の情報を取得することができるが、それらをまとめて同じタイミングで取得してもよいし、互いに異なるタイミングで取得してもよい。
・外部補助情報収集工程を除き、処理開始後に動作する初めの工程は映像取得工程である。
・映像取得工程を実行後は、対象外領域除外工程、第1の車線推定工程、車両検知工程、第2の車線推定工程が動作する。これらは基本的に順不同であるが一部例外が存在する。
・第2の車線推定工程は、車両検知工程より後に動作する必要がある。なお、連続して動作する必要はない。すなわち、車両検知工程と第2の車線推定工程の間に他の工程を挟んでもよい。
・外部出力工程は、第1の車線推定工程と第2の車線推定工程の処理結果に応じて実行される。
・外部補助情報収集工程、映像取得工程、対象外領域除外工程、第1の車線推定工程、車両検知工程、及び第2の車線推定工程を、適宜繰り返すことができる。
以下、各工程を詳細に説明する。
「外部補助情報収集工程(図4)」
取得部11が、外部補助情報収集工程を実行する。外部補助情報収集工程において、取得部11は、処理装置10と異なる外部装置からの取得、及びユーザ入力の少なくとも一方の手段で各種情報を取得する。例えば、取得部11は、ウェブサーバからウェブ上で公開されている情報を取得してもよい。その他、取得部11は、処理装置10と通信可能に接続された外部装置から、外部装置に記憶されている情報や外部装置にユーザが入力した情報を取得してもよい。その他、取得部11は、処理装置10が備える入力装置を介してユーザが入力した情報を取得してもよい。
取得部11が、外部補助情報収集工程を実行する。外部補助情報収集工程において、取得部11は、処理装置10と異なる外部装置からの取得、及びユーザ入力の少なくとも一方の手段で各種情報を取得する。例えば、取得部11は、ウェブサーバからウェブ上で公開されている情報を取得してもよい。その他、取得部11は、処理装置10と通信可能に接続された外部装置から、外部装置に記憶されている情報や外部装置にユーザが入力した情報を取得してもよい。その他、取得部11は、処理装置10が備える入力装置を介してユーザが入力した情報を取得してもよい。
取得部11は、取得した情報をそのまま、又は所定の加工を施した後に出力することができる。外部補助情報収集工程で出力された情報は、図4に示す他の工程で利用される。
外部補助情報収集工程で取得部11が取得する情報は様々である。例えば、取得部11は、時刻情報や、カレンダー情報や、定点カメラが設置された地点の天候情報(天気、気温、湿度等)等を取得してもよい。
その他、取得部11は、表示装置を介してGUI(Graphical User Interface)を表示し、GUIを介してユーザから各種情報の入力を受付けてもよい。GUIは、処理装置10が備える表示装置(ディスプレイ又は投影装置)、又は処理装置10と通信可能に接続された外部装置が備える表示装置を介して表示される。
例えば、取得部11は、図4に示す他の工程で利用される各種情報の入力を受付けてもよい。ユーザから入力を受付けることができる各種情報の例は、図4に示す他の工程の説明において説明する。
その他、取得部11、図4の外部出力工程で出力される車線領域を示す情報(図4の第1次乃至第3次車線領域のいずれか)に基づき、推定された車線領域を示す画像をGUIに表示してもよい。そして、取得部11は、そのGUI上で推定結果を修正するユーザ入力を受付けてもよい。
「映像取得工程(図4)」
取得部11が、映像取得工程を実行する。映像取得工程では、取得部11は、定点カメラで生成された動画像を取得する。なお、映像取得工程では、取得部11は、カメラのデータ転送方式等のその他の情報を取得してもよい。そして、取得部11は、取得した動画像を出力する。映像取得工程で出力された動画像は、図4に示す他の工程で利用される。
取得部11が、映像取得工程を実行する。映像取得工程では、取得部11は、定点カメラで生成された動画像を取得する。なお、映像取得工程では、取得部11は、カメラのデータ転送方式等のその他の情報を取得してもよい。そして、取得部11は、取得した動画像を出力する。映像取得工程で出力された動画像は、図4に示す他の工程で利用される。
取得部11は、定点カメラで生成された動画像をリアルタイム処理で取得してもよいし、バッチ処理で取得してもよい。例えば、処理装置10と定点カメラは通信可能に接続されていてもよい。そして、定点カメラは生成した動画像を処理装置10に送信してもよい。その他、定点カメラで生成された動画像が任意の記憶装置に蓄積されてもよい。当該記憶装置は、定点カメラが備えてもよいし、外部装置が備えてもよい。そして、当該記憶装置に蓄積された動画像が、任意の手段かつ任意のタイミングで、処理装置10に入力されてもよい。その他、定点カメラで生成された動画像がウェブサーバ上で公開されていてもよい。そして、取得部11は、ウェブサーバ上で公開されている動画像を取得してもよい。
定点カメラは、ある位置に一定時間以上滞在し、車両が走行する路上を撮影する。定点カメラは可視光を検知して画像化してもよいし、赤外線、紫外線、X線等のその他の光を検知して画像化してもよい。
例えば、定点カメラは、路上を撮影可能な位置に設置され、その位置に居続けるカメラであってもよい。この例の場合、定点カメラは、その位置に比較的長い期間(例えば数年単位)設置され、長期的にその路上を撮影してもよい。その他、定点カメラは、その位置に比較的短い期間(例えば数日から数か月)設置され、短期的にその路上を撮影してもよい。
このような定点カメラは、自動的に又は作業員の操作に応じて、向き、位置及び撮影条件(ズーム等)の少なくとも1つを変更できてもよい。このような機能があれば、1つの定点カメラで撮影できる範囲が広がり好ましい。
その他、定点カメラは、移動体に設置されたカメラであってもよい。この場合、移動体が移動を停止した状態で、移動体に設置されたカメラは路上を撮影する。移動体が移動を停止した状態の場合、移動体に設置されたカメラの位置も変更しない。このため、移動体に設置されたカメラは定点カメラとして機能する。移動体は、ドローンのような空中を移動する飛行体であってもよいし、二輪車や自動車のような陸上を移動する移動体であってもよい。また、移動体は、移動手段を備えたロボットであってもよい。移動手段は、陸上を移動する機構であってもよいし、空中を移動する機構であってもよい。いずれの場合であっても、ロボットは、広く知られたあらゆる移動機構を採用することができる。例えば、移動手段は、2足歩行する機構であってもよいし、3足以上の足で歩行する機構であってもよい。また、移動手段は車輪やクローラを備えた機構であってもよいし、その他の特殊機構であってもよい。また、ロボットは、ドローンのような空中を移動する飛行体であってもよい。
「対象外領域除外工程(図4)」
第1の推定部12が、対象外領域除外工程を実行する。対象外領域除外工程では、第1の推定部12は、車線領域を推定する処理の対象としない動画像内(フレーム画像内)の領域(対象外領域)を特定し、対象外領域を示す情報を生成する。対象外領域を示す情報は、フレーム画像内の一部領域を示す情報である。そして、第1の推定部12は、生成した情報を出力することができる。対象外領域除外工程で出力された情報は、図4に示す他の工程で利用される。
第1の推定部12が、対象外領域除外工程を実行する。対象外領域除外工程では、第1の推定部12は、車線領域を推定する処理の対象としない動画像内(フレーム画像内)の領域(対象外領域)を特定し、対象外領域を示す情報を生成する。対象外領域を示す情報は、フレーム画像内の一部領域を示す情報である。そして、第1の推定部12は、生成した情報を出力することができる。対象外領域除外工程で出力された情報は、図4に示す他の工程で利用される。
対象外領域は、例えば道路以外の物(例:建物等)が写っている領域である。また、対象外領域は、動画像に写っている複数の道路の中の一部が写っている領域であってもよい。道路は、高速道路、一般道路、国道、私道など複数の種類があり、そのうちの一部(1つ又は複数)のみを監視したいという需要が存在する。このような場合、監視したい道路と異なる道路が写る領域を対象外領域とすることができる。
一例では、高速道路を管理する団体が高速道路上にカメラを設置し、高速道路の様子を監視する場合が考えられる。高速道路上に設置したカメラで生成した動画像内には、高速道路のみならず、その背景に一般道路が写り込む場合が多々存在する。このような場合に、一般道路を対象外領域とすることで、監視対象でない道路の車線領域を推定する不都合を回避できる。このようにフレーム画像内の一部領域を対象外領域とすることで、処理装置10の処理負担を軽減できるほか、誤検知や誤動作の発生確率の低下も期待できる。
第1の推定部12は、動画像を解析して対象外領域を特定してもよい。例えば、第1の推定部12は、深度推定やセグメンテーション等のDeep Learningの技術等を利用して動画像内(フレーム画像内)の道路が写っている領域を特定してもよい。そして、第1の推定部12は、動画像内(フレーム画像内)の道路が写っている領域以外の領域を、対象外領域として特定してもよい。
その他、第1の推定部12は、ユーザ入力に基づき対象外領域を特定してもよい。この例の場合、上述した外部補助情報収集工程において、取得部11は、動画像内(フレーム画像内)の対象外領域を指定するユーザ入力を受付ける。そして、第1の推定部12は、当該ユーザ入力に基づき対象外領域を特定する。
その他、第1の推定部12は、動画像を解析して対象外領域を特定する処理と、ユーザ入力に基づき対象外領域を特定する処理の両方を実行できてもよい。この場合、第1の推定部12は、ユーザ入力に基づき対象外領域を特定する処理を優先することができる。すなわち、上述した外部補助情報収集工程において、取得部11が、動画像内(フレーム画像内)の対象外領域を指定するユーザ入力を受付けている場合、第1の推定部12は、そのユーザ入力に基づき対象外領域を特定する。この場合、第1の推定部12は、動画像を解析して対象外領域を特定する処理を実行しなくてもよい。そして、上述した外部補助情報収集工程において、取得部11が、動画像内(フレーム画像内)の対象外領域を指定するユーザ入力を受付けていない場合、第1の推定部12は、動画像を解析して対象外領域を特定する。
また、動画像に写っている複数の道路の中の一部が写っている領域を対象外領域とする場合、複数の道路を互いに識別する必要がある。第1の推定部12は、ユーザ入力に基づき複数の道路を互いに識別してもよい。
その他、第1の推定部12は、複数の道路の存在する位置の高さの違いに基づき、複数の道路を互いに識別してもよい。例えば、高速道路と一般道路が異なる高さに位置し、それらが同時に動画像に写っている場合がある(例えば、高速道路が高架上にある場合)。このような場合に当該手法は有効である。存在する位置の高さの違いは、例えばLIDARや超音波センサ、Deep Learning(AI)技術を代表とした深度推定技術による奥行き方向の距離の測定結果により識別することができる。
その他、上述のように複数の道路の存在する位置の高さが互いに異なる場合、動画像において、各道路を走行する車両の大きさが互いに異なる。そこで、第1の推定部12は、道路を走行する車両の大きさの違いに基づき、複数の道路を互いに識別してもよい。
その他、道路の種類に応じて、道路における設置物の種類が異なり得る。例えば、一般道路には歩行者用信号が設置されるが、高速道路には歩行者用信号は設置されない。また、一般道路に設置される標識と高速道路に設置される標識は互いに異なり得る。そこで、第1の推定部12は、道路に設置されている設置物に基づき、複数の道路を互いに識別してもよい。
その他、第1の推定部12は、カメラの設置位置と向いている方角を利用して、ナビゲーションシステム等で使用される道路情報から複数の道路を互いに識別してもよい。
なお、当該工程の対象外領域を特定する処理は、処理装置10が起動/初期化されてから1回実行されればよく、繰り返し何度も実行される必要はない。処理装置10が図4の複数の工程を繰り返し実行する場合、第1の推定部12は、2回目以降のループでは1回目のループと同じ情報を出力することができる。なお、2回目以降のループにおいて、毎回、対象外領域を特定する処理が実行されてもよい。
「第1の車線推定工程(図4)」
第1の推定部12が、第1の車線推定工程を実行する。第1の車線推定工程では、第1の推定部12は、動画像に基づき第1の手法で車線領域を推定する。第1の車線推定工程の推定結果で示される車線領域が、図4の「第1次車線領域」となる。第1の推定部12は、推定した車線領域を示す情報を出力することができる。第1の車線推定工程で出力された情報は、図4に示す他の工程で利用される。
第1の推定部12が、第1の車線推定工程を実行する。第1の車線推定工程では、第1の推定部12は、動画像に基づき第1の手法で車線領域を推定する。第1の車線推定工程の推定結果で示される車線領域が、図4の「第1次車線領域」となる。第1の推定部12は、推定した車線領域を示す情報を出力することができる。第1の車線推定工程で出力された情報は、図4に示す他の工程で利用される。
車線領域の推定結果では、動画像に写る各車線の動画像内の領域(フレーム画像内の領域)が示される。動画像に複数の車線が写っている場合、車線領域の推定結果では、複数の車線各々の動画像内の領域(フレーム画像内の領域)が示される。
「第1の手法」は、以下で説明する第2の手法に比べて、早期に車線領域の推定結果を出力することができる手法である。このような条件を実現できるあらゆる手法を第1の手法として採用することができる。
第1の手法は、コンピュータが動画像を解析して車線領域を推定する手法であってもよい。その他、第1の手法は、コンピュータが動画像(フレーム画像)に基づき生成したGUIを用いてフレーム画像上で車線領域を指定するユーザ入力を受付け、当該ユーザ入力に基づき車線領域を推定する手法であってもよい。
ここで、動画像を解析して車線領域を推定する手法を説明する。
例えば、第1の手法は、動画像の中の1つのフレーム画像に基づき車線領域を推定する手法であってもよい。このような1つのフレーム画像に基づき車線領域を推定する手法は、以下で説明する第2の手法に比べて、早期に車線領域の推定結果を出力することができる。
例えば、第1の手法は、動画像(フレーム画像)の中から白線を検出し、検出した白線に基づき車線領域を推定する手法であってもよい。この手法の場合、2本の白線に挟まれた領域が1本の車線領域として推定される。この手法は、1つのフレーム画像に基づき車線領域を推定することができる。
例えば、第1の推定部12は、白線検知やセグメンテーション等のDeep Learningの技術等を利用して、動画像内(フレーム画像内)の白線検知や車線領域の推定を行うことができる。その他、第1の推定部12は、エッジ検出等の他の画像解析技術を利用して、動画像内(フレーム画像内)の白線検知や車線領域の推定を行ってもよい。このような白線を検知して車線領域を推定する技術は、広く知られている。本実施形態では、それらのあらゆる技術を採用できる。
なお、第1の推定部12は、外部補助情報収集工程において取得部11が取得した時刻情報や、カレンダー情報や、定点カメラが設置された地点の天候情報(天気、気温、湿度等)等を、当該推定において利用してもよい。例えば、第1の推定部12は、これらの情報に基づき撮影時の環境を分類し、処理対象のフレーム画像が撮影された時の環境に応じたアルゴリズムやその環境用に生成された学習モデルで当該推定を行ってもよい。
また、第1の推定部12は、対象外領域除外工程で出力された情報に基づき対象外領域を特定してもよい。そして、第1の推定部12は、動画像内(フレーム画像内)の対象外領域以外の領域のみを処理対象領域とし、処理対象領域の画像を解析して車線領域を推定してもよい。
第1の車線推定工程は、処理装置10が起動/初期化されてから1回実行されればよく、繰り返し何度も実行される必要はない。処理装置10が図4の複数の工程を繰り返し実行する場合、第1の推定部12は、2回目以降のループでは1回目のループと同じ情報を出力することができる。なお、2回目以降のループにおいて、毎回、第1の手法で車線領域を推定する処理が実行されてもよい。
「車両検知工程(図4)」
第2の推定部13が、車両検知工程を実行する。車両検知工程では、第2の推定部13は、動画像(フレーム画像)の中から車両を検知する。そして、第2の推定部13は、検知した車両を動画像内で追跡し、車両の移動軌跡を示す軌跡データを生成する。第2の推定部13は、生成した軌跡データを出力することができる。車両検知工程で出力された軌跡データは、図4に示す他の工程で利用される。
第2の推定部13が、車両検知工程を実行する。車両検知工程では、第2の推定部13は、動画像(フレーム画像)の中から車両を検知する。そして、第2の推定部13は、検知した車両を動画像内で追跡し、車両の移動軌跡を示す軌跡データを生成する。第2の推定部13は、生成した軌跡データを出力することができる。車両検知工程で出力された軌跡データは、図4に示す他の工程で利用される。
「車両」は、路上を走行する乗り物である。車両の一例は、例えば四輪車や大型車や二輪車等であるが、これらに限定されない。
「車両の検知」は、広く知られたあらゆる技術を用いて実現される。例えば、第2の推定部13は、物体検出、物体追跡、分類等のDeep Learningの技術等を利用して、動画像内(フレーム画像内)の車両を検知することができる。
なお、第2の推定部13は、外部補助情報収集工程において取得部11が取得した時刻情報や、カレンダー情報や、定点カメラが設置された地点の天候情報(天気、気温、湿度等)等を、車両の検知において利用してもよい。例えば、第2の推定部13は、これらの情報に基づき撮影時の環境を分類し、処理対象のフレーム画像が撮影された時の環境に応じたアルゴリズムやその環境用に生成された学習モデルで車両の検知を行ってもよい。
また、第2の推定部13は、対象外領域除外工程で出力された情報に基づき対象外領域を特定してもよい。そして、第2の推定部13は、動画像内(フレーム画像内)の対象外領域以外の領域のみを処理対象領域とし、処理対象領域の画像を解析して車両を検知してもよい。
その他、第2の推定部13は、第1の車線推定工程で出力された情報に基づき、第1の推定部12が推定した動画像内(フレーム画像内)の車線領域を特定してもよい。そして、第2の推定部13は、特定した車線領域のみを処理対象領域とし、処理対象領域の画像を解析して車両を検知してもよい。
「車両の追跡」は、広く知られたあらゆる技術を用いて実現される。
「軌跡データ」は、定点カメラの撮影範囲内(動画像内)における車両の移動軌跡を示す。一例では、軌跡データは、車両の基準箇所の移動軌跡を示す。本実施形態では、車両の進行方向に向かって左右方向(車両の幅方向)の略中心を地面まで下ろした点を車両の基準箇所とする。例えば、簡易的に、動画像内で検出した車両が写る矩形領域の底辺の中心を車両の基準箇所としてもよい。なお、車両の基準箇所はここで示したものに限定さない。車両のその他の箇所を車両の基準箇所としてもよい。このような変形例においても、後述する第2の車線推定工程を適切に調整することで、車線領域を推定することができる。詳細は後述する。また、人物検知技術を用いてドライバーを検知し、検知した人物(ドライバー)の移動の軌跡を疑似的に車両の移動の軌跡として用いてもよい。
軌跡データは、例えば定点カメラが生成した動画像(フレーム画像)に設定された2次元座標系における座標の集合で車両の移動軌跡を示すデータである。
「第2の車線推定工程(図4)」
第2の推定部13が、第2の車線推定工程を実行する。第2の車線推定工程では、第2の推定部13は、第1の手法で車線領域が推定された後にさらに取得し、蓄積された動画像に基づき、第1の手法と異なる第2の手法で車線領域を推定する。第2の車線推定工程の最終的な推定結果で示される車線領域が、図4の「第3次車線領域」となる。そして、第2の車線推定工程の中間生成物として得られる推定結果で示される車線領域が、図4の「第2次車線領域」となる。第2の推定部13は、推定した車線領域を示す情報を出力することができる。第2の車線推定工程で出力された情報は、図4に示す他の工程で利用される。
第2の推定部13が、第2の車線推定工程を実行する。第2の車線推定工程では、第2の推定部13は、第1の手法で車線領域が推定された後にさらに取得し、蓄積された動画像に基づき、第1の手法と異なる第2の手法で車線領域を推定する。第2の車線推定工程の最終的な推定結果で示される車線領域が、図4の「第3次車線領域」となる。そして、第2の車線推定工程の中間生成物として得られる推定結果で示される車線領域が、図4の「第2次車線領域」となる。第2の推定部13は、推定した車線領域を示す情報を出力することができる。第2の車線推定工程で出力された情報は、図4に示す他の工程で利用される。
「第2の手法」は、動画像の中の複数のフレーム画像に基づき検出された車両の移動軌跡に基づき車線領域を推定する手法である。
第2の推定部13は、第2の車線推定工程として、図5のS1乃至S5の処理を実行することができる。各処理の概要は以下の通りである。
データ取得処理S1:第2の推定部13は、車両検知工程で生成された軌跡データを取得する。
抽出処理S2:第2の推定部13は、取得した軌跡データの中から車線領域の抽出に適した軌跡データを抽出する。
判定処理S3:第2の推定部13は、それまでに実行されたS1及びS2の処理が所定の条件を満たすか判定する。そして、第2の推定部13は、所定の条件を満たすまでS1及びS2を繰り返す。所定の条件を満たすと判定されると、処理がS4に進む。S3の処理を行うことで、十分な量の軌跡データがS2で抽出された後にS4以降の処理に進むことができる。
車線領域推定処理S4:第2の推定部13は、それまでにS2で抽出された軌跡データに基づき、車線領域を推定する。
車線領域確定処理S5:第2の推定部13は、車線領域を、S4の推定結果で確定するか判定する。確定しない場合、S1に戻って同様の処理が繰り返される。S5の処理を行うことで、S4の推定結果をそのまま車線領域として確定するのでなく、信頼できる推定結果がS4で得られた段階で、その推定結果を車線領域として確定することができる。
抽出処理S2:第2の推定部13は、取得した軌跡データの中から車線領域の抽出に適した軌跡データを抽出する。
判定処理S3:第2の推定部13は、それまでに実行されたS1及びS2の処理が所定の条件を満たすか判定する。そして、第2の推定部13は、所定の条件を満たすまでS1及びS2を繰り返す。所定の条件を満たすと判定されると、処理がS4に進む。S3の処理を行うことで、十分な量の軌跡データがS2で抽出された後にS4以降の処理に進むことができる。
車線領域推定処理S4:第2の推定部13は、それまでにS2で抽出された軌跡データに基づき、車線領域を推定する。
車線領域確定処理S5:第2の推定部13は、車線領域を、S4の推定結果で確定するか判定する。確定しない場合、S1に戻って同様の処理が繰り返される。S5の処理を行うことで、S4の推定結果をそのまま車線領域として確定するのでなく、信頼できる推定結果がS4で得られた段階で、その推定結果を車線領域として確定することができる。
以下、各処理を詳細に説明する。
「データ取得処理S1(図5)」
第2の推定部13は、車両検知工程で生成された軌跡データを取得する。
第2の推定部13は、車両検知工程で生成された軌跡データを取得する。
「抽出処理S2(図5)」
第2の推定部13は、S1で取得した軌跡データの中から車線領域の抽出に適した軌跡データを抽出する。具体的には、第2の推定部13は、S1で取得した軌跡データの中から長さ及び方向の少なくとも一方が所定の条件を満たす軌跡データを抽出する。所定の条件は、「軌跡の長さ」や「軌跡(例えば一部区間の軌跡)と基準方向とのなす角度」等に基づき定義できる。ここでの所定の条件は、例えば以下の条件の一方であってもよいし、両方を所定の論理演算子で繋いだ条件であってもよい。なお、これらの所定の条件は一例であり、これらに限定されない。
第2の推定部13は、S1で取得した軌跡データの中から車線領域の抽出に適した軌跡データを抽出する。具体的には、第2の推定部13は、S1で取得した軌跡データの中から長さ及び方向の少なくとも一方が所定の条件を満たす軌跡データを抽出する。所定の条件は、「軌跡の長さ」や「軌跡(例えば一部区間の軌跡)と基準方向とのなす角度」等に基づき定義できる。ここでの所定の条件は、例えば以下の条件の一方であってもよいし、両方を所定の論理演算子で繋いだ条件であってもよい。なお、これらの所定の条件は一例であり、これらに限定されない。
・軌跡の長さが閾値以上
・軌跡と基準方向とのなす角度が閾値以上の区間がない
なお、閾値は、予め設定される値である。
・軌跡と基準方向とのなす角度が閾値以上の区間がない
なお、閾値は、予め設定される値である。
「軌跡の長さ」を条件に利用することで、軌跡の長さが閾値以上の軌跡データを抽出し、軌跡の長さが閾値未満のノイズデータを除外することができる。
また、「軌跡と基準方向とのなす角度」を条件に利用することで、車線変更が行われていない軌跡を抽出し、車線変更が行われた軌跡を除外することができる。基準方向は、定点カメラの撮影範囲内(動画像内)で定められる方向であり、車線の延伸方向と同一又はそれに近い方向(方向の差が閾値以下)である。基準方向とのなす角度が閾値以上になった区間がある軌跡は、車線変更が行われた軌跡と考えることができる。
基準方向は、作業員が設定してもよい。例えば、上述した外部補助情報収集工程(図4)で、取得部11は動画像上で基準方向を設定するユーザ入力を受付けてもよい。その他、第2の推定部13は、S1で取得した軌跡データを統計処理して基準方向を算出してもよい。通常、車線変更を行う車両の数は、車線変更を行わない車両の数よりも少ないと考えられる。このため、第2の推定部13は、例えばS1で取得した軌跡データ各々の延伸方向の多数決をとり、最も多い延伸方向を基準方向として決定してもよい。
なお、第2の推定部13は、S1で取得した軌跡データの中のS2で抽出しなかった軌跡データを削除してもよい。
「判定処理S3(図5)」
第2の推定部13は、それまでに実行されたS1及びS2の処理が所定の条件を満たすか判定する。そして、第2の推定部13は、所定の条件を満たすまでS1及びS2を繰り返す。所定の条件を満たすと判定されると、処理がS4に進む。
第2の推定部13は、それまでに実行されたS1及びS2の処理が所定の条件を満たすか判定する。そして、第2の推定部13は、所定の条件を満たすまでS1及びS2を繰り返す。所定の条件を満たすと判定されると、処理がS4に進む。
上述の通り、ここでの所定の条件は処理をS4に進めるための条件である。S4以降の推定の精度を高めるためには、ある程度軌跡データがS2で抽出されてからS4以降の処理を行うことが好ましい。所定の条件は、このような好ましい形態を実現可能な内容となっている。ここでの所定の条件は、以下の中のいずれかであってもよいし、以下の中の複数を所定の論理演算子で繋いだ条件であってもよい。
・それまでにS2で抽出された軌跡データの数(車両の移動軌跡の数)が閾値以上
・S1及びS2の処理の実行継続時間が閾値以上
・定点カメラの撮影範囲内(動画像内)で設定された少なくとも1つの領域各々を通過する軌跡データの数(車両の移動軌跡の数)が閾値以上
なお、閾値は、予め設定される値である。「定点カメラの撮影範囲内で設定された少なくとも1つの領域」は、例えば作業員が予め設定することができる。例えば、上述した外部補助情報収集工程(図4)で、取得部11は動画像上で当該領域を設定するユーザ入力を受付けてもよい。
・S1及びS2の処理の実行継続時間が閾値以上
・定点カメラの撮影範囲内(動画像内)で設定された少なくとも1つの領域各々を通過する軌跡データの数(車両の移動軌跡の数)が閾値以上
なお、閾値は、予め設定される値である。「定点カメラの撮影範囲内で設定された少なくとも1つの領域」は、例えば作業員が予め設定することができる。例えば、上述した外部補助情報収集工程(図4)で、取得部11は動画像上で当該領域を設定するユーザ入力を受付けてもよい。
「車線領域推定処理S4(図5)」
車線領域推定処理S4は、図6に示す4つの処理(S4-1乃至S4-4)を有する。第2の推定部13は、この4つの処理を実行することで、それまでにS2で抽出された軌跡データに基づき車線領域を推定する。
車線領域推定処理S4は、図6に示す4つの処理(S4-1乃至S4-4)を有する。第2の推定部13は、この4つの処理を実行することで、それまでにS2で抽出された軌跡データに基づき車線領域を推定する。
具体的には、第2の推定部13は、S4-1乃至S4-3の処理を実行することで、それまでにS2で抽出された軌跡データに基づき、車両の移動軌跡の傾向を示す線を車線基準線として算出する。なお、上述の通り、本実施形態の軌跡データは、車両の進行方向に向かって左右方向の略中心を地面まで下ろした点の移動軌跡を示す。このため、上記車線基準線は、車両の進行方向に向かって左右方向の略中心を地面まで下ろした点の移動軌跡の傾向を示す線である。
そして、第2の推定部13は、S4-4の処理を実行することで、S4-1乃至S4-3で算出した車線基準線から車線領域を推定する。以下、各処理を詳細に説明する、
「車線候補点の算出S4-1(図6)」
まず、第2の推定部13は、定点カメラの撮影範囲内(動画像内)で基準方向を定める。基準方向の定義やその設定方法は上述したので、ここでの説明は省略する。
まず、第2の推定部13は、定点カメラの撮影範囲内(動画像内)で基準方向を定める。基準方向の定義やその設定方法は上述したので、ここでの説明は省略する。
図7に一例を示す。図7では、定点カメラで撮影されたフレーム画像が示されている。また、S2で抽出された軌跡データで示される複数の車両の移動軌跡VLが示されている。そして、このフレーム画像の上下方向が基準方向として定められている。本実施形態では、この基準方向をy軸方向と呼ぶ。なお、図7のフレーム画像では、フレーム画像の上下方向が基準方向(y軸方向)として定められたが、カメラの位置や向きに応じて、フレーム画像の斜め方向や左右方向が基準方向(y軸方向)として定められる場合もある。
そして、第2の推定部13は、図7のように、所定間隔で、基準方向の複数座標を定める。図7に示す複数のy座標(y0、y1、y2・・・)が、所定間隔で定めた基準方向の複数座標である。
所定間隔の値は、設計的事項である。第2の推定部13は、定点カメラの撮影範囲全体に渡って(図7の場合、フレーム画像の全体に渡って)、所定間隔の複数のy座標を定めてもよい。その他、第2の推定部13は、定点カメラの撮影範囲の一部において、所定間隔の複数のy座標を定めてもよい。一部は、例えば、S2で抽出された軌跡データで示される車両の移動軌跡VLが存在する領域である。図7の例の場合、フレーム画像の上の端の方には車両の移動軌跡VLが伸びていない。第2の推定部13は、このような車両の移動軌跡VLが伸びていない領域は、所定間隔の複数のy座標を定める対象から外してもよい。
次いで、第2の推定部13は、所定間隔の複数のy座標(y0、y1、y2・・・)のそれぞれにおいて、S2で抽出された軌跡データで示される車両の移動軌跡VLが通過する位置を算出する。すなわち、第2の推定部13は、所定間隔の複数のy座標(y0、y1、y2・・・)のそれぞれにおいて、y=各y座標とする直線と、S2で抽出された軌跡データで示される車両の移動軌跡VLとの交点を算出する。フレーム画像上にy軸に垂直なx軸を定義した場合、所定間隔の複数のy座標(y0、y1、y2・・・)のそれぞれにおいて、{x1、x2、・・・}のように、車両の移動軌跡VLが通過する位置を示すx座標の集合が得られる。
「車線数の算出S4-2(図6)」
まず、第2の推定部13は、所定間隔の複数のy座標(y0、y1、y2・・・)の中から、車線数の算出に利用するy座標を抽出する。
まず、第2の推定部13は、所定間隔の複数のy座標(y0、y1、y2・・・)の中から、車線数の算出に利用するy座標を抽出する。
図8に示すように、所定間隔の複数のy座標(y0、y1、y2・・・)のそれぞれにおいて、y=各y座標とする直線と、S2で抽出された軌跡データで示される車両の移動軌跡VLとの交点の数(車両の移動軌跡VLが通過する位置の数)が異なり得る。図8の例の場合、座標y0における当該交点の数は2であり、座標y1の当該交点の数は3であり、座標y2の当該交点の数は1である。S4-1で所定間隔の複数のy座標(y0、y1、y2・・・)のそれぞれにおいて算出したx座標の集合の要素の数が、当該交点の数となる。
第2の推定部13は、所定間隔の複数のy座標(y0、y1、y2・・・)の中の上記交点の数が閾値以上のy座標を、車線数の算出に利用するy座標として抽出する。
ここでの閾値は、予め定められていてもよい。その他、ここでの閾値は、S2で抽出された軌跡データの数に基づき決定されてもよい。例えば、第2の推定部13は、S2で抽出された軌跡データの数に0より大1以下の所定の係数を掛けた値を、ここでの閾値としてもよい。所定の係数は、予め定められた値である。
この処理により、S2で抽出された軌跡データで示される車両の移動軌跡VLの通過(交わり)が少ないy座標を、車線数の算出に利用する座標から除外することができる。
次いで、第2の推定部13は、上記処理で抽出したy座標(以下、単に「抽出したy座標」という場合がある)ごとに、図9(A)に示すように、y=各y座標とする直線と、S2で抽出された軌跡データで示される車両の移動軌跡VLとの交点の位置(x座標)のヒストグラムを算出することができる。図9(A)の横軸はx座標であり、縦軸は交点の数である。
また、第2の推定部13は、抽出したy座標ごとに、図9(B)に示すように、車両が通過する位置に関する確率密度関数を算出することができる。例えば、第2の推定部13はカーネル密度推定により、確率密度関数を算出することができる。「車両が通過する位置」は、y=各y座標とする直線と、S2で抽出された軌跡データで示される車両の移動軌跡VLとの交点の位置(x座標)である。図9(B)の横軸はx座標であり、縦軸は密度である。なお、第2の推定部13は、図10に示すように、閾値r以下はすべて「0」として扱うことできる。このようにすることで、車線変更等で稀にしか発生しない車両の移動軌跡VLによる通過位置(交点位置)の影響を軽減することができる。
次いで、第2の推定部13は、図11(A)に示すように、抽出したy座標ごとに、確率密度関数のピークの数及びピークの位置(x座標)を算出する。ピークは、極大値が得られる位置である。図11(A)では、2つのピークP1及びP2が算出されている。図11(A)の確率密度関数は、図11(B)に示す座標y4において車両が通過する位置に関する確率密度関数である。図11(B)において、図11(A)の確率密度関数で算出した2つのピークP1及びP2の位置を示している。
抽出したy座標毎に上記ピークの数を算出した後、第2の推定部13は、抽出したy座標毎のピークの数に基づき、車線数を算出する。例えば、第2の推定部13は、多数決を取り、最も多いピークの数を、車線数として算出する。
「結合S4-3(図6)」
第2の推定部13は、S4-2で算出したy座標毎のピーク位置をy軸方向に沿って結合していくことで、S4-2で算出した車線数分の線を生成する。
第2の推定部13は、S4-2で算出したy座標毎のピーク位置をy軸方向に沿って結合していくことで、S4-2で算出した車線数分の線を生成する。
なお、第2の推定部13は、S4-2で抽出されなかったy座標に対しても、S4-2で説明した手法でピーク位置を決定してもよい。そして、第2の推定部13は、S4-2で抽出されなかったy座標で算出されたピーク位置も、当該結合の処理対象としてもよい。すなわち、第2の推定部13は、所定間隔の複数のy座標(y0、y1、y2・・・)のそれぞれにおいて、S4-2で説明した手法でピーク位置を決定し、y座標毎のピーク位置をy軸方向に沿って結合していくことで、S4-2で算出した車線数分の線を生成してもよい。
以下、このようにして生成した線を「車線基準線」と呼ぶ。また、以下、y座標毎にS4-2で説明した手法で決定したピーク位置を単に「y座標毎のピーク位置」という場合がある。
y座標毎のピーク位置をy軸方向に沿って結合していく手法は様々であるが、以下、図12乃至図14を用いて一例を説明する。
まず、第2の推定部13は、結合の開始位置とするy座標を決定する。一例では、ピークの数が最多となっている複数のy座標の中で、基準方向に沿った並び位置が真ん中に位置するy座標を、結合の開始位置とすることができる。図12の例の場合、yn、yn+1、yn+2、yn+8、yn+9が、ピーク数5で最多となっている。このような5つのy座標の中で、基準方向に沿った並び位置が真ん中に位置するのは、座標yn+2である。図12の例の場合、座標yn+2が結合の開始位置として決定される。このような手法で結合の開始位置を決定することで、次のような作用効果が得られる。
一般的に多くの画角において、現実の車線数(最多ピーク数)が多く分布するのは画像の中央付近になる。すなわち、最多ピーク数となるy座標が画像の中央付近に密集して存在する傾向にある。例えば、所定間隔の複数のy座標として「y0乃至y20」が設定されている場合、y10付近、例えばy8乃至y13において最多ピーク数となったりする。これは、画像の下方向(y0)になるほど車両が大きく映り、上方向(y20)になるほど車両が小さく映るため、車両自体の検知精度が低下するためである。
このように、多くの場合最多ピーク数は画像の中央付近(上記例の場合、y10付近)になるが、稀に画像の上端付近(上記例の場合、例えばy19)や下端付近(上記例の場合、例えばy3)に孤立して、最多ピーク数が現れる場合がある。このような最多ピーク数が孤立して現れているy座標を開始位置として上記結合を開始すると、結合コストの関係上、いくつかのピークにおいて結合先が見つからない状況が発生し得る。その結果、上記結合で生成された線の数が、現実の車線数よりも少なくなるという不都合が発生し得る。上述のように結合の開始位置を決定することで、最多ピーク数が密集していると想定される画像の中央部分のy座標を開始位置にできる可能性が高くなる。結果、上述のような不都合の発生を抑制できる。
なお、最多ピーク数が密集していると想定される画像の中央部分のy座標を開始位置にできるその他の手法で、結合の開始位置とするy座標を決定してもよい。また、このような作用効果は得られなくなるが、その他の手法で、結合の開始位置とするy座標を決定してもよい。その他の手法を採用した場合も、ある程度十分の精度で車線領域を推定することができる。
第2の推定部13は、結合の開始位置とするy座標を決定した後、y座標毎のピーク位置をy軸方向(基準方向に平行な方向)に沿って結合していくことで、S4-2で算出した車線数分の線を生成する。
具体的には、第2の推定部13は以下の(1)乃至(8)の処理をこの順に行うことができる。
(1)第2の推定部13は、1つの車線を処理対象として選択する。
(2)第2の推定部13は、処理対象のピーク位置を1つ選択する。
(3)第2の推定部13は、(2)で選択したピーク位置と結合するためのコストが最大コスト内にあるピーク位置を結合候補として抽出する。
(4)第2の推定部13は、(3)で抽出した結合候補の中から所定の条件を満たす結合候補を抽出することで、結合候補を絞り込む。
(5)第2の推定部13は、(4)で抽出した結合候補の中の1つを、(2)で選択した処理対象のピーク位置と結合するピーク位置として決定する。
(6)第2の推定部13は、ピーク位置を結合して線を生成(延長)する。
(7)第2の推定部13は、(1)に戻って新たな車線を処理対象として選択し、(2)乃至(6)を実行する。
(8)第2の推定部13は、(7)の後、(1)に戻って新たな車線を処理対象として選択し、(2)乃至(6)を実行する。
(2)第2の推定部13は、処理対象のピーク位置を1つ選択する。
(3)第2の推定部13は、(2)で選択したピーク位置と結合するためのコストが最大コスト内にあるピーク位置を結合候補として抽出する。
(4)第2の推定部13は、(3)で抽出した結合候補の中から所定の条件を満たす結合候補を抽出することで、結合候補を絞り込む。
(5)第2の推定部13は、(4)で抽出した結合候補の中の1つを、(2)で選択した処理対象のピーク位置と結合するピーク位置として決定する。
(6)第2の推定部13は、ピーク位置を結合して線を生成(延長)する。
(7)第2の推定部13は、(1)に戻って新たな車線を処理対象として選択し、(2)乃至(6)を実行する。
(8)第2の推定部13は、(7)の後、(1)に戻って新たな車線を処理対象として選択し、(2)乃至(6)を実行する。
以下、各処理を詳細に説明する。
(1)「第2の推定部13は、1つの車線を処理対象として選択する。」
S4-2で算出した車線数がQである場合、第2の推定部13は、Qの車線の中の1つを処理対象として選択する。そして、第2の推定部13は、以下の処理により、選択した車線に対応する車線基準線を生成する。
S4-2で算出した車線数がQである場合、第2の推定部13は、Qの車線の中の1つを処理対象として選択する。そして、第2の推定部13は、以下の処理により、選択した車線に対応する車線基準線を生成する。
(2)「第2の推定部13は、処理対象のピーク位置を1つ選択する。」
(1)で選択した車線に対応して初めてピーク位置同士の結合を実行する場合には、結合の開始位置とするy座標に存在するピーク位置の中の1つを任意の手段で選択し、処理対象とする。
(1)で選択した車線に対応して初めてピーク位置同士の結合を実行する場合には、結合の開始位置とするy座標に存在するピーク位置の中の1つを任意の手段で選択し、処理対象とする。
なお、以下で説明するように、(2)以降の処理は繰り返し実行される。このため、(1)で選択した車線に対応してピーク位置同士の結合を少なくとも1回実行し、線が生成された状態で(2)を実行する場合がある。この場合には、第2の推定部13は、それまでに生成された線の先頭のピーク位置を、処理対象として選択する。
「線の先頭のピーク位置」は、その時点までのピーク位置の結合により生成された線の先頭(端)である。図12においてピーク位置を結合して線を図の下方向に延伸している場合、線の下側の端が線の先頭のピーク位置となる。一方、図12においてピーク位置を結合して線を図の上方向に延伸している場合、線の上側の端が線の先頭のピーク位置となる。なお、結合を開始する前の時点(線が生成される前の時点)では、結合の開始位置とするy座標に存在するピーク位置が、線の先頭のピーク位置として扱われる。
処理対象のピーク位置を1つ選択した後、第2の推定部13は、選択したピーク位置の結合可能な最大コストを、以下の式(1)及び(2)に基づき算出する。式(1)は、2つのピーク位置を結合するためのコストを算出するための式である。そして、式(2)は、最大コストを算出するための式である。
(3)「第2の推定部13は、(2)で選択したピーク位置と結合するためのコストが最大コスト内にあるピーク位置を結合候補として抽出する。」
図13を用いて、当該処理を説明する。P1が(2)で選択したピーク位置である。図13は、(1)で選択した車線に対応してピーク位置同士の結合を少なくとも1回実行し、線(P0とP1を結合した線)が生成された状態である。
図13を用いて、当該処理を説明する。P1が(2)で選択したピーク位置である。図13は、(1)で選択した車線に対応してピーク位置同士の結合を少なくとも1回実行し、線(P0とP1を結合した線)が生成された状態である。
この場合、P1が線の先頭のピーク位置であり、上述の通り(2)で選択したピーク位置である。そして、P0がその1つ直前のピーク位置である。上記(2)で得られる結合可能な最大コスト(式(2)のmax_cost)は、図13の結合可能範囲を示す。図13において、(2)で選択したP1と結合するためのコストが最大コスト内にあるピーク位置を抽出すると、P2及びP3が抽出される。なお、式(2)に示すように、その線の先頭のピーク位置P1とその1つ前のピーク位置P0の結合時のコストに定数を加えて最大コストを決定することで、線が伸びるに従い結合可能範囲を狭めていくことができる。
(4)「第2の推定部13は、(3)で抽出した結合候補の中から所定の条件を満たす結合候補を抽出することで、結合候補を絞り込む。」
ここでの所定の条件は、以下の条件の一方であってもよいし、両方を所定の論理演算子で繋いだ条件であってもよい。なお、これらの所定の条件は一例であり、これらに限定されない。
ここでの所定の条件は、以下の条件の一方であってもよいし、両方を所定の論理演算子で繋いだ条件であってもよい。なお、これらの所定の条件は一例であり、これらに限定されない。
・既に他のピーク位置と結合されたピーク位置でない
・処理対象の車線に対応する線の先頭のピーク位置と結合するためのコストが、他の車線に対応する線の先頭のピーク位置と結合するためのコストよりも小さい
・処理対象の車線に対応する線の先頭のピーク位置と結合するためのコストが、他の車線に対応する線の先頭のピーク位置と結合するためのコストよりも小さい
(5)「第2の推定部13は、(4)で抽出した結合候補の中の1つを、(2)で選択した処理対象のピーク位置と結合するピーク位置として決定する。」
第2の推定部13は、例えば、(4)で抽出した結合候補の中の、(2)で選択した処理対象のピーク位置と結合するためのコストが最も小さい結合候補を、(2)で選択した処理対象のピーク位置と結合するピーク位置として決定する。
第2の推定部13は、例えば、(4)で抽出した結合候補の中の、(2)で選択した処理対象のピーク位置と結合するためのコストが最も小さい結合候補を、(2)で選択した処理対象のピーク位置と結合するピーク位置として決定する。
(6)「第2の推定部13は、ピーク位置を結合して線を生成(延長)する。」
第2の推定部13は、(2)で選択した処理対象のピーク位置と、(5)で決定した結合候補を結合して線を生成(延長)する。そして、第2の推定部13は、(5)で決定した結合候補をその線の先頭のピーク位置とする。
第2の推定部13は、(2)で選択した処理対象のピーク位置と、(5)で決定した結合候補を結合して線を生成(延長)する。そして、第2の推定部13は、(5)で決定した結合候補をその線の先頭のピーク位置とする。
(7)「第2の推定部13は、(1)に戻って新たな車線を処理対象として選択し、(2)乃至(6)を実行する。」
S4-2で算出した車線数がQである場合、第2の推定部13は、Qの車線の全てを選択し、全ての車線に対応して(2)乃至(6)を実行するまで、当該処理を繰り返す。第2の推定部13は、まだ選択されていない車線の中から、新たな車線を処理対象として選択する。このようにすることで、全ての車線に対応する結合を並行して進めることができる。そして、全ての車線に対応して(2)乃至(6)を実行した後、第2の推定部13は(8)に進む。
S4-2で算出した車線数がQである場合、第2の推定部13は、Qの車線の全てを選択し、全ての車線に対応して(2)乃至(6)を実行するまで、当該処理を繰り返す。第2の推定部13は、まだ選択されていない車線の中から、新たな車線を処理対象として選択する。このようにすることで、全ての車線に対応する結合を並行して進めることができる。そして、全ての車線に対応して(2)乃至(6)を実行した後、第2の推定部13は(8)に進む。
(8)「第2の推定部13は、(7)の後、(1)に戻って新たな車線を処理対象として選択し、(2)乃至(6)を実行する。」
(7)で全ての車線を一通り処理対象として選択し終えた後、第2の推定部13は、(8)の処理を実行する。このような(8)では、第2の推定部13は、(8)の直前の(7)での車線の選択履歴を一度リセットし、新たに車線を一から選択する。すなわち、第2の推定部13は、(7)で一度選択された車線を新たに選択してもよい。第2の推定部13は、全車線の先頭位置が更新されなくなるまで、(1)乃至(7)の処理を繰り返す。
(7)で全ての車線を一通り処理対象として選択し終えた後、第2の推定部13は、(8)の処理を実行する。このような(8)では、第2の推定部13は、(8)の直前の(7)での車線の選択履歴を一度リセットし、新たに車線を一から選択する。すなわち、第2の推定部13は、(7)で一度選択された車線を新たに選択してもよい。第2の推定部13は、全車線の先頭位置が更新されなくなるまで、(1)乃至(7)の処理を繰り返す。
ここで、図14を用いて、上記(1)乃至(8)の処理での結合の特徴を説明する。図14に示すように、1つのピーク位置に2つ以上のピーク位置が結合されることはない。2つのピーク位置間の結合コストが最小のものが結合される。また、y軸方向の距離が所定値以上離れたピーク位置同士でも結合可能である。すなわち、図示するように、yn+1のピーク位置とyn+2のピーク位置のように隣接するy座標のピーク位置同士のみならず、yn+1のピーク位置とyn+3のピーク位置のように所定値以上離れたy座標のピーク位置同士が直接結合されてもよい。また、車線数とピークが等しくても結合コストが大きい場合には結合されない。
なお、第2の推定部13は、上記(1)乃至(8)の処理により車線毎に車線基準線を生成する処理を行った後、ノイズデータを除去する処理を行ってもよい。例えば、第2の推定部13は、長さが閾値以下や、y軸方向の長さが閾値以下等の条件を満たす車線基準線を削除してもよい。
図15に示すように、上記(1)乃至(8)の処理により、3本の車線基準線EL1乃至EL3が生成されたとする。当該除去する処理により、第2の推定部13は、車線基準線EL3のようなノイズデータを除去することができる。そして、図16に示すように、ノイズデータを除去した後の車線基準線EL1及びEL2を処理結果として出力することができる。
例えば、何らかの不具合により、実際の車線数よりも多い数の車線基準線が生成される可能性がある。当該処理により、実際の車線数よりも多い数の車線基準線が生成された場合において、ノイズデータを除去することができる。
「車線領域推定S4-4(図6)」
第2の推定部13は、S4-3で生成した車線基準線に基づき、車線領域を推定する。具体的には、第2の推定部13は、車線基準線に基づき、車線の幅方向の境界を決定する。図17を用いて、第2の推定部13の当該処理を説明する。S4-3で、図示する2本の車線基準線EL1及びEL2が生成されたものとする。
第2の推定部13は、S4-3で生成した車線基準線に基づき、車線領域を推定する。具体的には、第2の推定部13は、車線基準線に基づき、車線の幅方向の境界を決定する。図17を用いて、第2の推定部13の当該処理を説明する。S4-3で、図示する2本の車線基準線EL1及びEL2が生成されたものとする。
第2の推定部13は、車線基準線を複数本検出している場合、隣接する車線基準線間を所定比で分割する位置を、隣接する車線の境界と推定する。
まず、第2の推定部13は、隣接する車線基準線が存在する箇所を特定することができる。当該箇所の特定は、様々な手法で実現できる。例えば、第2の推定部13は、1本の車線基準線EL1の中の任意の点を、基準方向に垂直な方向に伸ばした線を生成する。そして、第2の推定部13は、当該線と交わる他の車線基準線が存在する箇所を、隣接する車線基準線が存在する箇所として特定する。
次いで、第2の推定部13は、特定した箇所において、隣接する車線基準線間を所定比で分割する位置を、隣接する車線の境界と推定する。所定比は、上述した「車両の基準箇所」の設定内容に応じて決定される。本実施形態の車両の基準箇所は、車両の進行方向に向かって左右方向の『略中心』を地面まで下ろした点である。すなわち、車両の幅方向を1対1に分ける箇所である。このような本実施形態の場合、所定比は1対1である。すなわち、第2の推定部13は、図17に示すように、隣接する車線基準線間の中点を、隣接する車線の境界と推定する。このような処理により、図示する境界BL1が決定される。なお、車両の基準箇所が車両の幅方向をE1対E2に分ける箇所である場合、所定比はE2対E1である。
なお、第2の推定部13は、隣接する車線基準線が存在しない箇所においては、例えば次のような手法で境界を推定することができる。
まず、図17の境界BL2及びBL3を推定する処理を説明する。車線基準線EL2から見て境界BL2の側には他の車線基準線が存在しない。このような場合、第2の推定部13は、車線基準線EL2から見て反対側の境界BL1までの距離に基づき、境界BL2を推定することができる。
すなわち、第2の推定部13は、車線基準線EL2から境界BL1までの距離Dを算出する。そして、第2の推定部13は、車線基準線EL2から境界BL1と反対方向に距離D離れた位置を、境界BL2として推定する。なお、遠近効果のため、画像上では、基準方向の座標毎に距離Dは異なり得る。このため、基準方向の座標毎に距離Dを算出し、基準方向の座標毎に距離Dを用いて境界BL2を算出するのが好ましい。境界BL3は境界BL2と同様の手法で推定できる。
次に、図17の境界BL4及びBL5を推定する処理を説明する。車線基準線EL2から見て境界BL4の側には他の車線基準線が存在しない。そして、車線基準線EL2から見て境界BL4と反対側にも他の車線基準線が存在しない。このような場合、第2の推定部13は、基準方向の他の座標で算出した上記距離Dを用いて、境界BL4を推定する。すなわち、第2の推定部13は、車線基準線EL2から見て境界BL4の方向に距離D離れた位置を、境界BL4として推定する。なお、上述の通り基準方向の座標毎に距離Dは異なり得る。このため、第2の推定部13は、境界BL4を推定すべき地点に最も近い(y方向の距離が最も近い)地点で算出された距離Dを利用して、境界BL4を推定するのが好ましい。境界BL5は境界BL4と同様の手法で推定できる。
「車線領域確定処理S5(図5)」
第2の推定部13は、S4の推定結果で車線領域を確定するか判定する。確定しない場合、S1に戻って同様の処理が繰り返される。S5の処理を行うことで、S4の推定結果をそのまま車線領域として確定するのでなく、信頼できる推定結果がS4で得られた段階で、その推定結果を車線領域として確定することができる。結果、信頼度の高い結果を出力することが可能となる。
第2の推定部13は、S4の推定結果で車線領域を確定するか判定する。確定しない場合、S1に戻って同様の処理が繰り返される。S5の処理を行うことで、S4の推定結果をそのまま車線領域として確定するのでなく、信頼できる推定結果がS4で得られた段階で、その推定結果を車線領域として確定することができる。結果、信頼度の高い結果を出力することが可能となる。
なお、S5で確定されなかった車線領域、すなわちS5で確定される前の車線領域が、図4の「第2次車線領域」となる。そして、S5で確定された車線領域が、図4の「第3次車線領域」となる。
上述の通り、第2の推定部13は軌跡データの取得を継続し、蓄積された軌跡データに基づく車線領域の推定を繰り返し実行する。
そして、第2の推定部13は、n回目の処理で車線領域を推定した後、推定した車線領域毎に(n-1)回目の処理で推定された車線領域との同一性を判定する。具体的には、第2の推定部13は、n回目の処理で推定された車線領域各々と、(n-1)回目の処理で推定された車線領域各々との差分を判定する。そして、(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域との差分が基準以下の場合、(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域は同一と判定する。
第2の推定部13は、各回の処理で車線領域が推定される毎に上記同一性の判定を行う。そして、第2の推定部13は、所定回数以上続けて同一と判定された場合、その間に推定された車線領域を推定結果として確定する。すなわち、第2の推定部13は、所定回数以上続けて同一と判定された車線領域を確定する。
例えば、第2の推定部13は、S5として、図18に示す3つの処理(S5-1乃至S5-3)を実行することができる。なお、第2の推定部13は、以下で説明する処理と異なる手法で、上述した車線領域の同一性を判定してもよい。
「前回の車線領域との比較S5-1(図18)」
第2の推定部13は、(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域が同一か判定する。第2の推定部13は、(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域との差分が予め定められた基準以下の場合、(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域は同一と判定する。2つの車線領域の差分の算出方法は様々であるが、以下一例を説明する。以降、(n-1)回目の処理で推定された車線領域を「(n-1)番目の車線領域」といい、n回目の処理で推定された車線領域を「n番目の車線領域」という場合がある。
第2の推定部13は、(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域が同一か判定する。第2の推定部13は、(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域との差分が予め定められた基準以下の場合、(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域は同一と判定する。2つの車線領域の差分の算出方法は様々であるが、以下一例を説明する。以降、(n-1)回目の処理で推定された車線領域を「(n-1)番目の車線領域」といい、n回目の処理で推定された車線領域を「n番目の車線領域」という場合がある。
まず、第2の推定部13は、(n-1)番目の車線領域の推定に用いられた車線基準線上の構成点群に基づき、3次元確率密度関数を算出する。例えば、第2の推定部13は、カーネル密度推定(KDE:Kernel Density Estimation)により、図19に示すような3次元確率密度関数を算出することができる。
第2の推定部13は、(n-1)番目の車線領域の推定に用いられた車線基準線上の構成点群のデータから3次元確率密度関数生成用のデータを生成し、生成した3次元確率密度関数生成用のデータに基づき3次元確率密度関数を算出することができる。
3次元確率密度関数生成用のデータは、(n-1)番目の車線領域の推定に用いられた車線基準線上の構成点群のデータに近似するランダムなデータである。このような3次元確率密度関数生成用のデータは様々な手法で生成できる。例えば、第2の推定部13は、(n-1)番目の車線領域の推定に用いられた車線基準線上の構成点群のデータの中のi番目のデータである(xi,yi)を処理対象として選択する。そして、第2の推定部13は、以下の式(3)に基づき、当該データに近似するデータをランダムに生成する。
b及びαは予め定められる値である。bは、例えば画像解析で車両を検出した場合に座標yiの近辺で検出される矩形領域(車両が存在する領域)の底辺幅の平均から算出した分散範囲でもよい。
第2の推定部13は、全てのiに対して当該処理を行い、(n-1)番目の車線領域の推定に用いられた車線基準線上の構成点群のデータ各々に対応してランダムに生成したデータの集合を生成する。このデータの集合が、(n-1)番目の車線領域の推定に用いられた車線基準線上の構成点群のデータに近似する構成点群のデータとなる。第2の推定部13は、当該処理を所定回数(例:100回)繰り返すことで、(n-1)番目の車線領域の推定に用いられた車線基準線上の構成点群のデータに近似する構成点群のデータを所定回数分生成する。そして、第2の推定部13は、その所定回数分のデータに基づき3次元確率密度関数を算出する。
第2の推定部13は、例えば上述のようにして、(n-1)番目の車線領域の推定に用いられた車線基準線上の構成点群のデータから3次元確率密度関数生成用のデータを生成する。そして、第2の推定部13は、n番目の車線領域の推定に用いられた車線基準線上の構成点各々を上記3次元確率密度関数に入力し、構成点毎に入力された値の確率(発生率)を算出する。
第2の推定部13は、算出された確率が閾値以上の構成点の数が基準値以上の場合、(n-1)番目の車線領域とn番目の車線領域が同一と判定する。一方、第2の推定部13は、算出された確率が閾値以上の構成点の数が基準値未満の場合、(n-1)番目の車線領域とn番目の車線領域が異なると判定する。ここでの閾値及び基準値は、予め定められる値である。
「車線領域確定判定S5-2(図18)」
第2の推定部13は、所定回数以上続けて、(n-1)番目の車線領域とn番目の車線領域が同一と判定された場合、その間に推定された車線領域を推定結果として確定する。
第2の推定部13は、所定回数以上続けて、(n-1)番目の車線領域とn番目の車線領域が同一と判定された場合、その間に推定された車線領域を推定結果として確定する。
「所定回数以上続けて、(n-1)番目の車線領域とn番目の車線領域が同一と判定された場合」という条件の「同一と判定されたこと」は、「S5-1で同一と判定されたこと」であってもよい。
その他の例として、第2の推定部13は、S5-1の同一性の判定に加えて、さらに詳細な同一性の判定を行ってもよい。そして、「所定回数以上続けて、(n-1)番目の車線領域とn番目の車線領域が同一と判定された場合」という条件の「同一と判定されたこと」は、「この詳細な同一性の判定で同一と判定されたこと」又は「この詳細な同一性の判定及びS5-1の両方で同一と判定されたこと」であってもよい。
第2の推定部13は、例えば以下の式(4)に基づき、詳細な同一性の判定を行うことができる。第2の推定部13は、以下の式(4)の条件を満たす場合、(n-1)番目の車線領域とn番目の車線領域が同一と判定する。
NewLane xiは、n番目の車線領域の推定に用いられた車線基準線上の構成点群の中のi番目のx座標である。OldLane xiは、(n-1)番目の車線領域の推定に用いられた車線基準線上の構成点群の中のi番目のx座標である。なお、NewLane xi及びOldLane xiは、同一のy座標(yi)に対応するx座標である。
ImageShape Xは、x軸方向の画像の幅である。Mは所定値であり、例えば0.9等である。
「後処理S5-3(図18)」
第2の推定部13は、S5-2において1つの車線領域を確定すると、S2で抽出された軌跡データの中のその確定した車線領域の推定に用いた軌跡データを削除する。その車線領域の推定に用いた軌跡データは、その車線領域を確定するまでにS2で抽出され、S4でその車線領域の車線基準線の算出に用いた軌跡データである。
第2の推定部13は、S5-2において1つの車線領域を確定すると、S2で抽出された軌跡データの中のその確定した車線領域の推定に用いた軌跡データを削除する。その車線領域の推定に用いた軌跡データは、その車線領域を確定するまでにS2で抽出され、S4でその車線領域の車線基準線の算出に用いた軌跡データである。
ところで、実際に存在する車線が複数存在する場合に、複数の車線領域が同時に確定される場合もあれば、1つずつ車線領域が確定される場合もある。1つずつ車線領域が確定される場合は、1つの車線領域が確定された後も、他の車線領域が確定されるまで、図5のS1乃至S5を繰り返す。
このような前提において、上記削除を行い、1つの車線領域に関係する軌跡データがない状態(S2の抽出結果に含まれない状態)にすると、S2で抽出された軌跡データに基づくS4-2の確率密度関数の算出において、誤った内容の結果が算出され得る。
そこで、第2の推定部13は、当該不都合を抑制するため、1つの車線領域に関係する軌跡データを削除した後、その車線領域に関係するダミーデータを作成することができる。そして、以降、第2の推定部13は、その車線領域に関係するダミーデータと、他の車線領域に関係する蓄積された軌跡データ(S2で抽出された軌跡データ)とを用いて、S4-2の確率密度関数の算出を行うことができる。第2の推定部13は、例えば以下の手法でダミーデータを作成することができる。
ダミーデータは、確定された車線領域の推定に用いられた車線基準線上の構成点群のデータに近似するランダムなデータである。このようなダミーデータは様々な手法で生成できる。例えば、第2の推定部13は、確定された車線領域の推定に用いられた車線基準線上の構成点群のデータの中のi番目のデータである(xi,yi)を処理対象として選択する。そして、第2の推定部13は、以下の式(5)に基づき、当該データに近似するデータをランダムに生成する。
βは予め定められる値である。第2の推定部13は、全てのiに対して当該処理を行い、確定された車線領域の推定に用いられた車線基準線上の構成点群のデータ各々に対応してランダムに生成したデータの集合を生成する。このデータの集合が、確定された車線領域の推定に用いられた車線基準線上の構成点群のデータに近似する構成点群のデータとなる。第2の推定部13は、当該処理を所定回数(例:10回)繰り返し、所定回数分のダミーデータを生成する。
「外部出力工程(図4)」
出力部14が、外部出力工程を実行する。外部出力工程において、出力部14は、第1の車線推定工程及び第2の車線推定工程で推定された車線領域を示す情報(動画像内の車線領域を示す情報)を出力する。
出力部14が、外部出力工程を実行する。外部出力工程において、出力部14は、第1の車線推定工程及び第2の車線推定工程で推定された車線領域を示す情報(動画像内の車線領域を示す情報)を出力する。
まず、出力部14は、第1の車線推定工程において第1の手法で推定された第1次車線領域を示す情報を出力する。その後、出力部14は、第2の車線推定工程において第2の手法で推定された第2次車線領域(確定されるまでの推定結果で示される車線領域)を示す情報を出力する。その後、出力部14は、第2の車線推定工程において第2の手法で推定された第3次車線領域(確定された推定結果で示される車線領域)を示す情報を出力する。
出力部14は、第1次車線領域を示す情報を出力し、その後、第2の車線推定工程において第2の手法で第2次車線領域が推定されたことに応じて、第2次車線領域を示す情報を出力することができる。その後、出力部14は、第2の車線推定工程において第2の手法で第3次車線領域が推定されたことに応じて、すなわち第2の車線推定工程において推定結果が確定されたことに応じて、第3次車線領域を示す情報を出力することができる。
車線領域を示す情報の出力先は様々である。例えば、出力先は、推定された車線領域に基づき各種処理を実行する外部装置であってもよい。
外部装置は、推定された車線領域に基づき各種処理を実行する。例えば、外部装置は、推定された車線領域と、定点カメラで生成された動画像とに基づき、頻繁に車線変更を繰り返す車両や、複数の車線に跨って走行する車両等の検出対象を検出してもよい。また、外部装置は、推定された車線領域と、定点カメラで生成された動画像とに基づき、車線毎の交通状況(例:混雑状況)や交通量を測定してもよい。これらの測定は、広く知られたあらゆる技術を利用して実現できる。
その他、出力部14は、車線領域を示す情報として、定点カメラで生成された動画像上に車線領域を示す情報を重畳した加工画像を生成し、出力してもよい。この場合、出力部14は、ディスプレイや投影装置等の出力装置に生成した加工画像を入力し、生成した加工画像を表示させてもよい。その他、出力部14は、その他の装置に生成した加工画像を送信してもよい。なお、出力部14は、対象外領域除外工程で出力された情報に基づき対象外領域を特定してもよい。そして、出力部14は、上記加工画像において、さらに対象外領域を示す情報を重畳してもよい。
次に、図20のフローチャートを用いて、処理装置10の処理の流れの一例を説明する。
図20に示す処理とは別に、映像取得工程(図4参照)が実行され、定点カメラで生成された動画像の取得が継続されている。
まず、処理装置10は、第1の車線推定工程(図4参照)を実行する。すなわち、処理装置10は、定点カメラで生成された動画像の中の1つのフレーム画像に基づき、車線領域を推定する(S20)。この推定結果で示される車線領域が、図4を用いて説明した第1次車線領域となる。次いで、処理装置10は、外部出力工程(図4参照)を実行し、S20の推定結果(第1次車線領域)を出力する(S21)。
なお、処理装置10は、第1の車線推定工程(図4参照)の前に外部補助情報収集工程(図4参照)及び対象外領域除外工程(図4参照)の少なくとも一方を実行してもよい。そして、その工程の出力結果を第1の車線推定工程(図4参照)や、後述する車両検知工程(図4参照)及び第2の車線推定工程(図4参照)で利用してもよい。
S21の後、処理装置10は、車両検知工程(図4参照)及び第2の車線推定工程(図4参照)を実行する。すなわち、処理装置10は、S20で車線領域が推定された後にさらに取得し、蓄積された動画像に基づき車線領域を推定する。
上述の通り、車両検知工程(図4参照)及び第2の車線推定工程(図4参照)では、動画像に基づき車両の移動軌跡を算出し、車両の移動軌跡に基づき車線領域を推定する処理を繰り返す。そして、所定回数以上続けて同様の推定結果が得られた場合、その推定結果で示される車線領域を推定結果として確定する。
S22では、処理装置10は、車両の移動軌跡に基づき車線領域が推定されたか判定する。例えば、繰り返し行われる車線領域を推定する処理において、最初のループで最初の推定結果が得られた場合、処理装置10は、車両の移動軌跡に基づき車線領域が推定されたと判定することができる。この最初のループで得られた最初の推定結果で示される車線領域が、図4を用いて説明した第2次車線領域となる。なお最初のループの最初の推定結果に代えて、2回目のループの推定結果やそれ以降のループの推定結果を第2次車線領域としてもよい。しかし、最初の推定結果を第2次車線領域とすると、第2次車線領域の出力タイミングが早くなり好ましい。
処理装置10は、車両の移動軌跡に基づき車線領域が推定されたと判定するまで、当該判定を繰り返す(S22のNo)。
そして、車両の移動軌跡に基づき車線領域が推定されたと判定すると(S22のYes)、処理装置10は、外部出力工程(図4参照)を実行し、S22の推定結果(第2次車線領域)を出力する(S23)。
S23の後も、処理装置10は、車両検知工程(図4参照)及び第2の車線推定工程(図4参照)を継続する。そして、S24では、処理装置10は、推定結果が確定されたか判定する。上述の通り、処理装置10は、所定回数以上続けて同様の推定結果が得られた場合、その推定結果で示される車線領域を推定結果として確定する。この確定された推定結果で示される車線領域が、図4を用いて説明した第3次車線領域となる。
処理装置10は、推定結果が確定されるまで、当該判定を繰り返す(S24のNo)。この間、処理装置10は、車両検知工程(図4参照)及び第2の車線推定工程(図4参照)を継続する。
そして、推定結果が確定されたと判定すると(S24のYes)、処理装置10は、外部出力工程(図4参照)を実行し、確定された推定結果(第3次車線領域)を出力する(S25)。
なお、上述の通り、定点カメラで生成された動画像の中に複数の車線が写っている場合、複数の車線各々の車線領域(推定結果)が一度に確定される場合もあれば、1つずつ確定される場合がある。
1つずつ確定される場合、処理装置10は、1つ確定される度に、外部出力工程(図4参照)を実行し、確定された1つの推定結果(第3次車線領域)を出力してもよい(S25)。そして、処理装置10は、全ての車線の車線領域(推定結果)が確定するまで、S24及びS25を繰り返してもよい。
その他、1つずつ確定される場合、処理装置10は、全ての車線の車線領域(推定結果)が確定した後に外部出力工程(図4参照)を実行し、確定された全ての推定結果(第3次車線領域)をまとめて出力してもよい(S25)。
ここで、図20のフローチャートを用いて説明した処理の変形例を説明する。上記した処理では、処理装置10は、第2の車線推定工程(図4参照)において、推定結果が確定されるまで車線領域を推定する処理を繰り返す。そして、処理装置10は、確定された推定結果を第3次車線領域として出力し、確定されるまでの複数回のループの中のいずれか「1つ」のループで得られた推定結果を第2次車線領域として出力した。
変形例では、処理装置10は、確定された推定結果を第3次車線領域として出力し、確定されるまでの複数回のループの中のいずれか「2つ以上」のループで得られた推定結果を第2次車線領域として出力する。すなわち、処理装置10は、2つ以上の推定結果を第2次車線領域として出力する。処理装置10は、複数回のループの全てのループで得られた推定結果を第2次車線領域として出力してもよい。その他、処理装置10は、複数回のループの中の一部のループで得られた推定結果を第2次車線領域として出力してもよい。後者の場合、処理装置10は、nループおきに(nは任意の整数)、推定結果を第2次車線領域として出力してもよい。処理装置10は、各回のループの推定結果が得られる都度、その推定結果を第2次車線領域として出力することができる。
確定されるまでの複数回のループ各々で得られた推定結果はいずれも、確定できない精度が不十分な推定結果であるが、その精度は互いに異なる。ループの回数が増えるほど、より多くの蓄積されたデータに基づき推定処理を行うことができるので、精度が高くなる傾向にある。このため、当該変形例によれば、処理装置10から出力される複数の第2次車線領域は、徐々に精度が向上していくこととなる。
また、nループおきに(nは任意の整数)、推定結果を第2次車線領域として出力することで、前回第2次車線領域が出力されてから次に第2次車線領域が出力されるまでの間に蓄積されるデータの量が多くなる。その結果、前回出力された第2次車線領域の精度と次に出力される第2次車線領域の精度との乖離(精度の向上の程度)が大きくなる。この処理によれば、推定結果の精度がほとんど変わらない第2次車線領域を無駄に多く出力する不都合を抑制できる。結果、データ送信量の低減や、コンピュータの処理負担の軽減等が実現される。そして、比較的安価な機材(例えば、LANケーブルやバス)の利用が可能となる等の効果が得られる。
<作用効果>
処理装置10は、まず、第1の手法で車線領域を推定し、その推定結果(第1次車線領域)を迅速に出力することができる。そして、その後、処理装置10は、第1の手法で車線領域が推定された後にさらに取得し、蓄積された動画像に基づき第2の手法で精度の高い推定を行い、その推定結果(第2次車線領域及び第3次車線領域)を出力することができる。
処理装置10は、まず、第1の手法で車線領域を推定し、その推定結果(第1次車線領域)を迅速に出力することができる。そして、その後、処理装置10は、第1の手法で車線領域が推定された後にさらに取得し、蓄積された動画像に基づき第2の手法で精度の高い推定を行い、その推定結果(第2次車線領域及び第3次車線領域)を出力することができる。
このような処理装置10によれば、所定の推定結果(第2の手法による精度の高い推定結果)が得られるまでの間、第1の手法による推定結果に基づき各種処理を行うことが可能となる。結果、所定の推定結果(第2の手法による精度の高い推定結果)が得られるまでの間、推定結果に基づく各種処理を実行できないという課題が解決される。
また、処理装置10は、第1の手法として、動画像の中の1つのフレーム画像に基づき車線領域を推定する処理を採用することができる。例えば、処理装置10は、第1の手法として、1つのフレーム画像の中から白線を検出し、検出した白線に基づき車線領域を推定する処理を採用することができる。
このような1つのフレーム画像に基づき車線領域を推定する処理の場合、複数のフレーム画像からなる動画像に基づき車線領域を推定する処理に比べて、処理対象のデータ(1つのフレーム画像)を素早く取得することができる。また、解析対象のデータの量も比較的小さくなる。このため、1つのフレーム画像に基づき車線領域を推定する処理の場合、素早く推定結果を出力することができる。
第1の手法として、動画像の中の1つのフレーム画像に基づき車線領域を推定する処理を採用することができる処理装置10によれば、第1の手法の推定結果を迅速に出力することができる。
ところで、第1の手法の場合、動画像の中で白線の一部が隠れていたり不鮮明になっていたりするような場合に、推定結果の精度が低くなり得る。そして、定点カメラで生成された動画像の場合、このような不都合が比較的起きやすい。すなわち、白線から離れた定点カメラの場合、障害物で白線が隠されるという状況が起きやすい。また、光(日光や車両のライト等)の影響で画像上の白線が不鮮明になる場合がある。
処理装置10は、第2の手法として、車両の移動軌跡に基づき車線領域を推定する処理を採用することでで、第1の手法の当該不都合を補う。なお、第2の手法は、推定の精度が比較的高くなるが、推定結果が得られるまでに時間がかかるという問題がある。処理装置10は、第1の手法を採用することで、第2の手法の当該不都合を補う。このように、処理装置10は、第1の手法と第2の手法を併用することで、各々の強みを生かしつつ、各々の問題を補っている。
第2の手法では、処理装置10は、定点カメラで検出された車両の移動軌跡に基づき、車線領域を推定する。車両は車線に沿って走行する。このため、定点カメラで検出された車両の移動軌跡は、車線に沿ったものになる傾向にある。処理装置10は、このような傾向にある車両の移動軌跡に基づき、車線領域を推定する。
このような第2の手法の場合、路上での車両の移動軌跡を検出できればよく、画像解析等で路上の白線を検出する必要がない。このような第2の手法によれば、第1の手法の不都合を補うことができる。
また、処理装置10によれば、定点カメラを設置した後、設置後にその定点カメラで生成された動画像に基づき、自動的又は半自動的に車線領域を推定することができる。また、処理装置10によれば、定点カメラの向きや位置や測定条件(ズーム等)等を変更した後も、変更後にその定点カメラで生成された動画像に基づき、自動的又は半自動的に車線領域を推定することができる。このような処理装置10によれば、定点カメラの設置や、向き・位置・測定条件等の変更毎に、作業員がいちいち定点カメラ毎に撮影範囲内の車線領域を登録するなどの面倒な作業を回避できる。例えば工事現場等の一時的に監視が必要な場所に定点カメラを設置する場合等のように頻繁に定点カメラの設置や設定の変更を繰り返すことがある。この場合、その都度作業員による車線領域の登録作業が必要になると面倒である。処理装置10によれば、当該不都合を軽減できる。
<<第3の実施形態>>
図21に、処理装置10が実行する処理を示す。図21に示すように、処理装置10は、車線領域の推定結果として、第1次車線領域及び第3次車線領域を出力するが、第2次車線領域を出力しない。本実施形態の処理装置10は、第2次車線領域を出力しない点で、第2の実施形態の処理装置10(図4参照)と異なる。
図21に、処理装置10が実行する処理を示す。図21に示すように、処理装置10は、車線領域の推定結果として、第1次車線領域及び第3次車線領域を出力するが、第2次車線領域を出力しない。本実施形態の処理装置10は、第2次車線領域を出力しない点で、第2の実施形態の処理装置10(図4参照)と異なる。
本実施形態の出力部14は、まず、第1の手法(第1の車線推定工程)で推定された車線領域(第1次車線領域)を示す情報を出力する。その後、出力部14は、第2の手法(第2の車線推定工程)の推定結果が確定されたことに応じて、確定された推定結果で示される車線領域(第3次車線領域)を示す情報を出力する。
次に、図22のフローチャートを用いて、処理装置10の処理の流れの一例を説明する。
図22に示す処理とは別に、映像取得工程(図21参照)が実行され、定点カメラで生成された動画像の取得が継続されている。
まず、処理装置10は、第1の車線推定工程(図21参照)を実行する。すなわち、処理装置10は、定点カメラで生成された動画像の中の1つのフレーム画像に基づき、車線領域を推定する(S30)。この推定結果で示される車線領域が、図21の第1次車線領域となる。次いで、処理装置10は、外部出力工程(図21参照)を実行し、S30の推定結果(第1次車線領域)を出力する(S31)。
なお、処理装置10は、第1の車線推定工程(図21参照)の前に外部補助情報収集工程(図21参照)及び対象外領域除外工程(図21参照)の少なくとも一方を実行してもよい。そして、その工程の出力結果を第1の車線推定工程(図21参照)や、後述する車両検知工程(図21参照)及び第2の車線推定工程(図21参照)で利用してもよい。
S31の後、処理装置10は、車両検知工程(図21参照)及び第2の車線推定工程(図21参照)を実行する。すなわち、処理装置10は、S30で車線領域が推定された後にさらに取得し、蓄積された動画像に基づき車線領域を推定する。
上述の通り、車両検知工程(図21参照)及び第2の車線推定工程(図21参照)では、動画像に基づき車両の移動軌跡を算出し、車両の移動軌跡に基づき車線領域を推定する処理を繰り返す。そして、所定回数以上続けて同様の推定結果が得られた場合、その推定結果で示される車線領域を推定結果として確定する。
S32では、処理装置10は、推定結果が確定されたか判定する。この確定された推定結果で示される車線領域が、図21の第3次車線領域となる。処理装置10は、推定結果が確定されるまで、当該判定を繰り返す(S32のNo)。この間、処理装置10は、車両検知工程(図21参照)及び第2の車線推定工程(図21参照)を継続する。
そして、推定結果が確定されたと判定すると(S32のYes)、処理装置10は、外部出力工程(図21参照)を実行し、確定された推定結果(第3次車線領域)を出力する(S33)。
なお、上述の通り、定点カメラで生成された動画像の中に複数の車線が写っている場合、複数の車線各々の車線領域(推定結果)が一度に確定される場合もあれば、1つずつ確定される場合がある。
1つずつ確定される場合、処理装置10は、1つ確定される度に、外部出力工程(図21参照)を実行し、確定された1つの推定結果(第3次車線領域)を出力してもよい(S33)。そして、処理装置10は、全ての車線の車線領域(推定結果)が確定するまで、S32及びS33を繰り返してもよい。
その他、1つずつ確定される場合、処理装置10は、全ての車線の車線領域(推定結果)が確定した後に外部出力工程(図21参照)を実行し、確定された全ての推定結果(第3次車線領域)をまとめて出力してもよい(S33)。
本実施形態の処理装置10のその他の構成は、第2の実施形態の処理装置10の構成と同様である。
本実施形態の処理装置10によれば、第2の実施形態の処理装置10と同様の作用効果が実現される。
また、本実施形態の処理装置10は、まず、第1の手法で車線領域を推定し、その推定結果(第1次車線領域)を迅速に出力することができる。そして、その後、処理装置10は、第1の手法で車線領域が推定された後にさらに取得し、蓄積された動画像に基づき第2の手法で精度の高い推定を行い、その推定結果(第3次車線領域)を出力することができる。
第2の実施形態の処理装置10は、精度の高い推定結果(第3次車線領域)を出力する前に2つの推定結果(第1次車線領域及び第2次車線領域)を出力していた。これに対し、本実施形態の処理装置10は、精度の高い推定結果(第3次車線領域)を出力する前に1つの推定結果(第1次車線領域)を出力する。
処理装置10の用途によっては、精度の高い推定結果(第3次車線領域)が得られるまでの間、何らかの推定結果が得られていれば足りるという場合がある。このような場合、第3次車線領域の前に第1次車線領域を出力すれば足り、第2次車線領域まで出力する必要がない。本実施形態の処理装置10は、このようなニーズにあった出力を行うことができる。
<<第4の実施形態>>
図23に、処理装置10が実行する処理を示す。図23に示すように、処理装置10は、第1の車線推定工程を実行しない。そして、本実施形態の処理装置10は、車線領域の推定結果として、第2次車線領域及び第3次車線領域を出力するが、第1次車線領域を出力しない。本実施形態の処理装置10は、第1の車線推定工程を実行しない点、及び第1次車線領域を出力しない点で、第2の実施形態の処理装置10(図4参照)と異なる。
図23に、処理装置10が実行する処理を示す。図23に示すように、処理装置10は、第1の車線推定工程を実行しない。そして、本実施形態の処理装置10は、車線領域の推定結果として、第2次車線領域及び第3次車線領域を出力するが、第1次車線領域を出力しない。本実施形態の処理装置10は、第1の車線推定工程を実行しない点、及び第1次車線領域を出力しない点で、第2の実施形態の処理装置10(図4参照)と異なる。
本実施形態の第1の推定部12が実行する「第1の手法」は、第2の車線推定工程(図23参照)で得られる確定前の推定結果で示される車線領域を、推定結果として出力する手法である。
そして、本実施形態の第2の推定部13が実行する「第2の手法」は、第2の車線推定工程(図23参照)で得られる確定された推定結果で示される車線領域を、推定結果として出力する手法である。
本実施形態の出力部14は、まず、第1の手法で推定された車線領域(確定される前の推定結果で示される車線領域:第2次車線領域)を示す情報を出力する。その後、出力部14は、第2の手法で推定された車線領域(確定された推定結果で示される車線領域:第3次車線領域)を示す情報を出力する。
次に、図24のフローチャートを用いて、処理装置10の処理の流れの一例を説明する。
図24に示す処理とは別に、映像取得工程(図23参照)が実行され、定点カメラで生成された動画像の取得が継続されている。
そして、処理装置10は、車両検知工程(図23参照)及び第2の車線推定工程(図23参照)を実行する。上述の通り、車両検知工程(図23参照)及び第2の車線推定工程(図23参照)では、動画像に基づき車両の移動軌跡を算出し、車両の移動軌跡に基づき車線領域を推定する処理を繰り返す。そして、所定回数以上続けて同様の推定結果が得られた場合、その推定結果で示される車線領域を推定結果として確定する。
S40では、処理装置10は、車両の移動軌跡に基づき車線領域が推定されたか判定する。例えば、繰り返し行われる車線領域を推定する処理において、最初のループで最初の推定結果が得られた場合、処理装置10は、車両の移動軌跡に基づき車線領域が推定されたと判定することができる。この最初のループで得られた最初の推定結果で示される車線領域が、図23の第2次車線領域となる。なお最初のループの最初の推定結果に代えて、2回目のループの推定結果やそれ以降のループの推定結果を第2次車線領域としてもよい。しかし、最初の推定結果を第2次車線領域とすると、第2次車線領域の出力タイミングが早くなり好ましい。
処理装置10は、車両の移動軌跡に基づき車線領域が推定されたと判定するまで、当該判定を繰り返す(S40のNo)。
そして、車両の移動軌跡に基づき車線領域が推定されたと判定すると(S40のYes)、処理装置10は、外部出力工程(図23参照)を実行し、S40の推定結果(第2次車線領域)を出力する(S41)。
S41の後も、処理装置10は、車両検知工程(図23参照)及び第2の車線推定工程(図23参照)を継続する。そして、S42では、処理装置10は、推定結果が確定されたか判定する。上述の通り、処理装置10は、所定回数以上続けて同様の推定結果が得られた場合、その推定結果で示される車線領域を推定結果として確定する。この確定された推定結果で示される車線領域が、図23の第3次車線領域となる。
処理装置10は、推定結果が確定されるまで、当該判定を繰り返す(S42のNo)。この間、処理装置10は、車両検知工程(図23参照)及び第2の車線推定工程(図23参照)を継続する。
そして、推定結果が確定されたと判定すると(S43のYes)、処理装置10は、外部出力工程(図23参照)を実行し、確定された推定結果(第3次車線領域)を出力する(S43)。
なお、上述の通り、定点カメラで生成された動画像の中に複数の車線が写っている場合、複数の車線各々の車線領域(推定結果)が一度に確定される場合もあれば、1つずつ確定される場合がある。
1つずつ確定される場合、処理装置10は、1つ確定される度に、外部出力工程(図23参照)を実行し、確定された1つの推定結果(第3次車線領域)を出力してもよい(S43)。そして、処理装置10は、全ての車線の車線領域(推定結果)が確定するまで、S42及びS43を繰り返してもよい。
その他、1つずつ確定される場合、処理装置10は、全ての車線の車線領域(推定結果)が確定した後に外部出力工程(図23参照)を実行し、確定された全ての推定結果(第3次車線領域)をまとめて出力してもよい(S43)。
なお、処理装置10は、車両検知工程(図23参照)及び第2の車線推定工程(図23参照)の前に外部補助情報収集工程(図23参照)及び対象外領域除外工程(図23参照)の少なくとも一方を実行してもよい。そして、その工程の出力結果を車両検知工程(図23参照)や第2の車線推定工程(図23参照)で利用してもよい。
ここで、図24のフローチャートを用いて説明した処理の変形例を説明する。上記した処理では、処理装置10は、第2の車線推定工程(図4参照)において、推定結果が確定されるまで車線領域を推定する処理を繰り返す。そして、処理装置10は、確定された推定結果を第3次車線領域として出力し、確定されるまでの複数回のループの中のいずれか「1つ」のループで得られた推定結果を第2次車線領域として出力した。
変形例では、処理装置10は、確定された推定結果を第3次車線領域として出力し、確定されるまでの複数回のループの中のいずれか「2つ以上」のループで得られた推定結果を第2次車線領域として出力する。すなわち、処理装置10は、2つ以上の推定結果を第2次車線領域として出力する。処理装置10は、複数回のループの全てのループで得られた推定結果を第2次車線領域として出力してもよい。その他、処理装置10は、複数回のループの中の一部のループで得られた推定結果を第2次車線領域として出力してもよい。後者の場合、処理装置10は、nループおきに(nは任意の整数)、推定結果を第2次車線領域として出力してもよい。処理装置10は、各回のループの推定結果が得られる都度、その推定結果を第2次車線領域として出力することができる。
本実施形態の処理装置10のその他の構成は、第2の実施形態の処理装置10の構成と同様である。
本実施形態の処理装置10によれば、第2の実施形態の処理装置10と同様の作用効果が実現される。
また、本実施形態の処理装置10は、まず、第1の手法で車線領域を推定し、その推定結果(第2次車線領域)を迅速に出力することができる。そして、その後、処理装置10は、第1の手法で車線領域が推定された後にさらに取得し、蓄積された動画像に基づき第2の手法で精度の高い推定を行い、その推定結果(第3次車線領域)を出力することができる。
第2の実施形態の処理装置10は、精度の高い推定結果(第3次車線領域)を出力する前に2つの推定結果(第1次車線領域及び第2次車線領域)を出力していた。これに対し、本実施形態の処理装置10は、精度の高い推定結果(第3次車線領域)を出力する前に1つの推定結果(第2次車線領域)を出力する。
処理装置10の用途によっては、精度の高い推定結果(第3次車線領域)が得られるまでの間、何らかの推定結果が得られていれば足りるという場合がある。このような場合、第3次車線領域の前に第2次車線領域を出力すれば足り、第1次車線領域まで出力する必要がない。本実施形態の処理装置10は、このようなニーズにあった出力を行うことができる。
<<第5の実施形態>>
第2の実施形態で説明したように、定点カメラは、自動的に又は作業員の操作に応じて、向き、位置及び撮影条件(ズーム等)の少なくとも1つを変更することができる。このような変更に応じて、定点カメラで生成された動画像に写るエリアが変化する。定点カメラで生成された動画像に写るエリアが変化すると、動画像内の車線領域も変化するので、車線領域を推定し直す必要がある。本実施形態の処理装置10は、定点カメラで生成された動画像に写るエリアが変化したことを検出し、検出に応じて車線領域を推定し直す。以下、詳細に説明する。
第2の実施形態で説明したように、定点カメラは、自動的に又は作業員の操作に応じて、向き、位置及び撮影条件(ズーム等)の少なくとも1つを変更することができる。このような変更に応じて、定点カメラで生成された動画像に写るエリアが変化する。定点カメラで生成された動画像に写るエリアが変化すると、動画像内の車線領域も変化するので、車線領域を推定し直す必要がある。本実施形態の処理装置10は、定点カメラで生成された動画像に写るエリアが変化したことを検出し、検出に応じて車線領域を推定し直す。以下、詳細に説明する。
図25に、処理装置10の機能ブロック図の一例を示す。図示するように、処理装置10は、取得部11と、第1の推定部12と、第2の推定部13と、出力部14と、変化検出部16とを有する。
変化検出部16は、定点カメラで生成された動画像に写るエリアが変化したことを検出する。
変化検出部16は、定点カメラで生成された動画像を解析し、定点カメラで生成された動画像に写るエリアが変化したことを検出することができる。画像解析で動画像に写るエリアが変化したことの検出は、あらゆる技術を利用して実現できる。例えば、2つの画像の同一性を判定するDeep Learningの技術、テンプレートマッチング、ORB(Oriented fast and Rotated BRIEF)特徴量マッチング等を利用することができる。以下一例を説明するが、これに限定されない。
例えば、定点カメラで同じエリアを撮影し続ける場合、そのエリアに存在し続ける物体が写り続ける。そのエリアに存在し続ける物体は、位置が変化しない物体であり、例えば建物や木等が例示される。そこで、変化検出部16は、画像を解析し、複数のフレーム画像に跨って同じ位置で検出されている物体を、そのエリアに存在し続ける物体として検出してもよい。そして、変化検出部16は、その検出した物体のフレーム画像内の位置が変化したこと、又はその検出した物体がフレーム画像内で検出されなくなったことを検出すると、定点カメラで生成された動画像に写るエリアが変化したと判定してもよい。
その他、変化検出部16は、定点カメラから送信された付加情報に基づき、定点カメラで生成された動画像に写るエリアが変化したことを検出してもよい。
この例の場合、定点カメラは、自装置の制御に基づき自動的に又は作業員の操作に応じて、向き、位置及び撮影条件(ズーム等)の少なくとも1つを変更すると、その旨を示す情報を処理装置10に送信することができる。そして、変化検出部16は、当該情報を定点カメラから受信すると、定点カメラで生成された動画像に写るエリアが変化したと判定することができる。定点カメラは、作業員の操作に応じた変更を、作業員による変更指示入力や、定点カメラが備える各種センサ(姿勢センサ)のセンシングデータ等に基づき検出することができる。
処理装置10は、定点カメラで生成された動画像に写るエリアの変化が検出される度に、図4、図21、図23に示す複数の工程をやり直す。対象外領域除外工程、第1の車線推定工程、車両検知工程、及び第2の車線推定工程では、処理装置10は、変化の前の動画像は用いず、変化の後の動画像を用いて各種処理を実行する。
第1の推定部12は、定点カメラで生成された動画像に写るエリアの変化が検出される度に、変化の後の動画像に基づき第1の手法で車線領域を推定する。
また、第2の推定部13は、定点カメラで生成された動画像に写るエリアの変化が検出されると、変化の後の動画像に基づき第2の手法で車線領域を推定する。なお、第2の推定部13は、変化の前の動画像は利用しない。
そして、出力部14は、定点カメラで生成された動画像に写るエリアの変化が検出される度に、変化の後の動画像に基づき第1の手法で推定された車線領域を示す情報を出力する。その後、出力部14は、変化の後の動画像に基づき第2の手法で推定された車線領域を示す情報を出力する。
本実施形態の処理装置10のその他の構成は、第1乃至第4の実施形態の処理装置10の構成と同様である。
本実施形態の処理装置10によれば、第1乃至第4の実施形態の処理装置10と同様の作用効果が実現される。
また、本実施形態の処理装置10は、定点カメラで生成された動画像に写るエリアが変化したことを自動的に検出し、当該検出に応じて車線領域の推定をやり直すことができる。このような本実施形態の処理装置10によれば、定点カメラの向き、位置、撮影条件(ズーム等)等の変更に応じた車線領域の推定し直しを自動化又は半自動化できて好ましい。
<<第6の実施形態>>
第1乃至第5の実施形態で説明したように、処理装置10は、複数種類の推定結果(第1次乃至第3次車線領域の中の少なくとも2つ)を出力することができる。本実施形態の処理装置10は、ユーザ入力に基づき、複数種類の推定結果の中のいずれを出力するか設定する。そして、処理装置10は、出力するように設定されている推定結果を出力する。以下、詳細に説明する。
第1乃至第5の実施形態で説明したように、処理装置10は、複数種類の推定結果(第1次乃至第3次車線領域の中の少なくとも2つ)を出力することができる。本実施形態の処理装置10は、ユーザ入力に基づき、複数種類の推定結果の中のいずれを出力するか設定する。そして、処理装置10は、出力するように設定されている推定結果を出力する。以下、詳細に説明する。
図26に、処理装置10の機能ブロック図の一例を示す。図示するように、処理装置10は、取得部11と、第1の推定部12と、第2の推定部13と、出力部14と、設定部15とを有する。なお、処理装置10は、変化検出部16をさらに有してもよい。
設定部15は、ユーザ入力に基づき、第1の手法及び前記第2の手法で推定される複数種類の車線領域の中のいずれを出力するか設定する。
第2の実施形態の構成を採用する場合、出力するか否か設定可能な「複数種類の車線領域」は、第1次乃至第3次車線領域である。
第3の実施形態の構成を採用する場合、出力するか否か設定可能な「複数種類の車線領域」は、第1次及び第3次車線領域である。
第4の実施形態の構成を採用する場合、出力するか否か設定可能な「複数種類の車線領域」は、第2次及び第3次車線領域である。
出力部14は、出力することが設定されている種類の車線領域を示す情報を出力する。出力部14は、出力しないことが設定されている種類の車線領域を示す情報を出力しない。
本実施形態の処理装置10のその他の構成は、第1乃至第5の実施形態の処理装置10の構成と同様である。
本実施形態の処理装置10によれば、第1乃至第5の実施形態の処理装置10と同様の作用効果が実現される。
また、本実施形態の処理装置10は、ユーザ入力に基づき、複数種類の推定結果の中のいずれを出力するか設定し、出力するように設定されている推定結果を出力する。このような処理装置10によれば、ユーザは、出力される推定結果の種類をカスタマイズできて好ましい。
<<第7の実施形態>>
本実施形態の処理装置10は、車両検知工程(図4、21、23)、及び第2の車線推定工程(図4、21、23)の内容が、第2の実施形態で説明した内容と異なる。第2の実施形態では、車両の移動軌跡に基づき車線領域を推定する処理を説明した。本実施形態では、車両の位置に基づき車線領域を推定する処理を説明する。
本実施形態の処理装置10は、車両検知工程(図4、21、23)、及び第2の車線推定工程(図4、21、23)の内容が、第2の実施形態で説明した内容と異なる。第2の実施形態では、車両の移動軌跡に基づき車線領域を推定する処理を説明した。本実施形態では、車両の位置に基づき車線領域を推定する処理を説明する。
車両は車線に沿って走行する。このため、定点カメラで検出された車両の位置は、車線に沿って点在する傾向にある。処理装置10は、このような傾向にある車両の位置に基づき、車線領域を推定する。以下、詳細に説明する。
「車両検知工程(図4、21、23)」
第2の推定部13が、車両検知工程を実行する。車両検知工程では、第2の推定部13は、動画像(フレーム画像)の中から車両を検知する。そして、第2の推定部13は、検知した車両の位置を示す位置データを生成する。第2の推定部13は、生成した位置データを出力することができる。車両検知工程で出力された位置データは、図4、21、23に示す他の工程で利用される。
第2の推定部13が、車両検知工程を実行する。車両検知工程では、第2の推定部13は、動画像(フレーム画像)の中から車両を検知する。そして、第2の推定部13は、検知した車両の位置を示す位置データを生成する。第2の推定部13は、生成した位置データを出力することができる。車両検知工程で出力された位置データは、図4、21、23に示す他の工程で利用される。
「位置データ」は、定点カメラの撮影範囲内における車両の位置を示す。より詳細には、位置データは、車両の基準箇所の位置を示す。本実施形態では、車両の進行方向に向かって左右方向の略中心を地面まで下ろした点を車両の基準箇所とする。例えば、簡易的に、動画像内で検出した車両が写る矩形領域の底辺の中心を車両の基準箇所としてもよい。第2の実施形態で説明した通り、車両のその他の箇所を基準箇所としてもよい。
位置データは、例えば定点カメラが生成した動画像(フレーム画像)に設定された2次元座標系における座標で車両の位置を示すデータである。なお、複数のフレーム画像に跨って存在する同じ車両の位置データを紐付ける必要はなく、単に、フレーム画像毎に車両の基準箇所の位置を検出し、その結果を位置データとして蓄積すればよい。
「第2の車線推定工程(図4、21、23)」
第2の推定部13が、第2の車線推定工程を実行する。当該工程では、第2の推定部13は、車両検知工程(図4、21、23)で生成された位置データに基づき、車線領域を推定する。
第2の推定部13が、第2の車線推定工程を実行する。当該工程では、第2の推定部13は、車両検知工程(図4、21、23)で生成された位置データに基づき、車線領域を推定する。
第2の推定部13は、第2の車線推定工程(図4、21、23)として、図27のS1、S4及びS5の処理を実行することができる。各処理の概要は以下の通りである。
データ取得処理S1:第2の推定部13は、位置データを取得する。
車線領域推定処理S4:第2の推定部13は、それまでにS1で取得された位置データに基づき、車線領域を推定する。
車線領域確定処理S5:第2の推定部13は、車線領域を、S4の推定結果で確定するか判定する。確定しない場合、S1に戻って同様の処理が繰り返される。S5の処理を行うことで、S4の推定結果をそのまま車線領域として確定するのでなく、信頼できる推定結果がS4で得られた段階で、その推定結果を車線領域として確定することができる。結果、信頼度の高い結果を出力することが可能となる。
車線領域推定処理S4:第2の推定部13は、それまでにS1で取得された位置データに基づき、車線領域を推定する。
車線領域確定処理S5:第2の推定部13は、車線領域を、S4の推定結果で確定するか判定する。確定しない場合、S1に戻って同様の処理が繰り返される。S5の処理を行うことで、S4の推定結果をそのまま車線領域として確定するのでなく、信頼できる推定結果がS4で得られた段階で、その推定結果を車線領域として確定することができる。結果、信頼度の高い結果を出力することが可能となる。
以下、各処理を詳細に説明する。
「データ取得処理S1(図27)」
第2の推定部13は、車両検知工程(図4、21、23)で生成された位置データを取得する。
第2の推定部13は、車両検知工程(図4、21、23)で生成された位置データを取得する。
「車線領域推定処理S4(図27)」
第2の推定部13は、車両の位置データに基づき車線領域を推定する。第2の推定部13は、所定間隔の複数のy座標(y0、y1、y2・・・)毎の確率密度関数の生成の仕方が、第2の実施形態と異なる。確率密度関数を生成した後の処理は、第2の実施形態と同様である。以下、本実施形態の確率密度関数の生成の仕方を説明する。
第2の推定部13は、車両の位置データに基づき車線領域を推定する。第2の推定部13は、所定間隔の複数のy座標(y0、y1、y2・・・)毎の確率密度関数の生成の仕方が、第2の実施形態と異なる。確率密度関数を生成した後の処理は、第2の実施形態と同様である。以下、本実施形態の確率密度関数の生成の仕方を説明する。
第2の推定部13は、図28(A)に示すように、車両の位置データに基づき3次元確率密度関数を算出する。例えば、第2の推定部13は、カーネル密度推定により、図28(A)に示すような3次元確率密度関数を算出することができる。
この3次元確率密度関数により、所定間隔の複数のy座標(y0、y1、y2・・・)毎に、車線の幅方向の各位置(x座標)において車両の位置データが発生する確率が示される。第2の推定部13は、所定間隔の複数のy座標(y0、y1、y2・・・)毎に、このような3次元確率密度関数のピーク位置やピーク数を算出する(図28(B))。
本実施形態の処理装置10のその他の構成は、第1乃至第6の実施形態の処理装置10の構成と同様である。
本実施形態の処理装置10によれば、第1乃至第6の実施形態の処理装置10と同様の作用効果が実現される。
また、本実施形態の処理装置10は、車両の軌跡データを用いず、車両の位置データを用いて、車線領域を推定することができる。このように、本実施形態の処理装置10は、第2の実施形態とは一部が異なる新たな手法で、定点カメラで生成した動画像に基づき車線領域を推定することができる。
<<変形例>>
<変形例1>
第2の推定部13は、「車線基準線」を、第1乃至第7の実施形態の手法(所定間隔の複数のy座標(y0、y1、y2・・・)毎の確率密度関数を利用する手法)と異なる手法で算出してもよい。例えば、第2の推定部13は、軌跡データを平均して得られたデータが示す線を車線基準線として算出してもよい。処理対象の軌跡データの中に複数の車線の軌跡データが含まれることが想定される場合には、第2の推定部13は、位置(x座標の位置)が近いもの同士で軌跡データをグループ化し、グループ毎に平均して車線の基準線を算出してもよい。グループ化は、クラスタリング技術等を用いて実現される。
<変形例1>
第2の推定部13は、「車線基準線」を、第1乃至第7の実施形態の手法(所定間隔の複数のy座標(y0、y1、y2・・・)毎の確率密度関数を利用する手法)と異なる手法で算出してもよい。例えば、第2の推定部13は、軌跡データを平均して得られたデータが示す線を車線基準線として算出してもよい。処理対象の軌跡データの中に複数の車線の軌跡データが含まれることが想定される場合には、第2の推定部13は、位置(x座標の位置)が近いもの同士で軌跡データをグループ化し、グループ毎に平均して車線の基準線を算出してもよい。グループ化は、クラスタリング技術等を用いて実現される。
<変形例2>
第2の推定部13は、推定した車線領域毎に、車両の進行方向を特定してもよい。例えば、第2の推定部13は、定点カメラで生成された動画像に基づき、推定した車線領域各々の中で検出した車両が時間経過とともにいずれの方向に移動するかを特定する。そして、第2の推定部13は、特定した方向を、各車線領域における車両の進行方向とする。
第2の推定部13は、推定した車線領域毎に、車両の進行方向を特定してもよい。例えば、第2の推定部13は、定点カメラで生成された動画像に基づき、推定した車線領域各々の中で検出した車両が時間経過とともにいずれの方向に移動するかを特定する。そして、第2の推定部13は、特定した方向を、各車線領域における車両の進行方向とする。
<変形例3>
処理装置10は、第2の車線推定工程において、取得した車両のデータ(軌跡データ/位置データ)の中から、二輪車のデータ(軌跡データ/位置データ)を除去する処理を行ってもよい。そして、処理装置10は、二輪車のデータ(軌跡データ/位置データ)を除去した車両のデータ(軌跡データ/位置データ)に基づき、車線領域を推定してもよい。二輪車は、バイク、電動キックボード、自転車等である。
処理装置10は、第2の車線推定工程において、取得した車両のデータ(軌跡データ/位置データ)の中から、二輪車のデータ(軌跡データ/位置データ)を除去する処理を行ってもよい。そして、処理装置10は、二輪車のデータ(軌跡データ/位置データ)を除去した車両のデータ(軌跡データ/位置データ)に基づき、車線領域を推定してもよい。二輪車は、バイク、電動キックボード、自転車等である。
上述の通り、処理装置10は、第2の車線推定工程においては、車両の走行軌跡や走行中の位置に基づき車線領域を推定するが、二輪車の走行軌跡や走行中の位置は、四輪車や大型車の走行軌跡や走行中の位置と傾向が異なる。具体的には、二輪車に比べて横幅がある四輪車や大型車は車線の略中央を走行する傾向にあるが、二輪車は走行可能な位置の幅が広いため、車線の端を走行したり、車線の略中央を走行したりとばらつく傾向にある。このような二輪車の軌跡データや位置データを除去することで、車線領域の推定の精度が向上する。取得した車両のデータ(軌跡データ/位置データ)が二輪車のデータであるか否かは、定点カメラで生成された画像を解析することで特定することができる。当該特定処理は、処理装置10が行ってもよいし、その他の装置が行ってもよい。
<変形例4>
処理装置10は、第2の車線推定工程において、取得した車両のデータ(軌跡データ/位置データ)の中から、所定の車両のデータ(軌跡データ/位置データ)を抽出する処理を行ってもよい。そして、処理装置10は、抽出した車両のデータ(軌跡データ/位置データ)に基づき、車線領域を推定してもよい。
処理装置10は、第2の車線推定工程において、取得した車両のデータ(軌跡データ/位置データ)の中から、所定の車両のデータ(軌跡データ/位置データ)を抽出する処理を行ってもよい。そして、処理装置10は、抽出した車両のデータ(軌跡データ/位置データ)に基づき、車線領域を推定してもよい。
所定の車両は、専用車線又は優先車線が存在する車両であってもよい。例えば、所定の車両は、バス、大型車、タクシー、自転車等であってもよい。このような所定の車両のデータ(軌跡データ/位置データ)は、各車両の専用車線や優先車線の推定に適している。このような所定の車両のデータ(軌跡データ/位置データ)を抽出し、抽出した所定の車両のデータ(軌跡データ/位置データ)に基づき車線領域を推定することで、各車両の専用車線や優先車線を高精度に推定することができる。
取得した車両のデータ(軌跡データ/位置データ)が所定の車両のデータであるか否かは、定点カメラで生成された画像を解析することで特定することができる。当該特定処理は、処理装置10が行ってもよいし、その他の装置が行ってもよい。
<変形例5>
処理装置10は、第1の手法で推定された車線領域と、第2の手法で推定された車線領域のいずれか一方のみを出力してもよい。
処理装置10は、第1の手法で推定された車線領域と、第2の手法で推定された車線領域のいずれか一方のみを出力してもよい。
また、処理装置10は、車線領域の推定を早期に完了させる要求を受付けたことに応じて、第1の手法で推定された車線領域、及び第2の手法で推定された車線領域のいずれを出力するか選択してもよい。
例えば、上記要求では、推定結果に対する要求内容がさらに示されてもよい。要求内容は、「早さ優先」や「精度優先」等である。処理装置10は、複数の要求内容を選択可能にユーザに向けて提示し、その中から選択する入力を受付けてもよい。例えば、処理装置10は、要求内容が「早さ優先」である場合、第1の手法で推定された車線領域を出力することを選択してもよい。そして、処理装置10は、要求内容が「精度優先」である場合、第2の手法で推定された車線領域を出力することを選択してもよい。
その他、上記要求では、推定結果を得るまでの希望時間がさらに示されてもよい。そして、処理装置10は、希望時間が閾値未満である場合、第1の手法で推定された車線領域を出力することを選択してもよい。そして、処理装置10は、希望時間が閾値以上である場合、第2の手法で推定された車線領域を出力することを選択してもよい。例えば、第2の車線推定工程において第3次車線領域が出力されるまでに要する時間の目安が、ここでの閾値として設定される。
<<利用場面>>
第1乃至第7の実施形態、及び変形例で説明した処理装置10は、様々な場面で利用することができる。以下、一例を説明する。なお、ここでの例示はあくまで一例であり、処理装置10の利用場面はここでの例示に限定されない。
第1乃至第7の実施形態、及び変形例で説明した処理装置10は、様々な場面で利用することができる。以下、一例を説明する。なお、ここでの例示はあくまで一例であり、処理装置10の利用場面はここでの例示に限定されない。
一例では、処理装置10は、車線領域の推定結果を車両に通知することができる。処理装置10は、路上を走行している車両に、路車間通信等のあらゆる通信手段を介して、車線領域の推定結果を車両に通知することができる。車両は、処理装置10から受信した車線領域の推定結果を、自動運転の制御に利用することができる。
他の例では、処理装置10は、駐車場に設置された定点カメラで生成された画像に基づき生成された車両の軌跡データ又は位置データに基づき、各駐車区画(車線領域)を推定することができる。そして、処理装置10は、駐車場に位置する車両に、路車間通信等のあらゆる通信手段を介して、各駐車区画(車線領域)の推定結果を車両に通知することができる。車両は、処理装置10から受信した各駐車区画(車線領域)の推定結果を、自動駐車の制御に利用することができる。その他、車両は、ディスプレイ等の出力装置を介して、各駐車区画(車線領域)の推定結果をドライバーに通知してもよい。駐車場においては、経年劣化等により、駐車区画を仕切る白線が薄れて見えにくくなる場合がある。本実施形態の処理装置10を利用することで、このような場合の不都合を軽減できる。
他の例では、処理装置10は、定点カメラの撮影範囲において事故などを検知した場合、事故車線の情報も含めて、所定の通知先に通知することができる。また、走行車線の方向を追加で検知する変形例においては、処理装置10は、逆走車両の検知及びそのリスクのある車線を検知し、検知した車両や位置情報を通知することができる。
以上、実施の形態を参照して本開示を説明したが、本開示は上述の実施の形態に限定されるものではない。本開示の構成や詳細には、本開示のスコープ内で当業者が理解し得る様々な変更をすることができる。そして、各実施の形態は、適宜他の実施の形態と組み合わせることができる。
また、上述の説明で用いた複数のフローチャートでは、複数の工程(処理)が順番に記載されている。しかし、各実施の形態で実行される工程の実行順序は、その記載の順番に制限されない。各実施の形態では、図示される工程の順番を内容的に支障のない範囲で変更することができる。
上記の実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下に限られない。
1. 定点カメラで生成された動画像を取得する取得手段と、
前記動画像に基づき第1の手法で車線領域を推定する第1の推定手段と、
前記第1の手法で車線領域が推定された後にさらに蓄積された前記動画像に基づき、前記第1の手法と異なる第2の手法で車線領域を推定する第2の推定手段と、
前記第1の手法で推定された車線領域を示す情報を出力し、その後、前記第2の手法で推定された車線領域を示す情報を出力する出力手段と、
を有する処理装置。
2. 前記第1の推定手段は、前記動画像の中の1つのフレーム画像に基づき車線領域を推定し、
前記第2の推定手段は、前記動画像の中の複数のフレーム画像に基づき車線領域を推定する1に記載の処理装置。
3. 前記第1の推定手段は、
前記動画像の中から白線を検出し、検出した白線に基づき車線領域を推定し、
前記第2の推定手段は、
前記動画像に基づき車両の移動軌跡又は車両の位置を検出し、検出した車両の移動軌跡又は車両の位置に基づき車線領域を推定する1又は2に記載の処理装置。
4. 前記第2の推定手段は、
車両の移動軌跡又は車両の位置の検出を継続し、
蓄積された車両の移動軌跡又は車両の位置に基づく車線領域の推定を繰り返し実行し、
(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域との差分が基準以下の場合、(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域は同一と判定し、
所定回数以上続けて同一と判定された場合、その間に推定された車線領域を推定結果として確定し、
前記出力手段は、
前記第1の手法で推定された車線領域を示す情報を出力し、その後、前記推定結果が確定されたことに応じて、確定された前記推定結果で示される車線領域を示す情報を出力する3に記載の処理装置。
5. 前記出力手段は、
前記第1の手法で推定された車線領域を示す情報を出力し、その後、確定される前の前記推定結果で示される車線領域を示す情報を出力し、その後、確定された前記推定結果で示される車線領域を示す情報を出力する4に記載の処理装置。
6. 前記第2の推定手段は、
前記動画像に基づき車両の移動軌跡又は車両の位置を検出し、検出した車両の移動軌跡又は車両の位置に基づき車線領域を推定する処理を繰り返し実行し、
(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域との差分が基準以下の場合、(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域は同一と判定し、
所定回数以上続けて同一と判定された場合、その間に推定された車線領域を推定結果として確定し、確定した前記推定結果で示される車線領域を、前記第2の手法で推定された車線領域とし、
前記第1の推定手段は、確定される前の前記推定結果で示される車線領域を、前記第1の手法で推定された車線領域とする1から5のいずれかに記載の処理装置。
7. 前記定点カメラで生成された動画像に写るエリアが変化したことを検出する変化検出手段をさらに有し、
前記第1の推定手段は、前記変化が検出される度に、前記変化の後の前記動画像に基づき前記第1の手法で車線領域を推定し、
前記第2の推定手段は、前記変化が検出されると、前記変化の後の前記動画像に基づき前記第2の手法で車線領域を推定し、
前記出力手段は、前記変化が検出される度に、前記変化の後の前記動画像に基づき前記第1の手法で推定された車線領域を示す情報を出力し、その後、前記変化の後の前記動画像に基づき前記第2の手法で推定された車線領域を示す情報を出力する1から6のいずれかに記載の処理装置。
8. ユーザ入力に基づき、前記第1の手法及び前記第2の手法で推定される複数種類の車線領域の中のいずれを出力するか設定する設定手段をさらに有し、
前記出力手段は、
出力することが設定されている種類の車線領域を示す情報を出力する1から7のいずれかに記載の処理装置。
9. 1つ以上のコンピュータが、
定点カメラで生成された動画像を取得し、
前記動画像に基づき第1の手法で車線領域を推定し、
前記第1の手法で車線領域が推定された後にさらに蓄積された前記動画像に基づき、前記第1の手法と異なる第2の手法で車線領域を推定し、
前記第1の手法で推定された車線領域を示す情報を出力し、その後、前記第2の手法で推定された車線領域を示す情報を出力する処理方法。
10. コンピュータを、
定点カメラで生成された動画像を取得する取得手段、
前記動画像に基づき第1の手法で車線領域を推定する第1の推定手段、
前記第1の手法で車線領域が推定された後にさらに蓄積された前記動画像に基づき、前記第1の手法と異なる第2の手法で車線領域を推定する第2の推定手段、
前記第1の手法で推定された車線領域を示す情報を出力し、その後、前記第2の手法で推定された車線領域を示す情報を出力する出力手段、
として機能させるプログラム。
1. 定点カメラで生成された動画像を取得する取得手段と、
前記動画像に基づき第1の手法で車線領域を推定する第1の推定手段と、
前記第1の手法で車線領域が推定された後にさらに蓄積された前記動画像に基づき、前記第1の手法と異なる第2の手法で車線領域を推定する第2の推定手段と、
前記第1の手法で推定された車線領域を示す情報を出力し、その後、前記第2の手法で推定された車線領域を示す情報を出力する出力手段と、
を有する処理装置。
2. 前記第1の推定手段は、前記動画像の中の1つのフレーム画像に基づき車線領域を推定し、
前記第2の推定手段は、前記動画像の中の複数のフレーム画像に基づき車線領域を推定する1に記載の処理装置。
3. 前記第1の推定手段は、
前記動画像の中から白線を検出し、検出した白線に基づき車線領域を推定し、
前記第2の推定手段は、
前記動画像に基づき車両の移動軌跡又は車両の位置を検出し、検出した車両の移動軌跡又は車両の位置に基づき車線領域を推定する1又は2に記載の処理装置。
4. 前記第2の推定手段は、
車両の移動軌跡又は車両の位置の検出を継続し、
蓄積された車両の移動軌跡又は車両の位置に基づく車線領域の推定を繰り返し実行し、
(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域との差分が基準以下の場合、(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域は同一と判定し、
所定回数以上続けて同一と判定された場合、その間に推定された車線領域を推定結果として確定し、
前記出力手段は、
前記第1の手法で推定された車線領域を示す情報を出力し、その後、前記推定結果が確定されたことに応じて、確定された前記推定結果で示される車線領域を示す情報を出力する3に記載の処理装置。
5. 前記出力手段は、
前記第1の手法で推定された車線領域を示す情報を出力し、その後、確定される前の前記推定結果で示される車線領域を示す情報を出力し、その後、確定された前記推定結果で示される車線領域を示す情報を出力する4に記載の処理装置。
6. 前記第2の推定手段は、
前記動画像に基づき車両の移動軌跡又は車両の位置を検出し、検出した車両の移動軌跡又は車両の位置に基づき車線領域を推定する処理を繰り返し実行し、
(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域との差分が基準以下の場合、(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域は同一と判定し、
所定回数以上続けて同一と判定された場合、その間に推定された車線領域を推定結果として確定し、確定した前記推定結果で示される車線領域を、前記第2の手法で推定された車線領域とし、
前記第1の推定手段は、確定される前の前記推定結果で示される車線領域を、前記第1の手法で推定された車線領域とする1から5のいずれかに記載の処理装置。
7. 前記定点カメラで生成された動画像に写るエリアが変化したことを検出する変化検出手段をさらに有し、
前記第1の推定手段は、前記変化が検出される度に、前記変化の後の前記動画像に基づき前記第1の手法で車線領域を推定し、
前記第2の推定手段は、前記変化が検出されると、前記変化の後の前記動画像に基づき前記第2の手法で車線領域を推定し、
前記出力手段は、前記変化が検出される度に、前記変化の後の前記動画像に基づき前記第1の手法で推定された車線領域を示す情報を出力し、その後、前記変化の後の前記動画像に基づき前記第2の手法で推定された車線領域を示す情報を出力する1から6のいずれかに記載の処理装置。
8. ユーザ入力に基づき、前記第1の手法及び前記第2の手法で推定される複数種類の車線領域の中のいずれを出力するか設定する設定手段をさらに有し、
前記出力手段は、
出力することが設定されている種類の車線領域を示す情報を出力する1から7のいずれかに記載の処理装置。
9. 1つ以上のコンピュータが、
定点カメラで生成された動画像を取得し、
前記動画像に基づき第1の手法で車線領域を推定し、
前記第1の手法で車線領域が推定された後にさらに蓄積された前記動画像に基づき、前記第1の手法と異なる第2の手法で車線領域を推定し、
前記第1の手法で推定された車線領域を示す情報を出力し、その後、前記第2の手法で推定された車線領域を示す情報を出力する処理方法。
10. コンピュータを、
定点カメラで生成された動画像を取得する取得手段、
前記動画像に基づき第1の手法で車線領域を推定する第1の推定手段、
前記第1の手法で車線領域が推定された後にさらに蓄積された前記動画像に基づき、前記第1の手法と異なる第2の手法で車線領域を推定する第2の推定手段、
前記第1の手法で推定された車線領域を示す情報を出力し、その後、前記第2の手法で推定された車線領域を示す情報を出力する出力手段、
として機能させるプログラム。
上述した付記1の処理装置に従属する付記2乃至8の一部又は全ては、付記9の処理方法及び付記10のプログラムに対しても、付記1と付記2乃至8と同様の従属関係により従属し得る。さらに、上述した各実施の形態から逸脱しない範囲において、様々なハードウエア、ソフトウエア、ソフトウエアを記録するための種々の記録手段、又はシステムにおいて、付記として記載した構成の一部又は全てを実現することができる。
この出願は、2024年1月29日に出願された日本出願特願2024-010839号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
10 処理装置
11 取得部
12 第1の推定部
13 第2の推定部
14 出力部
15 設定部
16 変化検出部
1A プロセッサ
2A メモリ
3A 入出力I/F
4A 周辺回路
5A バス
11 取得部
12 第1の推定部
13 第2の推定部
14 出力部
15 設定部
16 変化検出部
1A プロセッサ
2A メモリ
3A 入出力I/F
4A 周辺回路
5A バス
Claims (20)
- 定点カメラで生成された動画像を取得する取得手段と、
前記動画像に基づき第1の手法で車線領域を推定する第1の推定手段と、
前記第1の手法で車線領域が推定された後にさらに蓄積された前記動画像に基づき、前記第1の手法と異なる第2の手法で車線領域を推定する第2の推定手段と、
前記第1の手法で推定された車線領域を示す情報を出力し、その後、前記第2の手法で推定された車線領域を示す情報を出力する出力手段と、
を有する処理装置。 - 前記第1の推定手段は、前記動画像の中の1つのフレーム画像に基づき車線領域を推定し、
前記第2の推定手段は、前記動画像の中の複数のフレーム画像に基づき車線領域を推定する請求項1に記載の処理装置。 - 前記第1の推定手段は、
前記動画像の中から白線を検出し、検出した白線に基づき車線領域を推定し、
前記第2の推定手段は、
前記動画像に基づき車両の移動軌跡又は車両の位置を検出し、検出した車両の移動軌跡又は車両の位置に基づき車線領域を推定する請求項1又は2に記載の処理装置。 - 前記第2の推定手段は、
車両の移動軌跡又は車両の位置の検出を継続し、
蓄積された車両の移動軌跡又は車両の位置に基づく車線領域の推定を繰り返し実行し、
(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域との差分が基準以下の場合、(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域は同一と判定し、
所定回数以上続けて同一と判定された場合、その間に推定された車線領域を推定結果として確定し、
前記出力手段は、
前記第1の手法で推定された車線領域を示す情報を出力し、その後、前記推定結果が確定されたことに応じて、確定された前記推定結果で示される車線領域を示す情報を出力する請求項3に記載の処理装置。 - 前記出力手段は、
前記第1の手法で推定された車線領域を示す情報を出力し、その後、確定される前の前記推定結果で示される車線領域を示す情報を出力し、その後、確定された前記推定結果で示される車線領域を示す情報を出力する請求項4に記載の処理装置。 - 前記第2の推定手段は、
前記動画像に基づき車両の移動軌跡又は車両の位置を検出し、検出した車両の移動軌跡又は車両の位置に基づき車線領域を推定する処理を繰り返し実行し、
(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域との差分が基準以下の場合、(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域は同一と判定し、
所定回数以上続けて同一と判定された場合、その間に推定された車線領域を推定結果として確定し、確定した前記推定結果で示される車線領域を、前記第2の手法で推定された車線領域とし、
前記第1の推定手段は、確定される前の前記推定結果で示される車線領域を、前記第1の手法で推定された車線領域とする請求項1から5のいずれか1項に記載の処理装置。 - 前記定点カメラで生成された動画像に写るエリアが変化したことを検出する変化検出手段をさらに有し、
前記第1の推定手段は、前記変化が検出される度に、前記変化の後の前記動画像に基づき前記第1の手法で車線領域を推定し、
前記第2の推定手段は、前記変化が検出されると、前記変化の後の前記動画像に基づき前記第2の手法で車線領域を推定し、
前記出力手段は、前記変化が検出される度に、前記変化の後の前記動画像に基づき前記第1の手法で推定された車線領域を示す情報を出力し、その後、前記変化の後の前記動画像に基づき前記第2の手法で推定された車線領域を示す情報を出力する請求項1から6のいずれか1項に記載の処理装置。 - ユーザ入力に基づき、前記第1の手法及び前記第2の手法で推定される複数種類の車線領域の中のいずれを出力するか設定する設定手段をさらに有し、
前記出力手段は、
出力することが設定されている種類の車線領域を示す情報を出力する請求項1から7のいずれか1項に記載の処理装置。 - 1つ以上のコンピュータが、
定点カメラで生成された動画像を取得し、
前記動画像に基づき第1の手法で車線領域を推定し、
前記第1の手法で車線領域が推定された後にさらに蓄積された前記動画像に基づき、前記第1の手法と異なる第2の手法で車線領域を推定し、
前記第1の手法で推定された車線領域を示す情報を出力し、その後、前記第2の手法で推定された車線領域を示す情報を出力する処理方法。 - 前記第1の手法で車線領域を推定する処理では、前記動画像の中の1つのフレーム画像に基づき車線領域を推定し、
前記第2の手法で車線領域を推定する処理では、前記動画像の中の複数のフレーム画像に基づき車線領域を推定する請求項9に記載の処理方法。 - 前記第1の手法で車線領域を推定する処理では、
前記動画像の中から白線を検出し、検出した白線に基づき車線領域を推定し、
前記第2の手法で車線領域を推定する処理では、
前記動画像に基づき車両の移動軌跡又は車両の位置を検出し、検出した車両の移動軌跡又は車両の位置に基づき車線領域を推定する請求項9又は10に記載の処理方法。 - 前記第2の手法で車線領域を推定する処理では、
車両の移動軌跡又は車両の位置の検出を継続し、
蓄積された車両の移動軌跡又は車両の位置に基づく車線領域の推定を繰り返し実行し、
(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域との差分が基準以下の場合、(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域は同一と判定し、
所定回数以上続けて同一と判定された場合、その間に推定された車線領域を推定結果として確定し、
前記出力する処理では、
前記第1の手法で推定された車線領域を示す情報を出力し、その後、前記推定結果が確定されたことに応じて、確定された前記推定結果で示される車線領域を示す情報を出力する請求項11に記載の処理方法。 - 前記出力する処理では、
前記第1の手法で推定された車線領域を示す情報を出力し、その後、確定される前の前記推定結果で示される車線領域を示す情報を出力し、その後、確定された前記推定結果で示される車線領域を示す情報を出力する請求項12に記載の処理方法。 - 前記第2の手法で車線領域を推定する処理では、
前記動画像に基づき車両の移動軌跡又は車両の位置を検出し、検出した車両の移動軌跡又は車両の位置に基づき車線領域を推定する処理を繰り返し実行し、
(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域との差分が基準以下の場合、(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域は同一と判定し、
所定回数以上続けて同一と判定された場合、その間に推定された車線領域を推定結果として確定し、確定した前記推定結果で示される車線領域を、前記第2の手法で推定された車線領域とし、
前記第1の手法で車線領域を推定する処理では、確定される前の前記推定結果で示される車線領域を、前記第1の手法で推定された車線領域とする請求項9から13のいずれか1項に記載の処理方法。 - コンピュータを、
定点カメラで生成された動画像を取得する取得手段、
前記動画像に基づき第1の手法で車線領域を推定する第1の推定手段、
前記第1の手法で車線領域が推定された後にさらに蓄積された前記動画像に基づき、前記第1の手法と異なる第2の手法で車線領域を推定する第2の推定手段、
前記第1の手法で推定された車線領域を示す情報を出力し、その後、前記第2の手法で推定された車線領域を示す情報を出力する出力手段、
として機能させるプログラムを記録する記録媒体。 - 前記第1の推定手段は、前記動画像の中の1つのフレーム画像に基づき車線領域を推定し、
前記第2の推定手段は、前記動画像の中の複数のフレーム画像に基づき車線領域を推定する請求項15に記載の記録媒体。 - 前記第1の推定手段は、
前記動画像の中から白線を検出し、検出した白線に基づき車線領域を推定し、
前記第2の推定手段は、
前記動画像に基づき車両の移動軌跡又は車両の位置を検出し、検出した車両の移動軌跡又は車両の位置に基づき車線領域を推定する請求項15又は16に記載の記録媒体。 - 前記第2の推定手段は、
車両の移動軌跡又は車両の位置の検出を継続し、
蓄積された車両の移動軌跡又は車両の位置に基づく車線領域の推定を繰り返し実行し、
(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域との差分が基準以下の場合、(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域は同一と判定し、
所定回数以上続けて同一と判定された場合、その間に推定された車線領域を推定結果として確定し、
前記出力手段は、
前記第1の手法で推定された車線領域を示す情報を出力し、その後、前記推定結果が確定されたことに応じて、確定された前記推定結果で示される車線領域を示す情報を出力する請求項17に記載の記録媒体。 - 前記出力手段は、
前記第1の手法で推定された車線領域を示す情報を出力し、その後、確定される前の前記推定結果で示される車線領域を示す情報を出力し、その後、確定された前記推定結果で示される車線領域を示す情報を出力する請求項18に記載の記録媒体。 - 前記第2の推定手段は、
前記動画像に基づき車両の移動軌跡又は車両の位置を検出し、検出した車両の移動軌跡又は車両の位置に基づき車線領域を推定する処理を繰り返し実行し、
(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域との差分が基準以下の場合、(n-1)回目の処理で推定された車線領域とn回目の処理で推定された車線領域は同一と判定し、
所定回数以上続けて同一と判定された場合、その間に推定された車線領域を推定結果として確定し、確定した前記推定結果で示される車線領域を、前記第2の手法で推定された車線領域とし、
前記第1の推定手段は、確定される前の前記推定結果で示される車線領域を、前記第1の手法で推定された車線領域とする請求項15から19のいずれか1項に記載の記録媒体。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2024-010839 | 2024-01-29 | ||
| JP2024010839 | 2024-01-29 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025164397A1 true WO2025164397A1 (ja) | 2025-08-07 |
Family
ID=96590207
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2025/001534 Pending WO2025164397A1 (ja) | 2024-01-29 | 2025-01-20 | 処理装置、処理方法、及び記録媒体 |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2025164397A1 (ja) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011192069A (ja) * | 2010-03-15 | 2011-09-29 | Kddi R & D Laboratories Inc | 車両交通監視装置およびプログラム |
| JP2015201127A (ja) * | 2014-04-10 | 2015-11-12 | 日本信号株式会社 | 画像処理装置 |
| JP2016224593A (ja) * | 2015-05-28 | 2016-12-28 | アイシン・エィ・ダブリュ株式会社 | 道路形状検出システム、道路形状検出方法及びコンピュータプログラム |
| JP2022148395A (ja) * | 2021-03-24 | 2022-10-06 | 日産自動車株式会社 | 運転支援方法及び運転支援装置 |
-
2025
- 2025-01-20 WO PCT/JP2025/001534 patent/WO2025164397A1/ja active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011192069A (ja) * | 2010-03-15 | 2011-09-29 | Kddi R & D Laboratories Inc | 車両交通監視装置およびプログラム |
| JP2015201127A (ja) * | 2014-04-10 | 2015-11-12 | 日本信号株式会社 | 画像処理装置 |
| JP2016224593A (ja) * | 2015-05-28 | 2016-12-28 | アイシン・エィ・ダブリュ株式会社 | 道路形状検出システム、道路形状検出方法及びコンピュータプログラム |
| JP2022148395A (ja) * | 2021-03-24 | 2022-10-06 | 日産自動車株式会社 | 運転支援方法及び運転支援装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111695483B (zh) | 一种车辆违章检测方法、装置、设备及计算机存储介质 | |
| US11314974B2 (en) | Detecting debris in a vehicle path | |
| Zhang et al. | Video-based vehicle detection and classification system for real-time traffic data collection using uncalibrated video cameras | |
| GB2503322B (en) | Real-Time video Triggering for Traffic Surveillance and Photo Enforcement Applications Using Near Infrared Video Acquisition | |
| CN110619279B (zh) | 一种基于跟踪的路面交通标志实例分割方法 | |
| GB2599840A (en) | Vehicle navigation with pedestrians and determining vehicle free space | |
| US20130058523A1 (en) | Unsupervised parameter settings for object tracking algorithms | |
| KR102031503B1 (ko) | 다중 객체 검출 시스템 및 방법 | |
| JP2006268097A (ja) | 車載物体検出装置、および物体検出方法 | |
| JP4991384B2 (ja) | 接近物検知装置及び接近物検知プログラム | |
| US10984263B2 (en) | Detection and validation of objects from sequential images of a camera by using homographies | |
| US11727580B2 (en) | Method and system for gathering information of an object moving in an area of interest | |
| JP3470172B2 (ja) | 交通流監視装置 | |
| CN115690718A (zh) | 基于注意力感知的感兴趣区域窗口生成的系统和方法 | |
| JP5871069B2 (ja) | 立体物検出装置及び立体物検出方法 | |
| WO2025164395A1 (ja) | 処理装置、処理方法、及び記録媒体 | |
| JP2021174346A (ja) | 道路形状判定方法及び道路形状判定プログラム | |
| JP5783319B2 (ja) | 立体物検出装置及び立体物検出方法 | |
| JP2022124740A (ja) | 画像収集装置、画像収集方法及び画像収集用コンピュータプログラム | |
| CN115410176B (zh) | 点云数据处理方法、装置、设备、存储介质及车辆 | |
| JP4956400B2 (ja) | 車両存否判定装置、車両存否判定方法及びプログラム | |
| JP4697761B2 (ja) | 待ち行列検出方法及び待ち行列検出装置 | |
| Nalavde et al. | Driver assistant services using ubiquitous smartphone | |
| JP7062959B2 (ja) | 車両検知器、車両検知方法、および車両検知プログラム | |
| US20210097340A1 (en) | Teaching Data Creation Device and Image Classification Device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 25748393 Country of ref document: EP Kind code of ref document: A1 |