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 22 (8/6/19): Streaming Linear Discriminant Analysis

Today I tested the previously trained models using the Stanford dogs dataset as the inter dataset evaluator for OOD instead of the Oxford flowers dataset. However, as expected, the omega values for performance were pretty much the same as before and didn't make much of a difference as the datasets varied.  I also implemented a streaming linear discriminant analysis model (SLDA) which differed from the previous incrementally trained models. This model didn't perform as well in terms of accuracy however as only the last layer of the model was trained and streaming is more of a difficult task. Nevertheless, we did show that Mahalanobis can be used in a streaming paradigm to recover some OOD performance in an online setting. This is likely to be a large focus of my presentation as it has never been discussed prior. Tomorrow, I plan to implement an L2SP model with elastic weight consolidation as well as iCarl to serve as two more baselines to compare our experiments to.

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.