SeokjuLee / VPGNet

VPGNet: Vanishing Point Guided Network for Lane and Road Marking Detection and Recognition (ICCV 2017)
MIT License
483 stars 165 forks source link

Could you explain more details about how to run make_lmdb.sh? #6

Open ivo-gilles opened 6 years ago

ivo-gilles commented 6 years ago

I tried to edit the make_lmdb.sh file as following: ../../build/tools/convert_driving_data /media/aquarius/Backup/VPGNet/caltech-lanes-dataset/cordova1/ /media/aquarius/Backup/VPGNet/caltech-lanes-dataset/cordova1/list.txt LMDB_train ../../build/tools/compute_driving_mean LMDB_train ./driving_mean_train.binaryproto lmd ../../build/tools/convert_driving_data /media/aquarius/Backup/VPGNet/caltech-lanes-dataset/cordova2/ /media/aquarius/Backup/VPGNet/caltech-lanes-dataset/cordova2/list.txt LMDB_test but it seem doesn't work. Here is my output: ./make_lmdb.sh E1227 16:49:05.001368 4610 convert_driving_data.cpp:73] argv[1]: /media/aquarius/Backup/VPGNet/caltech-lanes-dataset/cordova1/ E1227 16:49:05.001581 4610 convert_driving_data.cpp:74] argv[2]: /media/aquarius/Backup/VPGNet/caltech-lanes-dataset/cordova1/list.txt E1227 16:49:05.264470 4610 convert_driving_data.cpp:145] Total to be processed: 0. F1227 16:49:05.354425 4617 compute_driving_mean.cpp:68] Unknown db backend lmd Check failure stack trace: @ 0x7f38d4fba5cd google::LogMessage::Fail() @ 0x7f38d4fbc433 google::LogMessage::SendToLog() @ 0x7f38d4fba15b google::LogMessage::Flush() @ 0x7f38d4fbce1e google::LogMessageFatal::~LogMessageFatal() @ 0x402c73 main @ 0x7f38d3ed9830 __libc_start_main @ 0x402f39 _start @ (nil) (unknown) ./make_lmdb.sh: line 7: 4617 Aborted (core dumped) ../../build/tools/compute_driving_mean LMDB_train ./driving_mean_train.binaryproto lmd E1227 16:49:05.457511 4619 convert_driving_data.cpp:73] argv[1]: /media/aquarius/Backup/VPGNet/caltech-lanes-dataset/cordova2/ E1227 16:49:05.457718 4619 convert_driving_data.cpp:74] argv[2]: /media/aquarius/Backup/VPGNet/caltech-lanes-dataset/cordova2/list.txt E1227 16:49:05.694105 4619 convert_driving_data.cpp:145] Total to be processed: 0.

Could you explain to me more details about this process? I am a newbie in caffe so it took me more than 3 days to fix this and nothing happened. Thank you in advance.

daixiaogang commented 6 years ago

@aquariusnk The backend is lmdb ,the 'b' is absent .
./../build/tools/compute_driving_mean LMDB_train ./driving_mean_train.binaryproto lmd

ivo-gilles commented 6 years ago

@daixiaogang Thank you for pointing out that mistake, but my problem happens before that line of code so I still get stuck at this step.

daixiaogang commented 6 years ago

the following is my code:

../../build/tools/convert_driving_data /home/swjtu/daixiaogang/VPGNet/caltech-lanes-dataset train_list.txt LMDB_train ../../build/tools/compute_driving_mean LMDB_train ./driving_mean_train.binaryproto lmdb ../../build/tools/convert_driving_data /home/swjtu/daixiaogang/VPGNet/caltech-lanes-dataset test_list.txt LMDB_test

train_list.txt and test_list.txt are in the same folder with make_lmdb.sh the img root=arg[1]+line[i].first where the line is in the .txt file.Maybe the '/' is the reason ,because the line in the .txt like: /cordova1/f00000.png 111 41 297 48 304 1 49 289 56 296 1 49 297 56 304 1 57 289 64 296 1 65 281 72 288 1 65 289 72 296 1 when you run this code again,you should delete the lmdb_test and lmdb_train first.

ivo-gilles commented 6 years ago

@daixiaogang now i see the problem. The list file which I downloaded from the Caltech dataset is not the same as your file. Mine is: "cordova1/f00000.png", and there is no location points. Could you give me your list file to test it? Thank you for helping me a lot

daixiaogang commented 6 years ago

@aquariusnk ,how should I give this file to you ?

ivo-gilles commented 6 years ago

@daixiaogang Sorry that I forget to give you my email. Could you send your file to this address: tin.duongtrung@gmail.com?

Laulian commented 6 years ago

@daixiaogang May I have a issue? the network's output of Multi-label task is 60x80x64, what does the "64"mean? the number of different types? but, in the paper it is 17, and this make me confused. Hope for your reply!

ivo-gilles commented 6 years ago

@daixiaogang thank you so much!!! Your files have solved my problem perfectly!

SeokjuLee commented 6 years ago

@ln-scau The number of channel 64 for the multi-label task includes auxiliary classes. Basically, you can set it as the number of your target classes such as 17.

chengm15 commented 6 years ago

@daixiaogang @aquariusnk Hello, I also meet the same problem of make_lmdb.sh. I think my list file might be correct and the line is like "/cordova1/f00000.png 111 41 297 48 304 1 49 289 56 296 1 49 297 56 304 1 57 289 64 296 1 65 281 72 288 1 65 289 72 296 1 73 281 80 288 1 81 273 88 280 1 81 281 88 288 1 89 273 96 280 1 97 265 104 272 1 97 273 104 280 1 105 265 112 272 1 113 257 120 264 1 113 265 120 272 1 121 257 128 264 1 129 249 136 256 1 129 257 136 264 1 137 249 144 256 1 145 241 152 248 1 145 249 152 256 1 153 241 160 248 1 161 233 168 240 1 161 241 168 248 1 169 233 176 240 1 177 233 184 240 1 185 225 192 232 1 185 233 192 240 1 193 225 200 232 1 201 217 208 224 1 201 225 208 232 1 201 321 208 328 3 201 329 208 336 3 209 217 216 224 1 209 313 216 320 3 209 321 216 328 3 217 209 224 216 1 217 217 224 224 1 217 297 224 304 3 217 305 224 312 3 217 313 224 320 3 225 209 232 216 1 225 281 232 288 3 225 289 232 296 3 225 297 232 304 3 233 201 240 208 1 233 209 240 216 1 233 273 240 280 3 233 281 240 288 3 233 289 240 296 3 241 201 248 208 1 241 265 248 272 3 241 273 248 280 3 249 201 256 208 1 249 249 256 256 3 249 257 256 264 3 249 265 256 272 3 257 241 264 248 3 257 249 264 256 3 257 257 264 264 3 265 225 272 232 3 265 233 272 240 3 265 241 272 248 3 273 217 280 224 3 273 225 280 232 3 273 233 280 240 3 281 209 288 216 3 281 217 288 224 3 289 201 296 208 3 289 209 296 216 3 329 201 336 208 1 337 201 344 208 1 337 209 344 216 1 345 209 352 216 1 345 217 352 224 1 353 217 360 224 1 353 225 360 232 1 353 233 360 240 1 361 225 368 232 1 361 233 368 240 1 361 241 368 248 1 369 233 376 240 1 369 241 376 248 1 369 249 376 256 1 377 249 384 256 1 377 257 384 264 1 385 257 392 264 1 385 265 392 272 1 385 273 392 280 1 393 265 400 272 1 393 273 400 280 1 393 281 400 288 1 401 273 408 280 1 401 281 408 288 1 401 289 408 296 1 409 289 416 296 1 409 297 416 304 1 417 297 424 304 1 417 305 424 312 1 425 305 432 312 1 425 313 432 320 1 425 321 432 328 1 433 313 440 320 1 433 321 440 328 1 433 329 440 336 1 441 329 448 336 1 441 337 448 344 1 449 337 456 344 1 449 345 456 352 1 457 345 464 352 1 457 353 464 360 1" and my make_lmdb.sh file is following: ../../build/tools/convert_driving_data /home/chengming/chengming/VPGNet/caltech-lanes-dataset cordova1.txt LMDB_train ../../build/tools/compute_driving_mean LMDB_train ./driving_mean_train.binaryproto lmdb ../../build/tools/convert_driving_data /home/chengming/chengming/VPGNet/caltech-lanes-dataset cordova2.txt LMDB_test

However, the output is: E1229 11:08:38.354805 26848 convert_driving_data.cpp:73] argv[1]: /home/chengming/chengming/VPGNet/caltech-lanes-dataset E1229 11:08:38.355428 26848 convert_driving_data.cpp:74] argv[2]: cordova1.txt F1229 11:08:39.193167 26848 convert_driving_data.cpp:127] Check failed: mkdir(db_path, 0744) == 0 (-1 vs. 0) mkdir LMDB_trainfailed ** Check failure stack trace: @ 0x7fe222873daa (unknown) @ 0x7fe222873ce4 (unknown) @ 0x7fe2228736e6 (unknown) @ 0x7fe222876687 (unknown) @ 0x403feb main @ 0x7fe22185df45 (unknown) @ 0x404819 (unknown) @ (nil) (unknown) ./make_lmdb.sh: line 21: 26848 Aborted (core dumped) ../../build/tools/convert_driving_data /home/chengming/chengming/VPGNet/caltech-lanes-dataset cordova1.txt LMDB_train F1229 11:08:39.618157 26859 compute_driving_mean.cpp:66] Check failed: mdb_cursor_get(mdb_cursor, &mdb_key, &mdb_value, MDB_FIRST) == 0 (-30798 vs. 0) Check failure stack trace: @ 0x7f3166b28daa (unknown) @ 0x7f3166b28ce4 (unknown) @ 0x7f3166b286e6 (unknown) @ 0x7f3166b2b687 (unknown) @ 0x402ad0 main @ 0x7f3165ae5f45 (unknown) @ 0x402e16 (unknown) @ (nil) (unknown) ./make_lmdb.sh: line 22: 26859 Aborted (core dumped) ../../build/tools/compute_driving_mean LMDB_train ./driving_mean_train.binaryproto lmdb E1229 11:08:39.811301 26862 convert_driving_data.cpp:73] argv[1]: /home/chengming/chengming/VPGNet/caltech-lanes-dataset E1229 11:08:39.811835 26862 convert_driving_data.cpp:74] argv[2]: cordova2.txt F1229 11:08:40.593801 26862 convert_driving_data.cpp:127] Check failed: mkdir(db_path, 0744) == 0 (-1 vs. 0) mkdir LMDB_testfailed Check failure stack trace: @ 0x7f5fba252daa (unknown) @ 0x7f5fba252ce4 (unknown) @ 0x7f5fba2526e6 (unknown) @ 0x7f5fba255687 (unknown) @ 0x403feb main @ 0x7f5fb923cf45 (unknown) @ 0x404819 (unknown) @ (nil) (unknown) ./make_lmdb.sh: line 23: 26862 Aborted (core dumped) ../../build/tools/convert_driving_data /home/chengming/chengming/VPGNet/caltech-lanes-dataset cordova2.txt LMDB_test** Can you help me to solve this problem? And my email is chengm15@163.com

daixiaogang commented 6 years ago

@chengm15 ,you shuould delete the LMDB_train and LMDB_test dir before you run this bash.

chengm15 commented 6 years ago

@daixiaogang Thanks for response! I have delete LMDB_train and LMDB_test. Right Now, the code is the following: ../../build/tools/convert_driving_data /home/chengming/chengming/VPGNet/caltech-lanes-dataset cordova1.txt ../../build/tools/compute_driving_mean ./driving_mean_train.binaryproto lmdb ../../build/tools/convert_driving_data /home/chengming/chengming/VPGNet/caltech-lanes-dataset cordova2.txt However, it still have the problem below:

convert_driving_data: Convert a set of images to the leveldb/lmdb format used as input for Caffe. Usage: convert_driving_data [FLAGS] ROOTFOLDER/ LISTFILE DB_NAME

No modules matched: use -help F1229 14:04:38.750690 36167 compute_driving_mean.cpp:58] Check failed: mdb_env_open(mdb_env, argv[1], 0x20000, 0664) == 0 (2 vs. 0) mdb_env_open failed Check failure stack trace: @ 0x7fd1af4c2daa (unknown) @ 0x7fd1af4c2ce4 (unknown) @ 0x7fd1af4c26e6 (unknown) @ 0x7fd1af4c5687 (unknown) @ 0x402816 main @ 0x7fd1ae47ff45 (unknown) @ 0x402e16 (unknown) @ (nil) (unknown) ./make_lmdb.sh: line 22: 36167 Aborted (core dumped) ../../build/tools/compute_driving_mean ./driving_mean_train.binaryproto lmdb convert_driving_data: Convert a set of images to the leveldb/lmdb format used as input for Caffe. Usage: convert_driving_data [FLAGS] ROOTFOLDER/ LISTFILE DB_NAME

No modules matched: use -help

daixiaogang commented 6 years ago

@chengm15 , you should read the error message when you meet it . There should exsit blankspace between each parameter.Just like: ../../build/tools/convert_driving_data /home/chengming/chengming/VPGNet/caltech-lanes-dataset cordova1.txt

Laulian commented 6 years ago

@SeokjuLee Thanks very much, your work is awesome!. As you said, can i set the number of channel 64 to 3? Because in the caltech lanes dataset, the list files generated by 'caltech-lanes-dataset/vpg_annot_v1.m has only 3 types.

SeokjuLee commented 6 years ago

@ln-scau Yes of course, but make sure the total number of classes is 3+1, which includes the background type.

chengm15 commented 6 years ago

@daixiaogang Thank you very much! I have solved this problem and the problem is that I need to write down the absolute dir of LMDB_train

Laulian commented 6 years ago

@SeokjuLee If i set the number of classes is 4,should i change the output of Conv7 in Multi-label task from 15x20x1024 to 15x20x64? Or just to change the tiling layer's param form tile_dim: 4 to tile_dim: 16 ?

SeokjuLee commented 6 years ago

@ln-scau Yes good point. you need to tune the depth of the branched Conv layer (the last one, maybe 8th?) when you change the number of types. However the tiling parameter is dependent on the output spatial size (width & height), so you don't need to change it.

Laulian commented 6 years ago

@SeokjuLee oh yes,the last one,please never mind my carelessness. In the drive_data_layer.cpp file,there has the following code:

// handle catalog float ptr = label_type; for (int y = 0; y < type_label_height; ++y) { for (int x = 0; x < type_label_width; ++x) { int id = (int)(box_mask.at(ytype_stride, xtype_stride)); if (id>=0 && id<itypes.size()) { ptr = itypes[id]+1; //if foreground(0~), ptr->itypes[id]+1 } else if (id == -1) { //if background(-1), ptr->0 ptr = 0; } else { LOG(ERROR) << "invalid id " << id << " " << y << ' ' << x << ' ' << (box_mask.at(ytype_stride, x*type_stride)) << ' ' << data.car_img_source(); } ptr++; } } It seems the category of the background is 0 and the foreground category is 2,3,4 respectively as caltech lanes dataset has only 3 types(1,2,3),is that right? I have trained the network and use the deploy.prototxt to get the output which is 60x80x64. I haven‘t do the post-processing yet, i just find the maximum probability of the 64 types at each position and then get the category of each position correspondingly. But when I test the trained model with my test_list image(I simply multiply each coordinates by 8),the result performs not so well.There include two issues: 1, the category that should be 2,3,4 must set to 3,4,5 correspondingly,if I want to get the relatively accurate result of the line type. 2,almost most of the results have some offsets between the ground truth.Of course,i haven‘t do the post-processing yet,is it caused the bad result? or have i do something else unscrupulously? Looking forward to your advice.

daixiaogang commented 6 years ago

@ln-scau ,can you tell me how to handle the ouput? How did you know which channel is lane?

chengm15 commented 6 years ago

@SeokjuLee @daixiaogang I have a question about the output of model. According to Figure 3 in paper, the output of grid box is 120x160x4 and it means that we have 120x160 bounding boxes. However, the output of multi-label is 60x80x64 and it means we operate recognition 60x80 times. Thus, the number of bounding box is not equal to the number of operating recognition. Does it means that every 4 bounding boxes operating 1 recognition, eg. [1, 1, :] ,[1, 2, :] ,[2, 1, :] ,[2, 2, :] in 120x160x4 share same recognition result [1,1,:] in 60x80x64?

CSUMIT commented 6 years ago

@chengm15 hi, i have the same problem with you. Here is my make_lmdb.sh file:

../../build/tools/convert_driving_data /home/VPGNet/caltech-lanes-dataset/cordova1 /home/VPGNet/caltech-lanes-dataset/cordova1.txt LMDB_train ../../build/tools/compute_driving_mean LMDB_train ./driving_mean_train.binaryproto lmdb ../../build/tools/convert_driving_data /home/VPGNet/caltech-lanes-dataset/cordova2 /home/VPGNet/caltech-lanes-dataset/cordova2.txt LMDB_test

After run ./make_lmdb.sh , and the output is: E0106 17:01:39.822190 10775 convert_driving_data.cpp:73] argv[1]: /home/VPGNet/caltech-lanes-dataset/cordova1 E0106 17:01:39.822608 10775 convert_driving_data.cpp:74] argv[2]: cordova1.txt E0106 17:01:39.823045 10775 convert_driving_data.cpp:145] Total to be processed: 0. F0106 17:01:39.862766 10777 compute_driving_mean.cpp:66] Check failed: mdb_cursor_get(mdb_cursor, &mdb_key, &mdb_value, MDB_FIRST) == 0 (-30798 vs. 0) Check failure stack trace: @ 0x7f7b3afd55cd google::LogMessage::Fail() @ 0x7f7b3afd7433 google::LogMessage::SendToLog() @ 0x7f7b3afd515b google::LogMessage::Flush() @ 0x7f7b3afd7e1e google::LogMessageFatal::~LogMessageFatal() @ 0x40360e main @ 0x7f7b39efb830 __libc_start_main @ 0x403959 _start @ (nil) (unknown) ./make_lmdb.sh: 行 4: 10777 Aborted (core dumped) ../../build/tools/compute_driving_mean LMDB_train ./driving_mean_train.binaryproto lmdb E0106 17:01:40.008815 10780 convert_driving_data.cpp:73] argv[1]: /home/VPGNet/caltech-lanes-dataset/cordova2 E0106 17:01:40.009174 10780 convert_driving_data.cpp:74] argv[2]: cordova2.txt E0106 17:01:40.009474 10780 convert_driving_data.cpp:145] Total to be processed: 0.

can you tell me how to solve this problem? Thank you.

chengm15 commented 6 years ago

@CSUMIT Your dir may be wrong and you can try the code blew:

../../build/tools/convert_driving_data /home/VPGNet/caltech-lanes-dataset /home/VPGNet/caltech-lanes-dataset/cordova1.txt LMDB_train
../../build/tools/compute_driving_mean LMDB_train ./driving_mean_train.binaryproto lmdb
../../build/tools/convert_driving_data /home/VPGNet/caltech-lanes-dataset /home/VPGNet/caltech-lanes-dataset/cordova2.txt LMDB_test
CSUMIT commented 6 years ago

@chengm15 Thank you for your reply. I have change the dir like you write, but there almost the same wrong output: E0106 19:06:15.216583 11360 convert_driving_data.cpp:73] argv[1]: /home/VPGNet/caltech-lanes-dataset E0106 19:06:15.217241 11360 convert_driving_data.cpp:74] argv[2]: /home/VPGNet/caltech-lanes-dataset/cordova1.txt E0106 19:06:15.217743 11360 convert_driving_data.cpp:145] Total to be processed: 0. F0106 19:06:15.290257 11363 compute_driving_mean.cpp:66] Check failed: mdb_cursor_get(mdb_cursor, &mdb_key, &mdb_value, MDB_FIRST) == 0 (-30798 vs. 0) Check failure stack trace: @ 0x7f9fae7715cd google::LogMessage::Fail() @ 0x7f9fae773433 google::LogMessage::SendToLog() @ 0x7f9fae77115b google::LogMessage::Flush() @ 0x7f9fae773e1e google::LogMessageFatal::~LogMessageFatal() @ 0x40360e main @ 0x7f9fad697830 __libc_start_main @ 0x403959 _start @ (nil) (unknown) ./make_lmdb.sh: line 4: 11363 Aborted (core dumped) ../../build/tools/compute_driving_mean LMDB_train ./driving_mean_train.binaryproto lmdb E0106 19:06:15.454126 11366 convert_driving_data.cpp:73] argv[1]: /home/VPGNet/caltech-lanes-dataset E0106 19:06:15.454476 11366 convert_driving_data.cpp:74] argv[2]: /home/VPGNet/caltech-lanes-dataset/cordova2.txt E0106 19:06:15.454957 11366 convert_driving_data.cpp:145] Total to be processed: 0.

I am new to caffe, so i don't know where is the problem. I think there maybe something wrong when i compile this caffe project, i compile this project only use these code: cp Makefile.config.example Makefile.config make all make test make runtest The compile doesn't have some wrong. But i don't do other configuration. Do you know where is the problem or is there some wrong when i compile this project?

chengm15 commented 6 years ago

what is the format of cordova1.txt? Does it like this? "/cordova1/f00000.png 111 41 297 48 304 1 49 289 56 296 1 49 297 56 304 1 57 289 64 296 1 65 281 72 288 1 65 289 72 296 1 "

CSUMIT commented 6 years ago

yes,the file is like this: /cordova1/f00000.png 111 41 297 48 304 1 49 289 56 296 1 49 297 56 304 1 57 289 64 296 1 65 281 72 288 1 65 289 72 296 1 73 281 80 288 1 81 273 88 280 1 81 281 88 288 1 89 273 96 280 1 97 265 104 272 1 97 273 104 280 1 105 265 112 272 1 113 257 120 264 1 113 265 120 272 1 121 257 128 264 1 129 249 136 256 1 129 257 136 264 1 137 249 144 256 1 145 241 152 248 1 145 249 152 256 1 153 241 160 248 1 161 233 168 240 1 161 241 168 248 1 169 233 176 240 1 177 233 184 240 1 185 225 192 232 1 185 233 192 240 1 193 225 200 232 1 201 217 208 224 1 201 225 208 232 1 201 321 208 328 3 201 329 208 336 3 209 217 216 224 1 209 313 216 320 3 209 321 216 328 3 217 209 224 216 1 217 217 224 224 1 217 297 224 304 3 I think this file is right.

chengm15 commented 6 years ago

@CSUMIT please check whether LMDB_train and LMDB_test are produced. If yes, you can try run train.sh.

CSUMIT commented 6 years ago

@chengm15 hi, thank you for your reply. I have run ./train.sh And there are a output.log file: I0107 11:18:38.870939 10178 caffe.cpp:183] Using GPUs 0 F0107 11:18:38.871364 10178 common.cpp:65] Cannot use GPU in CPU-only Caffe: check mode. Check failure stack trace: @ 0x7fb5ea3d05cd google::LogMessage::Fail() @ 0x7fb5ea3d2433 google::LogMessage::SendToLog() @ 0x7fb5ea3d015b google::LogMessage::Flush() @ 0x7fb5ea3d2e1e google::LogMessageFatal::~LogMessageFatal() @ 0x7fb5ea816bb0 caffe::Caffe::SetDevice() @ 0x40caa8 train() @ 0x409600 main @ 0x7fb5e9088830 __libc_start_main @ 0x409d59 _start @ (nil) (unknown) I am using a cpu to train not a gpu. I guess maybe it is the problem. Do you know how to solve this problem? Is this project can only use on gpu?

chengm15 commented 6 years ago

@CSUMIT maybe you install caffe in gpu version?

CSUMIT commented 6 years ago

@chengm15 But the output.log says: F0107 11:18:38.871364 10178 common.cpp:65] Cannot use GPU in CPU-only Caffe: check mode. Maybe it means i install caffe in cpu version. I have done this when i install caffe: For CPU-only Caffe, uncomment CPU_ONLY := 1 in Makefile.config.

CSUMIT commented 6 years ago

@chengm15 What version of caffe do you use, cpu or gpu? Whether this project can't work in cpu version if i don't change some code?

chengm15 commented 6 years ago

@CSUMIT I use gpu to run the project

chalot commented 6 years ago

@daixiaogang meet the same issue too. could you please send me another copy of train_list.txt and test_list.txt? my email is zhengdgao@163.com, Thanks a lot!

chenyiman commented 6 years ago

@ @daixiaogang Hi,I also need the train_list.txt and test_list.txt. Could you please send me? my email is chenyiman@zju.edu.cn, Thank you!!

chalot commented 6 years ago

@chenyiman see and run vpg_annot_v1.m, then you'll get ***.list as required.

fanqi1996 commented 6 years ago

@chengm15 I try your code like this:

../../build/tools/convert_driving_data /home/VPGNet-master/caltech-lanes-dataset /home/VPGNet-master/caltech-lanes-dataset/cordova1.txt LMDB_train ../../build/tools/compute_driving_mean LMDB_train ./driving_mean_train.binaryproto lmdb ../../build/tools/convert_driving_data /home/VPGNet-master/caltech-lanes-dataset /home/VPGNet-master/caltech-lanes-dataset/cordova2.txt LMDB_test my cordova1.txt like this: /cordova1/f00134.png 43 153 361 160 368 3 161 353 168 360 3 161 361 168 368 3 169 345 176 352 3 169 353 176 360 3 177 329 184 336 3 177 337 184 344 3 177 345 184 352 3 185 321 192 328 3 185 329 192 336 3 185 337 192 344 3 193 313 200 320 3 193 321 200 328 3 193 329 200 336 3 201 305 208 312 3 201 313 208 320 3 201 321 208 328 3 209 297 216 304 3 209 305 216 312 3 217 297 224 304 3 409 297 416 304 2 409 305 416 312 2 417 305 424 312 2 417 313 424 320 2 417 321 424 328 2 425 313 432 320 2 425 321 432 328 2 425 329 432 336 2 433 329 440 336 2 433 337 440 344 2 433 345 440 352 2 441 337 448 344 2 441 345 448 352 2 441 353 448 360 2 449 353 456 360 2 449 361 456 368 2 457 361 464 368 2 457 369 464 376 2 457 377 464 384 2 465 369 472 376 2 465 377 472 384 2 465 385 472 392 2 473 385 480 392 2 /cordova1/f00135.png 0 /cordova1/f00136.png 0 /cordova1/f00137.png 0 /cordova1/f00138.png 0 /cordova1/f00139.png 0 /cordova1/f00140.png 38 177 233 184 240 2 185 233 192 240 2 193 225 200 232 2 193 233 200 240 2 201 225 208 232 2 209 217 216 224 2 209 225 216 232 2 217 217 224 224 2 225 217 232 224 2 233 209 240 216 2 233 217 240 224 2 241 209 248 216 2 249 209 256 216 2 257 201 264 208 2 257 209 264 216 2 265 201 272 208 2 265 249 272 256 3

but there almost the same wrong output: Check failed: Check failed: mdb_cursor_get(mdb_cursor, &mdb_key, &mdb_value, MDB_FIRST) == 0 (-30798 vs. 0)

I am new,I don't know how to solve,problem,

cardwing commented 6 years ago

@fanqi1996 , maybe you need to specify the absolute path of LMDB_train and LMDB_test (at least in my case) since I got similar errors like yours. If you still have problems, you can post the complete error messages here.

cardwing commented 6 years ago

Just like the following: code

kpaonaut commented 6 years ago

@cardwing Hi I encountered the same problem as @fanqi1996 did. The error message is: (after running ./make_lmdb.sh)

E0730 17:49:56.138350 86589 convert_driving_data.cpp:73] argv[1]: home/simteam/VPGNet/caltech-lanes-dataset/cordova1
E0730 17:49:56.138882 86589 convert_driving_data.cpp:74] argv[2]: home/simteam/VPGNet/caltech-lanes-dataset/cordova1.txt
E0730 17:49:56.673770 86589 convert_driving_data.cpp:145] Total to be processed: 0.
F0730 17:49:56.916267 86598 compute_driving_mean.cpp:66] Check failed: mdb_cursor_get(mdb_cursor, &mdb_key, &mdb_value, MDB_FIRST) == 0 (-30798 vs. 0) 
*** Check failure stack trace: ***
    @     0x7f9d48c27daa  (unknown)
    @     0x7f9d48c27ce4  (unknown)
    @     0x7f9d48c276e6  (unknown)
    @     0x7f9d48c2a687  (unknown)
    @           0x402a21  main
    @     0x7f9d47bf4f45  (unknown)
    @           0x402ec5  (unknown)
    @              (nil)  (unknown)
./make_lmdb.sh: line 6: 86598 Aborted                 (core dumped) ../../build/tools/compute_driving_mean LMDB_train driving_mean_train.binaryproto lmdb

On changing all paths to absolute paths as your screenshot indicated, I invoked even more errors:

E0730 17:59:30.503680 86705 convert_driving_data.cpp:73] argv[1]: home/simteam/VPGNet/caltech-lanes-dataset/cordova1
E0730 17:59:30.504195 86705 convert_driving_data.cpp:74] argv[2]: home/simteam/VPGNet/caltech-lanes-dataset/cordova1.txt
F0730 17:59:31.029809 86705 convert_driving_data.cpp:127] Check failed: mkdir(db_path, 0744) == 0 (-1 vs. 0) mkdir /home/simteam/VPGNet/caffe/models/vpgnet-novp/LMDB_trainfailed
*** Check failure stack trace: ***
    @     0x7f1a72c19daa  (unknown)
    @     0x7f1a72c19ce4  (unknown)
    @     0x7f1a72c196e6  (unknown)
    @     0x7f1a72c1c687  (unknown)
    @           0x404171  main
    @     0x7f1a71c13f45  (unknown)
    @           0x404764  (unknown)
    @              (nil)  (unknown)
./make_lmdb.sh: line 5: 86705 Aborted                 (core dumped) ../../build/tools/convert_driving_data $PATH_TO_DATASET_DIR $PATH_TO_DATASET_LIST /home/simteam/VPGNet/caffe/models/vpgnet-novp/LMDB_train
F0730 17:59:31.411031 86715 compute_driving_mean.cpp:66] Check failed: mdb_cursor_get(mdb_cursor, &mdb_key, &mdb_value, MDB_FIRST) == 0 (-30798 vs. 0) 
*** Check failure stack trace: ***
    @     0x7f011564ddaa  (unknown)
    @     0x7f011564dce4  (unknown)
    @     0x7f011564d6e6  (unknown)
    @     0x7f0115650687  (unknown)
    @           0x402a21  main
    @     0x7f011461af45  (unknown)
    @           0x402ec5  (unknown)
    @              (nil)  (unknown)
./make_lmdb.sh: line 6: 86715 Aborted                 (core dumped) ../../build/tools/compute_driving_mean /home/simteam/VPGNet/caffe/models/vpgnet-novp/LMDB_train ./driving_mean_train.binaryproto lmdb
E0730 17:59:31.599723 86719 convert_driving_data.cpp:73] argv[1]: home/simteam/VPGNet/caltech-lanes-dataset/cordova1
E0730 17:59:31.600245 86719 convert_driving_data.cpp:74] argv[2]: home/simteam/VPGNet/caltech-lanes-dataset/cordova1.txt
F0730 17:59:32.086854 86719 convert_driving_data.cpp:127] Check failed: mkdir(db_path, 0744) == 0 (-1 vs. 0) mkdir /home/simteam/VPGNet/caffe/models/vpgnet-novp/LMDB_testfailed
*** Check failure stack trace: ***
    @     0x7fda8d633daa  (unknown)
    @     0x7fda8d633ce4  (unknown)
    @     0x7fda8d6336e6  (unknown)
    @     0x7fda8d636687  (unknown)
    @           0x404171  main
    @     0x7fda8c62df45  (unknown)
    @           0x404764  (unknown)
    @              (nil)  (unknown)
./make_lmdb.sh: line 7: 86719 Aborted                 (core dumped) ../../build/tools/convert_driving_data $PATH_TO_DATASET_DIR $PATH_TO_DATASET_LIST /home/simteam/VPGNet/caffe/models/vpgnet-novp/LMDB_test

My make_lmdb.sh file looks like this:(the version with absolute paths)

# Declare $PATH_TO_DATASET_DIR and $PATH_TO_DATASET_LIST
PATH_TO_DATASET_DIR="home/simteam/VPGNet/caltech-lanes-dataset/cordova1"
PATH_TO_DATASET_LIST="home/simteam/VPGNet/caltech-lanes-dataset/cordova1.txt"

../../build/tools/convert_driving_data $PATH_TO_DATASET_DIR $PATH_TO_DATASET_LIST /home/simteam/VPGNet/caffe/models/vpgnet-novp/LMDB_train
../../build/tools/compute_driving_mean /home/simteam/VPGNet/caffe/models/vpgnet-novp/LMDB_train ./driving_mean_train.binaryproto lmdb
../../build/tools/convert_driving_data $PATH_TO_DATASET_DIR $PATH_TO_DATASET_LIST /home/simteam/VPGNet/caffe/models/vpgnet-novp/LMDB_test

Also I made sure to delete the LMDB_train and LMDB_test folders before running the shell. Do you have any thoughts?

Many thanks!

kpaonaut commented 6 years ago

okay turns out I dropped the "/" sign before "home", making absolute path a relative path. And now it looks fine.

hjp845 commented 5 years ago

@daixiaogang It's been a year and a half, My file is "cordova1/f00000.png". There is no location points... could you please send me your list file? I really really really appreciate it. My email is wjdvud123456@gmail.com, Thank you!!

cardwing commented 5 years ago

I recommend other lane detection models, i.e., LaneNet, SCNN-Tensorflow, ENet-Label-Torch and SCNN-Torch.

hjp845 commented 5 years ago

Thank you so much for sending mail !!My other team is building SCNN-Touch.My teams is building vpg-net.Is there any reason to recommend a model like SCNN-Touch rather than vpg-net?

---------- 원본 메일 ----------
보낸사람: "HOU Yuenan" <notifications@github.com>
받는사람: "SeokjuLee/VPGNet" <VPGNet@noreply.github.com>

참조: "Hwang Jung Pyeong" <tlfgql@dgist.ac.kr>, "Comment" <comment@noreply.github.com>

날짜: 2019-05-13 (월) 14:16:16
제목: Re: [SeokjuLee/VPGNet] Could you explain more details about how to

run make_lmdb.sh? (#6)

I recommend other lane detection models, i.e., LaneNet, SCNN-Tensorflow and SCNN-Torch.

—You are receiving this because you commented.Reply to this email directly, view it on GitHub, or mute the thread.

cardwing commented 5 years ago

SCNN has a message passing module which works extremely well in long-continuous object detection like lane detection. However, since message passing module accounts for around 30% of the total feedforward time, it is not ideal to select SCNN if you want real-time lane detection. In this condition, I recommend our light-weight model, i.e., ENet-Label, which uses ENet as the backbone and the overall feedforward time is around 15 ms (SCNN is 130 ms). As to VPGNet, since their dataset which contains vanishing point annotations is not released and the full code is not available, it is difficult to reproduce the reported performance. So if you want real-time performance, I recommend ENet-Label. If you want good performance, I recommend SCNN.

ryan1051 commented 5 years ago

@ArayCHN Hi I meet the same problem like yours. bash make_lmdb.sh E0605 10:11:28.018514 9723 convert_driving_data.cpp:73] argv[1]: /home/ruwei/LaneDetection/VPGNet/caltech-lanes-dataset/cordova1 E0605 10:11:28.018903 9723 convert_driving_data.cpp:74] argv[2]: cordova1.txt E0605 10:11:28.555956 9723 convert_driving_data.cpp:145] Total to be processed: 0. F0605 10:11:28.615943 9728 compute_driving_mean.cpp:66] Check failed: mdb_cursor_get(mdb_cursor, &mdb_key, &mdb_value, MDB_FIRST) == 0 (-30798 vs. 0) *** Check failure stack trace: *** @ 0x7f89642805cd google::LogMessage::Fail() @ 0x7f8964282433 google::LogMessage::SendToLog() @ 0x7f896428015b google::LogMessage::Flush() @ 0x7f8964282e1e google::LogMessageFatal::~LogMessageFatal() @ 0x4027be main @ 0x7f89631a6830 __libc_start_main @ 0x402f39 _start @ (nil) (unknown) make_lmdb.sh: 行 4: 9728 已放弃 (核心已转储) ../../build/tools/compute_driving_mean /home/ruwei/LaneDetection/VPGNet/caffe/models/vpgnet-novp/LMDB_train ./driving_mean_train.binaryproto lmdb E0605 10:11:28.743790 9730 convert_driving_data.cpp:73] argv[1]: /home/ruwei/LaneDetection/VPGNet/caltech-lanes-dataset/cordova1 E0605 10:11:28.744107 9730 convert_driving_data.cpp:74] argv[2]: cordova1.txt E0605 10:11:29.279537 9730 convert_driving_data.cpp:145] Total to be processed: 0. No matter how I changed the path , it does not work. My .sh like this `../../build/tools/convert_driving_data /home/ruwei/LaneDetection/VPGNet/caltech-lanes-dataset/cordova1 cordova1.txt LMDB_train ../../build/tools/compute_driving_mean LMDB_train ./driving_mean_train.binaryproto lmdb

../../build/tools/convert_driving_data /home/ruwei/LaneDetection/VPGNet/caltech-lanes-dataset/cordova1 cordova1.txt LMDB_test`

ryan1051 commented 5 years ago

@ArayCHN The folder LMDB_train and LMDB_test have been created ,but no driving_mean_train.binaryproto.

calvin-valtz commented 3 years ago

@daixiaogang @chengm15 @CSUMIT Hi! i met the same issues. my .txt files contain no local point. could you send your txt files? my email is stevanus.calvin07@gmail.com. Thank you!