<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>Object detection - Inero Software - Software Consulting</title>
	<atom:link href="https://inero-software.com/tag/object-detection/feed/" rel="self" type="application/rss+xml" />
	<link>https://inero-software.com/tag/object-detection/</link>
	<description>We unleash innovations using cutting-edge technologies, modern design and AI</description>
	<lastBuildDate>Fri, 08 Apr 2022 12:33:49 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://inero-software.com/wp-content/uploads/2018/11/inero-logo-favicon.png</url>
	<title>Object detection - Inero Software - Software Consulting</title>
	<link>https://inero-software.com/tag/object-detection/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">153509928</site>	<item>
		<title>Digital Cloud Document Repositories &#8211; how to identify signatures in scanned PDF documents</title>
		<link>https://inero-software.com/digital-cloud-document-repositories-how-to-identify-signatures-in-scanned-pdf-documents/</link>
		
		<dc:creator><![CDATA[Adrian Chojnacki]]></dc:creator>
		<pubDate>Tue, 09 Feb 2021 12:27:55 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Company]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[digital repository]]></category>
		<category><![CDATA[document]]></category>
		<category><![CDATA[machinelearning]]></category>
		<category><![CDATA[object detection]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[yolov5]]></category>
		<guid isPermaLink="false">https://sandbox-www.devel.inero.com.pl/?p=3306</guid>

					<description><![CDATA[<p>&#160; Computer vision and object detection are increasingly used in the automation of business processes. Along with the dynamic development of technology, especially artificial intelligence, there are many new innovative business applications for this type of algorithms. In one of our recent posts, we outlined how to build a custom&#8230;</p>
<p>Artykuł <a href="https://inero-software.com/digital-cloud-document-repositories-how-to-identify-signatures-in-scanned-pdf-documents/">Digital Cloud Document Repositories &#8211; how to identify signatures in scanned PDF documents</a> pochodzi z serwisu <a href="https://inero-software.com">Inero Software - Software Consulting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h3></h3>
<p>&nbsp;</p>
<p><span style="font-weight: 400;"><img decoding="async" data-attachment-id="2873" data-permalink="https://inero-software.com/digital-twins-a-dynamic-software-model-of-reality/inero-glify-08-2/" data-orig-file="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" data-orig-size="208,208" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="inero-glyph" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" data-large-file="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" tabindex="0" role="button" class="alignleft wp-image-2873 size-thumbnail" src="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08-80x80.png" alt="Paragraph icon" width="80" height="80" srcset="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08-80x80.png 80w, https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08-50x50.png 50w, https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png 208w" sizes="(max-width: 80px) 100vw, 80px" />Computer vision and object detection are increasingly used in the automation of business processes. Along with the dynamic development of technology, especially </span><a href="https://inero-software.com/machine-learning-professionals/"><span style="font-weight: 400;">artificial intelligence</span></a><span style="font-weight: 400;">, there are many new innovative business applications for this type of algorithms. In one of our recent posts, we outlined </span><a href="https://inero-software.com/few-tips-on-how-to-create-custom-class-detection-system-using-r-cnn/?preview=true"><span style="font-weight: 400;">how to build a custom R-CNN based detector</span></a><span style="font-weight: 400;">. In this article, we will walk you through how to do the same with YOLO v5, which has grown in strength in recent years. One of the important aspects over and above other solutions is the speed of inference. As part of this article, we will present the specified use case and all steps of its implementation. Enjoy your reading!</span></p>
<p><img decoding="async" data-attachment-id="2770" data-permalink="https://inero-software.com/data-the-playground-of-machine-learning/inero-glify-10-2/" data-orig-file="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png" data-orig-size="208,208" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Inero Software" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png" data-large-file="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png" tabindex="0" role="button" class="aligncenter wp-image-2770 size-thumbnail" src="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10-80x80.png" alt="Separating icon" width="80" height="80" srcset="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10-80x80.png 80w, https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10-50x50.png 50w, https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png 208w" sizes="(max-width: 80px) 100vw, 80px" /></p>
<h2><span style="color: #800080;"><b>Use case</b></span></h2>
<p>&nbsp;</p>
<p><span style="font-weight: 400;"><img decoding="async" data-attachment-id="2873" data-permalink="https://inero-software.com/digital-twins-a-dynamic-software-model-of-reality/inero-glify-08-2/" data-orig-file="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" data-orig-size="208,208" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="inero-glyph" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" data-large-file="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" tabindex="0" role="button" class="alignleft wp-image-2873 size-thumbnail" src="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08-80x80.png" alt="Paragraph icon" width="80" height="80" srcset="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08-80x80.png 80w, https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08-50x50.png 50w, https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png 208w" sizes="(max-width: 80px) 100vw, 80px" />Signatures are still one of the most common methods of document authentication. Especially for enterprise applications, identification of signed and unsigned copies of documents in digital repositories may be time-consuming and a challenging task. However, automation supported by <a href="https://inero-software.com/machine-learning-professionals/">machine learning</a> can make it easier. In this context, we describe the capabilities of YOLO v5 detector, and we will discuss issues of detecting invoice signatures. </span><span style="font-weight: 400;">Let’s start with an example as shown in the figure below. For the purpose of this study, we prepared a fake invoice, fake data of the seller, buyer or the product itself. Let’s investigate now, how we can focus on hand-written signatures (which is fake too :-)).</span></p>
<p><img fetchpriority="high" decoding="async" data-attachment-id="3314" data-permalink="https://inero-software.com/digital-cloud-document-repositories-how-to-identify-signatures-in-scanned-pdf-documents/invoice/" data-orig-file="https://inero-software.com/wp-content/uploads/2021/02/invoice.png" data-orig-size="675,675" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="invoice" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2021/02/invoice-300x300.png" data-large-file="https://inero-software.com/wp-content/uploads/2021/02/invoice.png" tabindex="0" role="button" class="aligncenter wp-image-3314 size-full" src="https://inero-software.com/wp-content/uploads/2021/02/invoice.png" alt="invoice" width="675" height="675" srcset="https://inero-software.com/wp-content/uploads/2021/02/invoice.png 675w, https://inero-software.com/wp-content/uploads/2021/02/invoice-80x80.png 80w, https://inero-software.com/wp-content/uploads/2021/02/invoice-300x300.png 300w, https://inero-software.com/wp-content/uploads/2021/02/invoice-50x50.png 50w, https://inero-software.com/wp-content/uploads/2021/02/invoice-512x512.png 512w" sizes="(max-width: 675px) 100vw, 675px" /></p>
<p><img decoding="async" data-attachment-id="2770" data-permalink="https://inero-software.com/data-the-playground-of-machine-learning/inero-glify-10-2/" data-orig-file="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png" data-orig-size="208,208" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Inero Software" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png" data-large-file="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png" tabindex="0" role="button" class="aligncenter wp-image-2770 size-thumbnail" src="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10-80x80.png" alt="Separating icon" width="80" height="80" srcset="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10-80x80.png 80w, https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10-50x50.png 50w, https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png 208w" sizes="(max-width: 80px) 100vw, 80px" /></p>
<h4><span style="color: #800080;"><b>Collecting Data</b></span></h4>
<p>&nbsp;</p>
<p><span style="font-weight: 400;"><img decoding="async" data-attachment-id="2873" data-permalink="https://inero-software.com/digital-twins-a-dynamic-software-model-of-reality/inero-glify-08-2/" data-orig-file="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" data-orig-size="208,208" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="inero-glyph" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" data-large-file="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" tabindex="0" role="button" class="alignleft wp-image-2873 size-thumbnail" src="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08-80x80.png" alt="Paragraph icon" width="80" height="80" srcset="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08-80x80.png 80w, https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08-50x50.png 50w, https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png 208w" sizes="(max-width: 80px) 100vw, 80px" />One of the first steps is to collect a set of images to train your model. For our use case, we have prepared a small <strong>10 sample</strong> training set of invoices filled with different data and augmented this collection by a dedicated Python script. To make things easier, we used a</span><span style="font-weight: 400;"> </span><a href="https://roboflow.ai/"><span style="font-weight: 400;">Roboflow</span></a>, which <span style="font-weight: 400;">is a useful tool for data tagging Here you can upload your dataset and make a quick annotation process like on this GIF.</span></p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" data-attachment-id="3310" data-permalink="https://inero-software.com/digital-cloud-document-repositories-how-to-identify-signatures-in-scanned-pdf-documents/annonated/" data-orig-file="https://inero-software.com/wp-content/uploads/2021/02/annonated-e1646395509809.gif" data-orig-size="1716,913" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="annonated" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2021/02/annonated-e1646395509809-300x160.gif" data-large-file="https://inero-software.com/wp-content/uploads/2021/02/annonated-e1646395509809-1030x548.gif" tabindex="0" role="button" class="aligncenter wp-image-3310 size-full" src="https://inero-software.com/wp-content/uploads/2021/02/annonated-e1646395509809.gif" alt="Upload of the dataset" width="1716" height="913" /></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">Additionally, we can generate more output images with random values ​​of rotation, saturation, exposure, noise, blur and other types of transformations. Moreover, with the help of this tool, we can determine our training, validation and test data split &#8211; the default is 70%, 10%, 10%. This is an important thing to prevent overfitting our model, you can read more about it on </span><a href="http://blog.roboflow.com/train-test-split/"><span style="font-weight: 400;">this blog</span></a><span style="font-weight: 400;">. Thanks to the described tool, we can export our dataset in the </span><i><span style="font-weight: 400;">YOLO v5 Pytorch format</span></i><span style="font-weight: 400;"> and put it in the directory of our project. The figure below shows the selection and target tree, where one of the most important files is the </span><strong>data.yml</strong><span style="font-weight: 400;"> that will be used for training.</span></p>
<p><img loading="lazy" decoding="async" data-attachment-id="3311" data-permalink="https://inero-software.com/digital-cloud-document-repositories-how-to-identify-signatures-in-scanned-pdf-documents/export/" data-orig-file="https://inero-software.com/wp-content/uploads/2021/02/export.png" data-orig-size="555,360" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="export" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2021/02/export-300x195.png" data-large-file="https://inero-software.com/wp-content/uploads/2021/02/export.png" tabindex="0" role="button" class="aligncenter wp-image-3311 size-full" src="https://inero-software.com/wp-content/uploads/2021/02/export.png" alt="Export of the files" width="555" height="360" srcset="https://inero-software.com/wp-content/uploads/2021/02/export.png 555w, https://inero-software.com/wp-content/uploads/2021/02/export-300x195.png 300w, https://inero-software.com/wp-content/uploads/2021/02/export-463x300.png 463w" sizes="(max-width: 555px) 100vw, 555px" /></p>
<p><span style="font-weight: 400;">In our case after the first step of augmentation by a Python script, we generate </span><strong>69</strong> <span style="font-weight: 400;">images. Additionally, we use a noise option in Roboflow, which allows us, in the end, export </span><strong>169</strong> <span style="font-weight: 400;">annotated examples. Our images were ultimately split as shown in the figure below. </span></p>
<p><img loading="lazy" decoding="async" data-attachment-id="3316" data-permalink="https://inero-software.com/digital-cloud-document-repositories-how-to-identify-signatures-in-scanned-pdf-documents/split/" data-orig-file="https://inero-software.com/wp-content/uploads/2021/02/split.png" data-orig-size="575,106" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="split" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2021/02/split-300x55.png" data-large-file="https://inero-software.com/wp-content/uploads/2021/02/split.png" tabindex="0" role="button" class="aligncenter wp-image-3316 size-full" src="https://inero-software.com/wp-content/uploads/2021/02/split.png" alt="Split of the images" width="575" height="106" srcset="https://inero-software.com/wp-content/uploads/2021/02/split.png 575w, https://inero-software.com/wp-content/uploads/2021/02/split-300x55.png 300w" sizes="(max-width: 575px) 100vw, 575px" /></p>
<p><span style="font-weight: 400;">And here you can see some of the train examples… </span></p>
<p><img loading="lazy" decoding="async" data-attachment-id="4933" data-permalink="https://inero-software.com/digital-cloud-document-repositories-how-to-identify-signatures-in-scanned-pdf-documents/setcomp/" data-orig-file="https://inero-software.com/wp-content/uploads/2021/02/setcomp.gif" data-orig-size="1206,724" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="setcomp" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2021/02/setcomp-300x180.gif" data-large-file="https://inero-software.com/wp-content/uploads/2021/02/setcomp-1030x618.gif" tabindex="0" role="button" class="aligncenter wp-image-4933 size-full" src="https://inero-software.com/wp-content/uploads/2021/02/setcomp.gif" alt="train examples" width="1206" height="724" /></p>
<p><img decoding="async" data-attachment-id="2770" data-permalink="https://inero-software.com/data-the-playground-of-machine-learning/inero-glify-10-2/" data-orig-file="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png" data-orig-size="208,208" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Inero Software" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png" data-large-file="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png" tabindex="0" role="button" class="aligncenter wp-image-2770 size-thumbnail" src="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10-80x80.png" alt="Separating icon" width="80" height="80" srcset="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10-80x80.png 80w, https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10-50x50.png 50w, https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png 208w" sizes="(max-width: 80px) 100vw, 80px" /></p>
<p>&nbsp;</p>
<h4><span style="color: #800080;"><b>Model configuration and architecture</b></span></h4>
<p>&nbsp;</p>
<p><span style="font-weight: 400;"><img decoding="async" data-attachment-id="2873" data-permalink="https://inero-software.com/digital-twins-a-dynamic-software-model-of-reality/inero-glify-08-2/" data-orig-file="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" data-orig-size="208,208" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="inero-glyph" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" data-large-file="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" tabindex="0" role="button" class="alignleft wp-image-2873 size-thumbnail" src="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08-80x80.png" alt="Paragraph icon" width="80" height="80" srcset="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08-80x80.png 80w, https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08-50x50.png 50w, https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png 208w" sizes="(max-width: 80px) 100vw, 80px" />The next step in the whole process is to define the configuration and architecture of the YOLO model. We may build our own network structure, although in version 5 we are provided with one of the following models:</span></p>
<p>&nbsp;</p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">YOLOv5s,</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">YOLOv5m,</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">YOLOv5l,</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">YOLOv5x.</span></li>
</ul>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">We may use any of them but we must remember to assign appropriate target file parameter value called </span><strong>nc</strong> <span style="font-weight: 400;">&#8211; </span><i><span style="font-weight: 400;">number of classes</span></i><span style="font-weight: 400;">. In our use case, it’s 1. The models differ from each other with the number of parameters used, speed of frames per second (FPS), accuracy and others&#8230; On the figure below you can see how they cope with the same </span><a href="https://cocodataset.org/#home"><span style="font-weight: 400;">COCO dataset</span></a><span style="font-weight: 400;">. Click on the image below to learn more.</span></p>
<p><img loading="lazy" decoding="async" data-attachment-id="3319" data-permalink="https://inero-software.com/digital-cloud-document-repositories-how-to-identify-signatures-in-scanned-pdf-documents/yolo/" data-orig-file="https://inero-software.com/wp-content/uploads/2021/02/yolo.png" data-orig-size="2400,1200" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="yolo" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2021/02/yolo-300x150.png" data-large-file="https://inero-software.com/wp-content/uploads/2021/02/yolo-1030x515.png" tabindex="0" role="button" class="aligncenter wp-image-3319 size-full" src="https://inero-software.com/wp-content/uploads/2021/02/yolo.png" alt="YOLO graph" width="2400" height="1200" srcset="https://inero-software.com/wp-content/uploads/2021/02/yolo.png 2400w, https://inero-software.com/wp-content/uploads/2021/02/yolo-300x150.png 300w, https://inero-software.com/wp-content/uploads/2021/02/yolo-768x384.png 768w, https://inero-software.com/wp-content/uploads/2021/02/yolo-1030x515.png 1030w, https://inero-software.com/wp-content/uploads/2021/02/yolo-600x300.png 600w" sizes="(max-width: 2400px) 100vw, 2400px" /></p>
<p><img decoding="async" data-attachment-id="2770" data-permalink="https://inero-software.com/data-the-playground-of-machine-learning/inero-glify-10-2/" data-orig-file="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png" data-orig-size="208,208" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Inero Software" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png" data-large-file="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png" tabindex="0" role="button" class="aligncenter wp-image-2770 size-thumbnail" src="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10-80x80.png" alt="Separating icon" width="80" height="80" srcset="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10-80x80.png 80w, https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10-50x50.png 50w, https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png 208w" sizes="(max-width: 80px) 100vw, 80px" /></p>
<h4><span style="color: #800080;"><b>Training</b></span></h4>
<p>&nbsp;</p>
<p><span style="font-weight: 400;"><img decoding="async" data-attachment-id="2873" data-permalink="https://inero-software.com/digital-twins-a-dynamic-software-model-of-reality/inero-glify-08-2/" data-orig-file="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" data-orig-size="208,208" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="inero-glyph" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" data-large-file="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" tabindex="0" role="button" class="alignleft wp-image-2873 size-thumbnail" src="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08-80x80.png" alt="Paragraph icon" width="80" height="80" srcset="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08-80x80.png 80w, https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08-50x50.png 50w, https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png 208w" sizes="(max-width: 80px) 100vw, 80px" />What’s important, the </span><a href="https://www.ultralytics.com/"><span style="font-weight: 400;">Ultralytics</span></a><span style="font-weight: 400;"> company provides us with YOLO v5 developed in </span><a href="https://pytorch.org/"><span style="font-weight: 400;">PyTorch</span></a><span style="font-weight: 400;">, a framework specialized in machine learning. Thanks to this, we may download their repository from </span><a href="https://github.com/ultralytics/yolov5"><span style="font-weight: 400;">GitHub</span></a><span style="font-weight: 400;"> and train our own detector. Nothing simpler, but what else do we need for everything to work fine? </span></p>
<p><span style="font-weight: 400;">To run each of the scripts we must install the dependencies contained in the </span><i><span style="font-weight: 400;">requirements.txt</span></i><span style="font-weight: 400;">. If we are using </span><strong>pip</strong><span style="font-weight: 400;">, we can use the following command in the terminal. Please remember that you must be in the project directory. </span></p>
<p>&nbsp;</p>
<pre>pip install -r requirements.txt</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">In the installation process, one thing may be a problem. Namely, the </span><i><span style="font-weight: 400;">PyTorch </span></i><span style="font-weight: 400;">library…</span></p>
<p><span style="font-weight: 400;">The different operating system, package in use, programming language etc. may require a specified command. You will find everything you need in this </span><a href="https://pytorch.org/get-started/locally/"><span style="font-weight: 400;">tutorial</span></a><span style="font-weight: 400;">.</span></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">Let&#8217;s assume you have passed all the requirements and start our training!</span></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">One line of code is enough to run this process, but we need to make sure that we have prepared two important files &#8211; </span><strong>data.yaml</strong> <span style="font-weight: 400;">and for example </span><strong>yolov5l.yaml</strong><span style="font-weight: 400;"><strong>.</strong> The first one you should have from the data collection stage and the second one can be found in the YOLO v5 repository, in the </span><i><span style="font-weight: 400;">Models </span></i><span style="font-weight: 400;">directory. </span></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">That&#8217;s it! Let’s run the training by the following command: </span></p>
<p>&nbsp;</p>
<pre>python train.py --data dataset/data.yaml --cfg models/yolov5l.yaml --weights ''</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">The above command is the simplest possible, additionally, you can define the following options or parameters: </span></p>
<p>&nbsp;</p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">img-size,</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">batch-size,</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">epochs, </span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">name,</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">no-save,</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">cache…</span></li>
</ul>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">For the purposes of this article, </span><span style="font-weight: 400;">we conducted a relatively short training for images resized to </span><strong>416&#215;416</strong><span style="font-weight: 400;">, batch size </span><strong>32</strong><span style="font-weight: 400;"> and </span><strong>1500</strong><span style="font-weight: 400;"> epochs. When the process is complete, the result will be a weight file named </span><strong>best.pt</strong><span style="font-weight: 400;">.</span></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">Perhaps you may stop your learning process if your weights are optimal for you at the moment. We stopped our training after </span><strong>650</strong><span style="font-weight: 400;"> epochs, which took about </span><strong>15</strong> <strong>hours</strong><span style="font-weight: 400;"> in total. Please note that the PC used does not have a dedicated graphics card.</span></p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" data-attachment-id="4935" data-permalink="https://inero-software.com/digital-cloud-document-repositories-how-to-identify-signatures-in-scanned-pdf-documents/trainingcomp/" data-orig-file="https://inero-software.com/wp-content/uploads/2021/02/trainingcomp.gif" data-orig-size="1888,212" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="trainingcomp" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2021/02/trainingcomp-300x34.gif" data-large-file="https://inero-software.com/wp-content/uploads/2021/02/trainingcomp-1030x116.gif" tabindex="0" role="button" class="aligncenter wp-image-4935 size-full" src="https://inero-software.com/wp-content/uploads/2021/02/trainingcomp.gif" alt="training" width="1888" height="212" /></p>
<h5></h5>
<p>&nbsp;</p>
<h5><strong><span style="color: #800080;">Detailed metrics of our training:</span></strong></h5>
<p>&nbsp;</p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">precision &#8211; </span><strong>0.93507</strong><span style="font-weight: 400;">,</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">recall &#8211; </span><strong>0.96429</strong><span style="font-weight: 400;">,</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">mAP_0.5 &#8211; </span><strong>0.94755</strong><span style="font-weight: 400;">,</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">mAP_0.5:0.95 &#8211;</span> <strong>0.48702</strong><span style="font-weight: 400;">,<br />
</span></li>
</ul>
<p><span style="font-weight: 400;">where:</span></p>
<p><i><span style="font-weight: 400;">precision</span></i><span style="font-weight: 400;"> &#8211; measures how accurate are your predictions,</span></p>
<p><i><span style="font-weight: 400;">recall </span></i><span style="font-weight: 400;">&#8211; measures how good you find all the positives,</span></p>
<p><i><span style="font-weight: 400;">mAP_0.5</span></i><span style="font-weight: 400;"> &#8211; mean average precision for IoU* = 0.5,</span></p>
<p><i><span style="font-weight: 400;">mAP_0.5:0.95</span></i><span style="font-weight: 400;"> &#8211; mean average precision for IoU* from 0.5 to 0.95 with a step size of 0.005,</span></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">* IoU (</span><i><span style="font-weight: 400;">Intersection over Union</span></i><span style="font-weight: 400;">) &#8211; measures the overlap between 2 boundaries. Find out more about these metrics </span><a href="https://jonathan-hui.medium.com/map-mean-average-precision-for-object-detection-45c121a31173"><span style="font-weight: 400;">here</span></a><span style="font-weight: 400;">.</span></p>
<p><img decoding="async" data-attachment-id="2770" data-permalink="https://inero-software.com/data-the-playground-of-machine-learning/inero-glify-10-2/" data-orig-file="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png" data-orig-size="208,208" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Inero Software" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png" data-large-file="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png" tabindex="0" role="button" class="aligncenter wp-image-2770 size-thumbnail" src="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10-80x80.png" alt="Separating icon" width="80" height="80" srcset="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10-80x80.png 80w, https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10-50x50.png 50w, https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png 208w" sizes="(max-width: 80px) 100vw, 80px" /></p>
<h4><span style="color: #800080;"><b>Inference on test images</b></span></h4>
<p>&nbsp;</p>
<p><span style="font-weight: 400;"><img decoding="async" data-attachment-id="2873" data-permalink="https://inero-software.com/digital-twins-a-dynamic-software-model-of-reality/inero-glify-08-2/" data-orig-file="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" data-orig-size="208,208" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="inero-glyph" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" data-large-file="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" tabindex="0" role="button" class="alignleft wp-image-2873 size-thumbnail" src="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08-80x80.png" alt="Paragraph icon" width="80" height="80" srcset="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08-80x80.png 80w, https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08-50x50.png 50w, https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png 208w" sizes="(max-width: 80px) 100vw, 80px" />Now,</span> <span style="font-weight: 400;">when we have our trained model trained after the learning stage, we may go to inference on test images. As you remember, one of the directories exported from </span><i><span style="font-weight: 400;">Roboflow </span></i><span style="font-weight: 400;">was called </span><strong>test</strong><span style="font-weight: 400;">. We can use it by putting in the terminal following line: </span></p>
<p>&nbsp;</p>
<pre>python detect.py --weights best.pt --source dataset/test --conf 0.6 --img-size 600</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">where </span><i><span style="font-weight: 400;">conf</span></i><span style="font-weight: 400;"> is model confidence &#8211; higher required makes fewer predictions. </span></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">Finally, we may see the result visualization. The approximate inference time on one test image </span><strong>416&#215;416</strong><span style="font-weight: 400;"> was </span><strong><span style="color: #000000;">~ 0.3 s</span></strong><span style="font-weight: 400;">, while for </span><strong>700&#215;700 ~ 0.8s</strong><b>.</b></p>
<p><img loading="lazy" decoding="async" data-attachment-id="4936" data-permalink="https://inero-software.com/digital-cloud-document-repositories-how-to-identify-signatures-in-scanned-pdf-documents/inferencecomp-2/" data-orig-file="https://inero-software.com/wp-content/uploads/2021/02/inferencecomp-1.gif" data-orig-size="1138,406" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="inferencecomp" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2021/02/inferencecomp-1-300x107.gif" data-large-file="https://inero-software.com/wp-content/uploads/2021/02/inferencecomp-1-1030x367.gif" tabindex="0" role="button" class="aligncenter wp-image-4936 size-full" src="https://inero-software.com/wp-content/uploads/2021/02/inferencecomp-1.gif" alt="inference" width="1138" height="406" /><br />
<img loading="lazy" decoding="async" data-attachment-id="3309" data-permalink="https://inero-software.com/digital-cloud-document-repositories-how-to-identify-signatures-in-scanned-pdf-documents/10-2/" data-orig-file="https://inero-software.com/wp-content/uploads/2021/02/10.png" data-orig-size="675,675" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="10" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2021/02/10-300x300.png" data-large-file="https://inero-software.com/wp-content/uploads/2021/02/10.png" tabindex="0" role="button" class="aligncenter wp-image-3309 size-full" src="https://inero-software.com/wp-content/uploads/2021/02/10.png" alt="signatures on invoice" width="675" height="675" srcset="https://inero-software.com/wp-content/uploads/2021/02/10.png 675w, https://inero-software.com/wp-content/uploads/2021/02/10-80x80.png 80w, https://inero-software.com/wp-content/uploads/2021/02/10-300x300.png 300w, https://inero-software.com/wp-content/uploads/2021/02/10-50x50.png 50w, https://inero-software.com/wp-content/uploads/2021/02/10-512x512.png 512w" sizes="(max-width: 675px) 100vw, 675px" /> <img loading="lazy" decoding="async" data-attachment-id="3313" data-permalink="https://inero-software.com/digital-cloud-document-repositories-how-to-identify-signatures-in-scanned-pdf-documents/inv_inference/" data-orig-file="https://inero-software.com/wp-content/uploads/2021/02/inv_inference.jpg" data-orig-size="1236,416" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="inv_inference" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2021/02/inv_inference-300x101.jpg" data-large-file="https://inero-software.com/wp-content/uploads/2021/02/inv_inference-1030x347.jpg" tabindex="0" role="button" class="aligncenter wp-image-3313 size-full" src="https://inero-software.com/wp-content/uploads/2021/02/inv_inference.jpg" alt="signatures on invoice" width="1236" height="416" srcset="https://inero-software.com/wp-content/uploads/2021/02/inv_inference.jpg 1236w, https://inero-software.com/wp-content/uploads/2021/02/inv_inference-300x101.jpg 300w, https://inero-software.com/wp-content/uploads/2021/02/inv_inference-768x258.jpg 768w, https://inero-software.com/wp-content/uploads/2021/02/inv_inference-1030x347.jpg 1030w, https://inero-software.com/wp-content/uploads/2021/02/inv_inference-891x300.jpg 891w" sizes="(max-width: 1236px) 100vw, 1236px" /> <img loading="lazy" decoding="async" data-attachment-id="3317" data-permalink="https://inero-software.com/digital-cloud-document-repositories-how-to-identify-signatures-in-scanned-pdf-documents/test_batch0_pred/" data-orig-file="https://inero-software.com/wp-content/uploads/2021/02/test_batch0_pred.jpg" data-orig-size="1280,1280" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="test_batch0_pred" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2021/02/test_batch0_pred-300x300.jpg" data-large-file="https://inero-software.com/wp-content/uploads/2021/02/test_batch0_pred-1030x1030.jpg" tabindex="0" role="button" class="aligncenter wp-image-3317 size-full" src="https://inero-software.com/wp-content/uploads/2021/02/test_batch0_pred.jpg" alt="signatures on invoice" width="1280" height="1280" srcset="https://inero-software.com/wp-content/uploads/2021/02/test_batch0_pred.jpg 1280w, https://inero-software.com/wp-content/uploads/2021/02/test_batch0_pred-80x80.jpg 80w, https://inero-software.com/wp-content/uploads/2021/02/test_batch0_pred-300x300.jpg 300w, https://inero-software.com/wp-content/uploads/2021/02/test_batch0_pred-768x768.jpg 768w, https://inero-software.com/wp-content/uploads/2021/02/test_batch0_pred-1030x1030.jpg 1030w, https://inero-software.com/wp-content/uploads/2021/02/test_batch0_pred-50x50.jpg 50w, https://inero-software.com/wp-content/uploads/2021/02/test_batch0_pred-512x512.jpg 512w, https://inero-software.com/wp-content/uploads/2021/02/test_batch0_pred-1024x1024.jpg 1024w" sizes="(max-width: 1280px) 100vw, 1280px" /><br />
<img decoding="async" data-attachment-id="2770" data-permalink="https://inero-software.com/data-the-playground-of-machine-learning/inero-glify-10-2/" data-orig-file="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png" data-orig-size="208,208" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Inero Software" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png" data-large-file="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png" tabindex="0" role="button" class="aligncenter wp-image-2770 size-thumbnail" src="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10-80x80.png" alt="Separating icon" width="80" height="80" srcset="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10-80x80.png 80w, https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10-50x50.png 50w, https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png 208w" sizes="(max-width: 80px) 100vw, 80px" /></p>
<h3><span style="color: #800080;"><b>Summary</b></span></h3>
<p>&nbsp;</p>
<p><span style="font-weight: 400;"><img decoding="async" data-attachment-id="2873" data-permalink="https://inero-software.com/digital-twins-a-dynamic-software-model-of-reality/inero-glify-08-2/" data-orig-file="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" data-orig-size="208,208" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="inero-glyph" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" data-large-file="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" tabindex="0" role="button" class="alignleft wp-image-2873 size-thumbnail" src="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08-80x80.png" alt="Paragraph icon" width="80" height="80" srcset="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08-80x80.png 80w, https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08-50x50.png 50w, https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png 208w" sizes="(max-width: 80px) 100vw, 80px" />For the implementation of the described detector, we used only 10 images, extending the dataset by augmentation process. Thanks to the Roboflow tool, it was possible to quickly annotate and export the data to the YOLO format. The learning process allowed us to obtain a target detector that effectively recognizes signatures on invoices.</span></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">Please note that with such a small dataset it is only adapted to recognize similar invoices. If we wanted to expand the possibilities of our detector, we would have to equip ourselves with a better graphics card and more, and more data. Additionally, you may be tempted to add a new class, e.g. to separate the objects into the Signature of the Seller and the Buyer.</span></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">Maybe you will see a new article in the future with more recognition classes. Stay tuned!</span></p>
<p>&nbsp;</p>
<p><strong>In Inero Software &#8211; software development agency, we are experts of digital transformation and smart automation. We provide knowledge and expertise on how to successfully use cutting edge technologies and data to shape corporate digital products of the future.</strong></p>
<p>&nbsp;</p>
<p><strong>For more information, visit us on our <a href="https://inero-software.com">website</a> or follow us on <a href="https://www.linkedin.com/company/inero-software/">LinkedIn</a>. </strong></p>
<p>Artykuł <a href="https://inero-software.com/digital-cloud-document-repositories-how-to-identify-signatures-in-scanned-pdf-documents/">Digital Cloud Document Repositories &#8211; how to identify signatures in scanned PDF documents</a> pochodzi z serwisu <a href="https://inero-software.com">Inero Software - Software Consulting</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3306</post-id>	</item>
	</channel>
</rss>
