ProggBlogg Posts

Hough Lines Transform is the key method used in the previous project where lane lines are detected. It is very helpful in many Computer Vision applications. The original form of Hough Transform aimed to identify straight lines. And that's what I'm going to explain today. Furthermore, this technique was later generalized to detect also other shapes like circles, ellipses etc. [1].

More Hough Lines Transform Explained

Self-Driving Cars

Although Deep Neural Networks play bigger and bigger role in scene recognition, classic Computer Vision methods are still valid and are applied to problems from autonomous cars industry. I'm going to present how to perform lane lines detection using OpenCV library and Python language using image processing techniques. It's the first project in the series about Self-Driving Cars.
More First step to stay on track - lane lines detection

Self-Driving Cars

Isn't it beautiful that having only a computer, internet connection and some software skills you can learn and develop things which relate to the most cutting-edge technologies today? And I don't mean only pure software business like web services, social media or mobile apps. With a bit of dedication and persistence you can enter to the world of robotics, AI, VR or... Self-Driving Cars.
More Self-Driving Cars in Python

Self-Driving Cars

This is the last post in series about Support Vector Machine classifier. We already feel the basics of SVM. We have our data preprocessed. Finally, we know the influence of some major hyperparameters on the classifier. Now, let's choose proper hyperparameters for a given problem. This is done by validation or cross-validation. These techniques are very common in Machine Learning and are also helpful in finding a proper SVM model. The example will cover building the classifier for the foreground/background estimation problem in Flover project.
More SVM model selection - how to adjust all these knobs pt. 2

Flover Project

This time we are going to discuss the influence of two basic variables on the quality of SVM classifier. They are called hyperparameters to distinguish them from the parameters optimized in a machine learning procedures. Two previous posts introduced Support Vector Machine itself and data preprocessing for this classifier. As in other Machine Learning techniques there is also a need to properly adjust some system variables to find the best model for our needs. Here, we will focus on description of complexity parameter and gamma parameter from the Gaussian kernel. In the next article we will find an optimum SVM model for the foreground/background estimation problem in Flover project using model validation techniques.
More SVM model selection - how to adjust all these knobs pt. 1

Flover Project

Data preprocessing is a very important and quite underestimated step in Machine Learning pipelines. It provides cleaned and relevant datasets which then can be used in further steps like classification or regression. I will describe a study case for data which is fed to the SVM classifier to predict if a given image segment belongs to foreground or background. This is a second article about Support Vector Machine which is used for image segmentation in my flower species recognition project Flover.

More Data preprocessing for SVM classifier

Flover Project

Ze względu na to, że przy operacji oddzielania tła od obrazu w projekcie Flover używam algorytmu Support Vector Machine (SVM), postaram się go dzisiaj przystępnie opisać. To bardzo popularna metoda znana ze swojej skuteczności w dziedzinie Machine Learning. Ma za zadanie jak najlepiej odseparować od siebie elementy różnego typu ze zbioru uczącego, czyli umieścić je w optymalnie oddzielonych grupach.
More Support Vector Machine

Flover Project

Dziś zamieszczam wyniki oddzielania tła od obiektu w moim projekcie Flover. Opiszę procedurę i jakość ekstrakcji samego kwiata od reszty obrazu. Metoda opiera się na wcześniej opisanym algorytmie generacji superpikseli SLIC. Wykorzystuję również klasyfikator SVM, który generuje odpowiedź czy superpiksel jest tłem czy obiektem na podstawie bazy zdjęć kwiatów. Rezultat nie jest może na razie oszałamiający, ale ważne, że mam już napisany jako taki framework do tego typu operacji. Teraz pozostanie podkręcić jego parametry lub dodać kolejną metodę wspomagającą cały proces eliminacji tła.

More Eliminacja tła obrazu

Flover Project

Przyjrzymy się dziś metodzie, która widnieje na tytułowym obrazku. Szybki rzut oka: przecież nic skomplikowanego - zaledwie parę linijek kodu. Na pewno jest generyczna, bo wszędzie tylko typy: TInput, TResult... Mimo wszystko trochę mi zajęło, żeby ją zrozumieć i efektywnie z niej korzystać. Ponieważ bardzo rzadko sam tworzę takie metody, postanowiłem rozbić ją na czynniki pierwsze.
More Generyczny MegaMix

Flover Project

Od jakiegoś czasu programiści platformy .NET, a właściwie jej wersji nr 4.0 mają możliwość zastosowania biblioteki Task Parallel Library. Jej najpopularniejszym elementem jest współbieżna pętla For, którą bardzo intuicyjnie się obsługuje. Taką równoległą pętlę otrzymujemy dzięki metodzie Parallel.For().
More Pętle równoległe

Flover Project