<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Tracking body motions in order to guide a robot using the time of flight technology</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Feryel Zoghlami</string-name>
          <email>feriel.zoghlami@infineon.com</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Harald Heinrich</string-name>
          <email>harald.heinrich@infineon.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Germar Schneider</string-name>
          <email>germar.schneider@infineon.com</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mohamed Ali Hamdi</string-name>
          <email>mohamedalihamdi@yahoo.fr</email>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>National Institute of Applied Sciences and Technology 676 Centre Urbain Nord BP Tunis</institution>
          ,
          <country country="TN">Tunisia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Nowadays, in many industries, humans share the working areas with intelligent robots within the manufacturing bays to ensure a collaborative effective work. However, programming robotic systems remains a challenging topic due to its costs and the high complexity of the programming resources needed for each operational task. In this context, the gesture would present a powerful interface tool to support the communication between humans and robots. We present in the first part a depth Time of Flight (ToF) based camera solution using machine learning for human body parts recognition and localization in the 3-dimensional space. In the second part, we use this information to teach robot movements and control its behavior in real time. Our solution recognizes with an accuracy of 90% the hand. It locates the human body parts and transfers continuously and in real time the actual location in order to guide the robot movements. In addition, our solution is also dedicated to proceed and classify two hand gestures used to monitor a handling robotic arm. The application supports the engineers to reduce the development time.</p>
      </abstract>
      <kwd-group>
        <kwd>First Keyword</kwd>
        <kwd>Second Keyword</kwd>
        <kwd>Third Keyword</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Hand gestures are a natural form of human communication. For fabs where working in
a shared area is needed, one person can use his body to interact with the machine.
Therefore, gesture represents here a solid interface tool to convert this gesture into a
relevant action. Computer vision has been explored in this topic and investigations were
orientated towards solving the lack of interaction between humans and robots. The
choice of using a Time of Flight (ToF) camera in our current application was based
mainly on the advanced features offered by this technology. The camera provides the
possibility of constructing a point cloud surrounding an object. As a result, direct
processing of the distance information is possible with exact 3D location of each pixel with
a measurement accuracy in the range of ±5mm. The camera used in this work presents
also a robust behavior regarding the illumination changing conditions for indoor
applications and allows a possible parameters configuration monitoring.</p>
      <p>The organization of the paper is as follow. In section II, we present a literature survey
about related applications and methods used during the recent years. The hardware and
the algorithms implemented in every phase of the developed solution are illustrated in
section III. This is followed by the different experiments and their corresponding results
described with brief discussions in section IV. We close up with a conclusion and
outline the further future research trends.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        An effective collaboration between working humans and industrial robots needs
frequent interactions between both parts. In this context, researches were focusing in the
recent years on developing methods to transfer human motions to robots. The procedure
starts with locating the human body in the space. Cristian Cnton-Ferrer [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] used to place
colored markers in different positions on the human body in order to facilitate the body
parts tracking. Adrian B. introduced in his article [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] a convolutional neural network
(CNN) cascaded architecture specifically designed for learning part relationships and
refining poses. However, the architecture of a neural network can be complex, whereas
it is possible to track in the space the human body parts only with reference to the
information received from a depth camera. In previous studies, numerous researchers
have adopted joysticks and haptic devices to teach and control the robots. In [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] the
authors explain a framework for robots manipulation using a joystick. This playback
mode is particularly suitable for a humanoid robot, and the utility model has the
advantage of long distance control like for games, which is not a common scenario in
industries. However, for applications that do not require very high precision in
industries, speech recognition like explained in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] becomes a way to teach robots based on
natural perception channels of human beings. This approach is intuitive, however in
industrial environment it can be problematic because of loud noises and low precision
of voice commands. Guanglong Du [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] combines speech and gesture for online
teaching. He used a Kinect depth camera and an inertial measurement unit to capture the
human-natural interactions and transfer it in real time to robots. Other researchers chose
to use wearables (Jackets and gloves) to teach robots. However, they had difficulties in
installing sensors in fixed positions inside the wearables, which lower the precision of
the system.
      </p>
      <p>
        For gesture recognition, several techniques have been adapted for years. It started
with using colorful gloves for hand and fingers tracking [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. This method suffers from
instability in the system. In 2007, Breuer P introduced a new framework using a ToF
camera in recognizing the hand shape [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and the results proved less complexity and
more accuracy. Several other authors have emphasized the importance of using many
diverse training examples for 2D and 3D CNNs [
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ]. The results shows high accuracy
for hand gesture recognition tasks with usage of both RGB and depth cameras.
However, neural networks have difficulties in dealing with objects of various scales
compared to other algorithms like Haar, histogram of oriented gradients (HOG) and local
binary pattern (LBP) introduced in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Neural networks are also mainly used in
classification tasks but it demands a large dataset. However, with a limited dataset the
reference to the support vector machine SVM algorithm would be a better choice for high
precision and overfitting scenario avoidance. George E. Sakr Compares in his paper
[
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] between both algorithms’ performances for waste sorting problem.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Methodology</title>
      <p>We describe the methods to define the algorithmic components of our human body
parts recognition and localization solution.
3.1</p>
      <sec id="sec-3-1">
        <title>Hardware Choice</title>
        <p>Our proposed solution is based on the usage of a PMD CamBoard pico flex ToF camera,
with a resolution 224 x 171 pixels. We chose for our application to work with a frame
rate equal to 35fps. It shows a 100 times higher depth accuracy than a stereo camera
and finally it is less sensitive to mechanical alignment and environmental lighting
conditions for indoor applications. The dimension of the camera is 62 mm x 66 mm x
29 mm, which make the implementation on a moving robotic arm easy. We run all the
training algorithms and the tests on a CPU Intel core i5.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Human Body Parts Tracking</title>
        <p>
          The usage of the geodesic distance is a way to construct a graph representation of the
3D points that is invariant to articulation changes and, thus, allows identifying the
human body parts regardless his pose or his position. The geodesic distance is defined as
the shortest path between two points p and q on a curved surface and according to Loren
A.S. Artashes M. in their paper [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], it is calculated as follows:
dG = ∑eϵSP(p,q) ω(e)
(1)
Where  represents the edge that links  and  ,  ( ) is the possible Euclidian distances
between the two points going through different edges and  ( ,  ) contains all edges
along the shortest path between  and  . Considering two separate 3D points
 ( 1,  2,  3) and  ( 1,  2,  3) in the 3D coordinate system of the camera, the
computation of the Euclidian distance is given by the Pythagorean formula:
d(p,q)=d(q,p)= √∑in=1 (pi-qi)2
(2)
We refer to the Dijkstra’s algorithm to construct the geodesic graph from the depth
image retrieved from the ToF camera. As an output, the algorithm helps in locating the
different parts of the human body in the space including the hands. These parts are
simply tracked on the geodesic graph. The considered algorithm presents a low
computational time ~230ms when we consider a limited number of 3D points in the
depth image. Before we construct the geodesic graph, we construct the vertices-edges
graph   = (  ,   ), where Vt={ (xi,yj) } is the vector of the considered points in the
t
2D image, which we call vertices and Et⊆ VtxVtis the group of the edges, which present
the Euclidian distance between two vertices. Et is determined as follows [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]
Et={ ((xi,yj) ,(xk,yl)) ϵ VtxVt d( (xi,yj) ,(xk,yl))&lt;δ^‖(i,j)T-(k,l)T‖∞ &lt;1}
(3)
||.||∞ is the maximum norm and ( ,  ) ,( ,  ) are the 2D coordinates of the two points
(  ,   ) and (  ,   ) in the depth image.  is a threshold up to it a distance is considered
edge.
        </p>
        <p>The Dijkstra’s algorithm in this case is summarized in the flow chart Fig.1.
In our solution, we build for the human part recognition (in our case the hand) both
Haar and Local Binary Pattern (LBP) feature-based cascade classifiers. Therefore, we
collect 2D amplitude (Greyscale) images from the camera and we organize them into
two categories: cropped positive images that present the hand in different scales and
different orientations and negative images, which include objects others than a hand.
We feed the image dataset into one of the two algorithms mentioned above that extracts
relevant features from the available images based on the variation of intensity in
different regions of pixels and save these feature values in an xml file.</p>
        <p>Preprocessing Before moving to the feature extraction phase, we work on the noise
reduction. Due to the presence of reflective objects in the environment, the images
received from the ToF camera can present noisy regions. To reduce the noise, two
different techniques are applied for every received frame:
 The application of a median filter, which helps in removing the salt and pepper
noise from the amplitude.
 The ToF cameras have the advantage of allowing the user to set the desired
exposure time. By setting a low exposure time (200ms), we can reduce the
noise in the image.</p>
        <p>We move next to the background to make the processing simpler. For the proposed
solution, we focus our interest on a distance up to 1 meter in front of the camera.
3.4</p>
      </sec>
      <sec id="sec-3-3">
        <title>Hand Localization</title>
        <p>Once recognized in real time we draw a bounding box around the hand and we consider
this box as our new Region Of Interest (ROI). We develop an algorithm that structures
in a two-dimensional array the pixels that define the contour of the largest object in the
ROI, which would be certainly our recognized hand. We determine later the center of
mass of the hand (the hand is considered as a rigid corps and we define it by its center
of mass). As a result, we get the xc, yc and zc coordinates of the center of mass of the
hand from the depth confidence image retrieved from the ToF camera. For a better
localization in the space, we consider another point  (  ,   ,   ) on the hand and we
determine the orientation of the hand as follows:
{
α=Cos-1( yp-yc )</p>
        <p>zp-zc
β= Cos-1( xp-xc )</p>
        <p>zp-zc
γ= Cos-1( yp-yc )
xp-xc
(4)
3.5</p>
      </sec>
      <sec id="sec-3-4">
        <title>Gesture Classification</title>
        <p>We limited our classification to two classes: palm and fist starting by capturing 100
training greyscale images for each hand posture with different lighting. The considered
training stages are illustrated in Fig.2.</p>
        <p>The algorithm starts with the extraction of SIFT features for each training image
following four successive stages:
 Find the locations of potential interesting points (key points) in the image.
 Refine the key points’ locations by eliminating points of low contrast.
 Assign an orientation to each key point based on local image features.
 Compute a local feature descriptor at each key point.</p>
        <p>In the next step, we cluster our extracted features with k-mean clustering algorithm:
 Choose randomly 4 centroids, which will present the centers of each cluster.
 Assign every key point (defined in the previous step) to the nearest centroid.
 Shift the centroids to the average location of all the key points assigned to
them and repeating this procedure until the assignments stop changing.
In the end for each training image we get 4 clusters and each cluster is defined by a
vector whose elements are the extracted key points from the previous step. Afterwards,
depending on the hand posture, images of the same category are then labeled with the
same number: Label or class 1 for the fist training images, class 2 for the palm training
images. The final step consists in using the hand posture images with their assigned
labels to train a multiclass SVM model. We chose to set the penalty factor C value to
103 in order to optimize our model in terms of lowering misclassifications within the
training data. We defined that our training run for maximum 100 iterations and with an
error tolerance  of 10-6.
3.6</p>
      </sec>
      <sec id="sec-3-5">
        <title>Human Upper Body Tracking</title>
        <p>Once constructed we detect on the geodesic graph the body parts of the human who is
standing in an idle pose by looking for the largest geodesic distances from the center in
all directions: up, left, right, down left, down right. They correspond respectively to the
location of the head, the left hand, the right hand, the left foot, the right foot The limited
field of view of the used pico flexx ToF camera (62° x 45°) allows a restricted human
upper body tracking.</p>
      </sec>
      <sec id="sec-3-6">
        <title>3.7 Hand Shape Recognition</title>
        <p>We prepare for testing 4 classifiers: two HAAR feature-based classifiers and two LBP
feature-based classifiers trained each on a dataset composed of 1200 positive samples
and 1000 negative samples. The evaluation of the 4 classifiers is based on a test done
first on 200 and second on 500 successive frames. We look with the camera in areas
including different objects (hands and other objects).</p>
        <p>The performance of the cascade classifier depends on the feature-based algorithm
used during the training and the number of stages adopted to create the classifier.
Overtraining can create a weak classifier. It is the case of the LBP classifier trained for 20
stages. Based on the previous results, we calculate different performance metrics
presented in the table 1.</p>
        <p>The fourth LBP feature-based classifier shows the best performance in a range between
100mm and 600mm in front of the camera with the highest recognition accuracy ~90%
and a low false positive rate &lt;0,02. Using this classifier, the recognition rate is equal to
26ms.</p>
        <p>TP:True Positive; TN:True Negative; FP:False Positive; FN:False Negative; TPR:True Positive Rate
3.8</p>
      </sec>
      <sec id="sec-3-7">
        <title>Gesture Classification</title>
        <p>We evaluate the performance of the SVM model by testing 50 images from each hand
posture. The results show 86% right classification for the open hand and 76% right
classification for the closed hand. The classification process takes 18ms for every testing
image and it will be tested to control handling tasks for an automated robotic arm.
3.9</p>
      </sec>
      <sec id="sec-3-8">
        <title>Data Transmission</title>
        <p>Once the hand has been recognized, classified and located in the space we construct a
message with all information about the hand and serialize it in a binary form via
protobuffer to a global server. We use the MQTT protocol for data transmission and we use
for testing a Kuka robot system with a pico flexx installed on a gripper flange. The
robot connects to the same server and gets in real time the message sent by the camera.
Tests indicate that the robot follows the hand movements in all directions and the whole
process takes 300 milliseconds. The test was executed by kind support at the laboratory
of the company Wandelbots GmbH Dresden.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Conclusion And Next Steps</title>
      <p>We present a very promising solution for human gesture recognition that can be used
for industrial robots guidance. The system’s design fuses the information received from
a Time of Flight camera together with sophisticated machine learning techniques. Our
evaluation proves that its robustness, accuracy, efficiency and cost-effective
characteristics make it a suitable framework for applications in robotic perception and interaction
for collaborative industrial robots. The developed system contributes as an alternative
approach for teaching robots movements without referring to complex programming.
Our solution is adaptive to different robots models and can help to teach or control
robots without additional teaching tools (joystick, trackball...).</p>
      <p>To deal with the limitations of our system regarding the small opening view of the
camera and the limited detecting range, an interesting future direction will be to apply
advanced machine learning algorithms in a compact sensor data fusion system. This
system will not only increase the perception rate and decrease uncertainties in a
complex environment for industrial shared areas between robots and humans but will also
help robots to acquire intelligence in order to establish an effective collaborative work.</p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgment</title>
      <p>The co-funded innovation project Arrowhead-Tools receives grants from the European
Commissions H2020 research and innovation programme, ECSEL Joint Undertaking
(project no. 826452), the free state of Saxony, the German Federal Ministry of
Education and national funding authorities from involved countries.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Cristian</given-names>
            <surname>Cnton-Ferrer</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. R.</surname>
          </string-name>
          , “
          <article-title>Marker-Based Human Motion Capture in Multiview Sequences”</article-title>
          ,
          <source>EURASIP Journal on Advances in Signal Processing</source>
          . Vol.
          <year>2010</year>
          , pp.
          <volume>11</volume>
          , article No.
          <volume>73</volume>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Adrian</surname>
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Georgios</surname>
            <given-names>T.</given-names>
          </string-name>
          “
          <article-title>Human Pose Estimation via Convolutional Part Heatmap Regression”</article-title>
          , Springer International Publishing. Vol.
          <volume>9911</volume>
          , pp.
          <fpage>717</fpage>
          -
          <lpage>732</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>K. B. Cho</surname>
            and
            <given-names>B. H.</given-names>
          </string-name>
          <string-name>
            <surname>Lee</surname>
          </string-name>
          , “
          <article-title>Intelligent lead: A novel HRI sensor for guide robots” Sensors</article-title>
          , vol.
          <volume>12</volume>
          , no.
          <issue>6</issue>
          , pp.
          <fpage>8301</fpage>
          -
          <lpage>8318</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>V.</given-names>
            <surname>Gonzalez-Pacheco</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Malfaz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Fernandez</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Salichs</surname>
          </string-name>
          , “
          <article-title>Teaching human poses interactively to a social robot,” Sensors</article-title>
          , vol.
          <volume>13</volume>
          , no.
          <issue>9</issue>
          , pp.
          <fpage>12406</fpage>
          -
          <lpage>12430</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Guanglong</given-names>
            <surname>Du</surname>
          </string-name>
          , Mingxuan Chen, Caibing Liu, Bo Zhang, and Ping Zhang, “
          <article-title>Online Robot Teaching With Natural Human-Robot Interaction” IEEE transactions on Industrial electronics</article-title>
          . Vol
          <volume>65</volume>
          ,pp.
          <fpage>9571</fpage>
          -
          <lpage>9581</lpage>
          , no.
          <issue>12</issue>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Luigi</given-names>
            <surname>Lamberti</surname>
          </string-name>
          , Francesco Camastra ., “
          <article-title>Real-Time Hand Gesture Recognition Using a Color Glove ”</article-title>
          .
          <source>International Conference on Image Analysis and Processing ICIAP2011</source>
          . Vol
          <volume>6978</volume>
          , pp
          <fpage>365</fpage>
          -
          <lpage>373</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Breuer</surname>
          </string-name>
          , P. a., “
          <article-title>Hand Gesture Recognition with a novel IR Time-of-Flight Range Camera”</article-title>
          .
          <source>International Conference on Computer Vision / Computer Graphics Collaboration Techniques and Applications MIRAGE 2007</source>
          . Vol.
          <volume>4418</volume>
          , pp
          <fpage>247</fpage>
          -
          <lpage>260</lpage>
          2007.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Ali</surname>
            <given-names>A</given-names>
          </string-name>
          . Alani ; Georgina Cosma ; Aboozar Taherkhani “
          <article-title>Hand gesture recognition using an adapted convolutional neural network with data augmentation”</article-title>
          ,
          <source>4th International Conference on Information Management (ICIM). Pp 5-12</source>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Aparna</given-names>
            <surname>Mohanty</surname>
          </string-name>
          , “Deep Gesture:
          <article-title>Static Hand Gesture Recognition Using CNN” Palmprint Recognition based on Minutiae Quadruplets</article-title>
          . Vol
          <volume>460</volume>
          , pp
          <fpage>449</fpage>
          -
          <lpage>461</lpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Mahmood</surname>
            <given-names>Jasim</given-names>
          </string-name>
          ,
          <article-title>Tao Zhang and Md. Hasanuzzaman “A Real-Time Computer VisionBased Static and Dynamic Hand Gesture Recognition System”</article-title>
          ,
          <source>International Journal of Image and Graphics</source>
          . Vol.
          <volume>14</volume>
          , no. 01n02
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>George</surname>
            <given-names>E.</given-names>
          </string-name>
          <string-name>
            <surname>Sakr</surname>
          </string-name>
          , Maria Mokbel, Ahmad Darwich , “
          <article-title>Comparing deep learning and support vector machines for autonomous waste sorting”</article-title>
          .
          <source>IEEE International Multidisciplinary Conference on Engineering Technology (IMCET)</source>
          .
          <source>Pp. 7</source>
          , 2016
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Loren A.S. Artashes</surname>
            <given-names>M.</given-names>
          </string-name>
          , “
          <article-title>Estimating Human 3D Pose from Time-of-Flight Images Based on Geodesic Distances and Optical Flow”</article-title>
          .
          <source>Ninth IEEE International Conference on Auto matic Face and Gesture Recognition. Pp. 7</source>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>