Hey guys, I'm David, one of the founders of Dextro. Happy to answer any questions about how we got this to work technically!
At a high level, here's how we did it:
1) We're using the Twitter Streaming API to find every publicly accessible live-stream.
2) We extract the live stream using a version of PhantomJS that still supports Flash.
3) Each live stream is being sent to Dextro's livestream API endpoint, which streams back chunked JSON of what's happening in the stream in real time. (Check out some low level outputs at http://b.fastcompany.net/multisite_files/fastcompany/imageca...)
4) The results are aggregated and sent on a pub/sub socket to each client.
A background task crunches the live data into the "most viewed" and "most streamed" aggregate stats.
That's a neat little explanation of how the system works underneath. Would you like to explain it in a quick little casual video on http://GlitchClub.com so we can see?
Dextro - Senior Distributed Systems Engineer (NYC full-time)
=======================================/
// What we do
Dextro is a venture-backed AI-as-a-service company building an API that makes it easy for developers to search, filter, and gather actionable statistics over photo and video datasets — without knowing any computer vision or machine learning. Our technology powers the next generation of vision-enabled apps, robots, smart devices, and data analytics tools.
// Who we are
We are a small, highly technical team of vision engineers and researchers from the UPenn GRASP Lab, IIT Delhi, Microsoft, and iRobot. Python, CUDA, C++, and Ruby are our core languages. We have 10^~14 FLOPS of compute on-site regularly being maxed out by experiments and performance testing.
// Who you are
This is primarily a distributed systems and web services developer role but you will have computer vision responsibilities. Though we expect significant backend dev experience, you will learn the vision that you need on the job.
// More information
Check out more info at dextro.co/jobs and shoot us an email at jobs [] dextro.co if you're interested.
Yes! General tagging of videos with all possible tags is great for media discovery, but we've built our system with data analysis in mind. We want to be useful for those who want to analyze photo and video datasets when they already know what their query is.
We've found that most of the value is in the latter. For example, our system helps answer:
1) on a publisher video server, which videos were about automotive?
Can we package those ads off to car brands?
2) how many people took photos of my brand's product on instagram
after our marketing campaign?
3) what were pedestrian traffic patterns like outside
our store based on the CCTV system?
It seems like if you're going to support querying you should also support "just give me all the content tags", even if that's implemented as running all the individual queries. Especially for example number 1 you're going to find that publishers aren't thinking "Do I have automotive videos to package up for a car brand?", they're thinking "I have no idea what content I have in my network, what broad categories does it fall into?".
My employer, SET Media [1], has built out our own ML / CV system that applies a taxonomy of a bit over 1000 tags to several million videos. We add new videos and re-compute existing results multiple times a day. It's been invaluable for us to be able to query for both a specific tag as well as to see all the tags (and their confidences) that are applied to a video.
Dextro is a venture-backed AI-as-a-service company building an API that recognizes brands, objects, and scenes in photos, videos, and live streams. Our technology powers the next generation of vision-enabled apps, robots, smart devices, and data analytics tools.
// Who we are
We are a small, highly technical team of vision engineers and researchers from the UPenn GRASP Lab, IIT Delhi, Microsoft, and iRobot. Python, CUDA, C++, and Ruby are our core languages. We have 10^~14 FLOPS of compute on-site regularly being maxed out by experiments and performance testing.
// Who you are
This is primarily a distributed systems and web services developer role but you will have computer vision responsibilities. Though we expect significant backend dev experience, you will learn the vision that you need on the job.
// More information
Check out more info at dextro.co/jobs and shoot me an email at jobs [] dextro.co if you're interested!
Dextro is a venture-backed AI-as-a-service company building an API that recognizes brands, objects, and scenes in photos, videos, and live streams. Our technology powers the next generation of vision-enabled apps, robots, smart devices, and data analytics tools.
We are a small, highly technical team of vision engineers and researchers from the UPenn GRASP Lab, IIT Delhi, Microsoft, and iRobot. Python, CUDA, C++, and Ruby are our core languages. We have 10^~14 FLOPS of compute on-site regularly being maxed out by experiments and performance testing.
This is primarily a distributed systems and web services developer role but you will have computer vision responsibilities. Though we expect significant backend dev experience, you will learn the vision that you need on the job.
We would be open to H1B visa and/or remote for the very best candidates.
Check out more info at dextro.co/jobs and shoot me an email at jobs [] dextro.co if you're interested!
The data is actually from GovTrack.us, which I suspect is also where DW-NOMINATE gets it. My script for querying GovTrack is on Github: https://github.com/DavidChouinard/congressviz
Dextro is seeking summer interns to join our small team of computer vision engineers from iRobot, Microsoft, UPenn GRASP Lab, and Yale. Dextro, founded in 2011, is a cloud service that recognizes objects in photos and videos with the goal of turning a picture into its thousand words. We have several enterprise partnerships and work with hundreds of makers and hackers; our only HN post spent a day as #1.
Requirements:
* Interest in teaching mobile devices, robots, and webapps new tricks.
* Interest in helping computers interface with the unstructured real world.
* Desire to work with the whole gamut of technologies,
and the desire to learn what you don’t know.
* Hunger. Both for success, and for meals with the team.
* Must be highly proficient with either Python or both Rails and Ruby.
Must be willing to learn the other.
* Must be comfortable working and scripting in a Linux command line environment.
* Bonus: proficiency in JavaScript and frontend web design, or
skill and interest in designing high-performance backend cloud infrastructure.
If you’re good at backend web development and are also interested in vision, we’ll make sure you’ll get to learn on the job.
Logistics:
* $5000
* 12 weeks
* Breakfast and lunch provided
Interested? Email David Luan at david.luan [[]] dextrorobotics.com
Yes! Scanning for more than 4 objects at once (which is currently supported) is something that we definitely want to enable in the future. The only constraint is the number of GPU machines we can afford.
Hey tunnuz and limejuice, sorry to hear we only picked up on 4 of the planes. We've biased our service towards precision rather than recall; thus, we try to be wrong about detected objects as little of the time as possible at the expense of perhaps missing a few object instances.
I want to clarify: the 4 object concurrent detection refers to 4 classes of objects. On the Experiment page, you can only choose one class to detect on (whether that is person, bottles, cars, etc). However, by using the API, you can simultaneously search for cars, planes, people, and motorcycles, for example.
At a high level, here's how we did it: 1) We're using the Twitter Streaming API to find every publicly accessible live-stream. 2) We extract the live stream using a version of PhantomJS that still supports Flash. 3) Each live stream is being sent to Dextro's livestream API endpoint, which streams back chunked JSON of what's happening in the stream in real time. (Check out some low level outputs at http://b.fastcompany.net/multisite_files/fastcompany/imageca...) 4) The results are aggregated and sent on a pub/sub socket to each client.
A background task crunches the live data into the "most viewed" and "most streamed" aggregate stats.