AI News, commaai/research

commaai/research

Training a generative image model or get it at archive.org comma dataset 45 GB compressed, 80 GB uncompressed Dataset referenced on this page is copyrighted by comma.ai and published under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.

This means that you must attribute the work in the manner specified by the authors, you may not use this work for commercial purposes and if you alter, transform, or build upon this work, you may distribute the resulting work only under the same license.

Autonomous Vehicle Speed Estimation from dashboard cam

github linkedin @jonathancmitch Final Result: In this tutorial I will explain how to use optical flow analysis and Convolutional neural networks to estimate the speed of a car using a video.mp4 and a ground truth dataset data.json consisting of the speed of the car at each frame, and the time that each frame was taken in the video.

Yes, there is a way to automatically process each image in the video frame by frame and it is more computationally efficient than saving the video images to disk.

I chose to create a .csv file and a separate IMG folder so that I could work with the image paths directly and disregard the video.

If we think in terms of classical mechanics, you can estimate the position of an object based on a single frame, but to estimate the velocity you need at least two frames because you need a time reference.

To calculate acceleration, which is the change in velocity, we will need ~3 frames, because we will need to calculate how the velocity (2 frames) changes over time (3rd frame).

When we train our network we want to pass in shuffled data, because we don’t want it to learn the video sequence as is, we want it to be able to generalize to any video, and any given sub-sequence.

You can augment the brightness to each image by different values, but that may create additional noise / disturbance that can throw off our discernible metric.

Optical Flow: Two types Type1: Lucas Kanade method The Lucas Kanade method computes the sparse optical flow the LK method computes optical flow at well detected image references.

For validation data: For training data: Generators: It is very efficient to use generators to actually process the images because most machines do not have enough memory to hold all the images when batching.

Training parameters: Optimizer: Adam loss: MSE Samples per epoch: 400 Batches per sample: 32 images, 16 optical flow rgb_diffs I

In order to prevent over-fitting the dataset I used keras’ callbacks to stop training when the validation loss stopped increasing, and to save the best weights at that point.

Remember, after we train the model I want to use the weights to perform linear regression: where I will simply take my weight matrix and multiply it with the input to predict the speed.

I applied this method to check how well it would work for my model and I got this: As you can see, in the later frames, when my car is on the freeway (between 3000 and 3900) it does not estimate the speed well at all.

I started with a (66, 220, r, g, b) image and ended with a (66, 220, r, g, b, A, M) (A = angles, M = magnitude) tensor.

I will soon try to expand some of my network layers, changing the first convolutional layer filter depth from 24 to 34 and the second filter depth from 34 to 44.

Train an Image Classifier with TensorFlow for Poets - Machine Learning Recipes #6

Monet or Picasso? In this episode, we'll train our own image classifier, using TensorFlow for Poets. Along the way, I'll introduce Deep Learning, and add context ...

Intro - TensorFlow Object Detection API Tutorial p.1

Hello and welcome to a miniseries and introduction to the TensorFlow Object Detection API. This API can be used to detect, with bounding boxes, objects in ...

Does my AI have better dance moves than me?

pls don't say yes or my feelings will be hurt!!!! Kevin (CodeParade)'s video about dense representations and principal component analysis and all that: ...

Adapting to video feed - TensorFlow Object Detection API Tutorial p.2

Welcome to part 2 of the TensorFlow Object Detection API tutorial. In this tutorial, we're going to cover how to adapt the sample code from the API's github repo to ...

Tether-Based SLAM @ UTIAS (ICRA 2016)

In this video we show a new approach to localizing tethered mobile robots without using any visual sensors. The technique exploits our ability to measure the ...

Lecture 16 | Adversarial Examples and Adversarial Training

In Lecture 16, guest lecturer Ian Goodfellow discusses adversarial examples in deep learning. We discuss why deep networks and other machine learning ...

Signal Analysis using Matlab - A Heart Rate example

A demonstration showing how matlab can be used to analyse a an ECG (heart signal) to determine the average beats per minute. Code available at ...

Surveillance Photography: Personal, Public and Profit

In an age of pervasive public monitoring and personal sharing, can individual privacy really exist? The advent of drone and smart-phone photography, metadata ...

High accuracy measurements of Pitch, Roll and Yaw using an Inertial Measurement Unit

Racelogic's Inertial Measurement Unit (RLVBIMU04) provides highly accurate measurements of pitch, roll, and yaw rate using three rate gyros, as well as x, y, ...

Demonstrating how Coriolis effects bullet drop at 1000 yards

Jeremy Winters demonstrates how Coriolis effects bullet drop by shooting 1000 yards to the west and 1000 yards to the east and comparing the results.