<!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>Comparison of Visual Occupancy Detection Approaches for Parking Lots and Dedicated Containerized REST-API Server Application</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Andrej Petričko</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pavle Dakić</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Valentino Vranić</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Informatics, Information Systems and Software Engineering, Faculty of Informatics and Information Technologies, Slovak University of Technology in Bratislava</institution>
          ,
          <country country="SK">Slovakia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>With the development of new technology, the urban infrastructure, which is necessary to meet the social, economic, and physical needs of the population, is also gradually improving. Therefore, cities face significant urban planning challenges. With the increasing population and number of cars on the road parking space occupancy detection techniques are of great importance for eficient parking space management. Knowing the availability of parking spaces within a city in real-time and informing residents can be of great help in reducing the number of car park councils, reducing trafic congestion in cities, or improving the scalability of car parks and the time needed to find empty parking space. In many car parks, ground sensors are used to determine occupancy status. However, this requires the installation and maintenance of these sensors in every parking space. This can be expensive, especially in car parks with a large number of available spaces. With increasing computing power, new approaches to parking space occupancy detection using computer vision are emerging. However, these approaches are tailored to the site of application. In this work, we propose a comparison of two general approaches: classification and object detection. The reliability, precision, and scalability of these approaches are compared using a REST-API server application implemented in Python. In order to get as close as possible to general use, we use docker, which enables us easier develop and deploy this application independently of the hardware.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Parking occupancy detection</kwd>
        <kwd>Computer Vision</kwd>
        <kwd>Docker</kwd>
        <kwd>CI/CD</kwd>
        <kwd>REST-API</kwd>
        <kwd>Object Detection</kwd>
        <kwd>Classification</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Parking in cities can sometimes be dificult or even impossible due to the increasing number of
cars. The number of cars on the road is increasing more and more with every year. Some parking
lots are full and others are almost empty. This inefective management and not informing the
public of parking lot occupancy information often leads to trafic problems such as congestion.
People often struggle to find empty space and spent a lot of time driving around. The solution
could be provided by smart parking lots, that could be able to inform in real-time about their
occupancy status. There are many parking lots, with occupancy detection using sensors [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ],
which is not a resource-efective solution. Advances in computer technology, which have
brought computer vision, allow us to find more eficient and versatile solutions using cameras [
        <xref ref-type="bibr" rid="ref3 ref4 ref5">3,
4, 5</xref>
        ].
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Methods for occupancy detection</title>
      <p>For parking lot occupancy detection are existing several methods. One group can be described
as detection with the use of some sensors and a second group that is using machine learning
and computer vision.</p>
      <sec id="sec-2-1">
        <title>2.1. Sensor occupancy detection</title>
        <p>Nowadays the most used approach to detecting the occupancy of parking spaces is by using
sensors. This approach relies on the use of diferent types of sensors, which are located above
or directly in each parking space.</p>
        <p>
          The occupancy detection approach using sensor-based parking spaces is very accurate and
reliable, but a major disadvantage of these solutions is the cost required to build such a solution,
as each parking space needs its own sensor to detect occupancy. Although there are solutions
where a single tracking device can be used for multiple parking spaces [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] in large parking
areas, a large number of these tracking devices are still required. Along with the construction
costs, the costs of later maintenance must also be taken into account [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. Furthermore, such
solutions are at the same time, due to external environmental influences, mostly installed in
interior parking lots. It is therefore not feasible to install hundreds of sensors in outdoor parking
areas or streets.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Computer vision occupancy detection</title>
        <p>
          Advances in deep learning have revolutionized machine learning by delivering unmatched
performance and methods for automatically extracting properties from images without the need
for human intervention. This allows the computer to quickly process video input to classify it
or learn to find objects [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
        </p>
        <p>
          The use of computer vision methods in the field of intelligent car parks makes it possible
to create less costly solutions with the help of several cameras and computing equipment,
and at the same time, they allow you to view the current situation in the car park from these
cameras [
          <xref ref-type="bibr" rid="ref3 ref7">7, 3</xref>
          ]. This approach can also be used in places where camera systems are already
installed.
        </p>
        <p>Segmentation and classification
In segmentation and classification, the processed image is first divided into smaller images called
patches based on the segmentation mask. The segmentation mask contains the coordinates of
the individual parking spaces. An illustration of a segmentation mask and patches can be seen
in the figure 1.</p>
        <p>After segmentation, each patch is processed using the selected machine learning algorithm
and classified into specific classes, e.g. occupied or free.</p>
      </sec>
      <sec id="sec-2-3">
        <title>2.3. Object detection</title>
        <p>Object detection allows us to identify and locate objects in an image. With this approach whole
image is processed by an object detection neural network. The output of this neural network is
a list of bounding boxes with corresponding labels of objects that were found in the image.
1http://cnrpark.it
2https://www.pixevia.com/smart-parking-occupancy</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Related Works</title>
      <p>The topic of smart parking spaces and occupancy detection is due to the growing number of
vehicles in trafic is still a lively topic and therefore there is already more research dealing with
diferent approaches to addressing this issue.</p>
      <sec id="sec-3-1">
        <title>3.1. Occupancy detection papers using sensors</title>
        <p>
          Since this method is widely used there are many studies that develop and investigate parking
occupancy detection solutions using sensors [
          <xref ref-type="bibr" rid="ref2 ref8">8, 2</xref>
          ].
        </p>
        <p>The architecture of these solutions consists of the use of several diferent devices. Peripheral
devices consisting of an Arduino UNO microcontroller, which had two infrared proximity
sensors and two ultrasonic sensors, were placed in the parking spaces themselves. The Arduino
UNO has very low energy consumption, so it was possible to power them from a battery. These
peripherals were tasked with collecting data from the sensors and sending them to central
devices using Bluetooth Low Energy. In this solution, the peripheral device was able to monitor
up to 8 parking spaces. The central devices were Raspberry Pi microcomputers, which stored
sensor data in an SQLite3 database running on them. These devices then sent the collected data
to the back-end using an Internet connection. This architecture can be seen in the following
ifgure 3.</p>
        <p>Peripheral data had to be collected periodically to reduce energy consumption. Therefore, it
was necessary to implement communication between the peripheral devices and the central
device at certain intervals. The central device then communicated with the server on the
backend using the Rest API protocol.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Parking space occupancy detection using computer vision and interspace correlation</title>
        <p>
          This technique [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] proposes a method of detecting parked vehicles in space based on the input
video recorded by the camera. The empty spaces can be distinguished from the occupied ones
by means of an 8-class SVM classifier, based on the method of Support Vector machine, with
probabilistic outputs. The interspace relationship and the SVM classifier outputs associated
with the Markov Random Field (MRF) framework are also taken into account. The result is
much better detection performance, even if there are significant efects of occlusion and shading
on the stage.
        </p>
        <p>This system consists of four parts: data preprocessing, low-level feature extraction, multi-class
SVM recognition, and MRF-based correction. The input image is first pre-processed and divided
into small samples, each of which contains 3 parking spaces. The Gaussian model is then used
to obtain the probability of the earth occurring in pixels in the samples. These probabilities
are further used as input values for a trained multi-class SVM classifier, which analyzes and
classifies samples into 8 parking condition classes. Finally, Markov’s Random Field (MRF) is
used to resolve conflicts between two neighboring sites in order to improve recognition.</p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. Parking space occupancy detection using video with intelligent control system</title>
        <p>
          In this work[
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], the automatic regulation of street lighting plays a major role in detecting the
occupancy of the car park in the outdoor environment. The intelligent vehicle tracking or
detection application can also be used to control lighting in the evenings. This study uses a
Jetson TX2 microcomputer to develop a method that can accurately identify the occupancy
of street parking spaces along with street lighting control. The proposed method uses the
YOLO model of the neural network version 3 backup to MobileNet version 2. This solution was
verified using the data file CNRPark + EXT, the simulated model, and real scenes captured by
the camera.
        </p>
        <p>The input video uses built-in hardware to connect directly to an existing street camera system.
Detection includes high-performance deep learning algorithms that detect pedestrians and
vehicles. Vehicles and parking spaces are delimited from the sequential image using the YOLO
model, and their overlapping areas are then calculated, which are used to identify the occupancy
status. Street lamps are automatically switched to low light or high light levels depending on
the detection results. All this functionality is handled by the Jetson TX2 microcomputer.</p>
        <p>
          Some proposed methods [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] using YOLO detection use the midpoint of the object boundary
to determine the occupancy of a parking space. If this point is located in the parking space
area, the space is marked as occupied. The model achieved great accuracy, but the midpoint
could lead to an incorrect evaluation of the actual condition of the parking space due to the
perspective of the camera.
        </p>
        <p>To resolve perspective errors, a YOLO detection method with object overlap identification
has been proposed to improve occupancy detection results.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Challenges and problems</title>
      <p>Computer vision is a powerful tool for detecting the occupancy of parking areas, but in order
to create a suitable model with reliable detection, we must address the problems that occur in
image processing, which can cause inaccuracies.</p>
      <p>These problems include changing ambient light conditions: diferent intensities of sunlight
during the day, street lighting, and weather: sunny, rainy, snow, which afect the brightness
and colors of the image. Other problems may be caused by occlusions in the image. Here we
can include, for example, trees, street lights, open parts of the vehicle, a poorly parked vehicle,
or its shadow. The camera itself must also be taken into account, such as its location: height,
angle, or optical properties, which strongly afect the image quality.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Prototype</title>
      <p>A big problem with many existing solutions is that they are tailored to the environment. In our
work, we try to create a generally applicable tool for detecting the occupancy of parking spaces.</p>
      <p>The goal is to create a REST-API server application that could be located independently
outside a specific parking lot and at the same time would not be tied to only one parking
lot. Parking lots that would like to use occupancy detection services then only send image
information using HTTP requests to a specified server endpoint. This application then processes
the video inputs and sends a response with the detection result. At the same time, it stores
these detection results in a database.</p>
      <p>The detection results can then be used to inform the public or smart cities through another
endpoint or graphical user interface.</p>
      <p>In the application, we want to implement resource usage logging for future comparison of
two occupancy detection methods.</p>
      <sec id="sec-5-1">
        <title>5.1. Docker containers</title>
        <p>
          The application is implemented in containers in docker, which allows us to be independent
of hardware and easy development with deployment. The second advantage of dock and
containerization is the ability to scale resources and thus we can analyze how many resources
the application needs [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
        </p>
        <p>Docker image we have made consists of 3 separated containers:
• Python Django Server - This container contains the main part of the server, all functional
logic, and application occupancy detection logic
• PostgreSQL - In this container is the database for the server for storing data about
parking lots and occupancy.
• Graphana - This container is intended for the implementation of a simple user interface
for displaying data in a database.</p>
      </sec>
      <sec id="sec-5-2">
        <title>5.2. Used network models for occupancy detection</title>
        <p>Within the application, we use two basic approaches to detect occupancy, classification and
object detection</p>
        <p>
          For classification, we use a model with AlexNet architecture. This model showed excellent
results in the field of classification and computer vision. It was also used for classification on
the set CNRPark [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. To speed up training, we use a pre-trained network from the beginning,
to which I apply transfer learning. This network has also been adapted to our problem, ie the
classification of two trios, an occupied position or a vacancy.
        </p>
        <p>To detect objects in the image we use the Faster RCNN detector type with the ResNet50 FPN
network model. It is a network built on the VGG-19 network, with the fact that it is enriched
with residual connections between the internal blocks.</p>
        <p>A pre-trained network is used, whose inputs and outputs are adapted to our needs. In this
case, the number of inputs is the size of the input image and the number of detected objects is 2.
The vehicles whose bounding boxes are found will be detected and compared with the positions
of parking spaces to determine occupancy.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusion</title>
      <p>We have approached the problem of parking occupancy detection, which is a big problem
in trafic management in big cities. Our solution, that we propose is a general parking lot
occupancy detection approach using a decentralized rest-API server.</p>
      <p>So far, we have implemented a working docker image with a functional CUDA-capable
container for the Rest server. In the rest-API server, we have implemented all needed parking
lot management models and occupancy detection using segmentation and classification. For
classification, we have implemented endpoints for the training network model and for occupancy
detection.</p>
      <p>After implementing the second occupancy detection method using object detection we plan
to compare those methods with experiments.</p>
      <p>In this server application, we want to compare those two approaches using a set of experiments.
We plan to do qualitative experiments such as accuracy of detection on the same and diferent
data sets and quantitative experiments to measure time for setting up, time that the application
needs to process one detection, and average application response time. Also, we want to analyze
the resource usage of these approaches so we will compare the amount of GPU and RAM that
is used by the detection process.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>The work reported here was supported by the Scientific Grant Agency of Slovak Republic
(VEGA) under grant No. VG 1/0759/19 and the Operational Programme Integrated Infrastructure
for the project: Advancing University Capacity and Competence in Research, Development
and Innovation (ACCORD), ITMS code 313021X329, co-funded by the European Regional
Development Fund (ERDF) Grant Number: 313011W988.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>T.</given-names>
            <surname>Perković</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Šolić</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Zargariasl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Čoko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Rodrigues</surname>
          </string-name>
          ,
          <article-title>Smart parking sensors: State of the art and performance evaluation</article-title>
          ,
          <source>Journal of Cleaner Production</source>
          <volume>262</volume>
          (
          <year>2020</year>
          )
          <article-title>121181</article-title>
          . doi:
          <volume>10</volume>
          .1016/j.jclepro.
          <year>2020</year>
          .
          <volume>121181</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>K.</given-names>
            <surname>Marso</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Macko</surname>
          </string-name>
          ,
          <article-title>A new parking-space detection system using prototyping devices and bluetooth low energy communication</article-title>
          ,
          <source>International Journal of Engineering and Technology Innovation</source>
          <volume>9</volume>
          (
          <year>2019</year>
          )
          <fpage>108</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>P.</given-names>
            <surname>Dakić</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Todorović</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Vranić</surname>
          </string-name>
          ,
          <article-title>Financial justification for using ci/cd and code analysis for software quality improvement in the automotive industry</article-title>
          ,
          <source>in: 2022 IEEE Zooming Innovation in Consumer Technologies Conference (ZINC)</source>
          ,
          <year>2022</year>
          , pp.
          <fpage>149</fpage>
          -
          <lpage>154</lpage>
          . doi:
          <volume>10</volume>
          . 1109/ZINC55034.
          <year>2022</year>
          .
          <volume>9840702</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>G.</given-names>
            <surname>Amato</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Carrara</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Falchi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Gennaro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Vairo</surname>
          </string-name>
          ,
          <article-title>Car parking occupancy detection using smart camera networks and deep learning</article-title>
          ,
          <source>in: 2016 IEEE Symposium on Computers and Communication (ISCC)</source>
          , IEEE,
          <year>2016</year>
          , pp.
          <fpage>1212</fpage>
          -
          <lpage>1217</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>L.-C.</given-names>
            <surname>Chen</surname>
          </string-name>
          , R.
          <article-title>-</article-title>
          <string-name>
            <surname>K. Sheu</surname>
          </string-name>
          , W.-Y. Peng, J.
          <string-name>
            <surname>-H. Wu</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.-H. Tseng</surname>
          </string-name>
          ,
          <article-title>Video-based parking occupancy detection for smart control system</article-title>
          ,
          <source>Applied Sciences</source>
          <volume>10</volume>
          (
          <year>2020</year>
          )
          <fpage>1079</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>P.</given-names>
            <surname>Dakić</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Filipović</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Starčević, and, Application of fundamental analysis in investment decision making: example of a domestic business entity</article-title>
          ,
          <source>in: ITEMA</source>
          <year>2019</year>
          ,
          <article-title>Association of Economists and Managers of the Balkans -</article-title>
          Udekom
          <string-name>
            <surname>Balkan</surname>
          </string-name>
          ,
          <year>2019</year>
          . doi:
          <volume>10</volume>
          .31410/itema. s.p.
          <year>2019</year>
          .
          <volume>149</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Kročka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Dakić</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Vranić</surname>
          </string-name>
          ,
          <article-title>Extending parking occupancy detection model for night lighting and snowy weather conditions</article-title>
          ,
          <source>in: 2022 IEEE Zooming Innovation in Consumer Technologies Conference (ZINC)</source>
          ,
          <year>2022</year>
          , pp.
          <fpage>203</fpage>
          -
          <lpage>208</lpage>
          . doi:
          <volume>10</volume>
          .1109/ZINC55034.
          <year>2022</year>
          .
          <volume>9840556</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>T.</given-names>
            <surname>Perković</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Šolić</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Zargariasl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Čoko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. J.</given-names>
            <surname>Rodrigues</surname>
          </string-name>
          ,
          <article-title>Smart parking sensors: state of the art and performance evaluation</article-title>
          ,
          <source>Journal of Cleaner Production</source>
          <volume>262</volume>
          (
          <year>2020</year>
          )
          <fpage>121181</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Q.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Huang</surname>
          </string-name>
          , S.-y. Wang, W.-c. Chiu, T. Chen,
          <article-title>Robust parking space detection considering inter-space correlation</article-title>
          ,
          <source>in: 2007 IEEE International Conference on Multimedia and Expo</source>
          , IEEE,
          <year>2007</year>
          , pp.
          <fpage>659</fpage>
          -
          <lpage>662</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>D.</given-names>
            <surname>Acharya</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Yan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Khoshelham</surname>
          </string-name>
          ,
          <article-title>Real-time image-based parking occupancy detection using deep learning</article-title>
          ., in: Research@ Locate,
          <year>2018</year>
          , pp.
          <fpage>33</fpage>
          -
          <lpage>40</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>I. C.</given-names>
            <surname>Education</surname>
          </string-name>
          , Docker,
          <year>2022</year>
          . URL: https://www.ibm.com/cloud/learn/docker.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>G.</given-names>
            <surname>Amato</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Carrara</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Falchi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Gennaro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Meghini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Vairo</surname>
          </string-name>
          ,
          <article-title>Deep learning for decentralized parking lot occupancy detection</article-title>
          ,
          <source>Expert Systems with Applications</source>
          <volume>72</volume>
          (
          <year>2017</year>
          )
          <fpage>327</fpage>
          -
          <lpage>334</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>