<?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>Machine Learning Engineer</title>
	<atom:link href="https://inero-software.com/pl/author/adri4n0/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>Tworzymy cyfrowe innowacje</description>
	<lastBuildDate>Fri, 08 Apr 2022 12:40:38 +0000</lastBuildDate>
	<language>pl-PL</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>Machine Learning Engineer</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">153509928</site>	<item>
		<title>Jak zaawansowany routing i optymalizacja może wspierać działania w sytuacjach kryzysowych &#8211; przykład użycia</title>
		<link>https://inero-software.com/pl/zaawansowany-routing/</link>
		
		<dc:creator><![CDATA[Adrian Chojnacki]]></dc:creator>
		<pubDate>Mon, 07 Feb 2022 13:00:17 +0000</pubDate>
				<category><![CDATA[Blog_pl]]></category>
		<category><![CDATA[Firma]]></category>
		<category><![CDATA[Technologie]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[backend]]></category>
		<category><![CDATA[DeliverM8]]></category>
		<category><![CDATA[Java Spring]]></category>
		<category><![CDATA[Kiosk Mode]]></category>
		<category><![CDATA[nawigacja]]></category>
		<category><![CDATA[powiadomienia push]]></category>
		<category><![CDATA[sytuacje kryzysowe]]></category>
		<guid isPermaLink="false">https://inero-software.com/?p=4380</guid>

					<description><![CDATA[<p>Aplikacją, którą w ostatnim czasie opracowaliśmy dla jednego z naszych klientów korporacyjnych, jest system wspomagania decyzji w działaniach ratowniczych, mający na celu poprawę efektywności operacyjnej lokalnych akcji ratowniczych.</p>
<p>Artykuł <a href="https://inero-software.com/pl/zaawansowany-routing/">Jak zaawansowany routing i optymalizacja może wspierać działania w sytuacjach kryzysowych &#8211; przykład użycia</a> pochodzi z serwisu <a href="https://inero-software.com/pl">Inero Software - Rozwiązania IT i Konsulting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h3></h3>
<p>&nbsp;</p>
<div class="row"><div class="col-sm-3"></div><div class="col-sm-6">
<p style="text-align: left;"><span style="font-weight: 400;"><img decoding="async" class="alignleft wp-image-2873 " src="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" alt="Paragraph icon" width="94" height="94" srcset="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png 208w, 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" sizes="(max-width: 94px) 100vw, 94px" />Aspekty optymalizacji parametrów tras i tworzenia <a href="https://inero-software.com/pl/zarzadzanie-lancuchem-dostaw/">łańcucha dostaw</a> z wykorzystaniem <a href="https://inero-software.com/pl/uczenie-maszynowe/">sztucznej inteligencji</a> zostały niedawno przedstawione w naszych wpisach na blogu. Aplikacją, którą w ostatnim czasie opracowaliśmy dla jednego z naszych klientów korporacyjnych, jest system wspomagania decyzji w działaniach ratowniczych, mający na celu poprawę efektywności operacyjnej lokalnych akcji ratowniczych.</span></p>
<p style="text-align: left;">W tym poście opisaliśmy, w jaki sposób wykorzystaliśmy <a href="http://deliverm8.com">platformę optymalizacji logistyki DeliverM8</a>, jako wsparcie podmiotów w sytuacjach awaryjnych. Pokrótce przedstawimy, jak nowoczesne technologie informatyczne, takie jak aplikacje mobilne, powiadomienia push i aplikacje webowe mogą przynieść wymierne korzyści, a nawet poprawić bezpieczeństwo i efektywność działania, co jest kluczowe w sytuacjach awaryjnych.</p>
<p><img decoding="async" class="aligncenter wp-image-2770 " src="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png" alt="Separating icon" width="105" height="105" srcset="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png 208w, 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" sizes="(max-width: 105px) 100vw, 105px" /></p>
<h3><span style="color: #800080;"><b>Przykład użycia</b></span></h3>
<p><b><span style="font-weight: 400;"><img decoding="async" class="wp-image-2873 alignleft" src="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" alt="Paragraph icon" width="94" height="94" srcset="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png 208w, 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" sizes="(max-width: 94px) 100vw, 94px" /></span></b>Opisywany w artykule przypadek użycia to system wspierający lokalne zespoły straży pożarnej w nawigacji i komunikacji w czasie rzeczywistym podczas akcji, który jest archiwizowany poprzez dostarczanie członkom zespołu aktualnego ruchu, blokady drogowej i ogólnej aktualnej świadomości sytuacyjnej w zakresie dostępności tras oraz wsparcie w czasie rzeczywistym.</p>
<p>Wdrożony system musi spełniać następujące wymagania:</p>
<ul>
<li><span style="font-weight: 400;">umożliwia wpisanie adresu zdarzenia,</span></li>
<li><span style="font-weight: 400;">generuje trzy alternatywne trasy do wybranego miejsca zdarzenia,</span></li>
<li>informuje straż pożarną za pomocą powiadomień push, wiadomości tekstowych lub innych opcji&#8230;</li>
<li>bezproblemowo przesyła trasę do wbudowanego urządzenia nawigacyjnego (Android),</li>
<li><span style="font-weight: 400;">wyświetla trasę i lokalizację infrastruktury ratunkowej (najbliższe hydranty, punkty ewakuacyjne itp.) wokół zdarzenia, umożliwiając wybór miejsca docelowego,</span></li>
<li><span style="font-weight: 400;">nawiguje do wybranego celu poprzez wbudowany system nawigacji.</span></li>
</ul>
<p>Wchodząc naprzeciw tym wymaganiom zbudowaliśmy architekturę trójwarstwową, w której baza danych znajduje się na centralnym serwerze, a dostęp do niej możliwy jest poprzez moduł zarządzania i przetwarzania danych. Serwer operacyjny udostępnia funkcjonalności dostępne poprzez REST API dla interfejsu użytkownika dedykowanego dla przeglądarek internetowych i aplikacji mobilnych. Strukturę komunikacji pomiędzy poszczególnymi komponentami przedstawiono na poniższym rysunku.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-3242 size-full" src="https://inero-software.com/wp-content/uploads/2021/01/architecture.png" alt="The communication structure between the individual components" width="697" height="508" srcset="https://inero-software.com/wp-content/uploads/2021/01/architecture.png 697w, https://inero-software.com/wp-content/uploads/2021/01/architecture-300x219.png 300w, https://inero-software.com/wp-content/uploads/2021/01/architecture-412x300.png 412w" sizes="(max-width: 697px) 100vw, 697px" /></p>
<p>Docelowa aplikacja została zaimplementowana przy użyciu Java Spring z PostgreSQL, natomiast aplikację webową i na Androida dostarczył <a href="https://angular.io/">framework Angular</a>.</p>
<p><img loading="lazy" decoding="async" class="wp-image-2770 aligncenter" src="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png" alt="Separating icon" width="116" height="116" srcset="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png 208w, 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" sizes="(max-width: 116px) 100vw, 116px" /></p>
<h3><span style="color: #800080;"><b>Przykład wykorzystania systemu</b></span></h3>
<p><span style="font-weight: 400;"><img loading="lazy" decoding="async" class="wp-image-2873 alignleft" src="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" alt="Paragraph icon" width="118" height="118" srcset="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png 208w, 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" sizes="(max-width: 118px) 100vw, 118px" />Jednym z najważniejszych czynników dla końcowego użytkownika pracy z proponowanym systemem jest odpowiednia obsługa przejezdności w czasie rzeczywistym wybranych tras. Dlatego zaproponowaliśmy rozwiązanie, w którym nasz system komunikuje się poprzez dedykowane interfejsy z wewnętrzną infrastrukturą naszych klientów i weryfikuje przejezdność wybranej trasy. W przypadku blokady drogowej system jest w stanie wybrać różne trasy, które płynnie przechodzą do urządzenia nawigacyjnego. Generowanie tras działa w oparciu o proces iteracyjny i sukcesywne omijanie punktów drogi, którymi w tym przypadku są przejazdy kolejowe. Posiadając wizualizację i niezbędne parametry, użytkownik może wybrać najlepszą w danym momencie alternatywę.</span></p>
<p><span style="font-weight: 400;">W celu zilustrowania działania systemu wygenerowane rozwiązanie pokazano na poniższym rysunku.</span></p>
<p><span style="font-weight: 400;"><img loading="lazy" decoding="async" class="aligncenter wp-image-3235 size-full" src="https://inero-software.com/wp-content/uploads/2021/01/article.png" alt="Visualisation of the system" width="1912" height="1225" srcset="https://inero-software.com/wp-content/uploads/2021/01/article.png 1912w, https://inero-software.com/wp-content/uploads/2021/01/article-300x192.png 300w, https://inero-software.com/wp-content/uploads/2021/01/article-768x492.png 768w, https://inero-software.com/wp-content/uploads/2021/01/article-1030x660.png 1030w, https://inero-software.com/wp-content/uploads/2021/01/article-468x300.png 468w, https://inero-software.com/wp-content/uploads/2021/01/article-466x300.png 466w" sizes="(max-width: 1912px) 100vw, 1912px" /></span></p>
<p>Dodatkowo, klikając w sekcję <em><strong>&#8222;Plan&#8221;</strong></em> jak na powyższym rysunku, użytkownik może przeanalizować dane dotyczące trasy, takie jak przejazdy kolejowe, odległość w kilometrach i ETA (szacowany czas dojazdu). Kolejnym krokiem jest wybranie trasy poprzez kliknięcie w mapę i wgranie jej do aplikacji nawigacyjnej dla brygady ratunkowej. Dzięki temu system informuje wbudowany podsystem nawigacji tablet o zdarzeniu od strony backendu m.in. poprzez powiadomienie push lub SMS.</p>
<p><img loading="lazy" decoding="async" data-attachment-id="4943" data-permalink="https://inero-software.com/pl/zaawansowany-routing/pushcomp-2/" data-orig-file="https://inero-software.com/wp-content/uploads/2022/02/pushcomp.gif" data-orig-size="660,996" 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="pushcomp" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2022/02/pushcomp-199x300.gif" data-large-file="https://inero-software.com/wp-content/uploads/2022/02/pushcomp.gif" tabindex="0" role="button" class="aligncenter wp-image-4943 size-full" src="https://inero-software.com/wp-content/uploads/2022/02/pushcomp.gif" alt="push notification" width="660" height="996" /></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">Po zatwierdzeniu tego powiadomienia system wyświetla element mapy z trasą docelową oraz informacjami niezbędnymi do wykonania akcji ratunkowej, takimi jak lokalizacje hydrantów w pobliżu miejsca zdarzenia. Kliknięcie w cel umożliwia użytkownikowi nawigację za pomocą wbudowanego przycisku funkcji nawigacji. Pokazaliśmy to w poniższych animacjach GIF.</span></p>
<p><img loading="lazy" decoding="async" data-attachment-id="4944" data-permalink="https://inero-software.com/pl/zaawansowany-routing/mapcomp-2/" data-orig-file="https://inero-software.com/wp-content/uploads/2022/02/mapcomp.gif" data-orig-size="660,996" 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="mapcomp" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2022/02/mapcomp-199x300.gif" data-large-file="https://inero-software.com/wp-content/uploads/2022/02/mapcomp.gif" tabindex="0" role="button" class="aligncenter wp-image-4944 size-full" src="https://inero-software.com/wp-content/uploads/2022/02/mapcomp.gif" alt="map navigation" width="660" height="996" /><img loading="lazy" decoding="async" data-attachment-id="4945" data-permalink="https://inero-software.com/pl/zaawansowany-routing/navigationcomp-2/" data-orig-file="https://inero-software.com/wp-content/uploads/2022/02/navigationcomp.gif" data-orig-size="664,994" 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="navigationcomp" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2022/02/navigationcomp-200x300.gif" data-large-file="https://inero-software.com/wp-content/uploads/2022/02/navigationcomp.gif" tabindex="0" role="button" class="aligncenter wp-image-4945 size-full" src="https://inero-software.com/wp-content/uploads/2022/02/navigationcomp.gif" alt="map navigation" width="664" height="994" /> <img loading="lazy" decoding="async" class="wp-image-2770 aligncenter" src="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png" alt="Separating icon" width="116" height="116" srcset="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png 208w, 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" sizes="(max-width: 116px) 100vw, 116px" /></p>
<h3><span style="color: #800080;"><b>Podsumowanie</b></span></h3>
<p><span style="font-weight: 400;"><img loading="lazy" decoding="async" class="wp-image-2873 alignleft" src="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" alt="Paragraph icon" width="101" height="101" srcset="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png 208w, 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" sizes="(max-width: 101px) 100vw, 101px" />W tym krótkim blogu dotyczącym przypadków użycia przedstawiliśmy, w jaki sposób nasza <a href="https://deliverm8.com">platforma do optymalizacji transportu logistycznego</a> pomaga we wspieraniu wykonywania działań ratowniczych w czasie rzeczywistym. Przykład wykorzystania w pełni połączonego systemu dla standardowego użytkownika zajmuje <em><strong>około minuty</strong></em> od wskazania celu do wysłania danych nawigacyjnych do tabletu mobilnego. Istnieje znaczna różnica czasu w porównaniu z poprzednim wykonaniem wszystkich czynności. Ponadto pożądana trasa jest wybierana na podstawie bloku decyzyjnego i informacji wejściowych analizowanych w czasie rzeczywistym. Dodatkowo system udostępnia specjalistyczne narzędzia dostosowane do potrzeb klienta, a mianowicie archiwizację i raportowanie wcześniejszych incydentów oraz ich wizualizację i analizę w dedykowanym responsywnym interfejsie użytkownika.</span></p>
<p><a href="https://inero-software.com/pl/"><span style="color: #800080;"><strong>Inero Software</strong></span></a> oferuje wiedzę i doświadczenie w zakresie skutecznego wykorzystywania najnowocześniejszych technologii i danych do kształtowania korporacyjnych produktów cyfrowych przyszłości.</p>
<p>W sekcji <a href="https://inero-software.com/pl/category/firma/"><span style="color: #800080;"><strong>BLOG</strong></span> </a>można znaleźć inne artykuły dotyczące nowoczesnych rozwiązań dla przedsiębiorstw.</p>
<p></p></div><div class="col-sm-3"></div></div>
<p>Artykuł <a href="https://inero-software.com/pl/zaawansowany-routing/">Jak zaawansowany routing i optymalizacja może wspierać działania w sytuacjach kryzysowych &#8211; przykład użycia</a> pochodzi z serwisu <a href="https://inero-software.com/pl">Inero Software - Rozwiązania IT i Konsulting</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4380</post-id>	</item>
		<item>
		<title>Repozytoria dokumentów w chmurze &#8211; jak rozpoznać odręczne podpisy w zeskanowanych dokumentach PDF</title>
		<link>https://inero-software.com/pl/repozytoria-dokumentow/</link>
		
		<dc:creator><![CDATA[Adrian Chojnacki]]></dc:creator>
		<pubDate>Mon, 07 Feb 2022 09:56:58 +0000</pubDate>
				<category><![CDATA[Blog_pl]]></category>
		<category><![CDATA[Firma]]></category>
		<category><![CDATA[Technologie]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[chmura]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[repozytorium]]></category>
		<category><![CDATA[sztuczna inteligencja]]></category>
		<category><![CDATA[uczenie maszynowe]]></category>
		<category><![CDATA[yolo]]></category>
		<guid isPermaLink="false">https://inero-software.com/?p=4365</guid>

					<description><![CDATA[<p>Widzenie komputerowe i detekcja obiektów są coraz częściej wykorzystywane w automatyzacji procesów biznesowych. Wraz z dynamicznym rozwojem technologii, zwłaszcza sztucznej inteligencji, pojawia się wiele nowych innowacyjnych aplikacji biznesowych dla tego typu algorytmów.</p>
<p>Artykuł <a href="https://inero-software.com/pl/repozytoria-dokumentow/">Repozytoria dokumentów w chmurze &#8211; jak rozpoznać odręczne podpisy w zeskanowanych dokumentach PDF</a> pochodzi z serwisu <a href="https://inero-software.com/pl">Inero Software - Rozwiązania IT i Konsulting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h3></h3>
<p>&nbsp;</p>
<p><span style="font-weight: 400;"><img loading="lazy" decoding="async" class="wp-image-2873 alignleft" src="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" alt="Paragraph icon" width="80" height="80" srcset="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png 208w, 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" sizes="(max-width: 80px) 100vw, 80px" />Widzenie komputerowe i detekcja obiektów są coraz częściej wykorzystywane w automatyzacji procesów biznesowych. Wraz z dynamicznym rozwojem technologii, zwłaszcza <a href="https://inero-software.com/pl/uczenie-maszynowe/">sztucznej inteligencji</a>, pojawia się wiele nowych innowacyjnych aplikacji biznesowych dla tego typu algorytmów. W tym artykule pokażemy Ci, jak zrobić to z YOLO v5, które w ostatnich latach stało się bardziej popularne. Jednym z ważnych aspektów ponad innymi rozwiązaniami jest szybkość wnioskowania. W ramach tego artykułu przedstawimy określony przypadek użycia i wszystkie etapy jego realizacji. Życzymy miłej lektury!</span></p>
<p><img loading="lazy" decoding="async" class="wp-image-2770 aligncenter" src="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png" alt="Separating icon" width="80" height="80" srcset="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png 208w, 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" sizes="(max-width: 80px) 100vw, 80px" /></p>
<h2><span style="color: #800080;"><b>Studium przypadku</b></span></h2>
<p>&nbsp;</p>
<p><span style="font-weight: 400;"><img loading="lazy" decoding="async" class="wp-image-2873 alignleft" src="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" alt="Paragraph icon" width="80" height="80" srcset="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png 208w, 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" sizes="(max-width: 80px) 100vw, 80px" />Podpisy są nadal jedną z najczęstszych metod uwierzytelniania dokumentów. Szczególnie w przypadku aplikacji korporacyjnych, identyfikacja podpisanych i niepodpisanych kopii dokumentów w repozytoriach cyfrowych może być czasochłonna i wymagająca. Jednak automatyzacja wspierana przez uczenie maszynowe może to ułatwić. W tym kontekście opiszemy możliwości detektora YOLO v5 oraz omówimy kwestie wykrywania podpisów na fakturach. Zacznijmy od przykładu pokazanego na poniższym rysunku. Na potrzeby tego badania przygotowaliśmy fałszywą fakturę, dane sprzedawcy, kupującego i samego produktu. Zbadajmy teraz, jak możemy skupić się na odręcznych podpisach (które też są fałszywe).</span></p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-3314 size-full" src="https://inero-software.com/wp-content/uploads/2021/02/invoice.png" alt="faktura" 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 loading="lazy" decoding="async" class="wp-image-2770 aligncenter" src="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png" alt="Separating icon" width="80" height="80" srcset="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png 208w, 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" sizes="(max-width: 80px) 100vw, 80px" /></p>
<h4><span style="color: #800080;"><b>Zbieranie danych</b></span></h4>
<p>&nbsp;</p>
<p><span style="font-weight: 400;"><img loading="lazy" decoding="async" class="wp-image-2873 alignleft" src="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" alt="Paragraph icon" width="80" height="80" srcset="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png 208w, 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" sizes="(max-width: 80px) 100vw, 80px" />Jednym z pierwszych kroków jest zebranie zestawu obrazów do trenowania modelu. Dla naszego przypadku przygotowaliśmy mały zestaw 10 przykładowych szkoleń z fakturami wypełnionymi różnymi danymi i rozszerzyliśmy ten zbiór o dedykowany skrypt w języku Python. Aby to ułatwić, użyliśmy <a href="https://roboflow.ai/">Roboflow</a>, który jest przydatnym narzędziem do tagowania danych. Tutaj możesz przesłać swój zbiór danych i wykonać szybki proces dodawania adnotacji, dokładnie jak na tym GIF-ie.</span></p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" class="wp-image-3310 size-full aligncenter" 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>Dodatkowo możemy wygenerować więcej obrazów wyjściowych z losowymi wartościami obrotu, nasycenia, ekspozycji, szumu, rozmycia i innego rodzaju przekształceń. Co więcej, za pomocą tego narzędzia możemy określić nasz podział danych treningowych, walidacyjnych i testowych &#8211; domyślnie 70%, 10%, 10%. Jest to ważne, ponieważ dzięki temu zapobiegniemy przesunięciu naszego modelu (więcej o tym dowiesz się na tym <a href="http://blog.roboflow.com/train-test-split/">blogu</a>). Dzięki opisanemu narzędziu możemy wyeksportować nasz zbiór danych w <em>formacie YOLO v5 Pytorch</em> i umieścić go w katalogu naszego projektu. Poniższy rysunek przedstawia drzewo selekcji i drzewo docelowe, gdzie jednym z najważniejszych plików jest <strong>data.yml</strong>, który zostanie użyty do uczenia.</p>
<p><img loading="lazy" decoding="async" 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>W naszym przypadku po pierwszym kroku augmentacji o skrypt Pythona generujemy <strong>69</strong> obrazów. Dodatkowo używamy opcji szumu w Roboflow, która pozwala nam ostatecznie wyeksportować <strong>169</strong> przykładów z adnotacjami. Nasze obrazy zostały ostatecznie podzielone, jak pokazano na poniższym rysunku.</p>
<p><img loading="lazy" decoding="async" 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;">Poniżej możesz zobaczyć kilka przykładów:</span></p>
<p><img loading="lazy" decoding="async" data-attachment-id="4939" data-permalink="https://inero-software.com/pl/repozytoria-dokumentow/setcomp-2/" data-orig-file="https://inero-software.com/wp-content/uploads/2022/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/2022/02/setcomp-300x180.gif" data-large-file="https://inero-software.com/wp-content/uploads/2022/02/setcomp-1030x618.gif" tabindex="0" role="button" class="aligncenter wp-image-4939 size-full" src="https://inero-software.com/wp-content/uploads/2022/02/setcomp.gif" alt="train examples" width="1206" height="724" /></p>
<p><img loading="lazy" decoding="async" class="wp-image-2770 aligncenter" src="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png" alt="Separating icon" width="80" height="80" srcset="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png 208w, 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" sizes="(max-width: 80px) 100vw, 80px" /></p>
<p>&nbsp;</p>
<h4><span style="color: #800080;"><b>Konfiguracja i architektura modelu</b></span></h4>
<p>&nbsp;</p>
<p><span style="font-weight: 400;"><img loading="lazy" decoding="async" class="wp-image-2873 alignleft" src="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" alt="Paragraph icon" width="80" height="80" srcset="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png 208w, 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" sizes="(max-width: 80px) 100vw, 80px" />Kolejnym krokiem w tym procesie jest zdefiniowanie konfiguracji i architektury modelu YOLO. Możemy zbudować własną strukturę sieciową, chociaż w wersji 5 mamy do dyspozycji jeden z następujących modeli:</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>Możemy użyć dowolnego z nich, ale pamiętajmy o przypisaniu do pliku docelowego odpowiedniej wartości parametru zwanej <strong>nc</strong> &#8211; <em>liczba klas</em>. W naszym przypadku jest to 1. Modele różnią się między sobą ilością użytych parametrów, szybkością klatek na sekundę (FPS), dokładnością itd.. Na poniższym rysunku widać, jak radzą sobie one z tym samym <a href="https://cocodataset.org/#home">zbiorem danych COCO</a>. Kliknij na obrazek, aby dowiedzieć się więcej.</p>
<p><img loading="lazy" decoding="async" 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 loading="lazy" decoding="async" 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>Szkolenie</b></span></h4>
<p>&nbsp;</p>
<p><span style="font-weight: 400;"><img loading="lazy" decoding="async" class="wp-image-2873 alignleft" src="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" alt="Paragraph icon" width="80" height="80" srcset="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png 208w, 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" sizes="(max-width: 80px) 100vw, 80px" />Co ważne, firma <a href="https://www.ultralytics.com/">Ultralytics</a> udostępnia nam YOLO v5 opracowany w <a href="https://pytorch.org/">PyTorch.</a> Jest to framework wyspecjalizowany w uczeniu maszynowym. Dzięki temu możemy pobrać ich repozytorium z <a href="https://github.com/ultralytics/yolov5">GitHub</a> i wyszkolić własny detektor. Czego jeszcze potrzebujemy, aby wszystko działało dobrze?</span></p>
<p>Aby uruchomić każdy ze skryptów musimy zainstalować zależności zawarte w pliku r<em>equirements.txt</em>. Jeśli używamy <strong>pip</strong>, możemy użyć następującego polecenia w terminalu. Pamiętaj, że musisz znajdować się w katalogu projektu.</p>
<p>&nbsp;</p>
<pre>pip install -r requirements.txt</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>W procesie instalacji problemem może być jedna rzecz. Mianowicie biblioteka <em>PyTorch</em>&#8230;</p>
<p>Inny system operacyjny, używany pakiet, język programowania itp. mogą wymagać określonego polecenia. W tym <a href="https://pytorch.org/get-started/locally/">samouczku</a> znajdziesz wszystko, czego potrzebujesz.</p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">Załóżmy, że spełniłeś wszystkie wymagania. Możesz już rozpocząć szkolenie!</span></p>
<p>&nbsp;</p>
<p>Do uruchomienia tego procesu wystarczy jedna linijka kodu, ale musimy się upewnić, że przygotowaliśmy dwa ważne pliki &#8211; <strong>data.yaml</strong> i np. <strong>yolov5l.yaml</strong>. Pierwszą powinieneś mieć z etapu zbierania danych, a drugą znajdziesz w repozytorium YOLO v5, w katalogu <em>Models</em>.</p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">Przeprowadźmy szkolenie następującą komendą:</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;">Powyższe polecenie jest najprostsze z możliwych. Dodatkowo można zdefiniować następujące opcje lub parametry:</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>Na potrzeby tego artykułu przeprowadziliśmy stosunkowo krótkie szkolenie dla obrazów o rozmiarze zmienionym do <strong>416&#215;416</strong>, wielkości partii <strong>32</strong> i <strong>1500</strong> epok. Po zakończeniu procesu wynikiem będzie plik o nazwie <strong>best.pt</strong>.</p>
<p>&nbsp;</p>
<p>Możesz przerwać proces uczenia się, jeśli w danym momencie Twoje wagi są dla Ciebie optymalne. Szkolenie przerwaliśmy po <strong>650 epokach</strong>, co w sumie trwało około <strong>15 godzin</strong>. Trzeba pamiętać, że używany komputer nie posiada dedykowanej karty graficznej.</p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" data-attachment-id="4940" data-permalink="https://inero-software.com/pl/repozytoria-dokumentow/trainingcomp-2/" data-orig-file="https://inero-software.com/wp-content/uploads/2022/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/2022/02/trainingcomp-300x34.gif" data-large-file="https://inero-software.com/wp-content/uploads/2022/02/trainingcomp-1030x116.gif" tabindex="0" role="button" class="aligncenter wp-image-4940 size-full" src="https://inero-software.com/wp-content/uploads/2022/02/trainingcomp.gif" alt="visualisation of training" width="1888" height="212" /></p>
<h5></h5>
<p>&nbsp;</p>
<h5><strong><span style="color: #800080;">Szczegółowe metryki naszego szkolenia:</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;">gdzie:</span></p>
<p><i><span style="font-weight: 400;">precision</span></i><span style="font-weight: 400;"> &#8211; mierzy, jak trafne są Twoje przewidywania,</span></p>
<p><i><span style="font-weight: 400;">recall </span></i><span style="font-weight: 400;">&#8211; mierzy, jak dobrze oceniasz wszystkie pozytywy,</span></p>
<p><i><span style="font-weight: 400;">mAP_0.5</span></i><span style="font-weight: 400;"> &#8211; średnia precyzja dla IoU* &#8211; 0,5</span></p>
<p><i><span style="font-weight: 400;">mAP_0.5:0.95</span></i><span style="font-weight: 400;"> &#8211; średnia precyzja dla IoU* od 0,5 do 0,95 z krokiem 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; mierzy nakładanie się dwóch granic. Dowiedz się więcej o wskaźnikach <a href="https://jonathan-hui.medium.com/map-mean-average-precision-for-object-detection-45c121a31173">tutaj</a>.</span></p>
<p><img loading="lazy" decoding="async" class="wp-image-2770 aligncenter" src="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png" alt="Separating icon" width="80" height="80" srcset="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png 208w, 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" sizes="(max-width: 80px) 100vw, 80px" /></p>
<h4><span style="color: #800080;"><b>Wnioskowanie</b></span></h4>
<p>&nbsp;</p>
<p><span style="font-weight: 400;"><img loading="lazy" decoding="async" class="wp-image-2873 alignleft" src="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" alt="Paragraph icon" width="80" height="80" srcset="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png 208w, 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" sizes="(max-width: 80px) 100vw, 80px" />Teraz, możemy przejść do wnioskowania na obrazach testowych. Jak pamiętasz, jeden z katalogów wyeksportowanych z <em>Roboflow</em> nazywał się <strong>test</strong>. Możemy z niego skorzystać, wstawiając w terminalu następującą linię.</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>gdzie <em>conf</em> jest ufnością modelu &#8211; wyższy oznacza mniej przewidywań.</p>
<p>&nbsp;</p>
<p>Na koniec możemy zobaczyć wizualizację wyniku. Przybliżony czas wnioskowania na jednym obrazie testowym <strong>416&#215;416</strong> wyniósł <strong>~0,3s</strong>, natomiast dla <strong>700&#215;700 ~0,8s</strong>.</p>
<p><img loading="lazy" decoding="async" data-attachment-id="4941" data-permalink="https://inero-software.com/pl/repozytoria-dokumentow/inferencecomp-3/" data-orig-file="https://inero-software.com/wp-content/uploads/2022/02/inferencecomp.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/2022/02/inferencecomp-300x107.gif" data-large-file="https://inero-software.com/wp-content/uploads/2022/02/inferencecomp-1030x367.gif" tabindex="0" role="button" class="aligncenter wp-image-4941 size-full" src="https://inero-software.com/wp-content/uploads/2022/02/inferencecomp.gif" alt="inference" width="1138" height="406" /><br />
<img loading="lazy" decoding="async" class="aligncenter wp-image-3309 size-full" src="https://inero-software.com/wp-content/uploads/2021/02/10.png" alt="podpisy na fakturze" 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" class="aligncenter wp-image-3313 size-full" src="https://inero-software.com/wp-content/uploads/2021/02/inv_inference.jpg" alt="podpisy na fakturze" 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" class="aligncenter wp-image-3317 size-full" src="https://inero-software.com/wp-content/uploads/2021/02/test_batch0_pred.jpg" alt="podpisy na fakturze" 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 loading="lazy" decoding="async" class="wp-image-2770 aligncenter" src="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png" alt="Separating icon" width="80" height="80" srcset="https://inero-software.com/wp-content/uploads/2019/05/inero-glify-10.png 208w, 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" sizes="(max-width: 80px) 100vw, 80px" /></p>
<h3><span style="color: #800080;"><b>Podsumowanie</b></span></h3>
<p>&nbsp;</p>
<p><span style="font-weight: 400;"><img loading="lazy" decoding="async" class="wp-image-2873 alignleft" src="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png" alt="Paragraph icon" width="80" height="80" srcset="https://inero-software.com/wp-content/uploads/2019/10/inero-glify-08.png 208w, 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" sizes="(max-width: 80px) 100vw, 80px" />Do implementacji opisywanego detektora wykorzystaliśmy tylko 10 obrazów, rozszerzając zbiór danych o proces augmentacji. Dzięki narzędziu Roboflow możliwe było szybkie opisywanie i eksportowanie danych do formatu YOLO. Proces uczenia pozwolił nam uzyskać detektor celu, który skutecznie rozpoznaje podpisy na fakturach.</span></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">Należy pamiętać, że przy tak małym zbiorze danych jest on przystosowany tylko do rozpoznawania podobnych faktur. Gdybyśmy chcieli rozszerzyć możliwości naszego detektora, musielibyśmy wyposażyć się w lepszą kartę graficzną i więcej danych.</span></p>
<p>&nbsp;</p>
<p><a href="https://inero-software.com/pl/"><span style="color: #800080;"><strong>Inero Software</strong></span></a> oferuje wiedzę i doświadczenie w zakresie skutecznego wykorzystywania najnowocześniejszych technologii i danych do kształtowania korporacyjnych produktów cyfrowych przyszłości.</p>
<p>Aby uzyskać więcej informacji, odwiedź nas na naszej <a href="https://inero-software.com/pl/"><strong><span style="color: #800080;">stronie internetowej</span></strong></a> lub śledź nas na <a href="https://www.linkedin.com/company/inero-software/"><span style="color: #800080;"><strong>LinkedIn</strong></span></a>.</p>
<p>Artykuł <a href="https://inero-software.com/pl/repozytoria-dokumentow/">Repozytoria dokumentów w chmurze &#8211; jak rozpoznać odręczne podpisy w zeskanowanych dokumentach PDF</a> pochodzi z serwisu <a href="https://inero-software.com/pl">Inero Software - Rozwiązania IT i Konsulting</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4365</post-id>	</item>
	</channel>
</rss>
