SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
Image	
  Processing	
  and	
  	
  
Computer	
  Vision	
  in	
  iOS	
  
Oge Marques, PhD

	


omarques@fau.edu
	

	

	

Uberaba, MG - Brazil 	

18 December 2013
Take-home message
	


Mobile image processing and computer vision
applications are coming of age. 	

There are many opportunities for building successful
apps that may improve the way we capture,
organize, edit, share, annotate, and retrieve images
and videos using iPhone and iPad.
Disclaimer #1	

•  I'm a teacher, researcher, graduate advisor, author,
…	


	

•  … not a developer
Disclaimer #2	

•  I'm a trained engineer	


	

•  … not an artist / designer
Disclaimer #3
	

•  I'm an Apple fan!	

–  Since 2001…	

•  4 iPod, 3 iPhone, 2 iPad, 2 iMac, 4
MacBook, and more (AirPort, AirPort
Express, Apple TV, etc.)	


–  Since 2010…	

•  Created and co-taught
iOS Programming classes at FAU
In 2013…
	

•  1.4 billion people have a smartphone with
camera	

•  350 million photos uploaded to Facebook every
day	

•  Instagram reaches 150
million users, with a total
of 16 billion photos
shared and 1 billion likes
each day
In 2013…
	

•  Selfie was the Oxford Dictionary's new word of
the year
And speaking of new words…
Background and Motivation
	

Two	
  sides	
  of	
  the	
  coin	
  
	
  

•  The maturity and
popularity of image
processing and computer
vision techniques and
algorithms	


•  The unprecedented
success of mobile
devices, particularly the
iPhone and the iPad
Motivation	

•  Rich capabilities of iPhone/iPad for image and
video processing	

•  Apple support for image and multimedia:
frameworks, libraries, etc.	

•  Third-party support for iPhone-based
development: open APIs, OpenCV, etc.	

•  Success stories and ever-growing market
Motivation	

•  Q: Why DIP and CV?	

•  A: Because they are still relevant and growing
fields whose techniques and can help solve many
problems.	

•  Q: Why iOS / mobile?	

•  A: Because some problems are better solved in
that context and some still need to be solved in a
away that is consistent with ergonomics (devices'
size etc.) and user needs (quick fix + filter before
sharing).
search. As an example, we then present the Stanford Product
Search system, a low-latency interactive visual search system.
Several sidebars in this article invite the interested reader to dig
deeper into the underlying algorithms.

each query feature vector with all t
base and is the key to very fast retr
features they have in common wit
of potentially similar images is sele
Finally, a geometric verificatio
most similar matches in the datab
spatial pattern between features of
didate database image to ensure
Example retrieval systems are pres
For mobile visual search, ther
to provide the users with an int
deployed systems typically transm
the server, which might require t
large databases, the inverted file in
memory swapping operations slow
ing stage. Further, the GV step
and thus increases the response t
the retrieval pipeline in the follow
the challenges of mobile visual se

Example: a natural use case for CBIR 	

ROBUST MOBILE IMAGE RECOGNITION
Today, the most successful algorithms for content-based image
retrieval use an approach that is referred to as bag of features
(BoFs) or bag of words (BoWs). The BoW idea is borrowed from
text retrieval. To find a particular text document, such as a Web
page, it is sufficient to use a few well-chosen words. In the
database, the document itself can be likewise represented by a

•  Content-Based Image Retrieval (CBIR) using the
Query-By-Example (QBE) paradigm	

–  The example is right there, in front of the user!	


Query
Image

[FIG1] A snapshot of an outdoor mobile visual search system
being used. The system augments the viewfinder with
information about the objects it recognizes in the image taken
with a camera phone.

Feature
Extraction

[FIG2] A Pipeline for image retrieva
from the query image. Feature mat
images in the database that have m
with the query image. The GV step
feature locations that cannot be pl
in viewing position.
Example: Stanford DIP class 	


•  Course page: http://www.stanford.edu/class/ee368/index.html 	

•  YouTube playlist
iPhone photo apps
	

•  400+ photo- and video-related apps available in
iTunes store	

–  Entire sites for reviews, discussions, etc.	

–  Subcategories include:	

•  Camera enhancements 	

•  Image editing and processing 	

•  Image sharing 	

•  Image printing, wireless transfer, etc.
An app about apps
iPhone photo apps
	

•  Fresh from the oven…
iPhone photo apps
iPhone photo apps
Developing DIP/CV apps for iOS
	

•  Checklist:	

–  Get a Mac running OS X 	

–  Sign up to become a registered iOS developer	

–  Download / install xCode and latest version of iOS
SDK	

–  Download / install iOS simulator	

–  Learn Objective-C and the basics of iOS programming	

–  Get an iPhone, iPod Touch, or iPad (optional)
Developing DIP/CV apps for iOS
	

•  Topics to study in greater depth:	

–  The main classes that you need to understand in order
to develop basic applications involving images, camera,
and photo library for the iPhone are: 	

•  UIImageView 	

•  UIImagePickerController	

•  UIImage	


–  Check out the documentation for the A/V foundation
Developing DIP/CV apps for iOS
	

•  Topics to study in greater depth (cont'd):	

–  Learn about Core Image and its main classes:	

•  CIFilter: a mutable object that represents an effect. A filter
object has at least one input parameter and produces an
output image.	

•  CIImage: an immutable object that represents an image. 	

•  CIContext: an object through which Core Image draws the
results produced by a filter.
Core Image
	

•  Image processing and analysis technology designed to provide
near real-time processing for still and video images. 	

•  Hides the details of low-level graphics processing by providing an
easy-to-use API.	

•  Brought into iOS since iOS 5 (Oct'11)
OpenCV	

•  OpenCV (Open Source Computer Vision) is
a library of programming functions for realtime computer vision.	

•  OpenCV is released under a BSD license; it is
free for both academic and commercial use.	

•  Goal: to provide a simple-to-use computer
vision infrastructure that helps people build
fairly sophisticated vision applications quickly.	

•  The library has 2000+ optimized algorithms. 	

–  It is used around the world, has 2M downloads
and 40K people in the user group.
OpenCV	

•  5 main components:	

1.  CV: basic image processing and higher-level computer
vision algorithms	

2.  ML: machine learning algorithms	

3.  HighGUI: I/O routines and functions for storing and
loading video and images	

4.  CXCore: basic data structures and content upon
which the three components above rely	

5.  CvAux: defunct areas + experimental algorithms; not
well-documented.
OpenCV and iOS	

Example	


Contrast	
  with	
  equivalent	
  func=onality	
  using	
  Core	
  Image	
  
A bit of advice…
	

•  Go beyond the DIP/CV and iOS boxes	

–  Learn about ergonomics, human factors, human psych,
HCI, UX	


•  Don't reinvent the wheel!	

–  Reuse code and ideas whenever possible	


•  Avoid the trap of building solutions looking for
problems	

•  Tackle ONE problem and solve it well!	

•  Beware of competition	

•  Beware of narrow windows of opportunity and
ephemeral success: timing is everything!
Learn more about it
	

•  iOS Programming	

–  Apple online documentation	

–  Core Image	


•  OpenCV 	

–  Official website	

–  Learning OpenCV book	

–  Instant OpenCV for iOS book	


•  Our work	

–  Slideshare (WVC 2011)	

–  Upcoming book (Springer Briefs, 2014)
Concluding thoughts
	

•  Mobile image processing, image search, and computer
vision-based apps have a promising future.	

	

•  There is a great need for good solutions to specific
problems. 	

•  I hope this talk has provided a good starting point
and many useful pointers.	

•  I look forward to working with some of you!
Let's get to work!
	

•  Which computer vision or image processing app
would you like to build?	


•  Contact me with ideas: omarques@fau.edu

Mais conteúdo relacionado

Mais procurados

Information Architecture Course Part 2 - Spring 2013 - Class 1
Information Architecture Course Part 2 - Spring 2013 - Class 1Information Architecture Course Part 2 - Spring 2013 - Class 1
Information Architecture Course Part 2 - Spring 2013 - Class 1Keith Schengili-Roberts
 
Rapid Innovative Design Notes
Rapid Innovative Design NotesRapid Innovative Design Notes
Rapid Innovative Design Notesspotlearning
 
Lecture 4: Social Web Personalization (2012)
Lecture 4: Social Web Personalization (2012)Lecture 4: Social Web Personalization (2012)
Lecture 4: Social Web Personalization (2012)Lora Aroyo
 
Information Architecture - Part 1 - Spring 2013 - Class 1
Information Architecture - Part 1 - Spring 2013 - Class 1Information Architecture - Part 1 - Spring 2013 - Class 1
Information Architecture - Part 1 - Spring 2013 - Class 1Keith Schengili-Roberts
 
SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)
SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)
SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)SSII
 
23625509 internetworking-technologies
23625509 internetworking-technologies23625509 internetworking-technologies
23625509 internetworking-technologiesjayaprakash
 
Who are the users of a video search system?
Who are the users of a video search system?Who are the users of a video search system?
Who are the users of a video search system?MaxKemman
 
Using the Crowd to Understand and Adapt User Interfaces
Using the Crowd to Understand and Adapt User InterfacesUsing the Crowd to Understand and Adapt User Interfaces
Using the Crowd to Understand and Adapt User InterfacesJeffrey Nichols
 
Information Architecture - Part 2 - Spring 2013 - Class 3
Information Architecture - Part 2 - Spring 2013 - Class 3Information Architecture - Part 2 - Spring 2013 - Class 3
Information Architecture - Part 2 - Spring 2013 - Class 3Keith Schengili-Roberts
 
Information Architecture: Part 2 - Spring 2013 - Class 2
Information Architecture: Part 2 - Spring 2013 - Class 2Information Architecture: Part 2 - Spring 2013 - Class 2
Information Architecture: Part 2 - Spring 2013 - Class 2Keith Schengili-Roberts
 
Information Architecture: Part 2 - Spring 2013 - Class 4
Information Architecture: Part 2 - Spring 2013 - Class 4Information Architecture: Part 2 - Spring 2013 - Class 4
Information Architecture: Part 2 - Spring 2013 - Class 4Keith Schengili-Roberts
 

Mais procurados (13)

16 ijcse-01237
16 ijcse-0123716 ijcse-01237
16 ijcse-01237
 
Information Architecture Course Part 2 - Spring 2013 - Class 1
Information Architecture Course Part 2 - Spring 2013 - Class 1Information Architecture Course Part 2 - Spring 2013 - Class 1
Information Architecture Course Part 2 - Spring 2013 - Class 1
 
Rapid Innovative Design Notes
Rapid Innovative Design NotesRapid Innovative Design Notes
Rapid Innovative Design Notes
 
Lecture 4: Social Web Personalization (2012)
Lecture 4: Social Web Personalization (2012)Lecture 4: Social Web Personalization (2012)
Lecture 4: Social Web Personalization (2012)
 
Information Architecture - Part 1 - Spring 2013 - Class 1
Information Architecture - Part 1 - Spring 2013 - Class 1Information Architecture - Part 1 - Spring 2013 - Class 1
Information Architecture - Part 1 - Spring 2013 - Class 1
 
SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)
SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)
SSII2021 [SS2] Deepfake Generation and Detection – An Overview (ディープフェイクの生成と検出)
 
Computer Vision Crash Course
Computer Vision Crash CourseComputer Vision Crash Course
Computer Vision Crash Course
 
23625509 internetworking-technologies
23625509 internetworking-technologies23625509 internetworking-technologies
23625509 internetworking-technologies
 
Who are the users of a video search system?
Who are the users of a video search system?Who are the users of a video search system?
Who are the users of a video search system?
 
Using the Crowd to Understand and Adapt User Interfaces
Using the Crowd to Understand and Adapt User InterfacesUsing the Crowd to Understand and Adapt User Interfaces
Using the Crowd to Understand and Adapt User Interfaces
 
Information Architecture - Part 2 - Spring 2013 - Class 3
Information Architecture - Part 2 - Spring 2013 - Class 3Information Architecture - Part 2 - Spring 2013 - Class 3
Information Architecture - Part 2 - Spring 2013 - Class 3
 
Information Architecture: Part 2 - Spring 2013 - Class 2
Information Architecture: Part 2 - Spring 2013 - Class 2Information Architecture: Part 2 - Spring 2013 - Class 2
Information Architecture: Part 2 - Spring 2013 - Class 2
 
Information Architecture: Part 2 - Spring 2013 - Class 4
Information Architecture: Part 2 - Spring 2013 - Class 4Information Architecture: Part 2 - Spring 2013 - Class 4
Information Architecture: Part 2 - Spring 2013 - Class 4
 

Destaque

Image Processing and Computer Vision in iPhone and iPad
Image Processing and Computer Vision in iPhone and iPadImage Processing and Computer Vision in iPhone and iPad
Image Processing and Computer Vision in iPhone and iPadOge Marques
 
Using games to improve computer vision solutions
Using games to improve computer vision solutionsUsing games to improve computer vision solutions
Using games to improve computer vision solutionsOge Marques
 
iOS GPUImage introduction
iOS GPUImage introductioniOS GPUImage introduction
iOS GPUImage introductionYi-Lung Tsai
 
Secure Multi-Party Negotiation: An Analysis for Electronic Payments in Mobile...
Secure Multi-Party Negotiation: An Analysis for Electronic Payments in Mobile...Secure Multi-Party Negotiation: An Analysis for Electronic Payments in Mobile...
Secure Multi-Party Negotiation: An Analysis for Electronic Payments in Mobile...IDES Editor
 
What's a Core Image? An Image-Processing Framework on iOS and OS X
What's a Core Image? An Image-Processing Framework on iOS and OS XWhat's a Core Image? An Image-Processing Framework on iOS and OS X
What's a Core Image? An Image-Processing Framework on iOS and OS XFlatiron School
 
Advanced Imaging on iOS
Advanced Imaging on iOSAdvanced Imaging on iOS
Advanced Imaging on iOSrsebbe
 
Digital watermarking
Digital watermarkingDigital watermarking
Digital watermarkingrupareliab14
 
Edge detection iOS application
Edge detection iOS applicationEdge detection iOS application
Edge detection iOS applicationKetan Raval
 
The President’s Speech in Cairo: A New Beginning - Turkish
The President’s Speech in Cairo: A New Beginning - TurkishThe President’s Speech in Cairo: A New Beginning - Turkish
The President’s Speech in Cairo: A New Beginning - TurkishObama White House
 
Presentation Ff
Presentation FfPresentation Ff
Presentation Ffjulie.yang
 
The New Rules of Entrepreneurship
The New Rules of EntrepreneurshipThe New Rules of Entrepreneurship
The New Rules of EntrepreneurshipCory Miller
 
20140510 核能流言終結者對核能的看法
20140510 核能流言終結者對核能的看法20140510 核能流言終結者對核能的看法
20140510 核能流言終結者對核能的看法Chang Yie
 
White Shaka - Graphic Novel
White Shaka - Graphic NovelWhite Shaka - Graphic Novel
White Shaka - Graphic NovelAlan Brody
 
Sant Cugat
Sant CugatSant Cugat
Sant CugatDavidPi
 
EA Draffan Assess 2010 Presentation on Accessibility & Assistive Technology
EA Draffan Assess 2010 Presentation on Accessibility & Assistive TechnologyEA Draffan Assess 2010 Presentation on Accessibility & Assistive Technology
EA Draffan Assess 2010 Presentation on Accessibility & Assistive TechnologyNeil Milliken
 

Destaque (20)

Image Processing and Computer Vision in iPhone and iPad
Image Processing and Computer Vision in iPhone and iPadImage Processing and Computer Vision in iPhone and iPad
Image Processing and Computer Vision in iPhone and iPad
 
Using games to improve computer vision solutions
Using games to improve computer vision solutionsUsing games to improve computer vision solutions
Using games to improve computer vision solutions
 
iOS GPUImage introduction
iOS GPUImage introductioniOS GPUImage introduction
iOS GPUImage introduction
 
Secure Multi-Party Negotiation: An Analysis for Electronic Payments in Mobile...
Secure Multi-Party Negotiation: An Analysis for Electronic Payments in Mobile...Secure Multi-Party Negotiation: An Analysis for Electronic Payments in Mobile...
Secure Multi-Party Negotiation: An Analysis for Electronic Payments in Mobile...
 
What's a Core Image? An Image-Processing Framework on iOS and OS X
What's a Core Image? An Image-Processing Framework on iOS and OS XWhat's a Core Image? An Image-Processing Framework on iOS and OS X
What's a Core Image? An Image-Processing Framework on iOS and OS X
 
Advanced Imaging on iOS
Advanced Imaging on iOSAdvanced Imaging on iOS
Advanced Imaging on iOS
 
Image compression Algorithms
Image compression AlgorithmsImage compression Algorithms
Image compression Algorithms
 
Jpeg compression
Jpeg compressionJpeg compression
Jpeg compression
 
Digital Watermarking
Digital WatermarkingDigital Watermarking
Digital Watermarking
 
Digital watermarking
Digital watermarkingDigital watermarking
Digital watermarking
 
Edge detection iOS application
Edge detection iOS applicationEdge detection iOS application
Edge detection iOS application
 
The President’s Speech in Cairo: A New Beginning - Turkish
The President’s Speech in Cairo: A New Beginning - TurkishThe President’s Speech in Cairo: A New Beginning - Turkish
The President’s Speech in Cairo: A New Beginning - Turkish
 
Presentation Ff
Presentation FfPresentation Ff
Presentation Ff
 
The New Rules of Entrepreneurship
The New Rules of EntrepreneurshipThe New Rules of Entrepreneurship
The New Rules of Entrepreneurship
 
20140510 核能流言終結者對核能的看法
20140510 核能流言終結者對核能的看法20140510 核能流言終結者對核能的看法
20140510 核能流言終結者對核能的看法
 
CAR Email 7.10.02 (b)
CAR Email 7.10.02 (b)CAR Email 7.10.02 (b)
CAR Email 7.10.02 (b)
 
White Shaka - Graphic Novel
White Shaka - Graphic NovelWhite Shaka - Graphic Novel
White Shaka - Graphic Novel
 
Clean Water Act
Clean Water ActClean Water Act
Clean Water Act
 
Sant Cugat
Sant CugatSant Cugat
Sant Cugat
 
EA Draffan Assess 2010 Presentation on Accessibility & Assistive Technology
EA Draffan Assess 2010 Presentation on Accessibility & Assistive TechnologyEA Draffan Assess 2010 Presentation on Accessibility & Assistive Technology
EA Draffan Assess 2010 Presentation on Accessibility & Assistive Technology
 

Semelhante a Image Processing and Computer Vision in iOS

Working With Image
Working With ImageWorking With Image
Working With ImageVicky Kumar
 
The iOS technical interview: get your dream job as an iOS developer
The iOS technical interview: get your dream job as an iOS developerThe iOS technical interview: get your dream job as an iOS developer
The iOS technical interview: get your dream job as an iOS developerJuan C Catalan
 
Computer vision introduction
Computer vision  introduction Computer vision  introduction
Computer vision introduction Wael Badawy
 
Neil Perlin - We're Going Mobile! Great! Are We Ready?
Neil Perlin - We're Going Mobile! Great! Are We Ready?Neil Perlin - We're Going Mobile! Great! Are We Ready?
Neil Perlin - We're Going Mobile! Great! Are We Ready?LavaConConference
 
Mobile applications chapter 5
Mobile applications chapter 5Mobile applications chapter 5
Mobile applications chapter 5Akib B. Momin
 
IIIF Introduction and Opportunities at Cornell
IIIF Introduction and Opportunities at CornellIIIF Introduction and Opportunities at Cornell
IIIF Introduction and Opportunities at CornellSimeon Warner
 
Paper Presentation
Paper PresentationPaper Presentation
Paper PresentationDahye Kim
 
Promises of Deep Learning
Promises of Deep LearningPromises of Deep Learning
Promises of Deep LearningDavid Khosid
 
Layer architecture of ios (1)
Layer architecture of ios (1)Layer architecture of ios (1)
Layer architecture of ios (1)dwipalp
 
16 OpenCV Functions to Start your Computer Vision journey.docx
16 OpenCV Functions to Start your Computer Vision journey.docx16 OpenCV Functions to Start your Computer Vision journey.docx
16 OpenCV Functions to Start your Computer Vision journey.docxssuser90e017
 
ChrisSchilling_SideProjects
ChrisSchilling_SideProjectsChrisSchilling_SideProjects
ChrisSchilling_SideProjectsChris Schilling
 
EVAIN Artificial intelligence and semantic annotation: are you serious about it?
EVAIN Artificial intelligence and semantic annotation: are you serious about it?EVAIN Artificial intelligence and semantic annotation: are you serious about it?
EVAIN Artificial intelligence and semantic annotation: are you serious about it?FIAT/IFTA
 
Introducing ios core ml
Introducing ios core mlIntroducing ios core ml
Introducing ios core mlAbby Lai
 

Semelhante a Image Processing and Computer Vision in iOS (20)

Shiva_CV
Shiva_CVShiva_CV
Shiva_CV
 
Working With Image
Working With ImageWorking With Image
Working With Image
 
Roadshow cb
Roadshow cbRoadshow cb
Roadshow cb
 
Online File Formats.pptx
Online File Formats.pptxOnline File Formats.pptx
Online File Formats.pptx
 
The iOS technical interview: get your dream job as an iOS developer
The iOS technical interview: get your dream job as an iOS developerThe iOS technical interview: get your dream job as an iOS developer
The iOS technical interview: get your dream job as an iOS developer
 
Computer vision introduction
Computer vision  introduction Computer vision  introduction
Computer vision introduction
 
Neil Perlin - We're Going Mobile! Great! Are We Ready?
Neil Perlin - We're Going Mobile! Great! Are We Ready?Neil Perlin - We're Going Mobile! Great! Are We Ready?
Neil Perlin - We're Going Mobile! Great! Are We Ready?
 
Rscyh summer conf12cb
Rscyh summer conf12cbRscyh summer conf12cb
Rscyh summer conf12cb
 
Mobile applications chapter 5
Mobile applications chapter 5Mobile applications chapter 5
Mobile applications chapter 5
 
IIIF Introduction and Opportunities at Cornell
IIIF Introduction and Opportunities at CornellIIIF Introduction and Opportunities at Cornell
IIIF Introduction and Opportunities at Cornell
 
Paper Presentation
Paper PresentationPaper Presentation
Paper Presentation
 
Promises of Deep Learning
Promises of Deep LearningPromises of Deep Learning
Promises of Deep Learning
 
Layer architecture of ios (1)
Layer architecture of ios (1)Layer architecture of ios (1)
Layer architecture of ios (1)
 
16 OpenCV Functions to Start your Computer Vision journey.docx
16 OpenCV Functions to Start your Computer Vision journey.docx16 OpenCV Functions to Start your Computer Vision journey.docx
16 OpenCV Functions to Start your Computer Vision journey.docx
 
Introduction
IntroductionIntroduction
Introduction
 
Creating infographics
Creating infographicsCreating infographics
Creating infographics
 
Ios
IosIos
Ios
 
ChrisSchilling_SideProjects
ChrisSchilling_SideProjectsChrisSchilling_SideProjects
ChrisSchilling_SideProjects
 
EVAIN Artificial intelligence and semantic annotation: are you serious about it?
EVAIN Artificial intelligence and semantic annotation: are you serious about it?EVAIN Artificial intelligence and semantic annotation: are you serious about it?
EVAIN Artificial intelligence and semantic annotation: are you serious about it?
 
Introducing ios core ml
Introducing ios core mlIntroducing ios core ml
Introducing ios core ml
 

Último

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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
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
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
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
 
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
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Último (20)

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...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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?
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
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
 
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...
 
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...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

Image Processing and Computer Vision in iOS

  • 1. Image  Processing  and     Computer  Vision  in  iOS   Oge Marques, PhD omarques@fau.edu Uberaba, MG - Brazil 18 December 2013
  • 2. Take-home message Mobile image processing and computer vision applications are coming of age. There are many opportunities for building successful apps that may improve the way we capture, organize, edit, share, annotate, and retrieve images and videos using iPhone and iPad.
  • 3. Disclaimer #1 •  I'm a teacher, researcher, graduate advisor, author, … •  … not a developer
  • 4. Disclaimer #2 •  I'm a trained engineer •  … not an artist / designer
  • 5. Disclaimer #3 •  I'm an Apple fan! –  Since 2001… •  4 iPod, 3 iPhone, 2 iPad, 2 iMac, 4 MacBook, and more (AirPort, AirPort Express, Apple TV, etc.) –  Since 2010… •  Created and co-taught iOS Programming classes at FAU
  • 6.
  • 7. In 2013… •  1.4 billion people have a smartphone with camera •  350 million photos uploaded to Facebook every day •  Instagram reaches 150 million users, with a total of 16 billion photos shared and 1 billion likes each day
  • 8. In 2013… •  Selfie was the Oxford Dictionary's new word of the year
  • 9. And speaking of new words…
  • 10. Background and Motivation Two  sides  of  the  coin     •  The maturity and popularity of image processing and computer vision techniques and algorithms •  The unprecedented success of mobile devices, particularly the iPhone and the iPad
  • 11. Motivation •  Rich capabilities of iPhone/iPad for image and video processing •  Apple support for image and multimedia: frameworks, libraries, etc. •  Third-party support for iPhone-based development: open APIs, OpenCV, etc. •  Success stories and ever-growing market
  • 12. Motivation •  Q: Why DIP and CV? •  A: Because they are still relevant and growing fields whose techniques and can help solve many problems. •  Q: Why iOS / mobile? •  A: Because some problems are better solved in that context and some still need to be solved in a away that is consistent with ergonomics (devices' size etc.) and user needs (quick fix + filter before sharing).
  • 13. search. As an example, we then present the Stanford Product Search system, a low-latency interactive visual search system. Several sidebars in this article invite the interested reader to dig deeper into the underlying algorithms. each query feature vector with all t base and is the key to very fast retr features they have in common wit of potentially similar images is sele Finally, a geometric verificatio most similar matches in the datab spatial pattern between features of didate database image to ensure Example retrieval systems are pres For mobile visual search, ther to provide the users with an int deployed systems typically transm the server, which might require t large databases, the inverted file in memory swapping operations slow ing stage. Further, the GV step and thus increases the response t the retrieval pipeline in the follow the challenges of mobile visual se Example: a natural use case for CBIR ROBUST MOBILE IMAGE RECOGNITION Today, the most successful algorithms for content-based image retrieval use an approach that is referred to as bag of features (BoFs) or bag of words (BoWs). The BoW idea is borrowed from text retrieval. To find a particular text document, such as a Web page, it is sufficient to use a few well-chosen words. In the database, the document itself can be likewise represented by a •  Content-Based Image Retrieval (CBIR) using the Query-By-Example (QBE) paradigm –  The example is right there, in front of the user! Query Image [FIG1] A snapshot of an outdoor mobile visual search system being used. The system augments the viewfinder with information about the objects it recognizes in the image taken with a camera phone. Feature Extraction [FIG2] A Pipeline for image retrieva from the query image. Feature mat images in the database that have m with the query image. The GV step feature locations that cannot be pl in viewing position.
  • 14. Example: Stanford DIP class •  Course page: http://www.stanford.edu/class/ee368/index.html •  YouTube playlist
  • 15. iPhone photo apps •  400+ photo- and video-related apps available in iTunes store –  Entire sites for reviews, discussions, etc. –  Subcategories include: •  Camera enhancements •  Image editing and processing •  Image sharing •  Image printing, wireless transfer, etc.
  • 16. An app about apps
  • 17. iPhone photo apps •  Fresh from the oven…
  • 20. Developing DIP/CV apps for iOS •  Checklist: –  Get a Mac running OS X –  Sign up to become a registered iOS developer –  Download / install xCode and latest version of iOS SDK –  Download / install iOS simulator –  Learn Objective-C and the basics of iOS programming –  Get an iPhone, iPod Touch, or iPad (optional)
  • 21. Developing DIP/CV apps for iOS •  Topics to study in greater depth: –  The main classes that you need to understand in order to develop basic applications involving images, camera, and photo library for the iPhone are: •  UIImageView •  UIImagePickerController •  UIImage –  Check out the documentation for the A/V foundation
  • 22. Developing DIP/CV apps for iOS •  Topics to study in greater depth (cont'd): –  Learn about Core Image and its main classes: •  CIFilter: a mutable object that represents an effect. A filter object has at least one input parameter and produces an output image. •  CIImage: an immutable object that represents an image. •  CIContext: an object through which Core Image draws the results produced by a filter.
  • 23. Core Image •  Image processing and analysis technology designed to provide near real-time processing for still and video images. •  Hides the details of low-level graphics processing by providing an easy-to-use API. •  Brought into iOS since iOS 5 (Oct'11)
  • 24. OpenCV •  OpenCV (Open Source Computer Vision) is a library of programming functions for realtime computer vision. •  OpenCV is released under a BSD license; it is free for both academic and commercial use. •  Goal: to provide a simple-to-use computer vision infrastructure that helps people build fairly sophisticated vision applications quickly. •  The library has 2000+ optimized algorithms. –  It is used around the world, has 2M downloads and 40K people in the user group.
  • 25. OpenCV •  5 main components: 1.  CV: basic image processing and higher-level computer vision algorithms 2.  ML: machine learning algorithms 3.  HighGUI: I/O routines and functions for storing and loading video and images 4.  CXCore: basic data structures and content upon which the three components above rely 5.  CvAux: defunct areas + experimental algorithms; not well-documented.
  • 26. OpenCV and iOS Example Contrast  with  equivalent  func=onality  using  Core  Image  
  • 27. A bit of advice… •  Go beyond the DIP/CV and iOS boxes –  Learn about ergonomics, human factors, human psych, HCI, UX •  Don't reinvent the wheel! –  Reuse code and ideas whenever possible •  Avoid the trap of building solutions looking for problems •  Tackle ONE problem and solve it well! •  Beware of competition •  Beware of narrow windows of opportunity and ephemeral success: timing is everything!
  • 28. Learn more about it •  iOS Programming –  Apple online documentation –  Core Image •  OpenCV –  Official website –  Learning OpenCV book –  Instant OpenCV for iOS book •  Our work –  Slideshare (WVC 2011) –  Upcoming book (Springer Briefs, 2014)
  • 29. Concluding thoughts •  Mobile image processing, image search, and computer vision-based apps have a promising future. •  There is a great need for good solutions to specific problems. •  I hope this talk has provided a good starting point and many useful pointers. •  I look forward to working with some of you!
  • 30. Let's get to work! •  Which computer vision or image processing app would you like to build? •  Contact me with ideas: omarques@fau.edu