<!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>An image engineering approach to analysing mobile mapping data</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Michael Borck</string-name>
          <email>R@Locate14</email>
          <email>m.borck@curtin.edu.au</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Geo West</string-name>
          <email>g.west@curtin.edu.au</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Tele Tan</string-name>
          <email>t.tan@curtin.edu.au</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dept. Mechanical Engineering, Curtin University</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Dept. Spatial Sciences, Curtin University</institution>
        </aff>
      </contrib-group>
      <fpage>130</fpage>
      <lpage>141</lpage>
      <abstract>
        <p>Vehicle-based mobile mapping systems capture co-registered imagery and 3D point cloud information over hundreds of kilometres of transport corridor. Methods for extracting information from these large datasets are labour intensive. These need to be easily con gured by non-expert users to process images and develop new work ows. Image Engineering provides a framework to combine known image processing, image analysis an image understanding methods into powerful applications. Such a system was built using Orange an open source toolkit for machine learning onto which image processing, visualisation and data acquisition methods were added. The system presented here enable users who are not programmers to manage image data and to customise their analyses by combining common data analysis tools to t their needs. Case studies are provided to demonstrate the utility of the system. Co-registered imagery and depth data of urban transport corridors provided by the Earthmine dataset and laser ranging systems are used.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>applications. Point clouds are more expensive to acquire, have no colour information and often have gaps in the
data. Most point clouds for mobile mapping have low density along the direction of travel unless multiple scans
are performed e.g. six, three in each direction. Finally, imagery, stereo derived point clouds and laser scanning
can be combined to exploit the strength of each method.</p>
      <p>Data from two di erent systems was used in this paper. The Earthmine system captures panoramic imagery
and uses stereo algorithms to generate co-registered 3D point clouds. Figure 1(a) shows the Earthmine system
on a car. The other system, AAM, generates depth maps from laser ranging sensor. The AAM system provides
generated co-registered imagery and 3D point clouds captured from mobile scanning systems such as shown in
Figure 1(b).</p>
      <p>Earthmine has developed a server-based system that allows the querying via location to obtain data about
a particular location. The data can be processed using a number of methods e.g. randomly, from a number of
known locations, or by \driving" along the capture pathway.</p>
      <p>In many applications of computer vision, work ow is an important consideration. A user would typically read
in some acquired data, process it interactively and produce the desired result. In many recognition applications,
much tuning is needed requiring a user skilled in such techniques. The challenge is to produce a work ow that
an non-expert user can use to con gure a complex process such as object detection. To do this, a user must be
able to view selected parts of the data, identify objects of interest and train a system to use the best features for
recognition through a feature selection process combined with some form of pattern recognition method such as
a decision tree.</p>
      <p>This paper presents a system that gives the non-expert the opportunity to develop powerful image processing
applications. The system builds on existing open source frameworks and libraries. Case studies are provided to
demonstrate the utility of the system.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Background</title>
      <p>
        <xref ref-type="bibr" rid="ref31">Zhang (2006)</xref>
        de nes Image Engineering (IE) as the collection of three related computer vision processes, image
processing (IP), image analysis (IA), and image understanding (IU). Figure 2 show how IP, IA, and IU build up
three layers of IE. Each operate on di erent elements. IPs primary element is the image pixel, IAs processing
unit is the object, and IUs operand is a symbol or label providing meaning to an image component or segment.
Each layer works with di erent semantic levels. From low semantic level at IP to high semantic level at IU. The
three layers follow a progression of increasing abstractness and of decreasing compactness from IP to IU.
      </p>
      <p>IP primarily includes the acquisition, representation, compression, enhancement, restoration, transformation
and reconstruction of images. IP manipulates an image to produce another (improved) image. IA is concerned
with the extraction of information from an image. IA takes an image as input and outputs data. Here, the
extracted data can be the measurement results associated with speci c image properties or the representative
symbols of certain object attributes. IU transforms the data into descriptions allowing for decisions and actions
to be taken according to the interpretation of the images.</p>
      <p>
        The development of software is a complicated and tedious process, requiring highly specialized skills in systems
programming
        <xref ref-type="bibr" rid="ref5">(Bentrad et al., 2011)</xref>
        . A program is usually de ned as a sequence of instructions executed by
a computer, so any system that executes the users actions can be considered programmable. Figure 4(a) is
a fragment of python code from
        <xref ref-type="bibr" rid="ref11">Demsar et al. (2004)</xref>
        that performs 10-fold cross validation to test a naive
Bayesian classi er and k-nearest neighbors algorithm on a voting data set. Using such scripts is only suitable for
experts with enough programming skills and does not allow for visual exploration and manipulation of the data.
There are signi cant advantages to supplying programming capabilities in the user interfaces of a wide variety
of programs
        <xref ref-type="bibr" rid="ref27">(Shneiderman, 1983)</xref>
        .
      </p>
      <p>
        The user interface of an image processing environment is a key aspect of the proper functioning of an
environment. A good user interface can signi cantly reduce the development e ort of new image processing applications.
The user interface also determines the usability of the environment to the various classes of users
        <xref ref-type="bibr" rid="ref16">(Koelma and
Smeulders, 1994)</xref>
        .
      </p>
      <p>
        One approach is the use of graphics as the programming language, or visual programming. By connecting
the graphic components a user can visualise the data and the path of the data. This provides a clear expression
of the ow of control in an application. The data ow metaphor is the best choice for the visual programming
interface in image processing
        <xref ref-type="bibr" rid="ref16">(Koelma and Smeulders, 1994)</xref>
        . Using a visual environment provides a higher-level
description of the desired actions. This makes the programming task easier even for professional programmers
        <xref ref-type="bibr" rid="ref20">(Myers, 1992)</xref>
        .
      </p>
      <p>
        The Image Engineering system developed in this paper takes this approach. Using a visual environment
allows for fast prototyping, interactive exploration of algorithms and work ow, and development of applications.
The system presented exhibits characteristics and provides the bene ts of visual programming, program
visualisation
        <xref ref-type="bibr" rid="ref21">(Myers, 1990)</xref>
        , direct manipulation
        <xref ref-type="bibr" rid="ref27">(Shneiderman, 1983)</xref>
        , program-by-example, program-with-example
        <xref ref-type="bibr" rid="ref18">(Lieberman, 2000)</xref>
        , and demonstration interfaces
        <xref ref-type="bibr" rid="ref20">(Myers, 1992)</xref>
        .
      </p>
      <p>
        Figure 3(a) is a fragment of python code that creates a Histogram of Gradients (HoG)
        <xref ref-type="bibr" rid="ref10">(Dalal and Triggs,
2005)</xref>
        feature vector using the python image processing library scikit-image (van der Walt et al., 09 ). Figure
3(b) show the equivalent schema on the Orange canvas. Figure 3(c) opens the HoG widget showing visually
options and response images. What is interesting, is the widget can process multiple images on the input stream
without the user needing to understand loop constructs, unlike the code fragment that requires additional code
to perform the same task. This is common for most widgets developed.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Underlying Technologies</title>
      <p>
        The system was built using Orange an open source toolkit for machine learning
        <xref ref-type="bibr" rid="ref28">(Stajdohar and Demsar, 2013)</xref>
        onto which we have added image processing, visualisation and data acquisition methods recruiting functions from
image processing libraries. In this paper functionality from scikit-image (van der Walt et al., 09 ) and OpenCV
        <xref ref-type="bibr" rid="ref8">(Bradski, 2000)</xref>
        , Scipy (Jones et al., 01 ) and Python (Van Rossum, 2003)have been used in the development of
the system.
      </p>
      <p>
        Orange is a general-purpose machine learning and data mining tool
        <xref ref-type="bibr" rid="ref28">(Stajdohar and Demsar, 2013)</xref>
        . It features
a multi-layer architecture suitable for di erent kinds of users, from inexperienced data mining beginners to
programmers who prefer to access the tool through its scripting interface.
      </p>
      <p>Orange Canvas provides a graphical interface for these functions. Its basic ingredients are widgets. Each
widget performs a basic task, such as reading the data from a le in one of the supported formats or from a data
base, showing the data in tabular form, plotting histograms and scatter plots, constructing various models and
testing them, clustering the data, and so on.
from skimage.feature import hog
from skimage import data, color, exposure
image = color.rgb2gray(data.lena())
desc, hog_image = hog(image, orientations=8,
pixels_per_cell=(16, 16),
cells_per_block=(1, 1),
visualise=True)
# Process/save descriptor, perhaps display HoG image
# ....</p>
      <p>(a)</p>
      <p>
        The widgets expose the parameters of the underlying API. The advantage of widgets is in their modularity.
Widgets can be connected through channels and communicate with each other by sending and receiving data.
The output of one widget is used as an input for one or several other subsequent widgets. Communication
channels are typed (i.e. the data type is determined to be integer, text, table, etc.) and the system establishes
the proper type of data connections automatically. This property relieves the user from the need to design data
structure, which is one of the greatest obstacles for lay users
        <xref ref-type="bibr" rid="ref21">(Myers, 1990)</xref>
        <xref ref-type="bibr" rid="ref22">(Olson et al., 1987)</xref>
        .
      </p>
      <p>A collection of widgets and their communication channels is called a schema, which is essentially a program
designed by the user for a speci c data analysis task. The programming process creates a schema with widgets
and their connections is done visually through an easy-to-use graphic interface. Schemas can be saved and
compiled into executable scripts for later reuse. The power of Orange Canvas is its interactivity. Any change
in a single widget for example, loading another data set, changing the lter, modifying the logistic regression
parameters can instantly propagates down the scheme.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Image Engineering Extension</title>
      <p>Orange does not provide any image processing facilities but does allow you to develop your own widgets, extend
scripting interface or even create your own self-contained add-ons, all seamlessly integrating with the rest of
Orange, allowing components and code reuse. This allows anyone to leverage the power of the orange canvas to
suit speci c needs.</p>
      <p>Figure 4(b) shows the Orange schema of the code fragment in Figure 4(a). Figure 4(c) shows the details of
the Test Learners widget and the parameters that can be explored. Notice that unlike the code fragment details
about the Area Under the Curve and Classi cation Accuracy and various other metrics available to the user.</p>
      <p>The Image Engineering extension developed provides widgets designed to process image streams. The
extension provides a complete work ow from image stream, to image processing, to feature vector, to machine
learning, to classi er, to application. Some bespoke widgets were developed for functionality not provided by
image processing libraries. For example in our systems, widgets were developed to calculate curvature, surface
normals etc. from range images and statistical description of images.</p>
      <p>Machine learning algorithms in Orange require a numerical representation of objects. If machine learning is
to be performed then a widget that outputs numerical values need to be placed in the work ow as an interface
between the machine learning and image processing data ow. When representing images as numerical values,
the values might correspond to the pixels of an image, or the frequency of edge pixels, or perhaps a statistical
description of an image region depending on the widget used. Widgets developed generally output a response
image and numerical representations. Table 1 provides an overview of some of the widgets that have been
developed.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Case Studies</title>
      <p>Recognising objects in a scene is a primary goal of computer vision. The di culty of this tasks depends on
several factors such as: the number of objects, the complexity of the object etc. The appropriate techniques for
object recognition depend on the di culty of the task. One approach is to identify image patches, or regions
of interest, that may contain objects of interest and then focus later processing, potentially computationally
intensive, these regions of interest. Using a classi er, built prior, process the image patches to verify or con rm
that the object of interest if present. To demonstrate the utility of the Image Engineering extension developed
three case studies are provided demonstrating the above approach.</p>
      <p>The case studies are based on the task of asset management of street furniture in urban transport corridors
using the co-registered imagery and depth data. They have been simpli ed to focus on tra c lights but should
be obvious to the reader how they could be extend to manage di erent assets.</p>
      <p>In each case study, no knowledge of how to program is required and a basic understanding of image processing
is assumed. Work ows can be discovered through experimentation. Simple dragging, dropping and connecting
widgets is all that is required. In one example the output from one case study is reused in another.
5.1</p>
      <sec id="sec-5-1">
        <title>Locating Interesting Regions</title>
        <p>This case study uses AAM depth maps to identify interesting regions in co-registered imagery. In a scene objects
exist at di erent depths. The intuition is that local peaks in a depth map indicate that an object is closer to the
from orange import BayesLearner, kNNLearner, ExampleTable
from orngTest import crossValidation
from orngStat import computrCDT
# set up the learners
bayes = BayesLearner(name=’naive bayes’)
knn = kNNLearner(name=’knn’)
learners = [bayes, knn]
# compute accuracies on data
data = ExampleTable("voting")
results = crossValidation(learners, data, folds=10)
cdt = computeCDT(results)
# output the results
# ...</p>
        <p>(a)
camera than its surroundings. The following method segments out things that are closer than their surroundings.
A detailed description of the process can be found in Borck et al. (2014)</p>
        <p>First a histogram equalization algorithm applied to the depth map. Then a maximal lter is used so local peaks
stand out. The image is then dilated to expand the size of the local peaks. To remove the background, which
essentially is unaltered in the process, the dilated image is subtracted from the output of the maximal lter. This
creates an image that contains only local peaks. This local peak image is then thresholded and bounding boxes
for each thresholded segment are determined. These bounding boxes are the hypothesised interesting regions and
overlaid on the co-registered imagery to visually evaluate the process. For each step a widget is used to process
the image stream. Figure 5 show the schema for detecting interesting regions as well as widgets for loading,
dilation, background subtraction and the overlay of bounding boxes. Observe that the work ow is capable of
processing multiple images without the user needing to understand and complex programming constructs such
as looping or data structures.</p>
      </sec>
      <sec id="sec-5-2">
        <title>Asset Detection</title>
        <p>
          The process of using positive and negative examples with machine learning algorithms to build a object detection
system is well de ned in the computer vision literature. The real question is which combination of features and
which machine learning algorithm is t for the purpose. This case study describes a work ow to assess image
and depth features, machine learning algorithms and infer an optimal set of features and a classi er to produce
an tra c light detection system. Imagery and depth data were used from the Earthmine system. This case study
implements a simpli ed work ow of a more complex multi class example as described in
          <xref ref-type="bibr" rid="ref6 ref7">Borck et al. (2014)</xref>
          .
        </p>
        <p>The optimal classi er is determined by examining the graphs, confusion matrix, classi er metrics and other
visualisations provide by the widgets use in the work ow. Once an optimal classi er has been identi ed it can be
saved and used in other work ows. In this case the Support Vector Machine (SVM) was the optimal classi er and
is connected to the Save Classi er widget. Observe the two paths for the positive (Tra c Lights) and negative
(Background) training examples. The feature vector is built using the HoG, Gabor and Statistics widgets. Also,
since the output of the Gabor widget is an image, this need to be transformed into a descriptor. In this case a
statistical summary, mean and variance, is used as the numerical representation of the Gabor feature. Notice in
the schema where the output of the Gabor widget is connected to the input of the statistics widget. The HoG
widget has two outputs, a descriptor and a HoG image. The HoG image allows you to visualise the feature and
the descriptor is included in the feature vector. Figure 6(a) is the schema training a classi er to detect tra c
lights from background. Canvas widgets can be opened by double clicking on the widget. Figure 6(b) shows
open widgets for the Tra c light images, HoG feature, and the data table where each row is a feature vector.
This is an example of visually exploring the work ow.
5.3</p>
      </sec>
      <sec id="sec-5-3">
        <title>Asset Veri cation</title>
        <p>This case study demonstrates a simple asset veri cation system and is a simpli ed version of a prototyped
developed for a government department. Using the tra c light detection system developed earlier it is possible
to label an image patch as either a tra c light or background. The Earthmine widget allows access you to
specify a location. By using the Earthmine widget known locations were visited and tra c lights were extracted
by manually by drawing bounding boxes around the tra c lights. A feature vector of each extraction region
was built using the Hog, Gabor and Statistics widgets. The classi er developed in Section 5.2 was loaded and
the newly created feature vector of unseen tra c lights were connected to the prediction widget. The prediction
widget labels each feature vector as being either a tra c light or background. Figure 7 show the schema of the
asset veri cation system.
6</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Future Work</title>
      <p>
        The extension developed is immediately useful for processing imagery and co-registered depth maps. Work is
under way to include functionality provided by the Point Cloud Library
        <xref ref-type="bibr" rid="ref26">(Rusu and Cousins, 2011)</xref>
        . This would
then provide a visual environment for the direct processing of point clouds.
      </p>
      <p>There is an obvious overhead of using the visual environment, from maintaining internal data structures to
updating visualisations. Many of the tasks in a schema could be executed in parallel. The functions could be
distributed over several processors. The scheduling overhead would be small compared to the computational
complexity of of typical image processing functions.</p>
      <p>
        Widget functionality is in uenced by the conceptual grouping of functions from the underlying library. This
may not be the most suitable mapping onto higher level tasks performed by the widgets. Icons are used to express
meaning graphically. The design of good icons is essential. Research into appropriate conceptual mapping of
task and suitable expressive icons needs to be conducted. The cognitive dimensions framework of
        <xref ref-type="bibr" rid="ref13">Green and
Petre (1996)</xref>
        provides an evaluation technique that is easy to understand and quick to use and speci c to visual
environments and may be suitable for this purpose.
      </p>
      <p>Initial feedback on prototypes developed has been positive and the perceived bene t from the user is high but
a more detailed investigation into tangible bene ts need to be conducted.
7</p>
    </sec>
    <sec id="sec-7">
      <title>Conclusions</title>
      <p>An Image Engineering extension to the Orange data analysis framework was developed. This extensions includes
widgets for image acquisition, image processing and image analysis. The extension is modular and gives a non
programmer user the opportunity to develop powerful image processing applications in a two-dimensional, data
ow metaphor visual environment. This allows for fast prototyping and interactive exploration of algorithms
and work ows without the need to learn a textual programming language. To demonstrate the utility of the
system three case studies were presented. Imagery and depth data of urban transport corridors were used from
the Earthmine dataset and laser ranging system.</p>
    </sec>
    <sec id="sec-8">
      <title>Acknowledgment</title>
      <p>This work is supported by the Cooperative Research Centre for Spatial Information, whose activities are funded
by the Australian Commonwealths Cooperative Research Centres Programme. It provides PhD scholarship
for Michael Borck and partially funds Professor Geo West's position. The authors would like to thank John</p>
      <p>Ristevski and Anthony Fassero from Earthmine and Landgate, WA for making available the dataset used in this
work.</p>
      <p>Van Rossum, G. (2003, September). The Python Language Reference Manual. Network Theory Ltd.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Achanta</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Estrada</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Wils</surname>
          </string-name>
          , and S. Susstrunk (
          <year>2008</year>
          ).
          <article-title>Salient region detection and segmentation</article-title>
          .
          <source>Computer Vision Systems</source>
          <volume>5008</volume>
          ,
          <fpage>66</fpage>
          {
          <fpage>75</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Achanta</surname>
            , R.,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Hemami</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Estrada</surname>
            , and
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Susstrunk</surname>
          </string-name>
          (
          <year>2009</year>
          , june).
          <article-title>Frequency-tuned salient region detection</article-title>
          .
          <source>In Computer Vision and Pattern Recognition</source>
          ,
          <year>2009</year>
          .
          <article-title>CVPR 2009</article-title>
          . IEEE Conference on, pp.
          <volume>1597</volume>
          {
          <fpage>1604</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Achanta</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Shaji</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Smith</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lucchi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Fua</surname>
          </string-name>
          , and S. Susstrunk (
          <year>2010</year>
          ).
          <article-title>Slic superpixels</article-title>
          . Ecole Polytechnique Federal de Lausssanne (EPFL),
          <source>Tech. Rep</source>
          <volume>149300</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Bay</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ess</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Tuytelaars</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L. V.</given-names>
            <surname>Gool</surname>
          </string-name>
          (
          <year>2008</year>
          ).
          <article-title>Speeded-up robust features (surf)</article-title>
          .
          <source>Computer Vision and Image Understanding</source>
          <volume>110</volume>
          (
          <issue>3</issue>
          ),
          <volume>346</volume>
          {
          <fpage>359</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Bentrad</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Meslati</surname>
          </string-name>
          , et al. (
          <year>2011</year>
          ).
          <article-title>Visual programming and program visualization-towards an ideal visual software engineering system</article-title>
          .
          <source>ACEEE International Journal on Information Technology</source>
          <volume>1</volume>
          (
          <issue>3</issue>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Borck</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Palmer</surname>
          </string-name>
          , G. West, and
          <string-name>
            <given-names>T.</given-names>
            <surname>Tan</surname>
          </string-name>
          (
          <year>2014</year>
          ).
          <article-title>Using depth maps to nd interesting regions</article-title>
          . to appear
          <source>in proceedings of 2014 IEE Region 10 Technical Symposium .</source>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Borck</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>West</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Tan</surname>
          </string-name>
          (
          <year>2014</year>
          ).
          <article-title>Use of multiple low level features to nd interesting regions</article-title>
          . to appear
          <source>in proceedings of 3rd Internation Conference on Pattern Recognition Aplications and Methods</source>
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>Bradski</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          (
          <year>2000</year>
          ).
          <article-title>The OpenCV Library</article-title>
          .
          <source>Dr. Dobb's Journal of Software Tools .</source>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>Canny</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          (
          <year>1986</year>
          , November).
          <article-title>A computational approach to edge detection</article-title>
          .
          <source>Pattern Analysis and Machine Intelligence</source>
          ,
          <source>IEEE Transactions on 8 (6)</source>
          ,
          <volume>679</volume>
          {
          <fpage>698</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>Dalal</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          and
          <string-name>
            <given-names>B.</given-names>
            <surname>Triggs</surname>
          </string-name>
          (
          <year>2005</year>
          , June).
          <article-title>Histograms of oriented gradients for human detection</article-title>
          . In C. Schmid,
          <string-name>
            <given-names>S.</given-names>
            <surname>Soatto</surname>
          </string-name>
          , and C. Tomasi (Eds.),
          <source>International Conference on Computer Vision &amp; Pattern Recognition</source>
          , Volume
          <volume>2</volume>
          , pp.
          <volume>886</volume>
          {
          <fpage>893</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <surname>Demsar</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Zupan</surname>
          </string-name>
          , G. Leban, and
          <string-name>
            <given-names>T.</given-names>
            <surname>Curk</surname>
          </string-name>
          (
          <year>2004</year>
          ).
          <article-title>Orange: From experimental machine learning to interactive data mining</article-title>
          . In J.-
          <string-name>
            <given-names>F.</given-names>
            <surname>Boulicaut</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Esposito</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Giannotti</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Pedreschi</surname>
          </string-name>
          (Eds.),
          <source>Knowledge Discovery in Databases: PKDD</source>
          <year>2004</year>
          , pp.
          <volume>537</volume>
          {
          <fpage>539</fpage>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <surname>Felzenszwalb</surname>
            ,
            <given-names>P. F.</given-names>
          </string-name>
          and
          <string-name>
            <given-names>D. P.</given-names>
            <surname>Huttenlocher</surname>
          </string-name>
          (
          <year>2004</year>
          ).
          <article-title>E cient graph-based image segmentation</article-title>
          .
          <source>International Journal of Computer Vision</source>
          <volume>59</volume>
          (
          <issue>2</issue>
          ),
          <volume>167</volume>
          {
          <fpage>181</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <surname>Green</surname>
            ,
            <given-names>T. R. G.</given-names>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Petre</surname>
          </string-name>
          (
          <year>1996</year>
          ).
          <article-title>Usability analysis of visual programming environments: a `cognitive dimensions' framework</article-title>
          .
          <source>Journal of Visual Languages &amp; Computing</source>
          <volume>7</volume>
          (
          <issue>2</issue>
          ),
          <volume>131</volume>
          {
          <fpage>174</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <string-name>
            <surname>Harris</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          and
          <string-name>
            <surname>M. Stephens</surname>
          </string-name>
          (
          <year>1988</year>
          ).
          <article-title>A combined corner and edge detector</article-title>
          .
          <source>In Alvey vision conference</source>
          , Volume
          <volume>15</volume>
          , pp.
          <fpage>50</fpage>
          .
          <string-name>
            <surname>Manchester</surname>
          </string-name>
          , UK.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <string-name>
            <surname>Jones</surname>
            , E.,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Oliphant</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Peterson</surname>
          </string-name>
          , et al. (
          <year>2001</year>
          {).
          <article-title>SciPy: Open source scienti c tools for Python.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <string-name>
            <surname>Koelma</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          and
          <string-name>
            <given-names>A</given-names>
            .
            <surname>Smeulders</surname>
          </string-name>
          (
          <year>1994</year>
          ).
          <article-title>A visual programming interface for an image processing environment</article-title>
          .
          <source>Pattern Recognition Letters</source>
          <volume>15</volume>
          (
          <issue>11</issue>
          ),
          <volume>1099</volume>
          {
          <fpage>1109</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>T. S.</given-names>
          </string-name>
          (
          <year>1996</year>
          ).
          <article-title>Image representation using 2d gabor wavelets</article-title>
          .
          <source>Pattern Analysis and Machine Intelligence</source>
          , IEEE Transactions on
          <volume>18</volume>
          (
          <issue>10</issue>
          ),
          <volume>959</volume>
          {
          <fpage>971</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          <string-name>
            <surname>Lieberman</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          (
          <year>2000</year>
          ).
          <article-title>Your wish is my command: Giving users the power to instruct their software</article-title>
          .
          <source>Morgen Kaufmann.</source>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          <string-name>
            <surname>Lowe</surname>
            ,
            <given-names>D. G.</given-names>
          </string-name>
          (
          <year>2004</year>
          ).
          <article-title>Distinctive image features from scale-invariant keypoints</article-title>
          .
          <source>International Journal of Computer Vision</source>
          <volume>60</volume>
          (
          <issue>2</issue>
          ),
          <volume>91</volume>
          {
          <fpage>110</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          <string-name>
            <surname>Myers</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          (
          <year>1992</year>
          ).
          <article-title>Demonstrational interfaces: A step beyond direct manipulation</article-title>
          .
          <source>Computer</source>
          <volume>25</volume>
          (
          <issue>8</issue>
          ),
          <volume>61</volume>
          {
          <fpage>73</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          <string-name>
            <surname>Myers</surname>
            ,
            <given-names>B. A.</given-names>
          </string-name>
          (
          <year>1990</year>
          ).
          <article-title>Taxonomies of visual programming and program visualization</article-title>
          .
          <source>Journal of Visual Languages &amp; Computing</source>
          <volume>1</volume>
          (
          <issue>1</issue>
          ),
          <volume>97</volume>
          {
          <fpage>123</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          <string-name>
            <surname>Olson</surname>
            ,
            <given-names>G. M.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>S. B.</given-names>
            <surname>Sheppard</surname>
          </string-name>
          , and E.
          <string-name>
            <surname>Soloway</surname>
          </string-name>
          (
          <year>1987</year>
          ).
          <article-title>Empirical studies of programmers: second workshop</article-title>
          , Volume
          <volume>2</volume>
          .
          <string-name>
            <given-names>Intellect</given-names>
            <surname>Books</surname>
          </string-name>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          <string-name>
            <surname>Otsu</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          (
          <year>1979</year>
          , January).
          <article-title>A threshold selection method from gray-level histograms</article-title>
          .
          <source>IEEE Transactions on Systems, Man and Cybernetics</source>
          <volume>9</volume>
          (
          <issue>1</issue>
          ),
          <volume>62</volume>
          {
          <fpage>66</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          <string-name>
            <surname>Rosin</surname>
            ,
            <given-names>P. L.</given-names>
          </string-name>
          (
          <year>2009</year>
          ).
          <article-title>A simple method for detecting salient regions</article-title>
          .
          <source>Pattern Recognition</source>
          <volume>42</volume>
          (
          <issue>11</issue>
          ),
          <volume>2363</volume>
          {
          <fpage>2371</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          <string-name>
            <surname>Rosten</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Porter</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Drummond</surname>
          </string-name>
          (
          <year>2010</year>
          , Jan).
          <article-title>Faster and better: A machine learning approach to corner detection</article-title>
          .
          <source>Pattern Analysis and Machine Intelligence</source>
          ,
          <source>IEEE Transactions on 32 (1)</source>
          ,
          <volume>105</volume>
          {
          <fpage>119</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          <string-name>
            <surname>Rusu</surname>
            ,
            <given-names>R. B. and S.</given-names>
          </string-name>
          <string-name>
            <surname>Cousins</surname>
          </string-name>
          (
          <year>2011</year>
          ).
          <article-title>3d is here: Point cloud library (pcl). Library, unknown</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          <string-name>
            <surname>Shneiderman</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          (
          <year>1983</year>
          ).
          <article-title>Direct manipulation: A step beyond programming languages</article-title>
          .
          <source>Computer</source>
          <volume>16</volume>
          (
          <issue>8</issue>
          ),
          <volume>57</volume>
          {
          <fpage>69</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          <string-name>
            <surname>Stajdohar</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          and
          <string-name>
            <given-names>J</given-names>
            .
            <surname>Demsar</surname>
          </string-name>
          (
          <year>2013</year>
          ,
          <article-title>4). Interactive network exploration with orange</article-title>
          .
          <source>Journal of Statistical Software</source>
          <volume>53</volume>
          (
          <issue>6</issue>
          ),
          <volume>1</volume>
          {
          <fpage>24</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          <string-name>
            <surname>van der Walt</surname>
          </string-name>
          , S. et al. (
          <year>2009</year>
          {).
          <article-title>scikit-image: Image processing in python.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          <string-name>
            <surname>Vedaldi</surname>
            ,
            <given-names>A</given-names>
          </string-name>
          . and
          <string-name>
            <given-names>S.</given-names>
            <surname>Soatto</surname>
          </string-name>
          (
          <year>2008</year>
          ).
          <article-title>Quick shift and kernel methods for mode seeking</article-title>
          .
          <source>In Computer Vision{ECCV</source>
          <year>2008</year>
          , pp.
          <volume>705</volume>
          {
          <fpage>718</fpage>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          <string-name>
            <surname>Zhang</surname>
            ,
            <given-names>Y.-J.</given-names>
          </string-name>
          (
          <year>2006</year>
          ).
          <article-title>An overview of image and video segmentation in the last 40 years</article-title>
          .
          <source>Advances in Image and Video Segmentation</source>
          ,
          <volume>1</volume>
          {
          <fpage>15</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          <string-name>
            <surname>Zhao</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Pietikainen</surname>
          </string-name>
          (
          <year>2006</year>
          ).
          <article-title>Local binary pattern descriptors for dynamic texture recognition</article-title>
          .
          <source>In Pattern Recognition</source>
          ,
          <year>2006</year>
          .
          <source>ICPR</source>
          <year>2006</year>
          . 18th International Conference on, Volume
          <volume>2</volume>
          , pp.
          <volume>211</volume>
          {
          <fpage>214</fpage>
          . IEEE.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>