
%%%%%%%%%%%%%%%%%%%%%%% file typeinst.tex %%%%%%%%%%%%%%%%%%%%%%%%%
%
% This is the LaTeX source for the instructions to authors using
% the LaTeX document class 'llncs.cls' for contributions to
% the Lecture Notes in Computer Sciences series.
% http://www.springer.com/lncs       Springer Heidelberg 2006/05/04
%
% It may be used as a template for your own input - copy it
% to a new file with a new name and use it as the basis
% for your article.
%
% NB: the document class 'llncs' has its own and detailed documentation, see
% ftp://ftp.springer.de/data/pubftp/pub/tex/latex/llncs/latex2e/llncsdoc.pdf
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\documentclass[runningheads,a4paper]{llncs}

\usepackage{amssymb}
\setcounter{tocdepth}{3}
\usepackage{graphicx}
\usepackage{bm}
\usepackage{boxedminipage}

\usepackage{url}
\urldef{\mailsa}\path|{alfred.hofmann, ursula.barth, ingrid.haas, frank.holzwarth,|
\urldef{\mailsb}\path|anna.kramer, leonie.kunz, christine.reiss, nicole.sator,|
\urldef{\mailsc}\path|erika.siebert-cole, peter.strasser, lncs}@springer.com|
\newcommand{\keywords}[1]{\par\addvspace\baselineskip
\noindent\keywordname\enspace\ignorespaces#1}

\begin{document}

\mainmatter  % start of an individual contribution

% first the title is needed
\title{Understanding Human Actions: An Information Network Perspective of View}

% a short form should be given in case it is too long for the running head
\titlerunning{CS224W Project Report}

% the name(s) of the author(s) follow(s) next
%
% NB: Chinese authors should write their first names(s) in front of
% their surnames. This ensures that the names appear correctly in
% the running heads and the author index.
%
\author{Bangpeng Yao, Bo Wang, Cherhan Foo}
%
\authorrunning{CS224W Project Report}
% (feature abused for this document to repeat the title also on left hand pages)

% the affiliations are given next; don't give your e-mail address
% unless you accept that it will be published
\institute{Stanford University}

%
% NB: a more complex sample for affiliations and the mapping to the
% corresponding authors can be found in the file "llncs.dem"
% (search for the string "\mainmatter" where a contribution starts).
% "llncs.dem" accompanies the document class "llncs.cls".
%

\toctitle{Lecture Notes in Computer Science}
\tocauthor{Authors' Instructions}
\maketitle

%\begin{abstract}
%abstract.
%\end{abstract}


%------------------------------------------------------------------------------
\section{Introduction}\label{sec:intro}

Understanding human actions is an important yet challenging problem in many research fields, such as psychology~\cite{Gentner82}, linguistics, and computer vision~\cite{Yao11}. Comparing with object recognition where researchers have started building hierarchical structures for millions of classes in both natural language processing~\cite{Fellbaum98} and computer vision~\cite{Deng09}, little is known about the nature of human actions (e.g. what makes an action to be ``riding a horse''?) as well as the relationship between different actions (intuitively, ``playing guitar'' should be functionally more similar to ``playing violin'' than ``drinking water''). Interestingly, this follows a similar story as the evolution of human brain and languages. It has been reported that infants learn nouns much earlier than verbs~\cite{Gentner82}. One hypothesis is that most of the nouns, which corresponds to objects, refer to existing things and entities in the world that are easily accessible to humans. The verbs, which are closely related to actions, on the other hand, tend to describe the concepts that are more abstract and more diffuse in the feature space.

\begin{figure}[b]
\centering
\includegraphics[width=0.98\linewidth]{./figure/continuous_space.eps}
\caption{Human actions lie in a continuous space, where the human pose can change continuously and convey different meanings.}\label{fig:continuous_space}
\end{figure}

In the field of computer vision, researchers usually regard action understanding as a pure classification problem~\cite{Yao11}. Typically, people have a list of pre-defined actions, and then collect a set of images and annotate the humans that are doing one of the actions. Then the only goal is to design a classifier which is able to automatically assign a class label to each human image.

However, the tasks of understanding human actions is more complicated than simply performing classification. As shown in Figure~\ref{fig:continuous_space}, human actions lie in a continuous space where one action can be more closer to a second action than the others. Furthermore, there are relationships between different actions. As shown in Figure~\ref{fig:pose_demo}, the human poses and objects that the humans are interacting with can make one action related to the other. Furthermore, even within the same action, there are some special distributions of human poses as well as the spatial relationships between objects and humans, and those distributions are different even when the humans are interacting with the same object, as shown in Figure~\ref{fig:bike}.

\begin{figure}[t]
\centering
\includegraphics[width=0.98\linewidth]{./figure/pose_demo.eps}
\caption{Human actions are highly related to human poses and objects. In the left two images, ``riding bike'' and ``riding horse'' are functionally related and the humans have similar poses. In the right two images, both humans are ``playing tennis''. The poses of the two humans are very different, but they both interact with the same object (tennis racket).}\label{fig:pose_demo}
\end{figure}

\begin{figure}[t]
\centering
\includegraphics[width=0.98\linewidth]{./figure/bike.eps}
\caption{The human actions can be different even when the humans interact with the same object. We observe that human poses in ``riding bike'' are usually similar, whereas the poses in ``fixing a bike'' are very different.}\label{fig:bike}
\end{figure}

In this project, we study the properties of different human actions, as well as the relationship between different action images, instead of treating action recognition as a pure classification problem with human-provided class labels. We are interested in the following three questions:
\vspace*{-3pt}
\begin{itemize}
  \item How to model an action image and measure the similarity between two images?
  \item How to measure the similarity between two action classes, hence discover a hierarchical relationship between all actions?
  \item Without class labels, how can we cluster action images in an unsupervised way?
\end{itemize}
\vspace*{-3pt}

Specifically, we use an informative network analysis approaches to achieve the above goals. We form an ``action network'' where each node is an action image\footnote{We assume that there is only one human in each action image.}. There is an edge between two images if they are semantically related to each other, e.g. where the human poses are similar, or the humans interacting with the same object in similar ways, etc.


%------------------------------------------------------------------------------
\section{Prior Work}

In this work, we consider all the action images in a network, where each node is an action image. Representing action images in a network allows us to jointly consider the relationships of all the images. The distance between two nodes in the network reflects the degree of relevance of the two actions, e.g. two action images are highly related if they are directly connected in the network. Under this distance measure, the distance between two action classes can be measured by the average distance between pairs of actions of this two classes. Furthermore, we can also use network clique detection algorithms, such as~\cite{Clauset04,Flake02}, to automatically detect the ``communities'' in the network.

Each node in the network, an action image, is represented by a set of units of human poses and objects that are interacting with the humans. As shown in Figure~\ref{fig:pose_demo} and Figure~\ref{fig:bike}, the objects and human poses together define the complex relationships between different action images. Representing human actions as objects and human poses has been studied in~\cite{Yao11}. However, in that paper, the goal is to simply classify human actions into a pre-defined list of action classes, without considering the relationships between different action classes.


%------------------------------------------------------------------------------
\section{Algorithm}

\subsection{Action Images Represented by Poselets and Objects}\label{sec:image}

As shown in Figure~\ref{fig:continuous_space} and Figure~\ref{fig:bike}, the relationships between different action images can be measured by the human poses and objects. Intuitively, two actions are similar if they share the same set of objects with similar spatial configurations between humans, or correspond to similar human poses. We therefore decompose each action image into a set of poselets~\cite{Bourdev09} and objects.

\begin{figure}[t]
\centering
\includegraphics[width=0.9\linewidth]{./figure/poselet.eps}
\caption{Examples of poselets. Images in each row correspond to one poselet.}\label{fig:poselet}
\end{figure}

The poselets are a set of local human poses that are tightly consistent in terms of layout of human body parts, as shown in Figure~\ref{fig:poselet}. Each poselet can answer a pose-related question. For example, ``is the human sitting?'', ``Is the human's hands crossing?'', etc. Given a set of images with annotations of keypoints (as shown in Figure~\ref{fig:annotation}) of the human bodies, we use a clustering method to obtain 250 poselets. The clustering method we use is very similar to that in~\cite{Bourdev09}. We repeatedly draw random rectangles on the action images with different sizes and locations, where each rectangle is a candidate poselet. For each rectangle, we search all the other images to find the rectangles where the configurations of keypoints are similar to the reference rectangle. If this search leads to a similar rectangle in an image, we say that this image contains this poselet. From the 2000 candidate poselets, we merge the ones that are similar to each other, and delete the poselets which commonly happen on almost all the images (e.g. an upright torso). We also merge the poselets which happen in a very small number of images. After all the processing, we obtain 250 poselets.

\begin{figure}[t]
\centering
{\setlength{\fboxrule}{0pt} \setlength{\fboxsep}{0pt}
\begin{boxedminipage}{0.42\linewidth}
{\includegraphics[width=1.0\linewidth]{./figure/annotation.eps}}
\end{boxedminipage}
\hspace*{0.03\linewidth}
\begin{boxedminipage}{0.5\linewidth}
\caption{Demonstration of our annotation. The magenta bounding box indicates the object, while the red dots indicate the key points in the human body. The key points we consider are: top and bottom points of head and torso; top, bottom points and elbow of left and right arms; top, bottom, and knee of legs.}\label{fig:annotation}
\end{boxedminipage}}
\end{figure}

For the objects, we specify a list of objects that interact with the humans (such as horse, bike, pen, chair, etc), and draw a tight bounding box on each object if the object appears in the image. Therefore we have the information of whether a specific object appears in each image. Furthermore, since humans might interact with the same object in many different ways (such as ``riding a bike'' versus ``fixing a bike'', ``riding a horse'' versus ``feeding a horse''), we also consider different spatial relationships between humans and objects. Based on the locations of bounding boxes of humans and objects, we consider five different object locations with respect to humans: overlapping, top, bottom, left, and right.

\begin{figure}[t]
\centering
\includegraphics[width=0.98\linewidth]{./figure/object_location.eps}
\caption{The left-most figure illustrates our division of the image locations with respect to the human. The right two images show the location of the same object in different actions.}\label{fig:object_location}
\end{figure}

Therefore, each image can be represented as a 500-dimensional binary vector, where 250 elements describe whether a specific poselet is contained in the image, while other 250 elements describe whether an object appears in the image and what is the spatial relationship between this object and the human.

\subsection{The Stanford-40 Dataset and Action Network}

We perform experiments on the Stanford-40 Action Dataset~\cite{Yao11}, where there are 40 actions with 180-300 images per action. We use half of the total images on all the classes for our experiment. The keypoints of human body parts and object bounding boxes are annotated as in Figure~\ref{fig:annotation}. Based on the annotations, we obtain a 500-dimensional binary vector for each image, as described in Section~\ref{sec:image}. Each element of the vector corresponds to a poselet or an object with a specific relationship to the human.

We then form the action network in the following way. Each image is a node in the network. There is an edge between two nodes if they share more than three poselets or one object (with the same human-object spatial relationship), or both. This gives us a network that has 4766 nodes and 227099 edges. Note that here we use an undirected unweighted network to make the computation more tractable. We can also form weighted action networks by adding larger weights to the pairs of images which are very similar to each other.


\subsection{Action Similarity and ``Action Community'' Detection}

Based on the action network defined above, here we describe our approach for measuring the similarity between two action classes and how to automatically detect ``action communities'' from the data.

Our method for measuring the similarity between two actions is straightforward. For every pairs of images, we compare the shortest path between the two images in the network. Then the distance between two action classes is the average distance between all possible pairs of images, one from each class.

Measuring the similarity between different classes provides us more information than just the class labels. We can know which two actions are more related than the others. However, as we have discussed in Section~\ref{sec:intro}, actions refer to abstract concepts, and there is not an abstract way to define the partition of the action space. Therefore we also want to analyze how to automatically partition the action images into a set of classes, without annotations of action classes. Our goal is to find a number of clusters of images, where each cluster consists of a number of images within which the node-node connections are dense, and the edges to nodes in other communities are less dense. This is very similar to the community detection problem in network analysis. We use the Girvan-Newman algorithm~\cite{Girvan02} to solve this problem. The Girvan-Newman algorithm repeats the following two steps until no edges are left.

\begin{itemize}
 \item Calculate the betweenness of all pairs of edges;
 \item Remove edges with highest betweenness.
\end{itemize}

The Girvan-Newman algorithm gives us a way of clustering action images on the action network. But how to determine the number of clusters is an open problem. We empirically set the number of clusters to be in the range of $50\sim 200$. The clustering procedure terminates once any number of clusters in the desired range is obtained.


%------------------------------------------------------------------------------
\section{Results and Findings}

\begin{figure}[t]
\centering
\includegraphics[width=0.98\linewidth]{./figure/distance.eps}
\caption{The distance between pairs of actions. Blue color indicates small distance, while red color indicates large distance. We set the distance between the same action class to be 0.}\label{fig:distance}
\end{figure}

Figure~\ref{fig:distance} demonstrates the confusion matrix of the distance between each pair of action classes. We set the distance between the same action class to be 0 (the diagonal of the matrix). From the matrix, we have the following observations.

\begin{itemize}
 \item The distance between different pairs of action classes vary a lot. There are some actions that have small distance, e.g. ``writing on a book'' and ``reading book'' (the same set of object ``book''), ``blowing bubbles'' and ``taking photos'' (similar human poses), etc. There are also actions that are completely irrelevant, e.g. ``climbing wall'' and ``rowing a boat''.
 \item The actions of ``rowing a boat'' and ``walking a dog'' have large distance with almost all the other actions. The reason might be that ``rowing a boat'' does not share any object or human pose with other classes, and there are no distinct human poses in the action of ``walking a dog''.
 \item It is not necessary for two actions where humans interact with the same object have small distance. We observe that the actions ``riding a horse'' and ``feeding a horse'', ``riding a bike'' and ``fixing a bike'', do not have very small distance. The reason is although those actions contain the same object, the spatial relationship between the human and the object is different. However, for the actions that are functionally related, e.g. ``using a microscope'' and ``using a telescope'', ``playing guitar'' and ``playing violin'', are very related, because of the similar human poses.
\end{itemize}

\begin{figure}[t]
\centering
\includegraphics[width=0.98\linewidth]{./figure/cluster.eps}
\caption{The action clustering results. Each row is a cluster, each column is the number of images of a specific action in different classes. Red color indicates large number, while blue color indicates small number.}\label{fig:cluster}
\end{figure}

Figure~\ref{fig:cluster} illustrates our action image clustering results. We visualize the number of images that belong to each cluster for each action class. We observe that most of the images belong to some specific action clusters. For some clusters, the number of images is very small (e.g. the first several rows in the figure). On the one hand, this figure shows that clustering action images based on objects and human poses only is not a good choice, because we cannot obtain the desired clustering structure from Figure~\ref{fig:cluster}. On the other hand, however, there are some correlations between Figure~\ref{fig:cluster} and Figure~\ref{fig:distance}. We observe that most of the images of ``rowing a boat'' belong to one cluster, while Figure~\ref{fig:distance} shows that ``rowing a boat'' has large distance to all the other actions.


\begin{thebibliography}{4}

\bibitem{Activity10} American Time Use Survey (ATUS) Activity Lexicon. Bureau of Labor Statistics, 2010.

\bibitem{Bourdev09} Bourdev, L., Malik, J.: Poselets: Body Part Detectors Trained Using 3D Human Pose Annotations. International Conference on Computer Vision (ICCV), 2009.

\bibitem{Clauset04} Clauset, A., Newman, M., Moore, C.: Finding Community Structure in Very Large Networks. Physics Review E, volume 70, 2004.

\bibitem{Deng09} Deng, J., Dong, W., Socher, R., Li, L.-J., Li, K., Fei-Fei, L.: ImageNet: A Large-Scale Hierarchical Image Database. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2009.

\bibitem{Fellbaum98} Fellbaum, C.: An Electronic Lexical Database. Bradford Books, 1998.

\bibitem{Flake02} Flake, G., Tsioutsiouliklis, K., Tarjan, R.: Graph Clustering Techniques based on Minimum Cut Trees. Technical Report 06, NEC, Princeton, NJ, 2002.

\bibitem{Gentner82} Gentner, D.: Why Nouns Are Learned Before Verbs: Linguistic Relativity Versus Natural Partitioning. Language Development, Volume 2: Language Thought and Cluture. Hillsdale, NJ, 1982.

\bibitem{Girvan02} Girvan, M., Newman, M.: Community Structure in Social and Biological Networks. Proceedings of the National Academy of Sciences, 99:7821-7826, 2002.

\bibitem{Yao11} Yao, B., Jiang, X., Khosla, A., Lin, A., Guibas, L., Fei-Fei, L.: Human Action Recognition by Learining Bases of Action Attributes and Parts. Internatioinal Conference on Computer Vision (ICCV), 2011.

\end{thebibliography}

\end{document}
