Skip to main content
留学咨询

辅导案例-MTRN4010

By May 15, 2020No Comments

MTRN4010 –T1/2020. Project 01. Task 1 (parts A and B of project 1_(Document version 2020.T1.1) 1 MTRN4010 – Project #01. Parts A and B Feature Extraction from LIDAR Data This part of project1 involves preprocessing LIDAR measurements, in an OFF-LINE fashion. This preprocessing is necessary for modules (to be implemented in subsequent projects) which need the detected features in order to operate. In Part A, you will implement a function, which will actually perform the required processing for a given scan of the LIDAR. In the second part of this task, part B, you will use the function implemented in Part A, for processing a sequence of scans, and for showing the results. The LIDAR used for producing the data is a SICK LMS291 (LMS200 family). Details, about how the sensor was installed on the platform, will be given during the explanation in class; however, those details are not really needed for solving this project. Part A. Implement a function for processing individual scans (generated by a laser scanner, aka LIDAR); to detect and classify objects of interest (OOI), from the raw measurements provided by the sensor. We consider as OOI any object that has a defined size: apparent diameter between 5cm and 20cm (e.g. a pole), and that has at least one highly reflective pixel (at least one of its pixels is highly reflective) Input argument: The input data is assumed to be a vector, of size 361 x 1, class uint16 (16 bits unsigned int.) The vector’s content is the raw data, associated to one laser scan; which is composed by a sequence of 361 “pixels”. Your function initially needs to extract, from the raw data, the range and reflection intensity of each of the pixels, and properly scale the ranges. The raw data correspond to a POLAR representation, in which the 361 ranges are associated to 361 angles, from 0o to 180 degrees, having a separation of 0.5o. After parsing and scaling, the data is processed for inferring clusters (aka: segments or objects). The segments that seem to have certain size (approximate) are selected and saved in a list of OOIs. The list includes the properties of each detected OOI, those properties are: position, size and “color”. The function must return an instance of a structure, designed to contain those fields, as follows: a) Center of geometry. b) Size (approximate diameter). c) “Color”. Two possible values: Brilliant (=1) or Opaque (=0). We consider a pixel to be highly reflective (HR) if its associated intensity field is higher than zero. An OOI is said to be brilliant if at least one of its constituent pixels is HR; and it is considered to be opaque if none of its pixels is HR. For instance, the following fields are a good implementation of the required result: N : Scalar which represents the number of detected OOIs (in the currently processed scan). Colors : Vector (of size 1 x N) having the “colors” of the N detected OOIs (see note 1). Centers : Matrix (of size 2 x N) for storing the X,Y coordinates of the OOIs’ centers. Diameters : Vector (of size 1 x N) for storing the sizes of the OOIs. Consequently, object #i (provided that 1 ≤ ≤ ), would have its position stored in OOI.Centers(:, i ), its diameter in OOI.Diameters( i ), and its intensity in OOI.Colors( i ). MTRN4010 –T1/2020. Project 01. Task 1 (parts A and B of project 1_(Document version 2020.T1.1) 2 Part B Implement a program for using your previous function (from part A), in a periodic fashion; for processing a sequence of images. The images are contained in a Matlab’s data file (MAT file). The file contains real data (acquired from a laser scanner, according to a specified format). See the example programs “ExampleProcessLaserData.m” and “ExampleUseLaserData.m” for details about reading those data files. Your program will be implemented as a Matlab function, whose argument is assumed to be a string, for specifying the name of the data file. Note: you must read the examples; paying attention to the comments. If you ask for help, do it after having invested proper effort, reading the examples. Output of the program: Your program will process the sequence of laser scans (which are contained in the input data file) by applying, for each individual scan, the function developed in part A. It will process each individual laser scan separately, one by one. For each individual scan it will produce a list of OOIs and their associated characteristics. The result, for each processed laser scan, will be shown, dynamically, in a figure. The plots will include the following features: a) Raw points associated to the laser scan. These points will be shown by blue dots. b) High intensity points will be shown as red dots or similar symbol. c) The centers of the brilliant OOIs will be shown as green stars (opaque OOIs do not need to be indicated). (All the plots must be presented in a Cartesian coordinate frame; not in the native polar representation). The program will contain a main loop (based on ‘while’ or ‘for’ loop) for sequentially processing all the laser scans contained in the input data file. After processing an individual laser scan, the program will wait for an amount of time (e.g. for approximately processing the scans at a rate = 10Hz), before processing the next laser scan. The refreshing of the figures will be done efficiently, by using handles of the graphical objects (as shown in one of the provided examples.) Deadline: Demonstration of this part of the project will be on Week 6, as part of the demonstration of the full project 1. In the demonstration, you will briefly show the evaluators that your program is working. You may need to explain parts of your program, and answer questions, as part of the demonstration. Quiz: A brief questionnaire may take place during the first minutes of your session the day of your demonstration of project 1, or during lecture time. The score in the quiz has a defined relevance in the final mark of the project. Details of it will be given with the release of the full Project 1 (to be released on week 3). Note: Although you are not required to submit a report, this task involves implementing resources which you will use in subsequent projects; for that reason, it is a good investment dedicating time in order to properly complete this project. In addition, try to make the program efficient, because it will be used in subsequent projects, whose programs will run in an on-line fashion. The processing time of this task (NOT including plotting) should be less than 50ms per laser scan, in the computers of the laboratory (A well implemented approach, in Matlab, would take less than 1ms to process 1 scan). Relevance of this task:20% of Project 1. Note: you are allowed to solve this task working in a team or working individually. Teams are limited to be of up to three ( 3 ) members. Note: the lecturer will show, during the lecture on week 2, his solution running, as an example of how the students’ solution may look. Questions: Via Moodle Forum or email to lecturer ([email protected])

admin

Author admin

More posts by admin