<!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>Yuz Tan maya Dayal Kisi Bazl Test Otomasyonu</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Siemens A.S.</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Istanbul</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Turkey</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>alphan.camli</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>damla.gulen</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>nihat.uk</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>anil.gundogdug@siemens.com</string-name>
        </contrib>
      </contrib-group>
      <abstract>
        <p>Surekli entegrasyon modeli ile birlikte yaz l m testlerinin otomatize edilmesi konusunda onemli yol katedilmistir. Gunumuzde farkl urunler tek bir yaz l m test otomasyon cercevesi icerisinde test edilebilmektedir.Test otomasyon cercevesini benimsemis prosesler dag t m zaman ve kod kalitesi bak m ndan daha efektif olmaktad r. Ancak proje tak mlar guvenlik konusunun test sistemlerine entegre edilmesi konusunda zorluklar cekmektedir. Ayr ca, ayn test otomasyon cercevesini kullanan farkl proje tak mlar n n farkl test senaryolar na sahip olmas da endustriyel test proseslerinde bir sorun olarak gorulmektedir. Bu baglamda kompleks otomatik test ortamlar nda test senaryolar n n gruplan p modularize edilmesi konusunda bir cozum yolu bulunmal d r. Eger test senaryolar otomatik olarak kisilere ozel olarak kosturulabilirse farkl proje gruplar icin farkl test senaryolar kosturulabilecegi gibi ayn proje icerisinde is bolumu yap larak ayn ekipte cal san farkl kisiler taraf ndan farkl test senaryolar da kosturulabilecektir. Bu cal sma baglam nda onerilen kisi bazl test otomasyonu farkl endustriyel projeler icin Siemens ozelinde kullan lan bir endustriyel test otomasyon cercevesi icerisinde gerceklenip incelenmistir.Surekli entegrasyon dongusu biyometrik yuz tan ma ile tetiklenerek otomatik testlerin kisilere ozel olarak cal st r lmas hede enmistir. Tetikleyici olarak biyometrik sinyal kullan ld g icin test senaryolar farkl kisiler icin gruplan p modularize edilebilmekte ve sistemin genel guvenliginde de gelisme gorulmektedir.</p>
      </abstract>
      <kwd-group>
        <kwd>Cevik Yaz l m Testi</kwd>
        <kwd>Surekli Entegrasyon</kwd>
        <kwd>Test Otomasyon</kwd>
        <kwd>Cat s</kwd>
        <kwd>Kisi Bazl Otomasyon</kwd>
        <kwd>Guvenlik</kwd>
        <kwd>Yuz Tan ma</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        In the innovation era, companies and individuals are always in competition
nowadays. To achieve success in this competitive world, software development teams
and projects need to be adapted to the rapid change. Requirements, needs and
demands are now changing more frequently. In order to serve those highly
alternating needs the agile manifesto [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] is presented in 2001. The agile methodology
gives major priority to satisfying customer needs by providing early and
continuous delivery of the minimum viable product. Agile software development brings
out the importance of continuous integration in the software development
lifecycle. In this manner, the cycles are shorter and the customer is more involved
with the product. They investigate the deliverables and interfere early which
reduces cost of many xes. As early as a change is requested in the cycle, the easier
it gets xed. This brings up the importance of testing. Since frequent releases
with small changes increases the test amount, the automation of the test cases
also has high importance in this type of applications. In agile test automation
pyramid presented by Mike Cohn, it is stated that most testing work is done
under unit test. Every small piece of code needs testing and it is easier to x the
errors in this level of testing compared to Service and UI levels.
      </p>
      <p>In agile teams, the members might be distributed to the di erent locations.
Teams work remotely and they need to work productively with high
communication among themselves. The common practice is to use a remote platform to
run codes and tests on, in order to avoid any locality problems. Any change in
the code is committed to the repository, build and run. After a successful build,
a set of tests starts to run. At this point the idea is to focus on how well those
tests can be separated, divided into groups and run securely.</p>
      <p>At the start of the project, the main focus was security. A test system needs to
be secure, well protected and the rules need to be well de ned, clearly separated.
Authentication systems usually work with username and password combinations
which are known as credentials that the user knows. This is the most commonly
used authentication method. However, this type of authentication starts to give
its place to biometric authentication mechanisms, which authenticates users with
their ngerprints, iris, face, voice or even with their behavior. Among these types
of biometric authentication methods, the easiest and cheapest one to implement
is face recognition in the industrial application eld. It does not require any
complex hardware such as iris scanner and its data is easier to collect and train.
In this project, authentication based on face recognition is chosen with the same
reasons that collaborated. In industrial testing environment, face recognition
seems to be easier to implement, and only needs basic camera hardware which
most of the test computers have it already. After getting authenticated by the
face recognition algorithm, a test user can view and run the test cases that
he/she is authorized to. In other words, the face recognition is used as trigger
mechanism in the solution presented here.</p>
      <p>
        Continuous Integration (CI) is a common software development practice. It
motivates developers to commit their code early and often. The purpose of the
practice is to eliminate the need for unpredictable and long integration e ort
before the release time by integrating the software with a constant frequency
by di erent developers. CI needs higher degree of automation of code compiling
and testing activities since it goes through the same cycles many times during
a development of a product and these repetitive phases needs to get automated.
CI enables more frequent releases and this improves the companies' ability to
compete. Another bene t of CI is the early feedbacks which helps to ll the gaps
between what the customer values and what the developers o er. Early and
frequent feedbacks enable developers and testers to detect and x the defects
sooner [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        In a CI process, developers' changes in the software trigger a set of automated
activities. These activities aim to prove that the changes successfully integrate
with the existing software. In this process, developers need to check in their
changes into a central control system where the changes are monitored by the
CI system. In the CI system there is a preset integrity criterion for the software
and each increment in the code is tested against it and presents feedback related
to the result. This feature enhances the quality of the product and noti es the
developers early with the feedback. Continuous delivery is the extended case of
CI where the software is deployed to production automatically after passing all
the tests [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>A simple work ow can be as follows. After an increment in the code is checked
in to the version control, the CI system monitors the changes which results
in triggering an automated work ow called CI build. CI build rst compiles
the source code. Then, CI system could run unit tests in order to verify the
compiled code's quality. The result is reported by the CI system by e-mail to
the developers who made changes in the increment. However, in practice more
automated testing is required. To improve the quality in addition to static code
analysis, automated integration and acceptance tests are performed by the CI
system.</p>
      <p>
        In order to achieve high test coverage in automated tests considered in the
CI system, a lot of work is required to construct stable automated tests. Having
unstable automated tests could lead to test results being ignored by developers.
And consequently they might miss the points where a x is required. Moreover,
having manual tests instead of these automated ones will take huge amount of
time and slow down the CI cycle [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>This paper is organized as follows: Section 2 details the overall system overview.
Section 3 explains deployed facial recognition algorithm for person identi cation
where Section 4 presents test automation framework used for Siemens products
without revealing the inner details. System integration is presented in Section
5, results for a sample project is given in Section 6. Section 7 is the conclusion
part where we summarize our proposal.
2</p>
    </sec>
    <sec id="sec-2">
      <title>System Overview</title>
      <p>Typical continuous integration cycle begins with the check in of the source code
to be tested. The check in of the source code and hence start of automated
test scripts is triggered by a trigger which can be either prede ned, or time
scheduled or even can be done manually by a team member. In the case of
manual trigger by a team member, a question arises, "Should any team member
be able to execute all automated tests?". Traditionally, automated testing meant
testing the end to end execution ow on the user interface level. However, agile
test automation pyramid which is developed by Mike Cohn, suggests that test
automation should be divided into three levels. Unit tests should form the base
of this pyramid. The service level tests form the next layer and nally the user
interface tests form the apex. In this concept, unit and service level tests form the
major part of the test automation strategy. Hence, automated test scripts can
be categorized under di erent test case suites. Furthermore, a test automation
framework might be used for testing di erent products. Since every product has
di erent functionalities, their test case suites can also be di erent. For example,
one product might have cloud connectivity whereas another product has not. In
this case, it doesn't seem plausible to run cloud test scripts on the product which
has no cloud connectivity requirements. Considering a common test automation
framework is used by every team, then giving di erent user rights to di erent
team members seems logical. Here, di erent user rights would determine which
test scripts are allowed to be executed.</p>
      <p>There is also security aspect on the test automation. Currently, test
computers in industrial test environments running automated test scripts are protected
by simple means of user name and password authentication. However, an
attacker may crack username and password in a likely scenario. Hence, forming
an authentication scheme based on biometric features of de ned team members
would undeniably increase overall security of the test environment. Such system
is hard to break in because authentication is based on a biometric feature which
is hard to copy. In this paper, we provide a bio inspired continuous integration
trigger based on face recognition.</p>
      <p>
        It is possible to nd di erent bio inspired identi cation methods in the
literature. Bebis et al. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] showed person identi cation based on ngerprints by using
delaunay triangulation method. Iris recognition emerges as trending biometric
recognition approach, and is becoming a very active research topic in both
research and practical applications [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. For speech based recognition, Reynolds
and Rose [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] successfully utilized Gaussian mixture model in speaker recognition
evaluations. However, all of the mentioned above identi cation methods require
extra hardware such as ngerprint scanner, iris scanner or microphone which are
uncommon for an industrial test automation environment. Since test PCs and
laptops might have cameras which would be su cient for a real time face
recognition application, we decided to choose face recognition based identi cation for
validating team members trying to trigger automated tests. The main idea here
is to recognize team members based on facial features by comparing their face
on test PC's camera to images with corresponding IDs stored in the system. If
the face of a person who tries to trigger automated tests doesn't match with the
one of the stored images, then the user is unknown and automated tests won't
be started. If they match, then a query will be made to a local user database to
get user's access rights and role. According to returned user access rights, user
can start some or all of the tests in the test suite case.
      </p>
      <p>
        In our proposed system, multi task cascaded convolutional networks [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] are
used for face detection while an Inception Resnet [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] is used for ID classi cation.
Every prede ned team member has a corresponding ID and an image stored in
the system. When a team member wants to trigger automated tests in the test
environment, his/her face is tracked via test computer's camera. Multi task
cascaded convolutional networks are employed for detecting whether a human face
is present in front of the camera. After facial detection, facial features compared
with every image stored in the system. For the purpose of face recognition,
Inception Resnet model is trained as a classi er with the inclusion of center loss
[
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. CASIA-Webface [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] dataset has been used for training. If user's face is
matched with one of the stored images, then a query with corresponding user
ID, which asks about given user's role, would be made to a local database. Then,
automated test scripts would be triggered depending on the returned user role.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Face Recognition Algorithm</title>
      <p>
        For the scope of the paper, it is necessary to implement a face recognition
algorithm with a strong real time performance in practice. The application must
try to nd human face in front of a camera than try to match it with the stored
images in the system using deep neural networks. Hence, face detection
algorithm should run smoothly before face recognition. In the literature, there are
various proposals for face detection and face alignment. Viola and Jones [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]
proposes AdaBoost based on Haar-Like features for training cascaded classi ers,
and shown that good performance with real time e ciency is achievable. Zu and
Ramanan [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] proposes deformable part models (DPM) for face recognition with
a good performance overall in expense of computational e ort. Sun et al. [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]
utilize convolutional neural networks for face recognition task. Currently,
stateof-the-art techniques combine convolutional neural networks with deep learning
methods. Yang et al. [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] utilize deep convolutional neural networks whereas Li
et al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] train cascaded convolutional neural networks in order to decrease time
cost.
      </p>
      <p>
        As mentioned in "System Overview" chapter, multi task cascaded deep
convolutional networks are utilized in the scope of the project for face detection and
face alignment without compromising performance. Yandong et al. [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] showed
that it is possible to achieve high accuracy up to 99 percent without
compromising performance by combining convolutional neural networks with supervisory
signal called as center loss. Large pose variations, visual variations of faces such
as occlusions, extreme lightings result decrease in real world application
performance. Face alignment is needed as preprocessing stage before dataset training
for better performance. Hence, multi task cascaded deep convolutional networks
[
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] combined with center loss are implemented for the face alignment. Also,
performance of a recognition algorithm varies with dataset to be trained. In that
regard, training data becomes equivalently signi cant as the core algorithm.
CASIA-Webface [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] dataset has been chosen as training dataset. This training
dataset consists of 494414 images containing 10575 identities. Training model is
based on Inception Resnet architecture and the model is trained as a classi er
combined with center loss.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Test Automation Framework</title>
      <p>Industrial communication is the backbone of modern automation solutions. The
communication networks and products involved allow totally integrated
communication between the widest possible variety of automation components and
devices. And our test automation framework is the name of an entire family
of communications networks and products from Siemens. The various networks
meet the widest possible range of performance and application requirements in
automation engineering.</p>
      <p>Our framework provides solutions for individual customer requirements in
industrial communication. The communication networks and products are tested
by the aforementioned test framework. On this basis, branch speci c
automation solutions can be implemented with comprehensive and highly integrated
communication functions. The test framework simpli es the commissioning of
automation systems regardless of the communication networks and products
used.</p>
      <p>In terms of their performance and range of functions, the communication
networks and products of the framework can be represented in the form of an
automation pyramid. The automation pyramid can be divided into three levels;
eld, cell and management level. The eld level is where process or
communication is handled. For this level, the framework o ers PROFIBUS DP and the
AS-Interface. At the cell level, the acquired process data is distributed to the
various automation systems or PCs for operator control and monitoring. In this
level, the communication networks Industrial Ethernet and PROFIBUS are used
by framework. Higher-level management functions are handled, process data is
saved, processed further, or used for analysis by the management level. For such
tasks, Industrial Ethernet is suitable as the communication network.</p>
      <p>Furthermore, our test framework includes many other interfaces such as OPC
- which is a standard interface to communicate between numerous data
sources, including devices on a factory oor, laboratory equipment, test system
xtures and databases. Although, our test automation framework covers variety
of projects and therefore test case suites, the one of the most commonly tested
functionality is OPC standards and speci cations. The OPC Foundation de ned
a set of standard interfaces that allow any client to access any OPC-compatible
device using a protocol now referred to as Classic OPC (OPC COM). This
protocol utilizes the Microsoft based COM/DCOM technology to provide standard
speci cations for data access (DA), historical data access (HDA) and alarms
and events (AE). Although basing a protocol on this technology made sense
in the 1990s, Classic OPC has several limitations because of this reliance on
the Microsoft Windows platform, in the form of security issues and platform
dependency.</p>
      <p>OPC Uni ed Architecture (UA) is a new communication technology standard
which was rst released by the OPC Foundation in 2006 as an improvement upon
its predecessor, Classic OPC. OPC UA includes all of the functionality found
in Classic OPC. This is done by bringing together the di erent speci cations of
Classic OPC into a single entry point to a system o ering current data access,
alarms and events, combined with the history of both. Furthermore, OPC UA
is based on a cross-platform, business-optimized Service-Oriented Architecture
(SOA), which expands on the security and functionality found in Classic OPC,
instead of the Microsoft-based COM/DCOM technology. OPC UA supports two
protocols: a binary protocol that employs minimal resources, allowing for easy
enablement through a rewall; and a Web Service protocol (SOAP) which uses
standard HTTP/HTTPS ports. Because of the bene ts of this new protocol, an
increasing trend of industrial applications have adopted the UA protocol both
in the traditional OPC-centric industrial automation space and emerging areas,
such as energy.</p>
      <p>Test automation triggering operation has been used for OPC interfaces.
Along with other test cases, OPC part has been divided to three roles as admin,
diagnose and standard for testing team to check COM, OPC UA, OPC DA,
Alarms and Events (AE), Historical Data Access (HDA), Pro net, and
Ethernet. In the conclusion section, exemplary results for a continuous integration
cycle of an OPC project are presented.
5</p>
    </sec>
    <sec id="sec-5">
      <title>System Integration</title>
      <p>
        Figure 1 depicts overall system schematic. Camera represents test PC's
camera and takes test user's facial properties as input and sends them to face
recognizer. Face recognizer algorithm is implemented with Python script
language. Python language is chosen as the development language because it is
very lightweight, easy to learn and has a good community support.
Furthermore, Python SDK has open source support for image processing, machine
intelligence, scienti c computation libraries such as OpenCV, Pillow,
TensorFlow, SciPy. Hence, face recognizer script has dependencies on aforementioned
libraries. The script runs on test PC and takes facial properties from camera
view via OpenCV library functions. Pillow and SciPy library functions such as
resizing, cropping, convolution, ltering are used for processing captured
images and implementing multi task cascaded convolutional network algorithm.
The core concept at the heart of face recognition algorithm is training Inception
Resnet model. Parkhi et al. [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] showed that training model as a classi er yields
a much better performance. Therefore, we trained Inception Resnet model as a
classi er considering the need for fast and e cient face recognition algorithm.
Tensor ow library is used in classi er training. Also, CUDA extension is enabled
while using Tensor ow considering exhaustive computational e ort for training
deep neural networks.
      </p>
      <p>After test user's successful identi cation, an SQL query is made to the
database for user's rights and role. The database is SQL based and it holds
user ID, name, role, rights elds in the corresponding table. In this concept,
di erent user roles such as admin, diagnose, standard, remote access, OPC UA,
DA, COM, alarms and events (AE), historical data access (HDA), Pro net,
Ethernet, S7-communication can run subset of test case suites in our test automation
framework. The aforementioned test automation framework is running on .NET
framework and it enables automated testing of entire SIMATIC family of
industrial communication networks and products from Siemens. Therefore, this
common automated test framework consists of di erent test case suites such as
OPC, S7 communication, Pro net tests. And with our proposed solution,
different project team members can trigger automated tests in their continuous
integration cycle speci c to them based on facial recognition. The proposed
system also addresses security concerns in continuous development by suggesting a
bio inspired continuous development trigger.
6</p>
    </sec>
    <sec id="sec-6">
      <title>Person Based Automated Test Results</title>
      <p>In this section, we run our proposed framework for an exemplary test scenarios.
An OPC based product is chosen as example product under test, because of OPC'
s wide popularity and trend towards it in the industrial automation community.
We de ned 6 user roles namely "Remote Access", "View Controller", "Server
Controller", "Alarm Controller", "Diagnostic", and "Admin".</p>
      <p>All of the roles are derived from Admin role. Admin has all rights for running
each test cases. Remote Access role is created for only running the remote test
cases which are under Pro bus and Ethernet. View Controller role is created
for View Controller people who are controlling OPC Uni ed Architecture (UA),
Data Access (DA), and Alarm views in this system. And they will be responsible
people for running view related test cases. Server Controller role is created for
running server based test cases. These test cases are related with Classic OPC
(OPC COM) and OPC Uni ed Architecture (OPC UA). Alarm Controller role is
created for running Alarm test cases. Diagnostic role is created for only running
the Diagnostic View test cases which are de ned under Data Access (DA) and
Historical Data Access (HDA). Then, we assigned these user roles to di erent
test users with user name, user ID and access rights. Hence, our local database
and users table is designed according to our test users information. If the user is
veri ed by facial recognition, then an SQL query is made to this database, and
corresponding test user role is returned. According to returned user role, test
user can only run subset of all test scripts if any user role is assigned to veri ed
facial recognition. Figure 2 shows which test cases can be run by the de ned
user roles.
In this article, we proposed a person based continuous integration system which
is triggered by bio inspired facial authentication for industrial test processes.
Although, any real time person identi cation technique can be used, face
recognition seems to be most suitable choice based on current industrial test
environments. Siemens speci c test automation framework is combined with face
recognition implementation to address automated test security concerns along
with possibility to run person based test cases. We demonstrated exemplary
automated test results in a single continuous integration cycle with di erent users
for a chosen OPC based project.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Bebis</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Deaconu</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Georgiopoulos</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Fingerprint identi cation using delaunay triangulation</article-title>
          .
          <source>In: Information Intelligence and Systems</source>
          ,
          <year>1999</year>
          . Proceedings. 1999 International Conference on. pp.
          <volume>452</volume>
          {
          <fpage>459</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Highsmith</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fowler</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>The agile manifesto</article-title>
          .
          <source>Software Development Magazine</source>
          <volume>9</volume>
          (
          <issue>8</issue>
          ),
          <volume>29</volume>
          {
          <fpage>30</fpage>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Hukkanen</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Adopting Continuous Integration - A Case Study</surname>
          </string-name>
          .
          <source>Master's thesis</source>
          , Aalto University (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Jez</given-names>
            <surname>Humble</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.F.</surname>
          </string-name>
          :
          <source>Continuous Delivery: Reliable Software Releases through Build</source>
          , Test, and
          <string-name>
            <given-names>Deployment</given-names>
            <surname>Automation</surname>
          </string-name>
          .
          <string-name>
            <surname>Addison-Wesley Professional</surname>
          </string-name>
          , New Jersey, NJ,
          <year>1st</year>
          . edn. (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lin</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shen</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brandt</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hua</surname>
          </string-name>
          , G.:
          <article-title>A convolutional neural network cascade for face detection</article-title>
          .
          <source>In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition</source>
          . pp.
          <volume>5325</volume>
          {
          <issue>5334</issue>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Ma</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tan</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhang</surname>
          </string-name>
          , D.:
          <article-title>Personal identi cation based on iris texture analysis</article-title>
          .
          <source>IEEE transactions on pattern analysis and machine intelligence</source>
          <volume>25</volume>
          (
          <issue>12</issue>
          ),
          <volume>1519</volume>
          {
          <fpage>1533</fpage>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Neely</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stolt</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Continuous delivery? easy! just change everything (well, maybe it is not that easy)</article-title>
          .
          <source>In: Proceedings of the 2013 Agile Conference</source>
          . pp.
          <volume>121</volume>
          {
          <fpage>128</fpage>
          . AGILE '13, IEEE Computer Society, Washington, DC, USA (
          <year>2013</year>
          ). https://doi.org/10.1109/AGILE.
          <year>2013</year>
          .
          <volume>17</volume>
          , http://dx.doi.org/10.1109/AGILE.
          <year>2013</year>
          .17
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Parkhi</surname>
            ,
            <given-names>O.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vedaldi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zisserman</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , et al.:
          <article-title>Deep face recognition</article-title>
          .
          <source>In: BMVC</source>
          . vol.
          <volume>1</volume>
          , p.
          <volume>6</volume>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Reynolds</surname>
            ,
            <given-names>D.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rose</surname>
            ,
            <given-names>R.C.</given-names>
          </string-name>
          :
          <article-title>Robust text-independent speaker identi cation using gaussian mixture speaker models</article-title>
          .
          <source>IEEE transactions on speech and audio processing 3</source>
          (
          <issue>1</issue>
          ),
          <volume>72</volume>
          {
          <fpage>83</fpage>
          (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Sun</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tang</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          :
          <article-title>Deep learning face representation by joint identi cation-veri cation</article-title>
          .
          <source>In: Advances in neural information processing systems</source>
          . pp.
          <year>1988</year>
          {
          <year>1996</year>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Szegedy</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          , Io e, S.,
          <string-name>
            <surname>Vanhoucke</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alemi</surname>
            ,
            <given-names>A.A.</given-names>
          </string-name>
          :
          <article-title>Inception-v4, inception-resnet and the impact of residual connections on learning</article-title>
          .
          <source>In: AAAI</source>
          . vol.
          <volume>4</volume>
          , p.
          <volume>12</volume>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Viola</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jones</surname>
            ,
            <given-names>M.J.:</given-names>
          </string-name>
          <article-title>Robust real-time face detection</article-title>
          .
          <source>International journal of computer vision 57(2)</source>
          ,
          <volume>137</volume>
          {
          <fpage>154</fpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Wen</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhang</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Qiao</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>A discriminative feature learning approach for deep face recognition</article-title>
          .
          <source>In: European Conference on Computer Vision</source>
          . pp.
          <volume>499</volume>
          {
          <fpage>515</fpage>
          . Springer (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Yang</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Luo</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Loy</surname>
            ,
            <given-names>C.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tang</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          :
          <article-title>From facial parts responses to face detection: A deep learning approach</article-title>
          .
          <source>In: Proceedings of the IEEE International Conference on Computer Vision</source>
          . pp.
          <volume>3676</volume>
          {
          <issue>3684</issue>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Yi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lei</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liao</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>S.Z.</given-names>
          </string-name>
          :
          <article-title>Learning face representation from scratch</article-title>
          .
          <source>arXiv preprint arXiv:1411.7923</source>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Zhang</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhang</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Qiao</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Joint face detection and alignment using multitask cascaded convolutional networks</article-title>
          .
          <source>IEEE Signal Processing Letters</source>
          <volume>23</volume>
          (
          <issue>10</issue>
          ),
          <volume>1499</volume>
          {
          <fpage>1503</fpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Zhu</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ramanan</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Face detection, pose estimation, and landmark localization in the wild</article-title>
          .
          <source>In: Computer Vision and Pattern Recognition (CVPR)</source>
          ,
          <source>2012 IEEE Conference on</source>
          . pp.
          <volume>2879</volume>
          {
          <fpage>2886</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>