ITS Master 15963 Paper PDF

download ITS Master 15963 Paper PDF

of 6

Transcript of ITS Master 15963 Paper PDF

  • 7/29/2019 ITS Master 15963 Paper PDF

    1/6

    OBJECT POSITION ESTIMATION AND TRACKING

    USING AN ACTIVE CAMERA NETWORK

    Agus Budi Dharmawan1) 2), Prof. Dr. Karl Kleinmann1), Prof. Dr. Hermann Meuth1), Prof Mauridhi Hery Purnomo2)

    1) Master of Science in Electrical Engineering, Fachbereich EIT,

    University of Applied Sciences Hochschule Darmstadt (h-da), 2011.2)

    Graduate Study Program, Departement Of electrical Engineering, Faculty of IndustrialTechnology, ITS Surabaya, Indonesia. 2011.

    AbstractThis paper presents 3-D estimation of objects position, combining static and moving camera with the Template-Color

    matching method. The template-Color matching is used to track an object of interest. Color-based tracking method

    gives more confidence to track an object from many moving objects in arbitrary direction. Template is updated when

    the same 3-D and 2-D position matching is found. 3-D object position is calculated by merging line of Sight from

    multiple cameras. Our goal is to develop an object tracking and 3-D estimating system to aid in locating object target

    within image.

    1. INTRODUCTIONMachine can see and knows where the object is,

    something that seems impossible. Many techniques

    could be adopted to make the system more intelligent.

    In image processing, camera acts as an eye. System

    takes input from camera i.e. image pixels such as color

    information. Image processing and networking together

    is helpful in various applications. One of them is used

    to find the objects position using camera networking.

    Multiple cameras can be used to observe the object of

    interest. As a Surveillance system, camera is used tomonitor the objects behavior, activity, or any other

    changing information such as a movement and objects

    localization (position). This system can run

    automatically to help human for observation purpose.

    Camera coordinates and object coordinates are

    related and can be calculated using Denavit-Hartenberg

    Calculation. It includes calculation of rotation and

    translation from the base coordinates to the camera and

    from camera to the object coordinate system. Position

    of the object or the camera can be calculated using this

    calculation.

    The Idea is to track the object of interest in

    arbitrary movement. Operator can chose the object by

    clicking with the mouse pointer. Computer saves theselected object as a template which can be set with

    different sizes. System will search the object, based on

    template and color matching method. Afterwards it

    sends the found objects position to server (Explorer) to

    get the world coordinate. Tracking will process by

    combining moving and static cameras. Each client

    (Backend) will be equipped with one IP camera.

    Our project will combine Image processing and

    networking together. Tracking of an object and

    estimating its position is done in distributed processing.

    Two static and one moving camera is put in a

    networking system. Operator will work with both the

    systems, either in manual or automatic mode. Operator

    will choose an object among many moving objects to

    track it. Image processing and Kinematics calculation

    will guide the system to view the desired object and

    estimate its position.

    In this project, another solution is proposed to

    solve the problem by implementing semi-automatic

    active camera system. This project is related to the

    previous project. Previous system uses image

    processing in a networked sensor system which

    consists of several moving cameras. With this Active

    Object Tracker (AOT), system can track objects using

    camera. Each camera is connected, and exchanges

    information of objects position. If one camera iscovered by an obstacle, the others can still follow the

    object.

    2. BACKGROUND2.1. Camera ModelRelationship between image plane in single camera and

    image plane displayed on the monitor must be

    discovered to have the proper camera calculation.

    Combining between image processing and image

    geometric also become important part to design the

    algorithms.

    Figure 1. Camera Model

  • 7/29/2019 ITS Master 15963 Paper PDF

    2/6

    Image from same scene will have relationship

    between two cameras Cand C' illustrated in Figure 4.

    These could be two physically separate cameras or a

    single moving camera at different points in time

    [Aghajan, H. et al]. Image point in C(ximage, y image) are

    corresponding with image point in C' (x'image, y'image)

    called point correspondence.

    Relation between C and C' can be projected in

    equations bellow.

    Z

    Xfx =

    Z

    Yfy = (1)

    Z

    Xfx

    =

    Z

    Yfy

    = (2)

    f and f are focal length from C and C.

    Rotation R and translation [tX tY tZ]T

    are used to find

    the Ccoordinate system.

    +

    =

    z

    y

    x

    t

    t

    t

    Z

    Y

    X

    R

    Z

    Y

    X

    (3)

    With

    ++

    ++

    =

    coscossincossin

    cossincossinsincoscoscossinsinsincos

    sinsincoscossinsincossinsinsincoscos

    R

    (4)

    Where and are rotation angles around X-, Y-,and Z-axes in Ccoordinate system. By substituting

    equation and, relations between two coordinate are:

    Z

    try

    f

    rx

    f

    r

    Z

    ftfry

    f

    frx

    f

    fr

    Z

    Xfx

    z

    x

    +++

    ++

    +

    =

    =

    333231

    131211

    (5)

    Z

    try

    f

    rx

    f

    r

    Z

    ftfry

    f

    frx

    f

    fr

    Z

    Yfy

    z

    Y

    +++

    ++

    +

    =

    =

    33

    3231

    232221

    (6)

    Figure 2: Line Of Sight from Two Cameras

    2.2. Image ProcessingThe basic method from template matching is to

    have a template as a mask and use this mask to search

    specific feature from the image. Templates are formed

    using simple geometric shapes or silhouettes [Fieguthand Terzopoulos]. The advantage from template is it

    carries both spatial and appearance information.

    However, templates only encode the object appearance

    generated from a single view. Thus, they are only

    suitable for tracking objects whose poses do not vary

    considerably during the course of tracking [Yilmaz et

    al].

    Template matching is a function matches an

    actual image patch against an input image by sliding

    the patch over the input image using one of the

    matching methods [Bradsky G. et al]. RGB Channel is

    used to have information from the template and find

    the best likelihood from the image. Matching algorithm

    will perform scan on the image to get minimumTemplate-Source Difference (TSD) value.

    ==

    ++=Tcolms

    j

    Trows

    i

    jiiyixDiffyxTSD00

    ),,,(),( (7)

    ==

    Scolms

    y

    Srows

    x

    yxTSD00

    ),( (8)

    Figure 3:Scan A Template Across An Image For

    Matches

    The approach is to computes the distance between

    template and image source and find the minimum-

    distance. It chooses smallest distance to make decision

    image [Gonzales R. C. et al].

    A template is a small region including a feature to

    be tracked in a certain image. Using the template,

    feature positions are estimated in some consecutive

    images by searching minimum dissimilarity area. Then,the template is replaced by a new image.[Toshimitsu

    Kaneko]

    2.3. KinematicsTo modeling the serial kinematics, Denavit-

    Hartenberg transformation will be used in

    mathematical description. The description includes

    rules on applying the coordinate systems of themembers in the kinematics chain

    Relationships between inter-connected joint,

    position, and orientation in rigid robots can be

    calculated with the kinematics equation. Forward

    kinematics is used to find the position and orientation

    of the end-effectors between individual joint. The

    variable are angle and distance link that calculated

    by the rotation and the revolution matrix.

    In Denavit-Hartenberg convention, each motor is

    assumed to have degree of foredoom. Each frame will

    be attached to each link and use transformation to get

    relationship between those frames. Four basictransformations are two rotation matrix and two

    translation matrix calculated with homogeneous

    transformation.

  • 7/29/2019 ITS Master 15963 Paper PDF

    3/6

    )()()()()(111 nxnxnznznn nnnn

    RotaTransRotdTransFFT = (9)

    =

    1000

    100

    0010

    0001

    )(1

    n

    nzd

    dTransn (10)

    =

    1000

    0100

    00cossin00sincos

    )(1

    nn

    nn

    nznRot

    (11)

    =

    1000

    0100

    0010

    001

    )(

    n

    nx

    a

    aTransn

    (12)

    =

    1000

    0cossin0

    0sincos0

    0001

    )(nn

    nn

    nxnRot

    (13)

    From substitution from equation 9 13 to equation 14 :

    =

    1000

    cossin0

    sinsincoscoscossin

    cossinsincossincos

    )( 1nnn

    nnnnnnn

    nnnnnnn

    nnd

    a

    a

    FFT

    (14)

    Where:n : joint angle, angle betweenx in origin n-1 axes to x

    in origin n axes.

    n : link twist, angle betweenzin origin n-1 axes tozin

    origin n axes.

    dn : link offset, length between the origin n-1 to the

    normal n alongZn-1 axes.

    an : link length, length between the origin n-1 to the

    normal n alongXn axes.

    The four parameters are fulfilling each

    homogeneous transformation for Denavit-Hartenberg

    convention. Equation 27 can be substituted with

    formula 20 and the results will be obtained in new

    matrix distance. Each homogeneous transformationmatrix is represented for rotation and translation.

    Parameter an is distance between Zn-1 and Zn

    axis and measured along the axis x1. Angle is the

    angle between the axis Zn-1 and Zn, Xn is measured

    in the normal plane. Positive sense for is determined

    from Zn-1 to Zn by the right-hand rule

    3. APPROACH & IMPLEMENTATIONTo get more understanding from this system, first we

    will define the name to be used: Explorer: Denoted for

    Server. The Form will be designed with GUI Interface

    for operator. Backend: Denoted for client side. One

    camera will be attached to each Backend. Two Stepper

    Motors can also be connected in the backend (moving

    camera system).

    Explorer gives the position of object of interest tothe backend. Backend will mark the object position

    using the position value. In Automatic mode, Backend

    will execute tracking process after having information

    of the object position from the Explorer. Template and

    color matching algorithm are running in Tracker class.

    With this algorithm, Backend is able to perform

    tracking object.

    The results from tracking class are new 2-D

    object positions (xobj, yobj). These results will be sent

    and calculated in Kinematics class. This class performs

    LOS from 2-D calculation, 2-D from 3-D calculation

    and Angle from 3-D calculation.

    Figure 4:Use cases overall system

    To perform object tracking and estimating the

    task, three different classes are implemented on each

    Backend. They are Tracker System, Kinematics System

    and Can Communication System.

    Tracker system handles the image processing

    algorithms. First process in Tracker System is showing

    the image merged with template marker. To perform

    this task, Tracker needs the object position information

    from the Explorer. To search the objects of interest,

    template matching method is implemented on the

    Tracker System. After Backend gives command to

    tracking the object, this algorithm will scan the image

    and compare with the template (template matching).

    When the minimum difference value between image

    source and template is found, the algorithm will save

    the position and calculate this value to get 2-D

    position.

    Kinematics system will perform The Denavit-

    Hartenberg and Matrix calculations. 2-D position from

    tracker system will be calculated to get Line of sight

    (start and direction point). The LOS value is sent to the

    explorer to get 3-D estimate. 3-D estimate is calculated

    and stored in LOS handling class.

    3-D to 2-D calculation for static camera and 3-D

    to Angle calculation for rotation of the camera is also

  • 7/29/2019 ITS Master 15963 Paper PDF

    4/6

    processed in the system. In moving ca

    Backend, angle values will be se

    Communication system to drive the Steppe

    The system uses Can Communicatio

    drive the Stepper Motor. This system will

    angle value from kinematics system t

    direction value for driving the Stepper

    Communication system will send ste

    microcontroller and then with driver

    values will make the Stepper Motordesired position.

    Figure 5:Packet Diagram Of Overall

    Tracker, Kinematics and Can Coclass are implemented on each Backend.

    Cases were used in this system are LOS fr

    from LOS and 3-D to 2-D-Angle.

    Use Case 1: Every Backend will per

    Line Of Sight under Automatic mode. T

    this use case is to detected image positionclass to produce Line of Sight valu

    Hatrenberg was used for calculating from

    in camera to get start and direction poin

    Sight.

    Use Case 2 is calculating Line Of S

    This process will be done in Explorer. All

    values from every Backend will be sent

    merge class. Explorer will estimate all LOobject positions based on world coordinate

    in AOT point class. This 3-D estimation w

    in System control page on GUI and se

    Backend.

    Use Case 3 performs two different

    First is 2-D from 3-D and the second is an

    D calculation. First calculation will produc

    position in 2-D coordinate and the second

    1 and 2. Result from the first calculation

    to mark the new object in image plane,

    from the second calculation will be s

    Communication Class.

    In Can Communication Class, the An

    Input from Kinematics class which will tsteps for rotating camera. These steps wi

    Stepper Motors (horizontal and vertical)

    moving the camera to the desired pos

    movements are being processed to make

    always appear in the center of image plane.

    To perform communication, twoDiscovery and Library class will plac

    AOT_Discovery allow the components

    network to comunicate each other. To re

    components in the network, AO

    creates only one discovery transmitter.

    era in the

    t to Can

    Motor.

    n system to

    translate the

    o step and

    Motor. Can

    value to

    odule, the

    ove to the

    System

    municationThree Use-

    m 2-D, 3-D

    form 2-D to

    e goal from

    rom Trackere. Denavit-

    2-D position

    of Line of

    ight to 3-D.

    ine of sight

    to the LOS

    S to get 3-Ds and stored

    ill be shown

    d to every

    calculations.

    gles from 3-

    e new object

    ill produce

    will be used

    and results

    ent to Can

    le value are

    anslate intoll drive two

    , afterwards

    tion. These

    the objects

    ackages ofd between.

    in the

    cognize all

    _Discovery

    4. TESTINGTest will use robot arm (K

    object. The base robot position are

    Robot will move with given positio

    track the object on the robot arm.

    move the object with two differ

    motion and PTP motion. LIN mo

    object along linear paths and PTP i

    from point to point until it reaches t

    The system is able to find t

    some failure also appears. Syste

    interested object because the objecin the image. To solve this probl

    can be used. With motor attached,

    to always put the object in the cente

    Figure 6:Tracking result wi

    Failure also detected in when

    the wrong object. This failure a

    object moves very fast. Since t

    networking to transfer data an

    multiple Backend, the time proc

    critical. To solve this problem, opeinterested object by clicking the act

    Different Image results ar

    moving camera. To solve the firs

    camera will drive the Stepper Mo

    value from Angle from 3-D calcul

    class.

    Figure 6:Tracking

    KA) to move the

    (1989, 3201, -930).

    n path. System will

    he Kuka robot will

    ent positions, LIN

    ion is moving the

    s moving the object

    e desired position.

    e object. However,

    cannot find the

    is not as appearedm, moving camera

    the camera will try

    r of image.

    h Kuka robot

    the system detected

    pears because the

    e system is using

    d connected with

    ess becomes more

    ator can correct theal object position.

    e generated from

    t problem, moving

    tor using the angle

    tion in Kinematics

    esult

  • 7/29/2019 ITS Master 15963 Paper PDF

    5/6

    Hardware testing also performed to find out

    whether the hardware is working properly or not. This

    test was observing the Stepper Motor for moving

    camera. Some movements are produce to get the

    desired position. From this testing, AOT was perfectly

    moving the camera with precision angle. In slave

    mode, operator gives some positions to look at the

    robot using result value from Tracking Testing. Camera

    cam perfectly put the object in the middle of image.

    5. DISCUSSION and CONCLUSIONSError object position value appears from base

    value incorrect calculation (D-H parameters). Camera

    calibration can be performed to solve this problem.

    However, some problem still appears in this

    system. Those are data transfer in networking system

    and performance in tracking algorithm. This problem

    appears when the system is in automatic mode. Some

    delay appears in transfer data, especially for image

    transfer. False Tracking position appears when the

    moving camera and static camera are unsynchronized.

    Different loop calculations make the moving camera

    are late to send the real time LOS. Since data traffic

    become issues in this project, a better tracking method

    could help to improve the processing time.

    Template-Color Matching also has a problem in

    processing time. Template matching always scans the

    image in every sequence. This problem can be reducing

    with adopted the prediction method.

    For better system, three or more moving camera

    can be used in this system. With more moving cameras,

    system can still capture the object while object try to

    move to outside the camera boundary. More motor can

    be attached to the system get more degree of freedom

    in camera movement.

    Image tracking method can be improved withprediction method. A prediction for object movement

    such as optical flow and Kalman Filter can be used to

    reduce the time processes. Other sensor can be used to

    give another input for the system. This input will

    provide more confidences to tracking and estimating

    the object.

    Improve the speed of Stepper Motor, to provide

    fast object tracking. Fast image processing also needed

    to avoid this purpose. Stereo camera can be used and

    placed on a rigid body to provide moving in three

    dimensional space (three degrees of freedom) such as

    robot arms to get the flexibility, speed and

    high accuracy of movement.

    6. REFERENCESBradsky G and Kaehler A: Learning OpenCV

    Computer Vision with the OpenCV Library. OReilly

    (2008).

    C. Zhang, J. Eggert, and N. Einecke: Robust Tracking

    by Means of Template Adaptation with DriftCorrection, Springer-Verlag Berlin Heidelberg (2009).

    Q. Cai and J. K. Aggarwal: Tracking Human Motion

    Using Multiple Cameras. Proceedings of ICPR '96.

    IEEE (1996).

    Kaneko, T., Hori, O.: Template update criterion for

    template matching of image Sequences. In: 16th

    International Conference on Pattern Recognition, New

    York, pp.15. IEEE Press, Los Alamitos (2002).

    L. Velho et al., Image Processing for ComputerGraphics and Vision, Text in Computer Science, DOI

    10.1007/978-1-84800-193-0-4, Springler-Verlag

    London Limited (2009).

    M. Kristan, J. Pers, S. Kovac, A. Leonardis: A Local-

    motion-based probabilistic model for visual tracking.

    Pattern Recognition Journal, Elsevier July 17, (2009).

    Schmitt, Manuel; Liss, Patrick; Schmidt, Steffen ;

    Hackenberger, Bernd: Project Report, Kinematics

    Software Library. Hochschule Darmstadt, Mrz (2010).

    Schmitt, Manuel. Entwicklung und Implementierung

    einer Methode zur Kalibrierung von Schwenk-Neige-

    Kameras in Sensornetzwerken. Master-Thesis.

    Hochschule Darmstadt, (2011).

    Wikipedia. Wikipedia Denavit-Hartenberg

    Parameters. Retrieved from

    http://en.wikipedia.org/wiki/Denavit-

    Hartenberg_Parameters. (2011).

    Zimmermann, Stephan. Design und Implementierung

    einer Systemplattform fr ein aktives Kameranetzwerk.

    Master-Thesis. Hochschule Darmstadt (2010).

    Dharmawan, Agus Budi. Master of Science in

    Electrical Engineering, Fachbereich EIT, University of

    Applied Sciences Hochschule Darmstadt (h-da),

    Germany.

    Graduate Study Program, Departement Of electrical

    Engineering, Faculty of Industrial Technology, ITS

    Surabaya, Indonesia. 2011.

    Object Position Estimation And Tracking Using An

    Active Camera Network.

  • 7/29/2019 ITS Master 15963 Paper PDF

    6/6