Transfer learning with Pytorch: Assessing road safety with computer vision

April 12, 2018

For a project at Xomnia, I had the oppertunity to do a cool computer vision assignment. We tried to predict the input of a road safety model. Eurorap is such a model. In short, it works something like this. You take some cars, mount them with cameras and drive around the road you’re interested in. The ‘Google Streetview’ like material you’ve collected is sent to a ‘mechanical turk’ workforce to manually label the footage. ... Read more

Computer build me a bridge

January 14, 2018

In earlier posts I’ve analyzed simple structures with a Python fem package called anaStruct. And in this post I’ve used anaStruct to analyze a very non linear roof ponding problem. Modelling a structure in Python may seem cumbersome in relation to some programs that offer a graphical user interface. For simple structures this may well be the case. However now we’ve got a simple way to programmatically model 2D structures, I was wondering if we could let a computer model these structures for us. ... Read more

A nonlinear water accumulation analysis in Python

August 23, 2017

Frames One of my first packages in Python is a program for analysing 2D Frames called anaStruct. I wrote this in the summer of 2016 and learned a lot by doing so. When it was ‘finished’ I was really enthusiastic and eager to give it some purpose in the ‘real’ engineering world. My enthusiasm wasn’t for long though. I wrote a fem package that can compute linear force lines. The real world however isn’t so linear. ... Read more

Programming a neural network from scratch

July 10, 2017

Intro At the moment of writing this post it has been a few months since I’ve lost myself in the concept of machine learning. I have been using packages like TensorFlow, Keras and Scikit-learn to build a high conceptual understandig of the subject. I did understand intuitively what the backpropagation algorithm and the idea of minimizing costs does, but I hadn’t programmed it myself. Tensorflow is regarded as quite a low level machine learning package, but it still abstracts the backpropagation algorithm for you. ... Read more

What should be explained in the Dutch SBR-B Guideline!

May 7, 2017

The Dutch SBR guideline is intended to help you process vibration data and help you determine when a vibration signal can cause discomfort to persons. It seems to me however, that the SBR-B guideline does not have the intention to be understood. They seem to help you by making a super abstract of scientific papers and by giving you a few keywords so you can Google it yourself. This post will elaborate on two formula’s given in the guideline. ... Read more

Understanding the Fourier Transform by example

April 23, 2017

In the last couple of weeks I have been playing with the results of the Fourier Transform and it has quite some interesting properties that initially were not clear to me. In this post I summarize the things I found interesting and the things I’ve learned about the Fourier Transform. Application The Fourier Transformation is applied in engineering to determine the dominant frequencies in a vibration signal. When the dominant frequency of a signal corresponds with the natural frequency of a structure, the occurring vibrations can get amplified due to resonance. ... Read more

Writing a fourth order Runga Kutta solver for a vibrations problem in Python (Part 1)

April 13, 2017

Problem If you want to solve a vibrations problem with a force acting on the system you often need to find the solution in nummerical algorithms. Say you have got a single degree of freedom mass spring system as shown in the figure below. SDOF damped mass spring system The differential equation of this system is: \[ mu'' + cu' + ku = F\] When the force that acts on the system is a function, this problem can be solved with symbolical maths by solving the differential equation. ... Read more

Writing a fourth order Runga Kutta solver for a vibrations problem in Python (Part 2)

April 13, 2017

This post continues where part 1 ended. In order to increase the accuracy of our function solver we are going to use a 4th order Runga Kutta algorithm. The basics are the same as with the Euler method. However the dy part of the 4th order method is more accurately computed. Definition The incremental values of this method are defined as: \[ y_{n+1} = y_{n} + \frac{h}{6}(k_{1} + 2k_{2} +2k_{3} + k_{4})\] \[ t_{n+1} = t_{n} + h \] With the factors k1 - k4 being: ... Read more

Writing a fourth order Runga Kutta solver for a vibrations problem in Python (Part 3)

April 13, 2017

This post continues where part 2 ended. The Runga Kutta algorithm described in last post is only able to solve first order differential equations. The differential equation (de) for a single mass spring vibrations problem is a second order de. \[ mu'' + cu' + ku = F\] Note that in this equation: u” = acceleration a u’ = velocity v u = displacement Before we can solve it with a Runga Kutta algorithm we must rewrite the base equation to a system of two first order ode’s. ... Read more

(c) 2018 Ritchie Vink.