S M A RT V I S I O N S O F T WA R E D E V E LO P M E N T K I T Martin Zmrhal
Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 1 z 28
O B SA H 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
O společnosti Workswell… SmartVision historie, požadavky Řešení pomocí NI produktů SmartVision Library - přehled funkcí Princip DLL knihovny Připojení a nastavení HW kamery Zobrazení videa ve vlastní aplikaci Digitální stabilizace Nahrávání videa Práce s termografickými kamerami Měření v termálním obraze Distribuce SmartVision SDK Licencování SmartVision SDK Přínosy použití NI produktů Budoucí vývoj SmartVision
Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 2 z 28
O S P O L EČ N O ST I WO R KSW E L L … □ Založena 2010, sídlo v Praze □ Termografie: Bezkontaktní měření teploty pomocí termografických kamer Strojní průmysl, stavebnictví, potravinářství, chemický průmysl Oficiální distributor kamer Flir, Infratec, Jenoptik, Optris, SVSVistek pro český a slovenský trh Přednášky, školení a semináře, Centrum termografie
□ Vývoj software, průmyslových řešení: Automatizace, bezpečnostní technologie, vstupně-výstupní kontrola, kontrola kvality
Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 3 z 28
S M A RT V I S I O N H I STO R I E , P OŽA DAV K Y □ Původně aplikace na míru zákazníkovi □ Požadavky: Možnost připojit se k libovolné GiGE barevné/monochromatické kameře Zobrazit video ve vlastní aplikaci psané v C++ Algoritmus pro automatické zaostřování a ovládání motoru objektivu Image processing, nahrávání videa
□ Nakonec samostatný produkt rozšířený o podporu termografických kamer
Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 4 z 28
Ř EŠ E N Í P O M O C Í N I P RO D U K T Ů □ NI Vision Acquisition Software (IMAQdx) Podpora nejen GigE Vision kamer, ale i IEEE 1394 FireWire, IP (Ethernet), DirectShow USB
□ NI LabVIEW □ NI Vision Development Module Velmi bohatá paleta funkcí pro image processing
□ NI LabVIEW Application Builder Sestavení aplikace do DLL knihovny použitelné v téměř libovolném programovacím jazyku Jednoduchá distribuce, instalátory
Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 5 z 28
S M A RT V I S I O N L I B R A RY - P Ř E H L E D F U N KC Í □ Jedna knihovna pro různé typu video hardwaru Podpora velkého množství kamer různých výrobců IMAQdx: GigE Vision, IEEE 1394 FireWire, IP (Ethernet), DirectShow USB Kompletní nastavení hardwaru kamery (XML atributy u GiGE kamer) pomocí Set a Get funkcí
□ Jednoduchá použitelnost a distribuce Aplikace formou DLL knihovny Okno s videem je vloženo do nadřazené aplikace psané v libovolném programovacím jazyce Vše zabaleno v jednotném instalátoru
Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 6 z 28
S M A RT V I S I O N L I B R A RY - P Ř E H L E D F U N KC Í □ Real-time image processing Úpravy jasu, kontrastu, křivek, vyvážení barev videa, doostřování videa Digitální stabilizace třesoucího se obrazu
□ Přístup ke snímkům videa Přístup k aktuálním snímkům videa před a po processingu pomocí pointerů do operační paměti Nahravání komprimovaného a nekomprimovaného videa do formátu AVI
□ Podpora termografických kamer Převod dat z kamery na teploty, měřící nástroje a měření v obraze, vyčítání teplotních statistik
Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 7 z 28
P R I N C I P D L L K N I H OV N Y □ DLL vytvořená v LabVIEW Application Builder Pomocí funkcí z DLL je spuštěno VI Vstupní a výstupní terminály VI => parametry a návratové hodnoty funkce z DLL void OpenSessionCam(char cameraInterface[])
Více návratových hodnot pomocí pointerů Například C#: Int status = GetAttribute(camInterface, activeAttribute, &doubleValue, &stringValue, length)
Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 8 z 28
P Ř I P OJ E N Í A N A STAV E N Í H W K A M E RY Otevření session s kamerou, nastavování hardwarových parametrů
void OpenSessionCam(char cameraInterface[]) int8_t SetAttribute(char interface[], char activeAttribute[], double valueDBL, char valueString[])
Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 9 z 28
ZO B R A Z E N Í V I D EA V E V L A ST N Í A P L I K AC I □ LabVIEW VI Front Panel je vložen do aplikace zákazníka VI spuštěno při zavolání funkce z DLL Schován window title bar, menu bar, toolbar Front Panel je vložen pomocí WinAPI funkcí SetWindowPos() a SetParent(), tím je plně součástí nadřazené aplikace Nastavování velikost okna s videem, Front Panel lze zavřít/otevřít
Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 10 z 28
ZO B R A Z E N Í V I D EA V E V L A ST N Í A P L I K AC I
Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 11 z 28
D I G I TÁ L N Í STA B I L I ZAC E □ Real-time stabilizace třesoucího se obrazu Vhodné zejména pro statické scény pro eliminaci třesení montáže či stativu kamery Založena na trackingu objektů v obraze Vracení a otáčení každého snímku zpět proti výchylce zjištěné trackingem objektů
Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 12 z 28
D I G I TÁ L N Í STA B I L I ZAC E
Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 13 z 28
D I G I TÁ L N Í STA B I L I ZAC E
Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 14 z 28
N A H R ÁVÁ N Í V I D EA □ Záznam videa z kamery do souboru formátu AVI Komprimované video – volně dostupné kodeky (Xvid), NI kodeky (Motion JPEG, FF Video Codec 1) Nekomprimované video – velký datový objem, beze ztráty informace
□ Video z kamery nejprve do dočasných souborů Na HDD se ukládá nekomprimovaný stream dat z kamery Dvě možnosti převodu: Průběžná komprimace (v průběhu nahrávání) Postupná komprimace (po skončení nahravání)
Nutnost mít na HDD dostatek místa, omezením je rychlost HDD, při vyšších rozlišeních nejlépe použít SSD disk 800x600/30 FPS ~ cca 41MB/s 1280x1024/30 FPS ~ cca 113MB/s 1920x1080/30 FPS ~ cca 180MB/s
Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 15 z 28
P R ÁC E S T E R M O G R A F I C K Ý M I K A M E R A M I □ Konverze dat z termografické kamery Výstup z kamery většinou 16 bit/pixel, nutno konvertovat na teplotu v pixelu Převod dat z termokamer FLIR automaticky Převod dat z libovolné kamery pomocí uživatelsky editovatelného .m file (NI LabVIEW MathScript RT Module)
□ Přepínání teplotních palet, □ Automatický a manuální teplotní rozsah
Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 16 z 28
P R ÁC E S T E R M O G R A F I C K Ý M I K A M E R A M I
Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 17 z 28
MĚŘENÍ V TERMÁLNÍM OBRAZE □ Kreslení ROI nástrojů Nástroje ROI součástí Image Display Indicator Bod, úsečka, obdélník, polygon, elipsa, atd. Ruční kreslení/zadávání ROI programově funkcí pomocí pole bodů
□ Zobrazování a vyčítání teplot a statistik Každá oblast zájmu vlastní ID, přes které se přistupuje k datům v oblasti Vyčítání pole teplot z oblasti (void GetMeasData(int32_t index, float appendedArray[], int32_t len) Zobrazení minimální a maximální teploty v ROI Generování statistik z oblasti (mininum, maximum, průměr, standardní odchylka, rozptyl, …)
Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 18 z 28
MĚŘENÍ V TERMÁLNÍM OBRAZE
Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 19 z 28
STAT I ST I K Y V T E R M Á L N Í M O B R A Z E
Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 20 z 28
D I ST R I B U C E S M A RT V I S I O N S D K □ NI LabVIEW Application Builder Jednoduché generování DLL z VIs Velice jednoduché vytvoření instalátoru Vlastní licenční podmínky, grafika instalátoru Zápis do registrů, zástupci na ploše, ve Windows nabídce Programy Read-me Automatické verzování sestavení Automatické spuštění NI LabVIEW .exe aplikací po dokončení instalace Instalátor obsahuje veškeré potřebné Run-Time Engines a ovladače
Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 21 z 28
D I ST R I B U C E S M A RT V I S I O N S D K
Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 22 z 28
L I C E N COVÁ N Í S M A RT V I S I O N S D K □ □ □ □
Vlastní licenční systém Samostatná aktivační a deaktivační aplikace Kombinace zápisu do registrů a licenčního souboru Plná verze Aktivace licence v databázi na serveru Aktivace NI Vision Run-Time Engine (přes CMD bez zásahu uživatele)
□ Trial verze 7 denní trial verze Kontaktování serveru kvůli kontrole data Omezeno délkou trial licence NI Vision Run-Time Engine
Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 23 z 28
L I C E N COVÁ N Í S M A RT V I S I O N S D K
Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 24 z 28
P Ř Í N O SY P O U Ž I T Í N I P RO D U K T Ů □ NI LabVIEW a Vision Development Module: Extrémně rychlý vývoj Vision aplikací Připojení a spuštění obrazu z kamery komfortně a rychle (4 VIs, Image Display Indicator, jedna While smyčka) Široká paleta funkcí pro zpracování obrazu a Machine Vision Požadovaná funkce většinou již přímo v VDM knihovně, vlastní algoritmy sestavením několika funkcí MATLAB – v podstatě vše si programátor píše sám, větší volnost, ovšem mnohem delší doba implementace V jiných vývojových prostředích by vývoj podobně komplexního SW trval nepoměrně déle První verze hotová po cca 2-3 měsících s jediným vývojářem
Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 25 z 28
P Ř Í N O SY P O U Ž I T Í N I P RO D U K T Ů □ NI Vision Acquisition Software (IMAQdx) Podpora velkého množství HW, jediný driver Jediné rozhraní pro připojení ke kameře v LabVIEW
□ NI Application Builder: snadná distribuce Vytvořit .exe aplikaci nebo DLL knihovnu je „na pár kliknutí“ Podobně instalátor, není nutné používat nástroje třetích stran
□ NI Community Discussion Forums Code Exchange
□ NI Developer Zone, KnowledgeBase Tutorials, White Papers Příklady a ukázky kódu
Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 26 z 28
B U D O U C Í V Ý VOJ S M A RT V I S I O N □ Nové algoritmy pro Image Processing Další funkce pro úpravy barev a kontrastu
□ Paralelizace Úprava některých současných funkcí na paralelní zpracovávání Rozdělení obrazu na části, které se zpracují souběžně na více jádrech
□ Vylepšení a optimalizace digitální stabilizace Stabilizace podle více oblastí, váhování jednotlivých oblastí
□ Fúze obrazu Prolnutí termálního a barevného obrazu Vykreslení izoterm do barevného obrazu Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 27 z 28
S Í D LO A KO N TA K T Y OBCHODNÍ ODDĚLENÍ Měřicí technika Adam Švestka, MSc., MBA +420 725 955 464
[email protected]
TECHNICKÉ ODDĚLENÍ
SÍDLO SPOLEČNOSTI SÍDLO SPOLEČNOSTI
POBOČKA POBOČKA
Workswell s.r.o. Workswell s.r.o. Dr. Zikmunda Wintra 376/5 Dr. Zikmunda Wintra 376/5 160 00, Praha 6 160 00, Praha 6 Česká republika Česká republika
Vědeckotechnický park UP Vědeckotechnický park UP Šlechtitelů 21 Šlechtitelů 21 783 71 Olomouc 783 71 Olomouc
IČO: 29048575 IČO: 29048575 DIČ: CZ29048575 DIČ: CZ29048575 Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Průmyslové aplikace a integrace Ing. Jan Kovář +420 739 428 433
[email protected]
Školení a metodika měření Ing. Jan Sova +420 736 408 005
[email protected]
Snímek 28 z 28
D Ě KUJ I ZA P OZO R N O ST …
Martin Zmrhal, Workswell s.r.o. ©
SmartVision SDK
Snímek 29 z 28