SlideShare una empresa de Scribd logo
1 de 42
Descargar para leer sin conexión
Interactive Image Processing
demonstrations for the web

Terrassa Engineering School(E.E.T.)
Spring 2011

Author: Marcel Tella Amo
Advisors: Xavier Giró i Nieto
Albert Gil Moreno
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Motivation
Context

UPC Image and Video
Processing Group

ImagePlus
Software development platform

2
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Motivation
Index
●

Showing the algorithms
●

External Users

●

Internal users

3
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Showing algorithms
External users
UPC image and video processing group need a way to show
their algorithms in a comfortable way.

4
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Internal Users
●

Detecting possible bugs in the application

●

Watching the results in a graphical way

5
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Requirements
Index
●

Global access

●

Minimum web technology

●

No plug-ins in the client

●

Easy for programmers

●

Interactive demos

●

Documentation

HOW COULD I FIND A TECHNOLOGY TO
FULFILL ALL THIS?
6
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Global access
Internet is the best way to transmit information to everyone.
The more people, the better

7
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Minimum web technology
The more technology, the more to learn for developers

Avaliable Technology:
HTML
DHTML
●XHTML
●JavaScript
●PHP
●AJAX
●CSS
●ASP.NET
●
●

Ruby on rails
●Java
●C++
●Python
●[...]
●

8
Motivation – Requirements – State of the Art – Design – Results - Conclusions

No plug-ins in the client

9
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Easy for programmers
●

Simple way to create a web demonstration

●

A whole web interface with a few lines of code

10
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Interactive demos
Interactivity is very important to give a good feeling to the
user.

11
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Documentation
●

Afterwards, developers have to code web demonstrations...

●

Getting started

●

Commenting all the code

12
Motivation – Requirements – State of the Art – Design – Results - Conclusions

State of the art
Index
●

How to demonstrate image processing
●

Exposing the source code

●

Explaining with pictures

●

Making videos

●

30 days trial

●

Image Processing in the web

●

Image Processing in the client side

13
Motivation – Requirements – State of the Art – Design – Results - Conclusions

How to demonstrate image processing
Exposing the source code

14
Motivation – Requirements – State of the Art – Design – Results - Conclusions

How to demonstrate image processing
Explaining them step by step with pictures

15
Motivation – Requirements – State of the Art – Design – Results - Conclusions

How to demonstrate image processing
Making videos

16
Motivation – Requirements – State of the Art – Design – Results - Conclusions

How to demonstrate image processing
30 days trial

17
Motivation – Requirements – State of the Art – Design – Results - Conclusions

How to demonstrate image processing
Image Processing algorithms in the web

More examples:
http://www.pixl.com/
http://www.aviary.com/
18
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Image Processing in the
client side: Javascript
frameworks
●

Just powerful computers
●

No limited computers

●

No tablets

●

No mobile phones

19
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Design
Index
●

Possible scheme

●

Looking for the right technology

●

Final scheme of the application

●

Web Interface

●

Wt basics vs HTML basics

●

One application, one demo

20
Possible scheme
ImagePlus
ImagePlus

ImagePlus
ImagePlus
tools
tools

Saving
files in
disc?

Web
Web

It really is a way, but it is not optimal, saving files in disc, and
being dependent of ImagePlus tools
Me
Me
+
+
Some
Some
techology?
techology?

21
Motivation – Requirements – State of the Art – Design – Results - Conclusions

22
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Looking for the right technology
Wt, the winner one!
●

Render webs

●

Interactivity

●

Support HTML 5

●

Allows PUSH

●

Open Source

●

and more...

And the most important, Wt is created to join all web
technology in just C++!
23
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Wt main approach:
Breaking the Client-Server scheme
Programmer Side
●

Like Desktop

●

Web Side
●

Client-Sercer Scheme

No client-server

24
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Final scheme of the application

HTML

Wt
Web Framework
&
Web Utilities

ImagePlus

25
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Web Interface

26
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Interface classes: Architecture

27
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Wt basics vs HTML basics
HTML

Wt

<div>

WContainerWidget

<span>

WText

Qt
QDesignerContainer
Extension
QTextEdit

28
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Interface classes: Hierarchy

29
Motivation – Requirements – State of the Art – Design – Results - Conclusions

One application, one demo
One demo
Tries per user
● ImagePlus structure
●

Multiple demos
More comfortable for
external users.
●

Imageplus
Tools
Web demos

Easy to make with some hiperlinks!
30
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Desktop vs Web
Nowadays, with high connections, Internet is becoming more
and more important.

●

Applications on-line (cloud computing)
●

The server does everything
–

●

[Wt]

Mobile devices

Desktop applications.

[Qt]

31
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Results
Index
●

Framework
●

Classes

●

Utilities
●
●

●

WebImage
WebBibliography

Demo

32
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Framework
●

The main result of my project

●

Inheriting from “GPIapp” you get a void interface.

●

Title and description are also mandatory in each demo
class newapp : public GPIapp
{};
//Constructor
newapp::newapp(const WEnvironment& env)
: GPIapp(env,"Title","Description")
{}

33
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Result of writting that little piece of code

34
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Utilities: WebImage

WebImage ima(&getDemo());
ima.paintImage( ImageRGB );

35
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Utilities: WebBibliography
●

New class to add a formatted bibliography

addBibliography(“author”,”title”,”publication”,”url”);

36
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Demonstration

This is just a little example of what
could be done with Wt and the Web
Framework created in this project.

37
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Conclusions
Index
●

Requirements fulfilled

●

Useful for the UPC image and video processing group

●

Future project about video demonstrations

38
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Requirements fulfilled
Going back to the requirements we can see that all
requirements are fulfilled.
●

Global access

●

One application, one demo

●

No plug-ins in the client

●

Easy for programmers

●

Interactive demos

●

Minimum web technology

Better resoults
than expected!
Everytihing is
in C++!

39
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Useful for the UPC image and
video processing group
There is something to show now!

Click here to go to the demonstration:

Binary partition tree web demonstration
40
Motivation – Requirements – State of the Art – Design – Results - Conclusions

Video demonstrations
Wt works HTML 5 video tag

●

Future project:

GSTREAMER + WT + IMAGEPLUS

41
Questions?
All work done in a
Debian – Linux based environment
NX No-Machine
Eclipse IDE
Iceweasel & Google Chrome browsers

42

Más contenido relacionado

Similar a Interactive Image Processing Demos for the Web

Mulesoft Milano meetup #6 Florence Consulting
Mulesoft Milano meetup #6 Florence ConsultingMulesoft Milano meetup #6 Florence Consulting
Mulesoft Milano meetup #6 Florence ConsultingFlorence Consulting
 
Introduction to UX for Mesiniaga Academy
Introduction to UX for Mesiniaga AcademyIntroduction to UX for Mesiniaga Academy
Introduction to UX for Mesiniaga AcademyZainul Zain
 
The New Normal – Delivering Remote Professional Services
The New Normal – Delivering Remote Professional ServicesThe New Normal – Delivering Remote Professional Services
The New Normal – Delivering Remote Professional ServicesNeo4j
 
Platform Engineering
Platform EngineeringPlatform Engineering
Platform EngineeringOpsta
 
Job description of nvidia hiring 2013 q4
Job description of nvidia hiring 2013 q4Job description of nvidia hiring 2013 q4
Job description of nvidia hiring 2013 q4Richard Sun
 
ICLR 2020 Recap
ICLR 2020 RecapICLR 2020 Recap
ICLR 2020 RecapSri Ambati
 
Migrating and adopting Drupal 8: Why you need Cohesion
Migrating and adopting Drupal 8: Why you need CohesionMigrating and adopting Drupal 8: Why you need Cohesion
Migrating and adopting Drupal 8: Why you need CohesionAcquia
 
Milano Meetup #6 - Training & Certification and Internal Support Models
Milano Meetup #6 - Training & Certification and Internal Support ModelsMilano Meetup #6 - Training & Certification and Internal Support Models
Milano Meetup #6 - Training & Certification and Internal Support ModelsGonzalo Marcos Ansoain
 
Никита Галкин "Technical backlog: инструкция к применению"
Никита Галкин "Technical backlog: инструкция к применению"Никита Галкин "Technical backlog: инструкция к применению"
Никита Галкин "Technical backlog: инструкция к применению"Fwdays
 
Building Intelligent Solutions with Graphs, Stefan Kolmar, Neo4j
Building Intelligent Solutions with Graphs, Stefan Kolmar, Neo4jBuilding Intelligent Solutions with Graphs, Stefan Kolmar, Neo4j
Building Intelligent Solutions with Graphs, Stefan Kolmar, Neo4jNeo4j
 
The magic ingredient for successful automation - Chapter 2
The magic ingredient for successful automation - Chapter 2The magic ingredient for successful automation - Chapter 2
The magic ingredient for successful automation - Chapter 2Bonitasoft
 
Data Science in Production: Technologies That Drive Adoption of Data Science ...
Data Science in Production: Technologies That Drive Adoption of Data Science ...Data Science in Production: Technologies That Drive Adoption of Data Science ...
Data Science in Production: Technologies That Drive Adoption of Data Science ...Nir Yungster
 
Dublin Unity User Group Meetup Sept 2015
Dublin Unity User Group Meetup Sept 2015Dublin Unity User Group Meetup Sept 2015
Dublin Unity User Group Meetup Sept 2015Dominique Boutin
 
Measuring Productivity from Model-Based Development
Measuring Productivity from Model-Based DevelopmentMeasuring Productivity from Model-Based Development
Measuring Productivity from Model-Based DevelopmentJuha-Pekka Tolvanen
 
Camunda Day Amsterdam 2019: Best Practices for successfully introducing Camun...
Camunda Day Amsterdam 2019: Best Practices for successfully introducing Camun...Camunda Day Amsterdam 2019: Best Practices for successfully introducing Camun...
Camunda Day Amsterdam 2019: Best Practices for successfully introducing Camun...camunda services GmbH
 
Hey open source, don’t forget the user! - by Chad Kieffer
Hey open source,  don’t forget the user! - by Chad KiefferHey open source,  don’t forget the user! - by Chad Kieffer
Hey open source, don’t forget the user! - by Chad Kiefferdmthompson
 
Cloud Task Execution at Scale with example from quant finance
Cloud Task Execution at Scale with example from quant financeCloud Task Execution at Scale with example from quant finance
Cloud Task Execution at Scale with example from quant financeJohn Holden
 

Similar a Interactive Image Processing Demos for the Web (20)

Asp.net Developers portfolio and case study NicheTech
Asp.net Developers portfolio and case study NicheTechAsp.net Developers portfolio and case study NicheTech
Asp.net Developers portfolio and case study NicheTech
 
Mulesoft Milano meetup #6 Florence Consulting
Mulesoft Milano meetup #6 Florence ConsultingMulesoft Milano meetup #6 Florence Consulting
Mulesoft Milano meetup #6 Florence Consulting
 
Introduction to UX for Mesiniaga Academy
Introduction to UX for Mesiniaga AcademyIntroduction to UX for Mesiniaga Academy
Introduction to UX for Mesiniaga Academy
 
Se 20150507
Se 20150507Se 20150507
Se 20150507
 
The New Normal – Delivering Remote Professional Services
The New Normal – Delivering Remote Professional ServicesThe New Normal – Delivering Remote Professional Services
The New Normal – Delivering Remote Professional Services
 
Platform Engineering
Platform EngineeringPlatform Engineering
Platform Engineering
 
Job description of nvidia hiring 2013 q4
Job description of nvidia hiring 2013 q4Job description of nvidia hiring 2013 q4
Job description of nvidia hiring 2013 q4
 
ICLR 2020 Recap
ICLR 2020 RecapICLR 2020 Recap
ICLR 2020 Recap
 
Migrating and adopting Drupal 8: Why you need Cohesion
Migrating and adopting Drupal 8: Why you need CohesionMigrating and adopting Drupal 8: Why you need Cohesion
Migrating and adopting Drupal 8: Why you need Cohesion
 
Milano Meetup #6 - Training & Certification and Internal Support Models
Milano Meetup #6 - Training & Certification and Internal Support ModelsMilano Meetup #6 - Training & Certification and Internal Support Models
Milano Meetup #6 - Training & Certification and Internal Support Models
 
Никита Галкин "Technical backlog: инструкция к применению"
Никита Галкин "Technical backlog: инструкция к применению"Никита Галкин "Technical backlog: инструкция к применению"
Никита Галкин "Technical backlog: инструкция к применению"
 
Building Intelligent Solutions with Graphs, Stefan Kolmar, Neo4j
Building Intelligent Solutions with Graphs, Stefan Kolmar, Neo4jBuilding Intelligent Solutions with Graphs, Stefan Kolmar, Neo4j
Building Intelligent Solutions with Graphs, Stefan Kolmar, Neo4j
 
The magic ingredient for successful automation - Chapter 2
The magic ingredient for successful automation - Chapter 2The magic ingredient for successful automation - Chapter 2
The magic ingredient for successful automation - Chapter 2
 
Data Science in Production: Technologies That Drive Adoption of Data Science ...
Data Science in Production: Technologies That Drive Adoption of Data Science ...Data Science in Production: Technologies That Drive Adoption of Data Science ...
Data Science in Production: Technologies That Drive Adoption of Data Science ...
 
Dublin Unity User Group Meetup Sept 2015
Dublin Unity User Group Meetup Sept 2015Dublin Unity User Group Meetup Sept 2015
Dublin Unity User Group Meetup Sept 2015
 
Dominion over domains
Dominion over domainsDominion over domains
Dominion over domains
 
Measuring Productivity from Model-Based Development
Measuring Productivity from Model-Based DevelopmentMeasuring Productivity from Model-Based Development
Measuring Productivity from Model-Based Development
 
Camunda Day Amsterdam 2019: Best Practices for successfully introducing Camun...
Camunda Day Amsterdam 2019: Best Practices for successfully introducing Camun...Camunda Day Amsterdam 2019: Best Practices for successfully introducing Camun...
Camunda Day Amsterdam 2019: Best Practices for successfully introducing Camun...
 
Hey open source, don’t forget the user! - by Chad Kieffer
Hey open source,  don’t forget the user! - by Chad KiefferHey open source,  don’t forget the user! - by Chad Kieffer
Hey open source, don’t forget the user! - by Chad Kieffer
 
Cloud Task Execution at Scale with example from quant finance
Cloud Task Execution at Scale with example from quant financeCloud Task Execution at Scale with example from quant finance
Cloud Task Execution at Scale with example from quant finance
 

Más de Universitat Politècnica de Catalunya

The Transformer in Vision | Xavier Giro | Master in Computer Vision Barcelona...
The Transformer in Vision | Xavier Giro | Master in Computer Vision Barcelona...The Transformer in Vision | Xavier Giro | Master in Computer Vision Barcelona...
The Transformer in Vision | Xavier Giro | Master in Computer Vision Barcelona...Universitat Politècnica de Catalunya
 
Towards Sign Language Translation & Production | Xavier Giro-i-Nieto
Towards Sign Language Translation & Production | Xavier Giro-i-NietoTowards Sign Language Translation & Production | Xavier Giro-i-Nieto
Towards Sign Language Translation & Production | Xavier Giro-i-NietoUniversitat Politècnica de Catalunya
 
Learning Representations for Sign Language Videos - Xavier Giro - NIST TRECVI...
Learning Representations for Sign Language Videos - Xavier Giro - NIST TRECVI...Learning Representations for Sign Language Videos - Xavier Giro - NIST TRECVI...
Learning Representations for Sign Language Videos - Xavier Giro - NIST TRECVI...Universitat Politècnica de Catalunya
 
Generation of Synthetic Referring Expressions for Object Segmentation in Videos
Generation of Synthetic Referring Expressions for Object Segmentation in VideosGeneration of Synthetic Referring Expressions for Object Segmentation in Videos
Generation of Synthetic Referring Expressions for Object Segmentation in VideosUniversitat Politècnica de Catalunya
 
Learn2Sign : Sign language recognition and translation using human keypoint e...
Learn2Sign : Sign language recognition and translation using human keypoint e...Learn2Sign : Sign language recognition and translation using human keypoint e...
Learn2Sign : Sign language recognition and translation using human keypoint e...Universitat Politècnica de Catalunya
 
Convolutional Neural Networks - Xavier Giro - UPC TelecomBCN Barcelona 2020
Convolutional Neural Networks - Xavier Giro - UPC TelecomBCN Barcelona 2020Convolutional Neural Networks - Xavier Giro - UPC TelecomBCN Barcelona 2020
Convolutional Neural Networks - Xavier Giro - UPC TelecomBCN Barcelona 2020Universitat Politècnica de Catalunya
 
Self-Supervised Audio-Visual Learning - Xavier Giro - UPC TelecomBCN Barcelon...
Self-Supervised Audio-Visual Learning - Xavier Giro - UPC TelecomBCN Barcelon...Self-Supervised Audio-Visual Learning - Xavier Giro - UPC TelecomBCN Barcelon...
Self-Supervised Audio-Visual Learning - Xavier Giro - UPC TelecomBCN Barcelon...Universitat Politècnica de Catalunya
 
Attention for Deep Learning - Xavier Giro - UPC TelecomBCN Barcelona 2020
Attention for Deep Learning - Xavier Giro - UPC TelecomBCN Barcelona 2020Attention for Deep Learning - Xavier Giro - UPC TelecomBCN Barcelona 2020
Attention for Deep Learning - Xavier Giro - UPC TelecomBCN Barcelona 2020Universitat Politècnica de Catalunya
 
Generative Adversarial Networks GAN - Xavier Giro - UPC TelecomBCN Barcelona ...
Generative Adversarial Networks GAN - Xavier Giro - UPC TelecomBCN Barcelona ...Generative Adversarial Networks GAN - Xavier Giro - UPC TelecomBCN Barcelona ...
Generative Adversarial Networks GAN - Xavier Giro - UPC TelecomBCN Barcelona ...Universitat Politècnica de Catalunya
 
Q-Learning with a Neural Network - Xavier Giró - UPC Barcelona 2020
Q-Learning with a Neural Network - Xavier Giró - UPC Barcelona 2020Q-Learning with a Neural Network - Xavier Giró - UPC Barcelona 2020
Q-Learning with a Neural Network - Xavier Giró - UPC Barcelona 2020Universitat Politècnica de Catalunya
 
Language and Vision with Deep Learning - Xavier Giró - ACM ICMR 2020 (Tutorial)
Language and Vision with Deep Learning - Xavier Giró - ACM ICMR 2020 (Tutorial)Language and Vision with Deep Learning - Xavier Giró - ACM ICMR 2020 (Tutorial)
Language and Vision with Deep Learning - Xavier Giró - ACM ICMR 2020 (Tutorial)Universitat Politècnica de Catalunya
 
Image Segmentation with Deep Learning - Xavier Giro & Carles Ventura - ISSonD...
Image Segmentation with Deep Learning - Xavier Giro & Carles Ventura - ISSonD...Image Segmentation with Deep Learning - Xavier Giro & Carles Ventura - ISSonD...
Image Segmentation with Deep Learning - Xavier Giro & Carles Ventura - ISSonD...Universitat Politècnica de Catalunya
 

Más de Universitat Politècnica de Catalunya (20)

Deep Generative Learning for All - The Gen AI Hype (Spring 2024)
Deep Generative Learning for All - The Gen AI Hype (Spring 2024)Deep Generative Learning for All - The Gen AI Hype (Spring 2024)
Deep Generative Learning for All - The Gen AI Hype (Spring 2024)
 
Deep Generative Learning for All
Deep Generative Learning for AllDeep Generative Learning for All
Deep Generative Learning for All
 
The Transformer in Vision | Xavier Giro | Master in Computer Vision Barcelona...
The Transformer in Vision | Xavier Giro | Master in Computer Vision Barcelona...The Transformer in Vision | Xavier Giro | Master in Computer Vision Barcelona...
The Transformer in Vision | Xavier Giro | Master in Computer Vision Barcelona...
 
Towards Sign Language Translation & Production | Xavier Giro-i-Nieto
Towards Sign Language Translation & Production | Xavier Giro-i-NietoTowards Sign Language Translation & Production | Xavier Giro-i-Nieto
Towards Sign Language Translation & Production | Xavier Giro-i-Nieto
 
The Transformer - Xavier Giró - UPC Barcelona 2021
The Transformer - Xavier Giró - UPC Barcelona 2021The Transformer - Xavier Giró - UPC Barcelona 2021
The Transformer - Xavier Giró - UPC Barcelona 2021
 
Learning Representations for Sign Language Videos - Xavier Giro - NIST TRECVI...
Learning Representations for Sign Language Videos - Xavier Giro - NIST TRECVI...Learning Representations for Sign Language Videos - Xavier Giro - NIST TRECVI...
Learning Representations for Sign Language Videos - Xavier Giro - NIST TRECVI...
 
Open challenges in sign language translation and production
Open challenges in sign language translation and productionOpen challenges in sign language translation and production
Open challenges in sign language translation and production
 
Generation of Synthetic Referring Expressions for Object Segmentation in Videos
Generation of Synthetic Referring Expressions for Object Segmentation in VideosGeneration of Synthetic Referring Expressions for Object Segmentation in Videos
Generation of Synthetic Referring Expressions for Object Segmentation in Videos
 
Discovery and Learning of Navigation Goals from Pixels in Minecraft
Discovery and Learning of Navigation Goals from Pixels in MinecraftDiscovery and Learning of Navigation Goals from Pixels in Minecraft
Discovery and Learning of Navigation Goals from Pixels in Minecraft
 
Learn2Sign : Sign language recognition and translation using human keypoint e...
Learn2Sign : Sign language recognition and translation using human keypoint e...Learn2Sign : Sign language recognition and translation using human keypoint e...
Learn2Sign : Sign language recognition and translation using human keypoint e...
 
Intepretability / Explainable AI for Deep Neural Networks
Intepretability / Explainable AI for Deep Neural NetworksIntepretability / Explainable AI for Deep Neural Networks
Intepretability / Explainable AI for Deep Neural Networks
 
Convolutional Neural Networks - Xavier Giro - UPC TelecomBCN Barcelona 2020
Convolutional Neural Networks - Xavier Giro - UPC TelecomBCN Barcelona 2020Convolutional Neural Networks - Xavier Giro - UPC TelecomBCN Barcelona 2020
Convolutional Neural Networks - Xavier Giro - UPC TelecomBCN Barcelona 2020
 
Self-Supervised Audio-Visual Learning - Xavier Giro - UPC TelecomBCN Barcelon...
Self-Supervised Audio-Visual Learning - Xavier Giro - UPC TelecomBCN Barcelon...Self-Supervised Audio-Visual Learning - Xavier Giro - UPC TelecomBCN Barcelon...
Self-Supervised Audio-Visual Learning - Xavier Giro - UPC TelecomBCN Barcelon...
 
Attention for Deep Learning - Xavier Giro - UPC TelecomBCN Barcelona 2020
Attention for Deep Learning - Xavier Giro - UPC TelecomBCN Barcelona 2020Attention for Deep Learning - Xavier Giro - UPC TelecomBCN Barcelona 2020
Attention for Deep Learning - Xavier Giro - UPC TelecomBCN Barcelona 2020
 
Generative Adversarial Networks GAN - Xavier Giro - UPC TelecomBCN Barcelona ...
Generative Adversarial Networks GAN - Xavier Giro - UPC TelecomBCN Barcelona ...Generative Adversarial Networks GAN - Xavier Giro - UPC TelecomBCN Barcelona ...
Generative Adversarial Networks GAN - Xavier Giro - UPC TelecomBCN Barcelona ...
 
Q-Learning with a Neural Network - Xavier Giró - UPC Barcelona 2020
Q-Learning with a Neural Network - Xavier Giró - UPC Barcelona 2020Q-Learning with a Neural Network - Xavier Giró - UPC Barcelona 2020
Q-Learning with a Neural Network - Xavier Giró - UPC Barcelona 2020
 
Language and Vision with Deep Learning - Xavier Giró - ACM ICMR 2020 (Tutorial)
Language and Vision with Deep Learning - Xavier Giró - ACM ICMR 2020 (Tutorial)Language and Vision with Deep Learning - Xavier Giró - ACM ICMR 2020 (Tutorial)
Language and Vision with Deep Learning - Xavier Giró - ACM ICMR 2020 (Tutorial)
 
Image Segmentation with Deep Learning - Xavier Giro & Carles Ventura - ISSonD...
Image Segmentation with Deep Learning - Xavier Giro & Carles Ventura - ISSonD...Image Segmentation with Deep Learning - Xavier Giro & Carles Ventura - ISSonD...
Image Segmentation with Deep Learning - Xavier Giro & Carles Ventura - ISSonD...
 
Curriculum Learning for Recurrent Video Object Segmentation
Curriculum Learning for Recurrent Video Object SegmentationCurriculum Learning for Recurrent Video Object Segmentation
Curriculum Learning for Recurrent Video Object Segmentation
 
Deep Self-supervised Learning for All - Xavier Giro - X-Europe 2020
Deep Self-supervised Learning for All - Xavier Giro - X-Europe 2020Deep Self-supervised Learning for All - Xavier Giro - X-Europe 2020
Deep Self-supervised Learning for All - Xavier Giro - X-Europe 2020
 

Último

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Último (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Interactive Image Processing Demos for the Web

  • 1. Interactive Image Processing demonstrations for the web Terrassa Engineering School(E.E.T.) Spring 2011 Author: Marcel Tella Amo Advisors: Xavier Giró i Nieto Albert Gil Moreno
  • 2. Motivation – Requirements – State of the Art – Design – Results - Conclusions Motivation Context UPC Image and Video Processing Group ImagePlus Software development platform 2
  • 3. Motivation – Requirements – State of the Art – Design – Results - Conclusions Motivation Index ● Showing the algorithms ● External Users ● Internal users 3
  • 4. Motivation – Requirements – State of the Art – Design – Results - Conclusions Showing algorithms External users UPC image and video processing group need a way to show their algorithms in a comfortable way. 4
  • 5. Motivation – Requirements – State of the Art – Design – Results - Conclusions Internal Users ● Detecting possible bugs in the application ● Watching the results in a graphical way 5
  • 6. Motivation – Requirements – State of the Art – Design – Results - Conclusions Requirements Index ● Global access ● Minimum web technology ● No plug-ins in the client ● Easy for programmers ● Interactive demos ● Documentation HOW COULD I FIND A TECHNOLOGY TO FULFILL ALL THIS? 6
  • 7. Motivation – Requirements – State of the Art – Design – Results - Conclusions Global access Internet is the best way to transmit information to everyone. The more people, the better 7
  • 8. Motivation – Requirements – State of the Art – Design – Results - Conclusions Minimum web technology The more technology, the more to learn for developers Avaliable Technology: HTML DHTML ●XHTML ●JavaScript ●PHP ●AJAX ●CSS ●ASP.NET ● ● Ruby on rails ●Java ●C++ ●Python ●[...] ● 8
  • 9. Motivation – Requirements – State of the Art – Design – Results - Conclusions No plug-ins in the client 9
  • 10. Motivation – Requirements – State of the Art – Design – Results - Conclusions Easy for programmers ● Simple way to create a web demonstration ● A whole web interface with a few lines of code 10
  • 11. Motivation – Requirements – State of the Art – Design – Results - Conclusions Interactive demos Interactivity is very important to give a good feeling to the user. 11
  • 12. Motivation – Requirements – State of the Art – Design – Results - Conclusions Documentation ● Afterwards, developers have to code web demonstrations... ● Getting started ● Commenting all the code 12
  • 13. Motivation – Requirements – State of the Art – Design – Results - Conclusions State of the art Index ● How to demonstrate image processing ● Exposing the source code ● Explaining with pictures ● Making videos ● 30 days trial ● Image Processing in the web ● Image Processing in the client side 13
  • 14. Motivation – Requirements – State of the Art – Design – Results - Conclusions How to demonstrate image processing Exposing the source code 14
  • 15. Motivation – Requirements – State of the Art – Design – Results - Conclusions How to demonstrate image processing Explaining them step by step with pictures 15
  • 16. Motivation – Requirements – State of the Art – Design – Results - Conclusions How to demonstrate image processing Making videos 16
  • 17. Motivation – Requirements – State of the Art – Design – Results - Conclusions How to demonstrate image processing 30 days trial 17
  • 18. Motivation – Requirements – State of the Art – Design – Results - Conclusions How to demonstrate image processing Image Processing algorithms in the web More examples: http://www.pixl.com/ http://www.aviary.com/ 18
  • 19. Motivation – Requirements – State of the Art – Design – Results - Conclusions Image Processing in the client side: Javascript frameworks ● Just powerful computers ● No limited computers ● No tablets ● No mobile phones 19
  • 20. Motivation – Requirements – State of the Art – Design – Results - Conclusions Design Index ● Possible scheme ● Looking for the right technology ● Final scheme of the application ● Web Interface ● Wt basics vs HTML basics ● One application, one demo 20
  • 21. Possible scheme ImagePlus ImagePlus ImagePlus ImagePlus tools tools Saving files in disc? Web Web It really is a way, but it is not optimal, saving files in disc, and being dependent of ImagePlus tools Me Me + + Some Some techology? techology? 21
  • 22. Motivation – Requirements – State of the Art – Design – Results - Conclusions 22
  • 23. Motivation – Requirements – State of the Art – Design – Results - Conclusions Looking for the right technology Wt, the winner one! ● Render webs ● Interactivity ● Support HTML 5 ● Allows PUSH ● Open Source ● and more... And the most important, Wt is created to join all web technology in just C++! 23
  • 24. Motivation – Requirements – State of the Art – Design – Results - Conclusions Wt main approach: Breaking the Client-Server scheme Programmer Side ● Like Desktop ● Web Side ● Client-Sercer Scheme No client-server 24
  • 25. Motivation – Requirements – State of the Art – Design – Results - Conclusions Final scheme of the application HTML Wt Web Framework & Web Utilities ImagePlus 25
  • 26. Motivation – Requirements – State of the Art – Design – Results - Conclusions Web Interface 26
  • 27. Motivation – Requirements – State of the Art – Design – Results - Conclusions Interface classes: Architecture 27
  • 28. Motivation – Requirements – State of the Art – Design – Results - Conclusions Wt basics vs HTML basics HTML Wt <div> WContainerWidget <span> WText Qt QDesignerContainer Extension QTextEdit 28
  • 29. Motivation – Requirements – State of the Art – Design – Results - Conclusions Interface classes: Hierarchy 29
  • 30. Motivation – Requirements – State of the Art – Design – Results - Conclusions One application, one demo One demo Tries per user ● ImagePlus structure ● Multiple demos More comfortable for external users. ● Imageplus Tools Web demos Easy to make with some hiperlinks! 30
  • 31. Motivation – Requirements – State of the Art – Design – Results - Conclusions Desktop vs Web Nowadays, with high connections, Internet is becoming more and more important. ● Applications on-line (cloud computing) ● The server does everything – ● [Wt] Mobile devices Desktop applications. [Qt] 31
  • 32. Motivation – Requirements – State of the Art – Design – Results - Conclusions Results Index ● Framework ● Classes ● Utilities ● ● ● WebImage WebBibliography Demo 32
  • 33. Motivation – Requirements – State of the Art – Design – Results - Conclusions Framework ● The main result of my project ● Inheriting from “GPIapp” you get a void interface. ● Title and description are also mandatory in each demo class newapp : public GPIapp {}; //Constructor newapp::newapp(const WEnvironment& env) : GPIapp(env,"Title","Description") {} 33
  • 34. Motivation – Requirements – State of the Art – Design – Results - Conclusions Result of writting that little piece of code 34
  • 35. Motivation – Requirements – State of the Art – Design – Results - Conclusions Utilities: WebImage WebImage ima(&getDemo()); ima.paintImage( ImageRGB ); 35
  • 36. Motivation – Requirements – State of the Art – Design – Results - Conclusions Utilities: WebBibliography ● New class to add a formatted bibliography addBibliography(“author”,”title”,”publication”,”url”); 36
  • 37. Motivation – Requirements – State of the Art – Design – Results - Conclusions Demonstration This is just a little example of what could be done with Wt and the Web Framework created in this project. 37
  • 38. Motivation – Requirements – State of the Art – Design – Results - Conclusions Conclusions Index ● Requirements fulfilled ● Useful for the UPC image and video processing group ● Future project about video demonstrations 38
  • 39. Motivation – Requirements – State of the Art – Design – Results - Conclusions Requirements fulfilled Going back to the requirements we can see that all requirements are fulfilled. ● Global access ● One application, one demo ● No plug-ins in the client ● Easy for programmers ● Interactive demos ● Minimum web technology Better resoults than expected! Everytihing is in C++! 39
  • 40. Motivation – Requirements – State of the Art – Design – Results - Conclusions Useful for the UPC image and video processing group There is something to show now! Click here to go to the demonstration: Binary partition tree web demonstration 40
  • 41. Motivation – Requirements – State of the Art – Design – Results - Conclusions Video demonstrations Wt works HTML 5 video tag ● Future project: GSTREAMER + WT + IMAGEPLUS 41
  • 42. Questions? All work done in a Debian – Linux based environment NX No-Machine Eclipse IDE Iceweasel & Google Chrome browsers 42