Serveur d'exploration sur l'OCR

Attention, ce site est en cours de développement !
Attention, site généré par des moyens informatiques à partir de corpus bruts.
Les informations ne sont donc pas validées.

Basic Test Framework for the Evaluation of Text Line Segmentation and Text Parameter Extraction

Identifieur interne : 000195 ( Pmc/Curation ); précédent : 000194; suivant : 000196

Basic Test Framework for the Evaluation of Text Line Segmentation and Text Parameter Extraction

Auteurs : Darko Brodi ; Dragan R. Milivojevi ; Zoran Milivojevi

Source :

RBID : PMC:3292172

Abstract

Text line segmentation is an essential stage in off-line optical character recognition (OCR) systems. It is a key because inaccurately segmented text lines will lead to OCR failure. Text line segmentation of handwritten documents is a complex and diverse problem, complicated by the nature of handwriting. Hence, text line segmentation is a leading challenge in handwritten document image processing. Due to inconsistencies in measurement and evaluation of text segmentation algorithm quality, some basic set of measurement methods is required. Currently, there is no commonly accepted one and all algorithm evaluation is custom oriented. In this paper, a basic test framework for the evaluation of text feature extraction algorithms is proposed. This test framework consists of a few experiments primarily linked to text line segmentation, skew rate and reference text line evaluation. Although they are mutually independent, the results obtained are strongly cross linked. In the end, its suitability for different types of letters and languages as well as its adaptability are its main advantages. Thus, the paper presents an efficient evaluation method for text analysis algorithms.


Url:
DOI: 10.3390/s100505263
PubMed: 22399932
PubMed Central: 3292172

Links toward previous steps (curation, corpus...)


Links to Exploration step

PMC:3292172

Le document en format XML

<record>
<TEI>
<teiHeader>
<fileDesc>
<titleStmt>
<title xml:lang="en">Basic Test Framework for the Evaluation of Text Line Segmentation and Text Parameter Extraction</title>
<author>
<name sortKey="Brodi, Darko" sort="Brodi, Darko" uniqKey="Brodi D" first="Darko" last="Brodi">Darko Brodi</name>
<affiliation>
<nlm:aff id="af1-sensors-10-05263"> Technical Faculty Bor, V.J. 12, University of Belgrade, 19210 Bor, Serbia; E-Mail:
<email>dbrodic@tf.bor.ac.rs</email>
</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Milivojevi, Dragan R" sort="Milivojevi, Dragan R" uniqKey="Milivojevi D" first="Dragan R." last="Milivojevi">Dragan R. Milivojevi</name>
<affiliation>
<nlm:aff id="af2-sensors-10-05263"> Department of Informatics, Zeleni Bulevar 35, Mining and Metallurgy Institute, 19210 Bor, Serbia; E-Mail:
<email>dragan.milivojevic@irmbor.co.rs</email>
</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Milivojevi, Zoran" sort="Milivojevi, Zoran" uniqKey="Milivojevi Z" first="Zoran" last="Milivojevi">Zoran Milivojevi</name>
<affiliation>
<nlm:aff id="af3-sensors-10-05263"> Technical College Niš, Aleksandra Medvedeva 20, 18000 Niš, Serbia; E-Mail:
<email>zoran.milivojevic@vtsnis.edu.rs</email>
</nlm:aff>
</affiliation>
</author>
</titleStmt>
<publicationStmt>
<idno type="wicri:source">PMC</idno>
<idno type="pmid">22399932</idno>
<idno type="pmc">3292172</idno>
<idno type="url">http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3292172</idno>
<idno type="RBID">PMC:3292172</idno>
<idno type="doi">10.3390/s100505263</idno>
<date when="2010">2010</date>
<idno type="wicri:Area/Pmc/Corpus">000195</idno>
<idno type="wicri:Area/Pmc/Curation">000195</idno>
</publicationStmt>
<sourceDesc>
<biblStruct>
<analytic>
<title xml:lang="en" level="a" type="main">Basic Test Framework for the Evaluation of Text Line Segmentation and Text Parameter Extraction</title>
<author>
<name sortKey="Brodi, Darko" sort="Brodi, Darko" uniqKey="Brodi D" first="Darko" last="Brodi">Darko Brodi</name>
<affiliation>
<nlm:aff id="af1-sensors-10-05263"> Technical Faculty Bor, V.J. 12, University of Belgrade, 19210 Bor, Serbia; E-Mail:
<email>dbrodic@tf.bor.ac.rs</email>
</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Milivojevi, Dragan R" sort="Milivojevi, Dragan R" uniqKey="Milivojevi D" first="Dragan R." last="Milivojevi">Dragan R. Milivojevi</name>
<affiliation>
<nlm:aff id="af2-sensors-10-05263"> Department of Informatics, Zeleni Bulevar 35, Mining and Metallurgy Institute, 19210 Bor, Serbia; E-Mail:
<email>dragan.milivojevic@irmbor.co.rs</email>
</nlm:aff>
</affiliation>
</author>
<author>
<name sortKey="Milivojevi, Zoran" sort="Milivojevi, Zoran" uniqKey="Milivojevi Z" first="Zoran" last="Milivojevi">Zoran Milivojevi</name>
<affiliation>
<nlm:aff id="af3-sensors-10-05263"> Technical College Niš, Aleksandra Medvedeva 20, 18000 Niš, Serbia; E-Mail:
<email>zoran.milivojevic@vtsnis.edu.rs</email>
</nlm:aff>
</affiliation>
</author>
</analytic>
<series>
<title level="j">Sensors (Basel, Switzerland)</title>
<idno type="eISSN">1424-8220</idno>
<imprint>
<date when="2010">2010</date>
</imprint>
</series>
</biblStruct>
</sourceDesc>
</fileDesc>
<profileDesc>
<textClass></textClass>
</profileDesc>
</teiHeader>
<front>
<div type="abstract" xml:lang="en">
<p>Text line segmentation is an essential stage in off-line optical character recognition (OCR) systems. It is a key because inaccurately segmented text lines will lead to OCR failure. Text line segmentation of handwritten documents is a complex and diverse problem, complicated by the nature of handwriting. Hence, text line segmentation is a leading challenge in handwritten document image processing. Due to inconsistencies in measurement and evaluation of text segmentation algorithm quality, some basic set of measurement methods is required. Currently, there is no commonly accepted one and all algorithm evaluation is custom oriented. In this paper, a basic test framework for the evaluation of text feature extraction algorithms is proposed. This test framework consists of a few experiments primarily linked to text line segmentation, skew rate and reference text line evaluation. Although they are mutually independent, the results obtained are strongly cross linked. In the end, its suitability for different types of letters and languages as well as its adaptability are its main advantages. Thus, the paper presents an efficient evaluation method for text analysis algorithms.</p>
</div>
</front>
<back>
<div1 type="bibliography">
<listBibl>
<biblStruct>
<analytic>
<author>
<name sortKey="Basu, S" uniqKey="Basu S">S. Basu</name>
</author>
<author>
<name sortKey="Chaudhuri, C" uniqKey="Chaudhuri C">C. Chaudhuri</name>
</author>
<author>
<name sortKey="Kundu, M" uniqKey="Kundu M">M. Kundu</name>
</author>
<author>
<name sortKey="Nasipuri, M" uniqKey="Nasipuri M">M. Nasipuri</name>
</author>
<author>
<name sortKey="Basu, D K" uniqKey="Basu D">D.K. Basu</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Amin, A" uniqKey="Amin A">A. Amin</name>
</author>
<author>
<name sortKey="Wu, S" uniqKey="Wu S">S. Wu</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Likforman Sulem, L" uniqKey="Likforman Sulem L">L. Likforman Sulem</name>
</author>
<author>
<name sortKey="Zahour, A" uniqKey="Zahour A">A. Zahour</name>
</author>
<author>
<name sortKey="Taconet, B" uniqKey="Taconet B">B. Taconet</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Razak, Z" uniqKey="Razak Z">Z. Razak</name>
</author>
<author>
<name sortKey="Zulkiflee, K" uniqKey="Zulkiflee K">K. Zulkiflee</name>
</author>
<author>
<name sortKey="Idris, M Y I" uniqKey="Idris M">M.Y.I. Idris</name>
</author>
<author>
<name sortKey="Tamil, E M" uniqKey="Tamil E">E.M. Tamil</name>
</author>
<author>
<name sortKey="Noor, M N M" uniqKey="Noor M">M.N.M. Noor</name>
</author>
<author>
<name sortKey="Salleh, R" uniqKey="Salleh R">R. Salleh</name>
</author>
<author>
<name sortKey="Yaakob, M" uniqKey="Yaakob M">M. Yaakob</name>
</author>
<author>
<name sortKey="Yusof, Z M" uniqKey="Yusof Z">Z.M. Yusof</name>
</author>
<author>
<name sortKey="Yaacob, M" uniqKey="Yaacob M">M. Yaacob</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Gonzalez, R C" uniqKey="Gonzalez R">R.C. Gonzalez</name>
</author>
<author>
<name sortKey="Woods, R E" uniqKey="Woods R">R.E. Woods</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Otsu, N" uniqKey="Otsu N">N. Otsu</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Brodi, D" uniqKey="Brodi D">D. Brodić</name>
</author>
<author>
<name sortKey="Milivojevi, Z" uniqKey="Milivojevi Z">Z. Milivojević</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Bolstad, W M" uniqKey="Bolstad W">W.M. Bolstad</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Terell, G R" uniqKey="Terell G">G.R. Terell</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Brodi, D" uniqKey="Brodi D">D. Brodić</name>
</author>
<author>
<name sortKey="Milivojevi, Z" uniqKey="Milivojevi Z">Z. Milivojević</name>
</author>
</analytic>
</biblStruct>
</listBibl>
</div1>
</back>
</TEI>
<pmc article-type="research-article">
<pmc-dir>properties open_access</pmc-dir>
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">Sensors (Basel)</journal-id>
<journal-title-group>
<journal-title>Sensors (Basel, Switzerland)</journal-title>
</journal-title-group>
<issn pub-type="epub">1424-8220</issn>
<publisher>
<publisher-name>Molecular Diversity Preservation International (MDPI)</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="pmid">22399932</article-id>
<article-id pub-id-type="pmc">3292172</article-id>
<article-id pub-id-type="doi">10.3390/s100505263</article-id>
<article-id pub-id-type="publisher-id">sensors-10-05263</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Basic Test Framework for the Evaluation of Text Line Segmentation and Text Parameter Extraction</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Brodić</surname>
<given-names>Darko</given-names>
</name>
<xref ref-type="aff" rid="af1-sensors-10-05263">
<sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c1-sensors-10-05263">*</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Milivojević</surname>
<given-names>Dragan R.</given-names>
</name>
<xref ref-type="aff" rid="af2-sensors-10-05263">
<sup>2</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Milivojević</surname>
<given-names>Zoran</given-names>
</name>
<xref ref-type="aff" rid="af3-sensors-10-05263">
<sup>3</sup>
</xref>
</contrib>
</contrib-group>
<aff id="af1-sensors-10-05263">
<label>1</label>
Technical Faculty Bor, V.J. 12, University of Belgrade, 19210 Bor, Serbia; E-Mail:
<email>dbrodic@tf.bor.ac.rs</email>
</aff>
<aff id="af2-sensors-10-05263">
<label>2</label>
Department of Informatics, Zeleni Bulevar 35, Mining and Metallurgy Institute, 19210 Bor, Serbia; E-Mail:
<email>dragan.milivojevic@irmbor.co.rs</email>
</aff>
<aff id="af3-sensors-10-05263">
<label>3</label>
Technical College Niš, Aleksandra Medvedeva 20, 18000 Niš, Serbia; E-Mail:
<email>zoran.milivojevic@vtsnis.edu.rs</email>
</aff>
<author-notes>
<corresp id="c1-sensors-10-05263">
<label>*</label>
Author to whom correspondence should be addressed. E-mail:
<email>medijum@verat.net</email>
; Tel.: +381-30-424-555; Fax: +381-30-421-078.</corresp>
</author-notes>
<pub-date pub-type="collection">
<year>2010</year>
</pub-date>
<pub-date pub-type="epub">
<day>25</day>
<month>5</month>
<year>2010</year>
</pub-date>
<volume>10</volume>
<issue>5</issue>
<fpage>5263</fpage>
<lpage>5279</lpage>
<history>
<date date-type="received">
<day>9</day>
<month>4</month>
<year>2010</year>
</date>
<date date-type="rev-recd">
<day>13</day>
<month>5</month>
<year>2010</year>
</date>
<date date-type="accepted">
<day>14</day>
<month>5</month>
<year>2010</year>
</date>
</history>
<permissions>
<copyright-statement>© 2010 by the authors; licensee MDPI, Basel, Switzerland.</copyright-statement>
<copyright-year>2010</copyright-year>
<license>
<license-p>This article is an Open Access article distributed under the terms and conditions of the Creative Commons Attribution license (
<ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/3.0/">http://creativecommons.org/licenses/by/3.0/</ext-link>
).</license-p>
</license>
</permissions>
<abstract>
<p>Text line segmentation is an essential stage in off-line optical character recognition (OCR) systems. It is a key because inaccurately segmented text lines will lead to OCR failure. Text line segmentation of handwritten documents is a complex and diverse problem, complicated by the nature of handwriting. Hence, text line segmentation is a leading challenge in handwritten document image processing. Due to inconsistencies in measurement and evaluation of text segmentation algorithm quality, some basic set of measurement methods is required. Currently, there is no commonly accepted one and all algorithm evaluation is custom oriented. In this paper, a basic test framework for the evaluation of text feature extraction algorithms is proposed. This test framework consists of a few experiments primarily linked to text line segmentation, skew rate and reference text line evaluation. Although they are mutually independent, the results obtained are strongly cross linked. In the end, its suitability for different types of letters and languages as well as its adaptability are its main advantages. Thus, the paper presents an efficient evaluation method for text analysis algorithms.</p>
</abstract>
<kwd-group>
<kwd>OCR</kwd>
<kwd>document engineering</kwd>
<kwd>text line segmentation</kwd>
<kwd>text features</kwd>
<kwd>testing</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec>
<label>1.</label>
<title>Introduction</title>
<p>Printed text is defined by strong shape regularity. Its text lines have similar orientation and its skewness is also similar or equal, hence text orientation on same page is not variable. Descenders and ascenders from neighbor text lines are mostly disjoint and consequently, they do not interfere. Accordingly, text distances between lines are big enough to regularly split up text lines. Word in text lines are formed regularly, with similar distances and inter word spacing is decent.</p>
<p>Handwritten text is fully or partially cursive text. It tends to be multi-oriented and skewed. Text lines in handwritten documents are primarily curvlinear and close to each other. Descenders and ascenders from neighbor text lines are occasionally mixed up. Text distances between lines are close to each other, hence text lines run in to each other. Words in text lines are not formed regularly, so their distance is different. On the other hand, like printed text, handwritten text inter-word spacing is tolerable. Overall the appearance of skewed lines with different orientation and text lines close to each other make handwritten text less readable.</p>
<p>From the above, printed and handwritten text are characterized by their feature diversity. Hence, their text line segmentation as well as parameter extraction procedure can be quite dissimilar, although algorithms should fulfill these tasks for printed as well as for handwritten text.</p>
<p>Prior to text parameter extraction, text line segmentation should be done. It is an important step in document image processing. Although some text line detection techniques are successful in printed documents, processing of handwritten documents has remained a key problem in OCR [
<xref ref-type="bibr" rid="b1-sensors-10-05263">1</xref>
,
<xref ref-type="bibr" rid="b2-sensors-10-05263">2</xref>
]. Most text line segmentation methods are based on the assumptions that the distance between neighboring text lines is significant and that text lines are reasonably straight. However, these assumptions are not always valid for handwritten documents. Hence, text line segmentation is a leading challenge in document image analysis [
<xref ref-type="bibr" rid="b3-sensors-10-05263">3</xref>
].</p>
<p>Upon completion of this process, the primary goal of OCR is the extraction of text parameters from optically scanned documents, so reference text line and skew rate identification is mandatory. Their validity is of major importance for any OCR process. There are various reasons for the appearance of multi-skewed lines in text, but two of them are the most common [
<xref ref-type="bibr" rid="b1-sensors-10-05263">1</xref>
]: Firstly, some degree of misalignment of the document during the scanning process is unavoidable, but since all printed text lines in the scanned document are uniformly skewed, this way the reference text lines are almost parallel. Secondly, text lines in an original handwritten document are skewed differently due to specific individual handwriting habits, so handwriting text lines present different orientations,
<italic>i.e.</italic>
, they are multi-skewed. To enhance the ability of document analysis system, we need a robust algorithm for text line segmentation as well as for parameter extraction.</p>
<p>Many proposed algorithms have been evaluated by quite different test methods. In fact, these evaluation procedures are usually based on use of a custom text database as a test sample. Accordingly, testing result interpretation is quite dissimilar [
<xref ref-type="bibr" rid="b4-sensors-10-05263">4</xref>
]. Hence, the establishment of the test framework for the evaluation of the document image processing algorithms is of great importance. This is precisely the task of this paper, and a basic method framework for the evaluation of the text line segmentation and text parameters extraction is proposed.</p>
<p>The paper is organized as follows: in Section 2 the test framework is presented. It is divided into two test groups. Each of them is completely described. Section 3 contains an examination and evaluation of the test framework procedure using an example of the specific algorithm. A Gaussian isotropic kernel is used as the basic test algorithm. Results are analyzed, examined and discussed. Conclusions are given in Section 4.</p>
</sec>
<sec>
<label>2.</label>
<title>Evaluation Test Framework</title>
<p>The evaluation test framework for the text parameter extraction algorithm consists of a few text experiments. They are divided into two distinct groups:
<list list-type="order">
<list-item>
<p>Text line segmentation experiments,</p>
</list-item>
<list-item>
<p>Reference line and skew rate experiments.</p>
</list-item>
</list>
</p>
<p>Text line segmentation experiments are related to the algorithm’s ability to achieve segmentation of the text lines. Hence, these experiments are based on various multi-line sample texts. They incorporate the following tests:
<list list-type="bullet">
<list-item>
<p>Multi-line text segmentation test,</p>
</list-item>
<list-item>
<p>Multi-line waved text segmentation test,</p>
</list-item>
<list-item>
<p>Multi-line fractured text segmentation test.</p>
</list-item>
</list>
</p>
<p>In contrast, the reference line and skew rate tests evaluate the algorithm’s competence for text line tracking. Therefore, they are based on single line sample texts as a reference. They include the following tests:
<list list-type="bullet">
<list-item>
<p>Single line skew rate test,</p>
</list-item>
<list-item>
<p>Single line waved text test,</p>
</list-item>
<list-item>
<p>Single line fractured text test.</p>
</list-item>
</list>
</p>
<p>A schematic diagram of the integral framework test procedure is shown in
<xref ref-type="fig" rid="f1-sensors-10-05263">Figure 1</xref>
. According to everything presented above, decision making is required at the end of the test procedure. Firstly, decision making is mandatory for the multi-line text segmentation experiments process. As a result of this decision, the sub-set values of the algorithm parameters are obtained. These parameter values are used as an optimization starting point. Further, results from single line text experiments are evaluated. These results narrow the algorithm optimization choice by creating its own parameters value sub-set. Although the test experiments are quite diverse, their results are inter-related. Hence, the last decision includes a new parameter sub-set values taking into account the all previously obtained parameter sub-set values. This final result represents the optimized parameter values.</p>
<sec>
<label>2.1.</label>
<title>Document text image</title>
<p>At the beginning of the test process, an original image is used. Assume that original image is continual function
<italic>f</italic>
(
<italic>x</italic>
,
<italic>y</italic>
). A document text image is obtained as a product of the original image scanning. Hence, the values of the coordinates (
<italic>x</italic>
,
<italic>y</italic>
) become discrete quantities. Now, the document text image is a digital text image represented by a matrix
<bold>D</bold>
with
<italic>M</italic>
rows,
<italic>N</italic>
columns, and intensity with
<italic>L</italic>
discrete levels of gray.
<italic>L</italic>
is the integer number from the set {0,…,255}. Hence, the intensity of matrix
<bold>D</bold>
is represented as [
<xref ref-type="bibr" rid="b5-sensors-10-05263">5</xref>
]:
<disp-formula id="FD1">
<label>(1)</label>
<mml:math id="M1">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi>f</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
where the origin of the function
<italic>f</italic>
(
<italic>x</italic>
,
<italic>y</italic>
) is point (
<italic>x</italic>
,
<italic>y</italic>
) = (0, 0), while the origin of the matrix
<bold>D</bold>
is (
<italic>r</italic>
,
<italic>c</italic>
) = (1, 1). Hence, row
<italic>r</italic>
∈ {1,…,
<italic>M</italic>
} replaces
<italic>x</italic>
∈ {0,…,
<italic>M</italic>
–1} and column
<italic>c</italic>
∈ {1,…,
<italic>N</italic>
} replaces
<italic>y</italic>
∈ {0,…,
<italic>N</italic>
–1}.</p>
<p>After applying intensity segmentation with binarization, the intensity function is converted into a binary intensity function given by:
<disp-formula id="FD2">
<label>(2)</label>
<mml:math id="M2">
<mml:mrow>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi mathvariant="italic">bin</mml:mi>
</mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo></mml:mo>
<mml:mi mathvariant="italic">for</mml:mi>
<mml:mo></mml:mo>
<mml:mi>D</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi mathvariant="italic">th</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo></mml:mo>
<mml:mi mathvariant="italic">for</mml:mi>
<mml:mo></mml:mo>
<mml:mi>D</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo><</mml:mo>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi mathvariant="italic">th</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
where
<italic>D
<sub>th</sub>
</italic>
is given by the Otsu algorithm [
<xref ref-type="bibr" rid="b6-sensors-10-05263">6</xref>
]. It represents a threshold sensitivity decision value.</p>
<p>Now, extracted text lines are represented as a digitized document image by matrix
<bold>X</bold>
featuring
<italic>M</italic>
rows by
<italic>N</italic>
columns. Currently, the document text image is represented as a black and white image. It consists of the only black and white pixels. Each character or word consists of the only black pixels. Each pixel
<bold>X</bold>
<italic>
<sub>i,j</sub>
</italic>
,
<italic>i.e.</italic>
,
<bold>X</bold>
(
<italic>i, j</italic>
) is represented by the number of coordinate pairs such as:
<disp-formula id="FD3">
<label>(3)</label>
<mml:math id="M3">
<mml:mrow>
<mml:mi mathvariant="bold">X</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo></mml:mo>
<mml:mo>{</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>255</mml:mn>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
where
<italic>i</italic>
= 1,…,
<italic>M</italic>
,
<italic>j</italic>
= 1,…,
<italic>N</italic>
of matrix
<bold>X</bold>
[
<xref ref-type="bibr" rid="b5-sensors-10-05263">5</xref>
]. In addition, value 0 represents black pixels, while value 1 from (2) converted in number 255 represents white pixels. This circumstance is shown by the document text image fragment in
<xref ref-type="fig" rid="f2-sensors-10-05263">Figure 2</xref>
.</p>
</sec>
<sec>
<label>2.2.</label>
<title>Test procedure</title>
<sec>
<label>2.2.1.</label>
<title>Multi-line text segmentation experiment</title>
<p>Algorithm quality examination consists of few text experiments representing the test procedure. In the first group of the experiments, text line segmentation quality is examined. These tests are significant because they are a prerequisite for obtaining the other text parameters. If segmentation experiment fails, then the examination of other features will be meaningless. Hence, its importance is critical. For this purpose, as the first experiment, a multi line text is used. Sample multi-line text with its skew angle parameter
<italic>α</italic>
is shown in
<xref ref-type="fig" rid="f3-sensors-10-05263">Figure 3</xref>
.</p>
<p>A number of existing text objects in a multi-line text image relate to the success of text segmentation. Hence, the less objects the better segmentation process, except the number may not be less than the number of text lines. As a quality measure, the root mean square error
<italic>RMSE
<sub>seg</sub>
</italic>
has been used. It is calculated as [
<xref ref-type="bibr" rid="b7-sensors-10-05263">7</xref>
<xref ref-type="bibr" rid="b9-sensors-10-05263">9</xref>
]:
<disp-formula id="FD4">
<label>(4)</label>
<mml:math id="M4">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">RMSE</mml:mi>
<mml:mi mathvariant="italic">seg</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>P</mml:mi>
</mml:mfrac>
<mml:munderover>
<mml:mo></mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>P</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>O</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="italic">ref</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>O</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="italic">est</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:math>
</disp-formula>
where
<italic>k</italic>
= 1,…,
<italic>P</italic>
is the number of examined text samples,
<italic>O
<sub>k,ref</sub>
</italic>
is the number of referent objects in text,
<italic>i.e.</italic>
, number of text lines, and
<italic>O
<sub>k,est</sub>
</italic>
is the number of objects obtained in the text by the applied algorithm.</p>
</sec>
<sec>
<label>2.2.2.</label>
<title>Multi-line waved text segmentation experiment</title>
<p>The second text line segmentation experiment is a multi-line curved text one. Sample text is formed as a group of text lines using a curved reference line for its basis. The reference line is defined by the parameter
<italic>ɛ</italic>
=
<italic>h/l</italic>
. Typically,
<italic>ɛ</italic>
is used from the set {1/8, 1/6, 1/4, 1/3, …}. A sample multi-line curved text for the experiment is shown in
<xref ref-type="fig" rid="f4-sensors-10-05263">Figure 4</xref>
.</p>
<p>Like in the previous segmentation test, the number of existing text objects after the algorithm is applied relates to the text segmentation quality. Again, as a quality measure, the root mean square error
<italic>RMSE
<sub>seg,wav</sub>
</italic>
has been used. It is calculated as [
<xref ref-type="bibr" rid="b7-sensors-10-05263">7</xref>
<xref ref-type="bibr" rid="b9-sensors-10-05263">9</xref>
]:
<disp-formula id="FD5">
<label>(5)</label>
<mml:math id="M5">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">RMSE</mml:mi>
<mml:mrow>
<mml:mi mathvariant="italic">seg</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="italic">wav</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>R</mml:mi>
</mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:munderover>
<mml:mo></mml:mo>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>R</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>O</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="italic">ref</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>O</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="italic">est</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:math>
</disp-formula>
where
<italic>l</italic>
= 1,…,
<italic>R</italic>
is the number of examined text samples,
<italic>O
<sub>l,ref</sub>
</italic>
is the number of referent objects in text,
<italic>i.e.</italic>
, number of text lines, and
<italic>O
<sub>l,est</sub>
</italic>
is the number of objects obtained in the text by the applied algorithm.</p>
</sec>
<sec>
<label>2.2.3.</label>
<title>Multi-line fractured text segmentation experiment</title>
<p>The last experiment in the first test group is a multi-line fractured text segmentation experiment. The sample text for this experiment is formed by using a reference fractured line as a basis. This fractured text reference line is defined by the slope angle
<italic>ϕ</italic>
, as a parameter. Typically,
<italic>ϕ</italic>
is used from the set {5°, 10°, 15°, 20°}. A sample multi-line fractured text for the last segmentation experiment is shown in
<xref ref-type="fig" rid="f5-sensors-10-05263">Figure 5</xref>
.</p>
<p>Again, the number of existing text objects relate to the text segmentation quality. The root mean square error
<italic>RMSE
<sub>seg,frac</sub>
</italic>
has been used. It is calculated as [
<xref ref-type="bibr" rid="b7-sensors-10-05263">7</xref>
<xref ref-type="bibr" rid="b9-sensors-10-05263">9</xref>
]:
<disp-formula id="FD6">
<label>(6)</label>
<mml:math id="M6">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">RMSE</mml:mi>
<mml:mrow>
<mml:mi mathvariant="italic">seg</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="italic">frac</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>Q</mml:mi>
</mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:munderover>
<mml:mo></mml:mo>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>Q</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>O</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="italic">ref</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>O</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="italic">est</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:math>
</disp-formula>
where
<italic>m</italic>
= 1,…,
<italic>Q</italic>
is the number of examined text samples,
<italic>O
<sub>m,ref</sub>
</italic>
is the number of referent objects in text,
<italic>i.e.</italic>
, number of text lines, and
<italic>O
<sub>m,est</sub>
</italic>
is the number of objects obtained in the text by the applied algorithm.</p>
</sec>
<sec>
<label>2.2.4.</label>
<title>Skew rate text experiment</title>
<p>Further experiments belong in the second test group. The first of them, a skew rate test experiment, is mainly concerned with skew rate identification. It evaluates the algorithm’s performance in the skew tracking domain. Although, this experiment is primarily based on printed text, it is good prerequisite for testing handwritten text as well. In this test, a sample printed text rotated from 0° to 90° in 5° steps around the
<italic>x</italic>
-axis is used. This is presented in
<xref ref-type="fig" rid="f6-sensors-10-05263">Figure 6</xref>
.</p>
<p>The reference line of the test sample text is represented by:
<disp-formula id="FD7">
<label>(7)</label>
<mml:math id="M7">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">ax</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>After applying any algorithm to the sample text, reference text line estimation implies calculation of the average positions of only black pixels in every column of the document text image. It is calculated by [
<xref ref-type="bibr" rid="b1-sensors-10-05263">1</xref>
,
<xref ref-type="bibr" rid="b7-sensors-10-05263">7</xref>
,
<xref ref-type="bibr" rid="b10-sensors-10-05263">10</xref>
]:
<disp-formula id="FD8">
<label>(8)</label>
<mml:math id="M8">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:munderover>
<mml:mo></mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>L</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
<mml:mi>L</mml:mi>
</mml:mfrac>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo></mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:math>
</disp-formula>
where
<italic>x
<sub>i</sub>
</italic>
is the point position of calculated reference text line,
<italic>i</italic>
is the number of column position of the calculated reference text,
<italic>y
<sub>j</sub>
</italic>
is the position of black pixel in column
<italic>j</italic>
and
<italic>L</italic>
is the sum of black pixel number in a specified column
<italic>j</italic>
of an image.</p>
<p>After calculation, an image matrix with only one black pixel per column is obtained. It defines the calculated i.e. estimated reference text line as well as text line skewness. This reference text line forms a continuous or discontinuous line partly or completely “representing” the reference text line. To achieve a continuous linear reference text line, the least squares method is used. The function is approximated by a first-degree polynomial is given by:
<disp-formula id="FD9">
<label>(9)</label>
<mml:math id="M9">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi>a</mml:mi>
<mml:mo></mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>b</mml:mi>
<mml:mo></mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>Further,
<italic>ndp</italic>
represents the number of data points. It is used in the relation for calculating the slope
<italic>a’</italic>
, and the
<italic>y</italic>
-intercept
<italic>b’</italic>
as follows [
<xref ref-type="bibr" rid="b8-sensors-10-05263">8</xref>
]:
<disp-formula id="FD10">
<label>(10)</label>
<mml:math id="M10">
<mml:mrow>
<mml:msup>
<mml:mi>a</mml:mi>
<mml:mo></mml:mo>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo></mml:mo>
<mml:mi>y</mml:mi>
<mml:mo></mml:mo>
<mml:mi mathvariant="italic">xy</mml:mi>
<mml:mo></mml:mo>
<mml:mi mathvariant="italic">ndp</mml:mi>
<mml:mo></mml:mo>
<mml:mi mathvariant="italic">xy</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo></mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo></mml:mo>
<mml:mi mathvariant="italic">ndp</mml:mi>
<mml:mrow>
<mml:mo></mml:mo>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
and:
<disp-formula id="FD11">
<label>(11)</label>
<mml:math id="M11">
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo></mml:mo>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo></mml:mo>
<mml:mi>x</mml:mi>
<mml:mo></mml:mo>
<mml:mi mathvariant="italic">xy</mml:mi>
<mml:mo></mml:mo>
<mml:mo></mml:mo>
<mml:mi>y</mml:mi>
<mml:mo></mml:mo>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo></mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo></mml:mo>
<mml:mi mathvariant="italic">ndp</mml:mi>
<mml:mo></mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>For algorithm approximation and evaluation, a quantity called relative error [
<xref ref-type="bibr" rid="b9-sensors-10-05263">9</xref>
] is important. The reference line hit rate
<italic>i.e.</italic>
,
<italic>RLHR</italic>
incorporates this quantity. It is defined as [
<xref ref-type="bibr" rid="b7-sensors-10-05263">7</xref>
,
<xref ref-type="bibr" rid="b10-sensors-10-05263">10</xref>
]:
<disp-formula id="FD12">
<label>(12)</label>
<mml:math id="M12">
<mml:mrow>
<mml:mi mathvariant="italic">RLHR</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo></mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo>Δ</mml:mo>
<mml:mi>β</mml:mi>
</mml:mrow>
<mml:mi>β</mml:mi>
</mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mo></mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:msub>
<mml:mi>β</mml:mi>
<mml:mi mathvariant="italic">est</mml:mi>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>β</mml:mi>
<mml:mi mathvariant="italic">ref</mml:mi>
</mml:msub>
<mml:mo>|</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:msub>
<mml:mi>β</mml:mi>
<mml:mi mathvariant="italic">ref</mml:mi>
</mml:msub>
<mml:mo>|</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
where
<italic>β
<sub>ref</sub>
</italic>
is the arc tangent from the origin (7)
<italic>i.e.</italic>
,
<italic>a</italic>
and
<italic>β
<sub>est</sub>
</italic>
is the arc tangent from estimate (9),
<italic>i.e.</italic>
,
<italic>a’</italic>
. Obviously,
<italic>RLHR</italic>
is equal to 1– the relative error [
<xref ref-type="bibr" rid="b9-sensors-10-05263">9</xref>
]. Now, the root mean square error
<italic>RMSE
<sub>skew</sub>
</italic>
is calculated by [
<xref ref-type="bibr" rid="b7-sensors-10-05263">7</xref>
<xref ref-type="bibr" rid="b10-sensors-10-05263">10</xref>
]:
<disp-formula id="FD13">
<label>(13)</label>
<mml:math id="M13">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">RMSE</mml:mi>
<mml:mi mathvariant="italic">skew</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>S</mml:mi>
</mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:munderover>
<mml:mo></mml:mo>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>S</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>O</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="italic">ref</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>O</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="italic">est</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:math>
</disp-formula>
where
<italic>n</italic>
= 1,…,
<italic>S</italic>
is the number of examined text rotating angles up to 90°,
<italic>x
<sub>n,ref</sub>
</italic>
is
<italic>RLHR</italic>
for
<italic>β
<sub>est</sub>
</italic>
equal to
<italic>β
<sub>ref</sub>
</italic>
, due to normalization equal to 1, and
<italic>x
<sub>n,est</sub>
</italic>
is
<italic>RLHR</italic>
.</p>
</sec>
<sec>
<label>2.2.5.</label>
<title>Handwritten curved text experiment</title>
<p>The second experiment in this test group is primarily linked with handwritten text. Particularly, in this experiment a hypothetical reference text line is represented by a wavy line. This test examines the algorithm’s capability to follow a wavy reference text line. This wavy text sample as well as its definition is given in
<xref ref-type="fig" rid="f7-sensors-10-05263">Figure 7</xref>
.</p>
<p>Different types of wavy text can be examined. As can be seen, it is completely defined by the ratio
<italic>η</italic>
=
<italic>h/w</italic>
(see
<xref ref-type="fig" rid="f7-sensors-10-05263">Figure 7a</xref>
), where
<italic>h</italic>
represents height of the waved line, while
<italic>w</italic>
represents the half length of the wavy line. This experiment used the parameter set
<italic>η</italic>
= {1/8, 1/4, 1/2, 1}. Algorithm criteria quality and handwritten referent text line is measured and evaluated by the root mean square error
<italic>RMSE
<sub>wav</sub>
</italic>
calculated as [
<xref ref-type="bibr" rid="b7-sensors-10-05263">7</xref>
<xref ref-type="bibr" rid="b9-sensors-10-05263">9</xref>
]:
<disp-formula id="FD14">
<label>(14)</label>
<mml:math id="M14">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">RMSE</mml:mi>
<mml:mi mathvariant="italic">wav</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>T</mml:mi>
</mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:munderover>
<mml:mo></mml:mo>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>O</mml:mi>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="italic">est</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>O</mml:mi>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="italic">ref</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:math>
</disp-formula>
where
<italic>o</italic>
= 1,…,
<italic>T</italic>
is the number of examined text pixels,
<italic>i.e.</italic>
, columns of interest,
<italic>x
<sub>o,ref</sub>
</italic>
is pixel position of original referent text line in
<italic>o</italic>
-th column, and
<italic>x
<sub>o,est</sub>
</italic>
is pixel position of calculated,
<italic>i.e.</italic>
, estimated referent text line in
<italic>o</italic>
-th column.</p>
</sec>
<sec>
<label>2.2.6.</label>
<title>Handwritten fractured text experiment</title>
<p>The next and the last experiment is also linked with handwritten text. A hypothetical reference text line is represented by a fractured line. This test examines the algorithm’s ability to follow a fractured text line which represents abrupt changes in direction. The fractured text sample is given in
<xref ref-type="fig" rid="f8-sensors-10-05263">Figure 8</xref>
. In the figure,
<italic>γ</italic>
is the slope angle of the first, second and third part of the fractured text line. It can be observed that the second and third part of text line is rotated by an angle of 2
<italic>γ</italic>
from previous part of reference text line at once. Hence, this test example is a rather extreme one.</p>
<p>This experiment is typically performed for
<italic>γ</italic>
from 5° to 25° in 5° steps around the horizontal
<italic>x</italic>
-axis. Again, the evaluated reference text line is evaluated by root mean square error (
<italic>RMSE</italic>
) method. Further,
<italic>RMSE
<sub>frac</sub>
</italic>
is calculated as [
<xref ref-type="bibr" rid="b7-sensors-10-05263">7</xref>
<xref ref-type="bibr" rid="b9-sensors-10-05263">9</xref>
]:
<disp-formula id="FD15">
<label>(15)</label>
<mml:math id="M15">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">RMSE</mml:mi>
<mml:mi mathvariant="italic">frac</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>U</mml:mi>
</mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:munderover>
<mml:mo></mml:mo>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>U</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="italic">est</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo></mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="italic">ref</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:math>
</disp-formula>
where
<italic>p</italic>
= 1,…,
<italic>U</italic>
is number of examined text pixels,
<italic>i.e.</italic>
, columns of interest,
<italic>x
<sub>p,ref</sub>
</italic>
is pixel position of original referent text line in
<italic>p</italic>
-th column, and
<italic>x
<sub>p,est</sub>
</italic>
is pixel position of calculated,
<italic>i.e.</italic>
, estimated referent text line in
<italic>p</italic>
-th column.</p>
</sec>
<sec>
<label>2.2.7.</label>
<title>Decision Making</title>
<p>Results obtained from different experiments during test procedure are inter-related. It should be noted that if the algorithm was examined and evaluated for text line segmentation as well as for text parameter extraction, then text line segmentation should be primary goal. Therefore, it is prerequisite for text parameters extraction such as reference text line and skew rate. This will be followed by the experiments for text parameter extraction and identification. Although, they are of second-rate importance compared to text line segmentation, their importance is evident at the next level of algorithm quality evaluation.</p>
</sec>
</sec>
<sec sec-type="results">
<label>2.3.</label>
<title>Combined test results</title>
<p>Combined test results represent merged results. Although, it is very similar to decision making, it is quite diverse from it. In fact, for the investigation of the algorithm under different parameters and restrictions, such merging of results leads to optimized parameter(s) value extraction. This way, an optimized subset of parameter(s) values is obtained. This process is invaluable for the algorithm evaluation as well as for obtaining any conclusions from it.</p>
</sec>
</sec>
<sec>
<label>3.</label>
<title>Test Example and Discussion</title>
<p>For the illustration, above test framework procedure will be examined using as an example the Gaussian isotropic kernel algorithm [
<xref ref-type="bibr" rid="b7-sensors-10-05263">7</xref>
]. This algorithm will be just briefly explained. Its main task is expanding black pixel areas of text by scattering every black pixel in its neighborhood. This way, distinct areas that mutually separate text lines are established. Its primary purpose is joining only text elements from the same text line into the same distinct continuous areas. Gaussian probability function is taken as template that gives the probability of the random function. Consequently, it represents probability of the hypothetical expansion around every black pixel that represents a text element. Hence, around every black pixel, new pixels are non-uniformly dispersed. These new pixels have lower black intensity. Because the level of probability expansion relates to distance from black pixel, their intensity depends completely on their position
<italic>i.e.</italic>
, the distance from the original black pixel. Hence, these newly formed pixels are grayscale. Currently, document text image is represented by a grayscale image matrix. Thus, intensity pertains in level region {0,…,255}. Hence, after applying Gaussian isotropic kernel, equal to 2
<italic>K</italic>
+ 1 in
<italic>x</italic>
-direction as well as in
<italic>y</italic>
-direction, text is scattered forming an enlarged area around it. Now, inside the kernel a “probability” sub area is formed using the radius 3
<italic>σ</italic>
, where
<italic>σ</italic>
represents standard deviation defining curve spread parameter. Converting all these pixels into black pixels as well as inverting image, forms the new black pixel expanded areas [
<xref ref-type="bibr" rid="b7-sensors-10-05263">7</xref>
]. These areas are named boundary-growing areas.</p>
<p>The main purpose of the testing is optimization of the algorithm parameters. In our example, parameter of interest is
<italic>K</italic>
that defines kernel size. Further, the algorithm will be examined and evaluated. Firstly, the algorithm is examined by a multi-line text segmentation test. The multi-line text sample is skewed by an angle
<italic>α</italic>
(see
<xref ref-type="fig" rid="f3-sensors-10-05263">Figure 3</xref>
). Gaussian kernel size is defined by
<italic>K</italic>
value (in pixels), which is used as parameter. Because of the size of the letters,
<italic>K</italic>
is used from the set {5, 10, 15, 20, 25}. Obtained results are presented in
<xref ref-type="fig" rid="f9-sensors-10-05263">Figures 9</xref>
and
<xref ref-type="fig" rid="f10-sensors-10-05263">10</xref>
.</p>
<p>Although it is not part of the “relevant” measurement test, but just for the illustration purposes, the number of segmentation objects for different
<italic>K</italic>
is shown in
<xref ref-type="fig" rid="f9-sensors-10-05263">Figure 9</xref>
. Parameter
<italic>K</italic>
= 0 represents situation without an applied algorithm. Obviously, a bigger
<italic>K</italic>
value leads to better segmentation results due to stretching of the original text. Still, too big a
<italic>K</italic>
will join different text lines.</p>
<p>Similarly, the results presented in
<xref ref-type="fig" rid="f10-sensors-10-05263">Figure 10</xref>
confirm that a big
<italic>K</italic>
, especially bigger than 15 leads to satisfactory segmentation results, while a small
<italic>K,</italic>
less than 10 are completely unacceptable. Hence, as a starting point, a
<italic>K</italic>
bigger than 15 is a good choice. Further, the algorithm is evaluated by a single line skew rate test. The obtained results are represented by the
<italic>RLHR</italic>
value from (12). They are shown in
<xref ref-type="fig" rid="f11-sensors-10-05263">Figure 11</xref>
.</p>
<p>This time, a bigger
<italic>K</italic>
is not an advantage. Hence, a medium size
<italic>K</italic>
like {15, 20} is the optimal value [
<xref ref-type="bibr" rid="b7-sensors-10-05263">7</xref>
]. Scattering results from the previous test is represented by the
<italic>RMSE</italic>
method in
<xref ref-type="fig" rid="f12-sensors-10-05263">Figure 12</xref>
.</p>
<p>Bigger
<italic>K</italic>
leads to slightly bigger
<italic>RMSE
<sub>skew</sub>
</italic>
. This is obvious because skewed reference line is more stretched by a bigger kernel which leads to slightly bigger scattering results. Finally, the algorithm is examined with a single line wavy text as well as a fractured text test. Algorithm criteria quality is measured by the
<italic>RMSE</italic>
method. Results for the wavy text test are shown in
<xref ref-type="fig" rid="f13-sensors-10-05263">Figure 13</xref>
.</p>
<p>From
<xref ref-type="fig" rid="f7-sensors-10-05263">Figure 7a</xref>
, the ratio
<italic>η</italic>
=
<italic>h/w</italic>
is the severe element. Response to the sample wavy text is optimal for a
<italic>K</italic>
value chosen from the set {15, 20, 25} that confirms their candidacy for the optimal values. Finally, results for the fractured text test are shown in
<xref ref-type="fig" rid="f14-sensors-10-05263">Figure 14</xref>
. The most promising
<italic>RMSE
<sub>frac</sub>
</italic>
value for this test is for
<italic>K</italic>
= 15. Hence, from all the above results, after intersection decision making, the optimal values for
<italic>K</italic>
are 15 or 20.</p>
<p>From the obtained and presented measurement results, it is obvious that the results of above tests are quite sufficient for the evaluation of the algorithm quality in the domain of the text segmentation and feature extraction. Hence, they can represent a basic test framework for the evaluation of the text line segmentation and text parameters extraction.</p>
</sec>
<sec>
<label>4.</label>
<title>Conclusions</title>
<p>The paper describes the proposal of a basic test framework for the evaluation of text feature extraction algorithms. All previous algorithm evaluation procedures were custom oriented. However, the proposed test framework is the first step toward testing generalization in the domain of document image processing algorithms. It consists of two groups of experiments. In the first and the most important group, text line segmentation experiments are included. These tests measure text line segmentation algorithm quality. They incorporate three various multi-line text experiments. Single line skew rate test belongs in the second group of the test framework. Its task is algorithm performance evaluation of the skew rate tracking success. Further tests in this group of experiments are primarily linked to “handwritten text”. They consist of single line wavy and fractured text tests. These tests examine an algorithm’s ability to follow wavy and fractured text reference lines. Results obtained from all test experiments are inter-related. Hence, after decision making and results merging, optimized values of the algorithm parameters are extracted. This way, an optimized subset of parameters values is obtained. Hence, this process is invaluable for algorithm evaluation as well as for making any conclusions about it. In the end, its suitability for different types of letters and languages as well as its adaptability is a strong advantage.</p>
</sec>
</body>
<back>
<ref-list>
<title>References</title>
<ref id="b1-sensors-10-05263">
<label>1.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Basu</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Chaudhuri</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Kundu</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Nasipuri</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Basu</surname>
<given-names>D.K.</given-names>
</name>
</person-group>
<article-title>Text Line Extraction from Multi-Skewed Handwritten Documents</article-title>
<source>Pattern Recognition</source>
<year>2006</year>
<volume>40</volume>
<fpage>1825</fpage>
<lpage>1839</lpage>
</element-citation>
</ref>
<ref id="b2-sensors-10-05263">
<label>2.</label>
<element-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Amin</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>S.</given-names>
</name>
</person-group>
<article-title>Robust Skew Detection in mixed Text/Graphics Documents</article-title>
<conf-name>Proceedings of International Conference on Document Analysis and Recognition (ICDAR)</conf-name>
<conf-loc>Seoul, Korea</conf-loc>
<conf-date>August 29–September 1, 2005</conf-date>
</element-citation>
</ref>
<ref id="b3-sensors-10-05263">
<label>3.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Likforman Sulem</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Zahour</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Taconet</surname>
<given-names>B.</given-names>
</name>
</person-group>
<article-title>Text Line Segmentation of Historical Documents: A Survey</article-title>
<source>IJDAR</source>
<year>2007</year>
<volume>9</volume>
<fpage>123</fpage>
<lpage>138</lpage>
</element-citation>
</ref>
<ref id="b4-sensors-10-05263">
<label>4.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Razak</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Zulkiflee</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Idris</surname>
<given-names>M.Y.I.</given-names>
</name>
<name>
<surname>Tamil</surname>
<given-names>E.M.</given-names>
</name>
<name>
<surname>Noor</surname>
<given-names>M.N.M.</given-names>
</name>
<name>
<surname>Salleh</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Yaakob</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Yusof</surname>
<given-names>Z.M.</given-names>
</name>
<name>
<surname>Yaacob</surname>
<given-names>M.</given-names>
</name>
</person-group>
<article-title>Off-Line Handwriting Text Line Segmentation: A Review</article-title>
<source>IJCSNS</source>
<year>2008</year>
<volume>8</volume>
<fpage>12</fpage>
<lpage>20</lpage>
</element-citation>
</ref>
<ref id="b5-sensors-10-05263">
<label>5.</label>
<element-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Gonzalez</surname>
<given-names>R.C.</given-names>
</name>
<name>
<surname>Woods</surname>
<given-names>R.E.</given-names>
</name>
</person-group>
<source>Digital Image Procesing</source>
<edition>2nd ed.</edition>
<publisher-name>Prentice-Hall</publisher-name>
<publisher-loc>Bergen County, NJ, USA</publisher-loc>
<year>2002</year>
</element-citation>
</ref>
<ref id="b6-sensors-10-05263">
<label>6.</label>
<element-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Otsu</surname>
<given-names>N.</given-names>
</name>
</person-group>
<article-title>A Threshold Selection Method from Gray-level Histograms</article-title>
<source>IEEE Trans. Syst., Man, Cybern</source>
<year>1979</year>
<volume>9</volume>
<fpage>62</fpage>
<lpage>66</lpage>
</element-citation>
</ref>
<ref id="b7-sensors-10-05263">
<label>7.</label>
<element-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Brodić</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Milivojević</surname>
<given-names>Z.</given-names>
</name>
</person-group>
<article-title>Using Anisotropic Gaussian Window for Printed and Handwritten Text Parameters Extraction</article-title>
<conf-name>Proceedings of the 9th International Scientific Conference (UNITECH’09)</conf-name>
<conf-loc>Gabrovo, Bulgaria</conf-loc>
<conf-date>September 10–14, 2009</conf-date>
<volume>1</volume>
<fpage>453</fpage>
<lpage>460</lpage>
</element-citation>
</ref>
<ref id="b8-sensors-10-05263">
<label>8.</label>
<element-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Bolstad</surname>
<given-names>W.M.</given-names>
</name>
</person-group>
<source>Introduction to Bayesian Statistics</source>
<publisher-name>John Wiley & Sons</publisher-name>
<publisher-loc>Hoboken, NJ, USA</publisher-loc>
<year>2005</year>
<fpage>40</fpage>
<lpage>49</lpage>
</element-citation>
</ref>
<ref id="b9-sensors-10-05263">
<label>9.</label>
<element-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Terell</surname>
<given-names>G.R.</given-names>
</name>
</person-group>
<source>Mathematical Statistics: A Unified Introduction</source>
<publisher-name>Springer-Verlag</publisher-name>
<publisher-loc>New York, NY, USA</publisher-loc>
<year>1999</year>
<fpage>252</fpage>
<lpage>254</lpage>
</element-citation>
</ref>
<ref id="b10-sensors-10-05263">
<label>10.</label>
<element-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Brodić</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Milivojević</surname>
<given-names>Z.</given-names>
</name>
</person-group>
<article-title>An Approach to Modification of Water Flow Algorithm for Segmentation and Text Parameters Extraction</article-title>
<source>Emerging Trends in Technological Innovation</source>
<person-group person-group-type="editor">
<name>
<surname>Camarinha-Matos</surname>
<given-names>L.M.</given-names>
</name>
<name>
<surname>Pereira</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Ribeiro</surname>
<given-names>L.</given-names>
</name>
</person-group>
<publisher-name>Springer</publisher-name>
<publisher-loc>Boston, MA, USA</publisher-loc>
<year>2010</year>
<comment>IFIP AICT,</comment>
<volume>314</volume>
<fpage>324</fpage>
<lpage>331</lpage>
</element-citation>
</ref>
</ref-list>
<app-group>
<app id="app1">
<title></title>
<table-wrap id="ta1-sensors-10-05263" position="anchor">
<label>Appendix 1.</label>
<caption>
<p>Multi-line text segmentation test results.</p>
</caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th colspan="7" align="center" valign="bottom" rowspan="1">
<bold>Number of text objects</bold>
<hr></hr>
</th>
</tr>
<tr>
<th align="center" valign="bottom" rowspan="1" colspan="1">
<bold>
<italic>α</italic>
</bold>
</th>
<th align="center" valign="bottom" rowspan="1" colspan="1">
<bold>
<italic>K</italic>
= 5</bold>
</th>
<th align="center" valign="bottom" rowspan="1" colspan="1">
<bold>
<italic>K</italic>
= 10</bold>
</th>
<th align="center" valign="bottom" rowspan="1" colspan="1">
<bold>
<italic>K</italic>
= 15</bold>
</th>
<th align="center" valign="bottom" rowspan="1" colspan="1">
<bold>
<italic>K</italic>
= 20</bold>
</th>
<th align="center" valign="bottom" rowspan="1" colspan="1">
<bold>
<italic>K</italic>
= 25</bold>
</th>
<th align="center" valign="bottom" rowspan="1" colspan="1">
<bold>
<italic>K</italic>
= 0</bold>
</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold></bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">182</td>
<td align="center" valign="top" rowspan="1" colspan="1">77</td>
<td align="center" valign="top" rowspan="1" colspan="1">43</td>
<td align="center" valign="top" rowspan="1" colspan="1">41</td>
<td align="center" valign="top" rowspan="1" colspan="1">15</td>
<td align="center" valign="top" rowspan="1" colspan="1">260</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold></bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">180</td>
<td align="center" valign="top" rowspan="1" colspan="1">82</td>
<td align="center" valign="top" rowspan="1" colspan="1">43</td>
<td align="center" valign="top" rowspan="1" colspan="1">39</td>
<td align="center" valign="top" rowspan="1" colspan="1">12</td>
<td align="center" valign="top" rowspan="1" colspan="1">260</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>10°</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">193</td>
<td align="center" valign="top" rowspan="1" colspan="1">78</td>
<td align="center" valign="top" rowspan="1" colspan="1">43</td>
<td align="center" valign="top" rowspan="1" colspan="1">41</td>
<td align="center" valign="top" rowspan="1" colspan="1">12</td>
<td align="center" valign="top" rowspan="1" colspan="1">260</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>20°</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">203</td>
<td align="center" valign="top" rowspan="1" colspan="1">75</td>
<td align="center" valign="top" rowspan="1" colspan="1">43</td>
<td align="center" valign="top" rowspan="1" colspan="1">40</td>
<td align="center" valign="top" rowspan="1" colspan="1">13</td>
<td align="center" valign="top" rowspan="1" colspan="1">260</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>30°</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">180</td>
<td align="center" valign="top" rowspan="1" colspan="1">45</td>
<td align="center" valign="top" rowspan="1" colspan="1">43</td>
<td align="center" valign="top" rowspan="1" colspan="1">38</td>
<td align="center" valign="top" rowspan="1" colspan="1">13</td>
<td align="center" valign="top" rowspan="1" colspan="1">260</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>40°</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">185</td>
<td align="center" valign="top" rowspan="1" colspan="1">44</td>
<td align="center" valign="top" rowspan="1" colspan="1">43</td>
<td align="center" valign="top" rowspan="1" colspan="1">39</td>
<td align="center" valign="top" rowspan="1" colspan="1">13</td>
<td align="center" valign="top" rowspan="1" colspan="1">260</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>50°</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">187</td>
<td align="center" valign="top" rowspan="1" colspan="1">44</td>
<td align="center" valign="top" rowspan="1" colspan="1">43</td>
<td align="center" valign="top" rowspan="1" colspan="1">39</td>
<td align="center" valign="top" rowspan="1" colspan="1">12</td>
<td align="center" valign="top" rowspan="1" colspan="1">260</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>60°</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">182</td>
<td align="center" valign="top" rowspan="1" colspan="1">45</td>
<td align="center" valign="top" rowspan="1" colspan="1">43</td>
<td align="center" valign="top" rowspan="1" colspan="1">41</td>
<td align="center" valign="top" rowspan="1" colspan="1">12</td>
<td align="center" valign="top" rowspan="1" colspan="1">260</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>70°</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">197</td>
<td align="center" valign="top" rowspan="1" colspan="1">73</td>
<td align="center" valign="top" rowspan="1" colspan="1">43</td>
<td align="center" valign="top" rowspan="1" colspan="1">41</td>
<td align="center" valign="top" rowspan="1" colspan="1">12</td>
<td align="center" valign="top" rowspan="1" colspan="1">260</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>80°</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">190</td>
<td align="center" valign="top" rowspan="1" colspan="1">77</td>
<td align="center" valign="top" rowspan="1" colspan="1">43</td>
<td align="center" valign="top" rowspan="1" colspan="1">41</td>
<td align="center" valign="top" rowspan="1" colspan="1">15</td>
<td align="center" valign="top" rowspan="1" colspan="1">260</td>
</tr>
<tr>
<td colspan="7" align="left" valign="middle" rowspan="1">
<hr></hr>
</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>
<italic>RMSE
<sub>seg</sub>
</italic>
</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>181.05</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>59.22</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>36.00</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>33.02</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>6.01</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">-</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="ta2-sensors-10-05263" position="anchor">
<label>Appendix 2.</label>
<caption>
<p>Single line skew rate test results.</p>
</caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th colspan="6" align="center" valign="middle" rowspan="1">
<bold>Reference line hit rate (
<italic>RLHR</italic>
)</bold>
<hr></hr>
</th>
</tr>
<tr>
<th align="center" valign="middle" rowspan="1" colspan="1">
<bold>
<italic>β</italic>
</bold>
</th>
<th align="center" valign="middle" rowspan="1" colspan="1">
<bold>
<italic>K</italic>
= 5</bold>
</th>
<th align="center" valign="middle" rowspan="1" colspan="1">
<bold>
<italic>K</italic>
= 10</bold>
</th>
<th align="center" valign="middle" rowspan="1" colspan="1">
<bold>
<italic>K</italic>
= 15</bold>
</th>
<th align="center" valign="middle" rowspan="1" colspan="1">
<bold>
<italic>K</italic>
= 20</bold>
</th>
<th align="center" valign="middle" rowspan="1" colspan="1">
<bold>
<italic>K</italic>
= 25</bold>
</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold></bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">87.19%</td>
<td align="center" valign="top" rowspan="1" colspan="1">89.24%</td>
<td align="center" valign="top" rowspan="1" colspan="1">89.13%</td>
<td align="center" valign="top" rowspan="1" colspan="1">91.88%</td>
<td align="center" valign="top" rowspan="1" colspan="1">94.05%</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>10°</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">92.63%</td>
<td align="center" valign="top" rowspan="1" colspan="1">93.14%</td>
<td align="center" valign="top" rowspan="1" colspan="1">94.10%</td>
<td align="center" valign="top" rowspan="1" colspan="1">95.24%</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.20%</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>15°</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">94.89%</td>
<td align="center" valign="top" rowspan="1" colspan="1">95.26%</td>
<td align="center" valign="top" rowspan="1" colspan="1">95.89%</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.53%</td>
<td align="center" valign="top" rowspan="1" colspan="1">97.05%</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>20°</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">95.80%</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.02%</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.43%</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.81%</td>
<td align="center" valign="top" rowspan="1" colspan="1">97.11%</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>25°</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.53%</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.68%</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.89%</td>
<td align="center" valign="top" rowspan="1" colspan="1">97.10%</td>
<td align="center" valign="top" rowspan="1" colspan="1">97.32%</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>30°</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.76%</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.81%</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.95%</td>
<td align="center" valign="top" rowspan="1" colspan="1">97.06%</td>
<td align="center" valign="top" rowspan="1" colspan="1">97.14%</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>35°</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.96%</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.97%</td>
<td align="center" valign="top" rowspan="1" colspan="1">97.03%</td>
<td align="center" valign="top" rowspan="1" colspan="1">97.04%</td>
<td align="center" valign="top" rowspan="1" colspan="1">97.07%</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>40°</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.91%</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.90%</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.91%</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.84%</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.83%</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>45°</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.84%</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.75%</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.72%</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.59%</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.48%</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>50°</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.62%</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.44%</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.32%</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.11%</td>
<td align="center" valign="top" rowspan="1" colspan="1">95.94%</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>55°</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.27%</td>
<td align="center" valign="top" rowspan="1" colspan="1">96.02%</td>
<td align="center" valign="top" rowspan="1" colspan="1">95.83%</td>
<td align="center" valign="top" rowspan="1" colspan="1">95.53%</td>
<td align="center" valign="top" rowspan="1" colspan="1">95.25%</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>60°</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">95.48%</td>
<td align="center" valign="top" rowspan="1" colspan="1">95.09%</td>
<td align="center" valign="top" rowspan="1" colspan="1">94.82%</td>
<td align="center" valign="top" rowspan="1" colspan="1">94.40%</td>
<td align="center" valign="top" rowspan="1" colspan="1">94.02%</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>65°</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">94.19%</td>
<td align="center" valign="top" rowspan="1" colspan="1">93.72%</td>
<td align="center" valign="top" rowspan="1" colspan="1">93.28%</td>
<td align="center" valign="top" rowspan="1" colspan="1">92.70%</td>
<td align="center" valign="top" rowspan="1" colspan="1">92.19%</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>70°</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">92.15%</td>
<td align="center" valign="top" rowspan="1" colspan="1">91.47%</td>
<td align="center" valign="top" rowspan="1" colspan="1">90.88%</td>
<td align="center" valign="top" rowspan="1" colspan="1">90.06%</td>
<td align="center" valign="top" rowspan="1" colspan="1">89.34%</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>75°</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">94.34%</td>
<td align="center" valign="top" rowspan="1" colspan="1">93.30%</td>
<td align="center" valign="top" rowspan="1" colspan="1">92.36%</td>
<td align="center" valign="top" rowspan="1" colspan="1">91.12%</td>
<td align="center" valign="top" rowspan="1" colspan="1">89.97%</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>80°</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">80.24%</td>
<td align="center" valign="top" rowspan="1" colspan="1">78.73%</td>
<td align="center" valign="top" rowspan="1" colspan="1">77.35%</td>
<td align="center" valign="top" rowspan="1" colspan="1">75.57%</td>
<td align="center" valign="top" rowspan="1" colspan="1">73.95%</td>
</tr>
<tr>
<td colspan="6" align="left" valign="middle" rowspan="1">
<hr></hr>
</td>
</tr>
<tr>
<td align="center" valign="middle" rowspan="1" colspan="1">
<bold>
<italic>RMSE
<sub>skew</sub>
</italic>
</bold>
</td>
<td align="center" valign="middle" rowspan="1" colspan="1">
<bold>0.2569</bold>
</td>
<td align="center" valign="middle" rowspan="1" colspan="1">
<bold>0.2573</bold>
</td>
<td align="center" valign="middle" rowspan="1" colspan="1">
<bold>0.2582</bold>
</td>
<td align="center" valign="middle" rowspan="1" colspan="1">
<bold>0.2589</bold>
</td>
<td align="center" valign="middle" rowspan="1" colspan="1">
<bold>0.2600</bold>
</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="ta3-sensors-10-05263" position="anchor">
<label>Appendix 3.</label>
<caption>
<p>Single line waved text test results.</p>
</caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th colspan="6" align="center" valign="middle" rowspan="1">
<bold>
<italic>RMSE
<sub>wav</sub>
</italic>
</bold>
<hr></hr>
</th>
</tr>
<tr>
<th align="center" valign="middle" rowspan="1" colspan="1">
<bold>
<italic>η = h/w</italic>
</bold>
</th>
<th align="center" valign="middle" rowspan="1" colspan="1">
<bold>
<italic>K</italic>
= 5</bold>
</th>
<th align="center" valign="middle" rowspan="1" colspan="1">
<bold>
<italic>K</italic>
= 10</bold>
</th>
<th align="center" valign="middle" rowspan="1" colspan="1">
<bold>
<italic>K</italic>
= 15</bold>
</th>
<th align="center" valign="middle" rowspan="1" colspan="1">
<bold>
<italic>K</italic>
= 20</bold>
</th>
<th align="center" valign="middle" rowspan="1" colspan="1">
<bold>
<italic>K</italic>
= 25</bold>
</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>1/8</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">0.1556</td>
<td align="center" valign="top" rowspan="1" colspan="1">0.1271</td>
<td align="center" valign="top" rowspan="1" colspan="1">0.123</td>
<td align="center" valign="top" rowspan="1" colspan="1">0.1183</td>
<td align="center" valign="top" rowspan="1" colspan="1">0.1158</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>1/4</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">0.2017</td>
<td align="center" valign="top" rowspan="1" colspan="1">0.1611</td>
<td align="center" valign="top" rowspan="1" colspan="1">0.1459</td>
<td align="center" valign="top" rowspan="1" colspan="1">0.1402</td>
<td align="center" valign="top" rowspan="1" colspan="1">0.1376</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>1/2</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">0.1502</td>
<td align="center" valign="top" rowspan="1" colspan="1">0.1138</td>
<td align="center" valign="top" rowspan="1" colspan="1">0.0919</td>
<td align="center" valign="top" rowspan="1" colspan="1">0.0887</td>
<td align="center" valign="top" rowspan="1" colspan="1">0.0869</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>3/4</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">0.1798</td>
<td align="center" valign="top" rowspan="1" colspan="1">0.1467</td>
<td align="center" valign="top" rowspan="1" colspan="1">0.1064</td>
<td align="center" valign="top" rowspan="1" colspan="1">0.0832</td>
<td align="center" valign="top" rowspan="1" colspan="1">0.0819</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>1</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">0.1509</td>
<td align="center" valign="top" rowspan="1" colspan="1">0.1184</td>
<td align="center" valign="top" rowspan="1" colspan="1">0.0955</td>
<td align="center" valign="top" rowspan="1" colspan="1">0.0779</td>
<td align="center" valign="top" rowspan="1" colspan="1">0.0761</td>
</tr>
<tr>
<td colspan="6" align="left" valign="middle" rowspan="1">
<hr></hr>
</td>
</tr>
<tr>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>
<italic>RMSE
<sub>avg</sub>
</italic>
</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>0.1676</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>0.1334</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>0.1125</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>0.1017</bold>
</td>
<td align="center" valign="top" rowspan="1" colspan="1">
<bold>0.0997</bold>
</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="ta4-sensors-10-05263" position="anchor">
<label>Appendix 4.</label>
<caption>
<p>Single line fractured text test results.</p>
</caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th colspan="6" align="center" valign="middle" rowspan="1">
<bold>
<italic>RMSE
<sub>frac</sub>
</italic>
</bold>
<hr></hr>
</th>
</tr>
<tr>
<th align="center" valign="middle" rowspan="1" colspan="1">
<bold>
<italic>γ</italic>
</bold>
</th>
<th align="center" valign="middle" rowspan="1" colspan="1">
<bold>
<italic>K</italic>
= 5</bold>
</th>
<th align="center" valign="middle" rowspan="1" colspan="1">
<bold>
<italic>K</italic>
= 10</bold>
</th>
<th align="center" valign="middle" rowspan="1" colspan="1">
<bold>
<italic>K</italic>
= 15</bold>
</th>
<th align="center" valign="middle" rowspan="1" colspan="1">
<bold>
<italic>K</italic>
= 20</bold>
</th>
<th align="center" valign="middle" rowspan="1" colspan="1">
<bold>
<italic>K</italic>
= 25</bold>
</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center" valign="middle" rowspan="1" colspan="1">
<bold></bold>
</td>
<td align="center" valign="middle" rowspan="1" colspan="1">0.234</td>
<td align="center" valign="middle" rowspan="1" colspan="1">0.2009</td>
<td align="center" valign="middle" rowspan="1" colspan="1">0.1677</td>
<td align="center" valign="middle" rowspan="1" colspan="1">0.1185</td>
<td align="center" valign="middle" rowspan="1" colspan="1">0.0772</td>
</tr>
<tr>
<td align="center" valign="middle" rowspan="1" colspan="1">
<bold>10°</bold>
</td>
<td align="center" valign="middle" rowspan="1" colspan="1">0.2487</td>
<td align="center" valign="middle" rowspan="1" colspan="1">0.2067</td>
<td align="center" valign="middle" rowspan="1" colspan="1">0.1721</td>
<td align="center" valign="middle" rowspan="1" colspan="1">0.1264</td>
<td align="center" valign="middle" rowspan="1" colspan="1">0.0956</td>
</tr>
<tr>
<td align="center" valign="middle" rowspan="1" colspan="1">
<bold>15°</bold>
</td>
<td align="center" valign="middle" rowspan="1" colspan="1">0.2563</td>
<td align="center" valign="middle" rowspan="1" colspan="1">0.2124</td>
<td align="center" valign="middle" rowspan="1" colspan="1">0.0719</td>
<td align="center" valign="middle" rowspan="1" colspan="1">0.1197</td>
<td align="center" valign="middle" rowspan="1" colspan="1">0.0986</td>
</tr>
<tr>
<td align="center" valign="middle" rowspan="1" colspan="1">
<bold>20°</bold>
</td>
<td align="center" valign="middle" rowspan="1" colspan="1">0.2842</td>
<td align="center" valign="middle" rowspan="1" colspan="1">0.2296</td>
<td align="center" valign="middle" rowspan="1" colspan="1">0.1882</td>
<td align="center" valign="middle" rowspan="1" colspan="1">0.1349</td>
<td align="center" valign="middle" rowspan="1" colspan="1">0.1160</td>
</tr>
<tr>
<td align="center" valign="middle" rowspan="1" colspan="1">
<bold>25°</bold>
</td>
<td align="center" valign="middle" rowspan="1" colspan="1">0.2888</td>
<td align="center" valign="middle" rowspan="1" colspan="1">0.2302</td>
<td align="center" valign="middle" rowspan="1" colspan="1">0.1876</td>
<td align="center" valign="middle" rowspan="1" colspan="1">0.116</td>
<td align="center" valign="middle" rowspan="1" colspan="1">0.0645</td>
</tr>
<tr>
<td colspan="6" align="left" valign="middle" rowspan="1">
<hr></hr>
</td>
</tr>
<tr>
<td align="center" valign="middle" rowspan="1" colspan="1">
<bold>
<italic>RMSEavg</italic>
</bold>
</td>
<td align="center" valign="middle" rowspan="1" colspan="1">
<bold>0.2624</bold>
</td>
<td align="center" valign="middle" rowspan="1" colspan="1">
<bold>0.2160</bold>
</td>
<td align="center" valign="middle" rowspan="1" colspan="1">
<bold>0.1575</bold>
</td>
<td align="center" valign="middle" rowspan="1" colspan="1">
<bold>0.1231</bold>
</td>
<td align="center" valign="middle" rowspan="1" colspan="1">
<bold>0.0904</bold>
</td>
</tr>
</tbody>
</table>
</table-wrap>
</app>
</app-group>
</back>
<floats-group>
<fig id="f1-sensors-10-05263" position="float">
<label>Figure 1.</label>
<caption>
<p>Integral framework test procedure.</p>
</caption>
<graphic xlink:href="sensors-10-05263f1"></graphic>
</fig>
<fig id="f2-sensors-10-05263" position="float">
<label>Figure 2.</label>
<caption>
<p>Document text image.</p>
</caption>
<graphic xlink:href="sensors-10-05263f2"></graphic>
</fig>
<fig id="f3-sensors-10-05263" position="float">
<label>Figure 3.</label>
<caption>
<p>(a) Multi-line text referent line definition. (b) Multi-line text sample.</p>
</caption>
<graphic xlink:href="sensors-10-05263f3"></graphic>
</fig>
<fig id="f4-sensors-10-05263" position="float">
<label>Figure 4.</label>
<caption>
<p>(a) Curved text referent line shape definition. (b) Curved multi-line text sample.</p>
</caption>
<graphic xlink:href="sensors-10-05263f4"></graphic>
</fig>
<fig id="f5-sensors-10-05263" position="float">
<label>Figure 5.</label>
<caption>
<p>(a) Fractured text referent line slope definition. (b) Fractured multi-line text.</p>
</caption>
<graphic xlink:href="sensors-10-05263f5"></graphic>
</fig>
<fig id="f6-sensors-10-05263" position="float">
<label>Figure 6.</label>
<caption>
<p>Sample text rotated up to 90° in 5° steps.</p>
</caption>
<graphic xlink:href="sensors-10-05263f6"></graphic>
</fig>
<fig id="f7-sensors-10-05263" position="float">
<label>Figure 7.</label>
<caption>
<p>(a) Wavy text reference line slope and shape definition. (b) Wavy text sample.</p>
</caption>
<graphic xlink:href="sensors-10-05263f7"></graphic>
</fig>
<fig id="f8-sensors-10-05263" position="float">
<label>Figure 8.</label>
<caption>
<p>(a) Fractured text reference line slope definition. (b) Fractured text sample.</p>
</caption>
<graphic xlink:href="sensors-10-05263f8"></graphic>
</fig>
<fig id="f9-sensors-10-05263" position="float">
<label>Figure 9.</label>
<caption>
<p>Number of the objects as a result of multi-line segmentation test.</p>
</caption>
<graphic xlink:href="sensors-10-05263f9"></graphic>
</fig>
<fig id="f10-sensors-10-05263" position="float">
<label>Figure 10.</label>
<caption>
<p>
<italic>RMSE
<sub>seg</sub>
</italic>
from the segmentation test results.</p>
</caption>
<graphic xlink:href="sensors-10-05263f10"></graphic>
</fig>
<fig id="f11-sensors-10-05263" position="float">
<label>Figure 11.</label>
<caption>
<p>
<italic>RLHR</italic>
for text rotated by angle
<italic>β</italic>
from 0° up to 80°.</p>
</caption>
<graphic xlink:href="sensors-10-05263f11"></graphic>
</fig>
<fig id="f12-sensors-10-05263" position="float">
<label>Figure 12.</label>
<caption>
<p>
<italic>RMSE
<sub>skew</sub>
</italic>
from the single line skew test.</p>
</caption>
<graphic xlink:href="sensors-10-05263f12"></graphic>
</fig>
<fig id="f13-sensors-10-05263" position="float">
<label>Figure 13.</label>
<caption>
<p>
<italic>RMSE
<sub>wav</sub>
</italic>
for the wavy text test.</p>
</caption>
<graphic xlink:href="sensors-10-05263f13"></graphic>
</fig>
<fig id="f14-sensors-10-05263" position="float">
<label>Figure 14.</label>
<caption>
<p>
<italic>RMSE
<sub>frac</sub>
</italic>
for the fractured text test.</p>
</caption>
<graphic xlink:href="sensors-10-05263f14"></graphic>
</fig>
</floats-group>
</pmc>
</record>

Pour manipuler ce document sous Unix (Dilib)

EXPLOR_STEP=$WICRI_ROOT/Ticri/CIDE/explor/OcrV1/Data/Pmc/Curation
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 000195 | SxmlIndent | more

Ou

HfdSelect -h $EXPLOR_AREA/Data/Pmc/Curation/biblio.hfd -nk 000195 | SxmlIndent | more

Pour mettre un lien sur cette page dans le réseau Wicri

{{Explor lien
   |wiki=    Ticri/CIDE
   |area=    OcrV1
   |flux=    Pmc
   |étape=   Curation
   |type=    RBID
   |clé=     PMC:3292172
   |texte=   Basic Test Framework for the Evaluation of Text Line Segmentation and Text Parameter Extraction
}}

Pour générer des pages wiki

HfdIndexSelect -h $EXPLOR_AREA/Data/Pmc/Curation/RBID.i   -Sk "pubmed:22399932" \
       | HfdSelect -Kh $EXPLOR_AREA/Data/Pmc/Curation/biblio.hfd   \
       | NlmPubMed2Wicri -a OcrV1 

Wicri

This area was generated with Dilib version V0.6.32.
Data generation: Sat Nov 11 16:53:45 2017. Site generation: Mon Mar 11 23:15:16 2024