WO2023182570A1 - 차량의 조향각 계산 방법 및 장치 - Google Patents

차량의 조향각 계산 방법 및 장치 Download PDF

Info

Publication number
WO2023182570A1
WO2023182570A1 PCT/KR2022/005811 KR2022005811W WO2023182570A1 WO 2023182570 A1 WO2023182570 A1 WO 2023182570A1 KR 2022005811 W KR2022005811 W KR 2022005811W WO 2023182570 A1 WO2023182570 A1 WO 2023182570A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
straight line
calculating
coordinate
steering angle
Prior art date
Application number
PCT/KR2022/005811
Other languages
English (en)
French (fr)
Inventor
이성준
Original Assignee
주식회사 넥스트칩
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 넥스트칩 filed Critical 주식회사 넥스트칩
Publication of WO2023182570A1 publication Critical patent/WO2023182570A1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/20Conjoint control of vehicle sub-units of different type or different function including control of steering systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D15/00Steering not otherwise provided for
    • B62D15/02Steering position indicators ; Steering position determination; Steering aids
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D25/00Superstructure or monocoque structure sub-units; Parts or details thereof not otherwise provided for
    • B62D25/02Side panels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/536Depth or shape recovery from perspective effects, e.g. by using vanishing points
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods

Definitions

  • the following embodiments relate to technology for calculating the steering angle of a vehicle, and more specifically, to technology for calculating the steering angle of a vehicle using an image.
  • Autonomous vehicles or vehicles supporting ADAS use one or more sensors to recognize situations around the vehicle, and appropriate vehicle control is required for the recognized situations. For example, to recognize the situation around the vehicle, the lanes of the road and objects around the vehicle are detected. To detect lanes or objects, images can be created using the vehicle's camera, and objects within the image can be identified.
  • One embodiment may provide a method and device for calculating the steering angle of a vehicle using an image.
  • One embodiment may provide a method and device for controlling a vehicle based on the calculated steering angle of the vehicle.
  • a method of calculating a steering angle of a vehicle performed by an electronic device includes receiving a first image, calculating a plurality of motion vectors based on the first image, and the plurality of motion vectors. calculating a reference coordinate of the first image based on the motion vectors of the first image, determining a vanishing point coordinate on the first image based on the first image, and a target based on the reference coordinate and the vanishing point coordinate. It may include calculating the steering angle.
  • the steering angle calculation method further includes generating a first brightness image for the first image, and calculating a plurality of motion vectors based on the first image includes calculating a plurality of motion vectors based on the first brightness image.
  • the step of calculating the plurality of motion vectors may include determining the vanishing point coordinates on the first image, and determining the vanishing point coordinates based on the brightness image.
  • Calculating a plurality of motion vectors based on the first image includes generating a first bitmap image for the first image, and generating a second bitmap image for the second image taken at a time before the first image. Generating a bitmap image, detecting one or more feature points for each of the first bitmap and the second bitmap image based on the first bitmap image and the second bitmap image, and the feature points It may include calculating the plurality of motion vectors for the first bitmap image based on the first bitmap image.
  • Calculating reference coordinates of the first image based on the plurality of motion vectors includes classifying the plurality of motion vectors into a first group and a second group, the first motion included in the first group calculating a first average vector of vectors, calculating a second average vector of second motion vectors included in the second group, and based on the first average vector and the second average vector, the first average vector It may include calculating the reference coordinates of the image.
  • Determining vanishing point coordinates on the first image based on the first image includes setting a target area on the first image, and generating a first bird's eye image by changing the viewpoint of the target area to a bird's eye view. generating a first straight line for a first lane in the first bird's eye image based on the first bird's eye image, and generating a second straight line for a second lane, the first straight line and the second It may include determining whether straight lines are parallel, and when the first straight line and the second straight line are parallel, determining coordinates of the vanishing point based on the target area.
  • Determining the vanishing point coordinates on the first image based on the first image may further include adjusting the size of the target area when the first straight line and the second straight line are not parallel.
  • the step of adjusting the size of the target area is performed when the intersection between the first straight line and the second straight line appears at the bottom based on the center of the target area. , increasing the height of the target area, and when the intersection between the first straight line and the second straight line appears at the top based on the center of the target area, decreasing the height of the target area.
  • determining the vanishing point coordinates based on the target area includes determining the y coordinate of an upper side of the trapezoidal target area as the vanishing point coordinate. can do.
  • Calculating a target steering angle based on the reference coordinate and the vanishing point coordinate includes determining a first coordinate having the x coordinate of the reference coordinate and the y coordinate of the vanishing point coordinate, x of the midpoint coordinate of the first image determining a second coordinate having the coordinate and the y coordinate of the lower side of the target area, determining a third coordinate having the x coordinate of the reference coordinate and the y coordinate of the lower side of the target area, and the first coordinate , It may include calculating the target steering angle based on the second coordinate and the third coordinate.
  • the steering angle calculation method includes obtaining a current steering angle of the vehicle, generating a steering signal for controlling steering of the vehicle based on the current steering angle and the target steering angle, and generating a steering signal for controlling the steering of the vehicle based on the steering signal. It may further include a step of controlling.
  • the vehicle may be an autonomous vehicle or a vehicle supporting an advanced driver assistance system (ADAS).
  • ADAS advanced driver assistance system
  • the electronic device may be included in the vehicle, and the first image may be an image captured around the vehicle.
  • Calculating a plurality of motion vectors based on the first image includes generating a first bitmap image for the first image, and generating a second bitmap image for the second image taken at a time before the first image. Generating a bitmap image, detecting one or more feature points for each of the first bitmap and the second bitmap image based on the first bitmap image and the second bitmap image, and the feature points It may include calculating the plurality of motion vectors for the first bitmap image based on the first bitmap image.
  • Calculating reference coordinates of the first image based on the plurality of motion vectors includes classifying the plurality of motion vectors into a first group and a second group, the first motion included in the first group calculating a first average vector of vectors, calculating a second average vector of second motion vectors included in the second group, and based on the first average vector and the second average vector, the first average vector It may include calculating the reference coordinates of the image.
  • Determining vanishing point coordinates on the first image based on the first image includes setting a target area on the first image, and generating a first bird's eye image by changing the viewpoint of the target area to a bird's eye view. generating a first straight line for a first lane in the first bird's eye image based on the first bird's eye image, and generating a second straight line for a second lane, the first straight line and the second It may include determining whether straight lines are parallel, and when the first straight line and the second straight line are parallel, determining coordinates of the vanishing point based on the target area.
  • Determining the vanishing point coordinates on the first image based on the first image may further include adjusting the size of the target area when the first straight line and the second straight line are not parallel.
  • the step of adjusting the size of the target area is performed when the intersection between the first straight line and the second straight line appears at the bottom based on the center of the target area. , increasing the height of the target area, and when the intersection between the first straight line and the second straight line appears at the top based on the center of the target area, decreasing the height of the target area.
  • a method and device for calculating the steering angle of a vehicle using an image may be provided.
  • a method and device for controlling a vehicle based on the calculated steering angle of the vehicle may be provided.
  • 1 shows steering of a vehicle, according to one example.
  • Figure 2 is a configuration diagram of an electronic device according to an embodiment.
  • Figure 3 is a flowchart of a method for calculating a steering angle of a vehicle, according to one embodiment.
  • FIG. 4 is a flowchart of a method for calculating a plurality of motion vectors for a first image, according to one example.
  • FIG. 5 shows a plurality of motion vectors calculated for a first image, according to one example.
  • FIG. 6 is a flowchart of a method of calculating reference coordinates of a first image based on a plurality of motion vectors, according to an example.
  • Figure 7 shows reference coordinates of the first image calculated based on the first average vector and the second average vector, according to one example.
  • Figure 8 is a flowchart of a method for determining vanishing point coordinates of a first image, according to an example.
  • FIG. 9 illustrates a method of determining whether a first straight line for a first lane and a second straight line for a second lane of a first bird's eye image are parallel, according to an example.
  • FIG. 10 illustrates a method of adjusting the size of a target area when a first straight line for a first lane and a second straight line for a second lane of a first bird's eye image are not parallel, according to an example.
  • FIG. 11 is a flowchart of a method of calculating a target steering angle based on reference coordinates and vanishing point coordinates of a first image, according to an example.
  • Figure 12 shows a target steering angle calculated based on the first coordinate, second coordinate, and third coordinate of the first image, according to one example.
  • FIG. 13 is a flowchart of a method for controlling a vehicle based on a calculated steering angle, according to an example.
  • first, second, A, B, (a), and (b) may be used. These terms are only used to distinguish the component from other components, and the nature, sequence, or order of the component is not limited by the term.
  • a component is described as being “connected,” “coupled,” or “connected” to another component, that component may be directly connected or connected to that other component, but there is no need for another component between each component. It should be understood that may be “connected,” “combined,” or “connected.”
  • 1 shows steering of a vehicle, according to one example.
  • the steering wheel of the vehicle 100 In order for the vehicle 100 to drive along the lane of the road, the steering wheel of the vehicle 100 must be steered. For example, when the lane bends to the right, the steering wheel of the vehicle 100 may also need to be steered accordingly.
  • a steering angle may be predicted to control the vehicle 100.
  • the vehicle 100 may capture a front image of the vehicle 100 using a camera, and the target steering angle may be calculated based on the front image.
  • the front of the vehicle 100 becomes the reference direction 110, and the angle between the reference direction 110 and the target direction 120 determined based on the captured image may be calculated as the target steering angle. .
  • Figure 2 is a configuration diagram of an electronic device according to an embodiment.
  • the electronic device 200 includes a communication unit 210, a processor 220, and a memory 230.
  • the electronic device 200 may be included in the vehicle 100 with reference to FIG. 1 .
  • the electronic device 200 may further include a camera (not shown) that generates an image by photographing a scene surrounding the vehicle 100. The camera can continuously generate multiple images at a preset cycle.
  • the communication unit 210 is connected to the processor 220 and the memory 230 to transmit and receive data.
  • the communication unit 210 can be connected to other external devices to transmit and receive data.
  • the expression “transmitting and receiving "A” may refer to transmitting and receiving "information or data representing A.”
  • the communication unit 210 may be implemented as a circuitry within the electronic device 200.
  • the communication unit 210 may include an internal bus and an external bus.
  • the communication unit 210 may be an element that connects the electronic device 200 and an external device.
  • the communication unit 210 may be an interface.
  • the communication unit 210 may receive data from an external device and transmit the data to the processor 220 and the memory 230.
  • the processor 220 processes data received by the communication unit 210 and data stored in the memory 230.
  • a “processor” may be a data processing device implemented in hardware that has a circuit with a physical structure for executing desired operations.
  • the intended operations may include code or instructions included in the program.
  • data processing devices implemented in hardware include microprocessors, central processing units, processor cores, multi-core processors, and multiprocessors. , ASIC (Application-Specific Integrated Circuit), and FPGA (Field Programmable Gate Array).
  • Processor 220 executes computer-readable code (e.g., software) stored in memory (e.g., memory 230) and instructions triggered by processor 220.
  • computer-readable code e.g., software
  • the memory 230 stores data received by the communication unit 210 and data processed by the processor 220.
  • the memory 230 may store programs (or applications, software).
  • the stored program may be a set of syntaxes that are coded to calculate the target steering angle of the vehicle based on the image and can be executed by the processor 220.
  • the memory 230 may include one or more volatile memory, non-volatile memory, random access memory (RAM), flash memory, a hard disk drive, and an optical disk drive.
  • volatile memory non-volatile memory
  • RAM random access memory
  • flash memory flash memory
  • hard disk drive hard disk drive
  • optical disk drive optical disk drive
  • the memory 230 stores a set of instructions (eg, software) that operates the electronic device 200.
  • a set of instructions for operating the electronic device 200 is executed by the processor 220.
  • the communication unit 210, processor 220, and memory 230 will be described in detail below with reference to FIGS. 3 to 13.
  • FIG. 3 is a flowchart of a vehicle detection method according to one embodiment.
  • the steps 310 to 340 below are performed by the electronic device 200 described above with reference to FIG. 2 .
  • the electronic device 200 receives a first image.
  • the camera may generate the first image by photographing the surrounding scene (e.g., front view) of the vehicle from a first perspective.
  • An image created at a second time before the first time may be named a second image.
  • the first image may be the t-th frame
  • the second image may be the t-n-th frame.
  • n is a preset natural number.
  • n may be any one of 5 to 10.
  • a step of generating a first brightness image for the first image may be further performed. for example,
  • the electronic device 200 may generate the first brightness image by converting the pixels into gray scale based on the RGB values of the pixels of the first image.
  • the electronic device 200 may generate the first brightness image based on the value channel of the hue saturation value (HSV) of the pixel of the first image.
  • the electronic device 200 may generate the first brightness image based on the YCbCr luminance channel (luminance) of the pixel of the first image.
  • the electronic device 200 calculates a plurality of motion vectors based on the first image.
  • the motion vector may be a vector indicating the tendency of movement of a feature point in the first image.
  • the second image may be further used to calculate a motion vector for the feature point.
  • the electronic device 200 calculates reference coordinates of the first image based on a plurality of motion vectors.
  • the reference coordinate may be a coordinate that serves as a reference for the optical flow of the first image.
  • the reference coordinates may be used as element values for calculating the target steering angle in the subsequent step 350. The method of calculating the reference coordinates is described in detail below with reference to FIGS. 6 and 7.
  • step 340 the electronic device 200 determines the coordinates of a vanishing point on the first image based on the first image.
  • a method of determining the vanishing point coordinates of the first image will be described in detail below with reference to FIGS. 8 to 10.
  • step 350 the electronic device 200 calculates the target steering angle based on the reference coordinates and vanishing point coordinates of the first image.
  • the method for calculating the target steering angle is explained in detail with reference to FIGS. 11 and 12.
  • FIG. 4 is a flowchart of a method for calculating a plurality of motion vectors for a first image, according to one example.
  • step 320 described above with reference to FIG. 3 may include steps 410 to 440 below.
  • the electronic device 200 may generate a first bitmap image for the first image.
  • a bitmap image may be a binary map image.
  • the electronic device 200 sets a first region of interest (ROI) in the first image (or first brightness image) and performs blurring on the first region of interest for noise attenuation. can be performed.
  • the electronic device 200 may perform blurring by applying a preset filter to the first region of interest.
  • the electronic device 200 performs differentiation in the x-axis direction and y-axis direction for each pixel in the blurred first region of interest, and if the result of the differentiation is greater than or equal to a threshold value, generates a bitmap image through filtering. can do.
  • the electronic device 200 may generate a second bitmap image for the second image.
  • the description of the method for generating the second bitmap image may be replaced with the description of the method for generating the first bitmap image.
  • the electronic device 200 may detect one or more feature points for each of the first bitmap image and the second bitmap image based on the first bitmap image and the second bitmap image. For example, the electronic device 200 may detect feature points by performing corner point detection (eg, Harris corner detection or Susan corner) on the first bitmap image and the second bitmap image.
  • corner point detection eg, Harris corner detection or Susan corner
  • the feature points of the first bitmap image and the feature points of the second bitmap image may be matched.
  • the electronic device 200 may calculate a plurality of motion vectors for the first bitmap image based on the feature points. For example, a motion vector for each feature point matched between the first bitmap image and the second bitmap image may be calculated.
  • FIG. 5 shows a plurality of motion vectors calculated for a first image, according to one example.
  • steps 410 and 420 described above with reference to FIG. 4 may include operations 510 and 520 below.
  • the electronic device 200 may set a first region of interest 517 in the first image 516 and a second region of interest 512 in the second image 511.
  • the electronic device 200 In operation 520, the electronic device 200 generates a first bitmap image 526 for the first region of interest 517 and a second bitmap image 521 for the second region of interest 512. can do.
  • step 430 described above with reference to FIG. 4 may include operation 530 below.
  • the electronic device 200 detects one or more feature points 536, 537, 538, and 539 of the first bitmap image 526 and detects one or more feature points of the second bitmap image 521 ( 531, 532, 533, 534) can be detected.
  • the feature point 531 and the feature point 536 match each other
  • the feature point 532 and the feature point 537 match each other
  • the feature point 533 and the feature point 538 match each other
  • the feature point 534 and feature points 539 may be matched to each other.
  • step 440 described above with reference to FIG. 4 may include operation 540 below.
  • the electronic device 200 In operation 540, the electronic device 200 generates a first bitmap image 516 (or a first bitmap image ( 526)), a plurality of motion vectors 541, 542, 543, and 544 can be calculated.
  • FIG. 6 is a flowchart of a method of calculating reference coordinates of a first image based on a plurality of motion vectors, according to an example.
  • step 340 described above with reference to FIG. 4 may include steps 610 to 640 below.
  • the electronic device 200 may classify a plurality of motion vectors for the first image into a first group and a second group. For example, first motion vectors located in the left area based on the center of the first image may be classified as the first group, and second motion vectors located in the right area may be classified as the second group.
  • the electronic device 200 may calculate a first vector average value of the first motion vectors included in the first group.
  • the electronic device 200 may calculate a second vector average value of second motion vectors included in the second group.
  • the electronic device 200 calculates the reference coordinates of the first image based on the first average vector and the second average vector. For example, the electronic device 200 may calculate the coordinate where the first average vector and the second average vector intersect as the reference coordinate.
  • Figure 7 shows reference coordinates of the first image calculated based on the first average vector and the second average vector, according to one example.
  • the electronic device 200 classifies the plurality of motion vectors (541, 542, 543, 544) of the first image (or the first bitmap image 526) into a first group and a second group. You can. For example, the first motion vectors 541 and 542 located in the left area of the first image are classified as the first group, and the second motion vectors 543 and 544 located in the right area are classified as the second group. can do.
  • the electronic device 200 calculates a first average vector 710 of the first group of first motion vectors 541 and 542 and the second group of second motion vectors 543 and 544.
  • the second average vector 720 of can be calculated.
  • the electronic device 200 may determine the location where the first average vector 710 and the second average vector 720 intersect as the reference coordinate 730.
  • Figure 8 is a flowchart of a method for determining vanishing point coordinates of a first image, according to an example.
  • step 340 described above with reference to FIG. 4 may include steps 810 to 860 below.
  • the electronic device 200 may set a target area on the first image.
  • the target area may be trapezoidal in shape, and the size of the target area may have an initial size and may be adjustable.
  • the electronic device 200 may generate a first bird's eye view image by changing the viewpoint of the target area to a bird's eye view.
  • the electronic device 200 may generate a first straight line for the first lane in the first bird's eye image and a second straight line for the second lane in the first bird's eye image based on the first bird's eye view image.
  • step 840 the electronic device 200 may determine whether the first straight line and the second straight line are parallel. If the first straight line and the second straight line are not parallel, step 850 may be performed, and if the first straight line and the second straight line are parallel, step 860 may be performed.
  • the electronic device 200 may adjust the size of the target area when the first straight line and the second straight line are not parallel. For example, the size of the target area may be adjusted based on the angle formed by the first straight line and the second straight line. The method for adjusting the size of the target area is described in detail below with reference to FIG. 10.
  • steps 810 to 840 may be re-performed based on the resized target area.
  • step 860 when the first straight line and the second straight line are parallel, the electronic device 200 may determine vanishing point coordinates based on the target area.
  • the method of determining the vanishing point coordinates is explained in detail below with reference to FIG. 9.
  • FIG. 9 illustrates a method of determining whether a first straight line for a first lane and a second straight line for a second lane of a first bird's eye image are parallel, according to an example.
  • the electronic device 200 may set a target area 912 on the first image 911.
  • the target area 912 may have a trapezoid shape, and the lower and upper sides of the trapezoid may be parallel to the x-axis of the first image 911, respectively.
  • the electronic device 200 may generate the first bird's eye view image 921 by changing the viewpoint of the target area 912 to the bird's eye view.
  • the electronic device 200 performs differentiation in the x-axis direction on the pixels of the first bird's eye image 921, and filters (e.g., Canny edge filtering) if the result of the differentiation is greater than or equal to a threshold value. Through this, the edge of the suboptimal line can be detected. An edge image 931 can be created so that the detected edge appears.
  • the edge image 931 may be a bitmap image or a binary map image.
  • the electronic device 200 may apply a grid 941 to the edge image 931.
  • the electronic device 200 may detect straight lines 951, 952, 953, and 954 within the grid 941.
  • Detected straight lines 951, 952, 953, and 954 may correspond to lanes.
  • straight lines 951 and 952 on the left may correspond to the left lane based on the vehicle
  • straight lines 953 and 954 on the right may correspond to the right lane.
  • the electronic device 200 determines whether at least one first straight line among the straight lines 951 and 952 on the left and at least a second straight line among the straight lines 953 and 954 on the right are parallel to each other. can be decided.
  • FIG. 10 illustrates a method of adjusting the size of a target area when a first straight line for a first lane and a second straight line for a second lane of a first bird's eye image are not parallel, according to an example.
  • the size of the target area 1021 set on the first image 1020 can be adjusted.
  • the size of the target area 1021 may be adjusted so that the height of the upper side of the existing target area is increased.
  • the first straight line 1031 and the second straight line 1032 are not parallel, and the intersection between the first straight line 1031 and the second straight line 1032 is the first bird's eye image 1030.
  • the size of the target area 1041 set on the first image 1040 can be adjusted.
  • the size of the target area 1041 may be adjusted so that the height of the lower side of the existing target area is increased.
  • FIG. 11 is a flowchart of a method of calculating a target steering angle based on reference coordinates and vanishing point coordinates of a first image, according to an example.
  • step 350 described above with reference to FIG. 4 may include steps 1110 to 1140 below.
  • the electronic device 200 may determine a first coordinate having the x-coordinate of the reference coordinate and the y-coordinate of the vanishing point coordinate for the first image.
  • the electronic device 200 may determine a second coordinate having the x-coordinate of the midpoint coordinate of the first image and the y-coordinate of the lower side of the target area.
  • the electronic device 200 may determine a third coordinate having the x-coordinate of the reference coordinate for the first image and the y-coordinate of the lower side of the target area.
  • the electronic device 200 may calculate the target steering angle based on the first coordinate, second coordinate, and third coordinate.
  • the method of calculating the target steering angle is explained in detail below with reference to FIG. 12.
  • Figure 12 shows a target steering angle calculated based on the first coordinate, second coordinate, and third coordinate of the first image, according to one example.
  • first coordinates 1201, second coordinates 1202, and third coordinates 1203 may be determined on the first image 1200.
  • the first coordinate 1201 may have an x coordinate (x optical) of the reference coordinates (x optical , y optical ) and a y coordinate (y vp ) of the vanishing point coordinates (x vp , y vp ).
  • the second coordinate may have the x coordinate (x start ) of the midpoint coordinate of the first image and the y coordinate (y start ) of the lower side of the target area.
  • the third coordinate may have the x coordinate (x optical ) of the reference coordinate and the y coordinate (y start ) of the lower side of the target area.
  • the distance between the first coordinate (1201) and the second coordinate (1202) is a
  • the distance between the second coordinate (1202) and the third coordinate (1203) is b
  • the first coordinate (1201) and the third coordinate (1203) are ) the distance between them may be c.
  • the target steering angle ⁇ may be an angle at the second coordinate 1202.
  • the target steering angle ( ⁇ ) can be calculated using [Equation 1] below.
  • FIG. 13 is a flowchart of a method for controlling a vehicle based on a calculated steering angle, according to one example.
  • steps 1310 to 1330 below may be further performed after step 350 of FIG. 3 described above with reference to FIG. 3 is performed.
  • the electronic device 200 may obtain the current steering angle of the vehicle.
  • the current steering angle of the steering wheel can be obtained from the vehicle's OBD.
  • the electronic device 200 may generate a steering signal for controlling the steering of the vehicle based on the current steering angle and the target steering angle.
  • a steering signal may be generated to cause the steering wheel to have a target steering angle based on the current steering angle.
  • the electronic device 200 may control the vehicle based on the steering signal.
  • the method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium.
  • the computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination.
  • Program instructions recorded on the medium may be specially designed and configured for the embodiment or may be known and available to those skilled in the art of computer software.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks.
  • program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.
  • the hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
  • Software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing unit to operate as desired, or may be processed independently or collectively. You can command the device.
  • Software and/or data may be used on any type of machine, component, physical device, virtual equipment, computer storage medium or device to be interpreted by or to provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave.
  • Software may be distributed over networked computer systems and stored or executed in a distributed manner.
  • Software and data may be stored on one or more computer-readable recording media.

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Transportation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Combustion & Propulsion (AREA)
  • Chemical & Material Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

차량의 조향각을 계산하기 위해, 제1 이미지에 기초하여 복수의 모션 벡터들을 계산하고, 복수의 모션 벡터들에 기초하여 제1 이미지의 기준 좌표를 계산하고, 제1 이미지에 기초하여 제1 이미지 상의 소실점 좌표를 결정하고, 기준 좌표 및 소실점 좌표에 기초하여 타겟 조향각을 계산한다.

Description

차량의 조향각 계산 방법 및 장치
아래의 실시예들은 차량의 조향각을 계산하는 기술에 관한 것으로, 보다 상세하게는 이미지를 이용하여 차량의 조향각을 계산하는 기술에 관한 것이다.
자율 주행 차량 또는 ADAS(advanced driver assistance system)을 지원하는 차량은 하나 이상의 센서들을 이용하여 차량 주변의 상황을 인식하고, 인식된 상황에 대해 적절한 차량의 제어가 요구된다. 예를 들어, 차량 주변의 상황을 인식하기 위해, 도로의 차선 및 차량 주변의 오브젝트가 검출된다. 차선 또는 오브젝트를 검출하기 위해 차량의 카메라를 이용하여 이미지를 생성하고, 이미지 내의 오브젝트를 식별할 수 있다.
일 실시예는 이미지를 이용하여 차량의 조향각을 계산하는 방법 및 장치를 제공할 수 있다.
일 실시예는 계산된 차량의 조향각에 기초하여 차량을 제어하는 방법 및 장치를 제공할 수 있다.
일 실시 예에 따른, 전자 장치에 의해 수행되는 차량의 조향각 계산 방법은, 제1 이미지를 수신하는 단계, 상기 제1 이미지에 기초하여 복수의 모션 벡터들(motion vector)을 계산하는 단계, 상기 복수의 모션 벡터들에 기초하여 상기 제1 이미지의 기준 좌표를 계산하는 단계, 상기 제1 이미지에 기초하여 상기 제1 이미지 상의 소실점 좌표를 결정하는 단계, 및 상기 기준 좌표 및 상기 소실점 좌표에 기초하여 타겟 조향각을 계산하는 단계를 포함할 수 있다.
상기 조향각 계산 방법은, 상기 제1 이미지에 대한 제1 명도 이미지를 생성하는 단계를 더 포함하고, 상기 제1 이미지에 기초하여 복수의 모션 벡터들을 계산하는 단계는, 상기 제1 명도 이미지에 기초하여 상기 복수의 모션 벡터들을 계산하는 단계를 포함하고, 상기 제1 이미지 상의 소실점 좌표를 결정하는 단계는, 상기 명도 이미지에 기초하여 상기 소실점 좌표를 결정하는 단계를 포함할 수 있다.
상기 제1 이미지에 기초하여 복수의 모션 벡터들을 계산하는 단계는, 상기 제1 이미지에 대한 제1 비트맵 이미지를 생성하는 단계, 상기 제1 이미지 보다 이전 시각에 촬영된 제2 이미지에 대한 제2 비트맵 이미지를 생성하는 단계, 상기 제1 비트맵 이미지 및 상기 제2 비트맵 이미지에 기초하여 상기 제1 비트맵 및 상기 제2 비트맵 이미지 각각에 대한 하나 이상의 특징점들을 검출하는 단계, 및 상기 특징점들에 기초하여 상기 제1 비트맵 이미지에 대한 상기 복수의 모션 벡터들을 계산하는 단계를 포함할 수 있다.
상기 복수의 모션 벡터들에 기초하여 상기 제1 이미지의 기준 좌표를 계산하는 단계는, 상기 복수의 모션 벡터들을 제1 그룹 및 제2 그룹으로 분류하는 단계, 상기 제1 그룹에 포함된 제1 모션 벡터들의 제1 평균 벡터를 계산하는 단계, 상기 제2 그룹에 포함된 제2 모션 벡터들의 제2 평균 벡터를 계산하는 단계, 및 상기 제1 평균 벡 및 상기 제2 평균 벡터에 기초하여 상기 제1 이미지의 상기 기준 좌표를 계산하는 단계를 포함할 수 있다.
상기 제1 이미지에 기초하여 상기 제1 이미지 상의 소실점 좌표를 결정하는 단계는, 상기 제1 이미지 상에 타겟 영역을 설정하는 단계, 상기 타겟 영역의 시점을 조감 시점으로 변경함으로써 제1 조감 이미지를 생성하는 단계, 상기 제1 조감 이미지에 기초하여 상기 제1 조감 이미지 내의 제1 차선에 대한 제1 직선을 생성하고, 제2 차선에 대한 제2 직선을 생성하는 단계, 상기 제1 직선 및 상기 제2 직선이 평행한지 여부를 결정하는 단계, 및 상기 제1 직선 및 상기 제2 직선이 평행한 경우, 상기 타겟 영역에 기초하여 상기 소실점 좌표를 결정하는 단계를 포함할 수 있다.
상기 제1 이미지에 기초하여 상기 제1 이미지 상의 소실점 좌표를 결정하는 단계는, 상기 제1 직선 및 상기 제2 직선이 평행하지 않은 경우, 상기 타겟 영역의 크기를 조정하는 단계를 더 포함할 수 있다.
상기 제1 직선 및 상기 제2 직선이 평행하지 않은 경우, 상기 타겟 영역의 크기를 조정하는 단계는, 상기 제1 직선 및 상기 제2 직선 간의 교점이 상기 타겟 영역의 중심을 기준으로 하단에 나타나는 경우, 상기 타겟 영역의 높이를 증가시키는 단계, 및 상기 제1 직선 및 상기 제2 직선 간의 교점이 상기 타겟 영역의 중심을 기준으로 상단에 나타나는 경우, 상기 타겟 영역의 높이를 감소시키는 단계를 포함할 수 있다.
상기 제1 직선 및 상기 제2 직선이 평행한 경우, 상기 타겟 영역에 기초하여 상기 소실점 좌표를 결정하는 단계는, 사다리꼴 형태인 상기 타겟 영역의 윗변의 y 좌표를 상기 소실점 좌표로 결정하는 단계를 포함할 수 있다.
상기 기준 좌표 및 상기 소실점 좌표에 기초하여 타겟 조향각을 계산하는 단계는, 상기 기준 좌표의 x좌표 및 상기 소실점 좌표의 y 좌표를 갖는 제1 좌표를 결정하는 단계, 상기 제1 이미지의 중점 좌표의 x좌표 및 상기 타겟 영역의 아랫변의 y 좌표를 갖는 제2 좌표를 결정하는 단계, 상기 기준 좌표의 x좌표 및 상기 타겟 영역의 아랫변의 y 좌표를 갖는 제3 좌표를 결정하는 단계, 및 상기 제1 좌표, 상기 제2 좌표 및 상기 제3 좌표에 기초하여 상기 타겟 조향각을 계산하는 단계를 포함할 수 있다.
상기 조향각 계산 방법은, 상기 차량의 현재 조향각을 획득하는 단계, 상기 현재 조향각 및 상기 타겟 조향각에 기초하여 상기 차량의 조향을 제어하기 위한 조향 신호를 생성하는 단계, 및 상기 조향 신호에 기초하여 상기 차량을 제어하는 단계를 더 포함할 수 있다.
상기 차량은 자율 주행 차량 또는 ADAS(advanced driver assistance system)을 지원하는 차량일 수 있다.
일 실시 예에 따른, 차량의 조향각을 계산하는 방법을 수행하는, 전자 장치는, 차량의 조향각을 계산하는 프로그램이 기록된 메모리, 및 상기 프로그램을 수행하는 프로세서를 포함하고, 상기 프로그램은, 제1 이미지를 수신하는 단계, 상기 제1 이미지에 기초하여 복수의 모션 벡터들(motion vector)을 계산하는 단계, 상기 복수의 모션 벡터들에 기초하여 상기 제1 이미지의 기준 좌표를 계산하는 단계, 상기 제1 이미지에 기초하여 상기 제1 이미지 상의 소실점 좌표를 결정하는 단계, 및 상기 기준 좌표 및 상기 소실점 좌표에 기초하여 타겟 조향각을 계산하는 단계를 수행할 수 있다.
상기 전자 장치는 상기 차량에 포함되고, 상기 제1 이미지는 상기 차량의 주위를 촬영한 이미지일 수 있다.
상기 제1 이미지에 기초하여 복수의 모션 벡터들을 계산하는 단계는, 상기 제1 이미지에 대한 제1 비트맵 이미지를 생성하는 단계, 상기 제1 이미지 보다 이전 시각에 촬영된 제2 이미지에 대한 제2 비트맵 이미지를 생성하는 단계, 상기 제1 비트맵 이미지 및 상기 제2 비트맵 이미지에 기초하여 상기 제1 비트맵 및 상기 제2 비트맵 이미지 각각에 대한 하나 이상의 특징점들을 검출하는 단계, 및 상기 특징점들에 기초하여 상기 제1 비트맵 이미지에 대한 상기 복수의 모션 벡터들을 계산하는 단계를 포함할 수 있다.
상기 복수의 모션 벡터들에 기초하여 상기 제1 이미지의 기준 좌표를 계산하는 단계는, 상기 복수의 모션 벡터들을 제1 그룹 및 제2 그룹으로 분류하는 단계, 상기 제1 그룹에 포함된 제1 모션 벡터들의 제1 평균 벡터를 계산하는 단계, 상기 제2 그룹에 포함된 제2 모션 벡터들의 제2 평균 벡터를 계산하는 단계, 및 상기 제1 평균 벡터 및 상기 제2 평균 벡터에 기초하여 상기 제1 이미지의 상기 기준 좌표를 계산하는 단계를 포함할 수 있다.
상기 제1 이미지에 기초하여 상기 제1 이미지 상의 소실점 좌표를 결정하는 단계는, 상기 제1 이미지 상에 타겟 영역을 설정하는 단계, 상기 타겟 영역의 시점을 조감 시점으로 변경함으로써 제1 조감 이미지를 생성하는 단계, 상기 제1 조감 이미지에 기초하여 상기 제1 조감 이미지 내의 제1 차선에 대한 제1 직선을 생성하고, 제2 차선에 대한 제2 직선을 생성하는 단계, 상기 제1 직선 및 상기 제2 직선이 평행한지 여부를 결정하는 단계, 및 상기 제1 직선 및 상기 제2 직선이 평행한 경우, 상기 타겟 영역에 기초하여 상기 소실점 좌표를 결정하는 단계를 포함할 수 있다.
상기 제1 이미지에 기초하여 상기 제1 이미지 상의 소실점 좌표를 결정하는 단계는, 상기 제1 직선 및 상기 제2 직선이 평행하지 않은 경우, 상기 타겟 영역의 크기를 조정하는 단계를 더 포함할 수 있다.
상기 제1 직선 및 상기 제2 직선이 평행하지 않은 경우, 상기 타겟 영역의 크기를 조정하는 단계는, 상기 제1 직선 및 상기 제2 직선 간의 교점이 상기 타겟 영역의 중심을 기준으로 하단에 나타나는 경우, 상기 타겟 영역의 높이를 증가시키는 단계, 및 상기 제1 직선 및 상기 제2 직선 간의 교점이 상기 타겟 영역의 중심을 기준으로 상단에 나타나는 경우, 상기 타겟 영역의 높이를 감소시키는 단계를 포함할 수 있다.
이미지를 이용하여 차량의 조향각을 계산하는 방법 및 장치가 제공될 수 있다.
계산된 차량의 조향각에 기초하여 차량을 제어하는 방법 및 장치가 제공될 수 있다.
도 1은 일 예에 따른, 차량의 조향을 도시한다.
도 2는 일 실시 예에 따른, 전자 장치의 구성도이다.
도 3은 일 실시 예에 따른, 차량의 조향각을 계산하는 방법의 흐름도이다.
도 4는 일 예에 따른, 제1 이미지에 대한 복수의 모션 벡터들을 계산하는 방법의 흐름도이다.
도 5는 일 예에 따른, 제1 이미지에 대해 계산된 복수의 모션 벡터들을 도시한다.
도 6은 일 예에 따른, 복수의 모션 벡터들에 기초하여 제1 이미지의 기준 좌표를 계산하는 방법의 흐름도이다.
도 7은 일 예에 따른, 제1 평균 벡터 및 제2 평균 벡터에 기초하여 계산된 제1 이미지의 기준 좌표를 도시한다.
도 8은 일 예에 따른, 제1 이미지의 소실점 좌표를 결정하는 방법의 흐름도이다.
도 9는 일 예에 따른, 제1 조감 이미지의 제1 차선에 대한 제1 직선 및 제2 차선에 대한 제2 직선이 평행한지 여부를 결정하는 방법을 도시한다.
도 10은 일 예에 따른, 제1 조감 이미지의 제1 차선에 대한 제1 직선 및 제2 차선에 대한 제2 직선이 평행하지 않은 경우 타겟 영역의 크기를 조정하는 방법을 도시한다.
도 11은 일 예에 따른, 제1 이미지의 기준 좌표 및 소실점 좌표에 기초하여 타겟 조향각을 계산하는 방법의 흐름도이다.
도 12는 일 예에 따른, 제1 이미지의 제1 좌표, 제2 좌표 및 제3 좌표에 기초하여 계산되는 타겟 조향각을 도시한다.
도 13은 일 예에 따른, 계산된 조향각에 기초하여 차량을 제어하는 방법의 흐름도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
또한, 실시 예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
어느 하나의 실시 예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성요소는, 다른 실시 예에서 동일한 명칭을 사용하여 설명하기로 한다. 반대되는 기재가 없는 이상, 어느 하나의 실시 예에 기재한 설명은 다른 실시 예에도 적용될 수 있으며, 중복되는 범위에서 구체적인 설명은 생략하기로 한다.
도 1은 일 예에 따른, 차량의 조향을 도시한다.
차량(100)이 도로의 차선을 따라 주행하기 위해서는 차량(100)의 핸들이 조향되어야 한다. 예를 들어, 차선이 우측으로 휘어지는 경우, 차량(100)의 핸들도 그에 맞추어 조향되어야 할 수 있다.
일 예에 따라, 차량(100)이 자율 주행 차량 또는 ADAS(advanced driver assistance system)을 지원하는 차량인 경우, 차량(100)을 제어하기 위해 조향각이 예측될 수 있다. 예를 들어, 차량(100)은 카메라를 이용하여 차량(100)의 전방 이미지를 촬영할 수 있고, 전방 이미지에 기초하여 타겟 조향각이 계산될 수 있다.
일 실시 예에 따르면, 차량(100)의 전방이 기준 방향(110)이 되고, 기준 방향(110)과 촬영된 이미지에 기초하여 결정된 목표 방향(120) 사이의 각도가 타겟 조향각으로 계산될 수 있다.
아래에서, 도 2 내지 도 12를 참조하여 타겟 조향각을 계산하는 방법에 대해 상세히 설명된다.
도 2는 일 실시예에 따른 전자 장치의 구성도이다.
전자 장치(200)는 통신부(210), 프로세서(220) 및 메모리(230)를 포함한다. 예를 들어, 전자 장치(200)은 도 1을 참조하여 차량(100)에 포함할 수 있다. 일 측면에 따르면, 전자 장치(200)는 차량(100)의 주위 장면을 촬영함으로써 이미지를 생성하는 카메라(미도시)를 더 포함할 수 있다. 카메라는 미리 설정된 주기로 복수의 이미지들을 연속적으로 생성할 수 있다.
통신부(210)는 프로세서(220) 및 메모리(230)와 연결되어 데이터를 송수신한다. 통신부(210)는 외부의 다른 장치와 연결되어 데이터를 송수신할 수 있다. 이하에서 "A"를 송수신한다라는 표현은 "A를 나타내는 정보(information) 또는 데이터"를 송수신하는 것을 나타낼 수 있다.
통신부(210)는 전자 장치(200) 내의 회로망(circuitry)으로 구현될 수 있다. 예를 들어, 통신부(210)는 내부 버스(internal bus) 및 외부 버스(external bus)를 포함할 수 있다. 다른 예로, 통신부(210)는 전자 장치(200)와 외부의 장치를 연결하는 요소일 수 있다. 통신부(210)는 인터페이스(interface)일 수 있다. 통신부(210)는 외부의 장치로부터 데이터를 수신하여, 프로세서(220) 및 메모리(230)에 데이터를 전송할 수 있다.
프로세서(220)는 통신부(210)가 수신한 데이터 및 메모리(230)에 저장된 데이터를 처리한다. "프로세서"는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
프로세서(220)는 메모리(예를 들어, 메모리(230))에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(220)에 의해 유발된 인스트럭션들을 실행한다.
메모리(230)는 통신부(210)가 수신한 데이터 및 프로세서(220)가 처리한 데이터를 저장한다. 예를 들어, 메모리(230)는 프로그램(또는 어플리케이션, 소프트웨어)을 저장할 수 있다. 저장되는 프로그램은 이미지에 기초하여 차량의 타겟 조향각을 계산할 수 있도록 코딩되어 프로세서(220)에 의해 실행 가능한 신텍스(syntax)들의 집합일 수 있다.
일 측면에 따르면, 메모리(230)는 하나 이상의 휘발성 메모리, 비휘발성 메모리 및 RAM(Random Access Memory), 플래시 메모리, 하드 디스크 드라이브 및 광학 디스크 드라이브를 포함할 수 있다.
메모리(230)는 전자 장치(200)를 동작 시키는 명령어 세트(예를 들어, 소프트웨어)를 저장한다. 전자 장치(200)를 동작 시키는 명령어 세트는 프로세서(220)에 의해 실행된다.
통신부(210), 프로세서(220) 및 메모리(230)에 대해, 아래에서 도 3 내지 도 13을 참조하여 상세히 설명된다.
도 3은 일 실시예에 따른 차량 검출 방법의 흐름도이다.
아래의 단계들(310 내지 340)은 도 2를 참조하여 전술된 전자 장치(200)에 의해 수행된다.
단계(310)에서, 전자 장치(200)는 제1 이미지를 수신한다. 예를 들어, 카메라는 제1 시각에서 차량의 주위 장면(예를 들어, 정면)을 촬영함으로써 제1 이미지를 생성할 수 있다. 제1 시각 이전인 제2 시각에 생성된 이미지는 제2 이미지로 명명될 수 있다. 예를 들어, 제1 이미지는 t 번째 프레임이고, 제2 이미지는 t-n번째 프레임일 수 있다. 여기서 n는 미리 설정된 자연수 있다. 예를 들어, n은 5 내지 10 중 어느 하나일 수 있다.
일 실시 예에 따르면, 단계(310)가 수행된 후 제1 이미지에 대한 제1 명도 이미지를 생성하는 단계가 더 수행될 수 있다. 예를 들어,
예를 들어, 전자 장치(200)는 제1 이미지의 픽셀의 RGB 값에 기초하여 픽셀을 그레이 스케일로 변환함으로써 제1 명도 이미지를 생성할 수 있다. 다른 예로, 전자 장치(200)는 제1 이미지의 픽셀의 HSV(hue saturation value)의 밸류(value) 채널에 기초하여 제1 명도 이미지를 생성할 수 있다. 또 다른 예로, 전자 장치(200)는 제1 이미지의 픽셀의 YCbCr의 휘도 채널(luminance)에 기초하여 제1 명도 이미지를 생성할 수 있다.
아래에서 설명되는 단계들(330 및 340)에서의 "제1 이미지"는 "제1 명도 이미지"로 대체될 수 있다.
단계(320)에서, 전자 장치(200)는 제1 이미지에 기초하여 복수의 모션 벡터들을 계산한다. 예를 들어, 모션 벡터는 제1 이미지 내의 특징점의 움직임의 경향을 나타내는 벡터일 수 있다. 특징점에 대한 모션 벡터를 계산하기 위해 제2 이미지가 더 이용될 수 있다. 아래에서, 도 4 및 도 5를 참조하여 제1 이미지에 대한 복수의 모션 벡터들을 계산하는 방법이 상세하게 설명된다.
단계(330)에서, 전자 장치(200)는 복수의 모션 벡터들에 기초하여 제1 이미지의 기준 좌표를 계산한다. 기준 좌표는 제1 이미지의 광학 흐름(optical flow)의 기준이 되는 좌표일 수 있다. 기준 좌표는 이 후의 단계(350)에서 타겟 조향각을 계산하기 위한 요소 값으로 이용될 수 있다. 기준 좌표를 계산하는 방법에 대해, 아래에서 도 6 및 도 7을 참조하여 상세하게 설명된다.
단계(340)에서, 전자 장치(200)는 제1 이미지에 기초하여 제1 이미지 상의 소실점(vanishing point) 좌표를 결정한다. 제1 이미지의 소실점 좌표를 결정하는 방법에 대해 아래에서 도 8 내지 도 10을 참조하여 상세히 설명된다.
단계(350)에서, 전자 장치(200)는 제1 이미지의 기준 좌표 및 소실점 좌표에 기초하여 타겟 조향각을 계산한다. 아래에서, 도 11 및 도 12를 참조하여 타겟 조향각을 계산하는 방법에 대해 상세히 설명된다.
도 4는 일 예에 따른, 제1 이미지에 대한 복수의 모션 벡터들을 계산하는 방법의 흐름도이다.
일 실시 예에 따르면, 도 3을 참조하여 전술된 단계(320)는 아래의 단계들(410 내지 440)을 포함할 수 있다.
단계(410)에서, 전자 장치(200)는 제1 이미지에 대한 제1 비트맵(bitmap) 이미지를 생성할 수 있다. 비트맵 이미지는 이진맵 이미지일 수 있다.
일 예에 따르면, 전자 장치(200)는 제1 이미지(또는, 제1 명도 이미지)에 제1 관심 영역(region of interest: ROI)을 설정하고, 노이즈 감쇠를 위한 제1 관심 영역에 대한 블러링을 수행할 수 있다. 예를 들어, 전자 장치(200)는 미리 설정된 필터를 제1 관심 영역에 적용함으로써 블러링을 수행할 수 있다. 전자 장치(200)는 블러링이 수행된 제1 관심 영역의 각 픽셀마다 x축 방향 및 y축 방향으로 각각 미분을 수행하고, 미분의 결과 값이 임계 값 이상인 경우 필터링을 통해 비트맵 이미지를 생성할 수 있다.
단계(420)에서, 전자 장치(200)는 제2 이미지에 대한 제2 비트맵 이미지를 생성할 수 있다. 제2 비트맵 이미지를 생성하는 방법에 대한 설명은 제1 비트맵 이미지를 생성하는 방법에 대한 설명으로 대체될 수 있다.
단계(430)에서, 전자 장치(200)는 제1 비트맵 이미지 및 제2 비트맵 이미지에 기초하여 제1 비트맵 이미지 및 제2 비트맵 이미지 각각에 대한 하나 이상의 특징점들을 검출할 수 있다. 예를 들어, 전자 장치(200)는 제1 비트맵 이미지 및 제2 비트맵 이미지에 대해 코너점 검출(예: Harris corner 검출 또는 Susan corner)을 수행함으로써 특징점들을 검출할 수 있다.
일 실시 예에 따르면, 제1 비트맵 이미지의 특징점 및 제2 비트맵 이미지의 특징점이 매칭될 수 있다.
단계(440)에서, 전자 장치(200)는 특징점들에 기초하여 제1 비트맵 이미지에 대한 복수의 모션 벡터들을 계산할 수 있다. 예를 들어, 제1 비트맵 이미지 및 제2 비트맵 이미지 사이에 매칭된 특징점 각각에 대한 모션 벡터가 계산될 수 있다.
도 5는 일 예에 따른, 제1 이미지에 대해 계산된 복수의 모션 벡터들을 도시한다.
일 실시 예에 따르면, 도 4를 참조하여 전술된 단계들(410 및 420)은 아래의 동작들 510 및 520을 포함할 수 있다.
동작 510에서, 전자 장치(200)는 제1 이미지(516)에 제1 관심 영역(517)을 설정하고, 제2 이미지(511)에 제2 관심 영역(512)을 설정할 수 있다.
동작 520에서, 전자 장치(200)는 제1 관심 영역(517)에 대한 제1 비트맵 이미지(526)를 생성하고, 제2 관심 영역(512)에 대한 제2 비트맵 이미지(521)를 생성할 수 있다.
일 실시 예에 따르면, 도 4를 참조하여 전술된 단계(430)은 아래의 동작 530을 포함할 수 있다.
동작 530에서, 전자 장치(200)는 제1 비트맵 이미지(526)의 하나 이상의 특징점들(536, 537, 538, 539)을 검출하고, 제2 비트맵 이미지(521)의 하나 이상의 특징점들(531, 532, 533, 534)을 검출할 수 있다. 예를 들어, 특징점(531) 및 특징점(536)이 서로 매칭되고, 특징점(532) 및 특징점(537)이 서로 매칭되고, 특징점(533) 및 특징점(538)이 서로 매칭되고, 특징점(534) 및 특징점(539)이 서로 매칭될 수 있다.
일 실시 예에 따르면, 도 4를 참조하여 전술된 단계(440)은 아래의 동작 540을 포함할 수 있다.
동작 540에서, 전자 장치(200)는 특징점들((531, 532, 533, 534, 536, 537, 538, 539)에 기초하여 제1 비트맵 이미지(516)(또는, 제1 비트맵 이미지(526))에 대한 복수의 모션 벡터들(541, 542, 543, 544)을 계산할 수 있다.
도 6은 일 예에 따른, 복수의 모션 벡터들에 기초하여 제1 이미지의 기준 좌표를 계산하는 방법의 흐름도이다.
일 실시 예에 따르면, 도 4를 참조하여 전술된 단계(340)는 아래의 단계들(610 내지 640)을 포함할 수 있다.
단계(610)에서, 전자 장치(200)는 제1 이미지에 대한 복수의 모션 벡터들을 제1 그룹 및 제2 그룹으로 분류할 수 있다. 예를 들어, 제1 이미지의 중심을 기준으로 좌측 영역에 위치하는 제1 모션 벡터들이 제1 그룹으로 분류되고, 우측 영역에 위치하는 제2 모션 벡터들이 제2 그룹으로 분류될 수 있다.
단계(620)에서, 전자 장치(200)는 제1 그룹에 포함된 제1 모션 벡터들의 제1 벡터 평균 값을 계산할 수 있다.
단계(630)에서, 전자 장치(200)는 제2 그룹에 포함된 제2 모션 벡터들의 제2 벡터 평균 값을 계산할 수 있다.
단계(640)에서, 전자 장치(200)는 제1 평균 벡터 및 제2 평균 벡터에 기초하여 제1 이미지의 기준 좌표를 계산한다. 예를 들어, 전자 장치(200)는 제1 평균 벡터 및 제2 평균 벡터가 교차하는 좌표를 기준 좌표로서 계산할 수 있다
도 7은 일 예에 따른, 제1 평균 벡터 및 제2 평균 벡터에 기초하여 계산된 제1 이미지의 기준 좌표를 도시한다.
동작 701에서, 전자 장치(200)는 제1 이미지(또는, 제1 비트맵 이미지(526))의 복수의 모션 벡터들을(541, 542, 543, 544) 제1 그룹 및 제2 그룹으로 분류할 수 있다. 예를 들어, 제1 이미지의 좌측 영역에 위치한 제1 모션 벡터들(541, 542)을 제1 그룹으로 분류하고, 우측 영역에 위치한 제2 모션 벡터들(543, 544)을 제2 그룹으로 분류할 수 있다.
동작 702에서, 전자 장치(200)는 제1 그룹의 제1 모션 벡터들(541, 542)의 제1 평균 벡터(710)를 계산하고, 제2 그룹의 제2 모션 벡터들(543, 544)의 제2 평균 벡터(720)를 계산할 수 있다. 이어서, 전자 장치(200)는 제1 평균 벡터(710) 및 제2 평균 벡터(720)가 교차하는 위치를 기준 좌표(730)로 결정할 수 있다.
도 8은 일 예에 따른, 제1 이미지의 소실점 좌표를 결정하는 방법의 흐름도이다.
일 실시 예에 따르면, 도 4를 참조하여 전술된 단계(340)는 아래의 단계들(810 내지 860)을 포함할 수 있다.
단계(810)에서, 전자 장치(200)는 제1 이미지 상에 타겟 영역을 설정할 수 있다. 예를 들어, 타겟 영역은 사다리꼴 형태일 수 있고, 타겟 영역의 크기는 초기 크기를 가질 수 있으며 조정 가능할 수 있다.
단계(820)에서, 전자 장치(200)는 타겟 영역의 시점을 조감 시점으로 변경함으로써 제1 조감 이미지를 생성할 수 있다.
단계(830)에서, 전자 장치(200)는 제1 조감 이미지에 기초하여 제1 조감 이미지 내의 제1 차선에 대한 제1 직선을 생성하고, 제2 차선에 대한 제2 직선을 생성할 수 있다.
단계(840)에서, 전자 장치(200)는 제1 직선 및 제2 직선이 평행한지 여부를 결정할 수 있다. 제1 직선 및 제2 직선이 평행하지 않은 경우 단계(850)가 수행되고, 제1 직선 및 제2 직선이 평행한 경우 단계(860)가 수행될 수 있다.
단계(850)에서, 전자 장치(200)는 제1 직선 및 제2 직선이 평행하지 않은 경우 타겟 영역의 크기를 조정할 수 있다. 예를 들어, 제1 직선 및 제2 직선에 의해 형성되는 각도에 기초하여 타겟 영역의 크기가 조정될 수 있다. 타겟 영역의 크기를 조정하는 방법에 대해 아래에서 도 10을 참조하여 상세히 설명된다.
단계(850)가 수행된 경우, 크기가 조정된 타겟 영역에 기초하여 단계들(810 내지 840)이 재수행될 수 있다.
단계(860)에서, 전자 장치(200)는 제1 직선 및 제2 직선이 평행한 경우, 타겟 영역에 기초하여 소실점 좌표를 결정할 수 있다. 소실점 좌표를 결정하는 방법에 대해, 아래에서 도 9를 참조하여 상세히 설명된다.
도 9는 일 예에 따른, 제1 조감 이미지의 제1 차선에 대한 제1 직선 및 제2 차선에 대한 제2 직선이 평행한지 여부를 결정하는 방법을 도시한다.
동작 910에서, 전자 장치(200)는 제1 이미지(911) 상에 타겟 영역(912)을 설정할 수 있다. 타겟 영역(912)은 사다리꼴 형태일 수 있고, 사다리꼴의 아랫변 및 윗변은 각각 제1 이미지(911)의 x축과 평행할 수 있다.
동작(920)에서, 전자 장치(200)는 타겟 영역(912)의 시점을 조감 시점으로 변경함으로써 제1 조감 이미지(921)를 생성할 수 있다.
동작(930)에서, 전자 장치(200)는 제1 조감 이미지(921)의 픽셀들에 대해 x축 방향으로 미분을 수행하고, 미분의 결과 값이 임계 값 이상인 경우 필터링(예: Canny edge 필터링)을 통해 차선의 엣지를 검출할 수 있다. 검출된 엣지가 나타나도록 엣지 이미지(931)를 생성할 수 있다. 엣지 이미지(931)는 비트맵 이미지 또는 이진맵 이미지일 수 있다.
동작(940)에서, 전자 장치(200)는 엣지 이미지(931)에 그리드(grid)(941)를 적용함할 수 있다.
동작(950)에서, 전자 장치(200)는 그리드(941) 내의 직선들(951, 952, 953, 954)을 검출할 수 있다. 검출된 직선들(951, 952, 953, 954)은 차선들에 대응할 수 있다. 예를 들어, 좌측의 직선들(951, 952)은 차량을 기준으로 좌측 차선에 대응하고, 우측의 직선들(953, 954)은 우측 차선에 대응할 수 있다.
일 실시 예에 따르면, 전자 장치(200)는 좌측의 직선들(951, 952) 중 적어도 하나의 제1 직선과 우측의 직선들(953, 954) 중 적어도 하나의 제2 직선이 서로 평행인지 여부를 결정할 수 있다.
도 10은 일 예에 따른, 제1 조감 이미지의 제1 차선에 대한 제1 직선 및 제2 차선에 대한 제2 직선이 평행하지 않은 경우 타겟 영역의 크기를 조정하는 방법을 도시한다.
일 실시 예에 따른 케이스 (a)는 제1 직선(1011) 및 제2 직선(1012)이 평행하지 않고, 제1 직선(1011) 및 제2 직선(1012) 간의 교점이 제1 조감 이미지(1010)를 기준으로 하단에 나타나는 경우, 제1 이미지(1020) 상에 설정되는 타겟 영역(1021)의 크기를 조정할 수 있다. 예를 들어, 기존의 타겟 영역의 윗변의 높이가 증가되도록 타겟 영역(1021)의 크기가 조정될 수 있다.
일 실시 예에 따른 케이스 (b)는 제1 직선(1031) 및 제2 직선(1032)이 평행하지 않고, 제1 직선(1031) 및 제2 직선(1032) 간의 교점이 제1 조감 이미지(1030)를 기준으로 상단에 나타나는 경우, 제1 이미지(1040) 상에 설정되는 타겟 영역(1041)의 크기를 조정할 수 있다. 예를 들어, 기존의 타겟 영역의 아랫변의 높이가 증가되도록 타겟 영역(1041)의 크기가 조정될 수 있다.
도 11은 일 예에 따른, 제1 이미지의 기준 좌표 및 소실점 좌표에 기초하여 타겟 조향각을 계산하는 방법의 흐름도이다.
일 실시 예에 따르면, 도 4를 참조하여 전술된 단계(350)는 아래의 단계들(1110 내지 1140)을 포함할 수 있다.
단계(1110)에서, 전자 장치(200)는 제1 이미지에 대한 기준 좌표의 x 좌표 및 소실점 좌표의 y 좌표를 갖는 제1 좌표를 결정할 수 있다.
단계(1120)에서, 전자 장치(200)는 제1 이미지의 중점 좌표의 x 좌표 및 타겟 영역의 아랫변의 y 좌표를 갖는 제2 좌표를 결정할 수 있다.
단계(1130)에서, 전자 장치(200)는 제1 이미지에 대한 기준 좌표의 x 좌표 및 타겟 영역의 아랫변의 y 좌표를 갖는 제3 좌표를 결정할 수 있다.
단계(1140)에서, 전자 장치(200)는 제1 좌표, 제2 좌표, 및 제3 좌표에 기초하여 타겟 조향각을 계산할 수 있다. 타겟 조향각을 계산하는 방법에 대해, 아래에서 도 12를 참조하여 상세히 설명된다.
도 12는 일 예에 따른, 제1 이미지의 제1 좌표, 제2 좌표 및 제3 좌표에 기초하여 계산되는 타겟 조향각을 도시한다.
일 실시 예에 따르면, 제1 이미지(1200) 상에 제1 좌표(1201), 제2 좌표(1202) 및 제3 좌표(1203)가 결정될 수 있다. 제1 좌표(1201)는 기준 좌표(xoptical, yoptical)의 x 좌표(xoptical) 및 소실점 좌표(xvp, yvp)의 y 좌표(yvp)를 가질 수 있다. 제2 좌표는 제1 이미지의 중점 좌표의 x 좌표(xstart) 및 타겟 영역의 아랫변의 y 좌표(ystart)를 가질 수 있다. 제3 좌표는 기준 좌표의 x 좌표(xoptical)및 타겟 영역의 아랫변의 y 좌표(ystart)를 가질 수 있다.
제1 좌표(1201) 및 제2 좌표(1202) 사이의 거리는 a이고, 제2 좌표(1202) 및 제3 좌표(1203) 사이의 거리는 b이고, 제1 좌표(1201) 및 제3 좌표(1203) 사이의 거리는 c일 수 있다. 타겟 조향각(θ)은 제2 좌표(1202)에서의 각도일 수 있다.
예를 들어, 타겟 조향각(θ)은 아래의 [수학식 1]로 계산될 수 있다.
[수학식 1]
Figure PCTKR2022005811-appb-img-000001
도 13은 일 예에 따른, 계산된 조향각에 기초하여 차량을 제어하는 방법의 흐름도이다.
일 실시 예에 따르면, 아래의 단계들(1310 내지 1330)은 도 3을 참조하여 전술된 도 3의 단계(350)가 수행된 후 더 수행될 수 있다.
단계(1310)에서, 전자 장치(200)는 차량의 현재 조향각을 획득할 수 있다. 예를 들어, 차량의 OBD로부터 핸들의 현재 조향각이 획득될 수 있다.
단계(1320)에서, 전자 장치(200)는 현재 조향각 및 타겟 조향각에 기초하여 차량의 조향을 제어하기 위한 조향 신호를 생성할 수 있다. 예를 들어, 현재 조향각에 기초하여 핸들이 타겟 조향각을 가질 수 있도록 조향 신호가 생성될 수 있다.
단계(1330)에서, 전자 장치(200)는 조향 신호에 기초하여 차량을 제어할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (19)

  1. 전자 장치에 의해 수행되는 차량의 조향각 계산 방법은,
    제1 이미지를 수신하는 단계;
    상기 제1 이미지에 기초하여 복수의 모션 벡터들(motion vector)을 계산하는 단계;
    상기 복수의 모션 벡터들에 기초하여 상기 제1 이미지의 기준 좌표를 계산하는 단계;
    상기 제1 이미지에 기초하여 상기 제1 이미지 상의 소실점 좌표를 결정하는 단계; 및
    상기 기준 좌표 및 상기 소실점 좌표에 기초하여 타겟 조향각을 계산하는 단계
    를 포함하는,
    조향각 계산 방법.
  2. 제1항에 있어서,
    상기 제1 이미지에 대한 제1 명도 이미지를 생성하는 단계
    를 더 포함하고,
    상기 제1 이미지에 기초하여 복수의 모션 벡터들을 계산하는 단계는,
    상기 제1 명도 이미지에 기초하여 상기 복수의 모션 벡터들을 계산하는 단계
    를 포함하고,
    상기 제1 이미지 상의 소실점 좌표를 결정하는 단계는,
    상기 명도 이미지에 기초하여 상기 소실점 좌표를 결정하는 단계
    를 포함하는,
    조향각 계산 방법.
  3. 제1항에 있어서,
    상기 제1 이미지에 기초하여 복수의 모션 벡터들을 계산하는 단계는,
    상기 제1 이미지에 대한 제1 비트맵 이미지를 생성하는 단계;
    상기 제1 이미지 보다 이전 시각에 촬영된 제2 이미지에 대한 제2 비트맵 이미지를 생성하는 단계;
    상기 제1 비트맵 이미지 및 상기 제2 비트맵 이미지에 기초하여 상기 제1 비트맵 및 상기 제2 비트맵 이미지 각각에 대한 하나 이상의 특징점들을 검출하는 단계; 및
    상기 특징점들에 기초하여 상기 제1 비트맵 이미지에 대한 상기 복수의 모션 벡터들을 계산하는 단계
    를 포함하는,
    조향각 계산 방법.
  4. 제1항에 있어서,
    상기 복수의 모션 벡터들에 기초하여 상기 제1 이미지의 기준 좌표를 계산하는 단계는,
    상기 복수의 모션 벡터들을 제1 그룹 및 제2 그룹으로 분류하는 단계;
    상기 제1 그룹에 포함된 제1 모션 벡터들의 제1 평균 벡터를 계산하는 단계;
    상기 제2 그룹에 포함된 제2 모션 벡터들의 제2 평균 벡터를 계산하는 단계; 및
    상기 제1 평균 벡터 및 상기 제2 평균 벡터에 기초하여 상기 제1 이미지의 상기 기준 좌표를 계산하는 단계
    를 포함하는,
    조향각 계산 방법.
  5. 제1항에 있어서,
    상기 제1 이미지에 기초하여 상기 제1 이미지 상의 소실점 좌표를 결정하는 단계는,
    상기 제1 이미지 상에 타겟 영역을 설정하는 단계;
    상기 타겟 영역의 시점을 조감 시점으로 변경함으로써 제1 조감 이미지를 생성하는 단계;
    상기 제1 조감 이미지에 기초하여 상기 제1 조감 이미지 내의 제1 차선에 대한 제1 직선을 생성하고, 제2 차선에 대한 제2 직선을 생성하는 단계;
    상기 제1 직선 및 상기 제2 직선이 평행한지 여부를 결정하는 단계; 및
    상기 제1 직선 및 상기 제2 직선이 평행한 경우, 상기 타겟 영역에 기초하여 상기 소실점 좌표를 결정하는 단계
    를 포함하는,
    조향각 계산 방법.
  6. 제5항에 있어서,
    상기 제1 이미지에 기초하여 상기 제1 이미지 상의 소실점 좌표를 결정하는 단계는,
    상기 제1 직선 및 상기 제2 직선이 평행하지 않은 경우, 상기 타겟 영역의 크기를 조정하는 단계
    를 더 포함하는,
    조향각 계산 방법.
  7. 제6항에 있어서,
    상기 제1 직선 및 상기 제2 직선이 평행하지 않은 경우, 상기 타겟 영역의 크기를 조정하는 단계는,
    상기 제1 직선 및 상기 제2 직선 간의 교점이 상기 제1 조감 이미지를 기준으로 하단에 나타나는 경우, 상기 타겟 영역의 윗변의 높이를 증가시키는 단계; 및
    상기 제1 직선 및 상기 제2 직선 간의 교점이 상기 제1 조감 이미지를 기준으로 상단에 나타나는 경우, 상기 타겟 영역의 아랫변의 높이를 증가시키는 단계
    를 포함하는,
    조향각 계산 방법.
  8. 제6항에 있어서,
    상기 제1 직선 및 상기 제2 직선이 평행한 경우, 상기 타겟 영역에 기초하여 상기 소실점 좌표를 결정하는 단계는,
    사다리꼴 형태인 상기 타겟 영역의 윗변의 y 좌표를 상기 소실점 좌표로 결정하는 단계
    를 포함하는,
    조향각 계산 방법.
  9. 제8항에 있어서,
    상기 기준 좌표 및 상기 소실점 좌표에 기초하여 타겟 조향각을 계산하는 단계는,
    상기 기준 좌표의 x좌표 및 상기 소실점 좌표의 y 좌표를 갖는 제1 좌표를 결정하는 단계;
    상기 제1 이미지의 중점 좌표의 x좌표 및 상기 타겟 영역의 아랫변의 y 좌표를 갖는 제2 좌표를 결정하는 단계;
    상기 기준 좌표의 x좌표 및 상기 타겟 영역의 아랫변의 y 좌표를 갖는 제3 좌표를 결정하는 단계; 및
    상기 제1 좌표, 상기 제2 좌표 및 상기 제3 좌표에 기초하여 상기 타겟 조향각을 계산하는 단계
    를 포함하는,
    조향각 계산 방법.
  10. 제1항에 있어서,
    상기 차량의 현재 조향각을 획득하는 단계;
    상기 현재 조향각 및 상기 타겟 조향각에 기초하여 상기 차량의 조향을 제어하기 위한 조향 신호를 생성하는 단계; 및
    상기 조향 신호에 기초하여 상기 차량을 제어하는 단계
    를 더 포함하는,
    조향각 계산 방법.
  11. 제1항에 있어서,
    상기 차량은 자율 주행 차량 또는 ADAS(advanced driver assistance system)을 지원하는 차량인,
    조향각 계산 방법.
  12. 제1항의 방법을 수행하는 프로그램을 수록한 컴퓨터 판독 가능 기록 매체.
  13. 차량의 조향각을 계산하는 방법을 수행하는, 전자 장치는,
    차량의 조향각을 계산하는 프로그램이 기록된 메모리; 및
    상기 프로그램을 수행하는 프로세서
    를 포함하고,
    상기 프로그램은,
    제1 이미지를 수신하는 단계;
    상기 제1 이미지에 기초하여 복수의 모션 벡터들(motion vector)을 계산하는 단계;
    상기 복수의 모션 벡터들에 기초하여 상기 제1 이미지의 기준 좌표를 계산하는 단계;
    상기 제1 이미지에 기초하여 상기 제1 이미지 상의 소실점 좌표를 결정하는 단계; 및
    상기 기준 좌표 및 상기 소실점 좌표에 기초하여 타겟 조향각을 계산하는 단계
    를 수행하는,
    전자 장치.
  14. 제13항에 있어서,
    상기 전자 장치는 상기 차량에 포함되고,
    상기 제1 이미지는 상기 차량의 주위를 촬영한 이미지인,
    전자 장치.
  15. 제13항에 있어서,
    상기 제1 이미지에 기초하여 복수의 모션 벡터들을 계산하는 단계는,
    상기 제1 이미지에 대한 제1 비트맵 이미지를 생성하는 단계;
    상기 제1 이미지 보다 이전 시각에 촬영된 제2 이미지에 대한 제2 비트맵 이미지를 생성하는 단계;
    상기 제1 비트맵 이미지 및 상기 제2 비트맵 이미지에 기초하여 상기 제1 비트맵 및 상기 제2 비트맵 이미지 각각에 대한 하나 이상의 특징점들을 검출하는 단계; 및
    상기 특징점들에 기초하여 상기 제1 비트맵 이미지에 대한 상기 복수의 모션 벡터들을 계산하는 단계
    를 포함하는,
    전자 장치.
  16. 제13항에 있어서,
    상기 복수의 모션 벡터들에 기초하여 상기 제1 이미지의 기준 좌표를 계산하는 단계는,
    상기 복수의 모션 벡터들을 제1 그룹 및 제2 그룹으로 분류하는 단계;
    상기 제1 그룹에 포함된 제1 모션 벡터들의 제1 평균 벡터를 계산하는 단계;
    상기 제2 그룹에 포함된 제2 모션 벡터들의 제2 평균 벡터를 계산하는 단계; 및
    상기 제1 평균 벡터 및 상기 제2 평균 벡터에 기초하여 상기 제1 이미지의 상기 기준 좌표를 계산하는 단계
    를 포함하는,
    전자 장치.
  17. 제13항에 있어서,
    상기 제1 이미지에 기초하여 상기 제1 이미지 상의 소실점 좌표를 결정하는 단계는,
    상기 제1 이미지 상에 타겟 영역을 설정하는 단계;
    상기 타겟 영역의 시점을 조감 시점으로 변경함으로써 제1 조감 이미지를 생성하는 단계;
    상기 제1 조감 이미지에 기초하여 상기 제1 조감 이미지 내의 제1 차선에 대한 제1 직선을 생성하고, 제2 차선에 대한 제2 직선을 생성하는 단계;
    상기 제1 직선 및 상기 제2 직선이 평행한지 여부를 결정하는 단계; 및
    상기 제1 직선 및 상기 제2 직선이 평행한 경우, 상기 타겟 영역에 기초하여 상기 소실점 좌표를 결정하는 단계
    를 포함하는,
    전자 장치.
  18. 제17항에 있어서,
    상기 제1 이미지에 기초하여 상기 제1 이미지 상의 소실점 좌표를 결정하는 단계는,
    상기 제1 직선 및 상기 제2 직선이 평행하지 않은 경우, 상기 타겟 영역의 크기를 조정하는 단계
    를 더 포함하는,
    전자 장치.
  19. 제18항에 있어서,
    상기 제1 직선 및 상기 제2 직선이 평행하지 않은 경우, 상기 타겟 영역의 크기를 조정하는 단계는,
    상기 제1 직선 및 상기 제2 직선 간의 교점이 상기 타겟 영역의 중심을 기준으로 하단에 나타나는 경우, 상기 타겟 영역의 높이를 증가시키는 단계; 및
    상기 제1 직선 및 상기 제2 직선 간의 교점이 상기 타겟 영역의 중심을 기준으로 상단에 나타나는 경우, 상기 타겟 영역의 높이를 감소시키는 단계
    를 포함하는,
    전자 장치.
PCT/KR2022/005811 2022-03-24 2022-04-22 차량의 조향각 계산 방법 및 장치 WO2023182570A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220036621A KR102590863B1 (ko) 2022-03-24 2022-03-24 차량의 조향각 계산 방법 및 장치
KR10-2022-0036621 2022-03-24

Publications (1)

Publication Number Publication Date
WO2023182570A1 true WO2023182570A1 (ko) 2023-09-28

Family

ID=88101150

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/005811 WO2023182570A1 (ko) 2022-03-24 2022-04-22 차량의 조향각 계산 방법 및 장치

Country Status (2)

Country Link
KR (1) KR102590863B1 (ko)
WO (1) WO2023182570A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020053346A (ko) * 2000-12-27 2002-07-05 이계안 차선 모델링 시스템의 곡선로 인식방법
KR20060045336A (ko) * 2004-03-12 2006-05-17 미츠비시 후소 트럭 앤드 버스 코포레이션 차량 주행상태 판정장치
KR20170055161A (ko) * 2015-11-11 2017-05-19 현대자동차주식회사 자율 주행 차량의 조향 제어 방법 및 장치
KR101976952B1 (ko) * 2017-11-01 2019-05-09 재단법인 다차원 스마트 아이티 융합시스템 연구단 움직임 벡터를 이용한 객체 검출 시스템 및 그 방법
US20210268962A1 (en) * 2011-04-25 2021-09-02 Magna Electronics Inc. Vehicular vision system that dynamically calibrates a vehicular camera

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020053346A (ko) * 2000-12-27 2002-07-05 이계안 차선 모델링 시스템의 곡선로 인식방법
KR20060045336A (ko) * 2004-03-12 2006-05-17 미츠비시 후소 트럭 앤드 버스 코포레이션 차량 주행상태 판정장치
US20210268962A1 (en) * 2011-04-25 2021-09-02 Magna Electronics Inc. Vehicular vision system that dynamically calibrates a vehicular camera
KR20170055161A (ko) * 2015-11-11 2017-05-19 현대자동차주식회사 자율 주행 차량의 조향 제어 방법 및 장치
KR101976952B1 (ko) * 2017-11-01 2019-05-09 재단법인 다차원 스마트 아이티 융합시스템 연구단 움직임 벡터를 이용한 객체 검출 시스템 및 그 방법

Also Published As

Publication number Publication date
KR102590863B1 (ko) 2023-10-19
KR20230138699A (ko) 2023-10-05

Similar Documents

Publication Publication Date Title
WO2020085881A1 (en) Method and apparatus for image segmentation using an event sensor
WO2019050360A1 (en) ELECTRONIC DEVICE AND METHOD FOR AUTOMATICALLY SEGMENTING TO BE HUMAN IN AN IMAGE
WO2011052826A1 (ko) 이동 로봇의 위치 인식을 위한 지도 생성 및 갱신 방법
WO2014058248A1 (ko) 단일객체에 대한 기울기를 추정하는 영상을 감시하는 장치 및 방법
WO2020171553A1 (en) An electronic device applying bokeh effect to image and controlling method thereof
WO2012005387A1 (ko) 다중 카메라와 물체 추적 알고리즘을 이용한 광범위한 지역에서의 물체 이동 감시 방법 및 그 시스템
WO2020027607A1 (ko) 객체 탐지 장치 및 제어 방법
WO2018093100A1 (en) Electronic apparatus and method for processing image thereof
WO2017195984A1 (ko) 3차원 스캐닝 장치 및 방법
WO2020060019A1 (ko) 글자 검출 장치, 방법 및 시스템
WO2019117350A1 (ko) 응시 거리를 결정하는 방법 및 디바이스
WO2021158057A1 (en) Electronic device and method for displaying image at the electronic device
WO2022039404A1 (ko) 광시야각의 스테레오 카메라 장치 및 이를 이용한 깊이 영상 처리 방법
WO2023120831A1 (ko) 비식별 처리 방법 및 이를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램
WO2020027584A1 (en) Method and an apparatus for performing object illumination manipulation on an image
WO2017111257A1 (ko) 영상 처리 장치 및 영상 처리 방법
WO2018164316A1 (ko) 전방향 영상 촬상 방법 및 이러한 방법을 수행하는 장치
WO2022092743A1 (ko) 차량 번호판에서 문자를 추출하는 방법 및 상기 방법을 수행하는 번호판 문자 추출 장치
WO2023182570A1 (ko) 차량의 조향각 계산 방법 및 장치
WO2013151208A1 (ko) 기상 현상으로 인해 훼손된 영상을 복원하는 장치 및 방법
WO2018038300A1 (ko) 이미지 제공 장치, 방법 및 컴퓨터 프로그램
WO2017195985A1 (ko) 휴대용 3차원 문서 스캐닝 장치 및 방법
WO2017007077A1 (ko) 감시 방법
WO2016104842A1 (ko) 카메라의 왜곡을 고려한 물체 인식 시스템 및 방법
WO2019194544A1 (en) Method and system for handling 360 degree image content

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: 22933743

Country of ref document: EP

Kind code of ref document: A1