We’ve been doing a lot to try to bring back the benefits of being in-person while maintaining the flexibility of being remote.
Wrote about our specific tactics here: https://blog.roboflow.com/remote-not-distant/
3,589 karma · joined April 5, 2012
Past: founder of Hatchlings, www.hatchlings.com
Contact: https://twitter.com/braddwyer (DMs Open)
We’ve been doing a lot to try to bring back the benefits of being in-person while maintaining the flexibility of being remote.
Wrote about our specific tactics here: https://blog.roboflow.com/remote-not-distant/
Are we living in a unique time period where there are truly going to be multiple game-changers? Or will one end up vastly outshining the rest in retrospect? (Just like 3D printing and IoT seemed to fizzle last decade.)
1980s PCs 1990s Internet 2000s Web 2.0 & Social 2010s Mobile 2020s... {AI, Crypto, Metaverse, Synthetic Biology}
(I was going to add quantum computing & nuclear fusion on there as well but IMO their impact is more likely to be further out.)
We were still on node 12 because, until recently, Google Cloud Functions didn’t support anything newer. But when I installed it, I noticed it was running on x86 via Rosetta. So I upgraded to the latest node (17) which installed as native arm64.
Almost everything “just worked” but there were build errors with installing: webpack, node-sass, gprc, and node-canvas.
Webpack turned out to be an issue with node current (17) so downgrading to lts (which is currently 16) worked.
That seems to have magically fixed the gprc build too.
We weren't actually using node-sass anymore; so removed that dependency.
Upgrading node-canvas to 2.8.0 and building from source (after installing its dependencies via homebrew) seems to have worked.
All in all it took maybe 2 hours to follow all the rabbit holes. And our whole engineering team is going to move over to arm64 as soon as Apple can deliver their machines.
After upgrading our app's dependency chain to run native arm64 builds (which took a bit of googling) webpack's incremental build time on our app is down to 116ms from 983ms on my 2016 Macbook Pro. Over 8x faster.
Our Tensorflow.js (webgl) models that previously ran about 8fps in the browser are now running at the camera's native 30fps framerate. (Similar to my desktop 2080ti.)
> First, a general intelligence needs to...
A model that can serve as a solid foundation for a bunch of disparate tasks doesn't need to be a "general intelligence". This post set up that straw man and then spent most of the rest of the article knocking it down.
I think CLIP is a foundation model for computer vision and I wrote about why here (tl;dr - it's extremely versatile): https://blog.roboflow.com/openai-clip/
We build tools that enable developers to give their software the sense of sight.
Over 50,000 developers have used Roboflow to build everything from Blackjack helpers[1] and Duck Hunt aimbots[2] to drywall manufacturing QA and oil pipeline leak monitoring. Over half of the Fortune 100 now has at least one employee with a Roboflow account.
We built an end-to-end computer vision platform (upload, annotate, augment, train, deploy) and recently launched Roboflow Universe[3], which is a public space for users to share their datasets and pre-trained models.
We're growing rapidly and expanding the team to support the ecosystem we're building. There are tons of interesting problems to help solve and you'll be working alongside an early team (of ~10 currently) that is extremely talented and passionate about the problems we're solving.
Roboflow is currently hiring for the following roles:
* Full Stack Engineer (x2) - to work on the core platform & Roboflow Universe.
* Head of Marketing - to help us turn our 1,000 weekly signups into 10,000.
* Community Manager - to amplify our users' stories & grow Roboflow Universe.
* Visual Designer - to work cross-functionally with our teams.
* Account Executive (Enterprise) - to nurture enterprise users into customers.
* Business Development Representative - to focus on mid-market deals.
We'll be opening several other positions soon; so if you're aligned with the vision and think you can help but don't fit into any of the open roles please reach out anyway!
You can learn more at https://roboflow.com/careers
[1] https://github.com/roboflow-ai/blackjack-basic-strategy
[2] https://blog.roboflow.com/computer-vision-win-games-duck-hun...
For those who don’t know, Drapr was a YC co from last summer’s batch: https://www.ycombinator.com/companies/drapr
One of our interns built something similar for warding off rabbits in his garden this summer (it triggers a bluetooth speaker to scare them off when it detects them): https://blog.roboflow.com/rabbit-deterrence-system/
He trained a custom model which would be a good next step if you need to detect something that's not in the list of pre-trained classes (or you're getting false positives/negatives with your camera/environment -- or at certain times of day/night).
Looks like it’s only 1/10 of the price to buy one of those instead!
You don't need to train CLIP on any examples of "The stacks from Ready Player One drawn by MC Escher" to have it do a pretty good job of being able to judge which outputs of a GAN more closely resemble that concept[1].
Saying this isn't "zero-shot" because CLIP has been trained on a corpus (the Internet) that had some info about the setting of the movie Ready Player One and the artist MC Escher isn't a particularly useful interpretation. By the same reasoning, humans aren't capable of "zero-shot" classification either because they have prior knowledge of real-world concepts.
The model does object tracking well whether you feed it fish, or playing cards, or sperm because the generalized feature vector it extracts represent all the possible properties. It "knows" (and uses) properties like "facing right", "profile view", "blue sheen", "foggy", etc. to make its determination of which instances are which.
[1] https://twitter.com/braddwyer/status/1430576141572657162
This is in comparison to the original Deep SORT[3] which requires you to train a second custom "deep appearance descriptor" model for the tracker to use.
[1] https://github.com/roboflow-ai/zero-shot-object-tracking
In a nutshell, CLIP is a multimodal model that combines knowledge of English-language concepts with semantic knowledge of images. It can just as easily distinguish between an image of a "cat" and a "dog" as it can between "an illustration of Deadpool pretending to be a bunny rabbit"[6] and "an underwater scene in the style of Vincent Van Gogh"[7] and any other concept you can come up with[8] (even though it has definitely never seen those things in its training data[9]).
This is how these CLIP+VQGAN notebooks can create such a symphony of artistic renderings[10] (CLIP steers the GANs towards its interpretation of any English string that the artist can imagine).
[1] ELI5 CLIP: https://blog.roboflow.com/clip-model-eli5-beginner-guide/
[2] How to Try CLIP: https://blog.roboflow.com/how-to-use-openai-clip/
[3] Content Moderation with CLIP: https://blog.roboflow.com/zero-shot-content-moderation-opena...
[4] CLIP Prompt Engineering: https://blog.roboflow.com/openai-clip-prompt-engineering/
[5] CLIP for Semantic Image Similarity: https://blog.roboflow.com/apples-csam-neuralhash-collision/
[6] Deadpool Pretending to be a Bunny Rabbit: https://paint.wtf/ranking/erFA7/uCzEnPBtKkgoBAhBesQY
[7] Underwater Van Gogh: https://paint.wtf/ranking/xboNk/0fjxp0kEi0WeDgkP3LZX
[8] Other human drawings as judged by CLIP: https://paint.wtf/leaderboard
[9] CLIP-judged Pictionary game: https://blog.roboflow.com/how-we-built-paint-wtf-an-ai-that-...
[10] AI Generated Art with CLIP+VQGAN: https://blog.roboflow.com/ai-generated-art/
The code is available here if anyone wants to give it a go before we can get to it: https://github.com/roboflow-ai/zero-shot-object-tracking
Edit: fixed!
That’s a really interesting attack vector I hadn’t seen mentioned previously.
Most people are talking about the potential for adversarial images to be sent to users. If they were instead injected into the database itself (either by poisoning real CSAM or social engineering) that would have far wider ramifications.
I wonder what the most widely-saved pornographic images are across iCloud users.
If actual CSAM were perturbed to match the hash of, say, images from the celebrity nude leak a few years back and added to the database then thousands of users could be sent to “human review”. Since the images are actually explicit how would the human reviewers know not to flag them to authorities?
Wrote about it here: https://blog.roboflow.com/zero-shot-content-moderation-opena...
This was discussed on HN yesterday here (and a few other front-page stories): https://news.ycombinator.com/item?id=28218391