Skip to main content

Day 4 (7/11/19): Convolutions and Image Enhancement

I started off today working through a few computer vision homework problems involving training classifiers on different datasets, discussing the limitations and potential solutions associated with the various classifiers, implementing histogram equalization for image enhancement (altering the contrast as well as gamma value), and experimenting with linear filtering to apply different convolutions to images. 

This is the original image.
________________________________________________


These two images are with diagonal convolutions applied. The filters highlight the diagonal lines in the image in different directions.
_________________________________________________
This is the original image manipulated by changing the contrast and gamma values.
__________________________________________________



The graph on the right displays the histogram of pixel values separated by RGB values.



The graph on the left shows the normalized and cumulative histogram of the pixel values for the flower image. 




__________________________________________________

After working through a number of those problems, I was introduced to the current projects being researched in the lab which I could become a part of. One idea is to research the potential effects of implementing openset recognition (a model is able to identify database objects and reject unseen novel objects) along with incremental learning (input data is continuously used to further a model's knowledge) and fixed classifiers (exploring the marginal value of training the last weight layer). 

All of these aspects of computer vision and deep learning seem very compelling to me, and I hope to conduct interesting experiments exploring their connections in the future.

Comments

Popular posts from this blog

Day 9 (7/18/19): Incrementally Learning CUB200

Today I continued my work learning about incremental learning models by testing out different strategies on the CUB200 dataset. From what I understand from reading various articles, there seem to be five different approaches to mitigating catastrophic forgetting in lifelong learning models. These are regularization methods (adding constraints to a network's weights), ensemble methods (train multiple classifiers and combine them), rehearsal methods (mix old data with data from the current session), dual-memory methods (based off the human brain, includes a fast learner and a slow learner), and sparse-coding methods (reducing the interference with previously learned representations).  All of these methods have their constraints and I don't believe it is yet clear what method (or what combination of different methods) is best. Full rehearsal obviously seems to be the most effective at making the model remember what it had previously learned but given that all training exam...

Day 24 (8/8/19): Multilayer Perceptron Experiment

I continued gathering more results for my presentation today, and the data table is coming along nicely. We are able to see a significant trend that using Mahalanobis instead of Baseline Thresholding recovers much of the OOD recognition that is lost with streaming or incremental models. The SLDA model appears to be a lightweight, accurate streaming model which can be paired with Mahalanobis to be useful as an embedded agent in the real world. For the purposes of demonstrating catastrophic forgetting, I ran five experiments and averaged the results for a simple incrementally trained MLP. Obviously, the model failed miserably and was achieving only about 1% of the accuracy of the offline model. Including this is only to show how other forms of streaming and incremental models are necessary to develop lifelong learning agents. A diagram of a simple multilayer perceptron.