UFC Fighter Recommendation System

SOURCE CODE

This a web app that helps new UFC fans find exciting fighters to follow. The idea is the following:

  1. The recommendation is done based on the similarity of fighters.
  2. The app creates a list of fighters that has similar patterns of wining methods based on a previously selected fighter that you already like.
    • For example, let's say you like Ronda Rousey, she is well known for her nasty armbar technique. Since you like Ronda, it is inferred that you like armbar techniques. Therefore, a list of fighters that has a high number of fight finishes using armbar is going to be recommended to you. The same idea can be used in the case you like a fighter with a high number of KO's using punches.

For a pitch about the app go to https://sineco.github.io/UFCFighterRecSysPres

Link for the App

Future Work

The way the similarity of the fighters is done right now is very simple, it is basically using filters based on the methods they finished their fights. In the future, I'm planning on creating some sort of similarity distance among the fighters that can actually capture their styles.

Object Detection 

SOURCE CODE

Face Detection

SOURCE CODE

Face Expression Recognition

Geometric-based features

Geometric-based features

SOURCE CODE

Introduction

Facial expression recognition (FER) is a challenging problem in computer vision that involves multidisciplinary knowledge and it is influenced by environmental and cultural aspects to name a few issues [1]. Finding the best set of features has always been one of the main challenges of facial expression recognition and any pattern recognition problem. A good classifier always relies on discriminating and independent features. The goal of this project is to analyze four of the most established features used in the literature of facial expression classification and compare to a our new proposed features in terms of level of discrimination across individuals and time performance.
The proposed features were the fastest and most robust among the state-of- the-art features for cross-subject performance discrimination when experimented on the extended Cohn-Kanade Dataset (CK+) [2] for basic emotion classification.

 

[1] Pantic, M., Rothkrantz, L.: Automatic analysis of facial expressions: The state of the art. IEEE Trans. Pattern Analysis and Machine Intelligence 22, 1424–1445 (December 2000).

[2] Lucey, P., Cohn, J., Kanade, T., Saragih, J., Ambadar, Z., Matthews, I.: The extended cohn-kanade dataset (CK+): A complete dataset for action unit and emotion-specified expression. In: Computer Vision and Pattern Recognition Work- shops (CVPRW), 2010 IEEE Computer Society Conference on. pp. 94–101 (Jun 2010).

 

Semi-supervised Temporal Clustering

(a) shows the frame kernel matrix K, where each entry kij defines the similaritybetween two frames, xi and xj. (b) shows the segment kernel matrix calculated by DTAK. (c) shows the constraint matrix W.

(a) shows the frame kernel matrix K, where each entry kij defines the similarity
between two frames, xi and xj. (b) shows the segment kernel matrix calculated by DTAK. (c) shows the constraint matrix W.

SOURCE CODE

ABSTRACT

Temporal clustering refers to the partitioning of a time series into multiple non- overlapping segments that belong to k temporal clusters, in such a way that segments in the same cluster are more similar to each other than to those in other clusters. Temporal clustering is a fundamental task in many fields, such as computer animation, computer vision, health care, and robotics. The applications of temporal clustering in those areas are diverse, and include human-motion imitation and recognition, emotion analysis, human activity segmentation, automated rehabilitation exercise analysis, and human-computer interaction. However, temporal clustering using a completely unsupervised method may not produce satisfactory results. Similar to regular clustering, temporal clustering also benefits from some expert knowledge that may be available. The type of approach that utilizes a small amount of knowledge to “guide” the clustering process is known as “semi-supervised clustering.”

Semi-supervised temporal clustering is a strategy in which extra knowledge, in the form of pairwise constraints, is incorporated into the temporal data to help with the partitioning problem. 

APPLications

Emotion Analysis

Analysis of naturally-occurring human emotions is the main focus of recent research in the field of affective computing. Emotional analysis is a vital step in building efficient and more realistic intelligent human-computer interfaces. Facial expressions and speech are the two modalities most commonly used to analyze emotions in human interaction. While facial expression is considered to be the primary modality in human communication, according to [67], speech is the fastest and most natural method of communication between humans.

Emotion Analysis

Emotion Analysis

 

Human Motion Analysis

The development of devices that capture motion data has increased vastly in recent years. As a result, research on motion analysis, recognition, and synthesis has grown in importance. Motion segmentation is one of the most relevant techniques in the context of these new devices, as discussed in [108]. Motion segmentation splits motion capture data into continuous segments. In a human context, the process consists of breaking motion into actions. Applications that can benefit from motion segmentation include those in the field of entertainment, computer animation, healthcare, and consumer electronics.

Human Motion Analysis

Human Motion Analysis

[108] S. Schulz and A. Woerner, “Automatic motion segmentation for human motion syn- thesis,” in Articulated Motion and Deformable Objects (F. Perales and R. Fisher, eds.), vol. 6169 of Lecture Notes in Computer Science, pp. 182–191, Springer Berlin Heidelberg, 2010.