WO2015024059A1 - Localisation system and method - Google Patents
Localisation system and method Download PDFInfo
- Publication number
- WO2015024059A1 WO2015024059A1 PCT/AU2014/000829 AU2014000829W WO2015024059A1 WO 2015024059 A1 WO2015024059 A1 WO 2015024059A1 AU 2014000829 W AU2014000829 W AU 2014000829W WO 2015024059 A1 WO2015024059 A1 WO 2015024059A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- discrete
- characteristic
- trees
- natural elements
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 219
- 230000004807 localization Effects 0.000 title claims description 146
- 238000012163 sequencing technique Methods 0.000 claims abstract description 28
- 230000011218 segmentation Effects 0.000 claims description 187
- 238000004422 calculation algorithm Methods 0.000 claims description 96
- 238000005259 measurement Methods 0.000 claims description 66
- 238000012512 characterization method Methods 0.000 claims description 20
- 239000002245 particle Substances 0.000 claims description 13
- 238000013481 data capture Methods 0.000 claims description 12
- 238000009826 distribution Methods 0.000 description 171
- 230000007704 transition Effects 0.000 description 61
- 239000002420 orchard Substances 0.000 description 47
- 230000015654 memory Effects 0.000 description 40
- 238000011156 evaluation Methods 0.000 description 28
- 239000011159 matrix material Substances 0.000 description 25
- 238000013459 approach Methods 0.000 description 24
- 238000001514 detection method Methods 0.000 description 20
- 230000000875 corresponding effect Effects 0.000 description 19
- 230000000694 effects Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 18
- 230000008569 process Effects 0.000 description 15
- 238000003860 storage Methods 0.000 description 13
- 230000033001 locomotion Effects 0.000 description 11
- 238000007781 pre-processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 239000000284 extract Substances 0.000 description 10
- 238000012935 Averaging Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 239000013598 vector Substances 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 230000001419 dependent effect Effects 0.000 description 6
- 238000002372 labelling Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000002790 cross-validation Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000013480 data collection Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 238000009795 derivation Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 241000257303 Hymenoptera Species 0.000 description 3
- 230000004075 alteration Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000001364 causal effect Effects 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000010454 slate Substances 0.000 description 3
- 235000011437 Amygdalus communis Nutrition 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 2
- 241000220304 Prunus dulcis Species 0.000 description 2
- 235000020224 almond Nutrition 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001739 density measurement Methods 0.000 description 2
- 238000005315 distribution function Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000011158 quantitative evaluation Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000002689 soil Substances 0.000 description 2
- 238000011179 visual inspection Methods 0.000 description 2
- 241000143060 Americamysis bahia Species 0.000 description 1
- 235000006040 Prunus persica var persica Nutrition 0.000 description 1
- 240000006413 Prunus persica var. persica Species 0.000 description 1
- 238000012952 Resampling Methods 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000010923 batch production Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003121 nonmonotonic effect Effects 0.000 description 1
- 230000003094 perturbing effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 239000012086 standard solution Substances 0.000 description 1
- 238000001931 thermography Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
Definitions
- the present invention relates to a localisation system and method.
- the present invention relates to a method of determining a location relative to the position of one or more natural elements within an environment, a method of determining a set of characteristics associated with natural elements in an environment for determining a location relative to the position of a plurality of natural elements, and related systems.
- DGPS Differential GPS
- the present invention aims to overcome, or at least alleviate, some or all of the afore-mentioned problems.
- a method or system of determining a location relative to the position of one or more natural elements within an environment comprising the steps of: measuring a set of characteristics associated with the natural elements, wherein the set of characteristics comprises at least one characteristic associated with the natural elements; creating a plurality of discrete data sets from the measured set of characteristics; associating the discrete data sets with individual natural elements; sequencing data within the discrete data sets to create a current data sequence; and determining a location relative to the position of one or more natural elements within the environment based on a comparison of the cunent data sequence with a stored data sequence.
- the system may include a data capture module, a segmentation module, a sequencing module, a characterisation module and a localisation module adapted to perform the method.
- the stored data sequence may be based on a previous characteristic data set created by measuring a second set of characteristics associated with the natural elements, the method further comprising the steps of associating data within the previous characteristic data set with the specific individual natural elements: and sequencing the associated data within the previous characteristic data set
- Data within the discrete data sets being associated with individual natural elements may be data associated with a first characteristic within the first set of characteristics.
- the data being sequenced to create the current data sequence may be data associated with a second characteristic within the first set of characteristics, and the first characteristic and second characteristic may be different.
- Data within the discrete data sets being associated with individual natural elements may be data associated with a first characteristic within the first set of characteristics.
- the data being sequenced to create the current data sequence may be data associated with a second characteristic within the first set of characteristics, and the first characteristic and second characteristic may be the same characteristic.
- the step of associating the discrete data sets with individual natural elements may segment the characteristic data set into discrete portions, and associate each discrete portion with one of the individual natural elements.
- the step of segmenting the characteristic data set into discrete portions may segment the characteristic data set using a Hidden Semi- arfcov Model.
- the step of segmenting the characteristic data set into discrete portions may take discrete measurements of the first set of characteristics at predefined intervals.
- the predefined intervals may be time intervals or distance intervals.
- the step of sequencing data within the discrete data sets to create a current data sequence may group the discrete data sets into a defined sequence length. [0018] The step of sequencing data within the discrete data sets may obtain a plurality of descriptor values, wherein each descriptor vaiue is based on a plurality of single data points or a single data point, where each single data point is selected from one of a plurality of discrete data sets that are associated with one individual natural element, and position the obtained descriptor values in a defined sequence.
- the descriptor value may be calculated from the single data points by selecting one of the single data points or calculating a new value based on the single data points.
- the step of sequencing data within the discrete data sets may obtain a plurality of descriptor values, wherein each descriptor value is based on a plurality of data points, where each data point in the plurality of data points is selected from one of a plurality of discrete data sets that are associated with one individual natural element, and position the obtained descriptor values in a defined sequence.
- the step of determining a location may use particle filters on the current data sequence.
- the step of determining a location may use a HMM algorithm.
- the HMM algorithm may use a Viterbi algorithm, Forwards algorithm or Forwards-Backwards algorithm.
- the set of characteristics may be one or more of height, volume, density, colour, and temperature characteristics of natural elements in the environment.
- Further measurements may be performed before, during or after determining a location, and those further measurements may be associated with a natural element based on the determined location.
- a potential error may be determined based on the comparison of the current data sequence and stored data sequence.
- the potential error may be created from discrete data sets not being associated with the correct individual natural element.
- a method or system of determining a set of characteristics associated with natural elements in an environment for determining a location relative to the position of one or more natural elements within the environment may measure a set of characteristics associated with the natural elements.
- the set of characteristics may have at least one characteristic associated with the natural elements.
- a plurality of discrete data sets may be created from the measured set of characteristics.
- the discrete data sets may be associated with individual natural elements.
- the data within the discrete data sets may be sequenced to create a data sequence.
- the data sequence may be stored in a manner suitable for determining a location within the environment.
- Data within the discrete data sets being associated with individual natural elements may be data associated with a first characteristic within the first set of characteristics.
- the data being sequenced to create the current data sequence may be data associated with a second characteristic within the first set of characteristics.
- the first characteristic and second characteristic may be different.
- Date within the discrete data sets being associated with individual natural elements may be data associated with a first characteristic within the first set of characteristics.
- the data being sequenced to create the current data sequence may be data associated with a second characteristic within me first set of characteristics.
- the first characteristic and second characteristic may be the same characteristic.
- the step of associating the discrete data sets with individual natural elements may segment the characteristic data set into discrete portions, and associate each discrete portion with one of the individual natural elements.
- the step of segmenting the characteristic data set into discrete portions may segment the characteristic data set using a Hidden Semi-Markov Model.
- the step of segmenting the characteristic data set into discrete portions may take discrete measurements of the first set of characteristics at predefined intervals.
- the predefined intervals may be time intervals or distance intervals.
- the step of sequencing data within the discrete data sets to create a current data sequence may group the discrete data sets into a defined sequence length.
- the step of sequencing data within the discrete data sets may obtain a plurality of descriptor values.
- Each descriptor value may be based on a plurality of single data points, or a single data point.
- Each single data point may be selected from one of a plurality of discrete data sets that are associated with one individual natural element.
- the obtained descriptor values may be positioned in a defined sequence.
- the descriptor value may be calculated from the single data points by selecting one of the single data points or calculating a new value based on the single data points.
- the step of sequencing data within the discrete data sets may obtain a plurality of descriptor values.
- Each descriptor value may be based on a plurality of data points.
- Each data point in the plurality of data points may be selected from one of a plurality of discrete data sets that are associated with one individual natural element.
- the obtained descriptor values may be positioned in a defined sequence.
- a location value may be determined based on a GPS signal.
- the location value may be stored with the current data sequence.
- the system may include a data capture module, a segmentation module, a sequencing module, a characterisation module and a localisation module adapted to perform the method.
- FIG. 1 A shows a schematic block diagram of a localisation system according to the present disclosure
- FIGs. 1 B and 1C form a schematic block diagram of a general purpose computer system upon which arrangements described can be practiced;
- Fig. 2 shows a representation of a point cloud according to the present disclosure
- FIG. 3 shows a representation of height density and volume values in data slices according to the present disclosure
- Fig. 4 shows a representation of height data values in data slices according to the present disclosure
- FIG. 5 shows a further representation of height data values in data slices according to the present disclosure
- Fig. 6 shows an image of equipment used to collect data in an orchard according to the present disclosure
- Fig. 7 shows a 3D point cloud according to the present disclosure
- Fig. 8 shows a state transition diagram of a Hidden Markov Model used in a method and system according to the present disclosure
- Fig. 9 shows a comparison of the implicit duration distribution of a HMM with the explicit duration distribution of a HSMM.
- Fig. 10 shows a state transition diagram of a model of an orchard according to the present disclosure
- Figs. 11A and 11B show measured height data points over distance for orchard rows over 80 meters, and 80 meters to 160 meters according to the present disclosure
- Figs. 12A and 12B show measured density data points over distance for orchard rows over 80 meters, and 80 meters to 160 meters according to the present disclosure
- Figs. 13A and 13B show measured volume data points over distance for orchard rows over 80 meters, and 80 meters to 160 meters according to the present disclosure
- Fig. 14 shows measured volume differences over distance for an orchard row over 80 meters according to the present disclosure:
- Fig. 15 shows measured difference of moving averages for an orchard row over 80 meters according to the present disclosure
- Fig. 16A and 16B show hand-tuned observation and border distributions according to the present disclosure
- Fig. 17 shows a state duration distribution for a tree and gap according to the present disclosure
- Fig. 16 shows a state duration distribution for a border according to the present disclosure
- Figs. 19A, 19B and 19C show histograms of volume measurements given the state of a tree, gap or border according to the present disclosure
- Fig, 20 shows learnt observation distributions according to the present disclosure
- Fig.21 shows a histogram of the duration for a tree state according to the present disclosure
- Fig. 22A shows a data point image before pre-processing for ground removal according to the present disclosure
- Fig. 22B shows a data point image after pre-processing for ground removal according to the present disclosure
- Fig. 23 shows a comparison of volume measurements before and after removing the ground according to the present disclosure
- Fig. 24 shows hand tuned observation distributions according to the present disclosure
- Fig. 25 shows a state transition diagram according to the present disclosure
- Figs. 26A and 26B show hand tuned observation distributions according to the present disclosure
- Fig. 27 shows an image depicting a section of large trees according to the present disclosure
- Fig. 26 shows an image depicting a section with two small trees surrounded by large trees according to the present disclosure
- Fig. 29 shows an image depicting a section of a medium sized tree surrounded by large trees according to the present disclosure
- Fig. 30 shows an extract of the resulting segmentation using an ordinary Hidden Markov Model according to the present disclosure
- Fig. 31 shows an extract of volume measurements and state changes using an ordinary Hidden Markov Model according to the present disclosure
- Fig. 32 shows an extract of the resulting segmentation using 3 state Hidden Markov Model according to the present disclosure
- Fig. 33 shows an extract of the resulting segmentation when the gap between trees is labelled as part of the tress according to the present disclosure
- Fig. 34 shows a segmentation failure when the 4 state model is used with learnt volume and height observation distributions according to the present disclosure
- Fig. 35 shows an overview of the resulting segmentation using a 4 state model according to the present disclosure
- Fig. 36 shows an overview of the resulting segmentation using a 4 state model according to the present disclosure
- Fig. 37 shows two medium sized trees segmented using the 4 state model according to the present disclosure:
- Fig. 38 shows two small trees segmented using the 4 state model according to the present disclosure
- Fig. 39 shows an empty portion before entering the row segmented using the 4 state model according to the present disclosure
- Fig. 40 shows a medium sized tree being labelled as a small tree according to the present disclosure
- Fig. 41 shows one of three border errors when segmenting the longer dataset using leamt volume distributions
- Fig. 42 shows an excerpt of a data set collected by a robot moving in a sinusoidal motion according to the present disclosure
- Fig. 43 shows estimated volumes of tress with robot moving in a straight line according to the present disclosure
- Fig.44 shows volume values calculated according to the present disclosure
- Fig. 45 shows height values calculated according to the present disclosure
- Fig. 46 shows volume signature values calculated according to the present disclosure
- Fig. 47 shows height signature values calculated according to the present disclosure
- Fig. 48 shows a descriptor difference distribution according to the present disclosure
- Fig. 49 shows a descriptor difference distribution according to the present disclosure
- Fig. 50 shows a cumulative observation distribution function according to the present disclosure
- Fig. 51 shows a histogram of tree differences according to the present disclosure
- Fig. 52 shows a histogram of tree duration differences according to the present disclosure
- Fig. 53 shows a histogram of differences between real measurements of the same tree according to the present disclosure
- Fig. 54 shows a histogram of differences between simulated measurements of the same tree according to the present disclosure
- Fig, 55 shows a ratio of correct matches and segmentation errors according to the present disclosure
- Fig. 56 shows a ratio of correct matches and segmentation errors according to the present disclosure
- Fig. 57 shows a ratio of correct matches and segmentation errors according to the present disclosure
- Fig. 58 shows a ratio of correct matches and segmentation errors according to the present disclosure
- Fig. 59 shows a ratio of correct matches and segmentation errors according to the present disclosure
- Fig. 60 shows a ratio of correct matches and segmentation errors according to the present disclosure
- Fig. 61 shows a ratio of correct matches and segmentation errors according to the present disclosure
- Fig. 62 shows a ratio of correct matches and segmentation errors according to the present disclosure
- Fig. 63 shows a ratio of correct matches and segmentation errors according to the present disclosure
- Fig. 64 shows a ratio of correct matches and segmentation errors according to the present disclosure
- Fig. 65 shows a ratio of correct matches and segmentation errors according to the present disclosure
- Fig. 66 shows a ratio of correct matches and segmentation errors according to the present disclosure:
- Fig. 67 shows a self-similarity distribution of a volume descriptor in the form of a histogram of differences between measurements of the same tree according to the present disclosure;
- Fig. 68 shows a self-similarity distribution of a height descriptor in the form a histogram of differences between measurements of the same tree according to the present disclosure
- Fig. 69 shows a self-similarity distribution of a volume signature descriptor in the form a histogram of differences between measurements of the same tree according to the present disclosure
- Fig. 70 shows a serf-similarity distribution of a height signature descriptor in the form a histogram of differences between measurements of the same tree according to the present disclosure:
- Fig. 71 shows a similarity distribution to other trees for a volume descriptor in the form of a histogram of differences between measurements of different trees according to the present disclosure
- Fig. 72 shows a similarity distribution to other trees for a height descriptor in the form of a histogram of differences between measurements of different trees according to the present disclosure
- Fig. 73 shows a similarity distribution to other trees for a volume signature descriptor in the form of a histogram of differences between measurements of different trees according to the present disclosure
- Fig. 74 shows a similarity distribution to other trees for a height signature descriptor in the form of a histogram of differences between measurements of different trees according to the present disclosure
- Embodiments of the present invention are described herein with reference to a system adapted or arranged to perform the methods described.
- a first task examines ho to segment a 3D point cloud of an orchard, collected by a 2D Laser Scanner, into trees; allowing a surveying robot to designate estimated attributes such as health and yield to individual trees.
- a second task examines how the geometric characteristics of the individual trees can be described in order to enable localisation.
- a third task presents a robust localisation method, based on the previously introduced segmentation and characterisation methods. Finally, a method and system for detecting segmentation errors when performing localisation is described, allowing erroneous attribute estimates to be discarded.
- the presented evaluation is based on 3D point data created from DGPS location estimates of the robot's position. Similar results can also be obtained by using odometry data from the robot or any other suitable method.
- analysis for orchards where trees are in a trellis or wall like structure is also envisaged.
- characteristic measurements can be taken such as "linearity" of 3D points, which corresponds to trunks of the trees, and colour characteristics obtained from cameras, as described herein. That is, where the captured data points are arranged in a linear manner, the system may interpret this as representing a trunk like structure.
- the system may include at least a processor, one or more memory devices or an interface for connection to one or more memory devices, input and output interfaces for connection to external devices or sensors in order to enable the system to receive and operate upon instructions from one or more users or external systems, a data bus for internal and external communications between the various components, and a suitable power supply.
- the system may include one or more communication devices (wired or wireless) for communicating with external and internal devices, and one or more input output devices, such as a display, pointing device, keyboard or printing device.
- the processor or various modules described are arranged to perform the steps of a program stored as program instructions within a memory device.
- the program instructions enable the various methods of performing the invention as described herein to be performed.
- the program instructions may be developed or implemented using any suitable software programming language and toolkit, such as, for example, a C-based language.
- the program instructions may be stored in any suitable manner such that they can be transferred to the memory device or read by the processor or modules, such as, for example, being stored on a computer readable medium.
- the computer readable medium may be any suitable medium, such as, for example, solid state memory, magnetic tape, a compact disc (CD-ROM or CD-R/W), memory card, flash memory, optical disc, magnetic disc or any other suitable computer readable medium.
- the system herein described includes one or more elements or modules that are arranged to perform the various functions and methods.
- the following portion of the description is aimed at providing the reader with an example of a conceptual view of how various modules and/or engines that make up the elements of the system may be interconnected to enable the functions to be implemented. Further, the following portion of the description explains in system related detail how the steps of the herein described method may be performed.
- the conceptual diagrams are provided to indicate to the reader how the various data elements are processed at different stages by the various different modules and/or engines.
- modules and/or engines described may be implemented and provided with instructions using any suitable form of technology.
- the modules or engines may be implemented or created using any suitable software code written in any suitable language, where the code is then compiled to produce an executable program that may be run on any suitable computing system.
- the modules or engines may be implemented using any suitable mixture of hardware, firmware and software.
- portions of the modules may be implemented using an application specific integrated circuit (ASIC), a system-on-a- chip (SoC). field programmable gate arrays (FPGA) or any other suitable adaptable or programmable processing device.
- ASIC application specific integrated circuit
- SoC system-on-a- chip
- FPGA field programmable gate arrays
- data is captured in a natural environment by a robotic system.
- a robotic system may use a self-contained non-mobile system that is designed to be attached to any existing vehicle, such as a tractor or quad bike for example.
- the data capture system could be moved or towed by hand.
- the system includes a data capture module 101. a characterisation module 103, a segmentation module 105, a sequencing module 107. a localisation module 109, and a control module 111 adapted to control the operation of the characterisation module, segmentation module, sequencing module and localisation module.
- the system also includes a data store 113.
- database or data storage module arranged to store data and enable data to be retrieved therefrom.
- any of the modules may include their own local data storage facility to enable data to be stored and retrieved locally.
- Multiple sensors 115 are also part of the system and may include one or more of a laser scanning and detection system, a GPS device, an odometry device, a colour or thermal camera device or any other sensing device that may be used to detect characteristics of natural elements.
- sensing devices such as a soil measurement device, air quality measurement device, water quality measurement device or other suitable measurement device for measuring characteristics of the environment around the natural elements in the environment.
- the data capture module is suitable for and may be specifically adapted for capturing data associated with features of natural elements, as well as related functions.
- the characterisation module is suitable for and may be specifically adapted for retrieving data captured by the data capture module from sensors to determine characteristics associated with the natural elements, as well as related functions.
- the segmentation module is suitable for and may be specifically adapted for creating discrete data sets and organising the data into segments that correspond with individual natural elements, as well as related functions.
- the sequencing module is suitable for and may be specifically adapted for sequencing the data, as well as related functions.
- the localisation module is suitable for and may be specifically adapted for determining a location, as well as related functions.
- the control module is suitable for and may be specifically adapted for controlling each of the modules and also for generating an output.
- modules or engines may be adapted accordingly depending on system and user requirements so that various functions may be performed by different modules or engines to those described herein, and that certain modules or engines may be combined into single modules or engines or the functions of the herein described modules or engines may be separated out into different modules or engines.
- FIGs. 1 B and 1C depict a general-purpose computer system 1300, upon which the various arrangements described can be practiced.
- the computer system 1300 includes: a computer module 1301; input devices such as a keyboard 1302, a mouse pointer device 1303, a scanner 1326. a camera 1327, and a microphone 1380; and output devices including a printer 1315, a display device 1314 and
- An external Modulator-Demodulator (Modem) transceiver device 1316 may be used by the computer module 1301 for communicating to and from a communications network 1320 via a connection 1321.
- the communications network 1320 may be a wide-area network (WAN), such as the Internet, a cellular telecommunications network, or a private WAN.
- the modem 1316 may be a traditional "dial-up" modem.
- the connection 1321 is a high capacity (e.g., cable) connection
- the modem 1316 may be a broadband modem.
- a wireless modem may also be used for wireless connection to the communications network 1320.
- the computer module 1301 typically includes at least one processor unit 1305, and a memory unit 1306.
- the memory unit 1306 may have semiconductor random access memory (RAM) and semiconductor read only memory (ROM).
- the computer module 1301 also includes an number of input/output (I/O) interfaces including: an audio-video interface 1307 that couples to the video display 1314, loudspeakers 1317 and microphone 1380; an I/O interface 1313 that couples to the keyboard 1302, mouse 1303, scanner 1326, camera 1327 and optionally a joystick or other human interface device (not illustrated); and an interface 1308 for the external modem 1316 and printer 1315, as well as sensors as described herein.
- I/O input/output
- the modem 1316 may be incorporated within the computer module 1301, for example within the interface 1308.
- the computer module 1301 also has a local network interface 1311, which permits coupling of the computer system 1300 via a connection 1323 to a local-area communications network 1322, known as a Local Area Network (LAN).
- LAN Local Area Network
- the local communications network 1322 may also couple to the wide area network
- the local network interface 1311 may comprise an Ethernet circuit card, a Bluetooth® wireless arrangement or an IEEE 802.11 wireless arrangement; however, numerous other types of interfaces may be practiced for the interface 1311.
- the I/O interfaces 1308 and 1313 may afford either or both of serial and parallel connectivity, the former typically being implemented according to the Universal Serial Bus (USB) standards and having corresponding USB connectors (not illustrated).
- Storage devices 1309 are provided and typically include a hard disk drive (HDD) 1310. Other storage devices such as a floppy disk drive and a magnetic tape drive (not illustrated) may also be used.
- An optical disk drive 1312 is typically provided to act as a nonvolatile source of data.
- Portable memory devices such optical disks (e.g., CD-ROM. DVD, Blu-ray DiscTM).
- the components 1305 to 1313 of the computer module 1301 typically communicate via an interconnected bus 1304 and in a manner that results in a conventional mode of operation of the computer system 1300 known to those in the relevant art.
- the processor 1305 is coupled to the system bus 1304 using a connection 1318.
- the memory 1306 and optical disk drive 1312 are coupled to the system bus 1304 by connections 1319. Examples of computers on which the described arrangements can be practised include IBM-PC's and compatibles, Sun Sparcstations, Apple MacTM or a like computer systems.
- Various methods as described herein may be implemented using the computer system 1300 wherein the processes to be described, may be implemented as one or more software application programs 1333 executable within the computer system 1300 as modules.
- the steps of the method of determining a location relative to the position of one or more natural elements within the environment or the method of determining a set of characteristics associated with natural elements in an environment for determining a location relative to the position of one or more natural elements within the environment may be effected by instructions 1331 (see Fig. 1C) in the software 1333 that are carried out within the computer system 1 00.
- the software instructions 1331 may be formed as one or more code modules, each for performing one or more particular tasks.
- the software may also be divided into two separate parts, in which a first part and the corresponding code modules performs the herein described methods and a second part and the corresponding code modules manage a user interface between the first part and the user.
- the software may be stored in a computer readable medium, including the storage devices described below, for example.
- the software is loaded into the computer system 1300 from the computer readable medium, and then executed by the computer system 1300.
- a computer readable medium having such software or computer program recorded on the computer readable medium is a computer program product.
- the use of the computer program product in the computer system 1300 preferably effects an advantageous apparatus for determining a location relative to the position of one or more natural elements within the environment or an apparatus for determining a set of characteristics associated with natural elements in an environment for determining a location relative to the position of one or more natural elements within the environment.
- the software 1333 is typically stored in the HDD 1310 or the memory 1 06.
- the software is loaded into the computer system 1300 from a computer readable medium, and executed by the computer system 1300.
- the software 1333 may be stored on an optically readable disk storage medium (e.g., CD-ROM) 1325 that is read by the optical disk drive 1312.
- a computer readable medium having such software or computer program recorded on it is a computer program product.
- the use of the computer program product in the computer system 1300 preferably effects an apparatus for determining a location relative to the position of one or more natural elements within the environment or an apparatus for determining a set of characteristics associated with natural elements in an environment for determining a location relative to the position of one or more natural elements within the environment.
- the application programs 1333 may be supplied to the user encoded on one or more CD-ROMs 1325 and read via the corresponding drive 1312, or alternatively may be read by the user from the networks 1320 or 1322.
- the software can also be loaded into the computer system 1300 from other computer readable media.
- Computer readable storage media refers to any non- transitory tangible storage medium that provides recorded instructions and/or data to the computer system 1300 for execution and/or processing. Examples of such storage media include floppy disks, magnetic tape.
- Examples of transitory or non-tangible computer readable transmission media that may also participate in the provision of software, application programs, instructions and/or data to the computer module 1301 include radio or infra-red transmission channels as well as a network connection to another computer or networked device, and the Internet or Intranets including e-mail transmissions and information recorded on Websites and the like.
- GUIs graphical user interfaces
- a user of the computer system 1300 and the application may manipulate the interface in a functionally adaptable manner to provide controlling commands and or input to the applications associated with the GUI(s).
- Other forms of functionally adaptable user interfaces may also be implemented, such as an audio interface utilizing speech prompts output via the
- Fig. 1C is a detailed schematic block diagram of the processor 1305 and a "memory" 1334.
- the memory 1334 represents a logical aggregation of all the memory modules (including the HDD 1309 and semiconductor memory 1306) that can be accessed by the computer module 1 01 in Pig. 1B.
- POST power-on self-test
- the POST program 1350 is typically stored in a ROM 1349 of the
- the POST program 1350 examines hardware within the computer module 1301 to ensure proper functioning and typically checks the processor 1305, the memory 1334 (1309, 306), and a basic input-output systems software (BIOS) module 1351, also typically stored in the ROM 1349, for correct operation. Once the POST program 1350 has run successfully, the BIOS 1351 activates the hard disk drive 1310 of Fig. 1B. Activation of the hard disk drive 1310 causes a bootstrap loader program 1352 that is resident on the hard disk drive 1310 to execute via the processor 1305.
- BIOS basic input-output systems software
- the operating system 1353 is a system level application, executable by the processor 1305, to fulfil various high level functions, including processor management, memory management, device management, storage management, software application interface, and generic user interface.
- the operating system 1353 manages the memory 1334 (1309, 1306) to ensure that each process or application running on the computer module 1301 has sufficient memory in which to execute without colliding with memory allocated to another process. Furthermore, the different types of memory available in the system 1300 of Fig. 1B must be used properly so that each process can run effectively.
- the aggregated memory 1334 is not intended to illustrate how particular segments of memory are allocated (unless otherwise stated), but rathe to provide a general view of the memory accessible by the computer system 1300 and how such is used.
- the processor 1305 includes a number of functional modules including a control unit 339, an arithmetic logic unit (ALU) 1340, and a local or internal memory 1348, sometimes called a cache memory.
- the cache memory 1348 typically includes a number of storage registers 344 - 1346 in a register section.
- One or more internal busses 1341 functionally interconnect these functional modules.
- the processor 1305 typically also has one or more interfaces 1342 for communicating with external devices via the system bus 1304, using a connection 1318.
- the memory 1334 is coupled to the bus 1304 using a connection 1319.
- the application program 1333 includes a sequence of instructions 1331 that may include conditional branch and loop instructions.
- the program 1333 may also include data 1332 which is used in execution of the program 1333.
- the instructions 1331 and the data 1332 are stored in memory locations 1328. 1329, 1330 and 1335, 1336, 1337. respectively.
- a particular instruction may be stored in a single memory location as depicted by the instruction shown in the memory location 1330.
- an instruction may be segmented into a number of parts each of which is stored in a separate memory location, as depicted by the instruction segments shown in the memory locations 1328 and 1329.
- the processor 1305 is given a set of instructions which are executed therein.
- the processor 1105 wats for a subsequent input, to which the processor 1305 reacts to by executing another set of instructions.
- Each input may be provided from one or more of a number of sources, including data generated by one or more of the input devices 1302, 1303, data received from an external source across one of the networks 1320, 1302, data retrieved from one of the storage devices 1306, 1309 or data retrieved from a storage medium 1325 inserted into the corresponding reader 1312, all depicted in Fig. 1 B.
- the execution of a set of the instructions may in some cases result in output of data. Execution may also involve storing data or variables to the memory 1334.
- the disclosed localisation arrangements use input variables 1354, which are stored in the memory 1334 in corresponding memory locations 1355, 1356, 1357.
- the localisation arrangements produce output variables 1361, which are stored in the memory 1334 in corresponding memory locations 1362, 1363, 1364.
- Intermediate variables 1358 may be stored in memory
- each fetch, decode, and execute cycle comprises:
- a further fetch, decode, and execute cycle for the next instruction may be executed.
- a store cycle may be performed by which the control unit 1339 stores or writes a value to a memory location 1332.
- Each step or sub-process in the processes as described herein is associated with one or more segments of the program 1333 and is performed by the register section 1344, 1345, 1347, the ALU 1340, and the control unit 1339 in the processor 1305 working together to perform the fetch, decode, and execute cycles for every instruction in the instruction set for the noted segments of the program 1333.
- the methods of localisation and characteristics determination may alternatively be implemented in dedicated hardware such as one or more integrated circuits performing the functions or sub functions of the modules as described.
- dedicated hardware may include graphic processors, digital signal processors, or one or more microprocessors and associated memories.
- the following describes a method and associated system for determining a location relative to the position of one or more natural elements within an environment.
- the natural elements may be, for example, a tree, bush, plant etc.
- the natural elements may be arranged individually and/or separately in the natural environment, or may be arranged such that they combine to form a trellis or hedge tike structure.
- the natural environment may be a farm, orchard, field, nursery or other type of natural environment in which natural elements are grown, nurtured, farmed etc.
- an initial data set may be captured to provide a benchmark against which a current data set can be compared.
- Bootstrapping may provide a specific reference point so the data can be associated with one or more geo-referenced points, for example, within the natural environment.
- a current data set may be captured using the same reference points) as that used during the capture of the initial data set.
- the current data set may be compared to the initial data set to find a match, which enables a location to be determined based on the reference point.
- Step 1 Data Capture
- Feature data of natural elements in an environment is captured by the data capture module at discrete intervals and transformed into discrete data sets [e.g. a slice of data].
- This data is stored in the database.
- the feature data may include characteristics such as height, volume or density measurements (or any combination thereof). Other features or characteristics may also be captured, such as colour and thermal imaging for example.
- the feature or characteristic data within the discrete data sets is analysed to segment the discrete data sets. This segmentation step is performed by the segmentation module and identifies which of the discrete data sets are associated with one or more natural elements in the environment and which of the discrete data sets are associated with gaps or boundaries within the environment.
- the segmentation of the discrete data sets requires the analysis of the feature data within each of the discrete data sets to identify whether the feature data relates to a natural element.
- An example of a suitable method for performing segmentation is based on the Hidden Semi-Markov Model (HSMM).
- HSMM Hidden Semi-Markov Model
- Feature data determined from individual discrete data sets may be placed into the HSMM model to perform segmentation.
- the feature data could be hand tuned to reduce errors.
- a state duration distribution (such as a Gaussian distribution) could be applied to the HSMM model in order to define the expected spatial distances within the natural environment.
- one or more discrete data sets may be associated with a particular natural element
- Step 3 Characterisation
- Each natural element is then characterised by the characterisation module using the feature data within the segmented discrete data sets.
- the characterisation could be by way of a basic descriptor or a more complex signature descriptor.
- a basic descriptor uses a single value (data point) associated with a particular feature of the natural element
- a height value for natural element n may be determined from one or more discrete data sets that have been associated with n via the segmentation process.
- the maximum height value in each of three discrete data sets associated with a specific tree may be averaged to provide an indicative height value for that tree.
- Other methods may be used to determine the indicative height value.
- a signature descriptor uses multiple values within a plurality of discrete data sets that are associated with a specific natural element. For example, a height signature for a natural element m may be determined from multiple discrete data sets that have been associated with m via the segmentation process. The height signature may consist of the maximum height value taken from each of the associated discrete data sets for m. This may result in a signature descriptor consisting of a series of numbers associated with a particular natural feature of the natural element, where the series of numbers are taken from a plurality of discrete data sets associated with that natural element
- the natural feature being measured for the purposes of characterisation may be the same or different to the natural feature being measured for the purposes of segmentation.
- Localisation may be performed by the localisation module. Localisation may include one or more of the following tasks. Determining that the current data set being captured is associated with a data set that was captured prior to the current data set. Determining that a current discrete data set being captured is associated with a discrete data set that was captured prior to the current discrete data set. Determining that equipment being used to capture the current data set is located at a pre-defined location based on earlier captured data.
- a data set (whether the whole data set, a part or portion of the whole data set, or a discrete data set within the data set) within a stored medium matches a further data set (whether the whole further data set, a part or portion of the whole further data set or a discrete data set within the further data set) within the same or different stored medium, where the data set and further data set were captured in the same environment at different times.
- a non geo-reference or a geo- reference may be provided as a location reference point.
- Localisation is performed by finding an association between two sets of data, e.g. by finding a match between a first sequence of basic descriptors in a first data set (or first distinct data set) and a second sequence of basic descriptors in a second data set (or second distinct data set).
- the sequencing module groups the data sets into a defined sequence length.
- a match may be found between a first sequence of signature descriptors in a first data set (or first distinct data set) and a second sequence of signature descriptors in a second data set (or second distinct data set).
- HMM Hidden Markov Model
- Particle filters could be used in a way that combines aspects of the basic tocaliser method and the localisation method using HMM.
- a database is initially produced in the same way as already described.
- hypotheses particles randomly distributed are placed all over the environment (e.g. farm).
- a current tree measurement is taken (either a discrete slice or a segmented tree), and a similarity measurement is taken using the data in the database.
- the similarity weight is multiplied by the particle (hypotheses likelihood) weight
- This process is repeated predicting where particles (hypotheses) may go, and updating those based on the sensing/similarity to database.
- renorrnalisatton and deleting of unlikely particles may be applied to maintain efficiency and tractability on finite machines, as well as accuracy.
- An initial reference point is needed if it is a requirement that the result provides an indication of a location within the natural environment. E.g. an indication of whereabouts the current data set was captured within an entire orchard, an area of an orchard, a particular tree within a particular row, etc. [00189] However, an initial reference point is not strictly needed if the only result required is to identify when the current data set matches a previous data set to identify a specific tree. For example, if a specific tree needs to be located for some purpose and that tree was identified in the initial data set, then an initial reference point is not required. The specific tree would be identified when the cunent data set is matched with the initial data set.
- the initial reference point is not required to be a geo-reference point.
- a geo-reference point may be used initially if it is required to associate the captured data with a specific geo-reference to provide location information.
- the geo-reference point may be captured by a GPS device or may be provided manually by using map references.
- An example of a reference point that is not a geo-reference point may be a row and tree number identifying where the start of the capture of the initial data set occurred.
- a laser measurement system such as a SICK L S 291
- data is captured at 75 frames per second in a 180 degree vertical window.
- a first scan captures data at 0, 1, 2, 3, through to 179, 180 degrees at 1 degree intervals.
- a second scan captures data at 0.25. 1.25, 2.25, 3.25 through to 179.25, 180.25 degrees at 1 degree intervals.
- a third scan captures data at 0.5, 1.5, 2.5, 3.5 through to 179.5, 180.5 degrees at 1 degree intervals.
- a fourth scan captures data at 0.75, 1.75. 2.75, 3.75 through to 179.75, 180.75 degrees at 1 degree intervals.
- the scanned data is then interleaved to produce a resolution of approximately 0.25 degrees.
- the scanned data produces a point cloud, which is a set of continuous valued points that may be located anywhere.
- a point cloud which is a set of continuous valued points that may be located anywhere.
- An odometer located on the wheels of the vehicle holding the laser measurement system may be used to determine how far the laser measuremen system is moving relative to the target natural elements. It will be understood that other methods of determining distance relative to the target natural elements may be used.
- All point cloud data captured within a defined distance based on the odometer reading is then combined by projecting the scanned points into a common reference frame.
- the defined distance may be 0.2 metres.
- Fig. 2 shows an example of the distribution of data in a point cloud.
- This common reference frame is then discretised by voxeiising the data therein to produce 0.2 metre slices perpendicular (or at least substantially perpendicular) to the direction of travel of the laser measurement system.
- a 3D point cloud of data is produced containing 0.2 metre 3 voxels. That is, a series of adjacent vertical slices of data points is produced where each slice is based on data collected over a 0.2 metre range. It will be understood that the resolution of data capture may be adjusted up or down.
- Each data point (0) is referenced to an X value, a Y value and a Z value to identify its location in the 3D point cloud.
- the X value is dependent on the 0.2 metre slice it is a part of and is based on the position of the laser measurement system relative to the target natural element along the horizontal X-axis. According to this example, the X value is calculated using the odometer attached to the vehicle upon which the sensor is mounted.
- the Y value is calculated from the degree position (or elevation) within the 180 degree scan and the range detected by the sensor as measured by the laser measurement system.
- the Z value (depth) also based on the degree position (or elevation) within the 180 degree scan and the range detected by the sensor.
- each of X, Y, Z values may be a function of vehicle pose (north, east, down, roll, pitch, yaw) and sensor (range, bearing).
- the senor returns polar co-ordinates in the form of a range and elevation value where light bounces off an object
- the polar co-ordinates are converted to Cartesian co-ordinates to produce an (x, y) value for the sensor, where the x value is the depth value (Z) and the y value is the height value (Y).
- the (x. y) sensor values are transformed or converted into a common frame using the X, Y. Z coordinate system with spatial units in metres.
- a grid of 0.2 metre cubes is used so that all the original free form points in the raw point cloud that fall into any one individual cube are combined by averaging their Cartesian location (X, Y. Z) to produce the location value associated with that cube. Therefore, the captured data is down-sampled while still maintaining a suitable sharpness or resolution in the data, and a more uniform density of points. That is, each cube contains one averaged point location or none.
- Each slice of data points is considered a discrete data set, thus the system produces multiple discrete data sets.
- the laser returns range elevation values where the light bounces off an object, such as a tree.
- the laser returns a "no-retum” or "max-range” indication for non-returns where light has not bounced off an object.
- the highest Y value in all of the cells that had a data point (i.e. did not include a "max-range" indication) within them is taken to be the maximum height value. It will be understood that other variations are envisaged for determining the height value, including, for example, only counting 0.2 metre cubes that have > N raw points (from the point cloud before creating the voxels), ignoring the top M% of points because it is assumes that there may be noise, etc.
- the maximum height value is calculated from the average Y value of all the points associated with that voxel. It will be understood that alternative ways of determining a maximum height value may be used. For example, the maximum non-averaged Y value from all points in the voxel may be used.
- density may be calculated from the volume measurement measured using the method below.
- density may be calculated by dividing the volume value calculated below by the total volume of all cubes in the slice.
- the density value is given a value of 4 points.
- the density value may be calculated by counting the total number of points within the 4 voxels.
- volume value returned for this slice is 4 x 0.008 - 0.032 m3 volume for the slice.
- any combination of these different values could be used. Also, other characteristic measurements such as colour, thermal characteristics etc. could be used.
- segmentation is performed by the segmentation module on the data set using HSMM to determine where the data points specifically relate to trees, gaps or borders. This information is then used later so that only tree related data is used to calculate height, volume or density etc.
- Fig. 4 it can be seen that various data slices maybe allocated as a TREE1, GAP or TREE2 depending on the height data value in those slices. For example, because the height data includes in slice F and slice G are below a predetermined value, the system determines that those data points relate to a gap between the natural elements.
- each natural element within the environment can be characterised by the characterisation module.
- a single value for each tree may be used in the data set to compare to the previous baseline data set. These single values are obtained using the segmentation data. That is. a number of slices related to a single tree are analysed to determine the descriptor value.
- 5 slices of data identified as a tree from the segmentation step are analysed to determine the height of the tree. For example. Slices A to E identified above are analysed. The height is the highest height value taken from those 5 slices of data, e.g. the height value in Slice C.
- Height values from multiple trees are grouped together in a sequence (e.g. a length of 5 trees from tree 1 to tree 5):
- This sequence is then compared by the characterisation module to the baseline data set to find a match.
- volume values an average of all the volume values for all slices associated with a tree is taken as the volume for that tree.
- Volume values from multiple trees are grouped together in a sequence (e.g. a length of 5 trees from tree 1 to tree 5):
- a number of feature values from consecutive 0.2 metre slices associated with a particular tree are grouped together to provide a signature value.
- the slices are determined by the segmentation module in the segmentation step, which identifies the individual trees.
- the length of the signature may be different dependent on the segmentation of the slices or width of the slices. For example, a first tree may be defined by a signature taken from 5 slices, whereas a second tree may be defined by a signature taken from 6 slices.
- signatures may vary in width (because of the number of cells that contributed to the measurement of the tree features) and because perfect signature alignment is not guaranteed, it will be understood that comparison functions may be used to test multiple alignments to find the best match when comparing whether two signatures are similar.
- E.g. [21.8; 22; 22.2; 21.8; 21.4] may be the height signature descriptor for the tree identified in Fig. 5 by Slices A to E.
- volume values calculated for each 0.2 metre slice associated with a particular tree are grouped together to form a volume signature descriptor for that tree. See above for volume calculation for each 0.2 metre slice.
- Sequence matching by the sequencing module of the basic descriptors or signature descriptors in two or more sets of data enables monitoring of the natural elements to occur over time.
- the monitoring of the natural elements may include monitoring the natural features as previously discussed or may include monitoring other factors associated with the environment where it is important to understand the relative location of the point where the monitoring is taking place. For example, soil samples may be obtained at regular intervals, crop yield may be determined for particular trees or plants, or indeed any other factor mat is capable of being measured.
- the empty datasets ⁇ The 3 datasets containing only ground and no trees. Additionally, the same row was often viewed or seen from different sides as separate rows unless the similarity between the two sides is explicitly investigated. Utilising this view, the shorter and distorted datasets contain 2 rows and the larger dataset contains 10 rows. [00246] Finally, in order to give an estimate of the size of the datasets, it should be mentioned that each row contains 58 trees, with an extent of roughly 320 meters, and is represented by approximately 1.5 million points. The empty datasets are significantly smaller, each having a length of approximately 10 meters.
- Dynamic Time Warping used to perform sequence-based visual localisation. High precision localisation can be achieved through sequence matching even when the information in each individual element is severely limited.
- HMMs Hidden Markov Models
- a Hidden Markov Model is utilized with the previously introduced descriptors to create a robust localisation method. Performance is evaluated and it is shown that it is robust both to measurement noise and segmentation errors.
- a problem with building the map of the orchard from multiple measurements is that segmentation errors, though supposedly few, risk corrupting the map.
- a method for detecting segmentation errors when performing localization is described.
- HMMs Hidden Markov Models
- a set of states each state producing an observation in accord with a probabilistic distribution.
- the model is in one active state, the state currently producing the observation.
- the probability of transitioning between the different states is also modeled. Having modeled the complete HMM it is possible to estimate the most probably sequence of states given a sequence of observations.
- the model may be utilised with multiple observation features as well as how to avoid numerical underflow problems. Additionally, in order to aid in the derivation of the introduced algorithms, the utilised probability theorems are provided at the end of the description. However, before presenting the optimisation methods, it is necessary to define the notation.
- x to be the sequence of observations from x, to x t .
- q t is defined to be the state-sequence from q, to q, -
- N the total number of states
- the complete algorithm is prese ted in algorithm 3 ⁇ 4.
- the Forwards-Backwards algorithm is the non-causal extension of the Forwards algorithm, employing a similar recursive algorithm for solving (2.1). Begin by introducing
- the Viterbi algorithm solves (2.3) by employing a dynamic programming approach. Start by defining (2.16)
- ⁇ is the joint probability of the most likely state sequence and the observations.
- a practical problem for all three presented optimisation algorithms is the under- flow problem resulting from the large number of products smaller than 1. This problem can be resolved either through scaling or by working in the logarithmic domain.
- the standard solution for the Forwards and Forwards- Backwards algorithms is the scaling method, however this method does not generalise to HSM s, therefore we present the logarithmic approach.
- the core idea of the logarithmic approach is to optimise the logarithm of the probability, this effectively removes any risk of underflow problems since
- the Hidden Semi-Markov Model is an extension of the Hidden Markov Model where the time spent in each state is explicitly modeled. In this chapter the model is introduced and the corresponding optimisation algorithms used in the document. This extension is important for the reasons described below.
- figure 9 compares the implicit duration distribution 901 of a H with the explicit duration distribution 903 of a HSMM.
- the key feature of the HSMM is that the duration spent in each state is explicitly modeled using a probability distribution. This allows the transitions between states to be defined in the same way as in HMMs while allowing complete freedom in modeling the duration distribution. Taken together, this al- lows most of the simplicity of the HMM to be kept while making the model much more accurate for many problems.
- the integer variable D is introduced to define the maximum duration spent in a state. This variable adds no information to the model from a theoretical viewpoint, however it is necessary to limit the computational complexity of the optimisation algorithms.
- the update step is similar to the ordinary HMM algorithm, the difference being that the duration probabilities are factored in and that it is necessary to search for the maximising arguments over the duration of the states.
- the 5 in the HMM algorithm is defined as the joint probability of being in state j at time t. in the HSMM algorithm however it is defined as the joint probability of transitioning from state / at time t.
- a key part of running an orchard is to keep an up to date inventory of the trees, this is necessary both to estimate the crop yield and health, as well as for general farm management.
- Much of this labour is performed manually on selected parts of the orchard, and the results extrapolated to account for the entire orchard. Automation of this process would thus not only result in reduced labour, but also in more accurate estimates.
- Segmentation is based on a 3D point cloud, presented above.
- the reason for basing the segmentation on 3D data is that it has a high signal to noise ratio, due to the contrasting depths in the data. Furthermore, it is robust to illumination variance. This can be contrasted to the possible use of visual sensors, suffering both from the general similarity of the environment while also being sensitive to illumination changes.
- a method based on a Hidden Semi-Markov Model is used, integrating knowledge about both tree spacing and measured tree features. In order to improve the performance further, a number of different variants of the introduced method are described. Finally, the different methods are evaluated and their results compared.
- HSMM Hidden Semi-Markov Model
- a 3 state HSMM model for modeling an orchard is known.
- the model contains 3 states: tree, gap and border.
- the tree represents a tree in the orchard
- gap represents a space without a tree
- border represents the transition between the other two states.
- border does not only represent the transition between free and gap but also from tree to free and gap to gap. This setup assures that all legal state sequences effectively delimit the individual trees with borders.
- the observations of the HSMM are calculated by extracting features from the 3D point cloud. This is done by dividing the rows into vertical "slices" of a specified width. A feature is then extracted from each slice. This approach gives a sequence of observations that can be input to the Viterbi algorithm as described herein.
- the self-transition probability is set to 0 for all states. Furthermore, set the transition probability between tree and gap to 0. This gives the transition probability from tree and gap to border is 1. The transition probability from border to free and gap is set to 0.5.
- the complete transition matrix is given as (4.2)
- Identifying the state sequence is dependent on how informative the observation features are. There exists a multitude of possible feature and feature combinations. A problem with the height feature is that it is heavily affected by small branches, making it hard to detect the borders between overlapping trees.
- Another feature is volume, a benefit being that it is less heavily affected by minor branches.
- a third feature is a point-count, giving a rough estimate of the density of the slice. In order to set the notation, we denote these 3 features as the original features in order to distinguish them from the features that may be derived from them.
- the level of noise has a great effect on the performance of the model, thus being necessary to take into consideration when choosing feature.
- the noise level is closely related to the slice width, we discuss the choice of slice resolution in the next section.
- the resolution is defined to be the width of each slice. It is difficult to quantify the exact effects of the resolution, however some broad points can be noted. A larger resolution, thinner slices, allows for a more exact segmentation of the dataset. On the other hand, a too small resolution makes the features more susceptible to noise. It is thus necessary to balance segmentation preciseness against the noise level. Having no method for performing such analyses theoretically, the problem was examined by calculating and plotting the three original features for different resolution. The usefulness of each resolution was determined by how easy it was to detect the borders between the individual trees using visual inspection. From the results of the analysis, it was determined that a resolution of 0.2m is suitable. Having a larger resolution than this had significant negative effects on the noise level while a lower resolution did not improve the noise level by any significant degree.
- the height feature is calculated by finding the largest height of the slice. In order to get an estimate of its usefulness, the feature was calculated and plotted for one examined row of trees. Extracts of the row presented in figures 11 A (measured height over first 80 meters) and 11B (measured height from 80 to 160 meters) show that most trees and gaps are distinct. However it also shows that the border seems to be unclear between some trees, presumably because of overlap between the trees.
- the density feature is calculated by counting the number of points in the slice.
- One negative aspect of the feature is that it is correlated to the speed of the robot. It is possible that this can be handled by dividing the point feature with the current speed of the robot, however this may be problematic if the robot is not moving in a straight line. However, addressing this issue is out of the scope of this document. One reason for this choice is that most of the datasets were collected by the robot moving at uniform speed, thus any negative effects from the correlation should be minimal.
- the slice is first split into uniform voxels of width 0.2m. Thereafter the volume is computed by adding the volume of all voxels containing at least one point.
- the usefulness of the feature was evaluated in the same way as the height and density features.
- Figures 1 A and 13B show that most trees are very distinct. Furthermore, the feature seems to be less noisy than the density feature while also suffering from the same lack of sensitivity to very small trees. Taking these points into consideration, it was decided to use volume as the primary observation feature.
- the "difference of moving averages" feature is computed by calculating the difference between one large moving average and one small moving average.
- the large moving average calculated by filtering the volume feature with a rectangular filter of width 30, gives an estimate of the volume in a larger neighbourhood around the current slice.
- the small moving average calculated by filtering the volume feature with a rectangular filter of width 5 gives a smoothed estimate of the volume at the current slice.
- the definition of the feature means that it yields large values at borders between large trees. Similarly, it yields large negative values both for tree centres and at the borders between gaps and trees.
- An example of resulting feature values is presented in figure 15.
- the measured volume 1501 and the difference of moving averages 1503 are shown. Note that the difference of moving averages yields clear peaks between large trees.
- observation distribution of tree was set such that it is more likely when a large volume is observed.
- the observation distribution based on the "difference of moving averages" was set to be moderately large for small values and large for large values. The reason for having the distribution moderately large for small values is that these may both indicate a tree centre and a border between a gap and a tree.
- the resulting observation distributions are presented in figures 16 A and 16B.
- Fig. 16A the observation distributions for the tree 1601 and gap 1603 states are shown.
- Fig. 16B the observation distribution 1605 for the border state is shown.
- the state duration distributions are used to embed knowledge of the spatial dimensions of the orchard into the HSM model. It has previously been known to approach the problem by modelling the duration of the trees and gaps with a Gaussian distribution centered on a mean. Furthermore, the standard deviation of the Gaussian was made fairly broad to allow for smaller trees. Finally, the Gaussian was truncated at a certain point as to set an upper limit of the tree width.
- the duration distribution of border state is set to Kronecker's delta, thus limiting the duration of the border to 1.
- the maximum duration O is set to 35 observations (7 meters).
- the Gaussian tree distribution is set to have a mean of 25 observations (5 meters) and a standard deviation of 5 observations (1 meter).
- the duration distributions are displayed in figures 17 and 18.
- Figure 17 shows the state duration distributions for the tree 1701 and gap 1703.
- Figure 18 shows the state duration distribution for the border 1801.
- a 3 state model was presented above. This section describes how this model can be altered and extended to increase both its performance and its simplicity of use. First it is described how the observation and duration distributions can be learnt from a labeled dataset. Secondly, the model is extended by introducing a ground removal pre-processing step. Thirdly, it is described how the model can be extended to a 4 state model in order to increase its performance with regard to small trees. Finally, the possible usage of the height and density features is described.
- volume feature One potential problem with the use of the volume feature is that the measured volume is not only the volume of the trees but also the volume of the ground. Given that the volume of the ground remains constant, this is not a problem. However, if there is a difference in the ground volume estimates, then the ground might have negative effects on the segmentation, most notably with regard to small trees. One situation where there is such a difference, is in the ground just before entering the row of trees. As this ground is flat, compared to the slightly hilly structure of the ground in the rows, a slight increase in volume is estimated due to the back of the "hill" not being occluded.
- FIG. 24 shows the hand-tuned observations distributions with ground removed for tree 2401 and gap 2403.
- a weakness of the 3 state model presented in the "modeling the orchard” section is that it sometimes fails to detect small trees. There are two different reasons for this. First, the durations of the very small trees are much shorter than the modeled duration of the tree state. Secondly, these trees yield very small volume measurements, thus in many cases appearing more likely to originate from the gap state rather than the tree state according to the used observation distributions. In order to solve these problems a fourth state is introduced, a state specifically designed to represent a small tree.
- the small tree is given an observation distribution with a significantly lower mean than tree.
- the observation distributions of all states are presented in figures 26A and 26B.
- the duration distribution is modeled to be uniform with a maximum duration of 5 observations (1 meter), the short duration chosen as the 3 state model appears to correctly handle trees larger than this width.
- Figure 26A shows the hand-tuned observation distributions for tree 2601 , gap 2603 and small tree 2605.
- Figure 26B shows the hand-tuned observation distributions, for the ground re-moved data, for tree 2607, gap 2609 and small tree 2611.
- a problem with the presented model is that both gap and small tree lacks a minimum duration. This presents a risk that the model will switch back and forth between gap and small tree under the influence of noise. In order to avoid this problem and make the model more robust to noise, a minimum duration of 5 observations is introduced for the gap state.
- Large trees are defined as the trees which are full grown and, much of the time, overlapping with neighbouring trees.
- a section of large trees is seen in figure 27.
- Small trees are trees which have a width smaller than or equal to 1 meter, an example of which is seen in figure 28.
- Medium sized trees are the trees between these two extremes, they are smaller than the large trees and do not overlap their neighbours, at the same time being larger than the small trees and thus easier to detect
- An example of a medium sized tree is presented in figure 29.
- Fig. 30 shows an extract of the resulting segmentation using an ordinary hidden Markov model.
- Fig. 31 shows an extract of volume measurements 3101 and stated changes 3103 when using an ordinary Hidden Markov Model. The state being 1 equals tree, 0.5 equals border and 0 equals gap. Note the quick changes between tree and border that occur on numerous occasions.
- Fig. 32 shows an extract of the resulting segmentation using the 3 state HSMM model.
- the resulting segmentation is similar to the one obtained with the hand-tuned equivalent. However, the segmentation errors, although few, appear to be slightly more frequent when using learnt distributions. Additionally, it should be noted that the learning does not appear to be sensitive to the choice of labeled dataset as long as it contains all types of states.
- the 3 state model fails to detect many of them.
- the 4 state model is able of segmenting all small trees in the examined datasets, even when ground removal is not applied.
- the height feature yields good results for small and medium sized trees, however it often fails to correctly segment overlapping trees. Furthermore, it does not appear to have any problem with creation of false trees in the empty datasets.
- FIG. 35 shows an overview of the resulting segmentation using the 4 state model with hand-tuned volume and height observation distributions.
- Fig. 36 shows an extract of the resulting segmentation using the 4 state model with hand-tuned volume and height observation distributions.
- figures 37 and 36 show that small and most medium sized trees are correctly segmented.
- Figure 37 shows two medium sized trees segmented using the 4 state model with hand- tuned volume and height observation distributions.
- Figure 38 shows two small trees segmented using the 4 state model with hand-tuned volume and height observation distributions.
- an empty dataset is shown in figure 39, showing that no false trees have been created.
- Figure 39 shows an empty part just before entering the rows segmented using the 4 state model with hand-tuned volume and height observation distributions.
- figure 40 shows an example of a medium sized tree incorrectly labeled as a small tree, thus giving it a too small extent.
- Figure 40 shows a medium sized tree labeled as small tree, resulting in parts of the tree being labelled as gap due to the limited duration of the smail tree state.
- This section presents a quantitative evaluation of the methods discussed above.
- the evaluation is split into three different parts. First, all methods are compared against a ground truth dataset. giving an estimate of the relative performance of the different methods. Furthermore, this part focuses on the performance with regard to segmentation errors and detection of trees, not the accuracy of the borders between trees.
- the evaluation on the shorter datasets is done by applying the evaluated method on the dataset and comparing the resulting trees to ground truth data.
- the ground truth data is created by using the hand-tuned volume 4 state model and calculating the centres of the segmented trees. Furthermore, the ground truth segmentation was visually inspected to ensure that it was entirely correct. The datasets were then segmented using the evaluated methods and the results compared to the ground truth data.
- Table 4.1 The performance of the segmentation method using hand-tuned volume distributions on the shorter and empty datasets.
- Table 4.2 The performance of the segmentation method using learnt volume distributions on the shorter and empty datasets.
- Table 4.3 The performance of the segmentation method using learnt density distributions on the shorter and empty datasets.
- Table 4.4 The performance of the segmentation method using hand-tuned height distributions on the shorter and empty datasets.
- Table 4.5 The performance of the segmentation method using leamt height distributions on the shorter and empty datasets.
- Table 4.6 The performance of the segmentation method using hand-tuned volume and height distributions on the shorter and empty datasets.
- the performed evaluation shows that using only volume or using a combination of height and volume features both yield good results.
- the former demands the ground-removal preprocessing step in order to avoid creation of false bees outside the rows while the latter however performs best when ground has not been removed.
- the height feature also performs well.
- This section evaluates the performance of a limited number of methods on the larger dataset described above.
- the aim of the evaluation is both to determine the performance on a larger dataset as well as to get an estimate of the segmentation accuracy of the different methods.
- the evaluation is performed by visually inspecting the segmented dataset and counting the resulting: ⁇ True Positives (TP) - Trees labeled as trees.
- Border Errors A segmentation where the border has been incorrectly placed between two trees. As the evaluation focuses on the segmentation accuracy, we count all errors, even small ones, where it would have been possible to better place the border using the human eye.
- Table 4.8 The performance of the segmentation methods applied on the larger dataset (TP - true positives. FP ⁇ false positives, FN - false negatives. SE ⁇ segmentation error)
- the evaluation presented in this section aims to evaluate the segmentation methods robustness to the data collection process.
- the evaluation is performed in the same way as in the previous section, the difference being that the distorted dataset presented above is used.
- An excerpt of the dataset is seen in figure 42.
- Figure 42 shows an excerpt of the dataset collected by the robot moving in a sinusoidal motion.
- figure 43 shows the volume of individual trees calculated from the four shorter datasets as well as from the distorted dataset.
- Figure 43 shows estimated volumes of trees when the data has been collected by a robot moving in a straight line 4301 and in a sinusoidal curve 4303.
- Table 4.9 The performance of the segmentation methods when applied on the distorted dataset. (TP - true positives, FP- false positives, FN - false negatives, $E - segmentation error)
- one goal is to utilise the segmented trees to perform GPS independent localisation.
- a key step in this process is to be able to tell the different trees from each other.
- descriptors are introduced to describe the characteristics of the trees.
- a simplifying factor when performing localisation in an orchard is that the trees are aligned into rows, resulting in all trees appearing in sequences. This simplifies the localisation as it allows the localisation to depend on sequence matching instead of one-to-one matching. This is important as many of the trees are individually very similar. Furthermore, the trees are both sparsely and non- uniformly sampled, further limiting the usable information that can be extracted from them. The use of sequence matching allows this lack of information in the individual trees to be compensated by combining the information from multiple trees. [00404] Two different descriptor types are introduced based on the features described above denoted as the simple and signature descriptors.
- the first descriptor type denoted the simple descriptor
- the two simple descriptors examined are (he simple volume and simple height descriptors.
- the second descriptor type examined, the signature descriptor is slightly more complex, storing a sequence of features for each tree.
- the simple volume descriptor stores the estimated volume of the tree, calculated as described above. In order to estimate the informativeness and consistency of the descriptor, it is plotted for four different datasets in figure 44.
- Figure 44 shows the volume calculated over the same row seen four times. The figure shows that the volume is both fairly consistent between runs and that it is also different between trees, therefore being both informative and consistent.
- the simple height descriptor stores the maximum height of the tree. Plotting the descriptor for four different datasets yields figure 45. Figure 45 shows the height calculated over the same row seen four times. The figure shows that the descriptor is both consistent and informative, while also appearing to be slightly less noisy than the volume descriptor.
- the volume signature descriptor stores the estimated volume of each 0.2m slice of the tree.
- a rough estimate of the usefulness of the descriptor was obtained by plotting the descriptor of the same tree for multiple datasets.
- a typical example of this is presented in figure 46. snowing that the signature is rather noisy.
- Figure 46 shows the volume signature of a tree seen four times from the same side.
- the height signature descriptors stores the maximum height of each 0.2m slice of the tree.
- An example of the descriptor plotted for the same tree over multiple datasets can be seen in figure 47.
- Figure 47 shows the height signature of a tree seen 4 times.
- the noise level appears to be on par with the volume descriptor, with possibly slightly less noise.
- Figures 67-74 shows a number of descriptor similarity distributions.
- Figures 67-70 show how 4 shorter datasets were utilized to calculate the self-similarity distribution of the same tree seen again from the same side.
- Figures 71-74 show the comparison of the descriptor of each tree compared to the descriptor of all other trees in all datasets.
- the idea of the localisation method is to match a sequence from one dataset against all sequences in a map of the orchard. The location of the current sequence is then obtained by finding the best matching sequence in the map.
- a tree in the dataset to be localised is chosen. Assuming a sequence length of N, the descriptor of the tree is combined with the descriptors of the N - 1 previous trees to form a sequence of descriptors. The same procedure is performed for all trees, exempting the N - 1 first, in the map. The difference between the individual sequences is then calculated using the L1-norm as:
- Maps From Single Descriptors [00422] The performance is evaluated when performing localisation on a map created from a single descriptor of each tree. Localisation is performed in three different situations. In the first situation, localisation is performed on a single row, where the compared descriptors have been seen from the same side. Secondly, the same localisation is performed but on multiple rows. Finally, localisation is performed on a single row but instead match against descriptors seen from the other side of the row. The matching is performed for all possible trees in the compared datasets and the ratio of correct matches calculated.
- the 4 shorter datasets are utilised to perform 4-time cross validation of the localisation method.
- the matching of the trees is kept separate for the two different sides, i.e. a tree in the first dataset seen from one side is only matched against trees seen from the same sid
- Table $,2 The ratio of correct matches in percent far the four different descriptors when matching over multiple rows.
- TaMe 5.3 The atio &f correct matches when matching a tree with descriptor* see from the other side in sing e row.
- Table 5.4 The ratio of correct matches in percent when averaging the simple descriptors seen from the same side.
- Table 5.5 The ratio of correct matches in percent when storing multiple descriptors seen from the same side.
- Table 5.6 The ratio of correct matches in percent when averaging the simple descriptors seen from the opposite side.
- Table 5.7 shows the results when multiple instances of the descriptors are stored. These results show a decrease in performance for the simple descriptors while the performance of the signature descriptors appear to be unaffected by the additional descriptor.
- the localisation method described above was dependent on no segmentation errors having occurred, an assumption that may not always be applicable. In order to resolve this, a H M based localisation method is described that properly handles segmentation errors. Furthermore, multiple variants of the localisation method are proposed in order to handle different localisation scenarios. Finally, the performance and robustness of the presented localisation methods are described using both the datasets from the orchard as well as randomly generated datasets. usage scenarios and how localisation may be employed in these instances is first described.
- a map of the orchard must first be created. This can be done by using the segmentation and characterisation methods discussed above, resulting in a map where each tree is represented by a descriptor. Given that such a map exists, the problem lies in matching a new sequence of observed trees, collected during another survey of the orchard, with the corresponding trees in the map.
- the localisation There are two distinct uses of the localisation. The first one is to find the current position in the map based on the trees that have been observed so far, thus enabling autonomous localisation in the orchard without the use of a GPS system. This localisation is denoted as online localisation, as it is possible to employ in an online situation.
- the second use is to observe a part of the orchard and batch process all observations in order to match them with the map. This makes it possible to associate observations from a new survey with the trees in the original map, allowing the change of the individual trees to be monitored. Furthermore, since it does not depend on any high performance GPS system, it makes it both easier and cheaper to carry out surveys. As this localisation can only be performed after all data has been collected, the method is denoted as offline localisation.
- next tree may be any tree. However, given that the segmentation is reasonably ok. it can be assumed to be one of the nearby trees.
- the odometry of the vehicle may be used to utilised to give a qualified estimate of the next tree.
- Two methods are described, both bordering the former extreme. The first method, denoted the undirected method, assumes no knowledge of which direction the next tree is observed, however it is assumed to be one of the nearby trees. The second method, denoted the directed method, assumes knowledge of which direction the next tree is observed, thus slightly limiting the problem.
- knowing the transition direction is equivalent to knowing the movement direction of the robot. Since it is only necessary to determine the sign of the bidirectional movement in a global reference frame, this can be done using only a compass and information of the vehicle's forwards-backwards direction. Furthermore, if it is assumed that the vehicle does not change direction in the middle of a row, the offline situation allows the problem to be solved by ordering the observations in all rows according to a global reference frame, e.g. defining that the beginning of a row is always in the southern end of the row.
- the core idea of the localisation method is to model the orchard as a Hidden Markov Model with each state representing an individual tree seen from a specific side. Furthermore, a height signature descriptor, described above, is stored for each state. Similarly, a descriptor is calculated for each newly observed tree, allowing the map descriptors to be compared to the observed descriptors.
- the transition matrix is used to model the order that the trees are observed in. Furthermore, the possibility of segmentation errors is integrated by allowing transitions to non-adjacent states. In addition, two different variants of the transition matrix is presented, allowing both for directed and undirected localisation. Finally, the matching is done using either the Forwards or Forwards-Backwards algorithm depending on whether online or offline localisation is performed.
- the transition matrix models the order that the trees are observed in. In order to handle segmentation errors, it is necessary to allow for transitions to rton- adjacent trees. Furthermore, row- endings are explicitly modeled to allow for transitions both to other rows and to the same row.
- transition matrices Two different transition matrices are presented; a directed transition matrix, where the direction to the next observation is known, and an undirected transition matrix, where the direction to the next observation is unknown.
- N the number of states
- Nx N the number of states
- the transitions will always be from one state to the next. If it is assumed that the localisation is only performed on one row, this could be represented as a transition matrix A where the individual elements are defined as
- element A t denotes the probability of transitioning from state / to state / ' . It is however necessary to incorporate the possibility of segmentation errors, thus ailowing both for self-transitions as well as transitions to non-adjacent trees. Theoretically, the optimal model should match the actual probabilities of segmentation failures in the orchard. However, since these probabilities are unknown, the transition matrix is designed to allow for larger segmentation errors than is to be expected. An initial version of the transition matrix is given as
- transition elements are managed between trees belonging to different rows separately.
- the two trees are not in th same row, i.e.
- the corresponding height signature descriptor is used, as observation feature.
- the differences between these observed descriptors and those representing the states are calculated as described above.
- the self* similarity distribution shown in Fig. 60 is used.
- One problem however is that the self-similarity distribution is not monotonia Using the self-similarity distribution directly would thus result in two very similar descriptors yielding a moderately large likelihood. Conversely, two descriptors with moderately similar descriptors would result in a large likelihood.
- a visual representation of the problem is presented in figure 48.
- Fig.48 shows an example of a non monotonic self-similarity distribution 4801. Note that the likelihood of a medium sized error 4803 is larger than the likelihood of a small error 4805.
- the likelihood of the state is the probability of observing a difference larger than the measured difference, visualised in figure 49. To be noted is that this is equivalent to defining the likelihood as the complementary cumulative distribution function.
- Fig. 49 shows an example of a self-similarity distribution 4901. The probability of a difference being larger than a certain value 4903 has been marked.
- Fig.50 shows the complementary cumulative difference distribution of the height signature descriptor.
- Matching is performed using the optimisation algorithms described above.
- the Forwards algorithm is employed.
- the Forwards-Backwards algorithm is employed for offline localisation.
- the used optimisation algorithm may be altered to integrate this knowledge into the optimisation. This direction based localization is explained in detail below.
- Randomised Datasets [00461] The performance of the localisation method is partly evaluated on a set of randomised datasets, created by perturbing the original datasets presented above.
- noise is added to the height feature measured at each slice. Thereafter the segmentation is altered in order to simulate an imperfect segmentation. Initially, this is done by introducing I noise to the border positions. This does not represent an actual segmentation error but simply the impreciseness of the segmentation. In order to simulate segmentation errors, some pairs of trees are merged into one, some trees are split in aif, and some are labelled as gaps.
- the correctness of the feature and border noise modelling can be estimated by calculating the self-similarity distributions from the randomised dataset and comparing it to the self -similarity distribution estimated from the datasets. Both these distributions are presented in figures 53 and 54, showing that the distributions are rather different. Fig. 53 shows the serf- similarity histogram estimated from real measurements. Fig. 54 shows the self- similarity histogram estimated from simulated measurements. Furthermore, the simulated self-similarity distribution has a notable larger mean error. Nevertheless, we consider the distributions to be similar enough to accept the performed noise modelling.
- merge errors are introduced into the randomised datasets. This error is introduced by removing the border between two trees. Furthermore, the merging algorithm also ensures that no more than two trees are merged together.
- a possible segmentation error is that some trees are split into two during segmentation. In order to model this, a border is introduced in the middle of the tree. Furthermore the splitting algorithms ensures that only trees with more than 3 observations are split, thus avoiding impossible splitting of very small trees.
- a possible error during segmentation is that some bees are labelled as gaps. In a real application, the probability of this happening is negligible for all but the small trees. Nevertheless, the effect of the error is investigated both when large and small bees are labelled as gaps. In order to introduce the error into the randomised dataset, the state of a tree is simply changed to gap.
- the localisation was evaluated both when performing localisation on a single row as well as on multiple rows. Furthermore, the different variants of the localisation method were separately evaluated, allowing their performance to be compared. Finally, it should be noted that each test was done multiple times, as to ensure that the estimated performance was based on the matching of at least 10000 trees.
- a correctly segmented tree is correctly matched when the matched tree is the same as the original tree.
- the fixed value of the feature noise standard deviation was set to 0.25 meters, the value calculated above in the "feature noise * section.
- the fixed value of the border noise standard deviation was set to 1.0 slices as described above in the "border noise” section.
- the fixed probability of any specific segmentation error occurring was set to 2%. This meant that approximately 5% of all trees were affected by segmentation errors, a larger ratio than encountered in the existing datasets.
- Table 6, 1 The parameters used for determining the performance and robustness of the evaluated localisation methods.
- FIG. 55 The performance of the localisation methods with regard to border noise is presented in figure 55, showing that offline localisation performs better than online localisation.
- Pig. 55 shows the ratio of correctly matched trees using offline, directed 5501 and undirected 5503, and online, directed 5505 and undirected 5507, localization when varying the border noise standard deviation.
- the ratio of introduced segmentation errors 5509 is also displayed.
- the figure also shows that the offline localisation is less affected by the usage of robot direction than the online localisation, especially at low noise levels.
- Figure 56 shows (he performance of the localisation methods with regard to feature noise, again showing that the offline localisation performs better than the online localisation.
- Fig. 56 shows the ratio of correctly matched trees using offline, directed 5601 and undirected 5603, and online, directed 5607, localisation when varying the feature noise standard deviation. The ratio of introduced segmentation errors 5609 is also displayed.
- the figure shows that the undirected localisation methods degrade significantly worse than the directed localisation methods. This is true for the online localisation even from low noise levels while the severe performance degradation in the offline situation only begins at noise levels significantly larger than those occurring in the original datasets.
- FIG 57 shows the ratio of correctly matched frees using offline, directed 5701 and undirected 5703, and online, directed 5705 and undirected 5707, localisation when varying the ratio of segmentation errors introduced to the randomised datasets.
- the ratio of introduced segmentation errors 5709 is also displayed. This shows that offline localisation degrades gracefully with regard to increased segmentation errors. Similarly directed online localisation degrades well while the undirected online localisation performs worse.
- Fig. 59 shows the ratio of correctly matched tress using offline, directed 5901 and undirected 5903, on online, directed 5905 and undirected 5907. localisation when varying the border noise standard deviation.
- the ratio 5907 of introduced segmentation errors 5909 is also displayed.
- Fig. 60 shows the ratio of correctly matched trees using offline, directed 6001. and undirected 6002, and online, directed 6005 and undirected 6007. localisation when varying the feature noise standard deviation. The ratio of introduced segmentation errors 6009 is also displayed.
- Fig. 61 shows the ratio of correctly matched trees using offline, directed 6101, and undirected 6103, and online, directed 6105 and undirected 6107, localisation when varying the feature noise standard deviation. The ratio of introduced segmentation errors 6109 is also displayed.
- Fig. 62 shows the ratio of correctly matched trees using offline, directed 6201, and undirected 6203, and online, directed 6205 and undirected 6207, localisation when varying the feature noise standard deviation. The ratio of introduced segmentation errors 6209 is also displayed.
- a possible usage of the localisation method described herein is to continuously update a map with new tree observations, giving a map that is always up to date.
- a problem however is the incorrect segmentations that sometimes occur in the segmentation step.
- the segmentation errors risk eventually corrupting the map.
- the segmentation error detection is based on comparing the observed tree with the
- Table 7.1 The parameters used for determining the performance and robustness of the segmentation error detection method.
- TPR True Positive Ratio
- FIG. 63 shows the segmentation error detection performance when introducing varying amounts of segmentation errors into the original datasets. Probability of segmentation error: 0.00 (6301), 0.02 (6303), 0.04 (6305), 0.06 (6307).
- the results when introducing different amounts of segmentation errors into randomised datasets are presented in figure 64, showing similar results.
- Fig.64 shows the segmentation error detection performance when introducing varying amounts of segmentation errors into the randomised dataset. Probability of segmentation error: 0.00 (6401 ). 0.02 (6403), 0.04 (6405), 0.06 (6407).
- Fig. 65 shows the segmentation error detection performance when varying the border noise standard deviations.
- Border Noise Standard Deviation 0.0 slices (6501 ), 1.0 slices (6503), 2.0 slices (6505), 3.0 Slices (6507).
- Fig.66 shows the segmentation error detection performance when varying the feature noise standard deviations.
- GPS independent localisation system may be used by basing the 3D dataset on robot odometry instead of GPS positioning.
- the described online localisation method may be dependent on the segmentation being performed online.
- One approach for performing the localisation online could be to utilise a HMM method based on the individual slice measurements, another to use a particle filter with a grid map based on slice observations.
- Marginal Probability The marginal probability Pix) can be calculated from the joint probabilit
- conditional probability P(x ⁇ y) can be expressed as
- Bayes' Theorem The classic ayes * theorem, derived from (II) and (HI), states that
- the first one, directed variant relies on the observations being observed in the same order as the map, while the second one, in the undirected variant, does not have this restriction.
- the performance of the directed variant is better, it would be beneficial if the directed variant could be utilised even if the order of the observations were different On*.' approach to achieving this is to use the known direction of the robot to determine how it transition* f rom one tree to th next. Using this information, it would be possible to create a. directio vector C defined as
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
- Image Analysis (AREA)
Abstract
Description
Claims
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2014308551A AU2014308551A1 (en) | 2013-08-22 | 2014-08-22 | Localisation system and method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2013903183 | 2013-08-22 | ||
AU2013903183A AU2013903183A0 (en) | 2013-08-22 | Localisation system and method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015024059A1 true WO2015024059A1 (en) | 2015-02-26 |
Family
ID=52482835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/AU2014/000829 WO2015024059A1 (en) | 2013-08-22 | 2014-08-22 | Localisation system and method |
Country Status (2)
Country | Link |
---|---|
AU (1) | AU2014308551A1 (en) |
WO (1) | WO2015024059A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110320494A (en) * | 2019-07-19 | 2019-10-11 | 仲恺农业工程学院 | Ox indoor locating system and heuristic jump based on the UWB communication technology filter localization method |
-
2014
- 2014-08-22 WO PCT/AU2014/000829 patent/WO2015024059A1/en active Application Filing
- 2014-08-22 AU AU2014308551A patent/AU2014308551A1/en not_active Abandoned
Non-Patent Citations (5)
Title |
---|
BLANKE, MOGENS; ET AL.: "Autonomous Robot Supervision using Fault Diagnosis and Semantic Mapping in an Orchard", FAULT DIAGNOSIS IN ROBOTIC AND INDUSTRIAL SYSTEMS., 2012 * |
C. WELLINGTON ET AL.: "Orchard tree modeling for advanced sprayer control and automatic tree inventory", INTELLIGENT ROBOTS AND SYSTEMS (IROS)WORKSHOP ON AGRICULTURAL ROBOTICS, IEEE /RSJ INTERNATIONAL CONFERENCE ON, 2012 * |
D. FOX ET AL.: "Markov localization for mobile robots in dynamic environments", JOURNAL OF ARTIFICIAL INTELLIGENCE RESEARCH, vol. 11, 1999, pages 391 - 427 * |
S. RAHMAN ET AL.: "Mobile Robot Navigation based on localisation using Hidden Markov Models", AUSTRALASIAN CONFERENCE ON ROBOTICS AND AUTOMATION (ACRA, 1999 * |
U. WEISS ET AL.: "Semantic place classification and mapping for autonomous agricultural robots", IN IROS 2010 WORKSHOP: SEMANTIC MAPPING AND AUTONOMOUS KNOWLEDGE ACQUISITION, 2010 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110320494A (en) * | 2019-07-19 | 2019-10-11 | 仲恺农业工程学院 | Ox indoor locating system and heuristic jump based on the UWB communication technology filter localization method |
Also Published As
Publication number | Publication date |
---|---|
AU2014308551A1 (en) | 2016-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11275941B2 (en) | Crop models and biometrics | |
Chen et al. | Applicability of personal laser scanning in forestry inventory | |
Li et al. | A review of computer vision technologies for plant phenotyping | |
Chen et al. | 3D global mapping of large-scale unstructured orchard integrating eye-in-hand stereo vision and SLAM | |
CN109146948B (en) | Crop growth phenotype parameter quantification and yield correlation analysis method based on vision | |
Guo et al. | Efficient center voting for object detection and 6D pose estimation in 3D point cloud | |
Agouris et al. | Differential snakes for change detection in road segments | |
Jiang et al. | Quantitative analysis of cotton canopy size in field conditions using a consumer-grade RGB-D camera | |
Jung et al. | Implicit regularization for reconstructing 3D building rooftop models using airborne LiDAR data | |
Liu et al. | Automatic buildings extraction from LiDAR data in urban area by neural oscillator network of visual cortex | |
CN106373145B (en) | Multi-object tracking method based on tracking segment confidence level and the study of distinction appearance | |
Sun et al. | Remote estimation of grafted apple tree trunk diameter in modern orchard with RGB and point cloud based on SOLOv2 | |
Akbar et al. | A novel benchmark RGBD dataset for dormant apple trees and its application to automatic pruning | |
Magistri et al. | Contrastive 3D shape completion and reconstruction for agricultural robots using RGB-D frames | |
CN113780144A (en) | Crop plant number and stem width automatic extraction method based on 3D point cloud | |
CN115854895A (en) | Non-contact stumpage breast diameter measurement method based on target stumpage form | |
Yang et al. | Extracting buildings from airborne laser scanning point clouds using a marked point process | |
Proudman et al. | Online estimation of diameter at breast height (DBH) of forest trees using a handheld LiDAR | |
Paturkar et al. | Plant trait segmentation for plant growth monitoring | |
Zhang et al. | TPMv2: An end-to-end tomato pose method based on 3D key points detection | |
Vandenberghe et al. | How to make sense of 3D representations for plant phenotyping: a compendium of processing and analysis techniques | |
CN110231035B (en) | Climbing mobile robot path guiding method | |
Wu et al. | A Dense Litchi Target Recognition Algorithm for Large Scenes | |
WO2015024059A1 (en) | Localisation system and method | |
Ward et al. | A model-based approach to recovering the structure of a plant from images |
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: 14837185 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2014308551 Country of ref document: AU Date of ref document: 20140822 Kind code of ref document: A |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 14837185 Country of ref document: EP Kind code of ref document: A1 |