GithubHelp home page GithubHelp logo

lordliang / fvnet Goto Github PK

View Code? Open in Web Editor NEW
18.0 3.0 8.0 2.5 MB

FVNet is proposed for 3D object front-view proposal generation and detection from point cloud

Python 80.15% Shell 0.21% Cuda 10.53% C 9.08% Makefile 0.01% C++ 0.02%

fvnet's Introduction

FVNet

FVNet is proposed for 3D object front-view proposal generation and detection from point cloud

Previous coarse research paper: FVNet

This just is my graduation project, and I will complete it gradually. I promise. ^_^

fvnet's People

Contributors

lordliang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

fvnet's Issues

Need list_files directory

Could you commit the list_files, such as det_train_car_filtered.txt, label_train_2_car_filtered.txt. Thank you!

Where is the implementing functions of PG-Net?

As a novice, during learning your codes, I have found the implementing functions of PE-Net module, such as get_center_regression_net(), get_3d_box_estimation_net() in front_pointnets_v1.py. But I totally can't find the implementing functions of PG-Net. Could you give me some hints? Thanks a lot!

Some questions after running val.py

  1. The results eval box estimation accuracy is always 0
    in log_test_val.py
    Namespace(batch_size=32, gpu=0, model='front_pointnets_v1', model_path='/home/FVNet/est-kittinet/outputs/20191219100152/model_1000.ckpt', num_point=512, output_dir='/home/FVNet/est-kittinet/prediction/val')
    pid: 7425
    eval mean total loss: 7090.168824
    eval mean center loss: 2997.096728
    eval mean stage1 center loss: 2894.534797
    eval mean angle class loss: 1.750437
    eval mean angle res loss: 0.164404
    eval mean size res loss: 4.262741
    eval mean corners loss: 221.648795
    eval box IoU (ground/3D): 0.000003 / 0.000000
    eval box estimation accuracy (IoU=0.5): 0.000000
    eval box estimation accuracy (IoU=0.7): 0.000000

The same in log_train.txt:
**** EPOCH 999 ****
2019-12-20 01:50:44.774636
-- 400 / 429 --
mean total loss: 4238.088100
mean center loss: 1508.271276
mean stage1 center loss: 2049.937858
mean angle class loss: 1.753821
mean angle res loss: 0.164341
mean size res loss: 4.236634
mean corners loss: 118.021132
box IoU (ground/3D): 0.000000 / 0.000000
box estimation accuracy (IoU=0.5): 0.000000
box estimation accuracy (IoU=0.7): 0.000000
**** EPOCH 1000 ****
2019-12-20 01:51:33.322000
-- 400 / 429 --
mean total loss: 4242.318448
mean center loss: 1517.564768
mean stage1 center loss: 2046.396386
mean angle class loss: 1.752404
mean angle res loss: 0.164301
mean size res loss: 4.221072
mean corners loss: 117.779481
box IoU (ground/3D): 0.000000 / 0.000000
box estimation accuracy (IoU=0.5): 0.000000
box estimation accuracy (IoU=0.7): 0.000000
2019-12-20 01:52:21.722286
---- EPOCH 199 EVALUATION ----
eval mean total loss: 7092.537344
eval mean center loss: 2995.654283
eval mean stage1 center loss: 2896.207265
eval mean angle class loss: 1.749893
eval mean angle res loss: 0.164299
eval mean size res loss: 4.265863
eval mean corners loss: 222.064536
eval box IoU (ground/3D): 0.000000 / 0.000000
eval box estimation accuracy (IoU=0.5): 0.000000
eval box estimation accuracy (IoU=0.7): 0.000000
Model saved in file: /home/FVNet/est-kittinet/outputs/20191219100152/model_1000.ckpt

  1. The prediction data is almost not correct, corresponding to label.
    In 007480.txt which in ../prediction/data
    Car 0.00 0.00 0.00 607.93 374.00 612.09 374.00 0.38 0.83 1.29 0.09 189.97 235.72 -3.05 0.63
    Car 0.00 0.00 0.00 687.50 374.00 688.83 374.00 0.19 0.92 0.58 36.43 187.48 334.98 -3.07 0.63
    Car 0.00 0.00 0.00 64.25 293.80 65.31 294.06 0.23 0.71 -1.02 -798.89 177.65 1058.02 -0.17 0.67
    Car 0.00 0.00 0.00 1164.05 360.95 1165.13 361.90 0.67 0.87 -0.27 527.90 179.71 686.34 -0.14 0.66
    Car 0.00 0.00 0.00 757.98 374.00 759.19 374.00 0.38 0.93 -0.22 66.77 189.40 323.57 -0.15 0.67
    Car 0.00 0.00 0.00 1197.39 303.84 1198.13 304.03 0.07 0.96 -0.22 782.06 174.33 959.42 -3.12 0.61
    Car 0.00 0.00 0.00 1183.98 283.32 1184.71 283.51 0.17 0.75 -0.59 901.66 173.54 1131.94 -3.04 0.67
    Car 0.00 0.00 0.00 946.28 374.00 947.86 374.00 0.07 0.90 -0.72 257.56 182.00 550.74 -0.12 0.63
    Car 0.00 0.00 0.00 1228.98 317.58 1230.36 317.76 0.03 0.88 -0.92 749.07 174.96 871.65 -3.11 0.60
    Car 0.00 0.00 0.00 1140.36 374.00 1141.87 374.00 0.03 0.90 -0.40 398.94 179.64 541.61 -0.14 0.60
    Car 0.00 0.00 0.00 63.19 358.00 64.36 358.32 0.01 1.11 -0.39 -518.57 176.04 685.48 -0.13 0.60
    Car 0.00 0.00 0.00 1241.00 364.25 1241.00 364.44 -0.01 0.38 -1.48 601.46 175.87 662.69 -0.16 0.60
    Car 0.00 0.00 0.00 81.58 374.00 83.42 374.00 -0.00 1.16 0.41 -328.90 181.27 450.17 -0.12 0.60

The process is successful and not warning.
Are there some operations I ignore?

Why in kitti_dataset.py " lidar_dir = data_dir + "/cropped/" "

In kitti_dataset.py
Line11: lidar_dir = data_dir + "/cropped/"
Line26: pc_velo_path = self.lidar_dir + img_id + ".npy"
Line27: pc_velo = np.load(pc_velo_path)

Should I use np.fromfile() to load KITTI dataset /training/velodyne data which is ".bin" file?
I don't know what the cropped directory contains. Could you tell me, please? Thanks a lot.

Error in mtrand.RandomState.choice

I have successfully run preprocess_car_person.py, and generated the .npy in cropped directory.
But while I run train.py, it still has a problem like this:

/root/anaconda3/lib/python3.6/site-packages/numpy/core/fromnumeric.py:2957: RuntimeWarning: Mean of empty slice.
out=out, **kwargs)
/root/anaconda3/lib/python3.6/site-packages/numpy/core/_methods.py:73: RuntimeWarning: invalid value encountered in true_divide
ret, rcount, out=ret, casting='unsafe', subok=False)
Traceback (most recent call last):
File "train.py", line 385, in
train()
File "train.py", line 195, in train
train_one_epoch(sess, ops, train_writer)
File "train.py", line 235, in train_one_epoch
get_batch(TRAIN_DATASET, train_idxs, start_idx, end_idx, NUM_CHANNEL)
File "/home/FVNet/est-kittinet/kitti/kitti_dataset.py", line 113, in get_batch
sample = dataset[idxs[(i + start_idx) % num]]
File "/home/FVNet/est-kittinet/kitti/kitti_dataset.py", line 47, in getitem
replace=(object_rect.shape[0] < self.num_point))
File "mtrand.pyx", line 1120, in mtrand.RandomState.choice
ValueError: a must be greater than 0

Do you have met the problem before? Should I normalize some data? Hope for help, thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.