I was inspired to go back to school and get my doctorate after reading Ray Kurzweil's "The Singularity Is Near." Artificial Intelligence is going to change the world, and I want to be part of that change. Also, it's just plain good exercise for the brain! And you learn a lot of unexpected things along the way.
Doctorate classes are comprised of a lot of research papers and projects. I've included some of them on this page, starting with my ultimate achievement, my dissertation. The abstract follows. Links lead to PDFs of the full document, which may load slowly on your computer, depending on your connection.
A major focus of research in computer graphics is the modeling and animation of realistic human faces. Modeling and animation of facial expressions is a very difficult task, requiring extensive manual manipulation by computer artists. Our primary hypothesis was that the use of machine learning techniques could reduce the manual labor by providing some automation to the process.
The goal of this dissertation was to determine the effectiveness of using an interactive genetic algorithm (IGA) to generate realistic variations in facial expressions. An IGA's effectiveness is measured by satisfaction with the end results, including acceptable levels of user fatigue. User fatigue was measured by the rate of successful convergence, defined as achieving a sufficient fitness level as determined by the user. Upon convergence, the solution with the highest fitness value was saved for later evaluation by participants with questionnaires. The participants also rated animations that were manually created by the user for comparison.
The animation of our IGA is performed by interpolating between successive face models, also known as blendshapes. The position of each blendshape's vertices is determined by a set of blendshape controls. Chromosomes map to animation sequences, where genes correspond to blendshapes. The manually created animations were also produced by manipulating the blendshape control values of successive blendshapes.
Due to user fatigue, IGAs typically use a small population with the user evaluating each individual. This is a serious limitation since there must be a sufficient number of building blocks in the initial population to converge to a good solution. One method that has been used to address this problem in the music domain is a surrogate fitness function, which serves as a filter to present a small subpopulation to the user for subjective evaluation. Our secondary hypothesis was that an IGA for the high-dimensional problem of facial animation would benefit from a large population made possible by using a neural network (NN) as a surrogate fitness function. The NN assigns a fitness value to every individual in the population, and the phenotypes of the highest rated individuals are presented to receive subjective fitness values from the user. This is a unique approach to the problem of automatic generation of facial animation.
Experiments were conducted for each of the six emotions, using the optimal parameters that had been discovered. The average convergence rate was 85%. The quality of the NNs showed evidence of a correlation to convergence rates as measured by the true positive and false positive rates. The animations with the highest subjective fitness from the final set of experiments were saved for participant evaluation. The participants gave the IGA animations an average credibility rating of 69% and the manual animations an average credibility rating of 65%. The participants preferred the IGA animations an average of 54% of the time to the manual animations. The results of these experiments indicated that an IGA is effective at generating realistic variations in facial expressions that are comparable to manually created ones. Moreover, experiments that varied population size indicated that a larger population results in a higher convergence rate.
Automatic detection of facial expressions can provide valuable input to computer systems that interact with humans. Classifying expressions is a high-dimensional pattern recognition problem, which was addressed by obtaining lower-dimensional feature vectors using principal component analysis of complete facial images. The PCA projections were then used as input into a feed forward neural network trained to classify the input into seven expressions. Networks were trained with the top 10 PCAs with a 40% success rate, and with 40 and 100 PCAs, both of which achieved an 80% success rate. This research demonstrates that PCA eigenvectors are able to represent the patterns unique to basic emotions across different faces.
SSL is one of the most common protocols used for secure communication over the internet. Users have grown to trust SSL and are prone to overlook visual cues that could indicate a security breach. But SSL is vulnerable to man in the middle attacks. This survey shows that a MITM attack requires three phases to succeed. First, the attacker must be placed between the client and server by diverting the communication path. Second, server authentication must be circumvented to allow the attacker to impersonate the server. Third, the attacker must visually fool the user with fake browser content so the user will provide sensitive information.
This survey selects papers from these three areas as a sampling of the types of current research problems. It is by no means an exhaustive list, nor does it go into great detail on any particular topic. The goal is to provide an overview of the security issues intrinsic to SSL by categorizing the diverse and seemingly unrelated problems into three phases: diverting the communication path, circumventing authentication, and web spoofing. Understanding the relationship of these security issues may help researchers focus on areas to make SSL more secure.
The ability to segment faces out of images in databases is an important initial step in many important applications, especially those requiring face recognition. The k-means algorithm has been shown to be effective in segmenting face candidates, which are then classified as faces, typically using the existence of facial features, such as eyes and mouths.
The research in this paper also used k-means to segment eye and mouth candidates within the face candidates. The principal component eigenvectors of these images were used to train three neural networks: one to classify faces, one to classify eyes, and one to classify mouths. The classifications achieved an 88.9%, 85.4%, and 97.8% success rate, respectively. However, many of the images did not generate any valid candidates for classification. The k-means algorithm was able to segment valid face candidates in 97% of the cases, but 20% of the images failed to generate any valid eye or mouth candidates.
In pattern recognition, there is a trade-off between the complexity of the feature extraction and the classification steps. The closer the feature extraction methodology can bring the feature vector to match the model, the easier it is to properly classify it. In the domain of image processing, the feature vector may take the form of a chain code. Chain codes are useful to reduce the dimensionality of shape representations. Chain codes are invariant to translation, but not to rotation or scale. One of the challenges of classifying a chain code is the many variations of transformations required to fit the model of the image. This paper presents a genetic algorithm that evolves an optimal transformation for the chain code of a shape that has been transformed in a prescribed way.