This is a readme file to explain the data set and a simple viewer. The algorimth details in generating such a data set can be found in Zhao, H. Chiba, M., Shibasaki, R., Shao, X., Cui, J., Zha, H., A laser scanner based approach towards driving safety and traffic data collection, IEEE Trans. Intelligent Transportation System, vol.10, no.3, 534-546, 2009. If you use the data or viewer, you are obligated to cite our research in your report. For any question, please contact: zhaohj@cis.pku.edu.cn [Data Sets] The data set is generated on a run around the Science Buildings of PKU. It contains the following data files. a. FILENAME.master and FILENAME.raw are pairwised files. FILENAME.raw is a bitmap file in RAW format, FILENAME.master records its master info as follows, width 1616 //width of the bitmap length 1576 //height of the bitmap ox -161.851138 //the origin's coord. in world coord. syst. oy -223.076419 //corres. to the bitmap pixel (0,0), UNIT:(m,m) pixelsize 0.200000 //the bitmap pixel size, UNIT:(m) For any pixel (i,j), it coord. in world coord. syst. is calculated as follows, wx = ox + i*pixelsize wy = oy + j*pixelsize Pixel value of the bitmap is the count of hits by laser scan to the corresponding grid. There are two bitmap data sets, "1st-cleared" is a bitmap after cleaning the noise points on road, "1st-bline" is a bitmap with boundary lines filling gaps. The boundary points are with a special value of 254. The procedure for bitmap modification can be found at the end of the document. b. FILENAME.nav records the sequence of vehicle pos. time ang.x ang.y ang.z shv.x shv.y shv.z mat.score 53301207 0 0 -0.104755 0.064000 0.032000 0 0.659280 time is in millisec, angles are in radian, shift parameters are in meter, the last item is the score of matching, [0,1], higher is more reliable. c. FILENAME.traj records the moving objects trajectories that have been detected and tracked along the run. milli,fno,p.x,p.y,axnum,len0,len1,gp.x,gp.y,gv1.x,gv1.y,gv2.x,gv2.y,ptnum,ist,ied tno=1 53310703,97,5.927,28.651,0,0.427,0.097,2.807,29.155,0.963,-0.271,0.271,0.963,3,168,-858993460 //something wrong with the last two items, maybe do not need in your processing A trajectory is started from tno=N followed by the state sequence at each time instance. At each time instance, milli is time in millisec, fno might not be necessary in your processing; the (p.x,p.y) is the location of the moving object in world coordinate system at the time instance; the axnum is the major axes number detected from the data appearance, len0 and len1 are the length along each major axis; gp.x,gp.y,gv1.x,gv1.y,gv2.x,gv2.y are the location, the directional vectors of axis 1, axis 2 in sensor's local coordinate system; ptnum is the number of laser points on the moving object. d. FILENAME.mdl, FILENAME.dsx are pairwised, where fm.calib, recording the sensor's location and orientation w.r.t the vehicle frame is also used. You need to correspond the DIR setting in FILENAME.mdl according to your data. For example, if you put your data in c:\test\1\, you need to change the setting to DIR c:\test\1\ DSX 1st-map.dsx so that DIRDSX can locate your data. FILENAME.dsx is a binary data file in the following format. *.dsx contains a header and a sequence of dsrec. typedef struct { float AngRng; float AngRes; float unit } header; typedef struct { point3d ang; //vehicle orientation point3d shv; //vehicle position long millisec; //time of the measurement short rngval[SCANDATASIZE]; //range values short lab[SCANDATASIZE]; //label of the corresponding range val. } dsrec; while, SCANDATASIZE = AngRng/AngRes + 1 e.g. 180/0.5+1 = 361 100/0.25+1 = 401 A range value in "short" can be converted to a distance in meter by rngval/unit typedef struct { double x,y,z; } point3d; [Usage of MapShow.exe] 1. Start MapShow.exe 2. File->Load Map, select the *.master file, then both the *.master and *.raw withe same filename will be loaded. You can use the HOME and END keys to Zoom in and Zoom out the bitmap. 3. You can selectively conduct some of the following steps. a. File->Load Nav, load *.nav file. b. File->Load Mv. Obj., load *.traj file. c. File->Load Scan, select the *.mdl file, then the corresponding *.dsx will be loaded, and extended to laser points. Option->Animation, animate the scan data. 4. You can modify the bitmap by follows a. Select either of the actions Action->ClearBgp Action->AddBgp Action->AddBline b. Select a rect or line by press the left button of mouse, drag, release c. If ClearBgp is selected, pixels in the rect will be removed, i.e. values are set to 0; If AddBgp is selected, pixels in the rect will be set to 100; If AddBline is selected, a special line is drawn with value 254; d. Save the modified bitmap to *.raw by Action->OutputBgp