├── 3D Bounding box regressor.ipynb ├── CMakeLists.txt ├── Dataset creator.ipynb ├── Instance segmentation.ipynb ├── README.md ├── assets ├── 3d_car.jpeg ├── 3d_lidar.png ├── DBSCAN_0.png ├── car_1.jpeg ├── car_1.png ├── car_2.jpeg ├── frustum_2.png ├── instance.gif └── original_pointcloud.png ├── dataset ├── 3d_obj_detection.csv ├── ann_points_cam │ ├── img_pc_anno_63b89fe17f3e41ecbe28337e0e35db8e.txt │ └── img_pc_anno_83d881a6b3d94ef3a3bc3b585cc514f8.txt ├── ann_points_lidar │ ├── pc_anno_63b89fe17f3e41ecbe28337e0e35db8e.txt │ └── pc_anno_83d881a6b3d94ef3a3bc3b585cc514f8.txt ├── detection_config.json ├── pcd_segmentation │ ├── car1.pcd │ ├── car2.pcd │ ├── car3.pcd │ └── car4.pcd ├── point_features │ ├── car1cvfh_.txt │ ├── car1esf_.txt │ ├── car1ourcvfh_.txt │ ├── car1vfh_.txt │ ├── car2cvfh_.txt │ ├── car2esf_.txt │ ├── car2ourcvfh_.txt │ ├── car2vfh_.txt │ ├── car3cvfh_.txt │ ├── car3esf_.txt │ ├── car3ourcvfh_.txt │ ├── car3vfh_.txt │ ├── car4cvfh_.txt │ ├── car4esf_.txt │ ├── car4ourcvfh_.txt │ └── car4vfh_.txt └── samples │ └── sample_ca9a282c9e77460f8360f564131a8af5_file.txt ├── requirements.txt ├── src └── pcl_features.cpp ├── tutorials └── 3d_to_2d_test_methods.ipynb └── utils ├── __init__.py ├── eval.py ├── misc.py └── vis.py /CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required (VERSION 3.5.1) 2 | project (FEATURE_EXTRACTION) 3 | find_package (PCL 1.8.1 REQUIRED) 4 | 5 | link_libraries(stdc++fs) 6 | include_directories(${PCL_INCLUDE_DIRS}) 7 | link_directories(${PCL_LIBRARY_DIRS}) 8 | add_definitions(${PCL_DEFINITIONS}) 9 | add_executable(pcl_features src/pcl_features.cpp) 10 | target_link_libraries(pcl_features ${PCL_LIBRARIES}) 11 | 12 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |  2 | # 3D Object detection using classic Machine Learning 3 | 4 | This repository aims to be an end-to-end pipeline for 3D object detection using classic Machine Learning (ML) technique. The idea is to prove that classic ML is capable to tackle complex tasks such as 3D object detection for self-driving vehicles' applications. 5 | 6 |
7 | 8 |
9 | 10 | ## Description 11 | 12 | 3D object detection is a problem that has earned popularity over the last years as it provides the pose of an interest object with respect to another one e.g. ego-vehicle. This technique has a wide range of applications such as self-driving vehicles, pick-and-place for robotic arms or even surveillance. However, to deploy this systems in real-world applications, real-time inference and accurate results are mandatory. 13 | 14 |
15 | 16 |
17 | 18 | To address the fist issue we intend to provide an end-to-end 3D object detection pipeline based on classic machine learning techniques. This work is proposed over the novel [NuScenes](https://www.nuscenes.org/) dataset and is leveraged on the idea of frustum region proposal idea presented in [Frustum PointNets for 3D Object Detection from RGB-D Data](https://arxiv.org/abs/1711.08488). Our work deals with the next problems. 19 | 20 | - Floor segmentation 21 | - Instance segmentation 22 | - Global feature description from a segmented instance 23 | - Amodal 3D bounding box parameters estimation 24 | 25 | We do not deal with 2D object detection for the frustum region proposal as most of the time, this problem is considered solved using Convolutional Neural Networks (CNN). 26 | 27 | ## Installation & configuration 28 | 29 | To start using this repo, run the following command and install the needed dependencies. 30 | ``` 31 | pip install -r requirements.txt 32 | ``` 33 | Aditionally, you will also need to organize the workspace as shown below and create the folder *build* which is were the C++ file is compiles. We use the Mini NuScenes dataset and this can be found [here](https://www.nuscenes.org/download). 34 | 35 | ├── 3D Bounding box regressor.ipynb 36 | ├── Dataset creator.ipynb 37 | ├── Instance segmentation.ipynb 38 | ├── assets 39 | ├── CMakeLists.txt 40 | ├── build 41 | ├── dataset 42 | │ ├── 3d_obj_detection.csv 43 | │ ├── ann_points_cam 44 | │ ├── ann_points_lidar 45 | │ ├── pcd_segmentation 46 | │ ├── point_features 47 | │ └── samples 48 | │ 49 | ├── requirements.txt 50 | ├── src 51 | │ └── pcl_features.cpp 52 | ├── tutorials 53 | │ └── 3d_to_2d_test_methods.ipynb 54 | └── utils 55 | │ ├── __init__.py 56 | │ ├── misc.py 57 | │ └── vis.py 58 | │ └── eval.py 59 | └── README.md 60 | 61 | ## Usage 62 | 63 | ### Dataset creation 64 | 65 | There are four main files in this project: 66 | 67 | 1. `Dataset creator.ipynb` 68 | 2. `Instance segmentation.ipynb` 69 | 3. `pcl_features.cpp` 70 | 4. `3D Bounding box regressor.ipynb` 71 | 72 | The first file is `Dataset creator.ipynb` and this is used to create the frustum region proposals out of a 2D bounding box. This is accomplished by mapping the LiDAR point cloud to the image frame, filtering the road plane and cropping the points outside the interest bounding box. Additionally, each frustum obtained will have a 3D target which will be used used for prediction. This file saves the metadata of each frustum, the point cloud and another useful information. 73 | 74 |
75 | 76 |
77 | 78 | For the instance segmentation part, `Instance segmentation.ipynb`segments the car instance out of a given frustum proposal. This is accomplished by the DBSCAN algorithm implementation provided by sklearn. The segmented cars are stored in a different folder for further extraction of the point cloud descriptors. 79 | 80 |
81 | 82 |
83 | 84 | Here `pcl_features.cpp` is used to extract the global features of the segmented point clouds through the [Ensemble of Shape Functions (ESF)](https://ieeexplore.ieee.org/document/6181760). To run this file the following steps must be followed. 85 | 86 | mkdir build 87 | cd build 88 | cmake .. 89 | make 90 | ./pcl_features 91 | 92 | This will create the global descriptor for each segmented vehicle. 93 | 94 |
95 | 96 |
97 | 98 | ### Predicting 3D bounding boxes 99 | 100 | Finally, `3D Bounding box regressor.ipynb`condense all this information in a CSV file with all the features and targets. There a supervised learning strategy is used to estimate the 3D bounding box parameters. Some of the results obtained are shown below. 101 | 102 |
103 | 104 |
105 | 106 | ### Citation 107 | 108 | If you use this code, please cite our [paper](https://arxiv.org/abs/2105.11060) in [LatinX Workshop at CVPR 2021](https://research.latinxinai.org/workshops/cvpr/cvpr-2021.html): 109 | 110 | ``` 111 | @misc{salazargomez2021highlevel, 112 | title={High-level camera-LiDAR fusion for 3D object detection with machine learning}, 113 | author={Gustavo A. Salazar-Gomez and Miguel A. Saavedra-Ruiz and Victor A. Romero-Cano}, 114 | year={2021}, 115 | eprint={2105.11060}, 116 | archivePrefix={arXiv}, 117 | primaryClass={cs.CV} 118 | } 119 | ``` -------------------------------------------------------------------------------- /assets/3d_car.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeS96/3d_obj_detection/4715fffb04d6abad8daf0f2fd2a87504cf7c6ba6/assets/3d_car.jpeg -------------------------------------------------------------------------------- /assets/3d_lidar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeS96/3d_obj_detection/4715fffb04d6abad8daf0f2fd2a87504cf7c6ba6/assets/3d_lidar.png -------------------------------------------------------------------------------- /assets/DBSCAN_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeS96/3d_obj_detection/4715fffb04d6abad8daf0f2fd2a87504cf7c6ba6/assets/DBSCAN_0.png -------------------------------------------------------------------------------- /assets/car_1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeS96/3d_obj_detection/4715fffb04d6abad8daf0f2fd2a87504cf7c6ba6/assets/car_1.jpeg -------------------------------------------------------------------------------- /assets/car_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeS96/3d_obj_detection/4715fffb04d6abad8daf0f2fd2a87504cf7c6ba6/assets/car_1.png -------------------------------------------------------------------------------- /assets/car_2.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeS96/3d_obj_detection/4715fffb04d6abad8daf0f2fd2a87504cf7c6ba6/assets/car_2.jpeg -------------------------------------------------------------------------------- /assets/frustum_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeS96/3d_obj_detection/4715fffb04d6abad8daf0f2fd2a87504cf7c6ba6/assets/frustum_2.png -------------------------------------------------------------------------------- /assets/instance.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeS96/3d_obj_detection/4715fffb04d6abad8daf0f2fd2a87504cf7c6ba6/assets/instance.gif -------------------------------------------------------------------------------- /assets/original_pointcloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeS96/3d_obj_detection/4715fffb04d6abad8daf0f2fd2a87504cf7c6ba6/assets/original_pointcloud.png -------------------------------------------------------------------------------- /dataset/ann_points_cam/img_pc_anno_63b89fe17f3e41ecbe28337e0e35db8e.txt: -------------------------------------------------------------------------------- 1 | 3.198195827797102311e+02 2 | 3.234380124117415676e+02 3 | 3.302302752619239641e+02 4 | 3.311368533582867144e+02 5 | 3.367837923178549318e+02 6 | 3.433128863810152325e+02 7 | 3.497351987943732752e+02 8 | 3.415989788856063001e+02 9 | 3.560282696654828669e+02 10 | 3.580764949734973470e+02 11 | 3.480393793179263753e+02 12 | 3.489137716557039539e+02 13 | 3.544359243038492195e+02 14 | 3.553308379752925816e+02 15 | 3.686049380740862489e+02 16 | 3.622682975407371941e+02 17 | 3.608238083067166144e+02 18 | 3.706869797061538065e+02 19 | 3.671771905109811200e+02 20 | 3.771343347474409029e+02 21 | 3.736877431885228589e+02 22 | 3.742329816179489512e+02 23 | 3.833609923731869458e+02 24 | 3.799768258036667703e+02 25 | 3.807193471335772301e+02 26 | 3.897229530723705011e+02 27 | 3.863879495907682440e+02 28 | 3.868808311989168374e+02 29 | 3.956631767699325337e+02 30 | 3.924179875469881154e+02 31 | 3.931179245174112680e+02 32 | 4.019421912547471720e+02 33 | 3.988309934297594737e+02 34 | 3.992771178923188700e+02 35 | 4.079528986738812364e+02 36 | 4.051001355261421963e+02 37 | 4.054899004142474155e+02 38 | 4.139196171881582131e+02 39 | 4.112189566656178386e+02 40 | 4.253950585374942079e+02 41 | 4.178589793747075305e+02 42 | 4.180779454625610470e+02 43 | 4.198229353587863670e+02 44 | 4.238845992989482170e+02 45 | 4.256116862082751027e+02 46 | 4.306126510574125064e+02 47 | 4.315919890014323528e+02 48 | 4.379429213244961829e+02 49 | 4.366042142070188561e+02 50 | 4.367577259231052835e+02 51 | 4.489140127382481751e+02 52 | 4.438240859699378689e+02 53 | 4.426833187005551622e+02 54 | 4.428962381500058427e+02 55 | 4.547054841425440372e+02 56 | 4.488007537604819390e+02 57 | 4.492073690248063826e+02 58 | 4.604602337487698946e+02 59 | 4.502370601892305331e+02 60 | 4.550566210978178106e+02 61 | 4.663522926207640467e+02 62 | 4.612380559536293276e+02 63 | 4.609187121566210976e+02 64 | 4.718381045124557431e+02 65 | 4.671635993083812082e+02 66 | 4.671020364046692066e+02 67 | 4.776653134222061681e+02 68 | 4.728771929105975005e+02 69 | 4.730816571050187349e+02 70 | 4.731478548002756952e+02 71 | 4.785704132253620742e+02 72 | 4.790199870654467418e+02 73 | 4.787696026214739504e+02 74 | 4.864268854648033198e+02 75 | 4.810525251501483694e+02 76 | 4.850779843355641674e+02 77 | 4.910847765402542109e+02 78 | 4.921567782555281383e+02 79 | 4.857331121357908046e+02 80 | 4.965709846124391902e+02 81 | 4.975217993714372255e+02 82 | 4.916919315732871496e+02 83 | 5.030417199821370104e+02 84 | 4.972953435505773427e+02 85 | 4.970947526152260707e+02 86 | 4.975163370214877432e+02 87 | 5.087053322238097053e+02 88 | 5.027270633739994992e+02 89 | 5.093540474568764580e+02 90 | 5.085757094725893808e+02 91 | 5.084788129086121558e+02 92 | 5.094371951422100437e+02 93 | 5.217974651160000121e+02 94 | 5.428196248965174391e+02 95 | 5.425425904854924966e+02 96 | 5.205163978053607252e+02 97 | 5.422813962166501369e+02 98 | 5.420333915011017325e+02 99 | 5.417646961017630929e+02 100 | 5.582705599970389585e+02 101 | 5.414640346598035876e+02 102 | 5.202095808321952290e+02 103 | 5.578943790092207564e+02 104 | 5.354748369911040982e+02 105 | 5.575229762038469516e+02 106 | 5.351890210217330832e+02 107 | 5.188579767325441026e+02 108 | 5.804941381339338022e+02 109 | 5.571687008945752950e+02 110 | 5.808010454953479211e+02 111 | 5.568221580927244077e+02 112 | 5.803761906216548141e+02 113 | 5.564717184595697290e+02 114 | 5.342131278329167117e+02 115 | 5.799723145569633971e+02 116 | 5.561411604083455131e+02 117 | 5.339520595652319344e+02 118 | 5.795584716468492843e+02 119 | 5.557944228403991929e+02 120 | 5.336571691476622163e+02 121 | 5.791698065996895366e+02 122 | 5.554861239848017931e+02 123 | 5.334181086227057449e+02 124 | 5.787646038455651478e+02 125 | 5.551809755243498330e+02 126 | 5.331644996638517568e+02 127 | 5.783587346774811522e+02 128 | 5.549270295856782695e+02 129 | 5.329573654674021554e+02 130 | 5.780373405587624802e+02 131 | 5.547185803732875229e+02 132 | 5.181486219135905458e+02 133 | 5.544927394162491510e+02 134 | 5.325935929806023523e+02 135 | 5.115341494348284073e+02 136 | 5.542863860980380650e+02 137 | 5.113499042180905008e+02 138 | 5.323956191117943035e+02 139 | 5.111860939591774127e+02 140 | 5.764997884554589973e+02 141 | 5.539743919344357437e+02 142 | 5.322704427371667180e+02 143 | 5.175078748536388957e+02 144 | 5.761526327417792572e+02 145 | 5.537682291004242643e+02 146 | 5.321643369173464180e+02 147 | 5.173762171949268804e+02 148 | 5.536029741362361847e+02 149 | 5.320730351236225033e+02 150 | 5.172440590206671231e+02 151 | 5.730999624861342454e+02 152 | 5.534333217772355056e+02 153 | 5.171071890790946100e+02 154 | 5.751216222036842964e+02 155 | 5.532831053686784344e+02 156 | 5.169617361149644239e+02 157 | 5.747808779766813814e+02 158 | 5.531238977924838309e+02 159 | 5.168271473375299365e+02 160 | 5.744504314405453442e+02 161 | 5.529813603014615637e+02 162 | 5.316453813537925726e+02 163 | 5.741273652985349827e+02 164 | 5.528389290567556600e+02 165 | 5.313834257608906455e+02 166 | 5.149779850207654590e+02 167 | 5.722086569303224906e+02 168 | 5.526846345383256676e+02 169 | 5.350283326782365521e+02 170 | 5.148172408319986744e+02 171 | 5.498097880911054745e+02 172 | 5.348945219712848029e+02 173 | 5.146663774254819828e+02 174 | 5.281574449832220353e+02 175 | 5.145205300130456862e+02 176 | 5.708985935909506679e+02 177 | 5.491955744757945013e+02 178 | 5.280516830906070709e+02 179 | 5.143741346521190962e+02 180 | 5.489376558013632348e+02 181 | 5.707258371172986244e+02 182 | 5.488262839239858977e+02 183 | 5.274624586578602248e+02 184 | 5.067919425988587250e+02 185 | 1.000000000000000000e+00 186 | 1.000000000000000000e+00 187 | 1.000000000000000000e+00 188 | 1.000000000000000000e+00 189 | 1.000000000000000000e+00 190 | 1.000000000000000000e+00 191 | 1.000000000000000000e+00 192 | 1.000000000000000000e+00 193 | 1.000000000000000000e+00 194 | 1.000000000000000000e+00 195 | 1.000000000000000000e+00 196 | 1.000000000000000000e+00 197 | 1.000000000000000000e+00 198 | 1.000000000000000000e+00 199 | 1.000000000000000000e+00 200 | 1.000000000000000000e+00 201 | 1.000000000000000000e+00 202 | 1.000000000000000000e+00 203 | 1.000000000000000000e+00 204 | 1.000000000000000000e+00 205 | 1.000000000000000000e+00 206 | 1.000000000000000000e+00 207 | 1.000000000000000000e+00 208 | 1.000000000000000000e+00 209 | 1.000000000000000000e+00 210 | 1.000000000000000000e+00 211 | 1.000000000000000000e+00 212 | 1.000000000000000000e+00 213 | 1.000000000000000000e+00 214 | 1.000000000000000000e+00 215 | 1.000000000000000000e+00 216 | 1.000000000000000000e+00 217 | 1.000000000000000000e+00 218 | 1.000000000000000000e+00 219 | 1.000000000000000000e+00 220 | 1.000000000000000000e+00 221 | 1.000000000000000000e+00 222 | 1.000000000000000000e+00 223 | 1.000000000000000000e+00 224 | 1.000000000000000000e+00 225 | 1.000000000000000000e+00 226 | 1.000000000000000000e+00 227 | 1.000000000000000000e+00 228 | 1.000000000000000000e+00 229 | 1.000000000000000000e+00 230 | 1.000000000000000000e+00 231 | 1.000000000000000000e+00 232 | 1.000000000000000000e+00 233 | 1.000000000000000000e+00 234 | 1.000000000000000000e+00 235 | 1.000000000000000000e+00 236 | 1.000000000000000000e+00 237 | 1.000000000000000000e+00 238 | 1.000000000000000000e+00 239 | 1.000000000000000000e+00 240 | 1.000000000000000000e+00 241 | 1.000000000000000000e+00 242 | 1.000000000000000000e+00 243 | 1.000000000000000000e+00 244 | 1.000000000000000000e+00 245 | 1.000000000000000000e+00 246 | 1.000000000000000000e+00 247 | 1.000000000000000000e+00 248 | 1.000000000000000000e+00 249 | 1.000000000000000000e+00 250 | 1.000000000000000000e+00 251 | 1.000000000000000000e+00 252 | 1.000000000000000000e+00 253 | 1.000000000000000000e+00 254 | 1.000000000000000000e+00 255 | 1.000000000000000000e+00 256 | 1.000000000000000000e+00 257 | 1.000000000000000000e+00 258 | 1.000000000000000000e+00 259 | 1.000000000000000000e+00 260 | 1.000000000000000000e+00 261 | 1.000000000000000000e+00 262 | 1.000000000000000000e+00 263 | 1.000000000000000000e+00 264 | 1.000000000000000000e+00 265 | 1.000000000000000000e+00 266 | 1.000000000000000000e+00 267 | 1.000000000000000000e+00 268 | 1.000000000000000000e+00 269 | 1.000000000000000000e+00 270 | 1.000000000000000000e+00 271 | 1.000000000000000000e+00 272 | 1.000000000000000000e+00 273 | 1.000000000000000000e+00 274 | 1.000000000000000000e+00 275 | 1.000000000000000000e+00 276 | 1.000000000000000000e+00 277 | 5.561430358886718750e+01 278 | 3.986361694335937500e+01 279 | 4.017954254150390625e+01 280 | 4.455659484863281250e+01 281 | 4.052356338500976562e+01 282 | 4.096222305297851562e+01 283 | 4.115641784667968750e+01 284 | 1.645241546630859375e+01 285 | 4.098769760131835938e+01 286 | 5.138859939575195312e+01 287 | 1.642739486694335938e+01 288 | 1.713773536682128906e+01 289 | 1.640123367309570312e+01 290 | 1.713288497924804688e+01 291 | 4.082173538208007812e+01 292 | 1.752995300292968750e+01 293 | 1.639669990539550781e+01 294 | 1.939693450927734375e+01 295 | 1.639642715454101562e+01 296 | 1.938616371154785156e+01 297 | 1.639863586425781250e+01 298 | 1.688890075683593750e+01 299 | 1.938297271728515625e+01 300 | 1.640894699096679688e+01 301 | 1.691272735595703125e+01 302 | 1.936629295349121094e+01 303 | 1.639869499206542969e+01 304 | 1.685990142822265625e+01 305 | 1.933785057067871094e+01 306 | 1.641272735595703125e+01 307 | 1.689461517333984375e+01 308 | 1.931179046630859375e+01 309 | 1.645939064025878906e+01 310 | 1.689826202392578125e+01 311 | 1.923466682434082031e+01 312 | 1.657158279418945312e+01 313 | 1.697431755065917969e+01 314 | 1.934522628784179688e+01 315 | 1.674285316467285156e+01 316 | 5.245936584472656250e+01 317 | 1.692762565612792969e+01 318 | 1.720919609069824219e+01 319 | 1.879827880859375000e+01 320 | 1.709197235107421875e+01 321 | 1.878027343750000000e+01 322 | 1.771084403991699219e+01 323 | 1.880637931823730469e+01 324 | 1.911984825134277344e+01 325 | 1.765840911865234375e+01 326 | 1.791246986389160156e+01 327 | 5.336693191528320312e+01 328 | 1.911277770996093750e+01 329 | 1.782681083679199219e+01 330 | 1.814891433715820312e+01 331 | 5.392474746704101562e+01 332 | 1.807512855529785156e+01 333 | 1.842724800109863281e+01 334 | 5.445014953613281250e+01 335 | 1.432709312438964844e+01 336 | 1.832895660400390625e+01 337 | 5.495256805419921875e+01 338 | 1.903477859497070312e+01 339 | 1.858571052551269531e+01 340 | 5.513112640380859375e+01 341 | 1.901418876647949219e+01 342 | 1.885683441162109375e+01 343 | 5.560873794555664062e+01 344 | 1.898198509216308594e+01 345 | 1.914526939392089844e+01 346 | 1.935386466979980469e+01 347 | 1.895607566833496094e+01 348 | 1.943239974975585938e+01 349 | 1.924178695678710938e+01 350 | 3.833784484863281250e+01 351 | 1.551283359527587891e+01 352 | 1.970667076110839844e+01 353 | 3.382052230834960938e+01 354 | 3.832025909423828125e+01 355 | 1.476229476928710938e+01 356 | 3.422834014892578125e+01 357 | 3.829160690307617188e+01 358 | 1.490659427642822266e+01 359 | 3.832155227661132812e+01 360 | 1.482973003387451172e+01 361 | 1.461459827423095703e+01 362 | 1.502929019927978516e+01 363 | 3.836550903320312500e+01 364 | 1.459650325775146484e+01 365 | 1.550678157806396484e+01 366 | 1.477525043487548828e+01 367 | 1.477507686614990234e+01 368 | 1.553838920593261719e+01 369 | -------------------------------------------------------------------------------- /dataset/ann_points_lidar/pc_anno_63b89fe17f3e41ecbe28337e0e35db8e.txt: -------------------------------------------------------------------------------- 1 | 3.476955413818359375e+01 2 | 2.475304222106933594e+01 3 | 2.461189460754394531e+01 4 | 2.723161315917968750e+01 5 | 2.449436569213867188e+01 6 | 2.442894363403320312e+01 7 | 2.421801948547363281e+01 8 | 9.847034454345703125e+00 9 | 2.379984855651855469e+01 10 | 2.969700241088867188e+01 11 | 9.701239585876464844e+00 12 | 1.009768962860107422e+01 13 | 9.556082725524902344e+00 14 | 9.958941459655761719e+00 15 | 2.305774307250976562e+01 16 | 1.004933643341064453e+01 17 | 9.423934936523437500e+00 18 | 1.091845607757568359e+01 19 | 9.295000076293945312e+00 20 | 1.075782966613769531e+01 21 | 9.164274215698242188e+00 22 | 9.422378540039062500e+00 23 | 1.060681152343750000e+01 24 | 9.042418479919433594e+00 25 | 9.300074577331542969e+00 26 | 1.044536113739013672e+01 27 | 8.906787872314453125e+00 28 | 9.142563819885253906e+00 29 | 1.028795719146728516e+01 30 | 8.792067527770996094e+00 31 | 9.031130790710449219e+00 32 | 1.012412834167480469e+01 33 | 8.686579704284667969e+00 34 | 8.904436111450195312e+00 35 | 9.940749168395996094e+00 36 | 8.617376327514648438e+00 37 | 8.814184188842773438e+00 38 | 9.855198860168457031e+00 39 | 8.579854011535644531e+00 40 | 2.595075988769531250e+01 41 | 8.535676002502441406e+00 42 | 8.668444633483886719e+00 43 | 9.423926353454589844e+00 44 | 8.491302490234375000e+00 45 | 9.280548095703125000e+00 46 | 8.646885871887207031e+00 47 | 9.154428482055664062e+00 48 | 9.172385215759277344e+00 49 | 8.495264053344726562e+00 50 | 8.609380722045898438e+00 51 | 2.484846305847167969e+01 52 | 9.030022621154785156e+00 53 | 8.442338943481445312e+00 54 | 8.585383415222167969e+00 55 | 2.472224044799804688e+01 56 | 8.423322677612304688e+00 57 | 8.573389053344726562e+00 58 | 2.457586669921875000e+01 59 | 6.653696537017822266e+00 60 | 8.399977684020996094e+00 61 | 2.440249252319335938e+01 62 | 8.583302497863769531e+00 63 | 8.383057594299316406e+00 64 | 2.410799789428710938e+01 65 | 8.434723854064941406e+00 66 | 8.361307144165039062e+00 67 | 2.391636657714843750e+01 68 | 8.286317825317382812e+00 69 | 8.347763061523437500e+00 70 | 8.432108879089355469e+00 71 | 8.141593933105468750e+00 72 | 8.330419540405273438e+00 73 | 8.249545097351074219e+00 74 | 1.607097244262695312e+01 75 | 6.613889217376708984e+00 76 | 8.300498962402343750e+00 77 | 1.399046134948730469e+01 78 | 1.579221153259277344e+01 79 | 6.204236984252929688e+00 80 | 1.392710971832275391e+01 81 | 1.552646541595458984e+01 82 | 6.151190757751464844e+00 83 | 1.527715301513671875e+01 84 | 6.024528026580810547e+00 85 | 5.936805248260498047e+00 86 | 6.093652248382568359e+00 87 | 1.502616405487060547e+01 88 | 5.827789306640625000e+00 89 | 6.068727016448974609e+00 90 | 5.792434692382812500e+00 91 | 5.790237903594970703e+00 92 | 6.067313194274902344e+00 93 | -5.676209259033203125e+01 94 | -4.096218872070312500e+01 95 | -4.127739715576171875e+01 96 | -4.567372131347656250e+01 97 | -4.162073898315429688e+01 98 | -4.205889892578125000e+01 99 | -4.225207901000976562e+01 100 | -1.749202537536621094e+01 101 | -4.208159637451171875e+01 102 | -5.251480865478515625e+01 103 | -1.746639633178710938e+01 104 | -1.818175315856933594e+01 105 | -1.743964385986328125e+01 106 | -1.817632484436035156e+01 107 | -4.192116546630859375e+01 108 | -1.856597328186035156e+01 109 | -1.743453407287597656e+01 110 | -2.043524360656738281e+01 111 | -1.743373107910156250e+01 112 | -2.042382431030273438e+01 113 | -1.743540000915527344e+01 114 | -1.793008422851562500e+01 115 | -2.041989898681640625e+01 116 | -1.744512557983398438e+01 117 | -1.795343208312988281e+01 118 | -2.040262031555175781e+01 119 | -1.743433189392089844e+01 120 | -1.789986801147460938e+01 121 | -2.037345504760742188e+01 122 | -1.744787788391113281e+01 123 | -1.793403053283691406e+01 124 | -2.034672355651855469e+01 125 | -1.749398612976074219e+01 126 | -1.793715858459472656e+01 127 | -2.026893424987792969e+01 128 | -1.760580635070800781e+01 129 | -1.801278114318847656e+01 130 | -2.037905502319335938e+01 131 | -1.777678680419921875e+01 132 | -5.356843566894531250e+01 133 | -1.796133041381835938e+01 134 | -1.824692916870117188e+01 135 | -1.984254264831542969e+01 136 | -1.812536048889160156e+01 137 | -1.982397651672363281e+01 138 | -1.874821090698242188e+01 139 | -1.984951019287109375e+01 140 | -2.015089416503906250e+01 141 | -1.869147491455078125e+01 142 | -1.894963836669921875e+01 143 | -5.447079467773437500e+01 144 | -2.014323806762695312e+01 145 | -1.885948562622070312e+01 146 | -1.918584251403808594e+01 147 | -5.502790069580078125e+01 148 | -1.910756874084472656e+01 149 | -1.946398925781250000e+01 150 | -5.555244064331054688e+01 151 | -1.535118007659912109e+01 152 | -1.936114311218261719e+01 153 | -5.605392074584960938e+01 154 | -2.006333732604980469e+01 155 | -1.961768150329589844e+01 156 | -5.623113632202148438e+01 157 | -2.004216194152832031e+01 158 | -1.988853263854980469e+01 159 | -5.670767593383789062e+01 160 | -2.000933647155761719e+01 161 | -2.017674636840820312e+01 162 | -2.038953971862792969e+01 163 | -1.998280334472656250e+01 164 | -2.046360969543457031e+01 165 | -2.027674293518066406e+01 166 | -3.940643310546875000e+01 167 | -1.653576469421386719e+01 168 | -2.073757934570312500e+01 169 | -3.487425231933593750e+01 170 | -3.938761520385742188e+01 171 | -1.578715705871582031e+01 172 | -3.528157043457031250e+01 173 | -3.935774612426757812e+01 174 | -1.593420600891113281e+01 175 | -3.938653182983398438e+01 176 | -1.585065555572509766e+01 177 | -1.563837528228759766e+01 178 | -1.605652618408203125e+01 179 | -3.942943572998046875e+01 180 | -1.561972522735595703e+01 181 | -1.652731704711914062e+01 182 | -1.579827690124511719e+01 183 | -1.580108642578125000e+01 184 | -1.656847763061523438e+01 185 | -3.123775959014892578e+00 186 | -3.357524871826171875e+00 187 | -3.371449232101440430e+00 188 | -2.495308637619018555e+00 189 | -3.388032197952270508e+00 190 | -3.412323236465454102e+00 191 | -3.416711568832397461e+00 192 | -1.871796727180480957e+00 193 | -3.391808986663818359e+00 194 | -2.831430673599243164e+00 195 | -1.863044977188110352e+00 196 | -1.456629157066345215e+00 197 | -1.854292154312133789e+00 198 | -1.451593995094299316e+00 199 | -2.245232343673706055e+00 200 | -2.461437702178955078e+00 201 | -1.847962379455566406e+00 202 | -2.702417850494384766e+00 203 | -1.842191219329833984e+00 204 | -2.692429304122924805e+00 205 | -1.836607456207275391e+00 206 | -1.418544650077819824e+00 207 | -2.683833599090576172e+00 208 | -1.832140207290649414e+00 209 | -1.416030645370483398e+00 210 | -2.673378229141235352e+00 211 | -1.825436711311340332e+00 212 | -1.407628297805786133e+00 213 | -2.661988496780395508e+00 214 | -1.821712851524353027e+00 215 | -1.406233429908752441e+00 216 | -2.650601625442504883e+00 217 | -1.821160435676574707e+00 218 | -1.402455091476440430e+00 219 | -2.632931709289550781e+00 220 | -1.827691316604614258e+00 221 | -1.404423356056213379e+00 222 | -2.640148162841796875e+00 223 | -1.840559005737304688e+00 224 | -2.794077634811401367e+00 225 | -1.854362845420837402e+00 226 | -1.414807081222534180e+00 227 | -1.030209064483642578e+00 228 | -1.866485476493835449e+00 229 | -1.026554822921752930e+00 230 | -1.446076273918151855e+00 231 | -1.025152921676635742e+00 232 | -2.582022666931152344e+00 233 | -1.914784908294677734e+00 234 | -1.457855224609375000e+00 235 | -2.810565948486328125e+00 236 | -2.574351549148559570e+00 237 | -1.927094578742980957e+00 238 | -1.472298145294189453e+00 239 | -2.831997156143188477e+00 240 | -1.947607874870300293e+00 241 | -1.489825963973999023e+00 242 | -2.851738691329956055e+00 243 | -1.948602914810180664e+00 244 | -1.968494772911071777e+00 245 | -2.870075464248657227e+00 246 | -2.544820070266723633e+00 247 | -1.989938974380493164e+00 248 | -2.872264146804809570e+00 249 | -2.535751819610595703e+00 250 | -2.012503862380981445e+00 251 | -2.889379024505615234e+00 252 | -2.525518655776977539e+00 253 | -2.036932468414306641e+00 254 | -1.545772552490234375e+00 255 | -2.516215562820434570e+00 256 | -2.061174869537353516e+00 257 | -1.533578038215637207e+00 258 | -1.997525453567504883e+00 259 | -2.074916124343872070e+00 260 | -2.083925008773803711e+00 261 | -2.635774374008178711e+00 262 | -1.991817235946655273e+00 263 | -1.580660223960876465e+00 264 | -2.660738468170166016e+00 265 | -1.985917091369628906e+00 266 | -1.195571184158325195e+00 267 | -1.982927799224853516e+00 268 | -1.975109696388244629e+00 269 | -1.558652758598327637e+00 270 | -1.202157616615295410e+00 271 | -1.980596542358398438e+00 272 | -1.553428649902343750e+00 273 | -2.051175355911254883e+00 274 | -1.567969202995300293e+00 275 | -1.177896499633789062e+00 276 | -8.272489309310913086e-01 277 | -------------------------------------------------------------------------------- /dataset/ann_points_lidar/pc_anno_83d881a6b3d94ef3a3bc3b585cc514f8.txt: -------------------------------------------------------------------------------- 1 | -1.702317047119140625e+01 2 | -1.699100494384765625e+01 3 | -1.697468376159667969e+01 4 | -1.299597263336181641e+01 5 | -1.298490810394287109e+01 6 | -1.227384471893310547e+01 7 | -1.229694271087646484e+01 8 | -1.722665214538574219e+01 9 | -1.697200584411621094e+01 10 | -1.695138359069824219e+01 11 | -1.296561908721923828e+01 12 | -1.072905445098876953e+01 13 | -1.245364284515380859e+01 14 | -1.215053939819335938e+01 15 | -1.221566963195800781e+01 16 | -1.711626052856445312e+01 17 | -1.696319007873535156e+01 18 | -1.694027709960937500e+01 19 | -8.336550712585449219e+00 20 | -1.062579059600830078e+01 21 | -1.235808849334716797e+01 22 | -1.205025863647460938e+01 23 | -1.204439926147460938e+01 24 | -1.698844146728515625e+01 25 | -1.694175148010253906e+01 26 | -1.691372299194335938e+01 27 | -6.226294994354248047e+00 28 | -6.940645694732666016e+00 29 | -8.254863739013671875e+00 30 | -1.053226470947265625e+01 31 | -1.232917881011962891e+01 32 | -1.199646282196044922e+01 33 | -1.190177345275878906e+01 34 | -1.691991996765136719e+01 35 | -1.690946769714355469e+01 36 | -1.401235485076904297e+01 37 | -6.872302532196044922e+00 38 | -8.179162025451660156e+00 39 | -1.043701171875000000e+01 40 | -1.226047611236572266e+01 41 | -1.195597553253173828e+01 42 | -1.218001842498779297e+01 43 | -1.694943046569824219e+01 44 | -1.690237045288085938e+01 45 | -1.688235855102539062e+01 46 | -1.463497734069824219e+01 47 | -1.407082653045654297e+01 48 | -1.394265174865722656e+01 49 | -1.381446552276611328e+01 50 | -6.813434600830078125e+00 51 | -8.102017402648925781e+00 52 | -1.032972717285156250e+01 53 | -1.225419521331787109e+01 54 | -1.206545352935791016e+01 55 | -1.194011116027832031e+01 56 | -1.691387176513671875e+01 57 | -1.688179779052734375e+01 58 | -1.401767635345458984e+01 59 | -1.389295291900634766e+01 60 | -1.374756336212158203e+01 61 | -1.362011432647705078e+01 62 | -6.755266666412353516e+00 63 | -7.951531887054443359e+00 64 | -1.183163166046142578e+01 65 | -1.216477584838867188e+01 66 | -1.227871322631835938e+01 67 | -1.406532382965087891e+01 68 | -1.393192386627197266e+01 69 | -1.381635379791259766e+01 70 | -1.369860744476318359e+01 71 | -1.355761146545410156e+01 72 | -1.342796802520751953e+01 73 | -6.700257301330566406e+00 74 | -7.926921367645263672e+00 75 | -1.004829502105712891e+01 76 | -1.184511280059814453e+01 77 | -1.227353000640869141e+01 78 | -1.234427928924560547e+01 79 | -1.398213195800781250e+01 80 | -1.386924839019775391e+01 81 | -1.373454570770263672e+01 82 | -1.361748790740966797e+01 83 | -1.348835277557373047e+01 84 | -1.336720085144042969e+01 85 | -1.324177360534667969e+01 86 | -6.637284755706787109e+00 87 | -7.844929218292236328e+00 88 | -9.906225204467773438e+00 89 | -1.155135440826416016e+01 90 | -1.214602947235107422e+01 91 | -1.392649269104003906e+01 92 | -1.379074668884277344e+01 93 | -1.367182731628417969e+01 94 | -1.354040718078613281e+01 95 | -1.343009471893310547e+01 96 | -1.317278671264648438e+01 97 | -1.304974651336669922e+01 98 | -6.565764427185058594e+00 99 | -7.751770973205566406e+00 100 | -5.514168262481689453e+00 101 | -5.473732948303222656e+00 102 | -5.476841926574707031e+00 103 | -1.298070430755615234e+01 104 | -6.455103397369384766e+00 105 | -7.675354003906250000e+00 106 | -5.441582679748535156e+00 107 | -5.386580944061279297e+00 108 | -1.313749217987060547e+01 109 | -1.302441883087158203e+01 110 | -5.391313076019287109e+00 111 | -1.282781314849853516e+01 112 | -6.381675243377685547e+00 113 | -7.588697433471679688e+00 114 | -5.370003223419189453e+00 115 | -5.329070091247558594e+00 116 | -5.322465896606445312e+00 117 | -5.310214042663574219e+00 118 | -5.288910388946533203e+00 119 | -5.297503471374511719e+00 120 | -1.294939804077148438e+01 121 | -1.286560630798339844e+01 122 | -5.315743446350097656e+00 123 | -1.279006576538085938e+01 124 | -1.278456497192382812e+01 125 | -6.314090251922607422e+00 126 | -7.499150753021240234e+00 127 | -5.299339294433593750e+00 128 | -5.249234199523925781e+00 129 | -5.246161460876464844e+00 130 | -5.234885692596435547e+00 131 | -5.208576679229736328e+00 132 | -5.218806743621826172e+00 133 | -1.284147357940673828e+01 134 | -1.283101367950439453e+01 135 | -5.234250068664550781e+00 136 | -1.278016090393066406e+01 137 | -1.276622390747070312e+01 138 | -6.289186954498291016e+00 139 | -7.392114162445068359e+00 140 | -5.221779346466064453e+00 141 | -5.174795150756835938e+00 142 | -5.168286800384521484e+00 143 | -5.156230449676513672e+00 144 | -5.141397476196289062e+00 145 | -5.144617557525634766e+00 146 | -1.283833694458007812e+01 147 | -1.282140064239501953e+01 148 | -5.158144474029541016e+00 149 | -1.276393318176269531e+01 150 | -1.276117801666259766e+01 151 | -6.276479244232177734e+00 152 | -7.332818031311035156e+00 153 | -5.150363922119140625e+00 154 | -5.045068264007568359e+00 155 | -5.053781986236572266e+00 156 | -5.058242797851562500e+00 157 | -5.060581684112548828e+00 158 | -5.067828655242919922e+00 159 | -5.064654350280761719e+00 160 | -1.280115985870361328e+01 161 | -5.075268745422363281e+00 162 | -1.274006938934326172e+01 163 | -1.271963310241699219e+01 164 | -6.263885021209716797e+00 165 | -7.254985332489013672e+00 166 | -5.069506168365478516e+00 167 | -4.973886489868164062e+00 168 | -4.978437423706054688e+00 169 | -4.984290122985839844e+00 170 | -4.982378959655761719e+00 171 | -4.993057727813720703e+00 172 | -1.277149295806884766e+01 173 | -5.009518146514892578e+00 174 | -1.381006526947021484e+01 175 | -7.177465915679931641e+00 176 | -4.971667766571044922e+00 177 | -4.910424232482910156e+00 178 | -4.929012775421142578e+00 179 | -4.932253837585449219e+00 180 | -4.919491291046142578e+00 181 | -4.921742439270019531e+00 182 | -1.350387001037597656e+01 183 | -4.928104877471923828e+00 184 | -1.359500217437744141e+01 185 | -1.364812088012695312e+01 186 | -6.257415771484375000e+00 187 | -5.317886352539062500e+00 188 | -4.873925209045410156e+00 189 | -4.867620468139648438e+00 190 | -4.858469486236572266e+00 191 | -4.847483634948730469e+00 192 | -4.846406936645507812e+00 193 | -4.844909667968750000e+00 194 | -5.687813282012939453e+00 195 | -4.859963893890380859e+00 196 | -1.338618373870849609e+01 197 | -1.343065261840820312e+01 198 | -6.252632617950439453e+00 199 | -4.972959995269775391e+00 200 | -4.824310779571533203e+00 201 | -4.798534870147705078e+00 202 | -4.797142028808593750e+00 203 | -4.786422729492187500e+00 204 | -4.775541782379150391e+00 205 | -4.772861003875732422e+00 206 | -4.771349906921386719e+00 207 | -5.696419239044189453e+00 208 | -4.789392948150634766e+00 209 | -1.316992092132568359e+01 210 | -1.322256183624267578e+01 211 | -4.832131862640380859e+00 212 | -8.704710960388183594e+00 213 | -4.728128433227539062e+00 214 | -4.723229408264160156e+00 215 | -4.715301513671875000e+00 216 | -4.699722290039062500e+00 217 | -4.698373794555664062e+00 218 | -4.696846008300781250e+00 219 | -5.702683448791503906e+00 220 | -4.713838100433349609e+00 221 | -1.295698642730712891e+01 222 | -1.300324440002441406e+01 223 | -4.799121856689453125e+00 224 | -4.688960552215576172e+00 225 | -4.651918888092041016e+00 226 | -4.650509834289550781e+00 227 | -4.640777111053466797e+00 228 | -4.625368118286132812e+00 229 | -4.622742652893066406e+00 230 | -4.623568058013916016e+00 231 | -5.708958148956298828e+00 232 | -4.633305072784423828e+00 233 | -1.274359798431396484e+01 234 | -1.280027294158935547e+01 235 | -4.846813201904296875e+00 236 | -4.639271259307861328e+00 237 | -4.577765464782714844e+00 238 | -4.575568675994873047e+00 239 | -4.563588619232177734e+00 240 | -4.553781986236572266e+00 241 | -4.549639225006103516e+00 242 | -4.548089504241943359e+00 243 | -5.712762355804443359e+00 244 | -4.566144466400146484e+00 245 | -1.259123706817626953e+01 246 | -1.261268615722656250e+01 247 | -5.480016231536865234e+00 248 | -4.874384403228759766e+00 249 | -4.597527027130126953e+00 250 | -4.506863117218017578e+00 251 | -4.500834465026855469e+00 252 | -4.493563175201416016e+00 253 | -4.480003356933593750e+00 254 | -4.467509746551513672e+00 255 | -4.469788551330566406e+00 256 | -5.634430408477783203e+00 257 | -4.488377571105957031e+00 258 | -1.256149291992187500e+01 259 | -1.256750965118408203e+01 260 | -5.387586116790771484e+00 261 | -4.753969192504882812e+00 262 | -4.539872646331787109e+00 263 | -4.434512615203857422e+00 264 | -4.421321392059326172e+00 265 | -4.408685684204101562e+00 266 | -4.409135341644287109e+00 267 | -4.406071662902832031e+00 268 | -5.630036354064941406e+00 269 | -4.433261394500732422e+00 270 | -4.422018051147460938e+00 271 | -1.255827331542968750e+01 272 | -5.295456409454345703e+00 273 | -4.752906799316406250e+00 274 | -4.446838378906250000e+00 275 | -4.363068103790283203e+00 276 | -4.347737312316894531e+00 277 | -4.338940620422363281e+00 278 | -4.334520816802978516e+00 279 | -4.332931041717529297e+00 280 | -5.641830444335937500e+00 281 | -4.359708309173583984e+00 282 | -1.251112174987792969e+01 283 | -4.760270118713378906e+00 284 | -4.367275238037109375e+00 285 | -4.287613391876220703e+00 286 | -4.290869712829589844e+00 287 | -4.276838779449462891e+00 288 | -4.262979030609130859e+00 289 | -4.259322643280029297e+00 290 | -4.258469104766845703e+00 291 | -5.654109954833984375e+00 292 | -4.286963462829589844e+00 293 | -4.271661281585693359e+00 294 | -4.769866466522216797e+00 295 | -4.293523311614990234e+00 296 | -4.217858314514160156e+00 297 | -4.206414699554443359e+00 298 | -4.194180011749267578e+00 299 | -4.192401885986328125e+00 300 | -4.189347267150878906e+00 301 | -5.640749931335449219e+00 302 | -4.214572429656982422e+00 303 | -4.210124015808105469e+00 304 | -1.318945217132568359e+01 305 | -5.029902458190917969e+00 306 | -5.033446788787841797e+00 307 | -4.240636825561523438e+00 308 | -4.148176670074462891e+00 309 | -4.140528202056884766e+00 310 | -4.136112213134765625e+00 311 | -4.121867179870605469e+00 312 | -4.118214130401611328e+00 313 | -4.114471912384033203e+00 314 | -5.550323009490966797e+00 315 | -4.139255523681640625e+00 316 | -4.134170532226562500e+00 317 | -1.296100902557373047e+01 318 | -5.059247016906738281e+00 319 | -4.840343475341796875e+00 320 | -4.172692298889160156e+00 321 | -4.076468467712402344e+00 322 | -4.070981979370117188e+00 323 | -4.061195373535156250e+00 324 | -4.055318355560302734e+00 325 | -4.047469615936279297e+00 326 | -4.048418521881103516e+00 327 | -5.454352378845214844e+00 328 | -4.071578502655029297e+00 329 | -4.067751407623291016e+00 330 | -1.273374748229980469e+01 331 | -4.221807003021240234e+00 332 | -4.099545955657958984e+00 333 | -4.006967544555664062e+00 334 | -4.000815868377685547e+00 335 | -3.991637229919433594e+00 336 | -3.982554197311401367e+00 337 | -3.977555036544799805e+00 338 | -3.975890159606933594e+00 339 | -5.359908103942871094e+00 340 | -4.003248691558837891e+00 341 | -3.996186494827270508e+00 342 | -1.250294876098632812e+01 343 | -4.522673606872558594e+00 344 | -4.990728855133056641e+00 345 | -4.030900001525878906e+00 346 | -3.932930946350097656e+00 347 | -3.930755376815795898e+00 348 | -3.919135570526123047e+00 349 | -3.909468173980712891e+00 350 | -3.907056331634521484e+00 351 | -3.906038999557495117e+00 352 | -5.261736392974853516e+00 353 | -3.936282396316528320e+00 354 | -3.926620960235595703e+00 355 | -4.445536613464355469e+00 356 | -4.909497261047363281e+00 357 | -3.959469318389892578e+00 358 | -3.864329814910888672e+00 359 | -3.860136508941650391e+00 360 | -3.850657701492309570e+00 361 | -3.844415664672851562e+00 362 | -3.837363481521606445e+00 363 | -3.834991216659545898e+00 364 | -5.169611454010009766e+00 365 | -3.866014480590820312e+00 366 | -3.857787370681762695e+00 367 | -4.823519229888916016e+00 368 | -3.899992942810058594e+00 369 | -3.796446084976196289e+00 370 | -3.790987253189086914e+00 371 | -3.782233476638793945e+00 372 | -3.772099494934082031e+00 373 | -3.767760992050170898e+00 374 | -3.766030073165893555e+00 375 | -5.081485271453857422e+00 376 | -3.799737691879272461e+00 377 | -3.787078380584716797e+00 378 | -6.916099548339843750e+00 379 | -3.800701141357421875e+00 380 | -3.716369628906250000e+00 381 | -3.687760114669799805e+00 382 | -3.688900232315063477e+00 383 | -3.693177461624145508e+00 384 | -3.692876338958740234e+00 385 | -3.696390628814697266e+00 386 | -3.694000244140625000e+00 387 | -5.133700370788574219e+00 388 | -4.435758113861083984e+00 389 | -3.717139244079589844e+00 390 | -3.845248937606811523e+00 391 | -3.745138883590698242e+00 392 | -3.617503643035888672e+00 393 | -3.621729612350463867e+00 394 | -3.620835065841674805e+00 395 | -3.621757745742797852e+00 396 | -3.625765800476074219e+00 397 | -3.624644756317138672e+00 398 | -5.129927635192871094e+00 399 | -4.361933708190917969e+00 400 | -3.646649360656738281e+00 401 | -1.312218189239501953e+01 402 | -3.755042314529418945e+00 403 | -3.597687244415283203e+00 404 | -3.550500631332397461e+00 405 | -3.557732343673706055e+00 406 | -3.556786060333251953e+00 407 | -3.557626247406005859e+00 408 | -3.559663295745849609e+00 409 | -3.556621551513671875e+00 410 | -5.037768840789794922e+00 411 | -4.291018009185791016e+00 412 | -3.578134298324584961e+00 413 | -1.286047077178955078e+01 414 | -3.889816999435424805e+00 415 | -3.662521362304687500e+00 416 | -3.573059558868408203e+00 417 | -3.514911413192749023e+00 418 | -3.509667873382568359e+00 419 | -3.506194591522216797e+00 420 | -3.487300634384155273e+00 421 | -3.493580579757690430e+00 422 | -3.488078594207763672e+00 423 | -4.957736015319824219e+00 424 | -4.213733196258544922e+00 425 | -3.507288694381713867e+00 426 | -1.259533882141113281e+01 427 | -3.904630184173583984e+00 428 | -3.587727308273315430e+00 429 | -3.510668754577636719e+00 430 | -3.449270486831665039e+00 431 | -3.442873716354370117e+00 432 | -3.436972379684448242e+00 433 | -3.424383878707885742e+00 434 | -3.422687292098999023e+00 435 | -3.419650793075561523e+00 436 | -4.953063488006591797e+00 437 | -3.436544656753540039e+00 438 | -3.438995599746704102e+00 439 | -1.234768772125244141e+01 440 | -3.540882349014282227e+00 441 | -3.425574541091918945e+00 442 | -3.375884771347045898e+00 443 | -3.376595258712768555e+00 444 | -3.370254278182983398e+00 445 | -3.357821702957153320e+00 446 | -3.354234933853149414e+00 447 | -3.350599050521850586e+00 448 | -4.900623321533203125e+00 449 | -3.351332426071166992e+00 450 | -3.370020389556884766e+00 451 | -1.211194801330566406e+01 452 | -3.542870521545410156e+00 453 | -3.352644920349121094e+00 454 | -3.310802221298217773e+00 455 | -3.306329965591430664e+00 456 | -3.298751592636108398e+00 457 | -3.286501646041870117e+00 458 | -3.283671379089355469e+00 459 | -3.282940864562988281e+00 460 | -4.821355819702148438e+00 461 | -3.300144672393798828e+00 462 | -3.471362352371215820e+00 463 | -3.285799026489257812e+00 464 | -3.241816282272338867e+00 465 | -3.238531351089477539e+00 466 | -3.230460643768310547e+00 467 | -3.220645189285278320e+00 468 | -3.218411684036254883e+00 469 | -3.215352773666381836e+00 470 | -3.242626428604125977e+00 471 | -3.213642358779907227e+00 472 | -3.233776092529296875e+00 473 | -3.399921894073486328e+00 474 | -3.215611457824707031e+00 475 | -3.174657821655273438e+00 476 | -3.171390533447265625e+00 477 | -3.165643453598022461e+00 478 | -3.182725667953491211e+00 479 | -3.186000108718872070e+00 480 | -3.178939580917358398e+00 481 | -3.181178569793701172e+00 482 | -3.808519363403320312e+00 483 | -3.164146423339843750e+00 484 | -3.331459283828735352e+00 485 | -3.158207893371582031e+00 486 | -3.131163358688354492e+00 487 | -3.116122961044311523e+00 488 | -3.137516498565673828e+00 489 | -3.407295227050781250e+00 490 | -5.225763320922851562e+00 491 | -5.212762832641601562e+00 492 | -4.574503421783447266e+00 493 | -3.726681709289550781e+00 494 | -3.645225524902343750e+00 495 | -3.312740087509155273e+00 496 | -3.739032983779907227e+00 497 | -3.095400810241699219e+00 498 | -3.114417076110839844e+00 499 | -3.134903669357299805e+00 500 | -4.799883842468261719e+00 501 | -5.111248493194580078e+00 502 | -5.105873584747314453e+00 503 | -4.475190162658691406e+00 504 | -3.647147178649902344e+00 505 | -7.521645069122314453e+00 506 | -3.574069976806640625e+00 507 | -3.295616149902343750e+00 508 | -3.285351037979125977e+00 509 | -3.101594924926757812e+00 510 | -3.119982004165649414e+00 511 | -4.699583530426025391e+00 512 | -4.999529361724853516e+00 513 | -4.989956378936767578e+00 514 | -4.375241279602050781e+00 515 | -3.183988809585571289e+00 516 | -7.289206981658935547e+00 517 | -3.492815494537353516e+00 518 | -3.530155181884765625e+00 519 | -3.525173664093017578e+00 520 | -3.119194984436035156e+00 521 | -3.144804954528808594e+00 522 | -3.161446094512939453e+00 523 | -4.884166717529296875e+00 524 | -4.876863956451416016e+00 525 | -4.275619983673095703e+00 526 | -3.199257612228393555e+00 527 | -7.077424526214599609e+00 528 | -9.804913520812988281e+00 529 | -3.419339895248413086e+00 530 | -3.452806949615478516e+00 531 | -3.494759082794189453e+00 532 | -3.129943609237670898e+00 533 | -3.160970926284790039e+00 534 | -3.177547216415405273e+00 535 | -4.775441646575927734e+00 536 | -4.776827812194824219e+00 537 | -4.765916824340820312e+00 538 | -4.176624298095703125e+00 539 | -3.215953826904296875e+00 540 | -6.909798145294189453e+00 541 | -9.477017402648925781e+00 542 | -3.338579177856445312e+00 543 | -3.321614027023315430e+00 544 | -3.313993453979492188e+00 545 | -3.149488687515258789e+00 546 | -3.174593925476074219e+00 547 | -3.189309835433959961e+00 548 | -4.675344467163085938e+00 549 | -4.659687995910644531e+00 550 | -4.649384021759033203e+00 551 | -4.077262878417968750e+00 552 | -3.224931716918945312e+00 553 | -7.074299812316894531e+00 554 | -9.252687454223632812e+00 555 | -3.261917829513549805e+00 556 | -3.290402173995971680e+00 557 | -3.329779863357543945e+00 558 | -3.156414508819580078e+00 559 | -3.182488203048706055e+00 560 | -4.573042869567871094e+00 561 | -4.549315452575683594e+00 562 | -4.537660121917724609e+00 563 | -3.976675748825073242e+00 564 | -6.736102581024169922e+00 565 | -6.813066959381103516e+00 566 | -9.094345092773437500e+00 567 | -3.186917781829833984e+00 568 | -3.209984779357910156e+00 569 | -3.249733448028564453e+00 570 | -3.170122861862182617e+00 571 | -3.200685977935791016e+00 572 | -3.222928524017333984e+00 573 | -4.435719013214111328e+00 574 | -4.426990032196044922e+00 575 | -3.882722139358520508e+00 576 | -6.674528598785400391e+00 577 | -6.524512290954589844e+00 578 | -8.877111434936523438e+00 579 | -3.208618640899658203e+00 580 | -3.207859754562377930e+00 581 | -3.191065788269042969e+00 582 | -3.208326578140258789e+00 583 | -3.241309404373168945e+00 584 | -4.322678565979003906e+00 585 | -4.318202018737792969e+00 586 | -4.313182830810546875e+00 587 | -3.788214206695556641e+00 588 | -7.699947357177734375e+00 589 | -6.389777660369873047e+00 590 | -3.204714059829711914e+00 591 | -3.224910259246826172e+00 592 | -3.217054367065429688e+00 593 | -3.234543323516845703e+00 594 | -3.262277841567993164e+00 595 | -4.212615489959716797e+00 596 | -4.205018043518066406e+00 597 | -3.299242973327636719e+00 598 | -1.336620044708251953e+01 599 | -6.399221897125244141e+00 600 | -8.217213630676269531e+00 601 | -3.291682720184326172e+00 602 | -3.234238624572753906e+00 603 | -3.218750476837158203e+00 604 | -4.107959747314453125e+00 605 | -4.101212501525878906e+00 606 | -4.091383457183837891e+00 607 | -3.324354648590087891e+00 608 | -7.314048767089843750e+00 609 | -8.753308296203613281e+00 610 | -8.040141105651855469e+00 611 | -4.205176830291748047e+00 612 | -3.231768608093261719e+00 613 | -3.502007246017456055e+00 614 | -3.539162635803222656e+00 615 | -3.993902206420898438e+00 616 | -3.990798234939575195e+00 617 | -3.981493949890136719e+00 618 | -3.347754716873168945e+00 619 | -7.158120632171630859e+00 620 | -7.703965187072753906e+00 621 | -7.832058429718017578e+00 622 | -3.186566352844238281e+00 623 | -3.194762945175170898e+00 624 | -3.217380285263061523e+00 625 | -3.515504837036132812e+00 626 | -3.553384304046630859e+00 627 | -3.883166551589965820e+00 628 | -3.880486011505126953e+00 629 | -3.870434761047363281e+00 630 | -3.367651939392089844e+00 631 | -6.981029033660888672e+00 632 | -7.421742439270019531e+00 633 | -7.540460586547851562e+00 634 | -3.215098381042480469e+00 635 | -3.234033584594726562e+00 636 | -3.479905128479003906e+00 637 | -3.772938728332519531e+00 638 | -3.767453193664550781e+00 639 | -3.757505416870117188e+00 640 | -6.601804733276367188e+00 641 | -8.286822319030761719e+00 642 | -7.215847015380859375e+00 643 | -7.400409698486328125e+00 644 | -3.312196493148803711e+00 645 | -3.258030414581298828e+00 646 | -3.662838697433471680e+00 647 | -3.656531095504760742e+00 648 | -3.649529933929443359e+00 649 | -6.556164264678955078e+00 650 | -8.617810249328613281e+00 651 | -6.911485195159912109e+00 652 | -7.383426666259765625e+00 653 | -3.288774013519287109e+00 654 | -3.285569906234741211e+00 655 | -3.576137304306030273e+00 656 | -3.562515497207641602e+00 657 | -3.539979457855224609e+00 658 | -3.534097909927368164e+00 659 | -3.493250370025634766e+00 660 | -6.396571636199951172e+00 661 | -7.121837615966796875e+00 662 | -6.658999443054199219e+00 663 | -3.311632871627807617e+00 664 | -3.311174154281616211e+00 665 | -3.453673601150512695e+00 666 | -3.462517023086547852e+00 667 | -3.441167593002319336e+00 668 | -3.421270847320556641e+00 669 | -3.435021162033081055e+00 670 | -7.103537082672119141e+00 671 | -7.704172611236572266e+00 672 | -6.466084003448486328e+00 673 | -3.535296440124511719e+00 674 | -3.041587114334106445e+00 675 | -3.530977010726928711e+00 676 | -8.276197433471679688e+00 677 | -3.330699682235717773e+00 678 | -6.101120948791503906e+00 679 | -6.617477893829345703e+00 680 | -6.748599529266357422e+00 681 | -6.258373260498046875e+00 682 | -6.951301574707031250e+00 683 | -3.482803821563720703e+00 684 | -3.513349771499633789e+00 685 | -3.582235097885131836e+00 686 | -1.206965351104736328e+01 687 | -3.516515016555786133e+00 688 | -6.613467216491699219e+00 689 | -6.380256175994873047e+00 690 | -6.408004760742187500e+00 691 | -6.352668762207031250e+00 692 | -6.723612785339355469e+00 693 | -2.886327743530273438e+00 694 | -2.862582921981811523e+00 695 | -2.850622892379760742e+00 696 | -1.169560050964355469e+01 697 | -6.331849098205566406e+00 698 | -6.259495258331298828e+00 699 | -6.155888557434082031e+00 700 | -6.620616436004638672e+00 701 | -6.271982669830322266e+00 702 | -6.514737129211425781e+00 703 | -2.786392688751220703e+00 704 | -5.606961250305175781e+00 705 | -2.812301635742187500e+00 706 | -1.131357002258300781e+01 707 | -7.544798851013183594e+00 708 | -6.129934310913085938e+00 709 | -5.849740505218505859e+00 710 | -5.948458671569824219e+00 711 | -6.387134075164794922e+00 712 | -6.528965473175048828e+00 713 | -5.887318611145019531e+00 714 | -2.683642864227294922e+00 715 | -2.667352914810180664e+00 716 | -2.651217699050903320e+00 717 | -2.692258834838867188e+00 718 | -1.103646850585937500e+01 719 | -6.265117645263671875e+00 720 | -6.103517532348632812e+00 721 | -5.643030166625976562e+00 722 | -2.590834140777587891e+00 723 | 2.891080284118652344e+01 724 | 2.887795639038085938e+01 725 | 2.887238693237304688e+01 726 | 2.205915260314941406e+01 727 | 2.204828071594238281e+01 728 | 2.099814605712890625e+01 729 | 2.105498123168945312e+01 730 | 2.967029190063476562e+01 731 | 2.923711585998535156e+01 732 | 2.922408485412597656e+01 733 | 2.232498168945312500e+01 734 | 1.853810691833496094e+01 735 | 2.159569740295410156e+01 736 | 2.106889343261718750e+01 737 | 2.120067024230957031e+01 738 | 2.988070678710937500e+01 739 | 2.962131118774414062e+01 740 | 2.960420227050781250e+01 741 | 1.450815486907958984e+01 742 | 1.861048507690429688e+01 743 | 2.171417999267578125e+01 744 | 2.118083381652832031e+01 745 | 2.118729972839355469e+01 746 | 3.006294441223144531e+01 747 | 2.999073028564453125e+01 748 | 2.996430206298828125e+01 749 | 1.088389205932617188e+01 750 | 1.218571472167968750e+01 751 | 1.456998157501220703e+01 752 | 1.870859146118164062e+01 753 | 2.197311401367187500e+01 754 | 2.138725280761718750e+01 755 | 2.123252677917480469e+01 756 | 3.037954902648925781e+01 757 | 3.037219619750976562e+01 758 | 2.517438316345214844e+01 759 | 1.222819137573242188e+01 760 | 1.463696384429931641e+01 761 | 1.878856468200683594e+01 762 | 2.215481567382812500e+01 763 | 2.161275672912597656e+01 764 | 2.203337478637695312e+01 765 | 3.083323669433593750e+01 766 | 3.077146148681640625e+01 767 | 3.075947761535644531e+01 768 | 2.662503242492675781e+01 769 | 2.560495758056640625e+01 770 | 2.538887786865234375e+01 771 | 2.516173553466796875e+01 772 | 1.229898357391357422e+01 773 | 1.470181465148925781e+01 774 | 1.886290740966796875e+01 775 | 2.246544456481933594e+01 776 | 2.212230110168457031e+01 777 | 2.190653610229492188e+01 778 | 3.121371269226074219e+01 779 | 3.116596412658691406e+01 780 | 2.585692405700683594e+01 781 | 2.563357734680175781e+01 782 | 2.538211822509765625e+01 783 | 2.516392898559570312e+01 784 | 1.236657810211181641e+01 785 | 1.462875175476074219e+01 786 | 2.198640823364257812e+01 787 | 2.262498283386230469e+01 788 | 2.285919952392578125e+01 789 | 2.627187538146972656e+01 790 | 2.604062843322753906e+01 791 | 2.584274482727050781e+01 792 | 2.562948608398437500e+01 793 | 2.538270950317382812e+01 794 | 2.515713310241699219e+01 795 | 1.244096660614013672e+01 796 | 1.479319095611572266e+01 797 | 1.886808967590332031e+01 798 | 2.232757568359375000e+01 799 | 2.315788841247558594e+01 800 | 2.331294059753417969e+01 801 | 2.647776985168457031e+01 802 | 2.627145576477050781e+01 803 | 2.603426742553710938e+01 804 | 2.583065032958984375e+01 805 | 2.559237670898437500e+01 806 | 2.538022232055664062e+01 807 | 2.515945053100585938e+01 808 | 1.250101661682128906e+01 809 | 1.484965038299560547e+01 810 | 1.886565399169921875e+01 811 | 2.207935523986816406e+01 812 | 2.324461174011230469e+01 813 | 2.672919082641601562e+01 814 | 2.648718452453613281e+01 815 | 2.626611137390136719e+01 816 | 2.603185653686523438e+01 817 | 2.583835601806640625e+01 818 | 2.536760902404785156e+01 819 | 2.514822006225585938e+01 820 | 1.254474925994873047e+01 821 | 1.489099979400634766e+01 822 | 1.048900413513183594e+01 823 | 1.042729949951171875e+01 824 | 1.047822570800781250e+01 825 | 2.536820793151855469e+01 826 | 1.251624584197998047e+01 827 | 1.495899486541748047e+01 828 | 1.050586223602294922e+01 829 | 1.041834735870361328e+01 830 | 2.600205993652343750e+01 831 | 2.579705238342285156e+01 832 | 1.046390819549560547e+01 833 | 2.543412780761718750e+01 834 | 1.255538845062255859e+01 835 | 1.500694274902343750e+01 836 | 1.051952362060546875e+01 837 | 1.044567680358886719e+01 838 | 1.043663120269775391e+01 839 | 1.042090892791748047e+01 840 | 1.038674163818359375e+01 841 | 1.040860939025878906e+01 842 | 2.600440597534179688e+01 843 | 2.585598373413085938e+01 844 | 1.046850681304931641e+01 845 | 2.573480987548828125e+01 846 | 2.574572372436523438e+01 847 | 1.260667419433593750e+01 848 | 1.504900169372558594e+01 849 | 1.053450393676757812e+01 850 | 1.044061183929443359e+01 851 | 1.043872737884521484e+01 852 | 1.042473602294921875e+01 853 | 1.037967395782470703e+01 854 | 1.040523624420166016e+01 855 | 2.617038726806640625e+01 856 | 2.617148017883300781e+01 857 | 1.046013832092285156e+01 858 | 2.609987831115722656e+01 859 | 2.609368324279785156e+01 860 | 1.274738979339599609e+01 861 | 1.505456066131591797e+01 862 | 1.053462219238281250e+01 863 | 1.044583129882812500e+01 864 | 1.043669700622558594e+01 865 | 1.042085647583007812e+01 866 | 1.039909553527832031e+01 867 | 1.041032505035400391e+01 868 | 2.655885505676269531e+01 869 | 2.654661560058593750e+01 870 | 1.046192073822021484e+01 871 | 2.646034622192382812e+01 872 | 2.647777175903320312e+01 873 | 1.291707134246826172e+01 874 | 1.516714382171630859e+01 875 | 1.054686737060546875e+01 876 | 1.033299446105957031e+01 877 | 1.036085414886474609e+01 878 | 1.037480068206787109e+01 879 | 1.038917541503906250e+01 880 | 1.041399288177490234e+01 881 | 1.041666030883789062e+01 882 | 2.690811920166015625e+01 883 | 1.045331478118896484e+01 884 | 2.682551383972167969e+01 885 | 2.679327583312988281e+01 886 | 1.309714603424072266e+01 887 | 1.523487186431884766e+01 888 | 1.054321861267089844e+01 889 | 1.034684085845947266e+01 890 | 1.036115932464599609e+01 891 | 1.038328552246093750e+01 892 | 1.038860511779785156e+01 893 | 1.041626071929931641e+01 894 | 2.727071952819824219e+01 895 | 1.047558593750000000e+01 896 | 2.955769729614257812e+01 897 | 1.530401420593261719e+01 898 | 1.049633884429931641e+01 899 | 1.037208175659179688e+01 900 | 1.041735649108886719e+01 901 | 1.043403434753417969e+01 902 | 1.041572952270507812e+01 903 | 1.042528820037841797e+01 904 | 2.930391883850097656e+01 905 | 1.046321296691894531e+01 906 | 2.954373168945312500e+01 907 | 2.968748092651367188e+01 908 | 1.349962520599365234e+01 909 | 1.142217063903808594e+01 910 | 1.045711612701416016e+01 911 | 1.044780921936035156e+01 912 | 1.043714809417724609e+01 913 | 1.042241287231445312e+01 914 | 1.042475223541259766e+01 915 | 1.043112754821777344e+01 916 | 1.232185935974121094e+01 917 | 1.047917079925537109e+01 918 | 2.954091072082519531e+01 919 | 2.966732597351074219e+01 920 | 1.370511436462402344e+01 921 | 1.082935905456542969e+01 922 | 1.050440025329589844e+01 923 | 1.045616912841796875e+01 924 | 1.045779037475585938e+01 925 | 1.044344234466552734e+01 926 | 1.042865085601806641e+01 927 | 1.042735767364501953e+01 928 | 1.043377494812011719e+01 929 | 1.254015731811523438e+01 930 | 1.048928833007812500e+01 931 | 2.951860046386718750e+01 932 | 2.966546058654785156e+01 933 | 1.068904876708984375e+01 934 | 1.956065368652343750e+01 935 | 1.046570014953613281e+01 936 | 1.046447181701660156e+01 937 | 1.045106220245361328e+01 938 | 1.042524528503417969e+01 939 | 1.043211078643798828e+01 940 | 1.043856620788574219e+01 941 | 1.275898647308349609e+01 942 | 1.049249076843261719e+01 943 | 2.951517868041992188e+01 944 | 2.963514518737792969e+01 945 | 1.078858947753906250e+01 946 | 1.054253578186035156e+01 947 | 1.046642684936523438e+01 948 | 1.046801280975341797e+01 949 | 1.045537185668945312e+01 950 | 1.042947673797607422e+01 951 | 1.042822360992431641e+01 952 | 1.044021129608154297e+01 953 | 1.299027824401855469e+01 954 | 1.047799205780029297e+01 955 | 2.949352264404296875e+01 956 | 2.965435791015625000e+01 957 | 1.108102798461914062e+01 958 | 1.060106372833251953e+01 959 | 1.046583271026611328e+01 960 | 1.046555900573730469e+01 961 | 1.044734096527099609e+01 962 | 1.043427085876464844e+01 963 | 1.042934322357177734e+01 964 | 1.043589115142822266e+01 965 | 1.321560001373291016e+01 966 | 1.049396228790283203e+01 967 | 2.961414527893066406e+01 968 | 2.969355773925781250e+01 969 | 1.278188133239746094e+01 970 | 1.133388900756835938e+01 971 | 1.067965316772460938e+01 972 | 1.047211170196533203e+01 973 | 1.046258258819580078e+01 974 | 1.045538711547851562e+01 975 | 1.043306159973144531e+01 976 | 1.040786933898925781e+01 977 | 1.042368602752685547e+01 978 | 1.324868869781494141e+01 979 | 1.048388576507568359e+01 980 | 3.003307723999023438e+01 981 | 3.007673645019531250e+01 982 | 1.277309894561767578e+01 983 | 1.123293209075927734e+01 984 | 1.072116947174072266e+01 985 | 1.047425460815429688e+01 986 | 1.045744609832763672e+01 987 | 1.043688297271728516e+01 988 | 1.044307613372802734e+01 989 | 1.044596385955810547e+01 990 | 1.346346092224121094e+01 991 | 1.052831363677978516e+01 992 | 1.051116466522216797e+01 993 | 3.055867767333984375e+01 994 | 1.276367187500000000e+01 995 | 1.142977046966552734e+01 996 | 1.067526435852050781e+01 997 | 1.047774791717529297e+01 998 | 1.045530414581298828e+01 999 | 1.044397640228271484e+01 1000 | 1.044353485107421875e+01 1001 | 1.045016193389892578e+01 1002 | 1.372470951080322266e+01 1003 | 1.053277111053466797e+01 1004 | 3.095937347412109375e+01 1005 | 1.164184951782226562e+01 1006 | 1.066657352447509766e+01 1007 | 1.047597217559814453e+01 1008 | 1.049497985839843750e+01 1009 | 1.046458816528320312e+01 1010 | 1.044021797180175781e+01 1011 | 1.044163894653320312e+01 1012 | 1.045014190673828125e+01 1013 | 1.400232219696044922e+01 1014 | 1.053860569000244141e+01 1015 | 1.051045513153076172e+01 1016 | 1.187174320220947266e+01 1017 | 1.066588878631591797e+01 1018 | 1.048226165771484375e+01 1019 | 1.046896743774414062e+01 1020 | 1.044823074340820312e+01 1021 | 1.044893264770507812e+01 1022 | 1.045190620422363281e+01 1023 | 1.421476650238037109e+01 1024 | 1.053322887420654297e+01 1025 | 1.053272247314453125e+01 1026 | 3.381397247314453125e+01 1027 | 1.276234912872314453e+01 1028 | 1.278490066528320312e+01 1029 | 1.071883106231689453e+01 1030 | 1.048811149597167969e+01 1031 | 1.047910499572753906e+01 1032 | 1.047286987304687500e+01 1033 | 1.044648647308349609e+01 1034 | 1.044793224334716797e+01 1035 | 1.044906044006347656e+01 1036 | 1.423071479797363281e+01 1037 | 1.053070545196533203e+01 1038 | 1.052840805053710938e+01 1039 | 3.380708312988281250e+01 1040 | 1.307755756378173828e+01 1041 | 1.250219058990478516e+01 1042 | 1.073859786987304688e+01 1043 | 1.048789787292480469e+01 1044 | 1.048445796966552734e+01 1045 | 1.046955871582031250e+01 1046 | 1.045923995971679688e+01 1047 | 1.044946861267089844e+01 1048 | 1.045737361907958984e+01 1049 | 1.423121070861816406e+01 1050 | 1.054179191589355469e+01 1051 | 1.053694057464599609e+01 1052 | 3.380057144165039062e+01 1053 | 1.105736446380615234e+01 1054 | 1.073215389251708984e+01 1055 | 1.049285888671875000e+01 1056 | 1.048750209808349609e+01 1057 | 1.046809768676757812e+01 1058 | 1.045471572875976562e+01 1059 | 1.045240592956542969e+01 1060 | 1.045918655395507812e+01 1061 | 1.423484420776367188e+01 1062 | 1.055058670043945312e+01 1063 | 1.054277706146240234e+01 1064 | 3.378150177001953125e+01 1065 | 1.208562374114990234e+01 1066 | 1.338127326965332031e+01 1067 | 1.074919319152832031e+01 1068 | 1.049054813385009766e+01 1069 | 1.049009704589843750e+01 1070 | 1.046943378448486328e+01 1071 | 1.045413398742675781e+01 1072 | 1.045303153991699219e+01 1073 | 1.046172714233398438e+01 1074 | 1.423502922058105469e+01 1075 | 1.056270027160644531e+01 1076 | 1.054745197296142578e+01 1077 | 1.209688854217529297e+01 1078 | 1.340454578399658203e+01 1079 | 1.075192356109619141e+01 1080 | 1.049647045135498047e+01 1081 | 1.049035930633544922e+01 1082 | 1.047528076171875000e+01 1083 | 1.046936130523681641e+01 1084 | 1.045507717132568359e+01 1085 | 1.046004390716552734e+01 1086 | 1.424303627014160156e+01 1087 | 1.056506824493408203e+01 1088 | 1.055355548858642578e+01 1089 | 1.341419219970703125e+01 1090 | 1.078817272186279297e+01 1091 | 1.050385951995849609e+01 1092 | 1.049392509460449219e+01 1093 | 1.048071098327636719e+01 1094 | 1.046344184875488281e+01 1095 | 1.045669937133789062e+01 1096 | 1.046357536315917969e+01 1097 | 1.426172065734863281e+01 1098 | 1.057822990417480469e+01 1099 | 1.055363750457763672e+01 1100 | 1.959666442871093750e+01 1101 | 1.070292282104492188e+01 1102 | 1.046315002441406250e+01 1103 | 1.039166259765625000e+01 1104 | 1.040691471099853516e+01 1105 | 1.042516136169433594e+01 1106 | 1.043625545501708984e+01 1107 | 1.045851802825927734e+01 1108 | 1.046353054046630859e+01 1109 | 1.469158554077148438e+01 1110 | 1.265920352935791016e+01 1111 | 1.056138515472412109e+01 1112 | 1.104646301269531250e+01 1113 | 1.076187133789062500e+01 1114 | 1.039482307434082031e+01 1115 | 1.041321563720703125e+01 1116 | 1.042265033721923828e+01 1117 | 1.043754196166992188e+01 1118 | 1.045544624328613281e+01 1119 | 1.046425437927246094e+01 1120 | 1.497838497161865234e+01 1121 | 1.268870353698730469e+01 1122 | 1.056057262420654297e+01 1123 | 3.899139785766601562e+01 1124 | 1.099496936798095703e+01 1125 | 1.053135108947753906e+01 1126 | 1.040068435668945312e+01 1127 | 1.042861080169677734e+01 1128 | 1.043804073333740234e+01 1129 | 1.045293998718261719e+01 1130 | 1.046518898010253906e+01 1131 | 1.046835327148437500e+01 1132 | 1.499676513671875000e+01 1133 | 1.272718143463134766e+01 1134 | 1.056494235992431641e+01 1135 | 3.896026611328125000e+01 1136 | 1.162766361236572266e+01 1137 | 1.093328762054443359e+01 1138 | 1.067014884948730469e+01 1139 | 1.050318241119384766e+01 1140 | 1.049311733245849609e+01 1141 | 1.049491596221923828e+01 1142 | 1.044895458221435547e+01 1143 | 1.047452545166015625e+01 1144 | 1.047011947631835938e+01 1145 | 1.505240917205810547e+01 1146 | 1.274644088745117188e+01 1147 | 1.056136322021484375e+01 1148 | 3.891435623168945312e+01 1149 | 1.191406822204589844e+01 1150 | 1.092420291900634766e+01 1151 | 1.069477748870849609e+01 1152 | 1.051412010192871094e+01 1153 | 1.050021076202392578e+01 1154 | 1.049437618255615234e+01 1155 | 1.046736240386962891e+01 1156 | 1.046825599670410156e+01 1157 | 1.047144412994384766e+01 1158 | 1.534823417663574219e+01 1159 | 1.054410648345947266e+01 1160 | 1.056484127044677734e+01 1161 | 3.891915893554687500e+01 1162 | 1.101047706604003906e+01 1163 | 1.064655590057373047e+01 1164 | 1.049987506866455078e+01 1165 | 1.051513195037841797e+01 1166 | 1.050103950500488281e+01 1167 | 1.047397136688232422e+01 1168 | 1.047545909881591797e+01 1169 | 1.047675418853759766e+01 1170 | 1.550025939941406250e+01 1171 | 1.049850177764892578e+01 1172 | 1.057228565216064453e+01 1173 | 3.896002197265625000e+01 1174 | 1.125247669219970703e+01 1175 | 1.064224433898925781e+01 1176 | 1.051821613311767578e+01 1177 | 1.050994682312011719e+01 1178 | 1.049832248687744141e+01 1179 | 1.047118854522705078e+01 1180 | 1.046827507019042969e+01 1181 | 1.047912120819091797e+01 1182 | 1.557890987396240234e+01 1183 | 1.056925964355468750e+01 1184 | 1.125781345367431641e+01 1185 | 1.065029907226562500e+01 1186 | 1.051643753051757812e+01 1187 | 1.051197338104248047e+01 1188 | 1.049838924407958984e+01 1189 | 1.047886466979980469e+01 1190 | 1.047785568237304688e+01 1191 | 1.048108959197998047e+01 1192 | 1.058670043945312500e+01 1193 | 1.049544620513916016e+01 1194 | 1.057714748382568359e+01 1195 | 1.126270484924316406e+01 1196 | 1.064644336700439453e+01 1197 | 1.051997470855712891e+01 1198 | 1.051549339294433594e+01 1199 | 1.050954055786132812e+01 1200 | 1.058203983306884766e+01 1201 | 1.060007953643798828e+01 1202 | 1.058972644805908203e+01 1203 | 1.061133480072021484e+01 1204 | 1.278329467773437500e+01 1205 | 1.057325458526611328e+01 1206 | 1.128500080108642578e+01 1207 | 1.068633556365966797e+01 1208 | 1.060578536987304688e+01 1209 | 1.056723880767822266e+01 1210 | 1.064914417266845703e+01 1211 | 1.161127662658691406e+01 1212 | 1.802451705932617188e+01 1213 | 1.800255012512207031e+01 1214 | 1.576425457000732422e+01 1215 | 1.279273700714111328e+01 1216 | 1.265712547302246094e+01 1217 | 1.147734260559082031e+01 1218 | 1.301815414428710938e+01 1219 | 1.072226238250732422e+01 1220 | 1.080502128601074219e+01 1221 | 1.089334583282470703e+01 1222 | 1.688127517700195312e+01 1223 | 1.802396583557128906e+01 1224 | 1.801643371582031250e+01 1225 | 1.576777744293212891e+01 1226 | 1.280105495452880859e+01 1227 | 2.680029487609863281e+01 1228 | 1.268345260620117188e+01 1229 | 1.168330955505371094e+01 1230 | 1.166190242767333984e+01 1231 | 1.099686050415039062e+01 1232 | 1.109487915039062500e+01 1233 | 1.691759109497070312e+01 1234 | 1.803234100341796875e+01 1235 | 1.802184677124023438e+01 1236 | 1.577913856506347656e+01 1237 | 1.140076351165771484e+01 1238 | 2.658202552795410156e+01 1239 | 1.269967269897460938e+01 1240 | 1.284805870056152344e+01 1241 | 1.284753131866455078e+01 1242 | 1.133425235748291016e+01 1243 | 1.144640541076660156e+01 1244 | 1.152516555786132812e+01 1245 | 1.803895950317382812e+01 1246 | 1.802375030517578125e+01 1247 | 1.577951240539550781e+01 1248 | 1.173328685760498047e+01 1249 | 2.641031074523925781e+01 1250 | 3.677811431884765625e+01 1251 | 1.271746635437011719e+01 1252 | 1.285448551177978516e+01 1253 | 1.303367996215820312e+01 1254 | 1.165235900878906250e+01 1255 | 1.177969264984130859e+01 1256 | 1.186040878295898438e+01 1257 | 1.803100967407226562e+01 1258 | 1.804899215698242188e+01 1259 | 1.803267097473144531e+01 1260 | 1.578121471405029297e+01 1261 | 1.207730197906494141e+01 1262 | 2.639946746826171875e+01 1263 | 3.639292907714843750e+01 1264 | 1.271612071990966797e+01 1265 | 1.266827487945556641e+01 1266 | 1.264742088317871094e+01 1267 | 1.201938343048095703e+01 1268 | 1.213593101501464844e+01 1269 | 1.220254325866699219e+01 1270 | 1.808185958862304688e+01 1271 | 1.804648399353027344e+01 1272 | 1.803208160400390625e+01 1273 | 1.578039360046386719e+01 1274 | 1.242491531372070312e+01 1275 | 2.772432708740234375e+01 1276 | 3.639778137207031250e+01 1277 | 1.273998165130615234e+01 1278 | 1.286379337310791016e+01 1279 | 1.304147434234619141e+01 1280 | 1.236235809326171875e+01 1281 | 1.247667026519775391e+01 1282 | 1.813878059387207031e+01 1283 | 1.805599212646484375e+01 1284 | 1.803577995300292969e+01 1285 | 1.578543567657470703e+01 1286 | 2.700735092163085938e+01 1287 | 2.736070060729980469e+01 1288 | 3.669672775268554688e+01 1289 | 1.276089859008789062e+01 1290 | 1.286548137664794922e+01 1291 | 1.304920196533203125e+01 1292 | 1.274027442932128906e+01 1293 | 1.287620353698730469e+01 1294 | 1.298807239532470703e+01 1295 | 1.805126571655273438e+01 1296 | 1.804266929626464844e+01 1297 | 1.580460548400878906e+01 1298 | 2.744661140441894531e+01 1299 | 2.686262321472167969e+01 1300 | 3.673360824584960938e+01 1301 | 1.319031143188476562e+01 1302 | 1.321783542633056641e+01 1303 | 1.316741943359375000e+01 1304 | 1.326137256622314453e+01 1305 | 1.341165351867675781e+01 1306 | 1.803353881835937500e+01 1307 | 1.804273033142089844e+01 1308 | 1.804965591430664062e+01 1309 | 1.582132434844970703e+01 1310 | 3.257867050170898438e+01 1311 | 2.701657676696777344e+01 1312 | 1.354136848449707031e+01 1313 | 1.366150569915771484e+01 1314 | 1.363808250427246094e+01 1315 | 1.373617362976074219e+01 1316 | 1.387930202484130859e+01 1317 | 1.806964492797851562e+01 1318 | 1.805055809020996094e+01 1319 | 1.410819053649902344e+01 1320 | 5.833941650390625000e+01 1321 | 2.776605224609375000e+01 1322 | 3.581290054321289062e+01 1323 | 1.432695484161376953e+01 1324 | 1.409386634826660156e+01 1325 | 1.404776763916015625e+01 1326 | 1.807124519348144531e+01 1327 | 1.807066345214843750e+01 1328 | 1.805617904663085938e+01 1329 | 1.461600971221923828e+01 1330 | 3.263893508911132812e+01 1331 | 3.919587326049804688e+01 1332 | 3.600202560424804688e+01 1333 | 1.893797874450683594e+01 1334 | 1.449616527557373047e+01 1335 | 1.575113010406494141e+01 1336 | 1.594884300231933594e+01 1337 | 1.807422447204589844e+01 1338 | 1.807489585876464844e+01 1339 | 1.806233406066894531e+01 1340 | 1.515620326995849609e+01 1341 | 3.283965682983398438e+01 1342 | 3.543045806884765625e+01 1343 | 3.608602905273437500e+01 1344 | 1.465498924255371094e+01 1345 | 1.471904087066650391e+01 1346 | 1.485140800476074219e+01 1347 | 1.627432823181152344e+01 1348 | 1.648191452026367188e+01 1349 | 1.807583618164062500e+01 1350 | 1.807846069335937500e+01 1351 | 1.806199455261230469e+01 1352 | 1.569660854339599609e+01 1353 | 3.294857788085937500e+01 1354 | 3.511154556274414062e+01 1355 | 3.574047088623046875e+01 1356 | 1.525812053680419922e+01 1357 | 1.537736320495605469e+01 1358 | 1.660288810729980469e+01 1359 | 1.807875061035156250e+01 1360 | 1.808397483825683594e+01 1361 | 1.806748962402343750e+01 1362 | 3.204105758666992188e+01 1363 | 4.038121795654296875e+01 1364 | 3.517857742309570312e+01 1365 | 3.611880874633789062e+01 1366 | 1.622756767272949219e+01 1367 | 1.597067832946777344e+01 1368 | 1.808097839355468750e+01 1369 | 1.808230972290039062e+01 1370 | 1.806321144104003906e+01 1371 | 3.279209518432617188e+01 1372 | 4.329422760009765625e+01 1373 | 3.468251419067382812e+01 1374 | 3.714260864257812500e+01 1375 | 1.660319900512695312e+01 1376 | 1.661776542663574219e+01 1377 | 1.815275382995605469e+01 1378 | 1.809882545471191406e+01 1379 | 1.801586914062500000e+01 1380 | 1.801922798156738281e+01 1381 | 1.784052848815917969e+01 1382 | 3.299357604980468750e+01 1383 | 3.684362411499023438e+01 1384 | 3.449073791503906250e+01 1385 | 1.728064155578613281e+01 1386 | 1.731145858764648438e+01 1387 | 1.808892631530761719e+01 1388 | 1.817115211486816406e+01 1389 | 1.809196281433105469e+01 1390 | 1.800243949890136719e+01 1391 | 1.811132240295410156e+01 1392 | 3.790567398071289062e+01 1393 | 4.117959213256835938e+01 1394 | 3.457161712646484375e+01 1395 | 1.908860397338867188e+01 1396 | 1.640598678588867188e+01 1397 | 1.914071655273437500e+01 1398 | 4.547370147705078125e+01 1399 | 1.812491989135742188e+01 1400 | 3.356250381469726562e+01 1401 | 3.646845245361328125e+01 1402 | 3.727213287353515625e+01 1403 | 3.460783386230468750e+01 1404 | 3.851658248901367188e+01 1405 | 1.946780014038085938e+01 1406 | 1.966132736206054688e+01 1407 | 2.009492492675781250e+01 1408 | 6.868460845947265625e+01 1409 | 1.978033447265625000e+01 1410 | 3.758939361572265625e+01 1411 | 3.628782272338867188e+01 1412 | 3.652203369140625000e+01 1413 | 3.631472396850585938e+01 1414 | 3.853509140014648438e+01 1415 | 1.659400558471679688e+01 1416 | 1.648949050903320312e+01 1417 | 1.643630599975585938e+01 1418 | 6.882034301757812500e+01 1419 | 3.721302413940429688e+01 1420 | 3.682203674316406250e+01 1421 | 3.628342819213867188e+01 1422 | 3.913212203979492188e+01 1423 | 3.709148788452148438e+01 1424 | 3.862283325195312500e+01 1425 | 1.661518669128417969e+01 1426 | 3.393928527832031250e+01 1427 | 1.686500167846679688e+01 1428 | 6.906458282470703125e+01 1429 | 4.604027557373046875e+01 1430 | 3.738033294677734375e+01 1431 | 3.573376846313476562e+01 1432 | 3.642274093627929688e+01 1433 | 3.917700576782226562e+01 1434 | 4.014317321777343750e+01 1435 | 3.624304199218750000e+01 1436 | 1.659984588623046875e+01 1437 | 1.653449440002441406e+01 1438 | 1.646978187561035156e+01 1439 | 1.674897193908691406e+01 1440 | 6.991118621826171875e+01 1441 | 3.962366867065429688e+01 1442 | 3.863545608520507812e+01 1443 | 3.577515411376953125e+01 1444 | 1.666717147827148438e+01 1445 | 1.600399971008300781e+00 1446 | 2.386394739151000977e+00 1447 | 3.175883054733276367e+00 1448 | 4.273466587066650391e+00 1449 | 4.896128654479980469e+00 1450 | 1.174424216151237488e-02 1451 | 5.854866504669189453e-01 1452 | 1.636638045310974121e+00 1453 | 2.407850027084350586e+00 1454 | 3.203573465347290039e+00 1455 | 4.939757347106933594e+00 1456 | -1.005027770996093750e+00 1457 | -5.739474296569824219e-01 1458 | 1.181805692613124847e-02 1459 | 5.876398086547851562e-01 1460 | 1.642822861671447754e+00 1461 | 2.431285381317138672e+00 1462 | 3.234267234802246094e+00 1463 | -1.188319563865661621e+00 1464 | -1.005509138107299805e+00 1465 | -5.751217603683471680e-01 1466 | 1.193709019571542740e-02 1467 | 5.853912830352783203e-01 1468 | 1.647484660148620605e+00 1469 | 2.453447580337524414e+00 1470 | 3.262708187103271484e+00 1471 | -1.501649141311645508e+00 1472 | -1.336822390556335449e+00 1473 | -1.189226984977722168e+00 1474 | -1.007266163825988770e+00 1475 | -5.797598958015441895e-01 1476 | 1.216206792742013931e-02 1477 | 5.847402811050415039e-01 1478 | 2.476887464523315430e+00 1479 | 3.296219110488891602e+00 1480 | 5.507618904113769531e+00 1481 | -1.337144494056701660e+00 1482 | -1.190686821937561035e+00 1483 | -1.008298993110656738e+00 1484 | -5.824883580207824707e-01 1485 | 1.240682695060968399e-02 1486 | 6.050283908843994141e-01 1487 | 1.678873419761657715e+00 1488 | 2.500747680664062500e+00 1489 | 3.327105283737182617e+00 1490 | 3.609821796417236328e+00 1491 | 4.169772148132324219e+00 1492 | 4.830289840698242188e+00 1493 | 5.487600326538085938e+00 1494 | -1.340221643447875977e+00 1495 | -1.192009449005126953e+00 1496 | -1.008871078491210938e+00 1497 | -5.884161591529846191e-01 1498 | 1.296680513769388199e-02 1499 | 5.996368527412414551e-01 1500 | 1.694096565246582031e+00 1501 | 2.524749994277954102e+00 1502 | 3.495596885681152344e+00 1503 | 4.161444187164306641e+00 1504 | 4.814061641693115234e+00 1505 | 5.470561027526855469e+00 1506 | -1.343116760253906250e+00 1507 | -1.182603240013122559e+00 1508 | -5.745161175727844238e-01 1509 | 1.351845078170299530e-02 1510 | 6.238977313041687012e-01 1511 | 2.124628305435180664e+00 1512 | 2.803695917129516602e+00 1513 | 3.483028173446655273e+00 1514 | 4.148070335388183594e+00 1515 | 4.799462795257568359e+00 1516 | 5.452399730682373047e+00 1517 | -1.346747994422912598e+00 1518 | -1.191768050193786621e+00 1519 | -1.002909064292907715e+00 1520 | -5.812931060791015625e-01 1521 | 1.410212926566600800e-02 1522 | 6.344211697578430176e-01 1523 | 1.429632663726806641e+00 1524 | 2.118201017379760742e+00 1525 | 2.794575929641723633e+00 1526 | 3.470926284790039062e+00 1527 | 4.129649639129638672e+00 1528 | 4.784536361694335938e+00 1529 | 5.436471462249755859e+00 1530 | -1.348908305168151855e+00 1531 | -1.192542195320129395e+00 1532 | -9.997470974922180176e-01 1533 | -5.733105540275573730e-01 1534 | 1.419164054095745087e-02 1535 | 7.255148887634277344e-01 1536 | 1.425907135009765625e+00 1537 | 2.111489295959472656e+00 1538 | 2.786018610000610352e+00 1539 | 3.461633682250976562e+00 1540 | 4.767977237701416016e+00 1541 | 5.417934894561767578e+00 1542 | -1.349415540695190430e+00 1543 | -1.192077636718750000e+00 1544 | -5.679630041122436523e-01 1545 | 8.087572496151551604e-06 1546 | 1.708556413650512695e+00 1547 | 4.753703594207763672e+00 1548 | -1.342384457588195801e+00 1549 | -1.193815946578979492e+00 1550 | -5.671018362045288086e-01 1551 | 2.800175547599792480e-01 1552 | 2.766460418701171875e+00 1553 | 3.435785055160522461e+00 1554 | 1.701307535171508789e+00 1555 | 4.752146720886230469e+00 1556 | -1.342525124549865723e+00 1557 | -1.194041609764099121e+00 1558 | -5.661510229110717773e-01 1559 | -2.799323201179504395e-01 1560 | 2.633732583490200341e-05 1561 | 2.792817950248718262e-01 1562 | 5.590666532516479492e-01 1563 | 8.400042653083801270e-01 1564 | 2.758836746215820312e+00 1565 | 3.433750391006469727e+00 1566 | 1.697141051292419434e+00 1567 | 4.793972969055175781e+00 1568 | 5.496704101562500000e+00 1569 | -1.343952417373657227e+00 1570 | -1.193855881690979004e+00 1571 | -5.652922391891479492e-01 1572 | -2.790059149265289307e-01 1573 | 3.257722710259258747e-05 1574 | 2.785935699939727783e-01 1575 | 5.571061372756958008e-01 1576 | 8.373537063598632812e-01 1577 | 2.768486022949218750e+00 1578 | 3.465450286865234375e+00 1579 | 1.691012144088745117e+00 1580 | 4.847542762756347656e+00 1581 | 5.554477214813232422e+00 1582 | -1.354570746421813965e+00 1583 | -1.190919637680053711e+00 1584 | -5.637043714523315430e-01 1585 | -2.783460915088653564e-01 1586 | 3.421613655518740416e-05 1587 | 2.777115702629089355e-01 1588 | 5.565727949142456055e-01 1589 | 8.354102373123168945e-01 1590 | 2.801417350769042969e+00 1591 | 3.504881858825683594e+00 1592 | 1.686564803123474121e+00 1593 | 4.900134086608886719e+00 1594 | 5.619694709777832031e+00 1595 | -1.368129849433898926e+00 1596 | -1.196096897125244141e+00 1597 | -5.627553462982177734e-01 1598 | -2.747991681098937988e-01 1599 | -4.499942224356345832e-05 1600 | 2.757147252559661865e-01 1601 | 5.545160174369812012e-01 1602 | 8.333255052566528320e-01 1603 | 1.111934542655944824e+00 1604 | 3.542438268661499023e+00 1605 | 1.680435776710510254e+00 1606 | 4.953054428100585938e+00 1607 | 5.670394420623779297e+00 1608 | -1.382606506347656250e+00 1609 | -1.197975277900695801e+00 1610 | -5.609851479530334473e-01 1611 | -2.743616998195648193e-01 1612 | -4.071902367286384106e-05 1613 | 2.751714885234832764e-01 1614 | 5.529357194900512695e-01 1615 | 8.312393426895141602e-01 1616 | 3.579764366149902344e+00 1617 | 1.679350972175598145e+00 1618 | 5.437227249145507812e+00 1619 | -1.199992060661315918e+00 1620 | -5.571199059486389160e-01 1621 | -2.742371559143066406e-01 1622 | 2.518847759347409010e-05 1623 | 2.757880985736846924e-01 1624 | 5.528765916824340820e-01 1625 | 8.297188878059387207e-01 1626 | 3.833806753158569336e+00 1627 | 1.672939062118530273e+00 1628 | 5.420339584350585938e+00 1629 | 6.241977691650390625e+00 1630 | -1.415973067283630371e+00 1631 | -9.033299684524536133e-01 1632 | -2.755787968635559082e-01 1633 | 6.278244109125807881e-05 1634 | 2.751456499099731445e-01 1635 | 5.517696738243103027e-01 1636 | 8.274898529052734375e-01 1637 | 1.104531288146972656e+00 1638 | 1.628700375556945801e+00 1639 | 1.671012043952941895e+00 1640 | 5.405733585357666016e+00 1641 | 6.221577167510986328e+00 1642 | -1.433023691177368164e+00 1643 | -8.562644124031066895e-01 1644 | -5.545876622200012207e-01 1645 | -2.748331129550933838e-01 1646 | 7.774822734063491225e-05 1647 | 2.745997607707977295e-01 1648 | 5.506626963615417480e-01 1649 | 8.255436420440673828e-01 1650 | 1.101937413215637207e+00 1651 | 1.652637004852294922e+00 1652 | 1.668244004249572754e+00 1653 | 5.387864112854003906e+00 1654 | 6.205269336700439453e+00 1655 | -8.434398770332336426e-01 1656 | -1.004048347473144531e+00 1657 | -2.743547558784484863e-01 1658 | 8.905962022254243493e-05 1659 | 2.741011977195739746e-01 1660 | 5.490790009498596191e-01 1661 | 8.237394094467163086e-01 1662 | 1.099531531333923340e+00 1663 | 1.676574230194091797e+00 1664 | 1.664354324340820312e+00 1665 | 5.373257637023925781e+00 1666 | 6.183375835418701172e+00 1667 | -8.487679362297058105e-01 1668 | -5.536060929298400879e-01 1669 | -2.736532688140869141e-01 1670 | 9.688980935607105494e-05 1671 | 2.735065519809722900e-01 1672 | 5.478765368461608887e-01 1673 | 8.213673830032348633e-01 1674 | 1.096936106681823730e+00 1675 | 1.701919078826904297e+00 1676 | 1.657940745353698730e+00 1677 | 5.356037616729736328e+00 1678 | 6.171536445617675781e+00 1679 | -8.685339093208312988e-01 1680 | -5.551217198371887207e-01 1681 | -2.729535102844238281e-01 1682 | 9.842356666922569275e-05 1683 | 2.726198732852935791e-01 1684 | 5.467679500579833984e-01 1685 | 8.194193840026855469e-01 1686 | 1.093777179718017578e+00 1687 | 1.726559638977050781e+00 1688 | 1.656292200088500977e+00 1689 | 5.364588737487792969e+00 1690 | 6.164530754089355469e+00 1691 | -1.326274514198303223e+00 1692 | -8.852736949920654297e-01 1693 | -5.576405525207519531e-01 1694 | -2.724321484565734863e-01 1695 | 9.894426329992711544e-05 1696 | 2.721683979034423828e-01 1697 | 5.453733801841735840e-01 1698 | 8.157725930213928223e-01 1699 | 1.089866399765014648e+00 1700 | 1.726597547531127930e+00 1701 | 1.650717973709106445e+00 1702 | 5.426640987396240234e+00 1703 | 6.228261470794677734e+00 1704 | -1.322194814682006836e+00 1705 | -8.756151795387268066e-01 1706 | -5.583363175392150879e-01 1707 | -2.718220651149749756e-01 1708 | 2.715713977813720703e-01 1709 | 5.442632436752319336e-01 1710 | 8.165129423141479492e-01 1711 | 1.089523196220397949e+00 1712 | 1.749832391738891602e+00 1713 | 1.653553843498229980e+00 1714 | 1.929717540740966797e+00 1715 | 6.312095165252685547e+00 1716 | -1.318115830421447754e+00 1717 | -8.880919814109802246e-01 1718 | -5.547491312026977539e-01 1719 | -2.712575197219848633e-01 1720 | 2.708765566349029541e-01 1721 | 5.433434844017028809e-01 1722 | 8.145643472671508789e-01 1723 | 1.087302803993225098e+00 1724 | 1.778924703598022461e+00 1725 | 1.650222897529602051e+00 1726 | 6.379175186157226562e+00 1727 | -1.203596115112304688e+00 1728 | -5.529845356941223145e-01 1729 | -2.705588340759277344e-01 1730 | 1.468783884774893522e-04 1731 | 2.704730629920959473e-01 1732 | 5.418530106544494629e-01 1733 | 8.124735951423645020e-01 1734 | 1.084705591201782227e+00 1735 | 1.809893608093261719e+00 1736 | 1.647171735763549805e+00 1737 | 1.920322179794311523e+00 1738 | -1.223592400550842285e+00 1739 | -5.516770482063293457e-01 1740 | -2.700837850570678711e-01 1741 | 2.699716389179229736e-01 1742 | 5.410271883010864258e-01 1743 | 8.112300038337707520e-01 1744 | 1.082482457160949707e+00 1745 | 1.832660317420959473e+00 1746 | 1.642716050148010254e+00 1747 | 1.920026540756225586e+00 1748 | 6.929578304290771484e+00 1749 | -1.308821320533752441e+00 1750 | -9.818906784057617188e-01 1751 | -5.530130267143249512e-01 1752 | -2.696091532707214355e-01 1753 | 1.375152205582708120e-04 1754 | 2.694690823554992676e-01 1755 | 5.397250056266784668e-01 1756 | 8.092799186706542969e-01 1757 | 1.079696536064147949e+00 1758 | 1.830587983131408691e+00 1759 | 1.638542413711547852e+00 1760 | 1.914837718009948730e+00 1761 | 6.912891864776611328e+00 1762 | -1.336900234222412109e+00 1763 | -9.588984251022338867e-01 1764 | -5.527080297470092773e-01 1765 | -2.690019309520721436e-01 1766 | 1.473315351177006960e-04 1767 | 2.687734663486480713e-01 1768 | 5.391840338706970215e-01 1769 | 8.076115846633911133e-01 1770 | 1.078223466873168945e+00 1771 | 1.826639890670776367e+00 1772 | 1.636610150337219238e+00 1773 | 1.912256836891174316e+00 1774 | 6.896576404571533203e+00 1775 | -8.506733179092407227e-01 1776 | -5.512207746505737305e-01 1777 | -2.685280144214630127e-01 1778 | 1.547980646137148142e-04 1779 | 2.681723833084106445e-01 1780 | 5.377858877182006836e-01 1781 | 8.060840964317321777e-01 1782 | 1.076000094413757324e+00 1783 | 1.823160767555236816e+00 1784 | 1.634396672248840332e+00 1785 | 1.909024953842163086e+00 1786 | 6.878025531768798828e+00 1787 | -1.233751654624938965e+00 1788 | -1.019182443618774414e+00 1789 | -5.508252978324890137e-01 1790 | -2.678762376308441162e-01 1791 | 1.618669775780290365e-04 1792 | 2.676208019256591797e-01 1793 | 5.365780591964721680e-01 1794 | 8.044146895408630371e-01 1795 | 1.073963403701782227e+00 1796 | 1.819212794303894043e+00 1797 | 1.632743835449218750e+00 1798 | 1.905791640281677246e+00 1799 | -1.232249975204467773e+00 1800 | -1.018737196922302246e+00 1801 | -5.497937798500061035e-01 1802 | -2.674480080604553223e-01 1803 | 1.662951981415972114e-04 1804 | 2.672134041786193848e-01 1805 | 5.362262725830078125e-01 1806 | 8.028861284255981445e-01 1807 | 1.071550130844116211e+00 1808 | 1.816435098648071289e+00 1809 | 1.629688501358032227e+00 1810 | 1.902884244918823242e+00 1811 | -1.017329454421997070e+00 1812 | -5.504023432731628418e-01 1813 | -2.670646011829376221e-01 1814 | 1.739082363201305270e-04 1815 | 2.668058872222900391e-01 1816 | 5.348264575004577637e-01 1817 | 8.013577461242675781e-01 1818 | 1.069700598716735840e+00 1819 | 1.815062403678894043e+00 1820 | 1.628315567970275879e+00 1821 | 1.898997306823730469e+00 1822 | 3.990847110748291016e+00 1823 | -8.176997900009155273e-01 1824 | -5.336089730262756348e-01 1825 | -2.638864219188690186e-01 1826 | 8.387445268454030156e-05 1827 | 2.648462057113647461e-01 1828 | 5.323787927627563477e-01 1829 | 7.998292446136474609e-01 1830 | 1.067475557327270508e+00 1831 | 1.865010499954223633e+00 1832 | 1.936204910278320312e+00 1833 | 1.896416068077087402e+00 1834 | -8.410404920578002930e-01 1835 | -5.468829870223999023e-01 1836 | -2.634142637252807617e-01 1837 | 9.462629532208666205e-05 1838 | 2.642441689968109131e-01 1839 | 5.313594341278076172e-01 1840 | 7.980164289474487305e-01 1841 | 1.065436601638793945e+00 1842 | 1.896915912628173828e+00 1843 | 1.936796069145202637e+00 1844 | 1.892528414726257324e+00 1845 | 7.848620891571044922e+00 1846 | -8.356512784957885742e-01 1847 | -5.347378253936767578e-01 1848 | -2.630326747894287109e-01 1849 | 1.155638237833045423e-04 1850 | 2.641257643699645996e-01 1851 | 5.311006903648376465e-01 1852 | 7.971941232681274414e-01 1853 | 1.063773393630981445e+00 1854 | 1.895542621612548828e+00 1855 | 1.938788175582885742e+00 1856 | 1.889619350433349609e+00 1857 | 7.827461242675781250e+00 1858 | -1.174408316612243652e+00 1859 | -8.295761942863464355e-01 1860 | -5.403596758842468262e-01 1861 | -2.649132907390594482e-01 1862 | 1.899520430015400052e-04 1863 | 2.650736570358276367e-01 1864 | 5.298895239830017090e-01 1865 | 7.963710427284240723e-01 1866 | 1.061921596527099609e+00 1867 | 1.898855447769165039e+00 1868 | 1.937976360321044922e+00 1869 | 1.885404348373413086e+00 1870 | 7.803693294525146484e+00 1871 | -1.199919223785400391e+00 1872 | -8.273496627807617188e-01 1873 | -5.405150651931762695e-01 1874 | -2.646653950214385986e-01 1875 | 2.016583748627454042e-04 1876 | 2.645666599273681641e-01 1877 | 5.298203825950622559e-01 1878 | 7.944154739379882812e-01 1879 | 1.060069203376770020e+00 1880 | 1.931931257247924805e+00 1881 | 1.607422590255737305e+00 1882 | 1.882493734359741211e+00 1883 | 7.790347576141357422e+00 1884 | -8.319959640502929688e-01 1885 | -5.372093319892883301e-01 1886 | -2.638408541679382324e-01 1887 | 2.219474554294720292e-04 1888 | 2.642529904842376709e-01 1889 | 5.291794538497924805e-01 1890 | 7.934509515762329102e-01 1891 | 1.058593153953552246e+00 1892 | 1.947195291519165039e+00 1893 | 1.597635269165039062e+00 1894 | 1.880236506462097168e+00 1895 | 7.784448146820068359e+00 1896 | -8.479140400886535645e-01 1897 | -5.359987616539001465e-01 1898 | -2.637701630592346191e-01 1899 | 2.206530625699087977e-04 1900 | 2.636976242065429688e-01 1901 | 5.280630588531494141e-01 1902 | 7.914940118789672852e-01 1903 | 1.056927442550659180e+00 1904 | 1.953320741653442383e+00 1905 | 1.876346468925476074e+00 1906 | -8.467884063720703125e-01 1907 | -5.354270339012145996e-01 1908 | -2.632573843002319336e-01 1909 | 2.270704135298728943e-04 1910 | 2.632376551628112793e-01 1911 | 5.275166034698486328e-01 1912 | 7.908109426498413086e-01 1913 | 1.055261731147766113e+00 1914 | 1.335578322410583496e+00 1915 | 1.591516852378845215e+00 1916 | 1.874413728713989258e+00 1917 | -8.456634283065795898e-01 1918 | -5.343089699745178223e-01 1919 | -2.628781199455261230e-01 1920 | 2.349720598431304097e-04 1921 | 2.630680203437805176e-01 1922 | 5.317313671112060547e-01 1923 | 7.984810471534729004e-01 1924 | 1.064115405082702637e+00 1925 | 1.336305975914001465e+00 1926 | 1.926059126853942871e+00 1927 | 1.870522618293762207e+00 1928 | -8.457752466201782227e-01 1929 | -5.352864861488342285e-01 1930 | -2.644061148166656494e-01 1931 | 2.953268704004585743e-04 1932 | 2.661474049091339111e-01 1933 | 5.818520188331604004e-01 1934 | 1.344877958297729492e+00 1935 | 1.789245128631591797e+00 1936 | 1.966065287590026855e+00 1937 | 1.924123525619506836e+00 1938 | -1.258364200592041016e+00 1939 | -8.581203818321228027e-01 1940 | -6.447550058364868164e-01 1941 | -2.666439116001129150e-01 1942 | 5.555679090321063995e-04 1943 | 2.718465328216552734e-01 1944 | 8.416971564292907715e-01 1945 | 1.342643141746520996e+00 1946 | 1.787771582603454590e+00 1947 | 1.963281273841857910e+00 1948 | 1.922186732292175293e+00 1949 | 4.648619651794433594e+00 1950 | -1.258890867233276367e+00 1951 | -8.714278936386108398e-01 1952 | -5.795994997024536133e-01 1953 | -2.725180089473724365e-01 1954 | 2.764773964881896973e-01 1955 | 8.421085476875305176e-01 1956 | 1.341115832328796387e+00 1957 | 1.785361051559448242e+00 1958 | 1.961435556411743164e+00 1959 | 1.713590621948242188e+00 1960 | 4.603631496429443359e+00 1961 | -1.258313298225402832e+00 1962 | -9.530413150787353516e-01 1963 | -6.345922946929931641e-01 1964 | -2.798103988170623779e-01 1965 | 1.254304545000195503e-03 1966 | 2.868324220180511475e-01 1967 | 1.339447498321533203e+00 1968 | 1.782760262489318848e+00 1969 | 1.958415985107421875e+00 1970 | 1.759601116180419922e+00 1971 | 4.567122459411621094e+00 1972 | 7.266505718231201172e+00 1973 | -1.258105874061584473e+00 1974 | -9.520552158355712891e-01 1975 | -6.424022316932678223e-01 1976 | -2.866596579551696777e-01 1977 | 1.616487279534339905e-03 1978 | 2.948096990585327148e-01 1979 | 8.943600654602050781e-01 1980 | 1.338200807571411133e+00 1981 | 1.780910372734069824e+00 1982 | 1.955630302429199219e+00 1983 | 1.807293176651000977e+00 1984 | 4.558348178863525391e+00 1985 | 7.180163383483886719e+00 1986 | -1.256061315536499023e+00 1987 | -9.373250007629394531e-01 1988 | -6.232501268386840820e-01 1989 | -2.946178317070007324e-01 1990 | 2.002931898459792137e-03 1991 | 3.029329478740692139e-01 1992 | 8.955310583114624023e-01 1993 | 1.335964441299438477e+00 1994 | 1.778121232986450195e+00 1995 | 1.952609658241271973e+00 1996 | 1.855267405509948730e+00 1997 | 4.777330398559570312e+00 1998 | 7.170524120330810547e+00 1999 | -1.256404519081115723e+00 2000 | -9.498081803321838379e-01 2001 | -6.408055424690246582e-01 2002 | -3.019984960556030273e-01 2003 | 2.372016431763768196e-03 2004 | 8.969882726669311523e-01 2005 | 1.334717035293579102e+00 2006 | 1.775894641876220703e+00 2007 | 1.950292587280273438e+00 2008 | 3.979133367538452148e+00 2009 | 4.708515644073486328e+00 2010 | 7.218228816986083984e+00 2011 | -1.256565332412719727e+00 2012 | -9.485483169555664062e-01 2013 | -6.402356624603271484e-01 2014 | -3.101778626441955566e-01 2015 | 2.803530776873230934e-03 2016 | 3.216546177864074707e-01 2017 | 1.332478046417236328e+00 2018 | 1.774042487144470215e+00 2019 | 1.949848294258117676e+00 2020 | 4.037491798400878906e+00 2021 | 4.617184162139892578e+00 2022 | 7.215289115905761719e+00 2023 | -1.295488238334655762e+00 2024 | -6.472264528274536133e-01 2025 | -3.194656074047088623e-01 2026 | 3.219333710148930550e-03 2027 | 3.317671418190002441e-01 2028 | 8.893252015113830566e-01 2029 | 1.329956173896789551e+00 2030 | 1.772190451622009277e+00 2031 | 1.949169397354125977e+00 2032 | 4.778100967407226562e+00 2033 | 4.636795520782470703e+00 2034 | -1.326878786087036133e+00 2035 | -6.670588254928588867e-01 2036 | -3.297287225723266602e-01 2037 | 3.730337368324398994e-03 2038 | 3.429475426673889160e-01 2039 | 1.330122709274291992e+00 2040 | 1.769959688186645508e+00 2041 | 1.739190816879272461e+00 2042 | 8.512999534606933594e+00 2043 | 4.757883071899414062e+00 2044 | 7.016896247863769531e+00 2045 | -6.972759962081909180e-01 2046 | -3.396371901035308838e-01 2047 | 4.065953660756349564e-03 2048 | 8.888034224510192871e-01 2049 | 1.328448414802551270e+00 2050 | 1.768106937408447266e+00 2051 | 1.798276662826538086e+00 2052 | 4.774242401123046875e+00 2053 | 6.687356948852539062e+00 2054 | 7.044486045837402344e+00 2055 | -9.114680886268615723e-01 2056 | -3.483032882213592529e-01 2057 | 5.890741944313049316e-03 2058 | 3.934447765350341797e-01 2059 | 8.877803087234497070e-01 2060 | 1.327056407928466797e+00 2061 | 1.766439914703369141e+00 2062 | 1.861112952232360840e+00 2063 | 4.797268390655517578e+00 2064 | 6.041958332061767578e+00 2065 | 7.051596164703369141e+00 2066 | -1.068137884140014648e+00 2067 | -7.137167453765869141e-01 2068 | -3.559067547321319580e-01 2069 | 6.450569722801446915e-03 2070 | 4.061772227287292480e-01 2071 | 8.867557048797607422e-01 2072 | 1.325663328170776367e+00 2073 | 1.764208555221557617e+00 2074 | 1.923948407173156738e+00 2075 | 4.807114124298095703e+00 2076 | 5.980644702911376953e+00 2077 | 6.976039409637451172e+00 2078 | -7.379220724105834961e-01 2079 | -3.673669099807739258e-01 2080 | 6.801643408834934235e-03 2081 | 8.858259320259094238e-01 2082 | 1.324412107467651367e+00 2083 | 1.762541174888610840e+00 2084 | 3.889963388442993164e+00 2085 | 5.875267028808593750e+00 2086 | 5.984592914581298828e+00 2087 | 7.040861606597900391e+00 2088 | -7.820717096328735352e-01 2089 | -3.803340494632720947e-01 2090 | 8.848947882652282715e-01 2091 | 1.322735071182250977e+00 2092 | 1.760119795799255371e+00 2093 | 3.975776195526123047e+00 2094 | 6.288920402526855469e+00 2095 | 5.894233226776123047e+00 2096 | 7.230424880981445312e+00 2097 | -7.986273169517517090e-01 2098 | -3.944982290267944336e-01 2099 | 8.455176837742328644e-03 2100 | 4.447144567966461182e-01 2101 | 8.807244300842285156e-01 2102 | 1.316666841506958008e+00 2103 | 1.736658096313476562e+00 2104 | 3.995491504669189453e+00 2105 | 5.351780891418457031e+00 2106 | 5.855105400085449219e+00 2107 | -8.291158080101013184e-01 2108 | -4.096813797950744629e-01 2109 | 8.385677821934223175e-03 2110 | 4.459973573684692383e-01 2111 | 8.834133744239807129e-01 2112 | 1.313997030258178711e+00 2113 | 1.760725855827331543e+00 2114 | 4.580542564392089844e+00 2115 | 5.970421314239501953e+00 2116 | 5.862310886383056641e+00 2117 | -9.119721651077270508e-01 2118 | -3.888287544250488281e-01 2119 | 9.505121037364006042e-03 2120 | 2.209288835525512695e+00 2121 | 1.321381211280822754e+00 2122 | 3.240054607391357422e+00 2123 | 4.403373718261718750e+00 2124 | 5.401751995086669922e+00 2125 | 5.862011432647705078e+00 2126 | 7.471057415008544922e+00 2127 | -9.285264611244201660e-01 2128 | -4.616797268390655518e-01 2129 | 1.051902491599321365e-02 2130 | 1.689432144165039062e+00 2131 | 9.632824063301086426e-01 2132 | 2.722449779510498047e+00 2133 | 3.497838497161865234e+00 2134 | 4.405273437500000000e+00 2135 | 6.142662048339843750e+00 2136 | 7.466985702514648438e+00 2137 | -1.195115208625793457e+00 2138 | -7.898982167243957520e-01 2139 | -3.887037932872772217e-01 2140 | 1.691159605979919434e+00 2141 | 2.692734479904174805e+00 2142 | 3.545580148696899414e+00 2143 | 4.372481346130371094e+00 2144 | 5.658106803894042969e+00 2145 | 6.267008781433105469e+00 2146 | 7.476689815521240234e+00 2147 | -1.195371985435485840e+00 2148 | -7.814354300498962402e-01 2149 | 7.078799419105052948e-03 2150 | 1.695509791374206543e+00 2151 | 2.230040550231933594e+00 2152 | 2.702104091644287109e+00 2153 | 3.437952995300292969e+00 2154 | 4.384694099426269531e+00 2155 | 5.658972263336181641e+00 2156 | 6.771840095520019531e+00 2157 | 7.012372016906738281e+00 2158 | -1.193155884742736816e+00 2159 | -7.904093265533447266e-01 2160 | -3.886680305004119873e-01 2161 | 6.955377757549285889e-03 2162 | 1.714751720428466797e+00 2163 | 1.918264627456665039e+00 2164 | 2.789780139923095703e+00 2165 | 3.438725709915161133e+00 2166 | -1.196711540222167969e+00 2167 | -------------------------------------------------------------------------------- /dataset/detection_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "class_range": { 3 | "car": 50, 4 | "truck": 50, 5 | "bus": 50, 6 | "trailer": 50, 7 | "construction_vehicle": 50, 8 | "pedestrian": 40, 9 | "motorcycle": 40, 10 | "bicycle": 40, 11 | "traffic_cone": 30, 12 | "barrier": 30 13 | }, 14 | "dist_fcn": "center_distance", 15 | "dist_ths": [0.5, 1.0, 2.0, 4.0], 16 | "dist_th_tp": 2.0, 17 | "min_recall": 0.1, 18 | "min_precision": 0.1, 19 | "max_boxes_per_sample": 500, 20 | "mean_ap_weight": 5 21 | } 22 | 23 | -------------------------------------------------------------------------------- /dataset/pcd_segmentation/car1.pcd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeS96/3d_obj_detection/4715fffb04d6abad8daf0f2fd2a87504cf7c6ba6/dataset/pcd_segmentation/car1.pcd -------------------------------------------------------------------------------- /dataset/pcd_segmentation/car2.pcd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeS96/3d_obj_detection/4715fffb04d6abad8daf0f2fd2a87504cf7c6ba6/dataset/pcd_segmentation/car2.pcd -------------------------------------------------------------------------------- /dataset/pcd_segmentation/car3.pcd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeS96/3d_obj_detection/4715fffb04d6abad8daf0f2fd2a87504cf7c6ba6/dataset/pcd_segmentation/car3.pcd -------------------------------------------------------------------------------- /dataset/pcd_segmentation/car4.pcd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeS96/3d_obj_detection/4715fffb04d6abad8daf0f2fd2a87504cf7c6ba6/dataset/pcd_segmentation/car4.pcd -------------------------------------------------------------------------------- /dataset/point_features/car1cvfh_.txt: -------------------------------------------------------------------------------- 1 | (236, 0, 0, 0, 0, 1, 11, 11, 5, 3, 2, 0, 0, 0, 0, 3, 21, 8, 5, 9, 5, 1, 3, 4, 4, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 1, 2, 4, 0, 5, 233, 0, 0, 0, 0, 2, 2, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 8, 16, 17, 16, 16, 18, 14, 1, 0, 0, 0, 1, 0, 1, 0, 2, 0, 0, 1, 0, 3, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 2, 4, 3, 4, 1, 7, 1, 5, 7, 4, 3, 3, 3, 5, 6, 47, 43, 39, 80, 37, 10, 5, 7, 6, 7, 3, 2, 2, 3, 0, 2, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 7, 4, 12, 11, 8, 7, 26, 26, 32, 30, 34, 22, 46, 17, 15, 6, 2, 2, 5, 6, 2, 2, 0, 4, 2, 1, 4, 1, 5, 5, 2, 1, 1, 0, 1, 0, 0, 0, 1, 0, 4, 1, 2, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 2, 7, 7, 8, 13, 8, 5, 6, 3, 5, 5, 4, 7, 2, 2, 4, 5, 3, 0, 2, 1, 1, 1, 2, 3, 3, 0, 0, 2, 1, 0, 2, 2, 1, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) -------------------------------------------------------------------------------- /dataset/point_features/car1esf_.txt: -------------------------------------------------------------------------------- 1 | (2.13348e-06, 2.13348e-05, 4.2954e-05, 7.35339e-05, 0.000115777, 0.000160864, 0.000198129, 0.000241794, 0.000228567, 0.000239519, 0.000244639, 0.000272374, 0.000255733, 0.000283895, 0.000304092, 0.000280339, 0.000293282, 0.000347046, 0.000272943, 0.000299256, 0.000315755, 0.000305941, 0.00030651, 0.000349891, 0.000365536, 0.000304092, 0.000313195, 0.000292287, 0.000325711, 0.000264978, 0.000317035, 0.000352309, 0.000316466, 0.000303381, 0.000292998, 0.00032372, 0.000291718, 0.000318173, 0.000292287, 0.000316466, 0.000309212, 0.000293567, 0.000276926, 0.000318173, 0.00031163, 0.000272232, 0.00030779, 0.000255164, 0.00028546, 0.000319311, 0.000303523, 0.000322298, 0.000272801, 0.00033965, 0.000294705, 0.000362407, 0.000306794, 0.000311346, 0.000348611, 0.000293567, 0.000298118, 0.000237243, 0.000310635, 0.000140098, 9.814e-06, 6.62801e-05, 9.37309e-05, 0.000122462, 0.000176794, 0.000199836, 0.000311915, 0.000321302, 0.000333818, 0.000376346, 0.000327845, 0.000332112, 0.000366532, 0.000390284, 0.000386871, 0.00036326, 0.000432243, 0.000354158, 0.000396685, 0.000382746, 0.000377057, 0.000423709, 0.000395974, 0.000424847, 0.000368807, 0.000359705, 0.000400667, 0.000348468, 0.000399103, 0.000390427, 0.000380044, 0.000371652, 0.000370372, 0.000348184, 0.000384737, 0.000412046, 0.000382888, 0.000375919, 0.000408206, 0.000359136, 0.000349322, 0.000398392, 0.000352024, 0.000361411, 0.000353731, 0.000340788, 0.000311061, 0.000402374, 0.000396827, 0.000425131, 0.000372505, 0.000374781, 0.000330689, 0.000371652, 0.000383742, 0.000371652, 0.000422429, 0.000400383, 0.000373359, 0.000374497, 0.000404934, 0.000414464, 0.000433239, 0.000178643, 1.86324e-05, 0.000175656, 0.000296554, 0.000442768, 0.000513884, 0.000612593, 0.000686838, 0.000764355, 0.000715853, 0.000850405, 0.000901751, 0.000875153, 0.000852396, 0.000943567, 0.000922374, 0.000923939, 0.000923939, 0.00104327, 0.000902177, 0.000935886, 0.000998326, 0.000985099, 0.00096988, 0.000953807, 0.00102194, 0.000868042, 0.00107684, 0.000999606, 0.00100003, 0.00108039, 0.000964333, 0.000928206, 0.000931904, 0.0010006, 0.000917538, 0.00103559, 0.00102777, 0.000937735, 0.000948118, 0.000963195, 0.00104668, 0.000867615, 0.000950678, 0.00107798, 0.00104612, 0.000946411, 0.0010134, 0.000995766, 0.000987801, 0.000939158, 0.00102763, 0.000963906, 0.00101724, 0.00102919, 0.00103075, 0.0010501, 0.001137, 0.00117697, 0.0011215, 0.00121537, 0.00118166, 0.00109007, 0.00112761, 0.000585142, 0, 4.55142e-06, 3.186e-05, 4.55142e-05, 8.19256e-05, 0.000168403, 0.000236674, 0.000291291, 0.000368665, 0.000664508, 0.000755536, 0.00086477, 0.000914836, 0.00103772, 0.00127895, 0.00103772, 0.00135177, 0.00122888, 0.0012835, 0.00120613, 0.00123344, 0.00114241, 0.00109234, 0.000887527, 0.000587134, 0.000482451, 0.000395974, 0.000300394, 0.000200263, 0.000145646, 9.10285e-05, 5.46171e-05, 3.64114e-05, 1.82057e-05, 0, 1.82057e-05, 0, 9.10285e-06, 4.55142e-06, 4.55142e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000122888, 0.000277637, 0.000523414, 0.000946696, 0.00106958, 0.00152473, 0.00179781, 0.00202083, 0.0022393, 0.00227571, 0.00213007, 0.00221199, 0.00198897, 0.00188884, 0.00153383, 0.00151107, 0.00123799, 0.000974004, 0.000646302, 0.000582582, 0.000509759, 0.000464245, 0.000386871, 0.00028674, 0.000263983, 0.000314048, 0.000213917, 0.000172954, 0.000177505, 0.00012744, 0.000131991, 0.000150197, 0.00012744, 8.6477e-05, 4.09628e-05, 7.73742e-05, 5.00656e-05, 5.46171e-05, 6.37199e-05, 3.186e-05, 3.64114e-05, 3.64114e-05, 3.64114e-05, 4.55142e-06, 9.10285e-06, 9.10285e-06, 9.10285e-06, 9.10285e-06, 4.55142e-06, 0, 0, 4.55142e-06, 4.55142e-06, 0, 0, 0, 0, 4.55142e-06, 0, 0, 0, 0, 0, 0, 0, 0, 9.10285e-06, 3.64114e-05, 0.000136543, 0.000327702, 0.000345908, 0.000427834, 0.000691816, 0.00080105, 0.00105593, 0.00149287, 0.00138363, 0.00162941, 0.00200263, 0.00234853, 0.00229392, 0.00233943, 0.00272175, 0.00259431, 0.00297663, 0.00291291, 0.00308586, 0.00305856, 0.00313138, 0.00310407, 0.00301304, 0.00296753, 0.0028674, 0.0028674, 0.0028947, 0.00265803, 0.00266713, 0.00230302, 0.00202993, 0.00181147, 0.00154748, 0.00136543, 0.00142004, 0.00122888, 0.000946696, 0.000882976, 0.000946696, 0.000646302, 0.000773742, 0.000537068, 0.000518862, 0.000400525, 0.000345908, 0.000300394, 0.000273085, 0.000245777, 0.00019116, 0.00012744, 0.000136543, 8.19256e-05, 0.000100131, 2.73085e-05, 2.73085e-05, 1.82057e-05, 1.82057e-05, 2.73085e-05, 9.10285e-06, 7.28228e-05, 0.00230302, 0.00296298, 0.00435571, 0.00556639, 0.00779204, 0.00792403, 0.00788306, 0.00940324, 0.00852481, 0.00912105, 0.0092758, 0.00884341, 0.00909374, 0.00853847, 0.00834276, 0.00762818, 0.00725497, 0.00584403, 0.00595781, 0.00427379, 0.00392788, 0.00361838, 0.00304945, 0.00233488, 0.00199807, 0.00155659, 0.00117427, 0.00092849, 0.000482451, 0.000232123, 0.000136543, 5.46171e-05, 2.27571e-05, 9.10285e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00092849, 0.00249418, 0.00298573, 0.00331344, 0.00302214, 0.00389602, 0.00693637, 0.0057712, 0.00668149, 0.00493374, 0.00467886, 0.00340446, 0.00355011, 0.00484271, 0.00604429, 0.00593505, 0.00568018, 0.00633558, 0.0044786, 0.00313138, 0.00214827, 0.00245777, 0.00284009, 0.00172954, 0.00143825, 0.00134722, 0.00227571, 0.00196621, 0.00242136, 0.00282188, 0.0025488, 0.00249418, 0.00116516, 0.000291291, 3.64114e-05, 0.00025488, 0.000182057, 0.000327702, 0.000546171, 0.000564376, 0.00101952, 0.000345908, 0.00025488, 0.00080105, 0.00038232, 0.000309497, 0.000527965, 0.00025488, 0.000618993, 0.000910285, 0.00196621, 0.00182057, 0.00152928, 0.000964902, 0.000436937, 9.10285e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.46171e-05, 0.00100131, 0.00214827, 0.00333164, 0.00710022, 0.00786486, 0.00740972, 0.00919387, 0.0111237, 0.0118883, 0.0121614, 0.0124527, 0.0106503, 0.0100313, 0.0118701, 0.011415, 0.0103408, 0.0110873, 0.0107778, 0.00964902, 0.00919387, 0.00892079, 0.00855667, 0.00804691, 0.00821077, 0.00875694, 0.00811974, 0.00648123, 0.0073733, 0.00946696, 0.00890258, 0.00977646, 0.00755536, 0.00653584, 0.00500656, 0.00464245, 0.00307676, 0.00234853, 0.00194801, 0.00183877, 0.00163851, 0.00196621, 0.00258521, 0.00245777, 0.00180236, 0.00105593, 0.00092849, 0.00038232, 7.28228e-05, 5.46171e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7.28228e-05, 0.000873873, 0.00038232, 0.000263983, 0.000300394, 0.000291291, 0.000564376, 0.000955799, 0.000837462, 0.00103772, 0.00240315, 0.00218468, 0.00284919, 0.00248508, 0.0031951, 0.00322241, 0.00252149, 0.00474258, 0.000227571, 0.00466976, 0.00423282, 0.00336805, 0.00386871, 0.00522503, 0.00299484, 0.00395063, 0.00693637, 0.00329523, 0.0060807, 0.00679983, 0.00499746, 0.00632648, 0.00436937, 0.00903002, 0.0063993, 0.00570748, 0.00229392, 0.0113148, 0.00202993, 0.00683624, 0.00978556, 0.00299484, 0.00355011, 0.0025579, 0.000518862, 8.19256e-05, 0, 0, 0, 0, 0) -------------------------------------------------------------------------------- /dataset/point_features/car1ourcvfh_.txt: -------------------------------------------------------------------------------- 1 | (236, 0, 0, 0, 0, 1, 11, 11, 5, 3, 2, 0, 0, 0, 0, 3, 21, 8, 5, 9, 5, 1, 3, 4, 4, 0, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 1, 2, 4, 0, 5, 233, 0, 0, 0, 0, 2, 2, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 8, 16, 17, 16, 16, 18, 14, 1, 0, 0, 0, 1, 0, 1, 0, 2, 0, 0, 1, 0, 3, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 2, 4, 3, 4, 1, 7, 1, 5, 7, 4, 3, 3, 3, 5, 6, 47, 43, 39, 80, 37, 10, 5, 7, 6, 7, 3, 2, 2, 3, 0, 2, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 2, 7, 7, 8, 13, 8, 5, 6, 3, 5, 5, 4, 7, 2, 2, 4, 5, 3, 0, 2, 1, 1, 1, 2, 3, 3, 0, 0, 2, 1, 0, 2, 2, 1, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) -------------------------------------------------------------------------------- /dataset/point_features/car1vfh_.txt: -------------------------------------------------------------------------------- 1 | (66.2922, 0, 0, 0, 0, 0.280899, 3.08989, 3.08989, 1.40449, 0.842697, 0.561798, 0, 0, 0, 0, 0.842697, 5.89888, 2.24719, 1.40449, 2.52809, 1.40449, 0.280899, 0.842697, 1.1236, 1.1236, 0, 0.842697, 0.842697, 0.280899, 0, 0, 0, 0, 0, 0, 0, 0, 0.280899, 0.561798, 0.842697, 0.280899, 0.561798, 1.1236, 0, 1.40449, 65.4495, 0, 0, 0, 0, 0.561798, 0.561798, 0.280899, 0.561798, 0, 0, 0.280899, 0, 0, 0, 0, 0, 0, 0.280899, 2.24719, 4.49438, 4.77528, 4.49438, 4.49438, 5.05618, 3.93258, 0.280899, 0, 0, 0, 0.280899, 0, 0.280899, 0, 0.561798, 0, 0, 0.280899, 0, 0.842697, 0, 0.280899, 0, 0, 0, 0, 0.280899, 0.280899, 0.280899, 0, 0.561798, 1.1236, 0.842697, 1.1236, 0.280899, 1.96629, 0.280899, 1.40449, 1.96629, 1.1236, 0.842697, 0.842697, 0.842697, 1.40449, 1.68539, 13.2023, 12.0787, 10.9551, 22.4719, 10.3933, 2.80899, 1.40449, 1.96629, 1.68539, 1.96629, 0.842697, 0.561798, 0.561798, 0.842697, 0, 0.561798, 0, 0.280899, 0, 0, 0, 0, 0, 0.280899, 0.280899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65.2662, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.560224, 0.280112, 0.560224, 1.96078, 1.96078, 2.2409, 3.92157, 1.96078, 1.40056, 1.68067, 1.40056, 1.40056, 1.40056, 1.96078, 0.560224, 0.560224, 1.12045, 1.40056, 0.560224, 0.840336, 0.560224, 0, 0.280112, 0.280112, 0.840336, 0.560224, 0.840336, 0.280112, 0, 0.560224, 0.280112, 0, 0.280112, 0.840336, 0, 0.560224, 0, 0, 0.280112, 0.280112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.280112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) -------------------------------------------------------------------------------- /dataset/point_features/car2cvfh_.txt: -------------------------------------------------------------------------------- 1 | (29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 2, 2, 2, 1, 1, 2, 1, 0, 3, 0, 0, 2, 0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) -------------------------------------------------------------------------------- /dataset/point_features/car2esf_.txt: -------------------------------------------------------------------------------- 1 | (0.000302861, 0.000839039, 0.000891261, 0.00109097, 0.00099299, 0.00089488, 0.000524028, 0.000584393, 0.000270804, 0.000273518, 0.00035728, 0.000139603, 0.000105607, 4.6405e-05, 6.98014e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000102634, 0.000230086, 0.00030131, 0.000327033, 0.000360641, 0.000292649, 0.000471289, 0.000312555, 0.000516918, 0.000643466, 0.00105025, 0.000861143, 0.000935856, 0.00104948, 0.00120278, 0.00118107, 0.00140585, 0.00142369, 0.00158113, 0.00118456, 0.00165895, 0.00139926, 0.00158721, 0.00182053, 0.00150887, 0.0018319, 0.00250458, 0.0024318, 0.00182324, 0.00169359, 0.00253108, 0.00205772, 0.0020289, 0.00148199, 0.00164408, 0.00147397, 0.00252474, 0.00216927, 0.00204622, 0.00151456, 0.00106564, 0.00127943, 0.00179157, 0.00178937, 0.00176947, 0.00210038, 0.00115935, 0.00123523, 0.00108528, 0.00104689, 0.00105361, 0.00171569, 0.00194681, 0.001596, 0.0019896, 0.00141154, 0.00106227, 0.0009948, 0.000952273, 0.00127258, 0.00100656, 0.00145833, 0.00201313, 0.00066208, 0, 1.30555e-05, 6.4631e-07, 2.90839e-05, 4.98951e-05, 8.77689e-05, 0.000108192, 0.000199451, 0.0003048, 0.000210309, 0.000167136, 0.000109097, 0.000142059, 0.000322896, 0.00055699, 0.000653031, 0.000677074, 0.000518987, 0.000641915, 0.000530879, 0.000717662, 0.000485379, 0.000502183, 0.000633901, 0.000512265, 0.000456553, 0.000642949, 0.000748297, 0.000351463, 0.000309582, 0.000524286, 0.0003905, 0.000311521, 0.000228277, 0.000273648, 0.000277138, 0.000533852, 0.000416482, 0.000342803, 0.000310229, 0.000109873, 0.00023823, 0.000382745, 0.00049391, 0.000421006, 0.000279723, 0.000469738, 0.000206431, 0.000198934, 0.000239005, 0.000207724, 0.000580515, 0.000719601, 0.000561643, 0.000377703, 0.000502183, 0.00026615, 0.00032393, 0.000297949, 0.00026964, 0.000204622, 0.00042036, 0.000810989, 0.000157441, 0, 0.000289547, 0.000533593, 0.000901731, 0.000992732, 0.00105064, 0.00102169, 0.000603912, 0.000475684, 0.000289547, 0.000173728, 0.00010341, 0.000115819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000554275, 0.00067423, 0.000488093, 0.000182001, 8.27276e-05, 0.000124091, 9.51368e-05, 0.000111682, 0.0044342, 0.00145601, 0.000496366, 0.000492229, 0.00526561, 0.00156355, 0.00082314, 0.00482716, 0.000562548, 0.0033877, 0.00180346, 0.00234946, 0.00243633, 0.00197305, 0.00132778, 0.0012161, 0.00146842, 0.000802458, 0.00131123, 0.00126573, 0.00178278, 0.00161733, 0.00136914, 0.00166696, 0.00153046, 0.00125746, 0.00141051, 0.000934822, 0.000996868, 0.00062873, 0.000686639, 0.000541866, 0.000566684, 0.000488093, 0.000326774, 0.000641139, 0.000318501, 0.00028541, 0.000368138, 0.000318501, 0.000293683, 0.000177864, 0.000210955, 0.000115819, 0.00014891, 8.6864e-05, 0.000248183, 0.000347456, 0.00014891, 0.000326774, 0.000111682, 4.13638e-05, 0.000115819, 2.06819e-05, 3.72274e-05, 0, 0, 0, 0, 0, 8.27276e-06, 2.48183e-05, 5.79093e-05, 9.92732e-05, 0, 2.48183e-05, 2.48183e-05, 0.000182001, 0.00023991, 0.000306092, 0.000595639, 0.00038882, 0.000380547, 0.000413638, 0.000653548, 0.000579093, 0.00105064, 0.00161319, 0.00241565, 0.00358211, 0.00162973, 0.00412811, 0.00125746, 0.00186964, 0.00182001, 0.000595639, 0.000380547, 0.000347456, 6.61821e-05, 4.13638e-05, 0.000231637, 0.000182001, 0.000347456, 0.000562548, 0.000405365, 0.000289547, 0.000380547, 0.000438456, 0.000256456, 0.000273001, 0.000264728, 6.61821e-05, 0.000215092, 0.000124091, 0, 4.96366e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0113709, 0.00170419, 0, 0.00794599, 0.00352833, 0, 0.00423152, 0.0061508, 0, 0.00307333, 0.00598534, 0, 0.00122437, 0.0054228, 0.0012161, 0.00058323, 0.00387165, 0.00245701, 0, 0.00298647, 0.00241978, 0, 0.0019896, 0.00248597, 0, 0.00058323, 0.00254387, 0, 0.000566684, 0.000608048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00269692, 0, 0, 0.00228328, 0, 0.036698, 0.0518868, 0.0450204, 0.0302618, 0.0261419, 0.0248348, 0.0275318, 0.0023991, 0.0250665, 0.0199705, 0.0140472, 0.0194906, 0.00752821, 0.0166779, 0.0150895, 0.0162312, 0.0115322, 0.0153212, 0.0138486, 0.0208474, 0.0149241, 0.0152715, 0.0149075, 0.0102086, 0.016893, 0.00986113, 0.0121775, 0.0147421, 0.0121775, 0.00774331, 0.0162643, 0.00488093, 0.0101259, 0.0113999, 0.00698221, 0.00708149, 0.010341, 0.00714767, 0.0068333, 0.00228328, 0.0071973, 0.00231637, 0, 0, 0.0023991, 0, 0.00269692, 0, 0, 0.0023991, 0, 0.00231637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00225019, 0, 0, 0.0025811, 0, 0, 0, 0.00137328, 0.00269692, 0, 0.0051953, 0.0023991, 0, 0.00499675, 0, 0, 0.00246528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00123264, 0, 0.00119955, 0, 0.00129882, 0, 0.00122437, 0.00071973, 0, 0.000686639, 0, 0, 0.000653548, 0.00129055, 0, 0.000554275, 0, 0, 0.000570821, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00134846, 0, 0, 0.00119955, 0, 0, 0, 0, 0) -------------------------------------------------------------------------------- /dataset/point_features/car2ourcvfh_.txt: -------------------------------------------------------------------------------- 1 | (29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) -------------------------------------------------------------------------------- /dataset/point_features/car2vfh_.txt: -------------------------------------------------------------------------------- 1 | (103.571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103.571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103.571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) -------------------------------------------------------------------------------- /dataset/point_features/car3cvfh_.txt: -------------------------------------------------------------------------------- 1 | (97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 3, 2, 1, 6, 4, 1, 5, 5, 3, 3, 7, 6, 2, 4, 9, 6, 4, 4, 2, 2, 3, 2, 0, 0, 0, 1, 2, 1, 2, 1, 1, 1, 0, 0, 0, 0, 0, 1, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) -------------------------------------------------------------------------------- /dataset/point_features/car3esf_.txt: -------------------------------------------------------------------------------- 1 | (1.51941e-05, 7.81554e-05, 8.19291e-05, 7.16011e-05, 5.10443e-05, 4.3199e-05, 3.16793e-05, 2.3536e-05, 1.59886e-05, 1.07253e-05, 1.48962e-06, 1.88685e-06, 8.34187e-06, 1.58893e-06, 7.64671e-06, 3.37647e-06, 2.18478e-06, 0, 1.88685e-06, 1.98616e-06, 0, 0, 0, 0, 0, 1.09239e-06, 1.09239e-06, 0, 0, 0, 0, 1.39031e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.37647e-05, 0.00011629, 0.00020378, 0.000280346, 0.000382435, 0.000405574, 0.000437452, 0.000549074, 0.000514813, 0.000580257, 0.000601211, 0.000572113, 0.000588598, 0.00066298, 0.00065434, 0.000598331, 0.000671322, 0.000647885, 0.000657618, 0.000720082, 0.000644807, 0.00076914, 0.000716309, 0.000759011, 0.000830413, 0.000850474, 0.000898638, 0.000887019, 0.00103926, 0.00104055, 0.000947994, 0.00103161, 0.00107272, 0.00104512, 0.00101503, 0.00118991, 0.0011047, 0.00127432, 0.00122099, 0.00105763, 0.00117799, 0.00121364, 0.00125962, 0.00109805, 0.00135545, 0.00131464, 0.00114433, 0.0011619, 0.00113906, 0.00104373, 0.00112367, 0.00106806, 0.00110242, 0.00124443, 0.00118296, 0.00102347, 0.00105664, 0.00109209, 0.00103419, 0.000916315, 0.000997747, 0.000883047, 0.000975701, 0.00063567, 1.63858e-05, 0.000140719, 0.000359296, 0.000511933, 0.000679863, 0.000663278, 0.000704193, 0.000732496, 0.000689992, 0.00067738, 0.000809857, 0.000707669, 0.000749378, 0.000761295, 0.000724551, 0.000697241, 0.000591081, 0.000660597, 0.000643615, 0.000751265, 0.000676585, 0.000692177, 0.000696348, 0.000567148, 0.000613028, 0.000580555, 0.00069883, 0.000594756, 0.000676585, 0.000577277, 0.000540136, 0.000610049, 0.000613425, 0.000613227, 0.00064729, 0.00068304, 0.000629712, 0.000667449, 0.000646793, 0.000739745, 0.000699526, 0.000856333, 0.000837961, 0.000659902, 0.000905689, 0.000719387, 0.00083518, 0.000701512, 0.000762189, 0.000778475, 0.000710747, 0.000862391, 0.000604587, 0.000880465, 0.000776092, 0.00077202, 0.000730013, 0.000784434, 0.000882649, 0.00071611, 0.00081373, 0.000757223, 0.000694064, 0.000344301, 0, 2.2245e-05, 8.26242e-05, 9.21578e-05, 0.000139826, 5.08457e-05, 5.40235e-05, 2.86007e-05, 3.17786e-06, 0, 3.17786e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.17786e-06, 0.000130292, 0.000162071, 0.000127114, 7.94464e-05, 0.000743618, 0.000104869, 0.00109636, 0.00097878, 0.000759508, 0.00134423, 0.00109954, 0.00168426, 0.00152219, 0.00166837, 0.00142368, 0.00118216, 0.00136648, 0.00134423, 0.00121712, 0.00135059, 0.00111861, 0.00114403, 0.00102009, 0.000870732, 0.0009184, 0.000927934, 0.000877088, 0.000759508, 0.000899333, 0.000781753, 0.000794464, 0.000762685, 0.000807175, 0.00066735, 0.000708662, 0.00065146, 0.000699128, 0.000673705, 0.000603793, 0.000537058, 0.000514813, 0.000403588, 0.000470323, 0.000298718, 0.000251051, 0.000301896, 0.000305074, 0.000209738, 0.000158893, 0.000108047, 0.000120759, 8.58021e-05, 7.30907e-05, 5.08457e-05, 4.449e-05, 3.49564e-05, 2.86007e-05, 4.13121e-05, 1.58893e-05, 1.90671e-05, 6.35571e-06, 6.35571e-06, 3.17786e-06, 0, 0, 6.35571e-06, 0, 3.81343e-05, 0.000184316, 0.000152537, 0.000483034, 0.000324141, 0.00053388, 0.000985135, 0.000775397, 0.000877088, 0.0014491, 0.00143639, 0.00147453, 0.00155079, 0.00177324, 0.0019512, 0.00198298, 0.00162706, 0.00201476, 0.00171604, 0.0020084, 0.00176053, 0.00227534, 0.00198934, 0.00186858, 0.00193849, 0.00139826, 0.00169697, 0.00132834, 0.00123936, 0.00124572, 0.00114403, 0.000883444, 0.000826242, 0.000718195, 0.000597437, 0.000457611, 0.000502101, 0.000457611, 0.000413121, 0.000197027, 0.00022245, 0.00017796, 0.00022245, 0.000158893, 0.000139826, 0.00013347, 9.53357e-05, 7.62685e-05, 4.449e-05, 5.08457e-05, 0.000101691, 2.54228e-05, 1.27114e-05, 0, 4.449e-05, 1.90671e-05, 6.35571e-06, 1.90671e-05, 0, 0, 0, 0, 0.0027552, 0.000470323, 0.00207832, 0.00222132, 0.000320963, 0.00217683, 0.000209738, 0.00187811, 0.000152537, 0.0015063, 0.00138555, 0.000117581, 0.00124254, 9.85135e-05, 0.000988313, 3.49564e-05, 0.000715018, 0.000581548, 0.000120759, 0.000432188, 6.6735e-05, 0.000448078, 0, 0.000330497, 0.000244695, 3.17786e-05, 0.000130292, 0, 7.62685e-05, 0, 4.449e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0169825, 0.0165757, 0.0135758, 0.0129657, 0.010131, 0.00280922, 0.0114784, 0.0212662, 0.0238593, 0.0220162, 0.0140334, 0.0118216, 0.0149868, 0.0072328, 0.011364, 0.0200332, 0.0149232, 0.0137665, 0.0113132, 0.013525, 0.0140843, 0.0137156, 0.0146054, 0.0100547, 0.0076777, 0.0131563, 0.00883444, 0.00882173, 0.00709297, 0.00742347, 0.00766499, 0.00615233, 0.0048939, 0.00481763, 0.00415664, 0.00350835, 0.00349564, 0.00448713, 0.00286007, 0.00333039, 0.00302532, 0.00288549, 0.00165248, 0.00125843, 0.00162706, 0.00125843, 0.000915222, 0.000826242, 0.000292363, 0.000165248, 0, 0.000953357, 0.00162706, 0.00062286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000101691, 0.000127114, 0, 0.000317786, 0, 0.000406766, 0.000279651, 0.00026694, 0.0100293, 0.0110081, 0.00596166, 0.00716924, 0.00404223, 0.00528795, 0.00490661, 0.0135631, 0.0194231, 0.0135885, 0.00814802, 0.00784295, 0.0077921, 0.00577099, 0.00911409, 0.0166011, 0.0117326, 0.0077921, 0.00636842, 0.00408037, 0.00414392, 0.00186858, 0.00363547, 0.00203383, 0.00106776, 0.00161435, 0.00232619, 0.00120759, 0.00102963, 0.0066735, 0.00392783, 0.00316514, 0.0028982, 0.0020084, 0.00207196, 0.00124572, 0.000915222, 0.000724551, 0.000788108, 0.00062286, 0.000495746, 0.000305074, 0.000152537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00225628, 0, 0.000794464, 0.000858021, 0.00084531, 0.00168426, 0.00305074, 0.00122665, 0.00524982, 0.00137919, 0.00312065, 0.00716289, 0.00670528, 0.00760779, 0.00367996, 0.00813531, 0, 0.00636842, 0.00681332, 0.00569472, 0.0212217, 0.00906324, 0.00193214, 0.00148724, 0.00312701, 0.000171604, 0.00194485, 0.000317786, 0, 9.53357e-05, 0.000381343, 0.00017796, 7.62685e-05, 3.17786e-05, 9.53357e-05, 0.000114403, 5.08457e-05, 0, 0.00026694, 0, 0.00013347, 0, 0, 0, 0, 0, 0, 0, 0) -------------------------------------------------------------------------------- /dataset/point_features/car3ourcvfh_.txt: -------------------------------------------------------------------------------- 1 | (97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) -------------------------------------------------------------------------------- /dataset/point_features/car3vfh_.txt: -------------------------------------------------------------------------------- 1 | (101.042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101.042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101.042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) -------------------------------------------------------------------------------- /dataset/point_features/car4cvfh_.txt: -------------------------------------------------------------------------------- 1 | (402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 13, 19, 13, 22, 20, 14, 14, 20, 19, 19, 21, 25, 23, 22, 20, 19, 15, 9, 10, 3, 4, 2, 2, 3, 2, 4, 3, 2, 3, 8, 4, 6, 2, 2, 1, 5, 0, 3, 1, 2, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) -------------------------------------------------------------------------------- /dataset/point_features/car4esf_.txt: -------------------------------------------------------------------------------- 1 | (8.64171e-05, 0.000310023, 0.000466683, 0.000537973, 0.000625888, 0.000643261, 0.000612259, 0.000660485, 0.000628134, 0.000698676, 0.000518952, 0.000603872, 0.000516855, 0.000501878, 0.000484355, 0.00054636, 0.000470277, 0.000436129, 0.000496487, 0.000471924, 0.000478814, 0.000426844, 0.000440473, 0.000425346, 0.000402581, 0.000397938, 0.000376072, 0.000431337, 0.000405127, 0.000446164, 0.000370081, 0.000374724, 0.000324851, 0.000309724, 0.000343722, 0.000300588, 0.000399436, 0.000299989, 0.000341625, 0.000268837, 0.00028651, 0.000285611, 0.000281867, 0.000281867, 0.000265991, 0.000288756, 0.000283215, 0.000281268, 0.000210127, 0.000265991, 0.000256406, 0.000255807, 0.000272132, 0.000276175, 0.000238883, 0.000221509, 0.000291452, 0.000204585, 0.000261498, 0.000282166, 0.000268537, 0.00025386, 0.000287857, 0.000131348, 6.29033e-06, 4.26844e-05, 7.69816e-05, 0.000134643, 0.000171786, 0.000244874, 0.000230196, 0.000280369, 0.00036394, 0.000333238, 0.000382512, 0.000374724, 0.000438226, 0.000408272, 0.000484655, 0.000499931, 0.000550853, 0.000476567, 0.000522247, 0.000528088, 0.000539171, 0.000518952, 0.000607017, 0.000586049, 0.000645957, 0.000681602, 0.000577662, 0.000621245, 0.000594137, 0.000603123, 0.000678757, 0.000672167, 0.000661233, 0.000655991, 0.000723837, 0.000688042, 0.000781948, 0.00068325, 0.000610911, 0.000695381, 0.000776556, 0.000734022, 0.000648054, 0.000653595, 0.000692835, 0.000610611, 0.000775358, 0.000683998, 0.00070901, 0.000668872, 0.00072174, 0.000723088, 0.000600876, 0.000596233, 0.000595784, 0.000658987, 0.00068939, 0.00062469, 0.000592639, 0.000550554, 0.000620197, 0.000642213, 0.000654194, 0.000313468, 5.54148e-06, 4.65784e-05, 0.000125058, 0.000240081, 0.000477616, 0.000605369, 0.000808757, 0.000850842, 0.00107295, 0.00118393, 0.00122062, 0.0012714, 0.00138971, 0.00140289, 0.00137848, 0.00143824, 0.00125372, 0.00142371, 0.00132996, 0.00128458, 0.0012347, 0.00135422, 0.00126181, 0.00124189, 0.00112956, 0.00122781, 0.00112971, 0.00124489, 0.00118273, 0.0011727, 0.0012696, 0.00114784, 0.00122796, 0.001201, 0.00119501, 0.00110875, 0.00118303, 0.00114095, 0.00115233, 0.00119726, 0.00121943, 0.0011056, 0.0010728, 0.00105663, 0.000957628, 0.00105483, 0.00106187, 0.000963918, 0.000933215, 0.000929471, 0.00102383, 0.00101993, 0.000959874, 0.000966913, 0.000932167, 0.000864171, 0.000808158, 0.0008459, 0.000775208, 0.000819241, 0.000733273, 0.000773261, 0.000651049, 0.000391947, 0, 4.79263e-06, 2.39632e-05, 5.2719e-05, 0.000143779, 0.000134194, 0.00018212, 0.000292351, 0.000292351, 0.000369033, 0.00052719, 0.000565531, 0.000752443, 0.000886637, 0.000924978, 0.00122212, 0.00104959, 0.00120774, 0.00112148, 0.00113106, 0.00115023, 0.000977697, 0.000963319, 0.000968112, 0.000733273, 0.000613457, 0.000570323, 0.000536775, 0.000330692, 0.000354655, 0.000292351, 0.000311521, 0.000234839, 0.000206083, 0.000143779, 0.000138986, 0.000119816, 9.106e-05, 8.62674e-05, 5.2719e-05, 6.23042e-05, 4.31337e-05, 1.91705e-05, 9.58526e-06, 9.58526e-06, 4.79263e-06, 1.43779e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.83411e-05, 0.000129401, 0.000340277, 0.000450507, 0.000608664, 0.000771614, 0.00110231, 0.00124608, 0.00138507, 0.00167742, 0.00159115, 0.00172055, 0.00169659, 0.00165825, 0.00167742, 0.00161032, 0.00144737, 0.00141383, 0.0013659, 0.00121254, 0.00116461, 0.00104479, 0.00104479, 0.000905807, 0.000872259, 0.000824333, 0.00080037, 0.000781199, 0.000723687, 0.00063742, 0.000589494, 0.000632627, 0.000575116, 0.000407374, 0.000369033, 0.000335484, 0.000311521, 0.000230046, 0.000297143, 0.000167742, 0.000206083, 0.000138986, 0.000143779, 8.62674e-05, 0.000119816, 0.000115023, 5.75116e-05, 9.106e-05, 3.83411e-05, 1.91705e-05, 2.87558e-05, 2.39632e-05, 1.91705e-05, 4.79263e-06, 9.58526e-06, 4.79263e-06, 4.79263e-06, 4.79263e-06, 0, 4.79263e-06, 0, 0, 0, 0, 0, 0, 9.58526e-06, 1.91705e-05, 0.000105438, 5.75116e-05, 6.70968e-05, 0.000153364, 0.000134194, 0.000210876, 0.000172535, 0.000230046, 0.000460093, 0.000469678, 0.000690139, 0.000843503, 0.000968112, 0.00144737, 0.00159115, 0.00215668, 0.00216627, 0.00228129, 0.00253051, 0.00286599, 0.00314397, 0.00282765, 0.00322065, 0.00314397, 0.0033836, 0.0033165, 0.00327816, 0.00298102, 0.00300019, 0.00258802, 0.00253051, 0.00242507, 0.00242507, 0.00237715, 0.00198415, 0.00202249, 0.00166784, 0.00166784, 0.00145696, 0.00147613, 0.00114065, 0.000987282, 0.000948941, 0.000853088, 0.00070931, 0.000450507, 0.000440922, 0.000450507, 0.000354655, 0.000268387, 0.000239632, 0.000105438, 0.000143779, 0.000105438, 6.70968e-05, 3.83411e-05, 1.91705e-05, 0, 2.87558e-05, 9.58526e-06, 0.00158157, 0.00283245, 0.00557383, 0.00488848, 0.00835835, 0.00797015, 0.0100885, 0.00904849, 0.00966195, 0.0104336, 0.0096284, 0.00929771, 0.00866508, 0.00755319, 0.0063742, 0.00549715, 0.00488369, 0.00439005, 0.00360406, 0.00322065, 0.00300019, 0.00240111, 0.00208959, 0.00239152, 0.00198415, 0.00202249, 0.00180203, 0.00162949, 0.00145217, 0.00157678, 0.00141383, 0.00133235, 0.00124129, 0.0011694, 0.00126046, 0.00118378, 0.000915393, 0.00110231, 0.00104959, 0.000790784, 0.000877052, 0.000738065, 0.000666176, 0.000776406, 0.000661383, 0.000560738, 0.000431337, 0.000551153, 0.000407374, 0.000436129, 0.000321106, 0.000206083, 0.000206083, 0.000129401, 9.106e-05, 5.75116e-05, 3.35484e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000402581, 0.000210876, 0.00111189, 0.00212793, 0.0023388, 0.0051377, 0.00726563, 0.00734231, 0.00839669, 0.00832001, 0.00935522, 0.00841586, 0.00795577, 0.00720812, 0.00759153, 0.00724646, 0.00665217, 0.00678637, 0.006633, 0.00653715, 0.00569365, 0.00659466, 0.00617291, 0.0054636, 0.00550194, 0.00523355, 0.00542526, 0.00603872, 0.00540609, 0.00538692, 0.0051377, 0.00486931, 0.00391079, 0.00385328, 0.00350821, 0.00369991, 0.00310563, 0.00335484, 0.00358489, 0.00245383, 0.0036424, 0.00433254, 0.004946, 0.00416, 0.00385328, 0.00285641, 0.00195539, 0.0014953, 0.000939356, 0.000843503, 0.000939356, 0.000402581, 0.000498434, 0.000230046, 3.83411e-05, 5.75116e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9.58526e-05, 0.000421752, 0.00141862, 0.00241549, 0.00343152, 0.00410249, 0.00398747, 0.00582784, 0.00646047, 0.00703558, 0.00669051, 0.00678637, 0.00557862, 0.00555945, 0.0054636, 0.00563614, 0.00540609, 0.00515687, 0.00596203, 0.00557862, 0.00561696, 0.00554028, 0.00571282, 0.00506102, 0.00498434, 0.00446673, 0.00440922, 0.00483097, 0.0048118, 0.00402581, 0.00465844, 0.00529107, 0.00542526, 0.0064413, 0.00511853, 0.00561696, 0.00534858, 0.00452424, 0.00488848, 0.00416, 0.00416, 0.00412166, 0.00337401, 0.00316314, 0.002473, 0.00220461, 0.00159115, 0.00138028, 0.000383411, 0.000498434, 0.000230046, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000335484, 0.000843503, 0.00148572, 0.00158157, 0.00158157, 0.00216627, 0.00285641, 0.0012365, 0.00267429, 0.0027989, 0.0036424, 0.00286599, 0.00323023, 0.00310563, 0.00355613, 0.00270304, 0.00518563, 0.000249217, 0.00515687, 0.00404498, 0.0026647, 0.00308645, 0.00264553, 0.00172535, 0.00187871, 0.00276056, 0.000843503, 0.00207042, 0.00313438, 0.00124608, 0.00256885, 0.00192664, 0.00342194, 0.00235797, 0.00200332, 0.000670968, 0.00432295, 0.00112148, 0.00277973, 0.00375742, 0.00228129, 0.00216627, 0.00218544, 0.0014282, 0.00112148, 0.00124608, 4.79263e-05, 0, 0, 0) -------------------------------------------------------------------------------- /dataset/point_features/car4ourcvfh_.txt: -------------------------------------------------------------------------------- 1 | (402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) -------------------------------------------------------------------------------- /dataset/point_features/car4vfh_.txt: -------------------------------------------------------------------------------- 1 | (100.249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100.249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100.249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) -------------------------------------------------------------------------------- /dataset/samples/sample_ca9a282c9e77460f8360f564131a8af5_file.txt: -------------------------------------------------------------------------------- 1 | { 2 | "instance": [ 3 | { 4 | "annotation_token": "83d881a6b3d94ef3a3bc3b585cc514f8", 5 | "sample_token": "ca9a282c9e77460f8360f564131a8af5", 6 | "camera_token": "e3d495d4ac534d54b321f50006683844", 7 | "pointcloud_path": "/home/gus/Documents/AI_S/ML/PF/3d_obj_detection/dataset/ann_points_lidar/pc_anno_83d881a6b3d94ef3a3bc3b585cc514f8.txt", 8 | "pcl_shape": [ 9 | 3, 10 | 720 11 | ], 12 | "img_pc_path": "/home/gus/Documents/AI_S/ML/PF/3d_obj_detection/dataset/ann_points_cam/img_pc_anno_83d881a6b3d94ef3a3bc3b585cc514f8.txt", 13 | "img_pcl_shape": [ 14 | 4, 15 | 720 16 | ], 17 | "pcd_path": "/home/gus/Documents/AI_S/ML/PF/3d_obj_detection/dataset/pcd_segmentation/pcd_segmentation_83d881a6b3d94ef3a3bc3b585cc514f8.pcd", 18 | "point_features_path": "/home/gus/Documents/AI_S/ML/PF/3d_obj_detection/dataset/point_features/pcd_segmentation_83d881a6b3d94ef3a3bc3b585cc514f8.txt", 19 | "position_coord": [ 20 | -4.498643300135364, 21 | 15.253322510367285, 22 | 0.39639350348944496 23 | ], 24 | "wlh_values": [ 25 | 2.877, 26 | 10.201, 27 | 3.595 28 | ], 29 | "orientation_value": -91.43362845660991, 30 | "rotation_axis": -0.999643749035948, 31 | "category": "vehicle" 32 | } 33 | ] 34 | } -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | Shapely==1.7.0 2 | open3d==0.10.0.0 3 | pyquaternion==0.9.5 4 | numpy==1.19.1 5 | opencv_python==3.4.11.39 6 | nuscenes_devkit==1.1.0 7 | matplotlib==3.3.0 8 | Pillow>=8.1.1 9 | -------------------------------------------------------------------------------- /src/pcl_features.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * @file pcl_features.cpp 3 | * @authors Miguel Saavedra - Gustavo Salazar 4 | * @brief Global feature extractor 5 | * @version 0.1 6 | * @date 25-09-2020 7 | * 8 | * useful links: http://robotica.unileon.es/index.php/PCL/OpenNI_tutorial_4:_3D_object_recognition_(descriptors) 9 | * 10 | * http://www.willowgarage.com/sites/default/files/Rusu10IROS.pdf 11 | * 12 | */ 13 | 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | // Descriptors 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | 26 | #include 27 | #include 28 | #include 29 | #include 30 | // #include 31 | #include 32 | #include 33 | #include 34 | #include 35 | 36 | namespace fs = std::experimental::filesystem; 37 | 38 | int main (int argc, char** argv) 39 | { 40 | 41 | //std::vector hist; 42 | // pcl::VFHSignature308 hist; 43 | pcl::ESFSignature640 hist; 44 | // Cloud for storing the object. 45 | pcl::PointCloud::Ptr object(new pcl::PointCloud); 46 | // Object for storing the normals. 47 | //pcl::PointCloud::Ptr normals(new pcl::PointCloud); 48 | // Object for storing the VFH descriptor. 49 | //pcl::PointCloud::Ptr descriptor(new pcl::PointCloud); 50 | // Object for storing the ESF descriptor. 51 | pcl::PointCloud::Ptr descriptor(new pcl::PointCloud); 52 | 53 | float radius_search = 0.03; 54 | 55 | // Object for storing the normals 56 | //pcl::NormalEstimation normalEstimation; 57 | // KDtree object to search the normals 58 | //pcl::search::KdTree::Ptr kdtree(new pcl::search::KdTree); 59 | // VFH estimation object. 60 | //pcl::VFHEstimation vfh; 61 | // ESF estimation object. 62 | pcl::ESFEstimation esf; 63 | 64 | // Iterate over all the instance in the folder 65 | std::string path = "../dataset/pcd_segmentation/"; 66 | std::string token; 67 | std::vector splitter; 68 | 69 | double time_val = 0; 70 | int cont = 0; 71 | for (const auto & entry : fs::directory_iterator(path)) 72 | { 73 | //std::cout << entry.path() << std::endl; 74 | // Save token as a string 75 | // Start counter 76 | std::chrono::steady_clock::time_point begin = std::chrono::steady_clock::now(); 77 | token = entry.path(); 78 | 79 | // Read a PCD file from disk. 80 | if (pcl::io::loadPCDFile(token, *object) != 0) 81 | { 82 | return -1; 83 | } 84 | 85 | // Uncomment to visualize pointcloud with PCL 86 | //pcl::visualization::CloudViewer viewer ("Simple Cloud Viewer"); 87 | //viewer.showCloud (object); 88 | //while (!viewer.wasStopped ()) 89 | //{ 90 | //} 91 | 92 | // Estimate the point cloud normals 93 | //normalEstimation.setInputCloud(object); 94 | //normalEstimation.setRadiusSearch(radius_search); 95 | //normalEstimation.setSearchMethod(kdtree); 96 | //normalEstimation.compute(*normals); 97 | 98 | // Set parameters for VFH estimator 99 | //vfh.setInputCloud(object); 100 | //vfh.setInputNormals(normals); 101 | //vfh.setSearchMethod(kdtree); 102 | // Optionally, we can normalize the bins of the resulting histogram, 103 | // using the total number of points. 104 | //vfh.setNormalizeBins(true); 105 | // Also, we can normalize the SDC with the maximum size found between 106 | // the centroid and any of the cluster's points. 107 | //vfh.setNormalizeDistance(false); 108 | // Compute descriptor 109 | //vfh.compute(*descriptor); 110 | 111 | // ESF estimation object. 112 | esf.setInputCloud(object); 113 | 114 | esf.compute(*descriptor); 115 | 116 | hist = descriptor->points[0]; 117 | 118 | //std::cout << hist << std::endl; 119 | 120 | // Plotter object. Uncomment this line to see the histogram 121 | //pcl::visualization::PCLHistogramVisualizer viewer_h; 122 | // We need to set the size of the descriptor beforehand. 123 | //viewer_h.addFeatureHistogram(*descriptor, 308); 124 | //viewer_h.spin(); 125 | 126 | // Split the input screen and obtain the instance's name 127 | boost::split(splitter, token, [](char c){return c == '/' || c == '.';}); 128 | 129 | // Writting the vector 130 | // Object to save descriptor vectors 131 | std::ofstream outfile; 132 | outfile.open("../dataset/point_features/" + splitter[5] + ".txt", std::ios_base::app); 133 | outfile << hist; 134 | outfile.close(); 135 | cont ++; 136 | // End time 137 | std::chrono::steady_clock::time_point end = std::chrono::steady_clock::now(); 138 | time_val = double(std::chrono::duration_cast(end - begin).count()) / 1000000; 139 | } 140 | 141 | std::cout << "The total number of instances proccessed were: " << cont << std::endl; 142 | std::cout << "The avg proccessing time is: " << time_val / cont << std::endl; 143 | 144 | // This method also saves the vector as pcd, however, open3d is not able to openit 145 | // pcl::io::savePCDFileASCII ("../segmentation/car_vfh.pcd", *descriptor); 146 | 147 | return 0; 148 | 149 | } 150 | 151 | -------------------------------------------------------------------------------- /utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeS96/3d_obj_detection/4715fffb04d6abad8daf0f2fd2a87504cf7c6ba6/utils/__init__.py -------------------------------------------------------------------------------- /utils/eval.py: -------------------------------------------------------------------------------- 1 | # Code written by Miguel Saavedra & Gustavo Salazar, 2020. 2 | # Compute 3D IoU and BeV IoU of for 3D object detection tasks 3 | 4 | import numpy as np 5 | from shapely.geometry import Polygon 6 | import shapely.ops as so 7 | import matplotlib.pyplot as plt 8 | 9 | def volume_box3d(corners: np.array): 10 | ''' 11 | Compute the volume of a 3D bounding box given their 8 points. 12 | :param corners: point cloud mapped in the image frame. 13 | :return Volume of the current bounding box as a float. 14 | ''' 15 | a = np.sqrt(np.sum((corners[0,:] - corners[3,:])**2)) # Height 16 | b = np.sqrt(np.sum((corners[0,:] - corners[1,:])**2)) # Lenghth 17 | c = np.sqrt(np.sum((corners[0,:] - corners[4,:])**2)) # Width 18 | return a*b*c 19 | 20 | def box3d_iou(corners1: np.array, 21 | corners2: np.array, 22 | vis_result: bool = False): 23 | ''' 24 | Compute 3D bounding box IoU. 25 | :param corners1: Bounding predicted box coordinates. 26 | :param corners2: Bounding ground truth box coordinates. 27 | :param vis_result: Visualize union of bounding boxes in XY plane. 28 | :return iou: 3D IoU between ground truth and prediction. 29 | :return iou_2d: BEV IoU in XY plane. 30 | ''' 31 | 32 | # Compute corners within xy plane for ground truth and bounding box 33 | rect1_xy = [[corners1[i,0], corners1[i,1]] for i in [0, 1, 5, 4]] 34 | rect2_xy = [[corners2[i,0], corners2[i,1]] for i in [0, 1, 5, 4]] 35 | 36 | # Create the polygon out of the given points 37 | poly1 = Polygon(rect1_xy).convex_hull 38 | poly2 = Polygon(rect2_xy).convex_hull 39 | 40 | # Area of each polygon 41 | area1 = poly1.area 42 | area2 = poly2.area 43 | 44 | if not poly1.intersects(poly2): 45 | inter_area = 0 46 | else: 47 | inter_area = poly1.intersection(poly2).area 48 | # Plot the union of the shapes if desired 49 | if vis_result: 50 | #cascaded union can work on a list of shapes 51 | new_shape = so.cascaded_union([poly1,poly2]) 52 | # exterior coordinates split into two arrays, xs and ys 53 | xs, ys = new_shape.exterior.xy 54 | #plot it 55 | fig, axs = plt.subplots() 56 | axs.fill(xs, ys, alpha=0.5, fc='r', ec='none') 57 | plt.show() #if not interactive 58 | 59 | 60 | # Computing IoU in 2D (XY plane) 61 | iou_2d = inter_area / (area1 + area2 - inter_area) 62 | # Intersection in Z 63 | zmax = min(corners1[0,2], corners2[0,2]) 64 | zmin = max(corners1[3,2], corners2[3,2]) 65 | 66 | # Intersection volume 67 | inter_vol = inter_area * max(0.0, zmax - zmin) 68 | 69 | # Computing the volume of the 3D bounding boxes 70 | vol1 = volume_box3d(corners1) 71 | vol2 = volume_box3d(corners2) 72 | 73 | # 3D IoU volume computation 74 | iou = inter_vol / (vol1 + vol2 - inter_vol) 75 | return iou, iou_2d -------------------------------------------------------------------------------- /utils/misc.py: -------------------------------------------------------------------------------- 1 | # Code written by Miguel Saavedra & Gustavo Salazar, 2020. 2 | 3 | """ 4 | Set 5 | Note: Util functions to sample 2d bounding boxes, 3d targets w.r.t to camera frame and point clouds of a specific instance. 6 | Describe longer Gus 7 | """ 8 | 9 | import numpy as np 10 | import cv2 11 | from PIL import Image 12 | import json 13 | import open3d as o3d 14 | 15 | import matplotlib.pyplot as plt 16 | from matplotlib.axes import Axes 17 | from matplotlib import rcParams 18 | from shapely.geometry import MultiPoint, box 19 | 20 | from pyquaternion import Quaternion 21 | import os.path as osp 22 | from nuscenes import NuScenes 23 | 24 | # Utils for Lidar and Radar 25 | from nuscenes.nuscenes import NuScenes 26 | from nuscenes.utils.geometry_utils import view_points, BoxVisibility 27 | from nuscenes.utils.data_classes import LidarPointCloud 28 | from nuscenes.utils.data_classes import RadarPointCloud 29 | from nuscenes.scripts.export_2d_annotations_as_json import get_2d_boxes, post_process_coords 30 | 31 | from typing import Tuple, List, Dict, Union 32 | 33 | def middle_func(axis_array): 34 | """ 35 | Given an array for an axis calc the middle point. 36 | :param axis_array: array to calc middle. 37 | :return middle_result: operation result. 38 | """ 39 | 40 | middle_result = ((np.max(axis_array)-np.min(axis_array))//2)+np.min(axis_array) 41 | 42 | return middle_result 43 | 44 | def load_pcl_txt(dataroot: str, 45 | shape_info): 46 | """ 47 | Given a dataroot this method load the PointCloud from a .txt file and reshape to its original size. 48 | :param dataroot: dataroot to load the file. 49 | :return data_pcl: PointCloud from file. 50 | """ 51 | data_pcl = np.loadtxt(dataroot).reshape(shape_info[0], shape_info[1]) 52 | 53 | return data_pcl 54 | 55 | 56 | def save_to_txt(dataroot: str , 57 | data_txt): 58 | """ 59 | Given a dataroot and an array with the info pointclouds in the camera frame, this method 60 | stores the data in a .txt file. 61 | :param dataroot: dataroot to store the file. 62 | :param data_txt: array with the info. 63 | """ 64 | 65 | a_file = open(dataroot, "w") 66 | 67 | for row in data_txt: 68 | np.savetxt(a_file, row) 69 | 70 | a_file.close() 71 | 72 | def load_file(dataroot: str): 73 | """ 74 | Given a dataroot this method load the data from a .txt file in JSON format. 75 | :param dataroot: dataroot to load the file. 76 | :return data: dictionary with the info from file. 77 | """ 78 | with open(dataroot) as json_file: 79 | data = json.load(json_file) 80 | return data 81 | 82 | def save_in_file(dataroot: str , 83 | data_json: dict): 84 | """ 85 | Given a dataroot and a dictionary with the info, this method stores the data 86 | in a .txt file in JSON format. 87 | :param dataroot: dataroot to store the file. 88 | :param data_json: dictionary with the info. 89 | """ 90 | with open(dataroot, 'w') as outfile: 91 | json.dump(data_json, outfile, indent= 4) 92 | 93 | 94 | def bbox_3d_to_2d(nusc: NuScenes, 95 | camera_token: str, 96 | annotation_token: str, 97 | visualize: bool = False) -> List: 98 | 99 | """ 100 | Get the 2D annotation bounding box for a given `sample_data_token`. return None if no 101 | intersection (bounding box). 102 | :param nusc: NuScenes instance. 103 | :param camera_token: Camera sample_data token. 104 | :param annotation_token: Sample data token belonging to a camera keyframe. 105 | :param visualize: bool to plot the resulting bounding box. 106 | :return: List of 2D annotation record that belongs to the input `sample_data_token` 107 | """ 108 | 109 | # Obtain camera sample_data 110 | cam_data = nusc.get('sample_data', camera_token) 111 | 112 | # Get the calibrated sensor and ego pose record to get the transformation matrices. 113 | 114 | # From camera to ego 115 | cs_rec = nusc.get('calibrated_sensor', cam_data['calibrated_sensor_token']) 116 | # From ego to world coordinate frame 117 | pose_rec = nusc.get('ego_pose', cam_data['ego_pose_token']) 118 | # Camera intrinsic parameters 119 | camera_intrinsic = np.array(cs_rec['camera_intrinsic']) 120 | 121 | # Obtain the annotation from the token 122 | annotation_metadata = nusc.get('sample_annotation', annotation_token) 123 | 124 | # Get the box in global coordinates from sample ann token 125 | box = nusc.get_box(annotation_metadata['token']) 126 | 127 | # Mapping the box from world coordinate-frame to camera sensor 128 | 129 | # Move them to the ego-pose frame. 130 | box.translate(-np.array(pose_rec['translation'])) 131 | box.rotate(Quaternion(pose_rec['rotation']).inverse) 132 | 133 | # Move them to the calibrated sensor frame. 134 | box.translate(-np.array(cs_rec['translation'])) 135 | box.rotate(Quaternion(cs_rec['rotation']).inverse) 136 | 137 | # Filter out the corners that are not in front of the calibrated sensor. 138 | corners_3d = box.corners() # 8 corners of the 3d bounding box 139 | in_front = np.argwhere(corners_3d[2, :] > 0).flatten() # corners that are behind the sensor are removed 140 | corners_3d = corners_3d[:, in_front] 141 | 142 | # Project 3d box to 2d. 143 | corner_coords = view_points(corners_3d, camera_intrinsic, True).T[:, :2].tolist() 144 | 145 | # Filter points that are outside the image 146 | final_coords = post_process_coords(corner_coords) 147 | 148 | if final_coords is None: 149 | return None 150 | 151 | min_x, min_y, max_x, max_y = [int(coord) for coord in final_coords] 152 | 153 | if visualize: 154 | # Load image from dataroot 155 | img_path = osp.join(nusc.dataroot, cam_data['filename']) 156 | img = cv2.imread(img_path, 1) 157 | 158 | # Draw rectangle on image with coords 159 | img_r = cv2.rectangle(img, (min_x,min_y),(max_x,max_y),(255, 165, 0) , 3) 160 | img_r = img_r[:, :, ::-1] 161 | 162 | plt.figure(figsize=(12, 4), dpi=100) 163 | plt.imshow(img_r) 164 | plt.show() 165 | 166 | return final_coords 167 | 168 | def get_camera_data(nusc: NuScenes, 169 | annotation_token: str, 170 | box_vis_level: BoxVisibility = BoxVisibility.ANY): 171 | 172 | """ 173 | Given an annotation token (3d detection in world coordinate frame) this method 174 | returns the camera in which the annotation is located. If the box is splitted 175 | between 2 cameras, it brings the first one found. 176 | :param nusc: NuScenes instance. 177 | :param annotation_token: Annotation token. 178 | :param box_vis_level: If sample_data is an image, this sets required visibility for boxes. 179 | :return camera channel. 180 | """ 181 | #Get sample annotation 182 | ann_record = nusc.get('sample_annotation', annotation_token) 183 | 184 | sample_record = nusc.get('sample', ann_record['sample_token']) 185 | 186 | boxes, cam = [], [] 187 | 188 | #Stores every camera 189 | cams = [key for key in sample_record['data'].keys() if 'CAM' in key] 190 | 191 | #Try with every camera a match for the annotation 192 | for cam in cams: 193 | _, boxes, _ = nusc.get_sample_data(sample_record['data'][cam], box_vis_level=box_vis_level, 194 | selected_anntokens=[annotation_token]) 195 | if len(boxes) > 0: 196 | break # Breaks if find an image that matches 197 | assert len(boxes) < 2, "Found multiple annotations. Something is wrong!" 198 | 199 | return cam 200 | 201 | def target_to_cam(nusc: NuScenes, 202 | pointsensor_token: str, 203 | annotation_token: str, 204 | pointsensor_channel: str = 'LIDAR_TOP'): 205 | """ 206 | Given an annotation token (3d detection in world coordinate frame) and pointsensor sample_data token, 207 | transform the label from world-coordinate frame to LiDAR. 208 | :param nusc: NuScenes instance. 209 | :param pointsensor_token: Lidar/radar sample_data token. 210 | :param annotation_token: Camera sample_annotation token. 211 | :param pointsensor_channel: Laser channel name, e.g. 'LIDAR_TOP'. 212 | :return box with the labels for the 3d detection task in the LiDAR channel frame. 213 | """ 214 | 215 | # Point LiDAR sample 216 | point_data = nusc.get('sample_data', pointsensor_token) # Sample LiDAR info 217 | 218 | # From LiDAR to ego 219 | cs_rec = nusc.get('calibrated_sensor', point_data['calibrated_sensor_token']) 220 | # Transformation metadata from ego to world coordinate frame 221 | pose_rec = nusc.get('ego_pose', point_data['ego_pose_token']) 222 | 223 | # Obtain the annotation from the token 224 | annotation_metadata = nusc.get('sample_annotation', annotation_token) 225 | 226 | # Obtain box parameters 227 | box = nusc.get_box(annotation_metadata['token']) 228 | 229 | # Move them to the ego-pose frame. 230 | box.translate(-np.array(pose_rec['translation'])) 231 | box.rotate(Quaternion(pose_rec['rotation']).inverse) 232 | 233 | # Move them to the calibrated sensor frame. 234 | box.translate(-np.array(cs_rec['translation'])) 235 | box.rotate(Quaternion(cs_rec['rotation']).inverse) 236 | 237 | return box 238 | 239 | def map_pointcloud_to_image_(nusc: NuScenes, 240 | bbox, 241 | pointsensor_token: str, 242 | camera_token: str, 243 | min_dist: float = 1.0, 244 | dist_thresh: float = 0.1, 245 | visualize: bool = False) -> Tuple: 246 | """ 247 | Given a point sensor (lidar/radar) token and camera sample_data token, load point-cloud and map it to the image 248 | plane. 249 | :param nusc: NuScenes instance. 250 | :param bbox: object coordinates in the current image. 251 | :param pointsensor_token: Lidar/radar sample_data token. 252 | :param camera_token: Camera sample_data token. 253 | :param min_dist: Distance from the camera below which points are discarded. 254 | :param dist_thresh: Threshold to consider points within floor plane. 255 | :return (points_ann , coloring_ann , ori_points_ann, image ). 256 | """ 257 | cam = nusc.get('sample_data', camera_token) # Sample camera info 258 | pointsensor = nusc.get('sample_data', pointsensor_token) # Sample point cloud 259 | # pcl_path is the path from root to the pointCloud file 260 | pcl_path = osp.join(nusc.dataroot, pointsensor['filename']) 261 | # Open the pointCloud path using the Lidar or Radar class 262 | if pointsensor['sensor_modality'] == 'lidar': 263 | # Read point cloud with LidarPointCloud (4 x samples) --> X, Y, Z and intensity 264 | pc = LidarPointCloud.from_file(pcl_path) 265 | # To access the points pc.points 266 | else: 267 | # Read point cloud with LidarPointCloud (18 x samples) --> 268 | # https://github.com/nutonomy/nuscenes-devkit/blob/master/python-sdk/nuscenes/utils/data_classes.py#L296 269 | pc = RadarPointCloud.from_file(pcl_path) 270 | 271 | # Open image of the interest camera 272 | im = Image.open(osp.join(nusc.dataroot, cam['filename'])) 273 | 274 | # Save original points (X, Y and Z) coordinates in LiDAR frame 275 | ori_points = pc.points[:3, :].copy() 276 | 277 | # Points live in the point sensor frame. So they need to be transformed via global to the image plane. 278 | # First step: transform the point-cloud to the ego vehicle frame for the timestamp of the sweep. 279 | cs_record = nusc.get('calibrated_sensor', pointsensor['calibrated_sensor_token']) # Transformation matrix of pointCloud 280 | # Transform the Quaternion into a rotation matrix and use method rotate in PointCloud class to rotate 281 | # Map from the laser sensor to ego_pose 282 | # The method is a dot product between cs_record['rotation'] (3 x 3) and points (3 x points) 283 | pc.rotate(Quaternion(cs_record['rotation']).rotation_matrix) 284 | # Add the traslation vector between ego vehicle and sensor 285 | # The method translate is an addition cs_record['translation'] (3,) and points (3 x points) 286 | pc.translate(np.array(cs_record['translation'])) 287 | 288 | # Second step: transform to the global frame. 289 | poserecord = nusc.get('ego_pose', pointsensor['ego_pose_token']) 290 | # Same step as before, map from ego_pose to world coordinate frame 291 | pc.rotate(Quaternion(poserecord['rotation']).rotation_matrix) 292 | pc.translate(np.array(poserecord['translation'])) 293 | 294 | # Third step: transform into the ego vehicle frame for the timestamp of the image. 295 | poserecord = nusc.get('ego_pose', cam['ego_pose_token']) 296 | # Same step as before, map from world coordinate frame to ego vehicle frame for the timestamp of the image. 297 | pc.translate(-np.array(poserecord['translation'])) 298 | pc.rotate(Quaternion(poserecord['rotation']).rotation_matrix.T) 299 | 300 | # Fourth step: transform into the camera. 301 | cs_record = nusc.get('calibrated_sensor', cam['calibrated_sensor_token']) 302 | # Same step as before, map from ego at camera timestamp to camera 303 | pc.translate(-np.array(cs_record['translation'])) 304 | pc.rotate(Quaternion(cs_record['rotation']).rotation_matrix.T) 305 | 306 | # Fifth step: actually take a "picture" of the point cloud. 307 | # Grab the depths (camera frame z axis points away from the camera). 308 | depths = pc.points[2, :] 309 | 310 | # Retrieve the color from the depth. 311 | coloring = depths 312 | 313 | # Take the actual picture (matrix multiplication with camera-matrix + renormalization). 314 | # Normalization means to divide the X and Y coordinates by the depth 315 | # The output dim (3 x n_points) where the 3rd row are ones. 316 | points = view_points(pc.points[:3, :], np.array(cs_record['camera_intrinsic']), normalize=True) 317 | 318 | # bounding box coordinates 319 | min_x, min_y, max_x, max_y = [int(points_b) for points_b in bbox] 320 | 321 | # Floor segmentation 322 | points_img, coloring_img, ori_points_img = segment_floor(points, coloring, ori_points, 323 | (im.size[0], im.size[1]), dist_thresh, 1.0) 324 | 325 | # Filter the points within the annotaiton 326 | # Create a mask of bools the same size of depth points 327 | mask_ann = np.ones(coloring_img.shape[0], dtype=bool) 328 | # Keep points such as X coordinate is bigger than bounding box minimum coordinate 329 | mask_ann = np.logical_and(mask_ann, points_img[0, :] > min_x + 1) 330 | # remove points such as X coordinate is bigger than bounding box maximum coordinate 331 | mask_ann = np.logical_and(mask_ann, points_img[0, :] < max_x - 1) 332 | # Keep points such as Y coordinate is bigger than bounding box minimum coordinate 333 | mask_ann = np.logical_and(mask_ann, points_img[1, :] > min_y + 1) 334 | # remove points such as Y coordinate is bigger than bounding box maximum coordinate 335 | mask_ann = np.logical_and(mask_ann, points_img[1, :] < max_y - 1) 336 | # Keep only the interest points 337 | points_ann = points_img[:, mask_ann] 338 | coloring_ann = coloring_img[mask_ann] 339 | ori_points_ann = ori_points_img[:, mask_ann] 340 | 341 | if visualize: 342 | plt.figure(figsize=(9, 16)) 343 | plt.imshow(im) 344 | plt.scatter(points_ann[0, :], points_ann[1, :], c = coloring_ann, s = 5) 345 | plt.axis('off') 346 | 347 | return points_ann, coloring_ann, ori_points_ann, im 348 | 349 | def segment_floor(points: np.array, 350 | coloring: np.array, 351 | ori_points: np.array, 352 | imsize: Tuple[float, float] = (1600, 900), 353 | dist_thresh: float = 0.3, 354 | min_dist: float = 1.0) -> Tuple: 355 | """ 356 | Given a point sensor (lidar/radar) token and camera sample_data token, load point-cloud and map it to the image 357 | plane. 358 | :param points: point cloud mapped in the image frame 359 | :param coloring: depth of the point cloud in the camera frame 360 | :param ori_points: point cloud in LiDAR coordinate frame 361 | :param imsize: Size of image to render. The larger the slower this will run. 362 | :param dist_thresh: Threshold to consider points within floor plane. 363 | :param min_dist: Distance from the camera below which points are discarded. 364 | :return (points_img , coloring_img , ori_points_img). 365 | """ 366 | 367 | # Remove points that are either outside or behind the camera. Leave a margin of 1 pixel for aesthetic reasons. 368 | mask_img = np.ones(coloring.shape[0], dtype=bool) 369 | mask_img = np.logical_and(mask_img, coloring > min_dist) 370 | mask_img = np.logical_and(mask_img, points[0, :] > 1) 371 | mask_img = np.logical_and(mask_img, points[0, :] < imsize[0] - 1) 372 | mask_img = np.logical_and(mask_img, points[1, :] > 1) 373 | mask_img = np.logical_and(mask_img, points[1, :] < imsize[1] - 1) 374 | 375 | # Filter the points within the image with the generated mask 376 | points_img = points[:, mask_img] 377 | coloring_img = coloring[mask_img] 378 | ori_points_img = ori_points[:, mask_img] 379 | 380 | # Segmenting the point cloud's floor 381 | lidar_points = np.asarray(ori_points_img.T, np.float32) 382 | pcd = o3d.geometry.PointCloud() 383 | pcd.points = o3d.utility.Vector3dVector(lidar_points) 384 | 385 | # inliers are the indeces of the the inliers (plane points) 386 | plane_model, inliers = pcd.segment_plane(distance_threshold = dist_thresh, 387 | ransac_n = 20, 388 | num_iterations = 1000) 389 | # Obtaining the plane's equation 390 | [a, b, c, d] = plane_model 391 | # print(f"Plane equation: {a:.2f}x + {b:.2f}y + {c:.2f}z + {d:.2f} = 0") 392 | 393 | # These lines plot the point cloud inliers and outliers 394 | # inlier_cloud = pcd.select_by_index(inliers) 395 | # inlier_cloud.paint_uniform_color([1.0, 0, 0]) 396 | # outlier_cloud = pcd.select_by_index(inliers, invert=True) 397 | # o3d.visualization.draw_geometries([outlier_cloud]) 398 | 399 | # Create a floor mask with the indeces inverted, points that are not in plane are of interest 400 | mask_floor = np.arange(points_img.shape[1]) 401 | mask_floor = np.full(points_img.shape[1], True, dtype=bool) 402 | mask_floor[inliers] = False 403 | 404 | # Filter the points which are floor 405 | points_img = points_img[:, mask_floor] 406 | coloring_img = coloring_img[mask_floor] 407 | ori_points_img = ori_points_img[:, mask_floor] 408 | 409 | return points_img, coloring_img, ori_points_img 410 | 411 | def parse_features_to_numpy(path: str): 412 | """ 413 | Given a features' vector path, read the txt file and parse the info as a numpy array 414 | :param path: Path to the features' vector file. 415 | :return (descriptor_array . 416 | """ 417 | 418 | # Reading the file 419 | file = open(path,"r") 420 | file = file.read() 421 | # Replace undesired elements 422 | file = file.replace('(', '').replace(')', '').replace(' ', '') 423 | # Split the string and create a numpy array with floats 424 | descriptor_array = np.array(file.split(',')).astype(float) 425 | 426 | return descriptor_array 427 | 428 | def pred_to_world(nusc: NuScenes, 429 | pointsensor_token: str, 430 | bbox_3d, 431 | pointsensor_channel: str = 'LIDAR_TOP'): 432 | """ 433 | Given an annotation token (3d detection in world coordinate frame) and pointsensor sample_data token, 434 | transform the label from world-coordinate frame to LiDAR. 435 | :param nusc: NuScenes instance. 436 | :param pointsensor_token: Lidar/radar sample_data token. 437 | :param bbox_3d: box object with the predicted 3D bbox info. 438 | :param pointsensor_channel: Laser channel name, e.g. 'LIDAR_TOP'. 439 | :return box mapped in the world coordinate frame. 440 | """ 441 | 442 | # Point LiDAR sample 443 | point_data = nusc.get('sample_data', pointsensor_token) # Sample LiDAR info 444 | 445 | # From LiDAR to ego 446 | cs_rec = nusc.get('calibrated_sensor', point_data['calibrated_sensor_token']) 447 | # Transformation metadata from ego to world coordinate frame 448 | pose_rec = nusc.get('ego_pose', point_data['ego_pose_token']) 449 | 450 | # Map tp ego-vehicle coordinate frame 451 | bbox_3d.rotate(Quaternion(cs_rec['rotation'])) 452 | bbox_3d.translate(np.array(cs_rec['translation'])) 453 | 454 | # Map from ego-vehicle to world coordinate frame 455 | bbox_3d.rotate(Quaternion(pose_rec['rotation'])) 456 | bbox_3d.translate(np.array(pose_rec['translation'])) 457 | 458 | return bbox_3d -------------------------------------------------------------------------------- /utils/vis.py: -------------------------------------------------------------------------------- 1 | # Code written by Miguel Saavedra & Gustavo Salazar, 2020. 2 | 3 | """ 4 | Set 5 | Note: Util functions to plot the 3D bounding box in the image frame 6 | Describe longer Gus 7 | """ 8 | 9 | import numpy as np 10 | from PIL import Image 11 | 12 | import matplotlib.pyplot as plt 13 | from matplotlib.axes import Axes 14 | from matplotlib import rcParams 15 | from shapely.geometry import MultiPoint, box 16 | 17 | from pyquaternion import Quaternion 18 | import os.path as osp 19 | from nuscenes import NuScenes 20 | 21 | # Utils for Lidar and Radar 22 | from nuscenes.nuscenes import NuScenes 23 | from nuscenes.utils.geometry_utils import view_points, BoxVisibility 24 | from nuscenes.utils.data_classes import LidarPointCloud 25 | from nuscenes.utils.data_classes import RadarPointCloud 26 | from nuscenes.scripts.export_2d_annotations_as_json import get_2d_boxes, post_process_coords 27 | 28 | from typing import Tuple, List, Dict, Union 29 | 30 | 31 | def plot_3d_image_(nusc: NuScenes, 32 | camera_token: str, 33 | label: str, 34 | sample_token: str, 35 | bbox_3d: box, 36 | gt_bbox_3d, 37 | pointsensor_channel: str = 'LIDAR_TOP'): 38 | """ 39 | Given a 3D box, this method plots the Bounding box in the image frame 40 | :param nusc: NuScenes instance. 41 | :param camera_token: Camera sample_data token. 42 | :param label: Class' label. 43 | :param sample_token: Sample data token belonging to a camera keyframe. 44 | :param bbox_3d: box object with the predicted 3D bbox info. 45 | :param gt_bbox_3d: box object with the ground truth 3D bbox info. 46 | :param pointsensor_channel: Channel of the point cloud sensor. 47 | """ 48 | 49 | # Sample record 50 | sample_record = nusc.get('sample', sample_token) 51 | # Sample cam sensor 52 | cam = nusc.get('sample_data', camera_token) 53 | # Sample point cloud 54 | pointsensor_token = sample_record['data'][pointsensor_channel] 55 | pointsensor = nusc.get('sample_data', pointsensor_token) 56 | 57 | # Obtain transformation matrices 58 | # From camera to ego 59 | cs_rec_cam = nusc.get('calibrated_sensor', cam['calibrated_sensor_token']) 60 | # From ego to world coordinate frame Cam 61 | pose_rec_cam = nusc.get('ego_pose', cam['ego_pose_token']) 62 | 63 | # From LiDAR to ego 64 | cs_rec_point = nusc.get('calibrated_sensor', 65 | pointsensor['calibrated_sensor_token']) 66 | # Transformation metadata from ego to world coordinate frame 67 | pose_rec_point = nusc.get('ego_pose', pointsensor['ego_pose_token']) 68 | 69 | # Transform box to camera frame 70 | # From LiDAR point sensor to ego vehicle 71 | bbox_3d.rotate(Quaternion(cs_rec_point['rotation'])) 72 | bbox_3d.translate(np.array(cs_rec_point['translation'])) 73 | 74 | # Move box to world coordinate frame 75 | bbox_3d.rotate(Quaternion(pose_rec_point['rotation'])) 76 | bbox_3d.translate(np.array(pose_rec_point['translation'])) 77 | 78 | # Move box to ego vehicle coord system. 79 | bbox_3d.translate(-np.array(pose_rec_cam['translation'])) 80 | bbox_3d.rotate(Quaternion(pose_rec_cam['rotation']).inverse) 81 | 82 | # Move box to sensor coord system (cam). 83 | bbox_3d.translate(-np.array(cs_rec_cam['translation'])) 84 | bbox_3d.rotate(Quaternion(cs_rec_cam['rotation']).inverse) 85 | 86 | # Draw vertical lines of 3D bounding box with this method 87 | 88 | def draw_rect(selected_corners, color, axes): 89 | prev = selected_corners[-1] 90 | for corner in selected_corners: 91 | axes.plot([prev[0], corner[0]], [prev[1], corner[1]], 92 | color=color, linewidth=2) 93 | prev = corner 94 | 95 | # Map corners to 2D image plane 96 | cs_record_calib = nusc.get( 97 | 'calibrated_sensor', cam['calibrated_sensor_token']) 98 | corners = view_points(bbox_3d.corners(), view=np.array( 99 | cs_record_calib['camera_intrinsic']), normalize=True)[:2, :] 100 | 101 | # Create axis and image 102 | fig, axes = plt.subplots(1, 1, figsize=(18, 9)) 103 | # Open image of the interest camera 104 | im = Image.open(osp.join(nusc.dataroot, cam['filename'])) 105 | axes.imshow(im) 106 | 107 | # Draw the sides of the bounding box 108 | colors = ('b', 'k', 'k') 109 | 110 | for i in range(4): 111 | axes.plot([corners.T[i][0], corners.T[i + 4][0]], 112 | [corners.T[i][1], corners.T[i + 4][1]], 113 | color=colors[2], linewidth=2) 114 | 115 | # Draw front (first 4 corners) and rear (last 4 corners) rectangles(3d)/lines(2d) 116 | draw_rect(corners.T[:4], colors[0], axes) 117 | draw_rect(corners.T[4:], colors[1], axes) 118 | 119 | # Draw line indicating the front 120 | center_bottom_forward = np.mean(corners.T[2:4], axis=0) 121 | center_bottom = np.mean(corners.T[[2, 3, 7, 6]], axis=0) 122 | axes.plot([center_bottom[0], center_bottom_forward[0]], 123 | [center_bottom[1], center_bottom_forward[1]], 124 | color=colors[0], linewidth=2) 125 | 126 | # If none nothing else is plotted, otherwise the ground truth is plotted. 127 | if gt_bbox_3d is not None: 128 | # Transform box to camera frame 129 | # From LiDAR point sensor to ego vehicle 130 | gt_bbox_3d.rotate(Quaternion(cs_rec_point['rotation'])) 131 | gt_bbox_3d.translate(np.array(cs_rec_point['translation'])) 132 | 133 | # Move box to world coordinate frame 134 | gt_bbox_3d.rotate(Quaternion(pose_rec_point['rotation'])) 135 | gt_bbox_3d.translate(np.array(pose_rec_point['translation'])) 136 | 137 | # Move box to ego vehicle coord system. 138 | gt_bbox_3d.translate(-np.array(pose_rec_cam['translation'])) 139 | gt_bbox_3d.rotate(Quaternion(pose_rec_cam['rotation']).inverse) 140 | 141 | # Move box to sensor coord system (cam). 142 | gt_bbox_3d.translate(-np.array(cs_rec_cam['translation'])) 143 | gt_bbox_3d.rotate(Quaternion(cs_rec_cam['rotation']).inverse) 144 | 145 | corners_gt = view_points(gt_bbox_3d.corners(), view = np.array(cs_record_calib['camera_intrinsic']), normalize = True)[:2, :] 146 | 147 | # Draw the sides of the bounding box 148 | colors_gt = ('m', 'm', 'm') 149 | 150 | for i in range(4): 151 | axes.plot([corners_gt.T[i][0], corners_gt.T[i + 4][0]], 152 | [corners_gt.T[i][1], corners_gt.T[i + 4][1]], 153 | color=colors_gt[2], linewidth = 2) 154 | 155 | # Draw front (first 4 corners) and rear (last 4 corners) rectangles(3d)/lines(2d) 156 | draw_rect(corners_gt.T[:4], colors_gt[0], axes) 157 | draw_rect(corners_gt.T[4:], colors_gt[1], axes) 158 | 159 | # Draw line indicating the front 160 | center_bottom_forward = np.mean(corners_gt.T[2:4], axis=0) 161 | center_bottom = np.mean(corners_gt.T[[2, 3, 7, 6]], axis=0) 162 | axes.plot([center_bottom[0], center_bottom_forward[0]], 163 | [center_bottom[1], center_bottom_forward[1]], 164 | color=colors_gt[0], linewidth=2) 165 | 166 | axes.set_title(nusc.get('sample_data', cam['token'])['channel']) 167 | axes.axis('off') 168 | axes.set_aspect('equal') 169 | --------------------------------------------------------------------------------