785 karma · joined May 14, 2017
YC Badge: 0x0c51bf0090235f2604af81df021023a3d62aa4d3
E: alex [@@@] numberboost.com
L: linkedin.com/in/alxcnwy/
X: @alxcnwy
Consulting: www.numberboost.com
Here is a vid of one my talks on deep learning for computer vision: https://www.youtube.com/watch?v=X4Q6C915sUY
-----BEGIN PGP PUBLIC KEY BLOCK-----
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 =Iwr2 -----END PGP PUBLIC KEY BLOCK-----
In 10 years I think we’ll be able to generate entire movies programmatically.
From the page: "Your audio doesn’t get uploaded to servers to be analyzed, so your vocals stay private."
From their ProductHunt launch: "We made an AI-powered singing challenge to find out. This experiment uses new, on-device machine learning models to see how close your timbre, pitch, and melody are to Freddie’s."
:)
Yeah automatic re-execution sounds like a weird design choice. Think I'll stick with Jupyter notebooks for now...
Especially crazy that these work as well and quickly on mobile!
I haven’t gotten properly stuck into observable - in what ways is it better than using a jupyter notebook?
It blew my mind when I realized I could add / remove RAM by turning off the instance, dragging a slider, then turning it back on.
I also find h5py really useful for creating massive numpy arrays on disk that are too large to fit in memory. I used it to precompute CNN features for a video classification model (much faster than computing on each gradient descent pass) and it makes it easy to read/write parts of a numpy array when the entire numpy array is too big to fit in memory.
Most of a data scientist's time is definitely spent getting data from various places, possibly enriching it, cleaning it, and converting it into a dataframe that can then be modeled (and surprisingly a lot of those tasks are often beyond pure actuaries / statisticians who often get nervous writing SQL queries with joins nevermind Spark jobs)...
But also once you've got that dataframe, it's often too big to be processed on a single machine in the office so you need to spin up a VM and move the data around which also requires a lot more computer science / hacking skills than you typically learn in a stats university degree so I think the term data scientist for someone who can do the computer sciency stuff in addition to the stats has its place...
I also way prefer to just crank up the RAM on a single instance and use Pandas/Dask instead of dealing with distributed computing headaches :)
Sure, the cloud providers sell computing power but it’s a race to the bottom and makes much more sense than buying hardware for these kinds of bursty analytics workloads.
I don’t think “Big data” from a stats perspective is analogous to census data - in some cases yes but for applications like recommendation engines you lose a lot of valuable signal by sampling.
Moreover it’s an iterative process where you start with hypotheses on what features will be useful then build a model and might need to pull more data. For example you could build a recommendation engine just using the set of products purchased by customers but then might explore adding user agent features like devices or might add data about the products like category or price information.
An analyst (“data scientist”) who can pull and interact with that data is much more effective than one who needs to wait for someone else to pull the data for them (most actuaries I know are weak programmers outside of R and wouldn’t know where to begin using distributed computing or getting a TensorFlow gridsearch running on a cluster of cloud GPUs :)
Advances in deep learning for NLP have also significantly improved search (Google and others) which has a nontrivial impact on people’s lives.
Multi-modal models that translate images into words have a significant impact for blind people.
Deep learning is significantly improving medical diagnosis, crop yield, assistive robotics, and many other specific scenarios.
Specific scenarios matter and again, it’s still very early days...
But there have also been significant breakthroughs in:
* image/video generation using generative adversarial networks
* game playing & robotics in constrained environments (AlphaGo, AlphaStar, etc) using reinforcement learning
* natural language processing using semantic word vectors and attentional recurrent models
* voice-to-text using recurrent models
Convolutional and recurrent neural networks were invented in the early 1990s and we’ve only recently got them properly working as tools. I think we’re going to see (and need) more algorithmic breakthroughs to push through the current limitations but I’d be very reluctant to bet against that happening, even if it takes a long time...
For example, pre-trained models don't work too well at detecting people in surveillance footage when the camera is mounted on the ceiling and people are at an angle in the footage. Off-the-shelf object detection models also don't work well in poor lighting conditions but can work well if you fine-tune one of the pre-trained models for your dataset and lighting conditions.
Here's a great and fun tutorial on how to fine-tune an object detection model using TensorFlow (it's a surprisingly fiddly process but worth the headache): https://towardsdatascience.com/how-to-train-your-own-object-...
I suspect you can use your fine-tuned model with this repo by replacing the `get_ssd_model.sh` compiled graph with your fine-tuned model graph.
It's also a fun exercise to implement the tracking yourself - here's a solid tutorial to get you started: https://www.pyimagesearch.com/2018/08/13/opencv-people-count...
Generally video models are quite far behind image models because they're so much higher dimensional (much more computationally expensive and expensive to annotate) but I'm sure it's a matter of time before someone releases a DeOldify type model for video (if one doesn't exist already).
[1] https://github.com/jantic/DeOldify [2] https://github.com/idealo/image-super-resolution
[1] https://twitter.com/xsteenbrugge/status/1188798045158293505
[1] https://twitter.com/goodfellow_ian/status/108497359623614464...
Centroid tracking works well in practice at 2 FPS for the bus use case and several others.
More complex approaches have their place but an important limiting factor (e.g. in the bus project I worked on) is that often the hardware required to run a more complex approach at a higher frame rate is too expensive to be feasible.
There are definitely limitations to centroid tracking and use cases where it doesn’t work like if you need to track specific faces moving through a crowd but it’s a useful tool that has its place in practice.
Your blog post is awesome, I’m just pointing out that a simpler method often works well in practice and is much less intimidating for beginners :)
Essentially centroid tracking works like this:
1. Detect objects (e.g. using TensorFlow) in each video frame
2. Initialize an incrementing ID for each object at the first frame
3. Compute the centroid of each object 4. For each object:
4.1. Compute the Euclidean distance to every object centroid in the previous frame. The nearest object from the previous frame is the candidate assignment.
4.2.a) If the distance is less than a hand-set threshold, use the object from the previous frame's ID for the object in the current frame.
4.2.b) If the distance is above the threshold, assign a new ID
I explained it during my PyConZA keynote a few weeks ago. The vid isn't out yet but the slides are available here and it's much easier to explain visually: http://bit.ly/pycon_keynote_slidesFeel free to email me if you get stuck or need some help implementing it :)
I would have loved to have seen a benchmark comparing the two approaches to motivate the much more complex and labour intensive alternative ':)
Can you give any detail on how you're getting customers... you mention learning google campaign management, is all your traffic via google or have you found any other distribution channels that work (e.g. posting on Fiverr forums yourself kind of thing?)
It grew out of consulting projects and is almost ready for beta testing if anyone is interested in playing with it and giving me some feedback - my email is in my profile :)
Can you elaborate on this?
It’s an alternative to Workflowy. Workflowy development stalled a while ago so I switched but it seems to be active again so I might switch back.
An infinitely zoomable hierarchy works really well for my OCD :)
I find this visualization really helpful when I need to explain PCA: http://setosa.io/ev/principal-component-analysis/
Incredible to think how much amazing research was happening back then and wonder what research is being done now that will change our lives in the next 30 years.
It's not clear where you're using ML from the site - URLs seem chronological, not ranked on "relevance/importance" and I can't see any relevance/importance indicators.
I'm curious to hear some more detail on how you're encoding your visual diff model?
BTW I ran into 2 issues: 1. You can't zoom out on your image diff slider 2. I got this error when I returned to the site after closing it: {"crossDomain" : true, "method" : "GET", "url" : "https : //api.fluxguard.com/publi c/site/7f646558-f754-447a -b627-9b5202c8a1f2/page?l imit=10&publicAccount=cam paignmonitor"} Please contact us if this is error is happening frequently for you.