Self-supervised depth and ego motion estimation

3D Packing for Self-Supervised Monocular Depth Estimation by Vitor Guizilini, pdf at arxiv, 2020 Learning Depth estimator fD : I → D Ego motion estimator: fx : (It, IS) → xt → S Depth Estimator They predict an inverse depth and use a packnet architecture. Inverse depth probably has more stable results. Points far away from camera have small inverse depth that with low precision. The nearer points have more information...

August 23, 2020 · SergeM

Which pretrained backbone to choose

In 2020 which architecture should I use for my image classification/tracking/segmentation/… task? I was asked on an interview that and I didn’t have a prepared answer. I made a small research and want to write down some thoughts. Most of the architectures build upon ideas from ResNet paper Deep Residual Learning for Image Recognition, 2015 Here is some explanation of resnet family:An Overview of ResNet and its Variants by Vincent Fung, 2017....

July 1, 2020 · SergeM

Parameters parsing for python applications

command line arguments is a standard and one of the most common ways to pass parameters to a python script. There exist a list of python libraries that help with that task. Here I am going to list some of them. argparse The default choice for the python developer. The module is included in python standard library and comes together with any python distribution. Example of usage: #!/usr/bin/env bash import argparse def hello(count, name): """Simple program that greets NAME for a total of COUNT times....

April 21, 2020 · SergeM

Git cheat sheet

Nice history log in console git log --all --decorate --oneline --graph How to remember: "A Dog" = git log --all --decorate --oneline --graph Sample result: $ git log --all --decorate --oneline --graph * e4689e3 (HEAD -> master, origin/master, origin/HEAD) tree iteration * 4c3385d using stoi * 0588a47 gitignore for cpp * 8f3f0e6 removed boost, add readme * f225b06 simple expression interpreter * 1ccdda1 chain of responsibility * f37eb7a restructure of the old code, removed large db file | * 3bfdf78 (tag: 0....

April 7, 2020 · SergeM

Image and video processing recipes

I often need to perform some operations on videos or image sequences. Usually I use linux and ffmpeg, and sometimes I struggle to remember all the commands. Here is a collection of recipes that I usually use with a bit of explanations. Video conversions Cut a range of frames Cut a range of frames (100, 130) from a video and save it to mp4 with a good quality using x264 codec:...

March 27, 2020 · SergeM

C++ and CMake

CMake in VSCode VSCode is a free open source IDE with a lot of nice features. In addition one can chose from a variety of extensions. Looks like Cmake-tools kind of works, but the hotkeys and some settings are far from intuitive. In my previous attempt I ended up removing cmake tools plugin and moving forward with custom task.json and launch.json scripts. Here is a template I made back then. https://github....

March 26, 2020 · SergeM

System monitoring

I was looking for a system monitoring solution that can notify my in case of abnormal CPU/netowrk/disk usage via email or telegram. It seems there are several popular solutions: Nagios Munin Icinga Spiceworks Monit Cacti Zabbix Glances Monitorix See also: https://askubuntu.com/questions/784781/system-monitoring-with-email-notifications

March 22, 2020 · SergeM

Multistage NN training experiment

Ideas for multistage NN training. There is some research on continuous learning without catastrophic forgetting . For example ANML: Learning to Continually Learn (ECAI 2020) arxiv code video The code for the paper is based on another one: OML (Online-aware Meta-learning) ~ NeurIPS19 code video OML paper derives some code from MAML: Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks pdf official tf code, also includes some links to other implementations....

January 1, 2020 · SergeM

Image segmentation with unlabeled areas with fast.ai

fast.ai library has a pretty easy to use yet powerful capabilities for semantic image segmentation. By default all the classes are treated the same. The network is trained to predict all the labels. Sometimes it’s important to provide non-complete labeling. That means for some areas the label is undefined. The performance of the network should exclude that areas in the loss and accuracy computation. That allows the network predict any other class in those areas....

November 14, 2019 · SergeM

Robocar project

For the robocar contest in Berlin I started a project of building an autonomous toy car (scale 1:10). The goal of the contest was to show the fastest lap driving autonomously. The track had 8-shape with lane boundaries marked with white tape. Unfortunately the competition got cancelled. But that gave me an opportunity to switch from my 1st gen car to 2nd gen version. Here is my first version: The second version is built upon a stock RC car Absima Abs1...

August 24, 2019 · SergeM