WO2010123952A1 - Fusing multi-sensor data to provide estimates of structures - Google Patents
Fusing multi-sensor data to provide estimates of structures Download PDFInfo
- Publication number
- WO2010123952A1 WO2010123952A1 PCT/US2010/031824 US2010031824W WO2010123952A1 WO 2010123952 A1 WO2010123952 A1 WO 2010123952A1 US 2010031824 W US2010031824 W US 2010031824W WO 2010123952 A1 WO2010123952 A1 WO 2010123952A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- vectors
- vector
- structural feature
- plane
- structural features
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
- G06V20/176—Urban or other man-made structures
Definitions
- This invention relates generally to the field of sensor data analysis and more specifically to fusing multi-sensor data to provide estimates of structures.
- Enforcement, security, and military forces may perform operations in structures such as buildings. These forces may need to know the layout, for example, the floor plan, of the structures. In certain situations, however, the layout may not be available.
- analyzing data includes receiving sensor data generated in response to sensing one or more structures.
- the structural features of the sensor data are identified.
- Each structural feature is represented by one or more vectors .
- a score matrix that describes a plurality of distances among the vectors is generated.
- Vector pairs are formed from at least some of the vectors according to the distances of the score matrix.
- a layout of the structures is generated from the vector pairs.
- a technical advantage of one embodiment may be that structural features indicated by sensor data are represented by vectors . The vectors are then placed in a score matrix in order to determine structures sensed by the sensors .
- Another technical advantage of one embodiment may be that vector pairs representing a connection between two structural features are formed using the score matrix. The vector pairs aid in the identification of structures sensed by the sensors .
- Certain embodiments of the invention may include none, some, or all of the above technical advantages.
- FIGURE 1 illustrates one embodiment of a system configured to fuse multi-sensor data to provide estimates of structures
- FIGURE 2 illustrates an example of a method for fusing multi-sensor data to provide estimates of structures
- FIGURE 3 illustrates an example of identifying structural features
- FIGURES 4A-4C illustrate representing n-hedrals by vectors ;
- FIGURE 5A illustrates an example of fusing vectors of a structural feature;
- FIGURES 5B-5C illustrate an example of retaining or removing vectors for a structural feature;
- FIGURE 6 illustrates an example of a distance function
- FIGURE 7A illustrates an example of forming a vector pair
- FIGURE 7B illustrates an example of testing the alignment of a plane with vectors
- FIGURES 8A- 8E illustrate an example of estimating the layout of structures.
- FIGURES 1 through 8E of the drawings like numerals being used for like and corresponding parts of the various drawings.
- FIGURE 1 illustrates one embodiment of a system 10 configured to fuse multi-sensor data to provide estimates of structures 20.
- system 10 includes sensors 24, a computing system 26, and an output device 28.
- Computing system 26 includes an interface (IF) 30, logic 32, and memory 34.
- Logic 32 includes a processor 36 and applications such as a layout generator 38.
- Output device 28 displays a layout 40.
- system 10 receives sensor data from sensors 24 sensing structures 20 and generates layout 40 of structures 20.
- system 10 represents structural features indicated by sensor data by vectors, and places the vectors in a score matrix. System 10 then forms vector pairs representing a connection between two structural features using the score matrix. The vector pairs are used to determine structures 20 sensed by the sensors.
- structures 20 may be one or more natural and/or manmade physical objects.
- structures 20 include buildings such as military, corporate, residential, academic, or medical buildings.
- a structure 20 may have internal features that are not visible outside of structure 20.
- a building may have rooms bordered by walls such that the rooms are not visible outside of the building.
- the layout of the structure such as the floor plan of a building, may describe at least some of these internal features .
- Structures 20 may have structural features that are physical features of the geometry of the structure.
- the structural features of the building may include walls of a room and corners of a room where two walls meet.
- Structural features may be used to generate a layout 40 of the structures 20.
- the layout of a room may be provided in two dimensions (2D) or three dimensions (3D) .
- a wall, or "plate,” may be represented a line in a two-dimensional layout or a plane in a three- dimensional layout.
- a corner may be represented by a type of n-hedral, which is a set of n lines with a common point, where n is an integer.
- the common point may be called the "corner point."
- a corner may be represented by a dihedral, or 2-hedral, in a two-dimensional layout or a trihedral, or 3-hedral, in a three-dimensional layout .
- Sensors 24 may generate sensor data in response to sensing one or more structures 20.
- the sensor data may describe the structural features of the structures.
- Sensor 24 may be any suitable sensing device. Examples of sensor 24 include radar sensors, video cameras, camcorders, closed-circuit television cameras, digital cameras, surveillance cameras, infrared cameras, x-ray cameras, and/or satellite cameras. In certain embodiments, more than one sensor 24 may send data to computing system 26.
- Computing system 26 receives sensor data from one or more sensors 24 and fuses the sensor data to generate a layout 40 of structures 20.
- Interface 30 receives input, sends output, processes the input and/or output, and/or performs other suitable operation.
- Interface 30 may comprise hardware and/or software.
- layout generator 38 performs the operations of the component, for example, executes instructions to generate output from input.
- layout generator 38 generates a layout 40 of structures 20.
- layout generator 38 receives sensor data and identifies structural features of the sensor data.
- Layout generator 38 represents the structural features by vectors, and generates a score matrix that describes the distances among the vectors.
- Layout generator 38 forms vector pairs from the vectors according to the distances of the score matrix, where a vector pair represents structural features.
- Layout generator 38 estimates structures from the vector pairs .
- a method that layout generator 38 may use to generate layout 40 is described in more detail with respect to FIGURE 2.
- Logic 32 may include hardware, software, and/or other logic. Logic 32 may be encoded in one or more tangible media and may perform operations when executed by a computer. Certain logic 32, such as processor 36, may manage the operation of a component. Examples of a processor 36 include one or more computers, one or more microprocessors, one or more applications, and/or other logic . In particular embodiments, the operations of the embodiments may be performed by one or more computer readable media encoded with a computer program, software, computer executable instructions, and/or instructions capable of being executed by a computer.
- Memory 34 stores information an applications such as layout generator 38.
- Memory 34 may comprise one or more tangible, computer-readable, and/or computer-executable storage medium. Examples of memory 34 include computer memory (for example, Random Access Memory (RAM) or Read Only Memory (ROM) ) , mass storage media (for example, a hard disk) , removable storage media (for example, a Compact Disk (CD) or a Digital Video Disk (DVD) ) , database and/or network storage (for example, a server) , and/or other computer-readable medium.
- RAM Random Access Memory
- ROM Read Only Memory
- mass storage media for example, a hard disk
- removable storage media for example, a Compact Disk (CD) or a Digital Video Disk (DVD)
- database and/or network storage for example, a server
- network storage for example, a server
- Output device 28 outputs layout 40 generated by computing system 26.
- Output device may provide layout 40 in any suitable manner, for example, as a visual display, a printed hard copy, or an audio file.
- Examples of output device 28 includes a computer display, a printer, or a speaker.
- FIGURE 2 illustrates an example of a method for fusing multi-sensor data to provide estimates of structures. The method may be performed by system 10 of FIGURE 1.
- sensor data is received at step 110.
- the sensor data may be generated in response to sensing structures 20 and may describe structural features of structures 20.
- the structural features of the sensor data are identified at step 114.
- the structural features of the sensor data may be identified in any suitable manner.
- FIGURE 3 illustrates an example of identifying structural features of sensor data.
- candidate structural features are identified.
- Candidate structural features may be structural features that are likely to represent the same physical structural feature.
- Candidate structural features may be proximate to each other or may have portions that are proximate to each other.
- the candidate structural features include dihedrals 210a-210d selected according to distance between the corner points of dihedrals 210a- 21Od.
- dihedrals 210a-210d have corner points that are within a specific distance of each other. The distance may be determined by the error associated with the sensor data.
- each dihedral 210a-210d has associated errors ⁇ a - ⁇ d , respectively, at the corner points. If the errors of the structural features overlap, the structural features may be selected as candidate structural features .
- Candidate structural features are clustered to yield one representation of a structural feature .
- Candidate structural features may be clustered in any suitable manner.
- the corner points of dihedrals 210a-210d are overlapped to form a common point 214.
- the location of common point 214 may be calculated from the average of the locations of the corner points of dihedrals 210a-210d, where the average may be weighted based on errors ⁇ a - ⁇ d .
- the candidate structural feature with the smallest error is selected.
- Candidate structural features within the statistical distance threshold of the selected feature are fused.
- each structural feature is represented by one or more vectors at step 118 to yield a plurality of vectors.
- a structural feature may be represented by vectors in any suitable manner.
- FIGURES 4A-5C illustrate examples of representing structural features by vectors .
- FIGURES 4A and 4B illustrate an example of representing an n-hedral using a set of n-vectors, where n represent the number of sides of the n-hedral.
- a dihedral is represented by two vectors
- FIGURE 4B a tri-hedral is represented by three vectors .
- FIGURE 4C illustrates an example of representing a plate (or wall) by a set of vectors.
- a plate is represented by a set of vectors comprising at least one wall opening vector 232 and at least one wall closing vector 234.
- a wall opening vector 232 points in the direction of the space beside a wall.
- a wall closing vector 234 points towards the wall itself.
- FIGURE 5A illustrates an example of removing duplicate vectors that represent the same hedral edge.
- Duplicate vectors may be removed in any suitable manner.
- angular distances between vectors 240a-240h of a structural feature are calculated.
- Vectors 240a-240h with an angular distance that satisfies an angular distance threshold are fused together.
- vectors that are less than an angular distance threshold are fused together.
- the angular distance threshold may be any suitable value.
- the angular distance threshold for a vector 240 may be the rotational uncertainty of vector 240.
- the angular distance threshold may be a set value in the range of 0 to 45 degrees.
- each vector may be searched within the angular distance threshold in a positive direction and a negative direction.
- a search is made in the plus threshold direction and the negative threshold direction of vector 240b.
- the vectors 240c found within the angular distance threshold may be used to generate a new vector 24Ox that replaces the duplicate vectors 240a and 240c.
- the rotation of the new vector 240x may be set to the average of the identified vectors. The average may be weighted by the rotational errors of the vectors 240b and 240c.
- a vector 240b with the smallest angular uncertainty may be selected.
- Vectors 240c within the angular statistical distance threshold of the selected vector 240b may be fused with the selected vector 240b.
- FIGURES 5B and 5C illustrate an example of retaining or removing wall vectors.
- a wall opening vector of a first structural feature may or may not agree with a second structural feature. If they agree, the wall opening vector may be maintained. If not, the wall opening vector may be removed.
- FIGURE 5B illustrates a dihedral 250 and a wall closing vector 252 that both indicate that a wall is in the same direction. Accordingly, wall closing vector 252 is maintained.
- FIGURE 5C illustrates an example of where a dihedral 254 and a wall opening vector 256 disagree.
- Dihedral 254 indicates that there is a wall to the left of point 258, and wall opening vector 256 indicates that there is an opening to the left of point 258. Accordingly, wall opening vector 256 is removed.
- the distance S j * between vectors V j and v k may be given by any suitable function.
- FIGURE 6 illustrates an example of a distance formula.
- the distance may be given by:
- Scaling factor ⁇ scales the distance between the origins of the vectors
- scaling factor ⁇ scales the directions of the vectors.
- the diagonal entries representing the distance between the same vector is zero, and is set to a non-valid value, for example, -1.
- the product of the vectors must be less than zero. That is, the vectors point towards each other.
- One or more vector pairs are formed from the vectors according to the distances of the score matrix at step 126.
- a vector pair represents one or more structural features, and vector pairs may be formed in any suitable manner.
- wall closing vectors may be connected to indicate the presence of a wall. The wall closing vectors may then be removed from further consideration .
- FIGURES 7A and 7B illustrate examples of forming vector pairs.
- FIGURE 7A illustrates an example of maintaining a wall opening vector to constrain a solution.
- a structural feature 270 and a wall opening vector 272 may conflict about whether there is a wall or an opening.
- Structural feature 270 indicates that there is a wall where wall opening vector 272 indicates there is an opening.
- Vector 270 is removed in order to allow wall opening vector 272 to constrain the solution.
- FIGURE 7B illustrates an example of a test that may be used to determine whether to form a vector pair from two vectors.
- two vectors that have a minimum distance between them may be selected as candidates for a vector pair.
- a plane that includes the origins of the vectors may be tested to determine whether or not the plane intersects an existing plane. If the plane intersects an existing plane, the two vectors are not designated as a vector pair.
- the plane may be tested to determine whether the plane is substantially aligned with the two vectors. If the plane is not substantially aligned, the two vectors are not designated as a vector pair. In the example, if an angle ⁇ i or Q 2 is greater than a threshold angle, then the plane is not substantially aligned.
- the threshold angle may have any suitable value, such as a value in the range of 0 to 45 degrees. If the plane is substantially aligned, the two vectors are designated as a vector pair. The two vectors may be marked as not paired, which removes the vector pair from further consideration. The two vectors, however, may be kept for further consideration to be paired with other vectors.
- one or more structures 20 are estimated from the vector pairs at step 130.
- the layout of structures 20 is determined.
- the vector pairs indicate structural features, such as walls and corners, of structures 20.
- the corners and walls may be used to generate a layout by, for example, connecting the walls and corners. The method then terminates.
- FIGURES 8A- 8E illustrate an example of estimating the layout of structures using a score matrix.
- the smallest (or lowest) valid score in the matrix is identified.
- the vectors with the smallest score are joined with a candidate edge. If the candidate edge does not intersect any existing edges, the candidate edge is confirmed as an edge and the vectors are marked as already matched.
- the vectors may be marked as already matched by setting the scores of the vectors to a non-valid value. If a candidate edge intersects an existing edge, the candidate edge is marked with a non-valid value.
- FIGURE 8A illustrates vectors V 1 through V 8 .
- An example of a score matrix that includes the distances between vectors V 1 through v 8 is provided:
- -1 represents a non-valid value
- FIGURE 8B illustrates candidate edge 290.
- vectors V 6 and V 8 have the smallest score of 810.
- Candidate edge 290 does not intersect any existing edges, so candidate edge 290 is confirmed as an edge.
- Vectors v 6 and v 8 are designated as a vector pair and removed from further consideration:
- FIGURE 8C illustrates candidate edge 292.
- Vectors V 1 and v 3 have the smallest valid score of 1090.
- Candidate vector 292 does not intersect any existing edges, so candidate edge 292 is confirmed as an edge.
- Vectors v ⁇ and v 3 are designated as a vector pair and removed from further consideration:
- FIGURE 8D illustrates candidate edge 294.
- Vectors v 2 and V 7 have the smallest score.
- a candidate edge 294 is used to connect the vectors.
- Candidate edge 294 does not intersect an existing edge, so edge 294 is confirmed as an edge.
- Vectors v 2 and v 7 are designated as a vector pair and removed from consideration.
- FIGURE 8E illustrates candidate edge 296.
- Vectors v 4 and V 5 have the smallest score of 1185.
- Candidate edge 296 connects vectors v 4 and v 5 .
- Candidate edge 296 does not intersect an existing edge, so candidate edge 296 is confirmed as an edge.
- Vectors V 4 and V 5 are designated as a vector pair and removed from further consideration. Modifications, additions, or omissions may be made to the methods described herein without departing from the scope of the invention. The methods may include more, fewer, or other steps. Additionally, steps may be performed in any suitable order.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
In particular embodiments, analyzing data includes receiving sensor data generated in response to sensing one or more structures. The structural features of the sensor data are identified. Each structural feature is represented by one or more vectors. A score matrix that describes a plurality of distances among the vectors is generated. Vector pairs are formed from at least some of the vectors according to the distances of the score matrix. A layout of the structures is generated from the vector pairs.
Description
FUSING MULTI-SENSOR DATA TO PROVIDE ESTIMATES OF STRUCTURES
TECHNICAL FIELD
This invention relates generally to the field of sensor data analysis and more specifically to fusing multi-sensor data to provide estimates of structures.
BACKGROUND
Enforcement, security, and military forces may perform operations in structures such as buildings. These forces may need to know the layout, for example, the floor plan, of the structures. In certain situations, however, the layout may not be available.
SUMMARY OF THE DISCLOSURE
In accordance with the present invention, disadvantages and problems associated with previous techniques for fusing multi-sensor data may be reduced or eliminated.
In particular embodiments, analyzing data includes receiving sensor data generated in response to sensing one or more structures. The structural features of the sensor data are identified. Each structural feature is represented by one or more vectors . A score matrix that describes a plurality of distances among the vectors is generated. Vector pairs are formed from at least some of the vectors according to the distances of the score matrix. A layout of the structures is generated from the vector pairs.
Certain embodiments of the invention may provide one or more technical advantages . A technical advantage of one embodiment may be that structural features indicated
by sensor data are represented by vectors . The vectors are then placed in a score matrix in order to determine structures sensed by the sensors . Another technical advantage of one embodiment may be that vector pairs representing a connection between two structural features are formed using the score matrix. The vector pairs aid in the identification of structures sensed by the sensors .
Certain embodiments of the invention may include none, some, or all of the above technical advantages.
One or more other technical advantages may be readily apparent to one skilled in the art from the figures, descriptions, and claims included herein.
BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding of the present invention and its features and advantages, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which: FIGURE 1 illustrates one embodiment of a system configured to fuse multi-sensor data to provide estimates of structures;
FIGURE 2 illustrates an example of a method for fusing multi-sensor data to provide estimates of structures;
FIGURE 3 illustrates an example of identifying structural features,-
FIGURES 4A-4C illustrate representing n-hedrals by vectors ; FIGURE 5A illustrates an example of fusing vectors of a structural feature;
FIGURES 5B-5C illustrate an example of retaining or removing vectors for a structural feature;
FIGURE 6 illustrates an example of a distance function; FIGURE 7A illustrates an example of forming a vector pair;
FIGURE 7B illustrates an example of testing the alignment of a plane with vectors; and
FIGURES 8A- 8E illustrate an example of estimating the layout of structures.
DETAILED DESCRIPTION OF THE DRAWINGS
Embodiments of the present invention and its advantages are best understood by referring to FIGURES 1 through 8E of the drawings, like numerals being used for like and corresponding parts of the various drawings.
FIGURE 1 illustrates one embodiment of a system 10 configured to fuse multi-sensor data to provide estimates of structures 20. In the illustrated embodiment, system 10 includes sensors 24, a computing system 26, and an output device 28. Computing system 26 includes an interface (IF) 30, logic 32, and memory 34. Logic 32 includes a processor 36 and applications such as a layout generator 38. Output device 28 displays a layout 40. In certain embodiments, system 10 receives sensor data from sensors 24 sensing structures 20 and generates layout 40 of structures 20. In the embodiments, system 10 represents structural features indicated by sensor data by vectors, and places the vectors in a score matrix. System 10 then forms vector pairs representing a connection between two structural features using the
score matrix. The vector pairs are used to determine structures 20 sensed by the sensors.
In the illustrated embodiment, structures 20 may be one or more natural and/or manmade physical objects. Examples of structures 20 include buildings such as military, corporate, residential, academic, or medical buildings. In certain embodiments, a structure 20 may have internal features that are not visible outside of structure 20. For example, a building may have rooms bordered by walls such that the rooms are not visible outside of the building. The layout of the structure, such as the floor plan of a building, may describe at least some of these internal features .
Structures 20 may have structural features that are physical features of the geometry of the structure. For example, the structural features of the building may include walls of a room and corners of a room where two walls meet. Structural features may be used to generate a layout 40 of the structures 20. The layout of a room may be provided in two dimensions (2D) or three dimensions (3D) . A wall, or "plate," may be represented a line in a two-dimensional layout or a plane in a three- dimensional layout. A corner may be represented by a type of n-hedral, which is a set of n lines with a common point, where n is an integer. The common point may be called the "corner point." A corner may be represented by a dihedral, or 2-hedral, in a two-dimensional layout or a trihedral, or 3-hedral, in a three-dimensional layout . Sensors 24 may generate sensor data in response to sensing one or more structures 20. The sensor data may describe the structural features of the structures.
Sensor 24 may be any suitable sensing device. Examples of sensor 24 include radar sensors, video cameras, camcorders, closed-circuit television cameras, digital cameras, surveillance cameras, infrared cameras, x-ray cameras, and/or satellite cameras. In certain embodiments, more than one sensor 24 may send data to computing system 26.
Computing system 26 receives sensor data from one or more sensors 24 and fuses the sensor data to generate a layout 40 of structures 20. Interface 30 receives input, sends output, processes the input and/or output, and/or performs other suitable operation. Interface 30 may comprise hardware and/or software.
Logic 32 performs the operations of the component, for example, executes instructions to generate output from input. In certain embodiments, layout generator 38 generates a layout 40 of structures 20. In the embodiments, layout generator 38 receives sensor data and identifies structural features of the sensor data. Layout generator 38 represents the structural features by vectors, and generates a score matrix that describes the distances among the vectors. Layout generator 38 forms vector pairs from the vectors according to the distances of the score matrix, where a vector pair represents structural features. Layout generator 38 then estimates structures from the vector pairs . A method that layout generator 38 may use to generate layout 40 is described in more detail with respect to FIGURE 2.
Logic 32 may include hardware, software, and/or other logic. Logic 32 may be encoded in one or more tangible media and may perform operations when executed by a computer. Certain logic 32, such as processor 36,
may manage the operation of a component. Examples of a processor 36 include one or more computers, one or more microprocessors, one or more applications, and/or other logic . In particular embodiments, the operations of the embodiments may be performed by one or more computer readable media encoded with a computer program, software, computer executable instructions, and/or instructions capable of being executed by a computer. In particular embodiments, the operations of the embodiments may be performed by one or more computer readable media storing, embodied with, and/or encoded with a computer program and/or having a stored and/or an encoded computer program. Memory 34 stores information an applications such as layout generator 38. Memory 34 may comprise one or more tangible, computer-readable, and/or computer-executable storage medium. Examples of memory 34 include computer memory (for example, Random Access Memory (RAM) or Read Only Memory (ROM) ) , mass storage media (for example, a hard disk) , removable storage media (for example, a Compact Disk (CD) or a Digital Video Disk (DVD) ) , database and/or network storage (for example, a server) , and/or other computer-readable medium. Output device 28 outputs layout 40 generated by computing system 26. Output device may provide layout 40 in any suitable manner, for example, as a visual display, a printed hard copy, or an audio file. Examples of output device 28 includes a computer display, a printer, or a speaker.
Modifications, additions, or omissions may be made to system 10 without departing from the scope of the
invention. The components of system 10 may be integrated or separated. Moreover, the operations of system 10 may be performed by more, fewer, or other components. For example, the operations of sensors 29 and computing system 26 may be performed by one component, or the operations of layout generator 38 may be performed by more than one component. As used in this document, "each" refers to each member of a set or each member of a subset of a set. FIGURE 2 illustrates an example of a method for fusing multi-sensor data to provide estimates of structures. The method may be performed by system 10 of FIGURE 1.
In certain embodiments, sensor data is received at step 110. The sensor data may be generated in response to sensing structures 20 and may describe structural features of structures 20. The structural features of the sensor data are identified at step 114. The structural features of the sensor data may be identified in any suitable manner.
FIGURE 3 illustrates an example of identifying structural features of sensor data. In certain embodiments, candidate structural features are identified. Candidate structural features may be structural features that are likely to represent the same physical structural feature. Candidate structural features may be proximate to each other or may have portions that are proximate to each other.
In the illustrated example, the candidate structural features include dihedrals 210a-210d selected according to distance between the corner points of dihedrals 210a- 21Od. In the example, dihedrals 210a-210d have corner
points that are within a specific distance of each other. The distance may be determined by the error associated with the sensor data. In the illustrated example, each dihedral 210a-210d has associated errors εa-εd, respectively, at the corner points. If the errors of the structural features overlap, the structural features may be selected as candidate structural features .
Candidate structural features are clustered to yield one representation of a structural feature . Candidate structural features may be clustered in any suitable manner. In particular embodiments, the corner points of dihedrals 210a-210d are overlapped to form a common point 214. The location of common point 214 may be calculated from the average of the locations of the corner points of dihedrals 210a-210d, where the average may be weighted based on errors εa-εd. In other particular embodiments, the candidate structural feature with the smallest error is selected. Candidate structural features within the statistical distance threshold of the selected feature are fused.
Referring back to FIGURE 1, each structural feature is represented by one or more vectors at step 118 to yield a plurality of vectors. A structural feature may be represented by vectors in any suitable manner. FIGURES 4A-5C illustrate examples of representing structural features by vectors . FIGURES 4A and 4B illustrate an example of representing an n-hedral using a set of n-vectors, where n represent the number of sides of the n-hedral. In FIGURE 4A, a dihedral is represented by two vectors, and in FIGURE 4B, a tri-hedral is represented by three vectors .
FIGURE 4C illustrates an example of representing a plate (or wall) by a set of vectors. In certain embodiments, a plate is represented by a set of vectors comprising at least one wall opening vector 232 and at least one wall closing vector 234. A wall opening vector 232 points in the direction of the space beside a wall. A wall closing vector 234 points towards the wall itself.
FIGURE 5A illustrates an example of removing duplicate vectors that represent the same hedral edge. Duplicate vectors may be removed in any suitable manner. In certain embodiments, angular distances between vectors 240a-240h of a structural feature are calculated. Vectors 240a-240h with an angular distance that satisfies an angular distance threshold are fused together. For example, vectors that are less than an angular distance threshold are fused together. The angular distance threshold may be any suitable value. For example, the angular distance threshold for a vector 240 may be the rotational uncertainty of vector 240. As another example, the angular distance threshold may be a set value in the range of 0 to 45 degrees.
Any suitable procedure may be used to search for duplicate vectors 240. In certain embodiments, each vector may be searched within the angular distance threshold in a positive direction and a negative direction. In the illustrated example, a search is made in the plus threshold direction and the negative threshold direction of vector 240b. The vectors 240c found within the angular distance threshold may be used to generate a new vector 24Ox that replaces the duplicate vectors 240a and 240c. The rotation of the new vector 240x may be set to the average of the identified vectors.
The average may be weighted by the rotational errors of the vectors 240b and 240c.
In other embodiments, a vector 240b with the smallest angular uncertainty may be selected. Vectors 240c within the angular statistical distance threshold of the selected vector 240b may be fused with the selected vector 240b.
FIGURES 5B and 5C illustrate an example of retaining or removing wall vectors. In certain embodiments, a wall opening vector of a first structural feature may or may not agree with a second structural feature. If they agree, the wall opening vector may be maintained. If not, the wall opening vector may be removed.
FIGURE 5B illustrates a dihedral 250 and a wall closing vector 252 that both indicate that a wall is in the same direction. Accordingly, wall closing vector 252 is maintained.
FIGURE 5C illustrates an example of where a dihedral 254 and a wall opening vector 256 disagree. Dihedral 254 indicates that there is a wall to the left of point 258, and wall opening vector 256 indicates that there is an opening to the left of point 258. Accordingly, wall opening vector 256 is removed.
Referring back to FIGURE 1, a score matrix that describes a plurality of distances among the vectors is generated at step 122. The score matrix may be an M x M matrix, where M represents the number of vectors v±, i =
The distance Sj* between vectors Vj and vk may be given by any suitable function.
FIGURE 6 illustrates an example of a distance formula. In certain embodiments, the distance may be given by:
where Di, D2, and D3 are shown in FIGURE 6, and α are β scaling factors. Scaling factor α scales the distance between the origins of the vectors, and scaling factor β scales the directions of the vectors.
Referring back to FIGURE 1, the diagonal entries representing the distance between the same vector is zero, and is set to a non-valid value, for example, -1. In certain embodiments, the product of the vectors must be less than zero. That is, the vectors point towards each other.
One or more vector pairs are formed from the vectors according to the distances of the score matrix at step 126. A vector pair represents one or more structural features, and vector pairs may be formed in any suitable manner. For example, wall closing vectors may be connected to indicate the presence of a wall. The wall
closing vectors may then be removed from further consideration .
FIGURES 7A and 7B illustrate examples of forming vector pairs. FIGURE 7A illustrates an example of maintaining a wall opening vector to constrain a solution. In the illustrated example, a structural feature 270 and a wall opening vector 272 may conflict about whether there is a wall or an opening. Structural feature 270 indicates that there is a wall where wall opening vector 272 indicates there is an opening. Vector 270 is removed in order to allow wall opening vector 272 to constrain the solution.
FIGURE 7B illustrates an example of a test that may be used to determine whether to form a vector pair from two vectors. In certain embodiments, two vectors that have a minimum distance between them may be selected as candidates for a vector pair. A plane that includes the origins of the vectors may be tested to determine whether or not the plane intersects an existing plane. If the plane intersects an existing plane, the two vectors are not designated as a vector pair.
If the plane does not intersect an existing plane, the plane may be tested to determine whether the plane is substantially aligned with the two vectors. If the plane is not substantially aligned, the two vectors are not designated as a vector pair. In the example, if an angle θi or Q2 is greater than a threshold angle, then the plane is not substantially aligned. The threshold angle may have any suitable value, such as a value in the range of 0 to 45 degrees. If the plane is substantially aligned, the two vectors are designated as a vector pair.
The two vectors may be marked as not paired, which removes the vector pair from further consideration. The two vectors, however, may be kept for further consideration to be paired with other vectors. Referring back to FIGURE 1, one or more structures 20 are estimated from the vector pairs at step 130. In certain embodiments, the layout of structures 20 is determined. The vector pairs indicate structural features, such as walls and corners, of structures 20. The corners and walls may be used to generate a layout by, for example, connecting the walls and corners. The method then terminates.
FIGURES 8A- 8E illustrate an example of estimating the layout of structures using a score matrix. In certain embodiments, at each iteration, the smallest (or lowest) valid score in the matrix is identified. The vectors with the smallest score are joined with a candidate edge. If the candidate edge does not intersect any existing edges, the candidate edge is confirmed as an edge and the vectors are marked as already matched. The vectors may be marked as already matched by setting the scores of the vectors to a non-valid value. If a candidate edge intersects an existing edge, the candidate edge is marked with a non-valid value. FIGURE 8A illustrates vectors V1 through V8. An example of a score matrix that includes the distances between vectors V1 through v8 is provided:
In the example matrix, -1 represents a non-valid value.
FIGURE 8B illustrates candidate edge 290. In the illustrated example, vectors V6 and V8 have the smallest score of 810. Candidate edge 290 does not intersect any existing edges, so candidate edge 290 is confirmed as an edge. Vectors v6 and v8 are designated as a vector pair and removed from further consideration:
Vl V2 V3 V4
FIGURE 8C illustrates candidate edge 292. Vectors V1 and v3 have the smallest valid score of 1090. Candidate vector 292 does not intersect any existing edges, so candidate edge 292 is confirmed as an edge. Vectors v± and v3 are designated as a vector pair and removed from further consideration:
V1 V2 V3 V4 V5 V6 V7 V8
FIGURE 8D illustrates candidate edge 294. Vectors v2 and V7 have the smallest score. A candidate edge 294 is used to connect the vectors. Candidate edge 294 does not intersect an existing edge, so edge 294 is confirmed as an edge. Vectors v2 and v7 are designated as a vector pair and removed from consideration.
Vl V2 V3 V4 V5 V6 V7
FIGURE 8E illustrates candidate edge 296. Vectors v4 and V5 have the smallest score of 1185. Candidate edge 296 connects vectors v4 and v5. Candidate edge 296 does not intersect an existing edge, so candidate edge 296 is confirmed as an edge. Vectors V4 and V5 are designated as a vector pair and removed from further consideration. Modifications, additions, or omissions may be made to the methods described herein without departing from the scope of the invention. The methods may include more, fewer, or other steps. Additionally, steps may be performed in any suitable order. Although this disclosure has been described in terms of certain embodiments, alterations and permutations of the embodiments will be apparent to those skilled in the art. Accordingly, the above description of the embodiments does not constrain this disclosure. Other changes, substitutions, and alterations are possible
without departing from the spirit and scope of this disclosure, as defined by the following claims.
Claims
1. A method comprising: receiving sensor data generated in response to sensing one or more structures, the sensor data describing a plurality of structural features of the structures ; identifying the structural features of the sensor data,- representing each structural feature by one or more vectors to yield a plurality of vectors; generating a score matrix that describes a plurality of distances among the vectors; forming one or more vector pairs from at least some of the vectors according to the distances of the score matrix; and generating a layout of the one or more structures from the vector pairs .
2. The method of Claim 1, the identifying the structural features of the sensor data further comprising: selecting a plurality of candidate structural features of the plurality of structural features according to one or more distances among the candidate structural features; and clustering the candidate structural features to represent a structural feature.
3. The method of Claim 1, the representing each structural feature by one or more vectors further comprising: representing an n-hedral as a set of n vectors, n representing the number of sides of the n-hedral.
4. The method of Claim 1, the representing each structural feature by one or more vectors further comprising: representing a plate as a set of vectors comprising at least one wall opening vector and at least one wall closing vector.
5. The method of Claim 1, the representing each structural feature by one or more vectors further comprising: calculating an angular distance between vectors of a structural feature; and fusing vectors with an angular distance that satisfies an angular distance threshold.
6. The method of Claim 1, the representing each structural feature by one or more vectors further comprising: determining that a wall opening vector of a first structural feature conflicts with a second structural feature; and removing the wall opening vector.
7. The method of Claim 1, the forming one or more vector pairs from at least some of the vectors further comprising: selecting two vectors with origins that are within a specific distance from each other; defining a plane that include the origins,- determining that the plane does not intersect an existing plane; determining that the plane is substantially aligned with the two vectors; and designating the two vectors as a vector pair.
8. The method of Claim 1 , the forming one or more vector pairs from at least some of the vectors further comprising: selecting two vectors with origins that are within a specific distance from each other; defining a plane that include the origins; determining that the plane intersects an existing plane; and determining that the two vectors are not a vector pair.
9. A computer readable medium storing logic configured to: receive sensor data generated in response to sensing one or more structures, the sensor data describing a plurality of structural features of the structures; identify the structural features of the sensor data; represent each structural feature by one or more vectors to yield a plurality of vectors,- generate a score matrix that describes a plurality of distances among the vectors; form one or more vector pairs from at least some of the vectors according to the distances of the score matrix; and generate a layout of the one or more structures from the vector pairs .
10. The computer readable medium of Claim 9, the logic configured to identify the structural features of the sensor data by: selecting a plurality of candidate structural features of the plurality of structural features according to one or more distances among the candidate structural features; and clustering the candidate structural features to represent a structural feature.
11. The computer readable medium of Claim 9, the logic configured to represent each structural feature by one or more vectors by. representing an n-hedral as a set of n vectors, n representing the number of sides of the n-hedral.
12. The computer readable medium of Claim 9, the logic configured to represent each structural feature by one or more vectors by: representing a plate as a set of vectors comprising at least one wall opening vector and at least one wall closing vector.
13. The computer readable medium of Claim 9, the logic configured to represent each structural feature by one or more vectors by: calculating an angular distance between vectors of a structural feature; and fusing vectors with an angular distance that satisfies an angular distance threshold.
14. The computer readable medium of Claim 9, the logic configured to represent each structural feature by one or more vectors by: determining that a wall opening vector of a first structural feature conflicts with a second structural feature; and removing the wall opening vector.
15. The computer readable medium of Claim 9, the logic configured to form one or more vector pairs from at least some of the vectors by: selecting two vectors with origins that are within a specific distance from each other; defining a plane that include the origins; determining that the plane does not intersect an existing plane; determining that the plane is substantially aligned with the two vectors; and designating the two vectors as a vector pair.
16. The computer readable medium of Claim 9, the logic configured to form one or more vector pairs from at least some of the vectors by: selecting two vectors with origins that are within a specific distance from each other; defining a plane that include the origins; determining that the plane intersects an existing plane ; and determining that the two vectors are not a vector pair.
17. A apparatus comprising: an interface configured to: receive sensor data generated in response to sensing one or more structures, the sensor data describing a plurality of structural features of the structures; and a processor coupled to the interface and configured to: identify the structural features of the sensor data; represent each structural feature by one or more vectors to yield a plurality of vectors,- generate a score matrix that describes a plurality of distances among the vectors; form one or more vector pairs from at least some of the vectors according to the distances of the score matrix; and generate a layout of the one or more structures from the vector pairs .
18. The apparatus of Claim 17, the processor configured to identify the structural features of the sensor data by: selecting a plurality of candidate structural features of the plurality of structural features according to one or more distances among the candidate structural features; and clustering the candidate structural features to represent a structural feature.
19. The apparatus of Claim 17, the processor configured to represent each structural feature by one or more vectors by: representing an n-hedral as a set of n vectors, n representing the number of sides of the n-hedral.
20. The apparatus of Claim 17, the processor configured to represent each structural feature by one or more vectors by: representing a plate as a set of vectors comprising at least one wall opening vector and at least one wall closing vector.
21. The apparatus of Claim 17, the processor configured to represent each structural feature by one or more vectors by: calculating an angular distance between vectors of a structural feature; and fusing vectors with an angular distance that satisfies an angular distance threshold.
22. The apparatus of Claim 17, the processor configured to represent each structural feature by one or more vectors by: determining that a wall opening vector of a first structural feature conflicts with a second structural feature; and removing the wall opening vector.
23. The apparatus of Claim 17, the processor configured to form one or more vector pairs from at least some of the vectors by: selecting two vectors with origins that are within a specific distance from each other; defining a plane that include the origins; determining that the plane does not intersect an existing plane; determining that the plane is substantially aligned with the two vectors; and designating the two vectors as a vector pair.
24. The apparatus of Claim 17, the processor configured to form one or more vector pairs from at least some of the vectors by: selecting two vectors with origins that are within a specific distance from each other; defining a plane that include the origins,- determining that the plane intersects an existing plane; and determining that the two vectors are not a vector pair.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/427,474 US8164507B2 (en) | 2009-04-21 | 2009-04-21 | Fusing multi-sensor data to provide estimates of structures |
| US12/427,474 | 2009-04-21 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2010123952A1 true WO2010123952A1 (en) | 2010-10-28 |
Family
ID=42342582
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2010/031824 Ceased WO2010123952A1 (en) | 2009-04-21 | 2010-04-21 | Fusing multi-sensor data to provide estimates of structures |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US8164507B2 (en) |
| WO (1) | WO2010123952A1 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8538167B2 (en) * | 2010-01-07 | 2013-09-17 | Raytheon Company | Designating corridors to provide estimates of structures |
| US9336302B1 (en) | 2012-07-20 | 2016-05-10 | Zuci Realty Llc | Insight and algorithmic clustering for automated synthesis |
| US11205103B2 (en) | 2016-12-09 | 2021-12-21 | The Research Foundation for the State University | Semisupervised autoencoder for sentiment analysis |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1777550A1 (en) * | 2005-10-11 | 2007-04-25 | Tele-Rilevamento Europa S.R.L. | Data aquisition method and system, use of dihedra for data acquisition |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| IL99823A0 (en) * | 1990-11-16 | 1992-08-18 | Orbot Instr Ltd | Optical inspection method and apparatus |
| US5988862A (en) * | 1996-04-24 | 1999-11-23 | Cyra Technologies, Inc. | Integrated system for quickly and accurately imaging and modeling three dimensional objects |
| US6064759A (en) * | 1996-11-08 | 2000-05-16 | Buckley; B. Shawn | Computer aided inspection machine |
| GB0007063D0 (en) * | 2000-03-23 | 2000-05-10 | Simsci Limited | Mulitvariate statistical process monitors |
| US6501414B2 (en) * | 2001-04-02 | 2002-12-31 | The United States Of America As Represented By The United States National Aeronautics And Space Administration | Method for locating a concealed object |
| US7053820B2 (en) * | 2004-05-05 | 2006-05-30 | Raytheon Company | Generating three-dimensional images using impulsive radio frequency signals |
| US7307575B2 (en) * | 2004-09-14 | 2007-12-11 | Bae Systems Information And Electronic Systems Integration Inc. | Through-the-wall frequency stepped imaging system utilizing near field multiple antenna positions, clutter rejection and corrections for frequency dependent wall effects |
| EP1794659A2 (en) * | 2004-09-17 | 2007-06-13 | MKS Instruments, Inc. | Method and apparatus for multivariate control of semiconductor manufacturing processes |
| IL170689A (en) * | 2005-09-06 | 2011-08-31 | Camero Tech Ltd | Through-wall imaging device |
| EP1941629A4 (en) * | 2005-10-14 | 2010-08-25 | Bae Systems Information | Through-the-wall motion detector with improved antenna |
| US7526405B2 (en) * | 2005-10-14 | 2009-04-28 | Fisher-Rosemount Systems, Inc. | Statistical signatures used with multivariate statistical analysis for fault detection and isolation and abnormal condition prevention in a process |
| IL174737A (en) * | 2006-04-03 | 2014-12-31 | Camero Tech Ltd | System and method for volume visualization in ultra-wideband radar |
| US20070241738A1 (en) * | 2006-04-12 | 2007-10-18 | Dalius Baranauskas | Start up circuit apparatus and method |
| US7642949B2 (en) * | 2006-08-03 | 2010-01-05 | Lockheed Martin Corporation | Illumination source for millimeter wave imaging |
-
2009
- 2009-04-21 US US12/427,474 patent/US8164507B2/en active Active
-
2010
- 2010-04-21 WO PCT/US2010/031824 patent/WO2010123952A1/en not_active Ceased
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1777550A1 (en) * | 2005-10-11 | 2007-04-25 | Tele-Rilevamento Europa S.R.L. | Data aquisition method and system, use of dihedra for data acquisition |
Non-Patent Citations (8)
| Title |
|---|
| BIN LUO ET AL: "Graph spectral approach for learning view structure", PATTERN RECOGNITION, 2002. PROCEEDINGS. 16TH INTERNATIONAL CONFERENCE ON QUEBEC CITY, QUE., CANADA 11-15 AUG. 2002, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US LNKD- DOI:10.1109/ICPR.2002.1048135, vol. 3, 11 August 2002 (2002-08-11), pages 785 - 788, XP010613741, ISBN: 978-0-7695-1695-0 * |
| GOUINAUD C: "SAR Image Fusion in Multi Sensor Context for Small Urban Area Detection", GEOSCIENCE AND REMOTE SENSING SYMPOSIUM, 2008. IGARSS 2008. IEEE INTERNATIONAL, IEEE, PISCATAWAY, NJ, USA, 7 July 2008 (2008-07-07), pages III - 988, XP031422669, ISBN: 978-1-4244-2807-6 * |
| LEAVERS V F ED - LEAVERS V F: "Shape Detection in Computer Vision using the Hough Transform", 1 January 1992, SHAPE DETECTION IN COMPUTER VISION USING THE HOUGH TRANFORM, SPRINGER, GB, ISBN: 978-3-540-19723-2, pages: 88 - 107, XP007914240 * |
| MA YI ET AL: "An invitation to 3-D Vision, Representation of a Three-Dimensional Moving Scene, Quaternions and Euler angles for rotations", 1 January 2004, AN INVITATION TO 3-D VISION, SPRINGER VERLAG, BERLIN, ISBN: 978-0-387-00893-6, pages: 390 - 403, XP007914241 * |
| NERINO R: "Automatic registration of point-based surfaces", WSEAS TRANSACTIONS ON COMPUTERS, vol. 5, no. 12, 1 December 2006 (2006-12-01), pages 2984 - 2991, XP008125025 * |
| TAT SOON YEO ET AL: "A New Subaperture Approach to High Squint SAR Processing", IEEE TRANSACTIONS ON GEOSCIENCE AND REMOTE SENSING, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 39, no. 5, 1 May 2001 (2001-05-01), XP011021759, ISSN: 0196-2892 * |
| ZHIGUANG ZHONG ET AL: "Pose Estimation and Structure Recovery from Point Pairs", ROBOTICS AND AUTOMATION, 2005. PROCEEDINGS OF THE 2005 IEEE INTERNATIONAL CONFERENCE ON BARCELONA, SPAIN 18-22 APRIL 2005, PISCATAWAY, NJ, USA,IEEE LNKD- DOI:10.1109/ROBOT.2005.1570158, 18 April 2005 (2005-04-18), pages 442 - 447, XP010872265, ISBN: 978-0-7803-8914-4 * |
| ZHONG Z ET AL: "Effective pose estimation from point pairs", IMAGE AND VISION COMPUTING, ELSEVIER, GUILDFORD, GB LNKD- DOI:10.1016/J.IMAVIS.2005.03.003, vol. 23, no. 7, 1 July 2005 (2005-07-01), pages 651 - 660, XP004921786, ISSN: 0262-8856 * |
Also Published As
| Publication number | Publication date |
|---|---|
| US8164507B2 (en) | 2012-04-24 |
| US20100268512A1 (en) | 2010-10-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Xiao et al. | Localizing 3D cuboids in single-view images | |
| US9984280B2 (en) | Object recognition system using left and right images and method | |
| US8818039B2 (en) | Information processing apparatus, information processing method, and computer program | |
| Niu et al. | Resource-efficient and automated image-based indoor localization | |
| US8538167B2 (en) | Designating corridors to provide estimates of structures | |
| Kushnir et al. | Epipolar geometry estimation for urban scenes with repetitive structures | |
| CN119941550B (en) | Dynamic obstacle point cloud filtering method and device | |
| Pintore et al. | Recovering 3D existing-conditions of indoor structures from spherical images | |
| CN106372552B (en) | Human target recognition and positioning method | |
| Fouhey et al. | Single image 3D without a single 3D image | |
| Fond et al. | Facade proposals for urban augmented reality | |
| US8164507B2 (en) | Fusing multi-sensor data to provide estimates of structures | |
| US12541873B2 (en) | Information processing apparatus and information processing method | |
| US8290741B2 (en) | Fusing multi-sensor data sets according to relative geometrical relationships | |
| DeFranco | Detecting and tracking moving objects from a small unmanned air vehicle | |
| Qiao et al. | Speak the same language: Global lidar registration on bim using pose hough transform | |
| CN117115414A (en) | GPS-free drone positioning method and device based on deep learning | |
| Xu et al. | PL‐Pose: robust camera localisation based on combined point and line features using control images | |
| Park et al. | Real‐time robust 3D object tracking and estimation for surveillance system | |
| Robinson et al. | Pattern design for 3D point matching | |
| CN119478463B (en) | Loop detection method, device and storage medium | |
| CN117099110B (en) | Methods and sensor components for training self-learning image processing systems | |
| US8271224B2 (en) | Fusing structures from multi-sensor data | |
| Cupec et al. | Place recognition based on planar surfaces using multiple RGB-D Images taken from the same position | |
| Sooriyaarachchi et al. | Elastic ORB: Non-Rigid Transformation Based SLAM |
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: 10721869 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 10721869 Country of ref document: EP Kind code of ref document: A1 |





