FIELD
[0001] Embodiments according to the present invention relate to a rail track branch detection
apparatus and a program.
BACKGROUND
[0002] There is a front-side obstacle detection system that monitors an obstacle that can
collide with a railroad vehicle by means of an image captured by a camera that images
the front side of the railroad vehicle. To determine whether an object present in
front is classified as an obstacle, the accuracy of a process of detecting a track
to be traveled by a railroad vehicle from a captured image needs to be increased.
As a railroad vehicle takes a long braking distance to stop, it is necessary to detect
a track located farther away with high accuracy and high speed. A branching track
that is a track with a branch or branches is difficult to detect with high accuracy.
[0003] It is an objective to provide a rail track branch detection apparatus and a program
that can detect a branching track of a railroad with higher accuracy.
[0004] The rail track branch detection apparatus according to an embodiment includes a track
detector and a clustering device. The track detector executes track detection of detecting
a track of one route of a railroad vehicle from an image captured in an advancing
direction of the railroad vehicle, multiple times according to the number of a plurality
of preset detection parameters. The clustering device detects a branch of the track
in the image by classifying a plurality of track detection results obtained by the
track detector into a plurality of clusters.
BRIEF DESCRIPTION OF THE DRAWINGS
[0005]
FIG. 1 is a block diagram showing one example of the configuration of a driving assistance
apparatus according to a first embodiment;
FIG. 2 is a block diagram showing one example of the functional configuration of a
rail track branch detection apparatus according to the first embodiment;
FIG. 3 is a flowchart showing one example of the operation of the rail track branch
detection apparatus according to the first embodiment;
FIG. 4 is a view showing an example of visualization of a plurality of track detection
results acquired by a track detection executer according to the first embodiment;
FIG. 5 is a view showing one example of a data structure of track detection results
acquired by the track detection executer according to the first embodiment;
FIG. 6 is a view showing one example of a process of classifying a plurality of track
detection results by a track detection result clustering device according to the first
embodiment;
FIG. 7 is a view showing one example of clustering methods in the track detection
result clustering device according to the first embodiment;
FIG. 8 is a view showing one example of classification parameters in the track detection
result clustering device according to the first embodiment;
FIG. 9 is a view showing one example of preprocessing in the track detection result
clustering device according to the first embodiment;
FIG. 10 is a view showing one example of clustering methods in a track detection result
clustering device according to a second embodiment;
FIG. 11 is a view showing one example of clustering methods in a track detection result
clustering device according to a third embodiment; and
FIG. 12 is a view showing one example of interpolation of feature positions in a track
detection result clustering device according to a fourth embodiment.
DETAILED DESCRIPTION
[0006] Embodiments according to the present invention will be described below with reference
to the drawings. These embodiments do not limit the present invention. The drawings
are schematic or conceptual, and the proportions of parts etc. do not necessarily
match the actual ones. An element in the specification and the drawings that is the
same as one described earlier in relation to a drawing already referred to will be
denoted by the same reference sign and detailed description thereof will be omitted
as appropriate.
(First Embodiment)
[Configuration]
[0007] FIG. 1 is a block diagram showing one example of the configuration of a driving assistance
apparatus 1 according to a first embodiment. The driving assistance apparatus 1 is
a system installed in a railroad vehicle RV that travels on a track R. The driving
assistance apparatus 1 detects obstacles located in front of the railroad vehicle
RV and notifies the obstacle detection result to a driver. The driving assistance
apparatus 1 includes, for example, an imaging apparatus 10, a front-side obstacle
detection apparatus 20, an obstacle determination result notification apparatus 30,
a rail track branch detection apparatus 40, a current position measurement apparatus
50, and a global navigation satellite system (GNSS) 60.
[0008] The imaging apparatus 10 is formed by a camera that images the front side of the
railroad vehicle RV, and outputs a captured image to the front-side obstacle detection
apparatus 20 and the rail track branch detection apparatus 40.
[0009] The GNSS 60 measures the current position of the railroad vehicle RV based on radio
waves received from a satellite. The GNSS 60 outputs information on the measured position
of the railroad vehicle RV to the current position measurement apparatus 50.
[0010] The current position measurement apparatus 50 acquires a travel position of the railroad
vehicle RV based on the current position information acquired from the GNSS 60 and
a track database. The current position measurement apparatus 50 outputs the travel
position of the railroad vehicle RV to the rail track branch detection apparatus 40.
[0011] Based on the image acquired from the imaging apparatus 10 and the travel position
acquired from the current position measurement apparatus 50, the rail track branch
detection apparatus 40 detects the position of the track R present in the image. The
rail track branch detection apparatus 40 detects the track R including branches. The
rail track branch detection apparatus 40 outputs the detection result of the track
R to the front-side obstacle detection apparatus 20.
[0012] Based on the image acquired from the imaging apparatus 10 and the position of the
track in the image acquired from the rail track branch detection apparatus 40, the
front-side obstacle detection apparatus 20 detects obstacles that are present on the
track R and can come into contact with the traveling railroad vehicle RV. For example,
the front-side obstacle detection apparatus 20 detects obstacles by image recognition
using an artificial intelligence (AI) technology, such as machine learning. However,
the obstacle detection method is not limited thereto. The front-side obstacle detection
apparatus 20 outputs the obstacle detection result to the obstacle determination result
notification apparatus 30.
[0013] With reference to the information acquired from the front-side obstacle detection
apparatus 20, the obstacle determination result notification apparatus 30 notifies
the presence of an obstacle etc. to, for example, crew, an operation command center,
station staff, and passengers. The obstacle determination result notification apparatus
30 may notify the presence of an obstacle etc. to, for example, a control device for
automated driving that controls an accelerator and a brake.
[0014] FIG. 2 is a block diagram showing one example of the functional configuration of
the rail track branch detection apparatus 40 according to the first embodiment.
[0015] The rail track branch detection apparatus 40 includes a track detection executer
401, a track detection execution parameter storage 402, a track detection result clustering
device 403, a number-of-track-branches acquirer 404, a track database 405, a track
detection result output device 406, and an operation information database 407. Some
or all of the track detection executer 401, the track detection result clustering
device 403, the number-of-track-branches acquirer 404, and the track detection result
output device 406 are realized, for example, as a processor, such as a central processing
unit (CPU), executes a program stored in a storage (not shown). The storage may be
provided inside the rail track branch detection apparatus 40 or may be provided outside
the rail track branch detection apparatus 40. Alternatively, some or all of these
functional devices may be realized by hardware, such as a large scale integration
(LSI), an application specific integrated circuit (ASIC), or a field-programmable
gate array (FPGA) and a circuit configuration for realizing the functions of these
functional devices may be provided, or these functional devices may be realized through
cooperation between software and hardware.
[0016] The track detection executer 401 applies single-track detection (which does not assume
the presence of branches) based on an image acquired from the image acquirer 101 belonging
to the imaging apparatus 10. The track detection by the track detection executer 401
corresponds to track detection that detects a single track as in, for example,
Japanese Patent No. 6776213 or
Japanese Patent No. 6903477. The track detection executer 401 performs the track detection multiple times based
on parameters (detection parameters) stored in the track detection execution parameter
storage 402 and acquires a plurality of track detection results. The track detection
executer 401 outputs the track detection results acquired multiple times to the track
detection result clustering device 403.
[0017] Specifically, the track detection executer (track detector) 401 executes track detection
of detecting the track R of one route of the railroad vehicle RV from an image I captured
in an advancing direction of the railroad vehicle RV, multiple times according to
the number of a plurality of preset detection parameters. Details of the track detection
will be described later with reference to FIG. 4 and FIG. 5.
[0018] The track detection execution parameter storage 402 is a database that stores a collection
of parameters (parameter set) required to cause the track detection executer 401 to
operate.
[0019] The number-of-track-branches acquirer 404 acquires the travel position of the railroad
vehicle RV from the current position acquirer 501 belonging to the current position
measurement apparatus 50 and acquires coordinate information on the track R being
traveled from the track database 405. The number-of-track-branches acquirer 404 acquires
the number of branches of the track R included in the image being currently captured
and outputs the acquired number of branches to the track detection result clustering
device 403.
[0020] The track detection result clustering device 403 classifies (integrates) a plurality
of track detection results acquired from the track detection executer 401 based on
the number of branches acquired from the number-of-track-branches acquirer 404.
[0021] The track detection result clustering device (clustering device) 403 detects branches
of the track R in the image I by classifying the plurality of track detection results
obtained by the track detection executer 401 into a plurality of clusters. Details
of clustering will be described later with reference to FIG. 6 to FIG. 9.
[0022] The track detection executer 401 acquires a plurality of track detection results
that covers all branch destinations, but may obtain overlapping track detection results
for each branch destination. Therefore, the track detection result clustering device
403 acquires track detection results from which overlapping results for each branch
destination have been excluded, and outputs the results to the track detection result
output device 406.
[0023] The operation information database 407 is a database that stores information about
the track R to be traveled by the railroad vehicle RV. The operation information database
407 acquires a branch destination to be traveled to based on the travel position of
the railroad vehicle acquired from the current position acquirer 501 and outputs the
acquired branch destination to the track detection result output device 406.
[0024] The track detection result output device 406 acquires the branch destination to be
traveled to from the operation information database 407 and the detection results
for all the tracks R of branch destinations from the track detection result clustering
device 403, and outputs the track detection result for the branch destination to be
traveled to to the object collision determiner 201 belonging to the front-side obstacle
detection apparatus 20.
[0025] Thus, the track detection result output device 406 outputs at least one track detection
result. More specifically, the track detection result output device 406 outputs at
least one track detection result in a cluster corresponding to the route to be traveled
by the railroad vehicle RV based on the position of the railroad vehicle RV. The track
detection result clustering device 403 causes the track detection result output device
406 to output a track detection result that is closest to the center of the cluster
into which the track detection result is classified. The center of a cluster is also
called a centroid (the center of gravity).
[Process Flow]
[0026] FIG. 3 is a flowchart showing one example of the operation of the rail track branch
detection apparatus 40 according to the first embodiment.
[0027] In step S001, the track detection executer 401 acquires an image captured of the
front side of the railroad vehicle RV from the imaging apparatus 10.
[0028] In step S002 and step S003, using the image captured of the front side of the railroad
vehicle RV acquired from the imaging apparatus 10 as an input, the track detection
executer 401 acquires a plurality of track detection results based on the parameters
(detection parameters) stored in the track detection execution parameter storage 402.
The track detection executer 401 performs track detection multiple times, each time
with a different collection of parameters.
[0029] In step S004, the track detection result clustering device 403 classifies the plurality
of track detection results acquired in step S003 and excludes overlapping track detection
results for each branch destination. When classifying the plurality of track detection
results, the track detection result clustering device 403 may use the number of track
branches included in the range of imaging from the current vehicle position, which
can be acquired from the number-of-track-branches acquirer 404. The track detection
result clustering device 403 may use information on a track width in the image for
classification.
[0030] In step S005, the operation information database 407 acquires a branch destination
to be traveled to based on the travel position of the railroad vehicle acquired from
the current position acquirer 501 and outputs the acquired branch destination to the
track detection result output device 406. The track detection result output device
406 acquires a track detection result of the branch destination to be traveled to
from the track detection results classified by the track detection result clustering
device 403, and outputs the acquired track detection result to the front-side obstacle
detection apparatus 20.
[0031] In step S006, the front-side obstacle detection apparatus 20 detects an obstacle
that can collide based on the track detection result acquired from the track detection
result output device 406.
[Single-Track Detection]
[0032] FIG. 4 is a view showing an example of visualization of a plurality of track detection
results acquired by the track detection executer 401 according to the first embodiment.
[0033] The image I acquired from the imaging apparatus 10 includes a branching track having
a straight track and a right-turn track. Since the track detection executer 401 can
detect a single track, it can acquire results like the results A to C by performing
track detection multiple times (in this figure, three times) based on parameters stored
in the track detection execution parameter storage 402. The detection result A and
the detection result B show track detection results for the straight track R. On the
other hand, the detection result C shows a track detection result for the right-turn
track R. It can be seen that, in the detection result A and the detection result B,
overlapping track detection results are obtained for the straight track R.
[0034] As shown in FIG. 4, the track detection executer 401 specifies feature positions
CPl0 to CPl4, CPr0 to CPr4 for each of the detection results A to C. A line linking
the specified feature positions CPr0 to CPr4 together and a line linking the specified
feature positions CPl0 to CPl4 together are derived as a right rail R1 and a left
rail R2, respectively, included in the track R.
[0035] FIG. 5 is a view showing one example of a data structure of the track detection results
acquired by the track detection executer 401 according to the first embodiment.
[0036] The track detection executer 401 represents track detection results as a row of points
of feature positions and outputs the results to the track detection result clustering
device 403. In FIG. 5, coordinate values of four points are shown for each of the
detection results A to C. In reality, however, there are coordinate values of the
ten points of the feature positions CPl0 to CPl4, CPr0 to CPr4 for each of the detection
results A to C shown in FIG. 4.
[0037] The detection result A and the detection result B are both track detection results
for the straight track. However, the coordinates of the feature positions do not necessarily
have the same values between the detection result A and the detection result B. This
is because, for example, track detection is performed using different detection parameters.
[Single-Track Detection Method]
[0038] The track detection executer 401 performs, for example, the single-track detection
according to
Japanese Patent No. 6903477 multiple times, each time with different detection parameters. The parameters stored
in the track detection execution parameter storage 402 are a collection of parameters
including, for example, a search range and a search angle (angle θ) according to
Japanese Patent No. 6903477. In this case, for example, a search range or a search angle stored for one collection
of parameters is different from that stored for another collection of parameters.
When the collection of parameters to be used as detection parameters is changed, a
different single track may be detected. The detection parameters are changed according
to an algorithm of the single-track detection method to be adopted.
[Clustering]
[0039] FIG. 6 is a view showing one example of a process of classifying a plurality of track
detection results by the track detection result clustering device 403 according to
the first embodiment.
[0040] As shown in FIG. 4, the track detection executer 401 has obtained overlapping results
for the straight track. Therefore, the track detection result clustering device 403
classifies similar track detection results and excludes overlapping track detection
results. In the example shown in FIG. 6, the detection result A, which overlaps with
the detection result B, is excluded, and the detection results B, C are displayed
so as to be superimposed. The track detection result clustering device 403 may introduce
a process of, for example, defining the distance between detected rails and integrating
results according to the distance (see FIG. 8). The track detection result clustering
device 403 may apply an existing clustering process, such as k-means clustering or
mean-shift clustering.
[Clustering Method]
[0041] FIG. 7 is a view showing one example of clustering methods in the track detection
result clustering device 403 according to the first embodiment. FIG. 7 shows an example
of a case where feature positions CPl0 to CPI2, CPr0 to CPr2 have been specified in
the image I. The Y-coordinate of an n-th point (n = 1 to 3) from the near side is
substantially the same between the feature positions CPl0 to CPl2 and the feature
positions CPr0 to CPr2.
[0042] The track detection result clustering device 403 classifies a plurality of track
detection results into a plurality of clusters based on position information of the
track detection results in the image I. The position information of the track detection
results in the image I is, for example, pixel positions of the feature positions CPl0
to CPI2, CPr0 to CPr2. The track detection result clustering device 403 performs clustering
using, for example, the Euclidean distance between the pixel positions.
[0043] The track detection result clustering device 403 classifies a plurality of track
detection results into a plurality of clusters by calculating the distance (e.g.,
the Euclidean distance) between the plurality of track detection results for each
part of pieces of the position information (pixel positions) that are divided.
[0044] In the example shown in FIG. 7, the six points of feature positions CPl0 to CPI2,
CPr0 to CPr2 are shown in one track detection result. The track detection result clustering
device 403 performs clustering for each point.
[0045] For example, the track detection result clustering device 403 performs clustering
by extracting the feature position CPI2, the feature position CPl1, the feature position
CPl0, the feature position CPr2, the feature position CPr1, and the feature position
CPr0 in this order. In the example shown in FIG. 7, therefore, the track detection
result clustering device 403 performs clustering of two (1 × 2)-dimensional data composed
of the X-coordinate and the Y-coordinate of one feature position six times. For example,
the track detection result clustering device 403 performs calculation of a two-dimensional
Euclidean distance six times.
[0046] The order of the feature positions CPl0 to CPI2, CPr0 to CPr2 in performing clustering
is not limited to the aforementioned order.
[Classification Parameters for Clustering]
[0047] The classification parameter used for clustering differs according to the clustering
algorithm to be selected. In the following, cases where the number of branches and
the track width are used as the classification parameters will be described. A clustering
algorithm that uses the number of branches is, for example, k-means clustering. A
clustering algorithm that uses the track width is, for example, mean-shift clustering.
[Clustering by Number of Branches]
[0048] The track detection result clustering device 403 classifies a plurality of track
detection results into clusters the number of which is corresponding to the number
of branches of the track R on the route to be traveled by the railroad vehicle RV
based on the position of the railroad vehicle RV. As described with reference to FIG.
2, the number of branches of the track R is acquired from the track database 405 by
the number-of-track-branches acquirer 404. When the number of branches near the current
position of the railroad vehicle RV is known beforehand, that number of branches may
be used as an input for clustering. Thus, the number of clusters for classification
in the image I can be determined beforehand. As a result, the accuracy of clustering
can be increased.
[0049] In the example shown in FIG. 4, the number of branches of the track R is one. In
this case, the track detection result clustering device 403 classifies the plurality
of track detection results (detection results A to C) into two clusters. In one cluster,
the tracks R of the detection results A, B extends straight. In the other cluster,
the track R of the detection result C extends straight as in the detection results
A, B to some point, and then turns right and extends.
[0050] When the number of branches based on the position of the railroad vehicle RV is zero,
the track detection result clustering device 403 may stop classifying the track detection
results. Thus, branch detection can be avoided at a position where there are no branches.
[Clustering by Track Width]
[0051] FIG. 8 is a view showing one example of classification parameters in the track detection
result clustering device 403 according to the first embodiment.
[0052] The track detection result clustering device 403 classifies a plurality of track
detection results into a plurality of clusters based on a classification parameter
according to a track width Wr. The classification parameter is the distance between
clusters.
[0053] In the example shown in FIG. 8, two track detection results are shown. In the two
track detection results, a width of difference (Euclidean distance) Wcp0 between the
feature positions CPl0 and a width of difference Wcp1 between the feature positions
CPl1 are smaller than the track width Wr. On the other hand, a width of difference
Wcp2 between the feature positions CPl2 in the two track detection results is larger
than the track width Wr.
[0054] Normally, when there is a branch of the track R, i.e., there are clusters of two
routes, a significant difference occurs between the feature positions in two track
detection results. As a threshold value for the difference between feature positions,
for example, the track width Wr can be used. In the example shown in FIG. 8, therefore,
the track detection result clustering device 403 classifies the two track detection
results into two clusters. As a result, the track detection result clustering device
403 detects a branch of the track R.
[0055] The track detection result clustering device 403 may use, as a classification parameter,
a value obtained by multiplying the track width by a predetermined coefficient according
to the clustering method etc., for example.
[Preprocessing for Clustering]
[0056] FIG. 9 is a view showing one example of preprocessing in the track detection result
clustering device 403 according to the first embodiment.
[0057] In the image I, the track width of the track R at a position far from the railroad
vehicle RV is normally displayed smaller than the track width of the track R at a
position close to the railroad vehicle RV. In this case, it may be difficult to detect
a branch of the track R at the position far from the railroad vehicle RV. This is
because the width of difference between feature positions on the far side (e.g., the
width of difference Wcp2 shown in FIG. 8) is displayed smaller than the width of difference
between feature positions on the near side (e.g., the width of difference Wcp0 shown
in FIG. 8) in the image I. Thus, the result of clustering may depend heavily on the
width of difference between feature positions on the near side.
[0058] Therefore, the track detection result clustering device 403 performs a process of
correcting detection results of the track R before performing clustering. For example,
the track detection result clustering device 403 corrects detection results of a track
using a result of imaging the track R beforehand in a straight section. In a straight
section, the track R extends in a substantially straight line with substantially the
same track width from the near side to the far side. The track detection result clustering
device 403 corrects the feature positions CPl0 to CPl2, CPr0 to CPr2 such that the
track width becomes substantially constant from the near side to the far side. Thus,
a branch of the track R at a position far from the railroad vehicle RV in the image
I can be detected with higher accuracy.
[0059] Specifically, the track detection result clustering device 403 corrects the position
information (pixel positions) of the track detection results based on the track width.
The track detection result clustering device 403 classifies a plurality of track detection
results of which the position information has been corrected into a plurality of clusters.
More specifically, the track detection result clustering device 403 corrects the position
information (pixel positions) of the track detection results so as to normalize the
track width between the near side in the image I and the far side in the image I.
[0060] As has been described above, according to the first embodiment, the track detection
executer 401 performs track detection of detecting the track R of one route of the
railroad vehicle RV from an image I captured in the advancing direction of the railroad
vehicle RV, multiple times according to the number of a plurality of preset detection
parameters. The track detection result clustering device 403 detects a branch of the
track R in the image I by classifying the plurality of track detection results into
a plurality of clusters. Thus, a branch of the track R can be detected with higher
accuracy.
[0061] Normally, the presence of a branch makes track detection difficult. As another method
of detecting a branch of a track, for example, machine learning may be used to detect
whether there is a railroad switch. However, this method requires preparing an image
captured of a branch (railroad switch) and performing machine learning. Thus, learning
data is needed and a high introduction cost may be incurred.
[0062] In the first embodiment, by contrast, it is possible to extend single-track detection
and detect a branch of the track R based on track detection results. In this case,
learning data for machine learning is not needed, so that the introduction cost can
be kept down.
[0063] In the track detection of
Japanese Patent No. 6903477, the Y-coordinate of an n-th point (n = 1 to 3) from the near side is substantially
the same between the feature positions CPl0 to CPI2 and the feature positions CPr0
to CPr2. Depending on the clustering algorithm, clustering using X-coordinates and
not using Y-coordinates may be performed. In this case, the track detection result
clustering device 403 performs clustering of one (1 × 1)-dimensional data composed
of the X-coordinate of one feature position six times. For example, the track detection
result clustering device 403 performs calculation of a one-dimensional Euclidean distance
six times.
[0064] The track detection executer 401 may perform track detection using another track
detection method that detects a single track.
[0065] The number of track detection results is not limited to three shown in FIG. 4. A
larger number of track detection results for one image I is more preferable because
then, for example, more outliers can be excluded.
(Second Embodiment)
[0066] FIG. 10 is a view showing one example of clustering methods in a track detection
result clustering device 403 according to a second embodiment. The second embodiment
differs from the first embodiment in the clustering method.
[0067] The track detection result clustering device 403 performs clustering for each left-right
pair of feature positions in the right rail R1 and the left rail R2.
[0068] The track detection result clustering device 403 performs clustering by extracting,
for example, the pair of feature positions CPl2, CPr2. Next, the track detection result
clustering device 403 performs clustering by extracting, for example, the pair of
feature positions CPl1, CPr1. Next, the track detection result clustering device 403
performs clustering by extracting, for example, the pair of feature positions CPl0,
CPr0. In the example shown in FIG. 10, therefore, the track detection result clustering
device 403 performs clustering of four (2 × 2)-dimensional data composed of the X-coordinates
and the Y-coordinates of two feature positions three times. For example, the track
detection result clustering device 403 performs calculation of a four-dimensional
Euclidean distance three times.
[0069] In the track detection of
Japanese Patent No. 6903477, the Y-coordinate of an n-th point (n = 1 to 3) from the near side is substantially
the same between the feature positions CPl0 to CPl2 and CPr0 to CPr2. Depending on
the clustering algorithm, clustering using X-coordinates and not using Y-coordinates
may be performed. In this case, the track detection result clustering device 403 performs
clustering of two (2 × 1)-dimensional data composed of the X-coordinates of two feature
positions three times. For example, the track detection result clustering device 403
performs calculation of a two-dimensional Euclidean distance three times.
[0070] The other components of the rail track branch detection apparatus 40 according to
the second embodiment are the same as the corresponding components of the rail track
branch detection apparatus 40 according to the first embodiment, and therefore detailed
description thereof will be omitted.
[0071] The clustering method may be changed as in the second embodiment. The rail track
branch detection apparatus 40 according to the second embodiment can produce effects
similar to those of the first embodiment.
(Third Embodiment)
[0072] FIG. 11 is a view showing one example of clustering methods in a track detection
result clustering device 403 according to a third embodiment. The third embodiment
is different from the first embodiment in the clustering method.
[0073] The track detection result clustering device 403 classifies a plurality of track
detection results into a plurality of clusters by collectively calculating the distance
(e.g., the Euclidean distance) between the plurality of track detection results for
all pieces of position information (pixel positions).
[0074] For example, the track detection result clustering device 403 performs clustering
by extracting all the points of feature positions CPl0 to CPl2, CPr0 to CPr2. In the
example shown in FIG. 11, therefore, the track detection result clustering device
403 performs clustering of 12 (6 × 2)-dimensional data composed of the X-coordinates
and the Y-coordinates of the six feature positions once. For example, the track detection
result clustering device 403 performs calculation of a 12-dimensional Euclidean distance
once.
[0075] In the track detection of
Japanese Patent No. 6903477, the Y-coordinate of an n-th point (n = 1 to 3) from the near side is substantially
the same between the feature positions CPl0 to CPl2 and CPr0 to CPr2. Depending on
the clustering algorithm, clustering using X-coordinates and not using Y-coordinates
may be performed. In this case, the track detection result clustering device 403 performs
clustering of six (6 × 1)-dimensional data composed of the X-coordinates of six feature
positions once. For example, the track detection result clustering device 403 performs
calculation of a six-dimensional Euclidean distance once.
[0076] The other components of the rail track branch detection apparatus 40 according to
the third embodiment are the same as the corresponding components of the rail track
branch detection apparatus 40 according to the first embodiment, and therefore detailed
description thereof will be omitted.
[0077] The clustering method may be changed as in the third embodiment. The rail track branch
detection apparatus 40 according to the third embodiment can produce effects similar
to those of the first embodiment.
(Fourth Embodiment)
[0078] FIG. 12 is a view showing one example of interpolation of feature positions CPl0
to CPl2, CPr0 to CPr2 in a track detection result clustering device 403 according
to a fourth embodiment. The fourth embodiment is different from the first embodiment
in that clustering is performed by interpolating the feature positions CPl0 to CPl2,
CPr0 to CPr2.
[0079] In the track detection of
Japanese Patent No. 6903477, the Y-coordinate of an n-th point (n = 1 to 3) from the near side is substantially
the same between the feature positions CPl0 to CPl2 and the feature positions CPr0
to CPr2. However, depending on the method of track detection, for example, the value
of the Y-coordinate may differ significantly. In this case, the track detection result
clustering device 403 classifies a plurality of track detection results into a plurality
of clusters based on interpolated position information obtained by interpolating pieces
of position information (coordinate positions). For example, the track detection result
clustering device 403 interpolates the coordinates of feature positions by performing
spline interpolation.
[0080] In the example shown in FIG. 12, the track detection result clustering device 403
calculates the interpolated position information on the left rail R2 by interpolating
the feature positions CPl0 to CPl2. Similarly, the track detection result clustering
device 403 calculates the interpolated position information on the right rail R1 by
interpolating the feature positions CPr0 to CPr2. For example, the track detection
result clustering device 403 calculates X-coordinates in the interpolated position
information on the left rail R2 relative to 0, 1, 2, ..., Y' as Y-coordinates. "Y'"
is a predetermined integer. The track detection result clustering device 403 calculates
X-coordinates in the interpolated position information on the right rail R1 relative
to 0, 1, 2, ..., Y' as Y-coordinates.
[0081] The track detection result clustering device 403 performs clustering using, as feature
positions, Y'+1 pieces of interpolated position information on each of the left rail
R2 and the right rail R1.
[0082] The other components of the rail track branch detection apparatus 40 according to
the fourth embodiment are the same as the corresponding components of the rail track
branch detection apparatus 40 according to the first embodiment, and therefore detailed
description thereof will be omitted.
[0083] Clustering may be performed by interpolating the feature positions CPl0 to CPl2,
CPr0 to CPr2 as in the fourth embodiment. The rail track branch detection apparatus
40 according to the fourth embodiment can produce effects similar to those of the
first embodiment. The second embodiment or the third embodiment may be combined with
the rail track branch detection apparatus 40 according to the fourth embodiment. Thus,
the clustering method may be changed.
[0084] While some embodiments of the present invention have been described, these embodiments
have been presented as examples and are not intended to limit the scope of the invention.
These embodiments can be implemented in various other forms, and various omissions,
substitutions, and changes can be made thereto within the scope of the gist of the
invention. These embodiments and their modifications are included in the scope and
the gist of the invention, as well as in the invention described in the claims and
a scope equivalent to the claims.
[0085] 1 Driving assistance apparatus, 40 Rail track branch detection apparatus, 401 Track
detection executer, 402 Track detection execution parameter storage, 403 Track detection
result clustering device, 404 Number-of-track-branches acquirer, 405 Track database,
406 Track detection result output device, 407 Operation information database, CPl0
to CPl4 Feature positions, CPr0 to CPr4 Feature positions, I Image, R Track, RV Railroad
vehicle, WcpO to Wcp2 Widths of difference, Wr Track width
1. A rail track branch detection apparatus comprising:
a track detector configured to execute track detection of detecting a track of one
route of a railroad vehicle from an image captured in an advancing direction of the
railroad vehicle, multiple times according to the number of a plurality of preset
detection parameters; and
a clustering device configured to detect a branch of the track in the image by classifying
a plurality of track detection results obtained by the track detector into a plurality
of clusters.
2. The rail track branch detection apparatus according to claim 1, wherein the clustering
device is configured to classify the plurality of track detection results into clusters
the number of which is corresponding to the number of branches of a track on a route
to be traveled by the railroad vehicle based on a position of the railroad vehicle.
3. The rail track branch detection apparatus according to claim 2, wherein the clustering
device is configured to stop classifying the track detection results when the number
of branches based on the position of the railroad vehicle is zero.
4. The rail track branch detection apparatus according to any one of claim 1 to claim
3, wherein the clustering device is configured to classify the plurality of track
detection results into a plurality of clusters based on a classification parameter
according to a track width.
5. The rail track branch detection apparatus according to any one of claim 1 to claim
4, wherein the clustering device is configured to classify the plurality of track
detection results into a plurality of clusters based on position information of the
track detection result in the image.
6. The rail track branch detection apparatus according to claim 5, wherein the clustering
device is configured to:
correct the position information of the track detection result based on a track width;
and
classify the plurality of track detection results of which the position information
has been corrected into a plurality of clusters.
7. The rail track branch detection apparatus according to claim 6, wherein the clustering
device is configured to correct the position information of the track detection result
so as to normalize the track width between a near side in the image and a far side
in the image.
8. The rail track branch detection apparatus according to any one of claim 5 to claim
7, wherein the clustering device is configured to classify the plurality of track
detection results into a plurality of clusters based on interpolated position information
obtained by interpolating pieces of the position information.
9. The rail track branch detection apparatus according to any one of claim 5 to claim
8, wherein the clustering device is configured to classify the plurality of track
detection results into a plurality of clusters by calculating a distance between the
plurality of track detection results for each part of pieces of the position information
that are divided.
10. The rail track branch detection apparatus according to any one of claim 5 to claim
8, wherein the clustering device is configured to classify the plurality of track
detection results into a plurality of clusters by collectively calculating a distance
between the plurality of track detection results for all pieces of the position information.
11. The rail track branch detection apparatus according to any one of claim 1 to claim
10, further comprising a track detection result output device configured to output
at least one of the track detection results.
12. The rail track branch detection apparatus according to claim 11, wherein the track
detection result output device is configured to output at least one of the track detection
results in a cluster corresponding to a route to be traveled by the railroad vehicle
based on a position of the railroad vehicle.
13. The rail track branch detection apparatus according to claim 11 or claim 12, wherein
the clustering device is configured to cause the track detection result output device
to output the track detection result that is closest to a center of a cluster into
which the track detection result is classified.
14. A program that causes a computer to execute track detection of detecting a track of
one route of a railroad vehicle from an image captured in an advancing direction of
the railroad vehicle, multiple times according to the number of a plurality of preset
detection parameters, and detect a branch of the track in the image by classifying
a plurality of track detection results into a plurality of clusters.