ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA STAVEBNÍ DIPLOMOVÁ PRÁCE

Podobné dokumenty
Vyjadřování přesnosti v metrologii

Měření průtoku kapaliny s využitím digitální kamery

Členění podle 505 o metrologii

TMU. USB teploměr. teploměr s rozhraním USB. měření teplot od -55 C do +125 C. 26. května 2006 w w w. p a p o u c h. c o m

Software pro vzdálenou laboratoř

FORTANNS. 22. února 2010

Posouzení přesnosti měření

Zákon o metrologii, subjekty národního metrologického systému a jejich úkoly

Vyhodnocení 2D rychlostního pole metodou PIV programem Matlab (zpracoval Jan Kolínský, dle programu ing. Jana Novotného)

Připojení přístroje A4101 k aplikaci DDS2000

Databáze pro evidenci výrobků

1 Uživatelská dokumentace

Využití tabulkového procesoru MS Excel

CZ.1.07/2.2.00/ )

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

Univerzální prohlížeč naměřených hodnot

Bezpečnostní systémy - rychlostní kamery Identifikace SPZ a RZ.

SEMESTRÁLNÍ PROJEKT Y38PRO

Interní norma č /01 Průměr a chlupatost příze

BALISTICKÝ MĚŘICÍ SYSTÉM

1. Základní popis programu Nová zkouška Záložka měření Záložka vtisky Záložka report Nastavení 7

Úprava naměřených stavů

Uživatelský manuál. Format Convert V3.1

Kapitola 1: Úvod. 1.1 Obsah balení. 1.2 Požadavky na systém. Česky

Kontingenční tabulky v MS Excel 2010

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Program pro tvorbu technických výpočtů. VIKLAN - Výpočty. Uživatelská příručka. pro seznámení se základními možnostmi programu. Ing.

Autorizovaný software DRUM LK 3D SOFTWARE PRO VYHODNOCENÍ MĚŘENÍ ODCHYLEK HÁZIVOSTI BUBNOVÝCH ROTAČNÍCH SOUČÁSTÍ

Popis funkcí tlačítek jednotlivých modulů programu OGAMA

Zápočtová úloha z předmětu KIV/ZSWI DOKUMENT SPECIFIKACE POŽADAVKŮ

Nastavení TS Leica TC403 pro měření situace registrace měřených dat

Digitální USB mikroskopy

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

T- MaR. Ústav technologie, mechanizace a řízení staveb. Teorie měření a regulace. Podmínky názvy. 1.c-pod. ZS 2015/ Ing. Václav Rada, CSc.

Zaměření vybraných typů nerovností vozovek metodou laserového skenování

ColorNavigator Možnost snadného ručního ( okometrického ) sladění barev na monitoru s tiskem.

Uživatelská příručka MWA Modul Podpora vzdálených kalibrací dle ILAC

Stručný postup k použití programu PL7 Junior (programování TSX Micro)

Příručka pro aplikaci KSnapshot

Grafické vyšetření pro ortodoncii

IntraVUE Co je nového

Meo S-H: software pro kompletní diagnostiku intenzity a vlnoplochy

11. Odporový snímač teploty, měřicí systém a bezkontaktní teploměr

UF300 třístupňová napěťová a frekvenční ochrana

VYSOKONAPĚŤOVÉ ZKUŠEBNICTVÍ. #2 Nejistoty měření

Metoda Monte Carlo a její aplikace v problematice oceňování technologií. Manuál k programu

METROLOGIE ...JAKO SOUČÁST KAŽDODENNÍHO ŽIVOTA

Návod k použití softwaru Solar Viewer 3D

Prostředky automatického řízení Úloha č.1 kalibrace snímačů tlaků

Registrátor teploty a vlhkosti vzduchu a ovlhčení listů

Svolávací systém Uživatelský manuál

Uživatelská příručka MWA Modul Podpora vzdálených kalibrací dle ILAC

Nejistota měř. ěření, návaznost a kontrola kvality. Miroslav Janošík

EXPERIMENTÁLNÍ METODY I. 1. Základy měření

Práce s texty, Transformace rastru, Připojení GPS

TECHNICKÁ NIVELACE (U_6) (určování výšek bodů technickou nivelací)

vzorek vzorek

VYUŽITÍ SNÍMACÍCH SYSTÉMU V PRŮMYSLOVÉ AUTOMATIZACI SVOČ FST 2019

Řešení. ŘEŠENÍ 36 Výsledková listina soutěže

Úvod. OLYMPUS Stream Rychlý návod k obsluze

Mapové služby portálu veřejné správy České republiky a IRZ. Průvodce po mapové aplikaci

Zpravodaj. Uživatelská příručka. Verze

RadioBase 3 Databázový subsystém pro správu dat vysílačů plošného pokrytí

Truss 4.7. Předvolby nastavení tisku

Digitální mikroskop s kamerou 2MP USB 1000X 8 LED + pohyblivý stojánek

SignEditor 1 - návod k použití

Manuál k programu IDP 1.0

Fyzikální laboratoř. Kamil Mudruňka. Gymnázium, Pardubice, Dašická /8

13 Barvy a úpravy rastrového

Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/ Protokol měření. Kontrola a měření závitů

Aplikace pro srovna ní cen povinne ho ruc ení

Porn Detection Stick. Návod k použití. Hlavní výhody produktu:

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.

Simluátor Trilobota. (projekt do předmětu ROB)

ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE

4x standardní vstupy

Návod pro uživatele DS150E. Dangerfield May 2009 V3.0 Delphi PSS

Reranking založený na metadatech

Reprodukce tohoto návodu k obsluze, nebo jeho části, v jakékoli formě bez předchozího písemného svolení společnosti DEGA CZ s.r.o. je zakázána.

Grafika na počítači. Bc. Veronika Tomsová

STRUč Ná Př íruč KA pro Windows Vista

Postupy práce se šablonami IS MPP

54. odborná konference ČKS Lísek u Bystřice,

Technické podmínky systému měření ojetí kolejnic OK-02

Resolution, Accuracy, Precision, Trueness

Excel 2007 praktická práce

Profilová část maturitní zkoušky 2013/2014

Tabulka 1. Výběr z datové tabulky

Návod k obsluze IP kamery Zoneway. IP kamery jsou určené pro odbornou montáž.

Střední odborné učiliště Domažlice, škola Stod, Plzeňská 322, Stod

Leica DISTO TM Laserové dálkoměry

Dealer Extranet 3. Správa objednávek

Connection Manager - Uživatelská příručka

R-5602 DYNBAL_V1 - SOFTWARE PRO VYHODNOCENÍ DYNAMICKÉ NEVÝVAHY V JEDNÉ ROVINĚ ING. JAN CAGÁŇ ING. JINDŘICH ROSA

Návod k obsluze. IP kamera Minitar MWIPC-1510G

CBR Test dimenzač ní čh parametrů vozovek

Pokyny pro obsluhu programu. EZZ01 File reader 1.3

Nastavení TS Leica TS06 pro měření úhlů a délek

Vzorový příklad. Postup v prostředí ISE. Zadání: x 1 x 0 y Rovnicí y = x 1. Přiřazení signálů:

Úloha - rozpoznávání číslic

Transkript:

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA STAVEBNÍ DIPLOMOVÁ PRÁCE PRAHA 2015 Bc. Jaromír KONFRŠT

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA STAVEBNÍ OBOR GEODÉZIE A KARTOGRAFIE DIPLOMOVÁ PRÁCE VÝVOJ SYSTÉMU PRO AUTOMATIZOVANOU OPTICKOU KALIBRACI MĚŘICKÝCH PÁSEM A DALŠÍCH DÉLKOVÝCH MĚŘIDEL Vedoucí práce: Ing. Zdeněk Lukeš, Ph.D. Katedra geomatiky leden 2015 Bc. Jaromír KONFRŠT

ZDE VLOZIT LIST ZADANI Z dvodu sprvnho slovn strnek

ABSTRAKT Předmětem této diplomové práce je vytvoření funkčního softwaru pro automatizovanou optickou kalibraci délkových měřidel. Pro vytvoření tohoto softwaru je použit programovací jazyk C++ v operačním systému Linux. Tento software propojuje přístroje v laboratoři, konkrétně interferometr, krokový motor a mikroskop, které slouží k samotné kalibraci. Pro komunikaci s mikroskopem je použita knihovna OpenCV, jež je volně přístupnou knihovnou pro manipulaci s obrazovými daty. Hlavním cílem tohoto softwaru je použití při kalibraci měřických pásem, ale i jiných přístrojů založených na ryskách (např. nivelační lať). Tato práce se zaměřuje zejména na způsoby čtení rysky a na metody samotné kalibrace, s ohledem na jejich přesnost. KLÍČOVÁ SLOVA kalibrace, programovací jazyk C++, měřické pásmo, ryska ABSTRACT The subject of this thesis, is to create a working automatic optical calibration software for measuring devices. This software is created in programming language C++ and runs under operating system Linux. This software communicates with devices in laboratory such as laser interferometer, stepper motor and microscope. OpenCV library is an open source library used for communication with microscope. The main purpose of this software is application for calibration of measuring tapes, but as well on other measuring devices founded on a graduation. This work focuses on ways of evaluating the graduation and on methods used for calibration. KEYWORDS calibration, programming language C++, OpenCV library, measuring tape, graduation

PROHLÁŠENÍ Prohlašuji, že diplomovou práci na téma Vývoj systému pro automatizovanou optickou kalibraci měřických pásem a dalších délkových měřidel jsem vypracoval samostatně. Použitou literaturu a podkladové materiály uvádím v seznamu zdrojů. V Praze dne................................................. (podpis autora)

PODĚKOVÁNÍ Na tomto místě bych rád poděkoval všem, jež se podíleli na vytvoření této práce. Mé poděkování patří především mému vedoucímu diplomové práce panu Ing. Zdeňku Lukešovi, Ph.D. za poskytnutí rad a připomínek při tvorbě programu. Děkuji také panu Ing. Zdeňku Vyskočilovi, Ph.D. za pomoc v laboratoři při připojování přístrojů k programu. Samozřejmě také velký podíl na této závěrečné práci má podpora celé mé rodiny a především mé přítelkyně.

Obsah 1 Úvod 8 2 Kalibrace délkových měřidel 9 2.1 Zákon č. 505/1990 Sb., o metrologii................... 9 2.2 Současné způsoby kalibrace....................... 10 3 Kalibrační dráha katedry K155 11 3.1 Krokový motor.............................. 11 3.2 Interferometr............................... 11 3.3 Mikroskop................................. 12 4 Teorie kalibrace měřidla softwarem OCS 14 4.1 Filtrace obrazu.............................. 14 4.1.1 Odstranění šumu......................... 15 4.2 Vyhodnocení rysky............................ 16 4.2.1 Nalezení rysky ve snímku.................... 16 4.2.2 Nalezení středu rysky....................... 17 4.3 Kalibrace bez cílení............................ 18 4.3.1 Kalibrace snímku......................... 18 4.3.2 Kalibrace měřidla......................... 20 4.4 Kalibrace s cílením............................ 20 5 Popis zdrojového kódu OCS 23 5.1 Qt..................................... 23 5.1.1 Třída QWizard.......................... 24 5.2 Knihovna OpenCV............................ 25 5.3 Ovládání přístrojů............................ 26 5.3.1 Ovládání motoru......................... 26 5.3.2 Ovládání interferometru..................... 26 5.3.3 Ovládání mikroskopu....................... 27

6 Popis dílčích částí softwaru OCS 29 6.1 Projekt................................... 29 6.1.1 Seance............................... 29 6.2 Připojení přístrojů............................ 30 6.2.1 Mikroskop............................. 30 6.2.2 Motor............................... 31 6.2.3 Interferometr........................... 32 6.3 Průvodce kalibrací............................ 33 7 Výsledky testování softwaru OCS 40 7.1 Testování snímku pořízeného mikroskopem............... 40 7.2 Testování délek pořízených interferometrem.............. 40 7.3 Testování kalibrace bez cílení....................... 41 7.3.1 Určení počtu úseků pro kalibraci snímku............ 41 7.3.2 Přesnost metody......................... 44 7.4 Testování kalibrace s cílením....................... 45 7.4.1 Určení směrodatné odchylky cílení................ 46 7.4.2 Přesnost metody......................... 46 7.5 Porovnání výsledků jednotlivých metod................. 47 7.6 Porovnání s výsledky KLPM....................... 48 8 Závěr 50 Použité zdroje 52 Seznam symbolů, veličin a zkratek 54 Seznam příloh 58 A Elektronická příloha 59 B Úvodní okno systému OCS 60

ÚVOD 1 Úvod Tato diplomová práce se zabývá problematikou kalibrace měřidel založených na ryskách. Při kalibraci se porovnávají skutečné délky mezi dvěma ryskami měřidla s její nominální hodnotou. Jelikož se v současné době při kalibraci pásem stále využívá především způsob, kdy operátor manuálně ztotožňuje střed rysky pomocí nitkového kříže v mikroskopu a následně odečítá délky, je jedním z hlavních cílů této práce vytvořit počítačový program, který by tento proces automatizoval. Konkrétním cílem práce je vytvořit software, který bude komunikovat s přístroji v laboratoři, tedy motorem, laserovým interferometrem a mikroskopem, a který bude provádět operátora procesem kalibrace měřidla. Software má pracovat na principu odečítání středu rysek ze snímků pořízených digitálním mikroskopem, přiřazovat těmto ryskám délkovou hodnotu pomocí interferometru a porovnávat délky mezi ryskami s nominálními hodnotami úseků měřidla. Cílem této práce je však nejen vytvořit program, ale stanovit a otestovat přesnost zvolené metodiky kalibrace měřidla. Při automatizované detekci středu rysky ve snímku je předpoklad dosáhnutí mnohem vyšší přesnosti než při manuálním cílení mikroskopem. V rámci testování byla také testována stabilita měření laserovým interferometrem a přesnost určení středu rysky mikroskopem. Pro vytvoření tohoto softwaru byl zvolen programovací jazyk C++ v operačním systému Linux. Pro komunikaci s mikroskopem byla použita knihovna OpenCV. Vytvořený software je přiložen k diplomové práci na CD. Tato práce je rozdělena do šesti kapitol. První kapitola pojednává o obecném náhledu na kalibraci měřidel. Druhá kapitola popisuje přístroje, které byly softwarem OCS použity při kalibraci měřidla. Třetí kapitola se věnuje teorii kalibrace měřidla vytvořeným softwarem, tedy popisuje metodiku měření. Čtvrtá kapitola stručně pojednává o základních prvcích použitých při tvorbě softwaru. Pátá kapitola popisuje základní části programu a funguje jako stručný návod pro obsluhu tohoto programu. Šestá kapitola se věnuje testování softwaru a porovnání použitých metod kalibrace. 8

Kalibrace délkových měřidel 2 Kalibrace délkových měřidel Kalibrace je činnost, při které se ověřují požadované metrologické vlastnosti měřidel. Při kalibraci se porovnávají metrologické vlastnosti měřidla s etalonem a výstupem této činnosti je kalibrační protokol obsahující odchylky kalibrovaného měřidla od etalonu. 2.1 Zákon č. 505/1990 Sb., o metrologii Účelem tohoto zákona [1] je úprava práv a povinností fyzických osob, právnických osob a orgánů státní správy k zajištění jednotnosti a správnosti měřidel a měření. V 3 zákona se rozdělují měřidla na: etalony, pracovní měřidla stanovená, pracovní měřidla nestanovená, certifikované referenční materiály a ostatní referenční materiály, pokud jsou určeny k funkci etalonu nebo stanoveného nebo pracovního měřidla. Etalonem je dle [1] měřicí jednotka anebo stupnice určité veličiny, sloužící k realizaci a uchovávání této jednotky nebo stupnice a k jejímu přenosu na měřidla nižší přesnosti. Stanovená pracovní měřidla jsou měřidla, která jsou dle vyhlášky č. 345/2002 Sb. stanovena k povinnému ověřování s ohledem na jejich význam. Nestanovená měřidla jsou měřidla, která nejsou etalonem ani stanoveným měřidlem. V našem případě je důležitou informací, že měřické pásmo je jediným stanoveným měřidlem v geodézii, tedy určeno k povinnému ověřování, kalibraci. Doba platnosti ověření tohoto stanoveného měřidla je bez omezení. 9

Kalibrace délkových měřidel 2.2 Současné způsoby kalibrace Specializované laboratoře (VÚGTK, ČMI) mají 30 m kalibrační dráhy, opatřené vozíkem s mikroskopem. Jako etalon je použit laserový interferometr, který měří velmi přesně vzdálenost interferometru a vozíku. Pro čtení rysky pásma je použit mikroskop, kde operátor manuálně (popř. pomocí povelu motoru) ztotožňuje střed rysky s nitkovým křížem uvnitř dalekohledu mikroskopu a po ztotožnění interferometr změří vzdálenost k vozíku. V rámci kalibrace se poté porovnává nominální délka mezi dvěma ryskami zkoumaného měřidla a rozdíl délek změřených interferometrem. S odkazem na dokument [2] národního institutu NIST, kde autor popisuje jednotlivé chyby kalibrace, považuje autor manuální ztotožnění rysky operátorem jako jednu z největších chyb, které jsou do kalibrace zaváděny. Tento závěr podporuje i článek [3], kdy chybu čtení středu rysky operátorem uvádí 5.4 μm. Další článek [4], tentokrát z korejského institutu KRISS, již popisuje automatizovanou kalibrační dráhu. Algoritmus vyhodnocuje rozdíl mezi středem rysky a středem obrazu kamery a tyto informace posílá motoru, který na jejich základě pohybuje vozíkem nesoucím mikroskop a ztotožňuje tyto středy. Na základě tohoto článku [4] byl do systému OCS vložen i tento způsob kalibrace měřidla. Snahou OCS je automatizovat proces kalibrace a eliminovat chybu způsobenou manuálním čtením rysky operátorem. 10

3. KALIBRAČNÍ DRÁHA KATEDRY K155 3 Kalibrační dráha katedry K155 Pro testování softwaru OCS měla být na ČVUT Fakultě stavební pro katedru K155 geomatiky vybudována nová 30 m dlouhá kalibrační dráha pro kalibraci měřických pásem. Tato dráha však do konce termínu odevzdání této práce ještě nebyla dokončena, a proto byl pro testování softwaru použit 3 m dlouhý horizontální komparátor, který se v laboratoři používá pro systémovou kalibraci nivelačních latí a přístrojů. Hlavními částmi komparátoru jsou dráha, krokový motor, interferometr a software pro jeho ovládání. 3.1 Krokový motor Souběžně s pojezdovou dráhou horizontálního komparátoru je namontována hnací trapézová tyč, na kterou je připojen krokový motor s převodovkou. K vozíku pohybujícím se po dráze a nesoucím lať je připevněna deska, která nese otvor se závitem. Tímto otvorem prochází hnací tyč, která svým otáčivým pohybem posunuje vozíkem. Motor je připojen k řídící jednotce, do které se pomocí sériového portu posílají příkazy pro pohyb motoru v mikrokrocích. Rychlost posunu motoru je přibližně 1 m/5 minut a pohyb o 1 mm odpovídá přibližně 25 000 mikrokrokům. 3.2 Interferometr Pro měření délek při kalibraci byl použit laserový interferometr Renishaw 10ML Gold Standard. Tento laserový interferometr slouží k měření délek a zaručuje přesnost měření 0.7 ppm. Komunikace s interferometrem probíhá na základě TCP/IP protokolu. Před každým měřením je třeba do interferometru zasílat atmosférické podmínky, tedy teplotu, tlak a vlhkost vzduchu. V přiložené tabulce 3.1 jsou základní informace o použitém interferometru [5]. 11

3. KALIBRAČNÍ DRÁHA KATEDRY K155 Tab. 3.1: Základní informace interferometru Renishaw 10ML Gold Standard Zdroj laseru Helium-neonová trubice IEC 60825 Vlnová délka ve vakuu 632.9905774 nm Dosah 40 m Dlouhodobá přesnost frekvence ± 0.05 ppm Pracovní teplota 0-40 C Pracovní vlhkost vzduchu 0-95 % 3.3 Mikroskop Pro snímání latě byl použit ruční digitální mikroskop Dino-Lite Premier typu AM41 13ZT s nastavitelnou polarizací světla. Jedná se o 1.3 megapixelový mikroskop s nastavitelným až 200x zvětšením. Nevýhodou tohoto mikroskopu je, že LED diody nejsou automaticky zapnuty připojením USB kabelu do počítače, ale je nutno je zapínat softwarem dodaným výrobcem. Jelikož software výrobce zatím nefunguje v operačním systému Linux, bylo nutné tento defekt obejít vždy zapínáním LED diod ve virtuálně zapojeném operačním systému Windows. Obr. 3.1: Mikroskop Dino-Lite Premier AM4113ZT [7] V přiložené tabulce 3.2 jsou předloženy základní informace o mikroskopu Dino- Lite Premier. Informace o produktu jsou získány z oficiálních stránek firmy Dino-Lite [7]. 12

3. KALIBRAČNÍ DRÁHA KATEDRY K155 Tab. 3.2: Základní informace mikroskopu Dino-Lite Premier Model Dino-Lite Premier Typ AM4113ZT Interface USB 2.0 Rozlišení 1.3 Mpx(SXGA) Zvětšení 20x - 200x Rychlost snímání 30 fps Osvětlení 8 bílých LED diod 13

Teorie kalibrace měřidla softwarem OCS 4 Teorie kalibrace měřidla softwarem OCS Jak již bylo zmíněno v kapitole 2, kalibrací se rozumí porovnávání metrologických vlastností měřidla s etalonem. V našem případě se jedná o porovnání skutečné délky mezi dvěma ryskami měřidla s její nominální hodnotou. Software OCS funguje na tom principu, že na měřidle jsou v určeném kroku pořízeny snímky požadovaných rysek. Středům těchto rysek v jednotlivých snímcích je přiřazena délková hodnota pomocí interferometru. Rozdíly měřených délek mezi středy rysek jsou poté porovnány s nominálními hodnotami a tyto odchylky jsou uloženy do protokolu o kalibraci. Tato kapitola pojednává o zpracování pořízeného snímku a získání středu rysky. Dále jsou rozebrány dvě metody kalibrace, které byly v softwaru OCS použity. Jedná se o metodu bez cílení a o metodu s cílením. 4.1 Filtrace obrazu Při kalibraci softwarem OCS se čtení středu rysky měřidla provádí na snímku převedeném do stupně šedi. Abychom docílili toho, že budeme schopni ve snímku jasně určit přechod mezi pixelem reprezentujícím rysku a pixelem reprezentujícím pozadí, použijeme tzv. prahování. Prahování je funkce, pro kterou dle předpisu (4.1) platí, že všechny hodnoty jasu, které jsou nižší než práh, odpovídají popředí a hodnoty vyšší než práh odpovídají pozadí. 0 pokud f(x, y) < pr ah f (x, y) = 255 pokud f(x, y) >= pr ah, (4.1) kde f (x, y) je hodnota pixelu před filtrací a f (x, y) je hodnota pixelu po filtraci. Protože se však na snímku může tvořit šum, vytvořený např. prachem, nečistotami či drobnými rýhami na měřidle, je třeba tento šum odstranit. 14

Teorie kalibrace měřidla softwarem OCS 4.1.1 Odstranění šumu Pro odstranění šumu byla vytvořena funkce, která pomocí malé matice vyhladí snímek, tedy s ohledem na hodnotu okolních pixelů upravuje centrální prvek matice. Jelikož nepředpokládáme složitost vzniklého šumu, tedy poničení rysek a velkých nečistot, byla pro vyhlazení použita matice 3x3. Jak ukazuje obr. 4.1, algoritmus projde maticí všechny pixely snímku a uvnitř matice, dle předpisu (4.2), v případě splnění podmínky přiřadí centrálnímu prvku novou hodnotu. 0 pokud (i = 0) 4 f(1, 1) = 255 pokud (i = 0) < 4, (4.2) kde f(1, 1) představuje centrální prvek matice a (i = 0) vyjadřuje počet pixelů reprezentujících rysku v matici. Obr. 4.1: Ukázka funkce pro odstranění šumu V případě aplikace této funkce v obr 4.1, by se chybějící černé pixely opravily. 15

Teorie kalibrace měřidla softwarem OCS 4.2 Vyhodnocení rysky Vyhodnocení rysky programem OCS spočívá v hledání středu rysky. Tento proces je rozdělen na dvě části, tedy na nalezení rysky ve snímku a poté na nalezení nejpravděpodobnějšího středu rysky. 4.2.1 Nalezení rysky ve snímku Nalezení rysky probíhá na základě prohledávání vymezené oblasti snímku v řádcích. Algoritmus pracuje na tom principu, že v prohledávaných řádcích hledá nejdelší řadu po sobě následujících pixelů, které reprezentují rysku. Při tomto algoritmu tedy platí předpoklad, že vymezená oblast operátorem obsahuje pouze jednu celou rysku. Na obr. 4.2 je vyobrazeno jakým způsobem program vyhledá rysku. Obr. 4.2: Nalezení rysky a eliminování nečistot (vlevo původní snímek, vpravo upravený snímek) Jak je vidět v obr. 4.2, algoritmus ve všech řádcích dokázal vyhledat nejširší reprezentaci rysky a ostatní nečistoty, v tomto případě rýhy v blízkosti rysky, přeskočil a pro přehlednost je obarvil. 16

Teorie kalibrace měřidla softwarem OCS 4.2.2 Nalezení středu rysky V algoritmu se při vyhledání rysky uloží do vektoru horizontální snímková souřadnice jeho středu v jednotlivých řádcích snímku. V dalším kroku se algoritmus snaží vyhledat nejpravděpodobnější střed rysky. Nejprve je tedy spočten aritmetický průměr středů rysky a vypočte se výběrová směrodatná odchylka středu rysky σ x. Jelikož se v tomto výběru mohou vyskytovat odlehlé, či chybné středy rysek, kontrolují se všechny středy pomocí mezní ochylky, která znamená součin směrodatné odchylky a koeficientu spolehlivosti. δ xm = σ x u p, (4.3) kde u p je koeficient spolehlivosti, který byl zvolen 2.5, tedy odpovídající pravděpodobnosti jednorozměrné veličiny 98.5%. Touto mezní odchylkou jsou kontrolovány všechny rozdíly od průměru. V případě, že rozdíl určení středu rysky od průměru překračuje tuto hodnotu, je tento řádek z výpočtu odstraněn, a proces výpočtu středu rysky je opakován do té doby, než žádný rozdíl určení středu rysky nepřekračuje tuto mezní hodnotu. Po vyhodnocení středu rysky se ve finálním obraze vytvoří křížek v místě, kde byl tento střed identifikován. Jelikož hodnota určeného středu je v desetinách pixelu, je tato hodnota při vytvoření křížku zaokrouhlena na celé pixely. Na obr. 4.3 je vidět celý proces zpracování obrazu programem OCS. Obr. 4.3: 1. Obrázek ve stupních šedi, 2. Aplikované prahování, 3. Aplikované odstranění šumu, 4. Určen střed rysky a vyznačen do obrazu 17

Teorie kalibrace měřidla softwarem OCS 4.3 Kalibrace bez cílení První metodou je kalibrace bez cílení. Tato metoda předpokládá, že rysky určené ke kalibraci měřidla nebudou vždy na totožném místě snímku a délky měřené interferometrem se tedy musejí opravovat v závislosti na pozici středu rysky ve snímku. Touto metodou je míněn proces, kdy před samotnou kalibrací měřidla jsou nejprve určeny vzdálenosti ve snímku, tedy že hodnotě určeného středu rysky lze přisoudit odpovídající vzdálenost v závislosti na pozici ve snímku. Proces určení vzdáleností ve snímku je nazván kalibrace snímku. 4.3.1 Kalibrace snímku Tento proces je založen na myšlence, kdy při průběhu kalibrace jsme schopni v závislosti na pozici středu rysky v obraze přiřadit této pozici hodnotu v jednotkách metru, resp. milimetru, viz obr. 4.4. 4.8 4 Délka ve snímku [mm] 3.2 2.4 1.6 0.8 0 0 100 200 300 400 500 600 700 800 900 1000 1100 1200 Horizontální snímková souřadnice [px] Obr. 4.4: Graf výsledné kalibrace snímku Samotný proces kalibrace snímku probíhá tak, že operátor vybere rysku pro kalibraci a definuje počet čtení na snímku. Program poté vyšle povel motoru o posunutí kamery o 0.3 mm (Pozn. Je nutné, aby po posunutí kamery o 0.3 mm byla celá ryska stále uvnitř definované horizontální oblasti). Z tohoto malého posunu se 18

Teorie kalibrace měřidla softwarem OCS vypočte koeficient pro přepočet velikosti pixelu ku kroku motoru. Poté program přejede ryskou na začátek snímku, v závislosti na počtu zvoleného čtení rozdělí pravidelně kalibrovanou oblast snímku a provede kalibraci snímku. O určení počtu úseků pojednává kapitola 7.3.1. Do připravených vektorů se vždy uloží horizontální snímková souřadnice středu rysky a jemu odpovídající délka změřená interferometrem, kdy prvnímu určenému středu rysky je přiřazena hodnota 0. Program OCS vytvoří operátorovi také informativní graf, obr. 4.5, s velikostmi pixelů v jednotlivých kalibrovaných úsecích. 6.52 6.48 6.44 Velikost pixelu [µm] 6.4 6.36 6.32 6.28 6.24 0 100 200 300 400 500 600 700 800 900 1000 1100 1200 Horizontální snímková souřadnice [px] Obr. 4.5: Graf velikosti pixelu v jednotlivých úsecích Velikost pixelu ve snímku je závislá na vzdálenosti mikroskopu od měřidla a na jeho zvětšení. Na základě procesu odstranění šumu a zjištění středu rysky se doporučuje, aby byla pro kalibraci vybrána kvalitní ryska. Pro kalibraci snímku jako takovou, však není třeba používat rysku kalibrovaného měřidla. Může být vytvořena kvalitní "umělá" ryska, přes kterou se před každým měřením bude snímek kalibrovat. Proces kalibrace snímku je třeba vykonávat před každou kalibrací měřidla při zvolené metodě bez cílení. 19

Teorie kalibrace měřidla softwarem OCS 4.3.2 Kalibrace měřidla Operátor musí před kalibrací měřidla již pouze nadefinovat hodnotu počáteční rysky kalibrace, krok po kterém budou rysky pořízeny a hodnotu konečné rysky. Poté již pouze stačí nastavit mikroskop tak, aby snímal počáteční rysku kalibrovaného úseku a algoritmus provede kalibraci. Při každém pořízení rysky se přečte vzdálenost měřená interferometrem a opraví se o polohu středu rysky ve snímku dle vzorce: l i = l interf l image, (4.4) kde l i je opravené čtení interferometru na dané rysce měřidla. Dále se vypočte rozdíl mezi skutečnou pozicí na lati a měřenou délkou dle vzorce: d i = p i l i, (4.5) kde d je rozdíl pozice na lati p a opraveného čtení interferometru l na i-té pozici. Nakonec se vypočtou odchylky od nominální hodnoty zredukováním všech vypočtených rozdílů vůči počáteční rysce dle vzorce: s i = d i d 1, (4.6) kde s je rozdíl od nominální hodnoty vůči počátku kalibrovaného úseku. 4.4 Kalibrace s cílením Metoda kalibrace s cílením pracuje na tom principu, že algoritmus pohybuje motorem dokud snímková souřadnice středu rysky není totožná se snímkovou souřadnicí středu snímku. Volba souřadnice středu snímku byla zvolena pouze pro přehlednost a orientaci a lze v podstatě zvolit kteroukoliv jinou souřadnici (samozřejmě s ohledem na šířku rysky). 20

Teorie kalibrace měřidla softwarem OCS Obr. 4.6: Ztotožnění středu rysky se středem snímku Před začátkem operátor vybere počáteční rysku, nastaví krok a konečnou rysku kalibrovaného úseku a spustí kalibraci bez nutnosti kalibrace snímku, jelikož algoritmus se snaží pořídit snímek tak, aby byl střed rysky vždy na stejném místě snímku. Jakmile je střed rysky totožný se středem snímku, viz obr. 4.6, interferometr přečte délku a posune motor přesně o krok kalibrace od nalezeného středu rysky. Jelikož střed rysky se nevypočítává na celé pixely, ale tento střed reprezentuje desetinné číslo, musely být s ohledem na schopnost minimálního pohybu motoru určeny podmínky pro cílení: Pokud střed rysky byl určen na obou stranách intervalu ± 0.3 px od středu snímku, hodnota středu rysky se určí interpolací mezi těmito dvěma určeními. Pokud střed rysky je v intervalu ± 0.3 px od středu snímku a program přečte střed rysky na jedné straně intervalu alespoň 4-krát, interferometr přečte délku a mikroskop se posune na další kalibrovanou rysku. V případě, že se motoru nepodařilo ani 10-krát přiblížit ke středu snímku tak, aby byly splněny výše uvedené podmínky, interferometr přečte délku a posune se na další kalibrovanou rysku. Kalibrace měřidla metodou s cílením spočívá pouze v měření délek interferometrem na zvolených ryskách měřidla. Výpočet odchylky od nominální hodnoty poté 21

Teorie kalibrace měřidla softwarem OCS probíhá obdobným způsobem jako v odst. 4.3.2, pouze není nutné opravovat čtení interferometru o pozici rysky ve snímku, jelikož se vždy nachází na stejném místě snímku (s ohledem na předchozí podmínky). 22

Popis zdrojového kódu OCS 5 Popis zdrojového kódu OCS V této kapitole se budu zabývat informacemi o zdrojovém kódu. Celý software OCS je vyvinut v programovacím jazyce C++ [8] v prostředí operačního systému Linux. Pro vytvoření grafického prostředí byla použita multiplatformní knihovna Qt. Pro komunikaci s mikroskopem byla použita knihovna OpenCV [9]. 5.1 Qt Qt je multiplatformní knihovna vyvinutá převážně pro GUI (Graphical User Interface) aplikace, ale také pro konzolové aplikace používané například pro operace se soubory, databázemi a síťovou komunikaci. Prvním vývojářem v roce 1991 byla norská softwarová firma Trolltech. V roce 2008 získala Trolltech finská společnost Nokia a změnila název na Qt Software. Od té doby Nokia zaměřovala vývoj Qt jako hlavní platformy pro její zařízení. Během roku 2011, kdy Nokia založila své produkty na operačním systému Windows, prodala Qt Software finské softwarové společnosti Digia. Tato společnost nyní zodpovídá za všechny Qt aktivity zahrnující vývoj, reklamu a licencování jejich softwaru. Qt knihovna má široké uplatnění a rozděluje se do několika modulů, jako jsou např. QtGui, která je hlavní knihovnou pro používání tzv. Widgetů (grafických komponent), jakým je např. klasické tlačítko, textové pole nebo roletový seznam, QtXml operující s dokumenty ve formátu XML a QtSql pro práci s databázemi. K vytvoření aplikace OCS bylo použito vývojové prostředí Qt Creator. Lze jej použít samostatně nebo v kombinaci s knihovnami Qt a vývojovými nástroji jako kompletní Qt SDK (Software Development Kit). Toto prostředí jako celek již obsahuje kompilátor, debugger, editor kódu a dokonce i velice povedené prostředí pro přímé vytváření aplikace pomocí interaktivního přidávání jednotlivých widgetů do samotné aplikace. Při vytvoření nové aplikace/projektu udržuje Qt Creator pohromadě všechny potřebné soubory pomocí.pro souboru, ve kterém jsou uloženy odkazy na všechny používané knihovny, hlavičkové a zdrojové soubory. 23

Popis zdrojového kódu OCS Při tvorbě aplikace je třeba mezi sebou propojit jednotlivé komponenty, aby spolu mohly komunikovat. O tuto komunikaci mezi grafickými komponenty, ale i klasickými třídami se v Qt starají tzv. signály a sloty. Fungují na tom principu, že pokud část programu vyšle signál, který je připojen na slot, tento slot se provede v závislosti na typu spojení. Na sloty lze pohlížet jako na obyčejné funkce, které se dají také jako funkce používat. Samotné spojení zprostředkovává funkce QObject::connect, která pomocí klíčových slov SIGNAL() a SLOT() k sobě daný signál a slot připojí. Obecně lze k jednomu signálu připojit více slotů. Jednou z hlavních knihoven Qt, která byla při tvorbě aplikace OCS použita, je knihovna QWizard. 5.1.1 Třída QWizard Pro přehlednost operací v softwaru OCS byla jednou z hlavních tříd použita právě třída QWizard a s ní úzce související třída QWizardPage, která v důležitých částech programu vytváří průvodce dialogovými okny. Velká výhoda průvodce spočívá v tom, že jednotlivé strany lze nadefinovat odděleně, zaměřit jednotlivou stranu pouze pro danou úlohu a poté pomocí spojení s hlavním průvodcem mezi sebou předávat jednotlivé hodnoty. Ve všech průvodcích bylo mimo jiné nadefinováno tlačítko Help, které uživateli poskytne základní informace o nutných úkonech na dané stránce. Další výhodou je kontrola nad tlačítkem Next, tedy možnost nadefinovat případ, kdy je/není možno pokračovat na další stranu. O tuto kontrolu se stará funkce bool QWizardPage::isComplete() a signál void QWizardPage::completeChanged(). Pokud program vyšle signál completechanged() a návratová hodnota funkce iscomplete() je true, poté je možno pokračovat na další stranu. Tímto způsobem lze například kontrolovat již existující adresář při vytvoření nového projektu nebo vynechání nezbytných částí na dané straně. 24

Popis zdrojového kódu OCS 5.2 Knihovna OpenCV OpenCV je volně šiřitelná multiplatformní knihovna [9] zaměřená na počítačové vidění (angl. computer vision) a pro práci s obrazovými daty v reálném čase. Knihovna je vytvořena v programovacím jazyce C++ a i jeho základním rozhraním je právě C++. Je však nicméně již plně použitelná také v jazycích Java, Python a Matlab/Octave. Jak ukazuje obr. 5.1, knihovna je rozdělena na čtyři hlavní složky. Složka CV obsahuje základní zpracování obrazu a složitější algoritmy pro počítačové vidění. MLL (Machine Learning Library) je složka pro strojové učení, které obsahuje mnoho statistických klasifikátorů (algoritmy, které implementují klasifikaci). HighGUI obsahuje nástroje pro ukládání a načítání videa a snímků. CXCore obsahuje základní datové struktury a kreslící funkce. Obr. 5.1: Struktura OpenCV [9], str. 13 25

Popis zdrojového kódu OCS 5.3 Ovládání přístrojů V následujících odstavcích bude popsán způsob připojení jednotlivých přístrojů k softwaru OCS. 5.3.1 Ovládání motoru Krokový motor je připojen k počítačí pomocí seriového portu. Hlavní část třídy t_generalmotor, pro posun motorem, byla s dovolením vedoucího práce převzata z programu DLSC (software vytvořený pro automatickou kalibraci digitální nivelační latě), vyvinutého právě vedoucím práce. Třída byla však upravena, jelikož v původní instanci nebylo možné v rámci funkcí definovat vlastnosti motoru jako počáteční rychlost, rychlost motoru a akcelerace. Tato funkce byla upravena zejména pro použití této třídy na jiné motory než na motor na horizontálním komparátoru, tedy aby byl operátor schopen měnit vlastnosti motoru při případném použití jiného motoru. Mezi základní povely pro motor patří initialize, tedy funkce připojující motor přes sériový port. Dále je to movenumsteps, tedy funkce pro posun motoru o daný počet mikrokroků a nová funkce loadspeed pro nadefinování rychlostních vlastností motoru. 5.3.2 Ovládání interferometru Laserový interferometr je připojen přes USB port prostřednictvím firemního interface DX10 do počítače. Přímé zasílání dat přes USB kabel je však díky absenci ovladače nemožné, proto byl pro katedru vytvořen Ing. Jiřím Matouškem program, který pracuje na principu TCP/IP protokolu. Na stolním počítači v laboratoři, ke kterému je připojen interferometr, je pod adresou tohoto počítače vytvořen TCP/IP port, na který se mohou v rámci sítě připojovat ostatní počítače. Dalším důležitým programem na stolním počítači je právě program TCP tunel, který toto spojení v síti zprostředkovává. Knihovna pro ovládání interferometru t_matousekinterferometer byla převzata z programu DLSC a disponuje základními funkcemi getmeasurement, který zadá 26

Popis zdrojového kódu OCS povel interferometru pro změření délky a funkce setatmosphere, tedy nastavení atmosférických podmínek v průběhu měření, mezi které patří teplota, tlak a vlhkost vzduchu. 5.3.3 Ovládání mikroskopu Použitý mikroskop je připojen pomocí USB portu. Pro ovládání mikroskopu byla vytvořena třída VideoCl, která komunikuje s mikroskopem pomocí knihovny OpenCV. Při připojení mikroskopu/kamery knihovna OpenCV kategorizuje kamery pouze pod číselnými indexy. Pro přehlednější ovládání při volbě kamery v případě připojení více kamerových zařízení bylo třeba vytvořit funkci pro přiřazení jmen kamer těmto indexům. Pro tuto funkci byla vytvořena funkce GetAvailableCameras, která nejprve zjistí počet připojených kamer dle indexů a poté ve složce /sys/class/video4linux/ pomocí těchto indexů najde jména připojených kamer a uloží je do vektoru, kde pozice uvnitř vektoru představuje index kamery. Další zajímavou funkcí je zjištění dostupných rozlišení kamery. Protože knihovna OpenCV nedisponuje automatickou detekcí dostupných rozlišení připojené kamery, byla proto vytvořena funkce GetCameraResolutions, která otestuje dostupná rozlišení až do meze 5000px a uloží je do vektoru. Pro ukládání rozlišení byla vytvořena struktura Resolution obsahující šířku a výšku dostupného rozlišení. Připojení kamery pro snímání zajišťuje funkce ConnectCamera, kam se jako parametry uvádí index kamery, šířka a výška zvoleného rozlišení. Po připojení kamery je nyní možno spustit samotné snímání. Toto snímání využívá třídu QTimer, tedy časovač, který po zapnutí pomocí funkce VideCl->Start- Video() každých 35 ms uloží obraz do matice s velikostí odpovídající použitému rozlišení. Tento časovač je možno kdykoliv vypnout pomocí funkce VideoCl->Stop- Video(). Pro použití videa je vytvořen signál, kdy při každém vyslání signálu QTimeru, se pošlou právě sejmutá obrazová data skrz třídu QPixmap do připojeného slotu. Typ vyslaných obrazových dat je závislý na typu aktuálního nastavení třídy VideoCl. Tímto nastavením je myšleno, zdali se jedná o barevný obraz, obraz převedený do stupňů šedi, či pokud je na obraz ve stupních šedi aplikována prahová funkce (4.1) 27

Popis zdrojového kódu OCS UseThreshold. Pro sejmutí pouze jednoho obrazu např. při samotné kalibraci, slouží funkce GetMatrix. Obr. 5.2: Funkce v hlavičkovem souboru třídy VideoCl 28

Popis dílčích částí softwaru OCS 6 Popis dílčích částí softwaru OCS V následující kapitole budou stručně popsány jednotlivé části softwaru OCS, struktura a základní postup práce s programem. 6.1 Projekt Základní jednotkou pro ukládání operací v rámci programu OCS je projekt. Pro založení nového projektu byl vytvořen průvodce, který operátora provede základními informacemi o projektu, viz. obr. 6.1. Obr. 6.1: Průvodce založením projektu Po založení projektu se ve vybrané složce vytvoří textový dokument P roject Inf o.ini, který obsahuje základní informace o projektu, tedy o jaké měřidlo se jedná, délkové jednotky měřidla, celkovou délku měřidla a identifikační číslo. Samozřejmě je možné otevřít již vytvořený projekt, který získá informace právě z.ini souboru projektu. Projekt tedy popisuje základní informace o měřidle, ale pro samotnou kalibraci je třeba vytvořit seanci. 6.1.1 Seance Seance je jednotka projektu, která ukládá jednotlivé kalibrace. Tato struktura byla vytvořena pro přehlednost opakovaných kalibrací pro jedno měřidlo. Pro vytvoření 29

Popis dílčích částí softwaru OCS seance, viz obr. 6.2, je třeba do programu zadat pouze jméno nové seance a jméno operátora, který kalibraci provádí. Tato informace má pouze informativní charakter. Obr. 6.2: Průvodce založením seance Při vytvoření nové seance se do adresáře projektu vytvoří nová složka pojmenovaná jménem seance a do této složky se vytvoří nový textový dokument Session Inf o.ini obsahující jméno operátora. Při otevření projektu, který již obsahuje seance, se automaticky do OCS načtou i všechny seance v tomto projektu. 6.2 Připojení přístrojů K připojení přístrojů slouží tzv. Connection tool. Tento nástroj je rozdělen do tří částí, tedy připojení mikroskopu, motoru a laserového interferometru. 6.2.1 Mikroskop Při zapnutí nástroje se v levém horním rozbalovacím seznamu zobrazí dostupná zařízení, která jsou schopná získávat obrazová data. Při stisknutí tlačítka Connect, se zvolené zařízení aktivuje a v dolní části nástroje se zobrazí obrazový výstup zařízení. V tomto nástroji je možno snímat fotografie a ukládat je do zvoleného adresáře. 30

Popis dílčích částí softwaru OCS Pomocí skupinového přepínače je možné měnit mezi barevným výstupem nebo výstupem převedeným do stupňů šedi, případně ještě použít prahovou funkci v závislosti na zvoleném prahu. Obr. 6.3: Nástroj pro připojení kamery 6.2.2 Motor Jelikož je motor připojen přes sériový port, je nutné nejprve nastavit parametry přenosu. V rozbalovacích seznamech je nutné před připojením nastavit název portu, přenosovou rychlost, paritní bit, datový bit a stop bit. Při správném nastavení je možné stisknout tlačítko Connect pro připojení. V případě správného nastavení se vypíše pod tlačítkem hláška Connected. 31

Popis dílčích částí softwaru OCS Obr. 6.4: Nástroj pro připojení motoru V případě, že je již připojen interferometr, motor se posune o 100 000 mikrokroků a z tohoto posunu pomocí měření interferometru se vypočte koeficient pro přepočet mezi mm a mikrokroky. V prostřední části připojovacího okna motoru lze měnit rychlostní parametry motoru, tedy počáteční rychlost, rychlost a akceleraci. Hodnoty těchto veličin jsou načteny z inicializačního souboru softwaru OCS. V dolní části okna je poté možné dávat příkazy motoru a to buď v mikrokrocích, nebo v případě již připojeného interferometru i v mm. 6.2.3 Interferometr Interferometr komunikuje s počítačem pomocí TCP/IP portu. Pro připojení je nutné zadat IP adresu a port, přes který budou interferometru posílány příkazy. Jako v předchozím případě, pokud je po přípojení interferometru připojen i motor, spustí se již zmíněný proces pro výpočet koeficientu pro přepočet. V prostřední části okna interferometru, je třeba vždy interferometru poslat atmosférické podmínky v laboratoři. Konkrétně se jedná o teplotu, tlak a vlhkost vzduchu. 32

Popis dílčích částí softwaru OCS V dolní části okna je poté vytvořena tabulka pro odečítání délek, kde se posledně měřená délka uloží do připravené tabulky. Obr. 6.5: Nástroj pro připojení interferometru 6.3 Průvodce kalibrací V následující kapitole budou stručně vysvětleny hlavní části vytvořeného průvodce pro proces kalibrace měřidla. Schéma 6.6 ukazuje jednotlivé části průvodce a jejich návaznost. 33

Popis dílčích částí softwaru OCS Obr. 6.6: Schéma průvodce kalibrací V prvním kroku je nejprve nutné zaostřit obraz a natočit obraz tak, aby rysky byly ve snímku ve vertikální poloze. Dalším krokem, obr. 6.7, je výběr vertikální oblasti, která určuje řádky ve snímku, které budou použity pro výpočet středu rysky. Výběr oblasti dává operátorovi možnost vynechat část snímku na krajích, kde by rysky mohly být rozmazané či poškozené. 34

Popis dílčích částí softwaru OCS Obr. 6.7: Nastavení vertikální oblasti pro výpočet středu rysky Dalším krokem, obr. 6.8, je výběr metody kalibrace, kterou operátor chce použít. Jedná se o metodu bez cílení a o metodu s cílením. Obr. 6.8: Volba použité metody kalibrace V případě výběru první možnosti je nejprve třeba určit rysku, která bude použita pro kalibraci snímku, obr. 6.9. 35

Popis dílčích částí softwaru OCS Obr. 6.9: Volba rysky použité pro kalibraci A po nastavení parametrů se provede kalibrace snímku pomocí vybrané rysky, obr. 6.10. Obr. 6.10: Kalibrace snímku 36

Popis dílčích částí softwaru OCS Dalším krokem je již nastavení parametrů samotné kalibrace, obr. 6.11. Do tohoto kroku se operátor dostane přímo v případě volby metody kalibrace s cílením na střed rysky. V tomto kroku se operátor řídí pokyny v pravé části okna. V případě dlouhých měřidel je přidána funkce pro zkontrolování poslední rysky, tedy že motor přejede na poslední rysku nastaveného kalibrovaného úseku a operátor zkontroluje, zda se uvnitř linií definující rysku nachází poslední ryska, v opačném případě nastaví linie, popř. přejede pomocí motoru, na správnou rysku a program si spočte opravu skutečné délky měřidla a přejede automaticky na počáteční rysku. V případě, že měřidlo nemá rovnoměrně nastavené rysky, je možno do programu nahrát jednotlivé kroky ze souboru. V případě, že kalibrace probíhá v opačném směru, než je pohyb motoru, zaškrtne se možnost Swap motor movement. Obr. 6.11: Nastavení kalibrace Při potvrzení nastavení kalibrace program OCS začne kalibrovat měřidlo pomocí zvolené metody. V průběhu kalibrace, obr. 6.12, se operátorovi ukazují vyhodnocené rysky spolu s tabulkou měřených hodnot a vykreslením grafu odchylek měřidla vůči počáteční rysce. 37

Popis dílčích částí softwaru OCS Obr. 6.12: Průběh kalibrace Veškeré hodnoty se ukládají do adresáře zvolené seance a je vytvořen jednoduchý soubor obsahující základní informace o provedené kalibraci, viz. obr. 6.13. 38

Popis dílčích částí softwaru OCS Obr. 6.13: Protokol kalibrace 39

Výsledky kalibrace 7 Výsledky testování softwaru OCS V této kapitole budou shrnuty výsledky při testování softwaru OCS. Pro testování softwaru byla použita digitální nivelační lať. V závěru byl software OCS otestován a porovnán s výsledky programu KLPM vytvořeného Ing. Václavem Vlkem pro kalibraci digitálních nivelačních latí. 7.1 Testování snímku pořízeného mikroskopem Smyslem tohoto testu, bylo zjistit, zda při opakovaném snímání jedné stejné rysky (bez pohybu motorem), dojde ke změně určení středu rysky. Tímto testem byla tedy testována nejen kvalita mikroskopu, ale také stabilita určení středu rysky. Pro tento test bylo pořízeno celkem 200 snímků rysek na digitální nivelační lati. V přiložené tabulce 7.1 je výsledek detekce středu mikroskopem. Tab. 7.1: Detekce středu mikroskopu Počet snímků σ Detekce [px] 200 0.056 Při velikosti pixelu 5.5 μm je chyba vzniklá pořízením snímku mikroskopem σ Detekce = 0.31 μm. 7.2 Testování délek pořízených interferometrem V rámci práce se softwarem OCS, byla testována stabilita měřených délek interferometrem při neměnné vzdálenosti mezi odrazným hranolem a interferometrem. Pro tento test bylo interferometrem přečteno 100 čtení a vypočítána směrodatná odchylka. Tato čtení byla přečtena v okamžitém sledu a nepředpokládá se, že by se během této doby změnily atmosférické podmínky, které by ovlivnily výpočet směrodatné odchylky. 40

Výsledky kalibrace V přiložené tabulce 7.2 je uvedena směrodatná odchylka čtených hodnot interferometrem. Tab. 7.2: Testování interferometru Počet čtení směrodatná odch. [μm] 100 0.12 Tento výsledek odpovídá použitému interferometru viz kapitola 3.2. Do této směrodatné odchylky nevstupuje směrodatná odchylka určení délky interferometrem, kterou uvádí výrobce 0.7 ppm. 7.3 Testování kalibrace bez cílení V rámci testování této metody bylo nejprve třeba určit vhodný počet úseků pro kalibraci snímku a její přesnost. Poté byla provedena sada měření na digitální nivelační lati a skrze porovnání kalibrací byla určena odchylka této metody. Důležitým sledovaným kritériem při kalibraci byla i časová náročnost měření. 7.3.1 Určení počtu úseků pro kalibraci snímku Při kalibraci s použitím kalibrace snímku bylo třeba zjistit, jaký vliv na přesnost má počet čtení zvolených při kalibraci snímku. Postup pro určení této přesnosti byl zvolen následující. Pro kalibraci snímku bylo zvoleno rozdělení snímku na 241 úseků, což ve snímku odpovídalo kroku přibližně 2.5 pixelu. Tímto způbem byla provedena kalibrace snímku, viz. obr. 7.1. 41

Výsledky kalibrace 7.65 7.2 Velikost pixelu [µm] 6.75 6.3 5.85 5.4 4.95 0 100 200 300 400 500 600 700 800 900 1000 1100 Sloupec snímku [px] Obr. 7.1: Průběh velikosti pixelu při rozdělení na 241 úseků Pro stanovení přesnosti byl zvolen postup, že tento velký soubor byl rozdělen na části simulující kalibraci. Pro kalibraci byl poté použit každý druhý, čtvrtý,..., dvacátý úsek a délka pro ostatní úseky byla vyinterpolována a porovnala se s přímo měřenou. Z rozdílů měřených a vyinterpolovaných hodnot byla poté spočtena směrodatná odchylka pro jednotlivý počet úseků použitých pro kalibraci snímku. Tabulka č. 7.3 a obr. 7.2 ukazuje vývoj směrodatné odchylky při použitém počtu úseků. 42

Výsledky kalibrace Tab. 7.3: Testování kalibrace snímku Počet úseků σ KalSnimku [μm] 121 0.83 61 0.95 41 1.02 31 1.00 25 0.97 21 1.09 19 1.07 16 1.06 15 1.06 13 1.01 1.08 1.035 Směrodatná odchylka [µm] 0.99 0.945 0.9 0.855 0 10 20 30 40 50 60 70 80 90 100 110 120 Počet úseků pro kalibraci Obr. 7.2: Graf vývoje směrodatné odchylky v závislosti na počtu použitých kalibračních úseků Jak je vidět z uvedeného grafu, volbou počtu použitých úseků není zásadním způsobem ovlivněna přesnost metody. Aby byla zachována co největší přesnost s ohledem na dobu kalibrace snímku, bylo pro pozdější testování softwaru použito vždy 40 úseků. 43

Výsledky kalibrace 7.3.2 Přesnost metody Přesnost metody byla testována na opakované kalibraci digitální nivelační latě. Testovací úsek latě byl zvolen přibližně 2 metry, pro kalibraci bylo použito celkem 35 nejmenších rysek, které byly vybrány tak, aby mezi po sobě jdoucími ryskami byla vzdálenost alespoň 40 mm (Pozn. Rysky na digitální nivelační lati mají různou šířku a pro kalibraci byly vybrány ty s nejmenší šířkou 2,025 mm). Do výpočtu směrodatných odchylek vstupují hodnoty z celkového počtu 8 nezávislých kalibrací. Důležitým kritériem při testování nebyla pouze přesnost, ale také časová náročnost kalibračního procesu. Při proměřování latě byla lať natočena tak, aby s narůstající určovanou délkou na lati narůstala i vzdálenost měřená interferometrem. 17.5 Rozdíly od nominální hodnoty [µm] 14 10.5 7 3.5 0 600 800 1000 1200 1400 1600 1800 2000 2200 Pozice na lati [mm] Obr. 7.3: Graf průběhu kalibrace metodou bez cílení Obr. 7.3 znázorňuje vždy odchylku délky mezi kalibrovanou a první ryskou. Jak je vidět, rozptyl hodnot se s větší délkou měřenou interferometrem postupně zvyšuje. Na obr. 7.4 je zobrazen průběh směrodatné odchylky na jednotlivých kalibrovaných ryskách digitální nivelační latě. V tab. 7.4 je poté uvedena celková směrodatná odchylka celé kalibrace pomocí metody bez cílení. 44

Výsledky kalibrace Tab. 7.4: Celková směrodatná odchylka metody bez cílení σ 1.Metoda 1.84 μm 2.7 2.25 Směrodatná odchylka [µm] 1.8 1.35 0.9 0.45 0 600 800 1000 1200 1400 1600 1800 2000 2200 Pozice na lati [mm] Obr. 7.4: Graf průběhu směrodatné odchylky na jednotlivých ryskách zjištěné metodou bez cílení Celková časová náročnost zahrnující i kalibraci snímku pomocí 40 úseků byla přibližně 23 minut. 7.4 Testování kalibrace s cílením Jelikož se algoritmus snaží co nejvíce ztotožnit střed rysky se středem snímku, odečítají se od sebe pouze vzdálenosti měřené interferometrem. Nejprve byla určena směrodatná odchylka cílení a následně byla metoda použita analogicky jako v předchozím případě pro kalibraci digitální nivelační latě ve stejné délce a na stejných ryskách. 45

Výsledky kalibrace 7.4.1 Určení směrodatné odchylky cílení Pro určení směrodatné odchylky při cílení na stejnou rysku, resp. ztotožnění středu rysky se středem snímku, viz. kapitola 4.4, bylo použito celkem 100 čtení jedné rysky. V tab. 7.5 je uvedena tato směrodatná odchylka. Tab. 7.5: Směrodatná odchylka cílení σ c 0.66 μm 7.4.2 Přesnost metody Jak bylo uvedeno v předešlém odstavci, přesnost metody byla testována stejným způsobem jako metoda bez cílení. Mezi testováním obou metod nedošlo k manipulování s nivelační latí. Do výpočtu směrodatných odchylek vstupují hodnoty z celkového počtu 6 nezávislých kalibrací. 15 12 Rozdíly od nominální hodnoty [µm] 9 6 3 0-3 600 800 1000 1200 1400 1600 1800 2000 2200 Pozice na lati [mm] Obr. 7.5: Graf průběhu kalibrace metodou s cílením Obr. 7.5 znázorňuje vždy rozdíl od nominální hodnoty vztažené k počáteční rysce kalibrace. Jak je vidět, rozptyl hodnot se s větší délkou měřenou interferometrem postupně zvyšuje. Na obr. 7.6 je vidět právě tento průběh směrodatné odchylky na jednotlivých kalibrovaných ryskách. 46

Výsledky kalibrace Tab. 7.6: Celková směrodatná odchylka metody s cílením σ 1.Metoda 1.65 μm 2.7 2.25 Směrodatná odchylka [µm] 1.8 1.35 0.9 0.45 0 600 800 1000 1200 1400 1600 1800 2000 2200 Pozice na lati [mm] Obr. 7.6: Graf průběhu směrodatné odchylky na jednotlivých ryskách zjištěné metodou s cílením Časová náročnost metody s cílením byla přibližně 30 minut. Časová náročnost je závislá na rychlosti splnění podmínek pro cílení uvedené v odst. 4.4. 7.5 Porovnání výsledků jednotlivých metod Při porovnání výsledků jednotlivých metod byla sledována směrodatná odchylka a časová náročnost měření. Na obr. 7.7 jsou vyneseny rozdíly od nominálních hodnot určených oběma metodami. Jak je z uvedeného grafu patrné, obě metody dokázaly relativně stejně odhalit jednotlivé odchylky rysek od nominální hodnoty. 47

Výsledky kalibrace 18 15 Metoda bez cílení Metoda s cílením Rozdíly od nominální hodnoty [µm] 12 9 6 3 0-3 600 800 1000 1200 1400 1600 1800 2000 2200 Pozice na lati [mm] Obr. 7.7: Graf porovnání metod Tab. 7.7 shrnuje směrodatné odchylky jednotlivých metod. Dalším důležitým kritériem byla také celková doba jedné kalibrace. V tab. 7.7 jsou uvedeny časy jednotlivých kalibrací. Z výsledku je zřejmé, že metoda bez cílení je časově přibližně o 1/3 úspornější, což se při určování delších měřidel s ohledem na srovnatelnou přesnost obou metod může jevit jako rozhodující faktor výběru metody. Tab. 7.7: Tabulka porovnání použitých metod kalibrace σ Kalibrace [μm] Doba kalibrace [min] Bez cílení 1.84 23 S cílením 1.65 30 7.6 Porovnání s výsledky KLPM Jelikož v předešlém roce Ing. Václav Vlk vytvořil software KLPM [10], určený pro kalibraci digitálních nivelačních latí, byl tento software porovnán s OCS. V následujícím grafu jsou porovnány výsledky jednotlivých metod, kdy pro KLPM bylo provedeno celkem 10 kalibrací nivelační latě na totožných ryskách jako u OCS v předešlých případech. 48

Výsledky kalibrace Obr. 7.8 znázorňuje vždy rozdíl měřené délky mezi ryskami s nominální hodnotou. 18 15 Metoda bez cílení Metoda s cílením KLPM Rozdíly od nominální hodnoty [µm] 12 9 6 3 0-3 600 800 1000 1200 1400 1600 1800 2000 2200 Pozice na lati [mm] Obr. 7.8: Graf porovnání metod OCS a KLPM Při porovnání je zřejmé, že oba systémy vyhodnocují rysky jiným způsobem. Software KLPM vyhodnocuje střed rysky pomocí detekce hran, ze kterých se poté počítá střed rysky. S odkazem na práci Ing. Václava Vlka program KLPM určuje hrany rysky s přesností na celé pixely a střed rysky na poloviny pixelu. Program OCS určuje středy rysek jako desetinné číslo, tedy přesnost určení je podstatně vyšší. Na obr. 7.9 je vidět průběh směrodatné odchylky softwaru KLPM na jednotlivých úsecích. 7 6 Směrodatná odchylka [µm] 5 4 3 2 1 0 600 800 1000 1200 1400 1600 1800 2000 2200 Pozice na lati [mm] Obr. 7.9: Graf průběhu směrodatné odchylky na jednotlivých ryskách softwarem KLPM 49

Závěr 8 Závěr V rámci této diplomové práce byl vytvořen software OCS, sloužící pro optickou kalibraci délkových měřidel založených na ryskách. Software komunikuje s přístroji v laboratoři katedry K155, tedy laserovým interferometrem, krokovým motorem a mikroskopem. Tento software byl vytvořen v programovacím jazyku C++ v operačním systému Linux. Pro kalibraci měřidla byly vytvořeny dvě metody. První metoda bez cílení je založena na použití kalibrace snímku, kdy ze snímku jsme schopni středu rysky přiřazovat délkové hodnoty a opravovat tak měřené délky interferometru v závislosti na pozicích středu rysky ve snímku. Druhá metoda s cílením je založena na ztotožňování středu rysky přímo se středem snímku a porovnávání přímo měřených hodnot interferometrem s nominálními hodnotami kalibrovaných měřidel. V rámci testování byl nejprve testován mikroskop, zdali při opakovaném snímání stejné rysky bez pohybu motorem nedochází ke změně určení středu rysky. Na základě testování byla určena směrodatná odchylka detekce rysky 0.056 px, což při testování odpovídalo přibližně 0.31 μm. Dále byla testována stabilita měřených délek interferometrem při nezměněné vzdálenosti mezi odrazným hranolem a interferometrem. Na základě testování byla určena směrodatná odchylka čtení délky 0.12 μm. Pro metodu bez cílení byla při opakovaném proměřování digitální nivelační latě určena směrodatná odchylka 1.84 μm, v níž vystupuje i směrodatná odchylka samotné kalibrace snímku, jež byla určena hodnotou 1.02 μm (Při použití 40-ti úseků pro kalibraci snímku). Časová náročnost jedné kalibrace byla přibližně 23 minut. Pro metodu kalibrace s cílením byla určena směrodatná odchylka 1.65 μm, kde limitním faktorem této metody je minimální možný pohyb motoru. Časová náročnost této metody byla přibližně 30 minut. Na základě výsledků testování jednotlivých metod je doporučena metoda první, tedy kalibrace bez cílení. Přesnost obou metod byla shledána srovnatelnou s ohledem pro použití na měřidlech založených na ryskách. Časová náročnost metody s cílením 50

Závěr a nutnost vyšší citlivosti motoru pro přesné ztotožnění středu rysky se středem snímku, z ní dělá méně vhodnou metodu. Limitním faktorem přesnosti je dle testování narůstající chyba měřené délky interferometru s narůstající délkou kalibrovaného měřidla. Vytvořený software je přiložen k diplomové práci na CD. 51

POUŽITÉ ZDROJE Použité zdroje [1] Úplné pracovní znění zákona č. 505/1990 Sb., o metrologii [online]. [cit. 2014-12-02] Dostupné z URL: <http://www.unmz.cz/urad/uplne-pracovni-znenizakona-c-505-1990-sb-o-metrologii-c237 >. [2] National Institute of Standards and Technology [online]. [cit. 2014-12-11] Solution to Decrease Uncertainty in Tape Measure Calibration Dostupné z URL: <http://www.engl-pw.umd.edu/aboutpwp/writing_ Contest/ContestPapers/2008/2008NIST_Tape_CalibrationWC08.doc >. [3] Elena Dugheanu, Length Laboratory, Romania [online]. [cit. 2014-12-10] Calibration of the comparator for long length measures used for the verification/calibration of tape measures with high accuracy str. 5-9. Dostupné z URL: <http://www.oiml.org/en/publications/bulletin/pdf/ oiml_bulletin_oct_2007.pdf>. [4] Don Young Jeong, Ho Suhng Suh, Jong Ahn Kim, Jae Wan Kim a Tae Bong Eom [online]. [cit. 2014-12-10] 50 m linear measuring interferometer for calibration of survey tape Dostupné z URL: <http://www.aspe.net/publications/annual_2006/ POSTERS/2METRO/2FORM/2071.PDF>. [5] The ML10 Gold measurement system [online]. [cit. 2014-12-06] Dostupné z URL: <http://www.arc-bg.com/prod_file/81.pdf >. [6] Kalibračním list ML10 Renishaw Gold Standard ze dne 2003-09-16. [online]. [cit. 2014-12-04] Poskytnuté firmou Renishaw z URL: <http://www.renishaw.com>. [7] Dino-Lite Digital microscope [online]. [cit. 2014-12-06] Dostupné z URL: <http://www.dino-lite.com/web/am4113zt.html >. 52

POUŽITÉ ZDROJE [8] ALLAIN, Alex. Jumping into C++. San Francisco: Cprogramming.com, 2013. ISBN 09-889-2780-2. [9] BRADSKI, Gary R. Learning OpenCV. Sebastopol: O Reilly, c2008, xvii, 555 s. ISBN 978-0-596-51613-0. [10] Vlk, V. Kalibrace nivelační latě prostřednictvím sekvence digitálních snímků. Diplomová práce, ČVUT Praha, 2014. 53

SEZNAM SYMBOLŮ, VELIČIN A ZKRATEK Seznam symbolů, veličin a zkratek OCS ČVUT NIST KRISS KLPM K155 Optical Calibration System České vysoké učení technické v Praze National Institute of Standards and Technology: Korea Research Institute of Standards and Science Kalibrace latě pomocí mikroskopu Katedra geomatiky, Fakulta stavební, ČVUT 54

Seznam obrázků 3.1 Mikroskop Dino-Lite Premier AM4113ZT [7].............. 12 4.1 Ukázka funkce pro odstranění šumu................... 15 4.2 Nalezení rysky a eliminování nečistot (vlevo původní snímek, vpravo upravený snímek)............................. 16 4.3 1. Obrázek ve stupních šedi, 2. Aplikované prahování, 3. Aplikované odstranění šumu, 4. Určen střed rysky a vyznačen do obrazu..... 17 4.4 Graf výsledné kalibrace snímku..................... 18 4.5 Graf velikosti pixelu v jednotlivých úsecích............... 19 4.6 Ztotožnění středu rysky se středem snímku............... 21 5.1 Struktura OpenCV [9], str. 13...................... 25 5.2 Funkce v hlavičkovem souboru třídy VideoCl.............. 28 6.1 Průvodce založením projektu...................... 29 6.2 Průvodce založením seance........................ 30 6.3 Nástroj pro připojení kamery...................... 31 6.4 Nástroj pro připojení motoru...................... 32 6.5 Nástroj pro připojení interferometru.................. 33 6.6 Schéma průvodce kalibrací........................ 34 6.7 Nastavení vertikální oblasti pro výpočet středu rysky......... 35 6.8 Volba použité metody kalibrace..................... 35 6.9 Volba rysky použité pro kalibraci.................... 36 6.10 Kalibrace snímku............................. 36 6.11 Nastavení kalibrace............................ 37 6.12 Průběh kalibrace............................. 38 6.13 Protokol kalibrace............................. 39 7.1 Průběh velikosti pixelu při rozdělení na 241 úseků........... 42 7.2 Graf vývoje směrodatné odchylky v závislosti na počtu použitých kalibračních úseků............................ 43 7.3 Graf průběhu kalibrace metodou bez cílení............... 44

7.4 Graf průběhu směrodatné odchylky na jednotlivých ryskách zjištěné metodou bez cílení............................ 45 7.5 Graf průběhu kalibrace metodou s cílením............... 46 7.6 Graf průběhu směrodatné odchylky na jednotlivých ryskách zjištěné metodou s cílením............................. 47 7.7 Graf porovnání metod.......................... 48 7.8 Graf porovnání metod OCS a KLPM.................. 49 7.9 Graf průběhu směrodatné odchylky na jednotlivých ryskách softwarem KLPM................................... 49

Seznam tabulek 3.1 Základní informace interferometru Renishaw 10ML Gold Standard.. 12 3.2 Základní informace mikroskopu Dino-Lite Premier........... 13 7.1 Detekce středu mikroskopu........................ 40 7.2 Testování interferometru......................... 41 7.3 Testování kalibrace snímku........................ 43 7.4 Celková směrodatná odchylka metody bez cílení............ 45 7.5 Směrodatná odchylka cílení....................... 46 7.6 Celková směrodatná odchylka metody s cílením............ 47 7.7 Tabulka porovnání použitých metod kalibrace............. 48

SEZNAM PŘÍLOH Seznam příloh A Elektronická příloha 59 B Úvodní okno systému OCS 60 58

A. ELEKTRONICKÁ PŘÍLOHA A Elektronická příloha Na přiloženém CD je uložena práce ve formátu PDF. Dále jsou zde všechny zdrojové soubory softwaru OCS, protokoly provedených kalibrací a výpočetní skripty. 59

B. ÚVODNÍ OKNO SYSTÉMU OCS B Úvodní okno systému OCS 60