November 22, 2024, 02:18:38 AM

News : LinuxSolved.com Linux Help Community Forum..


Author Topic: Compiling Successfully Reading People Tracker's Code  (Read 16003 times)

Offline dragoncity99

  • LST CareTaker
  • Experienced
  • *****
  • Posts: 551
Compiling Successfully Reading People Tracker's Code
« on: August 19, 2005, 03:26:38 PM »
Dear Fellow Linux Friends,

  Lately i have been trying to help out a friend of my to compile a C++ project which is known  READING PEOPLE TRACKER:

http://www.cvg.cs.reading.ac.uk/projects/advisor/

Please let me know if u successfully compiled and run this code. The rpm packages and sources i used to compile this project:

1.   blas-3.0-29.i386.rpm
2.   lapack-3.0-29.i386.rpm
3.   libavc1394-0.4.1-8.i386.rpm
4.   libavc1394-devel-0.4.1-8.i386.rpm
5.   libdv-0.103-4.i386.rpm
6.   libdv-devel-0.103-4.i386.rpm
7.   libgfortran-4.0.0-8.i386.rpm
8.   ReadingPeopleTracker-1.27.tar.gz
9.   xerces-c_2_6_0-redhat_80-gcc_32.tar.gz
10. Ygl-4.1f.tar.gz

I have problem compiling the project. This is one challenging heck of app to install for me.

Kindly please share with me how u are able to successfully compile this code. Of course the requirement is, it must be in Fedora Core 4.

Kind Regards,
dragoncity99

Offline Ricky

  • LST CareTaker
  • Specially Skilled
  • *****
  • Posts: 2381
Compiling Successfully Reading People Tracker's Code
« Reply #1 on: August 20, 2005, 08:47:04 AM »
I am thinking to install FC4.. then will see ;)

Offline dragoncity99

  • LST CareTaker
  • Experienced
  • *****
  • Posts: 551
Compiling Successfully Reading People Tracker's Code
« Reply #2 on: August 20, 2005, 12:23:50 PM »
Ok, thanks ricky. I'll tell roughly how i install the dependent libraries and what errors to expect :)


This is one heck of challenge and no easy stuff.

Kind Regards,
dragoncity99

Offline dragoncity99

  • LST CareTaker
  • Experienced
  • *****
  • Posts: 551
Compiling Successfully Reading People Tracker's Code
« Reply #3 on: November 26, 2005, 04:46:16 AM »
HOW TO INSTALL READING PEOPLE TRACKER 1.27
Author: Richard Aik (a.k.a dragoncity99)
Last Updated: 2005-12-18

================
Packages Needed:
================
Code: [Select]

The following are the files that must be available under /root directory:
libavc1394-0.3.1-7.i386.rpm
libavc1394-devel-0.3.1-7.i386.rpm
libdv-0.102-1.1.fc1.fr.i386.rpm
libdv-devel-0.102-1.1.fc1.fr.i386.rpm
libraw1394-0.9.0-12.i386.rpm
libraw1394-devel-0.9.0-12.i386.rpm
xerces-c_2_6_0-redhat_80-gcc_32.tar.gz
Ygl-4.1f.tar.gz
ReadingPeopleTracker-1.27.tar.gz


====================
System Requirements:
====================
OS: Fedora Core 1 installed with complete set of "X development & libraries"
Reason: If your linux installation is with a "/usr/X11R6/LessTif/Motif1.2" directory. Im sure ur installation will be with lesser headache. (U could do a full blown installation if u dont wanna bother anything bout it)
Additional Packages Needed: Engineering Pacakges (Blas, LapAck)

(To make this simple, run the installation as root user, DONT DO IT ON A MISSION CRITICAL SYSTEM PLEASE.
Im not responsible for that if u really do so.)


============================
Section 1 Installing The RPM
============================
Code: [Select]

1. rpm -ivh libraw1394-0.9.0-12.i386.rpm
2. rpm -ivh libraw1394-devel-0.9.0-12.i386.rpm
3. rpm -ivh libavc1394-0.3.1-7.i386.rpm
4. rpm -ivh libavc1394-devel-0.3.1-7.i386.rpm
5. rpm -ivh libdv-0.102-1.1.fc1.fr.i386.rpm
6. rpm -ivh libdv-devel-0.102-1.1.fc1.fr.i386.rpm



==========================================
Section 2 Preparing Reading People Tracker
==========================================
Code: [Select]

1. cd /root
2. tar xzf ReadingPeopleTracker-1.27.tar.gz
3. mv ReadingPeopleTracker-1.27 rpt
4. ln -s rpt/ advisor;
5. cd advisor/; mkdir bin
6. ln -s /usr/X11R6/LessTif/Motif1.2 openmotif



==========================
Section 3 Install Xerces-C
==========================
Code: [Select]

1. cd /root
2. tar xzf /root/FC1/xerces-c_2_6_0-redhat_80-gcc_32.tar.gz
3. mv xerces-c_2_6_0-redhat_80-gcc_32 /root/rpt/xerces-c


=====================
Section 4 Install Ygl
=====================
Code: [Select]

1. cd /root
2. tar xzf /root/FC1/Ygl-4.1f.tar.gz
3. mv Ygl-4.1/ /root/rpt/Ygl;
4. cd /root/rpt/Ygl
5. xmkmf -a; make; make install


========================================
Section 4 Install Reading People Tracker
========================================
Code: [Select]

1. cd /root/advisor/source
2. make depend (Note: lots of warnings...but just ignore it)
3. make
4. cd progs; make

Done, u have your binary under /root/advisor/bin directory


================================
Section 5 Running People Tracker
================================
Many ppl kept mailing me asking how to make it run, okay, i will put this in as well.
Here's how u should structure your config:

Code: [Select]

/root/advisor
 -bin
 - source
 - CONFIG2
   ==> advisor
        ====> STIB/YZER/c02/{calibration}
        ====> STIB/YZER/c02/TRACKING_1/{colour-0001.jpg, colour-0002.jpg, colour-0003.jpg, ...}
   ==> models/{model.ascii}
   ==> /config/STIB.YZER/{TRACKING_1, TRACKING_1-PLTF02.C02, TRACKING_1-PLTF02.C02-AST, TRACKING_1-PLTF02.C02-HFT, TRACKING_1-PLTF02.C02-MD, TRACKING_1-PLTF02.C02-RT, TRACKING_1-PLTF02.C02-SK}
   ==> output/demo/STIB-YZER-c02-TRACKING_1

The following are the configuration files and it's configs:


==========
TRACKING_1
==========
Code: [Select]

# parameters for STIB/YZER sequence 3.2.11
# frame numbers range from 0000 to 2299
#
CAMERA_1_ENABLED 1
CAMERA_2_ENABLED 0
CAMERA_3_ENABLED 0
CAMERA_4_ENABLED 0

CAMERA_1_NAME PLTF02.C02
CAMERA_2_NAME ...
CAMERA_3_NAME ...
CAMERA_4_NAME ...

WRITE_RESULTS_IN_XML 1
XML_TRACKING_RESULTS_FILENAME /root/advisor/output.xml
QUIET_MODE 0


=====================
TRACKING_1-PLTF02.C02
=====================
Code: [Select]

# parameters for STIB/YZER sequence TRACKING_1 --- camera 02
# frame numbers range from 0000 to 2299
#
#CAMERA_NAME PLTF02.C02
CAMERA_ID 2002
CAMERA_DESCRIPTION STIB_YZER_Platform_02_Camera_2
CAMERA_CONFIDENCE 1
SKIP_NON_EXISTING 0
MAX_SKIP_NON_EXISTING 3

# MAX_KEEP_ALIVE 3
MAX_KEEP_ALIVE 10
MIN_DRAW_AGE 2

# all ImageSource FILENAMEs should now be like "slave,/advisor/video/STIB/YZER/3.2.11/C02/...."
VIDEO_IMAGE_SOURCE_FILENAME slave,/root/advisor/CONFIG2/advisor/video/STIB/YZER/c02/TRACKING_1/colour-0001.jpg
# MOTION_IMAGE_SOURCE_FILENAME slave,/root/advisor/CONFIG2/advisor/video/STIB/YZER/c02/TRACKING_1/motion0001.PGM
# BACKGROUND_IMAGE_SOURCE_FILENAME slave,/root/advisor/CONFIG2/advisor/video/STIB/YZER/c02/TRACKING_1/background-000.ppm
# XML_REGION_SOURCE_FILENAME slave,/root/advisor/CONFIG2/advisor/video/STIB/YZER/c02/TRACKING_1/motion-032400.xml

# output movie for demos
# OUTPUT_MOVIE_FILENAME /root/advisor/CONFIG2/output/demo/STIB-YZER-c02-TRACKING_1/8-000001.jpg
# MOTION_MOVIE_FILENAME /root/advisor/CONFIG2/output/demo/STIB-YZER-c02-TRACKING_1/8-motion-000001.pgm

# camera calibration matrix (3x4 projection matrix, NAG file format)
CALIBRATION_FILENAME /root/advisor/CONFIG2/advisor/video/STIB/YZER/c02/calibration

LAST_FRAME_ID 2299

OCCLUSION_RESAMPLE_SHIFT 0
QUICK_OCCLUSION_REASONING 0
SHOW_VIDEO_IMAGES 1
SHOW_MOTION_IMAGES 1
SHOW_BACKGROUND_IMAGES 0
SHOW_DIFFERENCE_IMAGES 0
SHOW_THRESHOLDED_DIFF_IMAGES 0
SHOW_FILTERED_DIFFERENCE_IMAGES 0
DRAW_REGIONS 1
DRAW_FEATURES 1
DRAW_SKELETONS 0
DRAW_PROFILES 1
DRAW_LABEL 1
USE_REGION_TRACKER 1
USE_HUMAN_FEATURE_TRACKER 1
USE_SKELETON_TRACKER 0
USE_ACTIVE_SHAPE_TRACKER 1


=========================
TRACKING_1-PLTF02.C02-AST
=========================
Code: [Select]

# Active Shape Tracker Configuration File PLTF02.C02-AST
#

#
# BaseTracker
DEBUG_LEVEL               0
MAX_OBJECTS               64

#  
# ShapeTracker
START_FITNESS_THRESHOLD   0.770
#TRACK_FITNESS_THRESHOLD   0.650
TRACK_FITNESS_THRESHOLD   0.550
SMALL_NO_FRAMES           1
MIN_SIGNIFICANCE          0.5
TERMINATION_THRESHOLD     20
INIT_SCALE_SD             0.1
REL_SCALE_SD              0.05
FRAME_SKIP                1
# EDGE_THRESHOLD  0.3
EDGE_THRESHOLD            0.18
EDGE_DETECTION  FOREGROUND_EDGE

#
# ActiveModel
PCA_CLOUD_SIZE            2
SHAPE_NOISE_SD            0.447214
INIT_SHAPE_SD             1
MEASURE_FAC_SD            0.1
MEASURE_CONST_SD          0.5
SPLINE_SUBDIVISIONS       4
MODEL_DEPTH               10
BUNCH_SIZE                4
HIERARCHICAL              1
MAHALANOBIS_DIRECTION     1
MIN_GAIN                  0.5

#
# ActiveShapeTracker
INIT_POS_SD               0.1
INIT_VEL_SD               0.1
REL_VEL_SD                0.1
INIT_THETA_SD             0.015
NOISE_THETA_SD            0

# calibration
MIN_WORLD_HEIGHT 130
MAX_WORLD_HEIGHT 220
TYPICAL_WORLD_HEIGHT 165
NEW_HYPOTHESIS_REPLACES_MEASUREMENT 1

USE_XML_IDS 0
PCA_MODEL_FILENAME /root/advisor/CONFIG2/models/model.ascii


=========================
TRACKING_1-PLTF02.C02-HFT
=========================
Code: [Select]

# HumanFeature Tracker parameter file
#
# BaseTracker
DEBUG_LEVEL  0
#
# HumanFeatureTracker
DRAW_HEAD_SEARCH_AREA  1
DRAW_COLOUR  1
DRAW_HEAD_BBOX  1
DRAW_HEAD_CENTRE  1
DRAW_SHOULDER_WIDTH  1

MIN_WORLD_HEIGHT 1
MAX_WORLD_HEIGHT 10
TYPICAL_WORLD_HEIGHT 25
MAX_OBJECTS  1
USE_XML_IDS  0


========================
TRACKING_1-PLTF02.C02-MD
========================
Code: [Select]

# Motion Detector Configuration File PLTF02.C02-MD
#
CAMERA_MOVED_THRESH              0.5
MOTION_RESAMPLE_SHIFT            0
UPDATE_BACKGROUND                0
BACKGROUND_UPDATE_SKIP           2147483647
#DETECT_DIFF_THRESH  0.154
DETECT_DIFF_THRESH               0.154
BACKGROUND_RUN_LENGTH            50
MAX_REGION_SIZE                  0.5
#MIN_REGION_SIZE  0.007
MIN_REGION_SIZE                  0.006
REGION_MERGE_THRESH              0.5
DO_MERGE_REGIONS                 1
MEDIAN_FILTER_MOTION_IMAGE       0
BLUR_MOTION                      0
MOTION_IMAGE_DILATION            1
GAP_SIZE                         2
PRECALCULATE_DIFFERENCE_IMAGE    1
ADDITIONAL_MOTION_MASK_FILENAME /root/advisor/CONFIG2/advisor/video/STIB/YZER/c02/TRACKING_1/motion-mask.pgm
INITIAL_BACKGROUND_IMAGE_FILENAME /root/advisor/CONFIG2/advisor/video/STIB/YZER/c02/TRACKING_1/reference.ppm
PREFILTER_DIFFERENCE             0
MAX_HEIGHT_TO_WIDTH              6
MIN_HEIGHT_TO_WIDTH              0.25
NO_BLOB_FILTER                   0
SAMPLE_SKIP                      1
USE_MULTI_BACKGROUND_SOURCE      0


========================
TRACKING_1-PLTF02.C02-RT
========================
Code: [Select]

# Region Tracker PLATF02.C02-RT
#
DEBUG_LEVEL                0
MAX_OBJECTS                64
MAX_MATCH_DIFFERENCE       120
STATIC_COUNT_INCORPORATE   5

MAX_MERGE_DIFFERENCE       3
# MAX_KEEP_ALIVE   30


========================
TRACKING_1-PLTF02.C02-SK
========================
Code: [Select]

# Skeleton Tracker Configuration File PLTF02.C02-SK
#
# BaseTracker
DEBUG_LEVEL                       0
### COLOUR_EDGE_BACK_THRESH       17
COLOUR_EDGE_BACK_THRESH           18
# COLOUR_EDGE_DIFF_THRESH         10
#
# SkeletonTracker                  
SKELETON_STEP_LENGTH              4
SKELETON_BONE_LENGTH              16
SKELETON_ADJUST_SEARCH_DIRECTION  0


1. The structure mentioned, you could get the configuration example from:
http://www.ks.informatik.uni-kiel.de/~vision/doc/Publications/nts/config-example.tar.gz
where in this tarball you will have "advisor", "models", and "config" directory.

2. Modify the "path" in all the configuration files to reflect your installation, put some the sequenced pictures, some of the additional pictures required as requested in the configuration files in the
    /root/advisor/CONFIG2/advisor/video/STIB/YZER/c02/TRACKING_1/ directory and you are done.

Sorry, i don't have a webserver, so right now if u need the config, just mail to me to request it: dragoncity99@hotmail.com

3. To run the program with all the configuration set-up.
Code: [Select]

richard@localhost# cd /root/advisor/bin;./ReadingPeopleTracker -c /root/advisor/CONFIG/config

Offline Ricky

  • LST CareTaker
  • Specially Skilled
  • *****
  • Posts: 2381
Compiling Successfully Reading People Tracker's Code
« Reply #4 on: November 29, 2005, 04:38:16 AM »
why not to post it in "http://tutorials.linuxsolved.com ?

Offline dragoncity99

  • LST CareTaker
  • Experienced
  • *****
  • Posts: 551
Compiling Successfully Reading People Tracker's Code
« Reply #5 on: November 29, 2005, 05:07:56 AM »
Oki, sure thing, thankx for the idea Ricky :)

Offline tangyi997

  • New Member
  • Posts: 3
Compiling Successfully Reading People Tracker's Code
« Reply #6 on: November 29, 2005, 11:27:52 AM »
would you please explain how to config the program ,and where to put the test picture , and  can it handle the video files?

thank you very much !

Offline dragoncity99

  • LST CareTaker
  • Experienced
  • *****
  • Posts: 551
Compiling Successfully Reading People Tracker's Code
« Reply #7 on: November 29, 2005, 01:06:51 PM »
Basically, i read a bit of the coding & their documentation to get the idea.

U must read their documentation. Their config files are quite straight foreword, they are plaintext like those JAVA property files. Nothing special. Don't get scared by it.

For videos, im can't remember sorry. U could check the code again. What i did for my friend are "Still JPEG images".

U can put anywhere these pictures. The criteria is that , u must make sure ur config files point to that right path of ur images. That's all.

I'll try to get the complete running copy from my friend again since she have those images and the configs available when i compiled for her. U could take a look there, do u have an email?

So sorry, since it's quite adhoc how-to for now.

Offline tangyi997

  • New Member
  • Posts: 3
Compiling Successfully Reading People Tracker's Code
« Reply #8 on: November 30, 2005, 11:52:35 PM »
thanks for replying me .
here is something i want to ask
1.  
Where is the documentation about configing the program?
I had looked for it in readme file in the source code and
Reading People Tracker Reference Manual, but I had not found it.
Could you plz tell me where to find them .

2.
I had download the configuration example,
there were three directories in the tar.gz file including "advisor"、
"config" and "models", but not "CONFIG2" and "STIB.YZER" directories
 as you listed in this page. Is that the directories I should add myself?

And I found in the directory \config-example\config\STIB.YZER the file TRACKING_1-PLTF02.C02, this is the configration file I should modify, I guess. Is that means I should modify image path 、type and dimension...  all the parameter in this configration file?  You said you have running copy, so i really want to have a look at it , here is my email: tangyi997@gmail.com , i want to see how to config it through an example.

I had just installed Linux only one month. I had compiled RPT for a long time , and also in fc4 as you did but had no result.  Fortunately you write this howto. And thank you for you help.

Offline dragoncity99

  • LST CareTaker
  • Experienced
  • *****
  • Posts: 551
Compiling Successfully Reading People Tracker's Code
« Reply #9 on: December 01, 2005, 02:46:00 AM »
Okay, firstly i must apologize that i forgotten to mention that this  RPT was compiled successfully on Fedora Core 1.

I do have some problem with Fedora Core 4 as the dependent OpenMotif directory somehow were not available.

The manual i mentioned is the "pdf" file called "Reading_People_Tracker_ref_manual.pdf"

I remember i read more than 5 times to understand what they are trying to say. So u might wanna do so as well. Hahaha.

I read very very slowly and carefully.

Okay about the config files

"CONFIG2" and "STIB.YZER" does not exist at all. STIB.YZER is inside the "config-example.tar.gz" tarball.

Extract the example out and u know what i mean.

I put all the extracted "config-example.tar.gz" tarball directories into my own self-created "CONFIG2" directory under "advisor" directory.

Well, i will only be able to give it to u this weekend the earliest if that is possible. I need to go and meet my friend to that those complete binaries.

Offline tangyi997

  • New Member
  • Posts: 3
Compiling Successfully Reading People Tracker's Code
« Reply #10 on: December 03, 2005, 11:31:32 PM »
thanks
I will have a try!