Friday, May 5, 2017

Developing our Final Report

Throughout most of the first week of May, my mentor and research partner have met to discuss the CREU template and additional topics that should be mentioned in our final report. We went through our blogs and project files to compile screenshots of our process along with results that we obtained throughout the project.

Wednesday, April 19, 2017

4/19/17: Gathering sample Images

I’ve been trying to accurately detect a very simple object like a watch first before moving on to our positive samples. Today I wrote scripts to download large sets of watch samples from ImageNet an image database. If the success rate increases for detecting watches within this new environment. I will apply the same techniques to the images I cropped of the narrow helix.

4/18/17: New Environment and Cropped Samples

In my previous post I mentioned that we had a 32% accuracy rate of identifying a narrow helix. To provide an alternative environment to train our cascade classifier I set up a 2gb ubuntu server provided from digital ocean to provide an alternative environment to train our cascade classifier. Using a computer with higher specs may help the performance when training, so I dowloaded the required libraries and python bindings for OpenCV on the server. In addition in my last post I also discussed how we wanted to also change our technique so I manually cropped all of our positive sample to include solely the narrow helix instead of the entire ear.

Wednesday, March 29, 2017

Narrow Helix Accuracy Reports

We're getting to the point where we want to explore our preliminary results.
To get a better sense of I examined and collected metrics from our most successful narrow helix trials. The following are the results from conducting 5 trials.
Narrow helix accuracy reports: 
trial 1: 1/4
trial 2: 3/7
trial 3: 1/4
trial 4: 1/5

trial 5: 2/5

Overall Accuracy: 8/25 = 32 %
We acknowledge that this is a pretty low accuracy result, but seeing where we currently is helpful for deciding our next steps. We discussed ways of increasing our accuracy, one promising method is by changing our technique to incorporate only the focused regions of the sample. (i.e. instead of a positive sample of the complete ear for detecting a narrow helix, the sample to train with will only consist of a narrow helix)

Friday, March 10, 2017

March 10th Abstract Development

I haven't made much of a contribution to the research project because I was studying for midterms and also starting feeling ill at the beginning of the week. I was able to assist with the development of the abstract that we submitted for the HU Research Day at Capitol Hill.

Tuesday, February 28, 2017

Retraining Classifier Results

This week I worked on retraining the haar cascade. After being able to create 1000 positive samples I used 500 negative samples as input for our narrow helix classifier. The first attempt of training only passed through 1 stage then terminated with the following error "Train dataset for temp stage can not be filled. Branch training terminated."

I learned that this occurred because the paths within my negative descriptor were incorrect,  I quickly fixed this and retrained. On the second attempt stages 0 and 1 were loaded and I was able to enter into stage 2, but once again I encountered another issue "Required leaf false alarm rate achieved. Branch training terminated."

The third attempt I made to train the classifier was much more successful than the previous. I ended up starting from scratch without loading the last xml containing the results of prior stages and reached the third stage. I then tried testing the classifier with my detect script, but I was unable to detect any narrow helixes in my sample image.

Even though I wasn't able to detect helixes within my test images, we've made meaningful progress in training the classifier. Prior to now training didn't proceed past the 1st stage. With some minor adjustments we should be able to accurately detect segments of the ear.

Wednesday, February 22, 2017

Project Update February 22nd

I did not blog about the project last week.

This week we met with a grad research student, Ayotunde. He provided some great insights and assisted us in moving further with the project. I was able to generate over 1000 images from one positive sample image.

This breakthrough will allow us to provide more sample images when training our classifier. The issue that prevented us from properly detecting parts of the ear was the poor accuracy of our cascade. During training our sample size was too small to go through many stages. Once I can create a larger amount of negative samples I will be able to build a more accurate cascade.

Thursday, February 9, 2017

Cascade Training in Windows Environment

Last week we discussed the possibility of switching our tools used for training our haar cascade classifier. Over the course of the week we set up two computers with the required software for building a classifier. The resources we used to assist us with the setup included two computer vision blogs. Links: [1] [2]

I was successful in gathering a small sample of images and recreating most of the progress we previously experienced, but the haartraining consistently failed. Currently I'm experiencing a parse error with generating the .vec file. (Figure Below)

Setting up the windows environment wasn't as easy as I anticipated and the results didn't exceed the progress we made before. By next week I plan on resolving the create samples issue I experienced on the Mac environment. I will reach out to the openCV community through forums and emails for additional advice. After fixing this issue I plan on generating a large sample of images ~500 and follow the advised testing ratios and criteria mentioned in my previous post.

Wednesday, February 1, 2017

Weekly Recap Meeting

Today Morgan and I met with Dr. Washington. We discussed our current problems with the project and next steps to take. I'm currently trying to convert all my positive samples to 8-bit images, this may improve our cascade. We reached out to another research group who had experienced building classifiers for advice. Also we contemplated on using different tools to help with our project as well, in the next few days we will trying using a windows environment to train our cascade to see if we obtain better results.

Tuesday, January 31, 2017

Retraining the Helix classifier. Attempts and Hurdles

Over the past two weeks I've been working on retraining the Helix classifier to improve it's accuracy. Initially when I trained the classifier I used 20 positive samples and 10 negative samples. For the next trials I collected 40 positive samples and 500 negative samples. The positive samples came from the Collection E Notre Dame database. The negative samples were retrieved from the UIUC Image Database for Car Detection.

The cascade training was terrible with 40 positive and 500 negatives. ~6 minutes and 30 seconds in total time and the process terminated after 2 stages.

After a few attempts I wasn't able to successfully detect parts of the helix. I did multiple trials where I changed the ratio of positive to negative samples. (i.e. 40 positive, 250 negative / 40 positive 80 negative). The trial with 80 negatives was quicker, but only went through 1 stage of training and when tested no helixes were detected.

Some trials trained the classifier within seconds others were lengthy, over 5 minutes. I recently found a post on the forum site stackoverflow that provided suggestions on the sample sizes and properties that gave optimal results. The ideal settings had a positive to negative ratio of 2:1. Many people training haar classifiers generated 1000's of samples from a limited supply of positive images by applying small rotations and distortions to the original samples. These transformations can be performed using the opencv_createsamples utility. For each photo it's best to create 200 samples with this technique. Another thing I learned that will improve my training is to ensure my samples are monochrome and to scale the negatives to a size of 100 x 100. Negative images should be the same size or larger than positives. Currently the size of my negatives are 100 x 40. Much smaller than my positive samples. 

I will apply these techniques in my next trials of testing.

Friday, January 13, 2017

Walkthrough Meeting

Today we met together and had a walkthrough of making a lobule classifier. Morgan made a lot of progress and is now dividing her samples between narrow and wide lobules.

Howard University is holding for a research week event and our mentor, Dr. Washington advised us to apply and present our findings. We plan on showing the results of our work and the motivation behind the project. (An ear scheme that could recognize everyone (different groups/ races)
examining different data sets (Asian ears, black ears )

The submission requires an abstract and the deadline is February 26, 2017.

We are going to set up another meeting next Wednesday to start drafting our abstract. In the mean time Dr. Washington is having Morgan and I write a few paragraphs about our work at this point so we have somewhere to start our draft. We each have a responsibility to write 200 words for next meeting.

In addition, for next meeting I have to increase my image sample size from 20 to 100 samples to improve the accuracy of the helix classifier. As well as start on creating a classifier for the Tragus. Morgan plans on finishing her wide and narrow lobule classifier.

Important Dates:
HU Research Week February 26, 2017
Tapia scholarship is open General Tapia Scholarship Applicants: February 28, 2017
Grace Hopper Registration opens February