Patent Description:
Visual information augmentation technologies are provided to assist the steering of a vehicle and other transportation means. In such technology, various methods may be used to extract a lane marking or road information from a driving image.

For example, when pixel information related to an image that is located at an extended distance from the vehicle is insufficient, when a lane marking is obscured by an object in a road environment, when a change in brightness or contrast occurs in an image due to a change in time from day to night, or due to a change in weather such as snow and rain, or when image information is insufficiently or inaccurately acquired due to the shape or curvature of the road (for example, a ramp) or a change in altitude, it may be difficult to accurately detect a lane marking. When accurate lane detection is not performed, difficulties may arise in providing accurate information for driving of the vehicle such as vehicle control or route determination, for example.

<CIT>, <CIT> and <NPL> disclose methods of detecting lane demarcation lines and a lateral offset of a vehicle from a center line of the lane (for the first two prior art documents) or from the lane markings themselves (for the third prior art document) so as to control the driving of an autonomous vehicle.

According to the invention, a method of providing information for driving a vehicle is provided in claim <NUM>.

The detecting of the lane region may include classifying an object included in the driving image, generating a segmentation image in which the object included in the driving image is classified, and detecting the lane region from the generated segmentation image.

The determining of the curvature information may include determining a current location of the vehicle, and determining the curvature information based on a plurality of waypoints corresponding to the current location of the vehicle on a map.

The determining of the curvature information based on the waypoints may include selecting the waypoints within a look-ahead distance from the current location.

The determining of the curvature information based on the waypoints may include recognizing a shape of the road on the map based on the waypoints, and determining the curvature information based on the shape of the road on the map.

The recognizing of the shape of the road on the map may include obtaining a regression function expressing the shape of the road on the map with a linear regression analysis on the waypoints.

The look-ahead distance may be determined based on any one or any combination of a speed of the vehicle, a visible distance, a weather condition, a driving condition, and a condition of the road.

The determining of the curvature information may include selecting, when the road on which the vehicle is driving includes a plurality of lanes, one of the lanes based on destination information of the vehicle; and determining curvature information of a road corresponding to the selected lane.

The estimating of the lateral offset of the vehicle may include converting an image of the lane region into a top-view image, calculating polynomial fitting scores of lines included in the top-view image with respect to the reference line, and estimating a lateral offset of the vehicle based on the polynomial fitting scores.

The calculating of the polynomial fitting scores may include calculating, while moving the reference line by a predetermined number of pixel units, candidate fitting scores in response to the reference line being moved, by counting a number of matching pixels between the lines included in the top-view image and the reference line.

The calculating of the candidate fitting scores may include moving the reference line by the predetermined number of pixel units, counting a number of matching pixels between the lines included in the top-view image and the reference line moved by the predetermined number of pixel units, and calculating a candidate fitting score associated with the moved reference line based on the number of matching pixels.

The estimating of the lateral offset of the vehicle may include detecting lines based on the polynomial fitting scores, and calculating the lateral offset based on the detected lines and a lateral position of the vehicle in the top-view image.

The detecting of the lines may include determining at least one polynomial fitting score corresponding to each line among the fitting scores based on a threshold, and detecting a corresponding line based on the at least one polynomial fitting score corresponding to each line.

The detecting of the corresponding line may include detecting a polynomial fitting score having a highest value from at least one polynomial fitting score of the corresponding line, and determining the corresponding line based on offset information corresponding to the detected polynomial fitting score.

The detecting of the corresponding line may include obtaining a weighted sum of at least one item of offset information corresponding to the at least one polynomial fitting score based on at least one polynomial fitting score of the corresponding line as a weight, and determining the corresponding line based on the weighted sum.

The calculating of the lateral offset may include determining a center line between left and right lines adjacent to the lateral position of the vehicle, and calculating a distance between the center line and the lateral position of the vehicle.

The lateral position of the vehicle in the top-view image may include a laterally central position of the top-view image.

The lateral position of the vehicle in the top-view image may be determined based on a lateral position of a camera attached to the vehicle to capture the driving image.

The outputting of the signal including the information for the driving the vehicle may include determining a local lane of the vehicle based on the curvature information and the lateral offset, and generating a signal for controlling the driving of the vehicle based on the local lane.

The outputting of the signal including the information for the driving of the vehicle may include determining a local lane of the vehicle based on the curvature information and the lateral offset, and providing driving information including a driving lane of the vehicle based on the local lane.

The method may include acquiring the driving image, and acquiring the map information.

According to the invention, an apparatus is provided in claim <NUM>.

Spatially relative terms such as "above," "upper," "below," and "lower" may be used herein for ease of description to describe one element's relationship to another element as shown in the figures. Such spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures. For example, if the device in the figures is turned over, an element described as being "above" or "upper" relative to another element will then be "below" or "lower" relative to the other element. Thus, the term "above" encompasses both the above and below orientations depending on the spatial orientation of the device. The device may also be oriented in other ways (for example, rotated <NUM> degrees or at other orientations), and the spatially relative terms used herein are to be interpreted accordingly.

Unless otherwise defined, all terms, including technical and scientific terms, used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure pertains, in view of the disclosure of this application. Terms, such as those defined in commonly used dictionaries, are to be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art, in view of the disclosure of this application and are not to be interpreted in an idealized or overly formal sense unless expressly so defined herein.

Examples set forth hereinafter may be used to display a virtual route or generate visual information to assist in the steering or driving of, or by, an autonomous vehicle of, or in, an augmented reality (AR) navigation system of a smart vehicle. The examples may be used to interpret visual information and assist in the safe and pleasant driving by or in a device including an intelligent system such as a head-up display (HUD) installed for driving assistance or fully autonomous driving of a vehicle. The examples may be or be applied to, for example, an autonomous vehicle, an intelligent vehicle, a smart phone, and a mobile device, but is not limited thereto. Hereinafter, the examples will be described in detail with reference to the accompanying drawings, wherein like drawing reference numerals are used for like elements.

<FIG> illustrates an example of a method of providing information for driving of a vehicle.

In an autonomous driving system, a polynomial equation including an offset from a center of a road and a curvature of the road may be selected and used to generate a local path to maintain a position in a lane, or to perform a lane change. The vehicle or other apparatus providing information for driving of the vehicle (hereinafter, also commonly referred to as "information providing apparatus") may extract curvature information of a road from map information. The information providing apparatus may use the curvature information of the road when detecting a lateral offset based on lines or lane markings from a driving image. Using the curvature information, the information providing apparatus may stably provide information for driving of a vehicle and accurately perform line detection and lateral offset estimation even when it is difficult to detect accurate information from a driving image (for example, when pixel information of a distant image is insufficient, when a line is covered by various objects, and when a detectable line distance decreases when driving at high speeds).

It is noted that use of the term "may" herein with respect to an example or embodiment, e.g., as to what an example or embodiment may include or implement, means that at least one example or embodiment exists where such a feature is included or implemented while all examples and embodiments are not limited thereto.

<FIG> illustrates a plurality of waypoints <NUM>,. , <NUM> corresponding to a current location of a vehicle <NUM> on a map. The plurality of waypoints <NUM>,. , <NUM> corresponds to points of a road <NUM> on the map. In this example, the road <NUM> corresponds to a road on which the vehicle <NUM> is driving.

The information providing apparatus determines curvature information of the road <NUM> on which the vehicle <NUM> is driving based on the plurality of waypoints <NUM>,. , <NUM> within a look-ahead distance between the waypoint <NUM> adjacent to a current location of the vehicle and a waypoint <NUM> on the map. The waypoint <NUM> may be located a defined or provided distance from the waypoint <NUM> in a position ahead of the vehicle <NUM>. The term "look-ahead distance" may refer to a distance to be used to generate information for driving the vehicle <NUM>, and is determined based on, for example, any one or any combination of a speed of the vehicle <NUM>, a defined or provided visible distance, weather conditions, driving conditions, road conditions, and a destination of the vehicle <NUM>. Additionally, the look-ahead distance may correspond to a distance that appropriately represents the plurality of waypoints <NUM>,. , <NUM> based on a degree of a line regression function, for example, a polynomial equation.

The information providing apparatus generates or obtains a regression function expressing a shape of the road <NUM> on the map through a linear regression analysis on the plurality of waypoints <NUM>,. The information providing apparatus may determine the curvature information of the road <NUM> using the regression function.

Referring to <FIG>, according to the invention, the information providing apparatus detects a lane region including lane demarcation lines from a driving image acquired using a camera attached to the vehicle <NUM>, and estimates a lateral offset of the vehicle using the lane region and a reference line which is formed from the curvature information. In an example, the lateral offset of the vehicle <NUM> corresponds to a distance d between a center <NUM> of the vehicle <NUM> and a center line <NUM> of the road <NUM>.

A method of providing information for driving of a vehicle based on a lane region detected from a driving image and road curvature information acquired from map information will be described with reference to <FIG>. Additionally, a method of detecting a line based on a lane region detected from a driving image and road curvature information acquired from map information, which does not form part of the invention, will be described with reference to <FIG>.

Herein, the term "vehicle" refers to a vehicle driving on a road and includes, for example, an autonomous or automated driving vehicle, and an intelligent or smart vehicle equipped with an advanced driver assistance system (ADAS). However, the vehicle is not limited thereto. The term "road" refers to a surface on which vehicles drive, and includes various types of roads such as, for example, a highway, a national road, a rural road, a local road, an expressway, and a motorway. The road includes one or more lanes. The term "lane" refers to a specific designated space or region on the road that is distinguished, e.g., by lines marked on a surface of the road. A single lane is distinguished by left and right lines thereof.

The "lines" are various types of indicators or lines, for example, solid lines, broken lines, curved lines, and zigzag lines marked in colors such as white, blue or yellow on the surface of the road. The term "lane region" includes a region including lines or a region corresponding to the lines in a driving image.

<FIG> illustrates an example of a method of providing information for driving of a vehicle. The operations in <FIG> may be performed in the sequence and manner as shown, although the order of some operations may be changed or some of the operations omitted without departing from the scope of the illustrative examples described. Many of the operations shown in <FIG> may be performed in parallel or concurrently. One or more blocks of <FIG>, and combinations of the blocks, can be implemented by special purpose hardware-based computer that perform the specified functions, or combinations of special purpose hardware and computer instructions.

In addition to the description of <FIG> below, the descriptions of <FIG> are also applicable to <FIG>. Thus, the above description may not be repeated here. Also, <FIG> will be described below with respect to an information providing apparatus, such as corresponding to the information providing apparatus of any of <FIG>.

Referring to <FIG>, in operation <NUM>, an information providing apparatus detects a lane region of a road including lines from a driving image. The information providing apparatus acquires the driving image using, for example, an included image capture device mounted on the vehicle. The vehicle may correspond to the vehicle <NUM> of <FIG>. The driving image includes a single driving image or a plurality of driving images. The image capture device may be attached at a predetermined position, for example, a windshield, a dashboard, and a rear-view mirror of the vehicle to capture a driving image of a front scene from the vehicle. However, the location of the image capture device is not limited thereto. The image capture device includes, for example, a vision sensor, an image sensor, or a device that performs a similar function. The image capture device may capture a single image or may capture an image for each of multiple frames. The driving image is captured by an image capture device included in the information providing apparatus or a device other than the information providing apparatus. The driving image may be, for example, a driving image <NUM> of <FIG>.

In an example, in operation <NUM>, the information providing apparatus detects the lane region by classifying pixels corresponding to line components or road components in the driving image based on a deep learning scheme of a neural network or through other machine learning models. A method of detecting a lane region using the information providing apparatus will be further described with reference to <FIG>.

In operation <NUM>, the information providing apparatus determines curvature information of a road on which the vehicle is driving based on map information. The map information includes, for example, a map representing geographic features on the earth using symbols, characters, and images, map coordinates including latitudes, longitudes, and altitudes of the geographic features, and a plurality of waypoints on a path represented on the map. Here, the plurality of waypoints may be a set of coordinates obtained at preset intervals when the vehicle drives in a single lane on a road. The map information corresponds to map information at a level of a general map or map information at a level of a general navigation. The map information may be stored in a memory (for example, a memory <NUM> of <FIG>) of the information providing apparatus, or may be received from an external source of the information providing apparatus through a communication interface (for example, a communication interface <NUM> of <FIG>) of the information providing apparatus.

In operation <NUM>, the information providing apparatus selects a plurality of waypoints within a look-ahead distance from a current location of the vehicle on the map and obtains a regression function expressing a shape of the road on the map through a linear regression analysis on the waypoints. The current location of the vehicle is measured using, for example, a GPS sensor, an accelerometer sensor, and a compass sensor included in the information providing apparatus. The information providing apparatus determines curvature information of the road using the regression function. A method of determining curvature information of a road using the information providing apparatus will be further described with reference to <FIG> and <FIG>.

In operation <NUM>, the information providing apparatus estimates a lateral offset of the vehicle using the lane region and a reference line that is formed from the curvature information. When the curvature information is <NUM>, the reference line may be in a straight-line shape. When the curvature information is greater than <NUM>, the reference line may be in a curve shape. The curve shape includes, for example, a curve shape having a curvature in one direction, a curve shape having curvatures in at least two directions, a curve shape corresponding to at least a portion of a circle, and a curve shape corresponding to at least a portion of an ellipse. The lateral offset of the vehicle corresponds to a distance between a center of the vehicle and a center of a lane in which the vehicle is driving. To generate a local path to maintain a position in a lane, the lateral offset of the vehicle may be accurately determined. A method of estimating a lateral offset of a vehicle using the information providing apparatus will be further described with reference to <FIG>.

In operation <NUM>, the information providing apparatus outputs a signal including information for driving of the vehicle based on the curvature information and the lateral offset. The information providing apparatus may determine a local path of the vehicle based on the curvature information and the lateral offset. The information providing apparatus may generate the information for the driving of the vehicle based on the local path.

The information for the driving of the vehicle includes, for example, wheel steering control information, acceleration and deceleration control information associated with an accelerator and a brake of the vehicle, driving information of a detected lane, image information including a local path of a vehicle, and acoustic information that represents control information and image information represented by various sounds. The information for the driving of the vehicle is determined based on a line regression function to which the curvature information and the lateral offset are applied. The line regression function is in a form of, for example, a polynomial equation such as c<NUM>x<NUM> + c<NUM> x + c<NUM>, or a clothoid that is a type of a plane curve. The clothoid is a spiral whose change in curvature is inversely proportional to a length of a curve, and corresponds to a curve matching a driving trajectory of the vehicle when a steering wheel of the vehicle is rotated at a constant angular velocity.

The information providing apparatus provides driving information including a driving path image or driving path information of a vehicle based on a local path so as to be displayed in a display device such as an HUD.

<FIG> illustrates an example of a method of detecting a lane region. The operations in <FIG> may be performed in the sequence and manner as shown, although the order of some operations may be changed or some of the operations omitted without departing from the scope of the illustrative examples described. Many of the operations shown in <FIG> may be performed in parallel or concurrently. One or more blocks of <FIG>, and combinations of the blocks, can be implemented by special purpose hardware-based computer that perform the specified functions, or combinations of special purpose hardware and computer instructions. Also, <FIG> will be described below with respect to an information providing apparatus, such as corresponding to the information providing apparatus of any of <FIG>.

Referring to <FIG>, in operation <NUM>, an information providing apparatus generates a segmentation image in which an object included in a driving image is classified. The information providing apparatus generates the segmentation image by segmenting the driving image into objects included in the driving image by a semantic unit and determining the semantics of an object (a line or a road) for each segmented region by a pixel unit. The objects are classified by a class unit. A class used herein may include various semantic units, for example, a road, a vehicle, a sidewalk, a human being, an animal, sky, and a building. The segmentation image is, for example, a segmentation image <NUM> of <FIG>. A method of generating a segmentation image using the information providing apparatus will be further described with reference to <FIG>.

In operation <NUM>, the information providing apparatus detects a lane region from the segmentation image. The information providing apparatus precisely identifies where and how an element or a component of an image, for example, an object and a background, is present from a pixel-unit label included in the segmentation image. The information providing apparatus generates an image of a lane region including pixels classified as a line class. The image of the lane region detected from the segmentation image is, for example, an image <NUM> of <FIG>.

In an example, the information providing apparatus detects the lane region from the driving image using, for example, a support vector machine (SVM), a deep neural network (DNN) and a CNN trained to recognize a lane region including lines. The CNN used herein may be trained in advance to determine a bounding box of a line to be detected from a driving image along with a type of the line to be detected.

<FIG> illustrates an example of a method of determining curvature information. The operations in <FIG> may be performed in the sequence and manner as shown, although the order of some operations may be changed or some of the operations omitted without departing from the scope of the illustrative examples described. Many of the operations shown in <FIG> may be performed in parallel or concurrently. One or more blocks of <FIG>, and combinations of the blocks, can be implemented by special purpose hardware-based computer that perform the specified functions, or combinations of special purpose hardware and computer instructions. Also, <FIG> will be described below with respect to an information providing apparatus, such as corresponding to the information providing apparatus of any of <FIG>.

Referring to <FIG>, in operation <NUM>, an information providing apparatus determines a current location of a vehicle. The information providing apparatus determines the current location of the vehicle based on, for example, global positioning system (GPS) information and map information. The information providing apparatus may also determine the current location of the vehicle using an odometer of the vehicle and a geomagnetic measurement value. However, the manner of locating the vehicle is not so limited. When the current location of the vehicle is determined, the information providing apparatus determines curvature information using a plurality of waypoints corresponding to the current location on a map.

In operation <NUM>, the information providing apparatus selects waypoints within a predetermined look-ahead distance from the current location of the vehicle. The look-ahead distance may be determined based on any one or any combination of a speed of the vehicle, a visible distance, a weather, a driving situation, and a road condition, for example.

In an example, the look-ahead distance may be <NUM> meters (m). When a speed of the vehicle is higher than a preset speed, for example, <NUM> kilometers per second (km/s), the information providing apparatus may increase the look-ahead distance to be <NUM> or <NUM>, for example. When the speed of the vehicle is lower than the preset speed, the information providing apparatus may reduce the look-ahead distance to be <NUM> or <NUM>, for example. Also, when a visible distance, or the visibility, acquired from a driving image is relatively short due to fog condition, snow, or rain, the information providing apparatus may reduce the look-ahead distance. When the visible distance is relatively long, such as when there is no dust obstructing the view or when the weather is clear, the information providing apparatus may increase the look-ahead distance.

When the road condition is poor due to, for example, a severe road curvature, the information providing apparatus may reduce the look-ahead distance. When the road condition is moderate such as a smooth flat road, the information providing apparatus may increase the look-ahead distance. Also, the information providing apparatus may reduce the look-ahead distance when the driving situation is in congested traffic, such as in a rush hour, and may increase the look-ahead distance when the driving situation is in smooth traffic flow. However, embodiments are not limited thereto.

In operation <NUM>, the information providing apparatus determines curvature information using a plurality of waypoints corresponding to the current location of the vehicle on a map. The information providing apparatus recognizes a road shape on the map based on waypoints. The information providing apparatus calculates a regression function expressing the road shape on the map through a linear regression analysis on the waypoints. The information providing apparatus recognizes the road shape on the map using the regression function and determines the curvature information based on the road shape on the map. When the regression function is a polynomial equation, for example, the information providing apparatus determines coefficients C<NUM>, and C<NUM> to be the curvature information. For brevity, the following description will be provided based on an example in which a line regression function is a first-degree polynomial equation and a third-degree polynomial equation, and various line regression functions such as a second-degree polynomial equation, a third- or higher-degree polynomial equation, a circular equation, and an elliptic equation are also applicable thereto.

<FIG> illustrates an example of a method of determining curvature information when a vehicle is driving on a road including a plurality of paths such as an intersection or a returning lane. The operations in <FIG> may be performed in the sequence and manner as shown, although the order of some operations may be changed or some of the operations omitted without departing from the scope of the illustrative examples described. Many of the operations shown in <FIG> may be performed in parallel or concurrently. One or more blocks of <FIG>, and combinations of the blocks, can be implemented by special purpose hardware-based computer that perform the specified functions, or combinations of special purpose hardware and computer instructions. Also, <FIG> will be described below with respect to an information providing apparatus, such as corresponding to the information providing apparatus of any of <FIG>.

In operation <NUM>, an information providing apparatus determines whether a road on which a vehicle is driving includes a plurality of paths. The information providing apparatus determines whether the road on which the vehicle is driving includes the plurality of paths based on, for example, map information and GPS information.

When it is determined that the road includes the plurality of paths in operation <NUM>, the information providing apparatus selects a path from the plurality of paths based on destination information of the vehicle in operation <NUM>. In an example, a destination of the vehicle is a city A and a road on which the vehicle is driving includes a path toward a city B and a path toward a city C. The information providing apparatus selects the path toward the city B among the path toward the city B and the path toward the city C based on information regarding the destination corresponding to the city A.

In operation <NUM>, the information providing apparatus determines curvature information using a plurality of waypoints corresponding to the selected path on a map.

When it is determined that the road does not include the plurality of paths in operation <NUM>, the information providing apparatus determines a current location of the vehicle in operation <NUM> and determines curvature information using a plurality of waypoints corresponding to the current location of the vehicle on the map in operation <NUM>.

<FIG> illustrates an example of a method of estimating a lateral offset of a vehicle. The operations in <FIG> may be performed in the sequence and manner as shown, although the order of some operations may be changed or some of the operations omitted without departing from the scope of the illustrative examples described. Many of the operations shown in <FIG> may be performed in parallel or concurrently. One or more blocks of <FIG>, and combinations of the blocks, can be implemented by special purpose hardware-based computer that perform the specified functions, or combinations of special purpose hardware and computer instructions. Also, <FIG> will be described below with respect to an information providing apparatus, such as corresponding to the information providing apparatus of any of <FIG>.

Referring to <FIG>, in operation <NUM>, an information providing apparatus converts an image of a lane region into a top-view image. For example, the information providing apparatus converts the image of the lane region into the top-view image by multiplying the image by a homography matrix. The top-view image is also referred to as "a bird's eye view (BEV) image. " Also, the information providing apparatus may employ an inverse perspective mapping (IPM) scheme to convert the image of the lane region into the top-view image. A method of converting, by the information providing apparatus, the image of the lane region into the top-view image using the IPM scheme will be described with reference to <FIG>.

In operation <NUM>, the information providing apparatus calculates fitting scores of lines included in the top-view image with respect to a reference line. For example, the top-view image may include a first line, a second line, and a third line. In this example, the information providing apparatus calculates a fitting score of the first line with respect to the reference line and a fitting score of the second line with respect to the reference line. Likewise, the information providing apparatus calculates a fitting score of the third line with respect to the reference line. A method of calculating, by information providing apparatus, fitting scores will be further described with reference to <FIG>.

In operation <NUM>, the information providing apparatus estimates a lateral offset of the vehicle based on the fitting scores. A method of estimating, by the information providing apparatus, a lateral offset of a vehicle will be further described with reference to <FIG>.

<FIG> illustrates an example of a method of calculating fitting scores. The operations in <FIG> may be performed in the sequence and manner as shown, although the order of some operations may be changed or some of the operations omitted without departing from the scope of the illustrative examples described. Many of the operations shown in <FIG> may be performed in parallel or concurrently. One or more blocks of <FIG>, and combinations of the blocks, can be implemented by special purpose hardware-based computer that perform the specified functions, or combinations of special purpose hardware and computer instructions. Also, <FIG> will be described below with respect to an information providing apparatus, such as corresponding to the information providing apparatus of any of <FIG>.

Referring to <FIG>, in operation <NUM>, an information providing apparatus moves a reference line by a predetermined number of pixel units. The information providing apparatus moves the reference line from one end of a top-view image toward the other end of the top-view image. The reference line may be moved in a horizontal direction in the top-view image by a predetermined number of pixel units. The information providing apparatus moves the reference line, for example, by one pixel, or two pixels, or three pixels.

In operation <NUM>, the information providing apparatus counts a number of matching pixels between lines (for example, a first line, a second line, and a third line) included in the top-view image and the reference line moved by pixel units. Each of the lines included in the top-view image has a thickness corresponding to a plurality of pixels. In an example, a predetermined pixel unit by which the reference line is moved may be less than a number of pixels corresponding to the thickness of each of the lines. In this example, a matching operation may be performed on each of the lines a plurality of times.

In operation <NUM>, the information providing apparatus calculates a candidate fitting score associated with the reference line moved by a predetermined number of pixel units based on the number of matching pixels. The candidate fitting score is a result of fitting performed based on a lateral position of the reference line moved by a predetermined number of pixel units before classifying a plurality of lines.

The information providing apparatus calculates candidate fitting scores by repetitively performing the foregoing process of <FIG>. The information providing apparatus classifies the plurality of lines using the candidate fitting scores. When a candidate fitting score corresponding to a predetermined lateral position is greater than a threshold, a line corresponding to the lateral position is classified as a lane boundary. When a candidate fitting score corresponding to a predetermined lateral position is less than or equal to the threshold, it is recognized that a line corresponding to the lateral position is not a lane boundary. When at least a preset number (for example, one or more) of lines that are not recognized as the lane boundary are detected consecutively, it is recognized that different lines are present on left and right sides of the corresponding line.

As further described below, in response to the plurality of lines being classified, the information providing apparatus detects a lane boundary based on candidate fitting scores corresponding to lines classified as the lane boundary (hereinafter, also referred to as "fitting scores").

<FIG> illustrates an example of a method of estimating a lateral offset of a vehicle based on fitting scores. The operations in <FIG> may be performed in the sequence and manner as shown, although the order of some operations may be changed or some of the operations omitted without departing from the scope of the illustrative examples described. Many of the operations shown in <FIG> may be performed in parallel or concurrently. One or more blocks of <FIG>, and combinations of the blocks, can be implemented by special purpose hardware-based computer that perform the specified functions, or combinations of special purpose hardware and computer instructions. Also, <FIG> will be described below with respect to an information providing apparatus, such as corresponding to the information providing apparatus of any of <FIG>.

Referring to <FIG>, in operation <NUM>, an information providing apparatus detects lines based on fitting scores. A method of detecting lines using the information providing apparatus will be further described with reference to <FIG>.

In operation <NUM>, the information providing apparatus determines a center line between left and right lines adjacent to a lateral position of a vehicle. The information providing apparatus detects a leftward-adjacent line and a rightward-adjacent line relative to the lateral position of the vehicle in a top-view image.

In the top-view image, the lateral position of the vehicle is determined based on a lateral position of a camera attached to the vehicle to capture a driving image. In an example, the camera has a uniform horizontal field of view. In this example, it is determined that the camera is located in a middle of the top-view image in a lateral direction. When the camera is attached at a center of the vehicle, it is determined that the center of the vehicle is located at a center of the top-view image in a lateral direction. An operation performed when the camera is attached on the center of the vehicle will be described with reference to <FIG>.

Also, when the camera is attached to be spaced apart from the center of the vehicle, the information providing apparatus may estimate a position of the center of the vehicle in the top-view image based on a location of the camera. An operation performed when the camera is attached to be spaced apart from the center of the vehicle will be described with reference to <FIG> and <FIG>.

When the lateral position of the vehicle is determined in the top-view image, the information providing apparatus detects left and right lines adjacent to the lateral position of the vehicle. The detected lines are lines on both sides of a lane in which the vehicle is driving. The information providing apparatus determines a center line of the determined lines (for example, a center line of the lane in which the vehicle is driving).

In operation <NUM>, the information providing apparatus calculates a distance between the center line of the lane and the lateral position of the vehicle to estimate a lateral offset.

<FIG> illustrates an example of a method of detecting lines. The operations in <FIG> may be performed in the sequence and manner as shown, although the order of some operations may be changed or some of the operations omitted without departing from the scope of the illustrative examples described. Many of the operations shown in <FIG> may be performed in parallel or concurrently. One or more blocks of <FIG>, and combinations of the blocks, can be implemented by special purpose hardware-based computer that perform the specified functions, or combinations of special purpose hardware and computer instructions.

Referring to <FIG>, in operation <NUM>, the information providing apparatus determines at least one fitting score corresponding to each line among candidate fitting scores based on a threshold. Since a single lane boundary includes a plurality of lines, each of the lines has a fitting score. The information providing apparatus selects fitting scores exceeding a threshold such that a line is detected using fitting scores corresponding to each of the lines excluding a candidate fitting score corresponding to a non-lane portion from the candidate fitting scores.

In operation <NUM>, the information providing apparatus detects a corresponding line based on the at least one fitting score corresponding to each line.

For example, Table <NUM> shows offset information corresponding to candidate fitting scores of lines adjacent to a second line and lines configuring the second line. In this example, a threshold determined for the candidate fitting scores is <NUM>.

The information providing apparatus may discard candidate fitting scores having values less than or equal to the threshold, for example, <NUM>, among the candidate fitting scores as shown in Table <NUM>. Also, the information providing apparatus determines candidate fitting scores having values greater than <NUM> to be fitting scores corresponding to the second line.

The information providing apparatus detects a fitting score having a greatest value from at least one fitting score of a corresponding line and determines the corresponding line based on offset information corresponding to the detected fitting score. The information providing apparatus detects a fitting score (<NUM>) having a representative value (for example, the greatest value) from the at least one fitting score (<NUM>, <NUM>, <NUM>, <NUM>) of the second line, and determines a corresponding line based on offset information (<NUM>) corresponding to the detected fitting score.

In an example, the information providing apparatus obtains a weighted sum of at least one item of offset information corresponding to the at least one fitting score using the at least one fitting score of the corresponding line as a weight. The information providing apparatus determines the corresponding line using the weighted sum. For example, the information providing apparatus obtains <NUM> (= <NUM>+ <NUM> + <NUM> + <NUM> = (<NUM> x <NUM>) + (<NUM> x <NUM>) + (<NUM>. 9x <NUM>) + (<NUM>. 75x <NUM>)) as a weighted sum of the at least one item of offset information (<NUM>, <NUM>, <NUM>, <NUM>) corresponding to the at least one fitting score (<NUM>, <NUM>, <NUM>, <NUM>) of the second line. The information providing apparatus determines the corresponding line using an average of the weighted sum, that is, <NUM> (= <NUM> /<NUM>).

The method described with reference to <FIG> is also applied to detect a line in operation <NUM> of <FIG>.

<FIG> illustrates an example of a method of providing information for driving of a vehicle. The operations in <FIG> may be performed in the sequence and manner as shown, although the order of some operations may be changed or some of the operations omitted without departing from the scope of the illustrative examples described. Many of the operations shown in <FIG> may be performed in parallel or concurrently. One or more blocks of <FIG>, and combinations of the blocks, can be implemented by special purpose hardware-based computer that perform the specified functions, or combinations of special purpose hardware and computer instructions. Also, <FIG> will be described below with respect to an information providing apparatus, such as corresponding to the information providing apparatus of any of <FIG>.

Referring to <FIG>, in operation <NUM>, an information providing apparatus acquires a driving image. In operation <NUM>, the information providing apparatus detects a lane region including lines from the driving image.

In operation <NUM>, the information providing apparatus acquires map information. In operation <NUM>, the information providing apparatus acquires GPS information.

In operation <NUM>, the information providing apparatus determines a current location of a vehicle based on the GPS information and the map information. In operation <NUM>, the information providing apparatus selects waypoints within a look-ahead distance from the current location.

In operation <NUM>, the information providing apparatus obtains a regression function expressing a shape of the road on a map through a linear regression analysis of the waypoints.

In operation <NUM>, the information providing apparatus recognizes the shape of the road on the map using the regression function. The shape of the road includes, for example, a straight-line shape, a circular shape, a curve shape, and a winding 'S' shape. In operation <NUM>, the information providing apparatus determines curvature information based on the shape of the road on the map.

In operation <NUM>, the information providing apparatus converts an image of the lane region into a top-view image. In operation <NUM>, the information providing apparatus calculates fitting scores of lines included in the top-view image with respect to a reference line.

In operation <NUM>, the information providing apparatus detects lines based on the fitting scores. In operation <NUM>, the information providing apparatus determines a center line between left and right lines adjacent to a lateral position of the vehicle in the top-view image. In operation <NUM>, the information providing apparatus calculates a distance between the center line and the lateral position of the vehicle to estimate a lateral offset of the vehicle.

In operation <NUM>, the information providing apparatus determines a local path of the vehicle based on the curvature information and the lateral offset. In operation <NUM>, the information providing apparatus generates a signal for controlling the driving of the vehicle based on the local path.

<FIG> illustrates an example of a method of providing information for driving of a vehicle. Referring to <FIG>, in operation <NUM>, an information providing apparatus acquires a driving image. In operation <NUM>, the information providing apparatus generates a segmentation image in which an object (or a lane region) included in the driving image is classified through classification of pixel levels. In operation <NUM>, the information providing apparatus converts a segmentation image in which lines are classified into a top-view image.

In an example, the information providing apparatus acquires GPS information in operation <NUM> and acquires map information in operation <NUM>. The information providing apparatus detects a current location of the vehicle based on the GPS information and the map information, and performs polynomial fitting by collecting a plurality of waypoints adjacent to the current location of the vehicle on the map in operation <NUM>. For example, when a polynomial equation is c<NUM>x<NUM> + c<NUM>x + c<NUM>, the information providing apparatus obtains C<NUM> and C<NUM> corresponding to curvature information of a road by performing the polynomial fitting. In this example, C<NUM> obtained as a fitting result is not used or set to be zero, so that the polynomial fitting is performed.

In operation <NUM>, as illustrated in <FIG>, the information providing apparatus calculates fitting scores of the lines included in the top-view image with respect to a reference line having the curvature information of C<NUM> and C<NUM> while the reference line is moved by a predetermined number of pixel units (for example, one pixel).

In operation <NUM>, the information providing apparatus detects lines based on the fitting scores calculated in operation <NUM>, determines two lines adjacent to the lateral position of the vehicle, and determines a difference between a center line of a lane in which the vehicle is driving and the lateral position of the vehicle to be a lateral offset of the vehicle. In this example, offset information corresponds to C<NUM> of the polynomial equation<MAT>.

In operation <NUM>, the information providing apparatus determines a polynomial equation using the lateral offset C<NUM> determined in operation <NUM> and the curvature information C<NUM> and C<NUM> obtained in operation <NUM>. The determined polynomial equation corresponds to a line regression function expressing a position of the vehicle in a driving lane and a road shape based on a driving path of the vehicle. Also, the information providing apparatus uses the line regression function to generate various parameters for controlling the driving of the vehicle such as controlling an accelerator and a brake for accelerating or decelerating the vehicle, and controlling a wheel steering operation of the vehicle and output the parameters. The information providing apparatus determines a path of the vehicle using the line regression function.

A method of providing information for driving of a vehicle may also be applied to provide control information and detect a control line for a path control of a robot in a robotic system requiring precise control in various industrial environments such as a smart factory and an indoor robotic application with map information in addition to an autonomous driving system.

<FIG> illustrates an example of a line regression function. Referring to <FIG>, a line regression function "c<NUM>x<NUM> + c<NUM>x + c<NUM>" is determined by determining a lateral offset C<NUM> of a vehicle based on a reference line having curvature information C<NUM> and C<NUM>.

An information providing apparatus provides information for driving of a vehicle using a line regression function based on a polynomial equation or a clothoid.

For example, the line regression function is a polynomial equation such as c<NUM>x<NUM> + c<NUM>x + c<NUM> where x denotes a distance from a current location of the vehicle in a driving direction. In an example, a short-distance line is controlled based on the lateral offset information C<NUM> and a long-distance line is controlled based on the curvature information C<NUM> and C<NUM>. In this example, the information providing apparatus may control a steering wheel based on a driving direction or a driving angle using a line regression function to which a road curvature and a lateral offset are applied.

The information providing apparatus may detect a lateral offset of a host vehicle based on map information thereby reducing difficulties in long-distance line detection and inducing stable control independently of a driving situation.

<FIG> illustrate an example of a driving image and a segmentation image corresponding to the driving image. <FIG> illustrates the driving image <NUM>, and <FIG> illustrates the segmentation image <NUM> corresponding to the driving image <NUM>.

The driving image <NUM> includes, for example, a road image and a road surface image including a vehicle <NUM>, a line <NUM>, a curbstone <NUM>, a sidewalk <NUM>, a surrounding environment <NUM>, and the like. The driving image <NUM> includes a lane region <NUM> including the vehicle <NUM> and lines <NUM> and a surrounding environment region <NUM> including a building, a tree, and the sky, for example.

Referring to <FIG>, the segmentation image <NUM> is, for example, a semantic segmentation image. A semantic segmentation method refers to a method of densely predicting objects by a pixel unit, and outputting a pixel-unit region including an object class after determining which object is included in an image.

The information providing apparatus may generate a segmentation image through a classification network including a convolution layer in several stages and a fully connected layer. While passing through the classification network, the input image may be reduced by <NUM>/<NUM> in size from an original size. For such a pixel-unit dense prediction, the original size may need to be restored. The information providing apparatus may segment a driving image into a plurality of regions using a classifier model that is trained to output a training output from a training image. The classifier model may be, for example, a convolutional neural network (CNN), but is not limited thereto. For example, the training image may be a color image, and the training output may indicate a region image obtained by segmenting a training input. For example, the training output may be a region image that is segmented in advance based on an attribute or a class that is manually designated, for example, a vehicle, a human being, an object, and a background, corresponding to each pixel of the training image.

The information providing apparatus generates the segmentation image by segmenting the driving image into the objects included in the driving image by a semantic unit using a well-known classification network such as AlexNet, VGGNet, and GoogleNET, determining a semantics of each segmented region by each pixel unit, and labeling each segmented region for each class.

In an example, the information providing apparatus may distinguish between a pixel of a line class and a pixel of a class other than the line class instead of classifying classes of all pixels.

<FIG> illustrate an example of a lane region image detected from a segmentation image and a top-view image into which the lane region image is converted. 14A and 14B illustrate an image of a lane region detected from a segmentation image and a top-view image <NUM> into which the image of the lane region is converted.

An information providing apparatus detects a lane region including a plurality of lines from a driving image using a pre-trained CNN. The information providing apparatus may employ various machine learning schemes to detect a lane region including a plurality of lines as represented by the image <NUM>.

For example, the information providing apparatus converts the image <NUM> into a top-view image <NUM> including lines <NUM> on which top-view conversion is performed, by applying an inverse perspective transformation to the lane region including the plurality of lines. The lines <NUM> are four lines, for example, a first line through a fourth line.

The driving lane identifying apparatus may obtain a top-view image by applying the inverse perspective transformation to an image of a road converging to a vanishing point, and thus determines a more uniform and clearer line. Thus, lines may be more distinguishable in the top-view image.

The inverse perspective transformation may remove a perspective effect from an input image having the perspective effect, and convert location information of an image plane to location information of a world coordinate system. Through the inverse perspective transformation, the information providing apparatus may readily indicate a relative location of a vehicle on a road defined by a normal distance from a centerline of the road to an original point of the vehicle and a direction of the vehicle based on location information of a lane indicated in the world coordinate system.

For example, the information providing apparatus applies the inverse perspective transformation only to a detected line, excluding surroundings, thereby considerably reducing an amount of computation, compared to transforming all pixels of an image.

<FIG> illustrates an example of a method of detecting lines on the roadway and detecting a lateral offset of a vehicle. In the example of <FIG>, a camera may be attached at a center position of a vehicle.

<FIG> illustrates lines <NUM> on which top-view conversion is performed and a reference line <NUM>. A position <NUM> of a vehicle, for example, a host vehicle corresponds to a laterally central position of a top-view image. Although <FIG> illustrates that the reference line <NUM> is a straight line for ease of description, the reference line <NUM> may be based on information regarding the curvature of the road, for example, C<NUM> and C<NUM> as described above.

The information providing apparatus calculates fitting scores of the lines <NUM> included in the top-view image with respect to the reference line <NUM>. The information providing apparatus counts a number of matching pixels between the lines <NUM> included in the top-view image and the reference line <NUM> while moving the reference line <NUM> from a left or right corner toward an opposite corner of the top-view image by a predetermined number of pixel units (for example, one pixel). The information providing apparatus determines a candidate fitting score corresponding to a lateral position of the reference line <NUM> based on the number of matching pixels. The information providing apparatus determines candidate fitting scores having values greater than a threshold to be fitting scores corresponding to each line. Through this, the information providing apparatus detects the lines <NUM>, for example, a first line through a fourth line included in the top-view image.

The information providing apparatus determines a center line <NUM> between left and right lines, for example, the second line and the third line adjacent to a lateral position <NUM> of the vehicle. The information providing apparatus calculates a distance between the center line <NUM> and the lateral position <NUM> of the vehicle.

<FIG> and <FIG> illustrate examples of a method of estimating a lateral offset of a vehicle when a camera is attached to be spaced apart from a center position of the vehicle.

Referring to <FIG>, when a camera <NUM> for capturing a driving image is attached at a center position <NUM> of a vehicle, a lateral position of the vehicle in a top-view image <NUM> is a laterally central position <NUM> of the top-view image <NUM>. When the camera <NUM> is attached at a position <NUM> ten centimeters (cm) spaced apart from the center position <NUM> of the vehicle in a rightward direction, a lateral position of the vehicle is a position <NUM> offset from the laterally central position <NUM> of the top-view image <NUM> in a leftward direction. The information providing apparatus determines a position corresponding to a degree (for example, <NUM>) to which the camera is offset on the top-view image <NUM> based on a camera resolution and the like.

Referring to <FIG>, in an example, a top-view image <NUM> includes four lines, that is, a first line <NUM>, a second line <NUM>, a third line <NUM>, and a fourth line <NUM>. In an example, a road has three lanes and a lateral position of a vehicle is a position <NUM> which is offset in a leftward direction by, for example, <NUM> from a laterally central position <NUM> of the top-view image <NUM>. The information providing apparatus determines a center line <NUM> between left and right lines, for example, the second line <NUM> and the third line <NUM> adjacent to the lateral position <NUM> of the vehicle. The center line <NUM> corresponds to a center of a width of a lane (for example, a second lane) in which the vehicle is driving.

The information providing apparatus calculates a distance between the center line <NUM> (the center of the width of the second lane) and the lateral position <NUM> of the vehicle. In this example, the distance between the center line <NUM> and the lateral position <NUM> of the vehicle corresponds to a lateral offset.

<FIG> illustrates an example of a method of detecting a line, not forming part of the invention. The operations in <FIG> may be performed in the sequence and manner as shown, although the order of some operations may be changed or some of the operations omitted without departing from the scope of the illustrative examples described. Many of the operations shown in <FIG> may be performed in parallel or concurrently. One or more blocks of <FIG>, and combinations of the blocks, can be implemented by special purpose hardware-based computer that perform the specified functions, or combinations of special purpose hardware and computer instructions. Also, <FIG> will be described below with respect to an information providing apparatus, such as corresponding to the information providing apparatus of any of <FIG>.

Referring to <FIG>, in operation <NUM>, an apparatus for detecting a line (hereinafter, also referred to as "detection apparatus") detects a lane region including lines from a driving image. In an example, the detection apparatus may be the information providing apparatus or an apparatus that is different from the information providing apparatus. The description of <FIG> is also applicable here, accordingly, repeated description of a method of detecting a lane region using the detection apparatus will be omitted.

In operation <NUM>, the detection apparatus determines curvature information of a road on which a vehicle is driving based on map information. The description of <FIG> and <FIG> is also applicable here, accordingly, repeated description of a method of determining curvature information of a road using the detection apparatus will be omitted.

In operation <NUM>, the detection apparatus detects a line using the lane region and a reference line based on the curvature information. A method of detecting a line using the detection apparatus will be further described with reference to <FIG>.

<FIG> illustrates an example of a method of detecting a line using a lane region and a reference line based on curvature information. The operations in <FIG> may be performed in the sequence and manner as shown, although the order of some operations may be changed or some of the operations omitted without departing from the scope of the illustrative examples described. Many of the operations shown in <FIG> may be performed in parallel or concurrently. One or more blocks of <FIG>, and combinations of the blocks, can be implemented by special purpose hardware-based computer that perform the specified functions, or combinations of special purpose hardware and computer instructions. Also, <FIG> will be described below with respect to an information providing apparatus, such as corresponding to the information providing apparatus of any of <FIG>.

Referring to <FIG>, in operation <NUM>, a detection apparatus converts an image of a lane region into a top-view image. Since the description of <FIG> and operation <NUM> of <FIG> is applicable here, repeated description of a method of converting the image of the lane region into the top-view image using the detection apparatus will be omitted.

In operation <NUM>, the detection apparatus calculates fitting scores of lines included in the top-view image with respect to a reference line. The description of <FIG> is also applicable here, accordingly, repeated description of a method of calculating fitting score using the detection apparatus will be omitted.

In operation <NUM>, the detection apparatus detects a line based on the fitting scores. The description of <FIG> is also applicable here, accordingly, repeated description of a method of detecting a line using the detection apparatus will be omitted.

<FIG> illustrates an example of an apparatus that provides information for driving of a vehicle or detects a line. Referring to <FIG>, an apparatus <NUM> includes a processor <NUM>. The apparatus <NUM> further includes sensors <NUM>, the communication interface <NUM>, the memory <NUM>, and a display <NUM>.

The sensors <NUM>, the communication interface <NUM>, the processor <NUM>, the memory <NUM>, and the display <NUM> communicate with one another through a communication bus <NUM>. The sensors <NUM> include, for example, an image sensor, an accelerometer sensor, a compass sensor, a GPS sensor, a gyro sensor, an odometer, and a geomagnetic sensor.

The apparatus <NUM> may receive sensing information through the communication interface <NUM>. In an example, the communication interface <NUM> may receive sensing information from other sensors external to the apparatus <NUM>. In another example, the communication interface <NUM> may receive a driving image, map information, and GPS information from an external source of the apparatus <NUM>.

The processor <NUM> outputs a signal including information for driving of a vehicle through the communication interface <NUM>.

The processor <NUM> detects a lane region including lines from a driving image. The processor <NUM> determines curvature information of a road on which the vehicle is driving based on map information. The processor <NUM> estimates a lateral offset of the vehicle or detects a line using the lane region and a reference line that is determined based on the curvature information. The processor <NUM> outputs a signal including the information for the driving of the vehicle based on the curvature information and the lateral offset.

The processor <NUM> performs at least one of the methods described with reference to <FIG> or an algorithm corresponding to at least one of the methods.

The term "processor," as used herein, is a hardware-implemented data processing device having a circuit that is physically structured to execute desired operations. For example, the desired operations include code or instructions included in a program. The hardware-implemented data processing device includes, but is not limited to, for example, a microprocessor, a central processing unit (CPU), a processor core, a multi-core processor, a multiprocessor, an application-specific integrated circuit (ASIC), and a field-programmable gate array (FPGA).

The processor <NUM> executes a program and controls the apparatus <NUM>. Codes of the program executed by the processor <NUM> are stored in the memory <NUM>.

The memory <NUM> stores the driving image and the map information. The memory <NUM> stores various information generated during a processing operation of the processor <NUM>. Also, the memory <NUM> includes a variety of data and programs. The memory <NUM> includes a volatile memory or a non-volatile memory. The memory <NUM> includes a large-capacity storage medium such as a hard disk to store the variety of data.

The display <NUM> displays the line detected by the processor <NUM> and the map information separately or together.

The respective information providing apparatus <NUM>, the sensors <NUM>, communication interface <NUM>, processor <NUM>, memory <NUM>, and display <NUM>, for example, and other components described herein with respect to <FIG> that perform the operations described in this application are implemented by hardware components, and other apparatuses, devices, and other components described herein are implemented by hardware components. Examples of hardware components that may be used to perform the operations described in this application where appropriate include controllers, sensors, generators, drivers, memories, comparators, arithmetic logic units, adders, subtractors, multipliers, dividers, integrators, and any other electronic components configured to perform the operations described in this application. In other examples, one or more of the hardware components that perform the operations described in this application are implemented by computing hardware, for example, by one or more processors or computers. A processor or computer may be implemented by one or more processing elements, such as an array of logic gates, a controller and an arithmetic logic unit, a digital signal processor, a microcomputer, a programmable logic controller, a field-programmable gate array, a programmable logic array, a microprocessor, or any other device or combination of devices that is configured to respond to and execute instructions in a defined manner to achieve a desired result. In one example, a processor or computer includes, or is connected to, one or more memories storing instructions or software that are executed by the processor or computer. Hardware components implemented by a processor or computer may execute instructions or software, such as an operating system (OS) and one or more software applications that run on the OS, to perform the operations described in this application. The hardware components may also access, manipulate, process, create, and store data in response to execution of the instructions or software. For simplicity, the singular term "processor" or "computer" may be used in the description of the examples described in this application, but in other examples multiple processors or computers may be used, or a processor or computer may include multiple processing elements, or multiple types of processing elements, or both. For example, a single hardware component or two or more hardware components may be implemented by a single processor, or two or more processors, or a processor and a controller. One or more hardware components may be implemented by one or more processors, or a processor and a controller, and one or more other hardware components may be implemented by one or more other processors, or another processor and another controller. One or more processors, or a processor and a controller, may implement a single hardware component, or two or more hardware components. A hardware component may have any one or more of different processing configurations, examples of which include a single processor, independent processors, parallel processors, single-instruction single-data (SISD) multiprocessing, single-instruction multiple-data (SIMD) multiprocessing, multiple-instruction single-data (MISD) multiprocessing, and multiple-instruction multiple-data (MIMD) multiprocessing.

Instructions or software to control a processor or computer to implement the hardware components and perform the methods as described above are written as computer programs, code segments, instructions or any combination thereof, for individually or collectively instructing or configuring the processor or computer to operate as a machine or special-purpose computer to perform the operations performed by the hardware components and the methods as described above. In an example, the instructions or software includes at least one of an applet, a dynamic link library (DLL), middleware, firmware, a device driver, an application program storing the method of acquiring outside situation information. In one example, the instructions or software include machine code that is directly executed by the processor or computer, such as machine code produced by a compiler. In another example, the instructions or software include higher-level code that is executed by the processor or computer using an interpreter. Programmers of ordinary skill in the art can readily write the instructions or software based on the block diagrams and the flow charts illustrated in the drawings and the corresponding descriptions in the specification, which disclose algorithms for performing the operations performed by the hardware components and the methods as described above.

Examples of a non-transitory computer-readable storage medium include read-only memory (ROM), random-access programmable read only memory (PROM), electrically erasable programmable read-only memory (EEPROM), random-access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), flash memory, non-volatile memory, CD-ROMs, CD-Rs, CD+Rs, CD-RWs, CD+RWs, DVD-ROMs, DVD-Rs, DVD+Rs, DVD-RWs, DVD+RWs, DVD-RAMs, BD-ROMs, BD-Rs, BD-R LTHs, BD-REs, blue-ray or optical disk storage, hard disk drive (HDD), solid state drive (SSD), flash memory, a card type memory such as multimedia card micro or a card (for example, secure digital (SD) or extreme digital (XD)), magnetic tapes, floppy disks, magneto-optical data storage devices, optical data storage devices, hard disks, solid-state disks, and any other device that is configured to store the instructions or software and any associated data, data files, and data structures in a non-transitory manner and providing the instructions or software and any associated data, data files, and data structures to a processor or computer so that the processor or computer can execute the instructions.

Claim 1:
A method of providing information for driving a vehicle comprising:
determining (<NUM>) curvature information of a road on which a vehicle is driving based on map information;
detecting (<NUM>) a lane region including lane demarcation lines from a driving image, comprising:
generating a segmentation image which distinguishes between pixels of a line class and pixels of a class other than the line class (<NUM>);
detecting a lane region image including pixels classified as a line class from the segmentation image;
converting (<NUM>) the lane region image (<NUM>) into a top-view image (<NUM>) by applying an inverse perspective transformation to the lane region ;
estimating (<NUM>) a lateral offset (<NUM>) of the vehicle from a center line (<NUM>) of a lane the vehicle is driving based on the top-view image (<NUM>), the lane region and a reference line (<NUM>) which is formed from the curvature information; and
outputting (<NUM>) a signal including information for driving the vehicle based on the curvature information and the lateral offset.