This is a readme file to explain the data set and a simple viewer. The algorimth details in processing such a data set can be found in Zhao, H., Cui, J., Zha, H., Katabira, K., Shao, X., Shibasaki, R., Sensing an intersection using a network of laser scanners and video cameras, IEEE Intelligent Transportation Systems Magazine, vol.1, no.2, 31-37, 2009. If you use the data or viewer, you are obligated to cite our research in your report. For any question or if you want more data, please contact: zhaohj@cis.pku.edu.cn 1.Data Organization and Naming The data set is generated at an intersection near west gate of PKU. It includes two parts: raw data and moving objects' trajectory data. raw data contains the following 4 kinds of data files. *.Lms File //raw data of one laser scanner *.Bg File //background data of one laser scanner *.Calib File //calibration parameters for a global coordinate system *.Bmp File //a simple map to describe the intersection trajectory data just contains one kind of data file. *.Traj File All data are divided to per 10 minutes a file. File naming rule£ºID(no use now) + Year + Month + Day + Hour + Minute + Second + "." + File Type + Location ID e.g. for Lms file: a20080716071000.lms1 2. Data File Formats 2.1 FILENAME.lms (Binary) -------------------------------------- | Angle range(eg. 180), float | |------------------------------------| | Angle resolution(eg. 0.5), float | |------------------------------------| | Range unit (eg. 100), float | |------------------------------------| | Background(reserved now),LMSDATBUF| |------------------------------------| | Scan #1,LMSDATBUF | |------------------------------------| | Scan #2,LMSDATBUF | |------------------------------------| | ...... | | ...... | | ...... | |------------------------------------| | Scan #n,LMSDATBUF | -------------------------------------- typedef struct { float AngRng; float AngRes; float unit } header; typedef struct { long milli; unsigned short dat[MAXDATLEN]; } LMSDATBUF; The file contains a header and a sequence of LMSDATBUF while, MAXDATLEN = 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 dat/unit 2.2 FILENAME.bg (Binary) saves the backgroud data which generated from raw laser data. The file contains a LMSDATBUF that has the same MAXDATLEN as LMS file. 2.3 FILENAME.calib (ASCII) saves calibration parameters in spatial and temporal domain which used in multi-laser data integration. Parameters: -CLIENT: the device want to add, e.g.lms02£¬map -##LD tag£¬record calibration parameters of each LMS file in global coordinate system -no: LMS file ID£¬responded to CLIENT -ang: Rotation angle -shvx: X-axis translation component -shvy: Y-axis translation component -reverse: Reserved now -##MAP tag£¬record calibration parameters of MAP(*.bmp file) in global coordinate system£¬which has the same meaning as LD tag -##SYNTIMEADJ£¬temporal adjustment of each LMS file -no: LMS file ID -steps: Milliseconds need to adjust 2.4 FILENAME.traj (ASCII) records the moving objects trajectories that have been detected and tracked by our algorithm. The first three lines of the file introduce the data format: #trajectory,no,class,length,width,svcnt #class={0:people;1:bicycle;2:car;3:bus;4:something else} #frameno,millisec,trajpx,trajpy,grpx,grpy,tdirvx,tdirvy,dirvx,dirvy,tspeed,speed,¡­ To every trajectory, there is a data header as one line. trajectory // means a new trajectory beginning no // trajectory NO. class // type of the moving object length // length of the moving object width // width of the moving object svcnt // Reserved now Then followed by the state sequence at eacn time instance. frameno // NO. of this time instance millisec // time stamp, in milliseconds trajpx,trajpy // position of the moving object grpx,grpy // no use now tdirvx£¬tdirvy // unit vector that describes the moving direction of the object dirvx,dirvy // no use now tspeed // moving speed of the object 3. useage of LDtrackViewer.exe LDtrackViewer is a windows program demonstrating some basic processing, e.g. displaying the lms data, moving object detection and tracking. 1. Start LDtrackViewer.exe 2. File->Load, select the *.lms file, then both the *.bg£¬*.calib, *.bmp with the same filename will be loaded 3. Press the black triangle button in the poped control dialog, then it begins to play the data, default process is movinig objects detection and tracking 4. You can switch the process pattern in Process menu 5. You can choose the elements want to display in the window view in Display menu. e.g. Process->Bg Subtraction, Display->Group, then you can see the object models as detection results 6. You can change view position and scale it by drag the mouse left/right button