Skip to content

Instantly share code, notes, and snippets.

View cheind's full-sized avatar

Christoph Heindl cheind

View GitHub Profile
@cheind
cheind / show_annotations.py
Created February 25, 2018 11:37
BeaverDam dense annotation viewer
import cv2
import json
import pandas as pd
import numpy as np
def convert_to_pandas(content):
events = []
for obj in content:
for f in obj['frames']:
events.append({
@cheind
cheind / hmm_train_mxnet_imp.py
Created December 17, 2017 10:15
HMM training based on gradient descent (MXNet imperative version)
__author__ = 'Christoph Heindl'
__copyright__ = 'Copyright 2017'
__license__ = 'BSD'
"""Trains a HMM based on gradient descent optimization.
The parameters (theta) of the model are transition and
emission probabilities, as well as the initial state probabilities.
Given a start solution, the negative log likelihood of data given the
@cheind
cheind / hmm_train_tf.py
Last active December 5, 2022 07:20
HMM training based on gradient descent (Tensorflow version)
__author__ = 'Christoph Heindl'
__copyright__ = 'Copyright 2017'
__license__ = 'BSD'
"""Trains a HMM based on gradient descent optimization.
The parameters (theta) of the model are transition and
emission probabilities, as well as the initial state probabilities.
Given a start solution, the negative log likelihood of data given the
@cheind
cheind / svd.py
Created November 5, 2017 15:13
Nice properties about SVD
import numpy as np
import matplotlib.pyplot as plt
# Relation of SVD to PCA and eigen-problems
# A = USV'
# A'A = VSU'USV' = VS^2V'
# A'AV = VS^2V'V
# A'AV = VS^2
# which is an eigenvector problem. Means V are the eigenvectors of A'A.
# A similar argument leads to U being the eigenvectors AA'.
@cheind
cheind / homography.py
Created June 5, 2017 13:21
1D homography between lines using DLT transform
import numpy as np
import matplotlib.pyplot as plt
o3d = np.array([-100, -100, 50])
d3d = np.array([1, 1, 5.])
d3d /= np.linalg.norm(d3d)
t3d = np.arange(0, 100, 1.)
p3d = o3d + d3d * t3d[:, None]
@cheind
cheind / kalman.py
Created April 11, 2017 12:10
Milk and Butter price inference
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
from matplotlib.patches import Ellipse
import math
# Kalman
def lkf_predict(x, P, A, B, u, Q):
@cheind
cheind / optional_property.h
Created December 13, 2011 19:29
C++ Policy Based Property Implementation
/**
* C++ property implementation
* Christoph Heindl 2011
* christoph.heindl@gmail.com
*/
#pragma once
#include <cheind/properties/property.h>
#include <cheind/properties/policy_optional_value.h>