Upload
david-kay
View
192
Download
3
Embed Size (px)
Citation preview
SALT Software Architecture
David Y. Kay
Nov 2, 2015
Before we begin…
“Presentation on a project that is representative of your abilities”
Bio
Lived in China Mobile since 2008
Hated It Entrepreneurship
Big Names
Interesting Projects
Kenya
Shark Tank Defense
Startups
Other Works
Community
Healthcare Hackathons
• MIT Hacking Medicine 2015 - 2x first place
• Yale CBIT-Core 2015 - Best Design
• NASA Space Apps - Global Finalist, 2012 & 2015
• GHG Healthcare Outcomes 2014 - 3rd Place
Present Day
S.A.L.T.
Hardware Device
High-tech Sensor?
How to read it?
In other words…
System Overview
Polyglot
Recognition API
Why Python?
• OpenCV Bindings
• Highly productive
• Easy debugging
• Small system
Computer Vision
Device
• Rotate to a standard orientation
• Remove perspective from the image
Creatinine
• Segment the color key
• Find the square with the most similar average color
Chloride
• Thermometer-like gauge
• Find the red part
• Find the yellow part
• Count the lines
Finding The Red
• Use green channel
• Threshold
• Erode
• Dilate
The Filtering Problem
• Too sensitive? Over-counting
• Too strict? Under-counting
Computer Vision - Notes
• Show line counting issue
• Show the calibration issue
• Show experimenting with color spaces
• Show filtering challenges
Server Deployment
Server Deployment
Incredible Free Tier
Helpful for wrangling OpenCV
Android App
• Founders on Android
• Android is the harder platform of the two
• Keep the app small
Code Sharing
• Cross-platform app development
• Open-core
• Use Case
• Primarily an Android app, secondarily an iPhone app
• Functional, safe, and expressive
• Minimal overhead compared to Java
• EXCELLENT tooling, via IDEA plugin
Medical Calculations
(& future formulas)
Why Rust?
• Very strict, strongly-typed, safety-oriented language
• Easy C-compatible FFI
• Cross-platform, server/client
• Modern tools
Admin Dashboard
• Review Results & Troubleshoot
• In future:
• Mark results valid/invalid
• Build a corpus over time
Why Clojure(script)?
• Incredible agility (REPL & Figwheel)
• Functional Language
• Not mission critical - dynamic types
Demo
Recap
Wrap
• Very lighting-dependent
• Would love to build a corpus and use ML
• Would love to spend more time with a computer vision expert