Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building Camera based Intelligent Applications

Nabarun Pal
September 02, 2017

Building Camera based Intelligent Applications

Presented at PyData Delhi 2017

Nabarun Pal

September 02, 2017

Transcript

27 slides
  1. • Final Year Undergrad @ IITR • Software Engineer Intern

    @ rorodata • Systems Engineer @ Team Robocon IITR • Love my kindle and hacking through things About Me nabarun.in github.com/palnabarun
  2. Overview • Introduction • Use Cases • Components of the

    pipeline • Bottlenecks & Challenges • Our approach ◦ Camera Agent ◦ Cloud Architecture ◦ Firefly ◦ Dashboard • Code Samples • Ending notes
  3. Use Cases • Surveillance • Agricultural yield estimation • Object

    classification • Barcode recognition on conveyor
  4. Bottlenecks and Challenges • What tools to use? • How

    to capture data? • Where to store? • Where should my ML code run? • How should I visualize the output?
  5. • Takes 2-3 weeks for building an application • Of

    that, only 2 days may be spent on actual machine learning • Majority of the time is spent in software engineering rather than ML Typical Timeline
  6. Camera Agent • Program running on end device • Connects

    to pre-configured server • Captures and uploads pictures/videos • Remotely configurable by the server
  7. Cloud Architecture • Server to get data from the agents

    and store them • Admin Dashboard to control the capture frequency, type of data captured, see logs and uploads from registered devices • Storage provider can be changed • Provides a client library for fetching data
  8. Firefly • Framework to deploy Python functions as REST web

    service • Very easy and flexible to use • Used to deploy ML models and pre-processing functions • Easily deployable using WSGI servers like gunicorn • Open Source !
  9. Dashboard • Variety of visualization options • Data provided by

    the client library or a firefly function running Machine Learning Code • Run anywhere • Plotting and charting using Dash by plot.ly or any other visualization tool
  10. Ending Notes • End to end application development in 3-4

    days • Majority of time spent on ML • Robust infrastructure • Versatile data storage options • Scalability

More Decks by Nabarun Pal

Other Decks in Technology