Classifiying sphere eversions For a year I have been giving lectures on a (probalby) new way to present an explicit sphere eversion. These lectures include a review of many other explicit eversions that have been described, as text, drawings or even computer generated movies, since Smale proved his theorem.
During these lectures, I have been frequently asked the following question: are these eversions all equivalent?
I suppose the meaning of this question is: can you deform one eversion into another?
A more general question is:
What is the $\pi_1$ of the space $I$ of immersions of $S^2$ in $\mathbb{R}^3$?
Recall that Smale proved that $I$ is connected so that there is a path from the canonical embedding to the antipodal embedding, which is the definition of a sphere eversion. The set of all eversions up to homotopy is in (non canonical) bijection with the $\pi_1$ above. If the latter were trivial, then all eversions would be equivalent, and conversely. But as far as I have understood, it is not the case.
 A: Answer Summary
The fundamental group of the space of immersions of $S^2$ into $\mathbb{R}^3$ is
$$ \pi_1 Im(S^2, \mathbb{R}^3) \cong \mathbb{Z}/2 \times \mathbb{Z}$$
This means that there are infinitely many different sphere eversions (where "different" mean not homotopic in the path space of immersions). 
Given two sphere eversions their "difference" (formed by running the first eversion, and then the reverse of the second eversion) is a loop in the space of immersions of $S^2$ into $\mathbb{R}^3$ based at the standard embedding. As such it determines an element in $\pi_1 Im(S^2, \mathbb{R}^3) \cong \mathbb{Z}/2 \times \mathbb{Z}$. Projecting to these different factors gives a pair of invariants (one $\mathbb{Z}/2$ valued, one integer valued), and below I will describe how to compute these two invariants. These are complete invariants: if both invariants are zero for the difference of two eversions, then these eversion can be deformed into eachother in the space of eversions. In this way we can completely classify eversions using these invaraints. 
The Space of Immersions, in general
Smale's theorem fits into a larger family of results known as $h$-principle results. I think it is fair to say that Smale's result was one of the major precursors of this field, and these techniques allow you to completely determine the homotopy type of the space of immersions, not just of spheres into Euclidean space but much more generally.  
In a general h-principle problem, at least formulated in modern language, you compare two sheaves of spaces on the site of $d$-manifolds via a map of sheaves:
$$ \mathcal{F} \to \mathcal{F}^h $$
What this means is that $\mathcal{F}$ is an assignment that associates to every $n$-manifold $U$ a topological space $\mathcal{F}(U)$ and to every open embedding $V \subseteq U$ a continuous restriction map:
$$ \mathcal{F}(U) \to \mathcal{F}(V). $$
A good case to keep in mind is $\mathcal{F}(U) = Im(U,Y)$, the space of immersions into a fixed manifold $Y$. For non-compact manifolds $U$ we have to be careful about which topology we are using on the space of immersions in order for the restriction map to be continuous. This is important for the general theory and the proof of the h-principle theorem, but since we will be applying this to a compact manifold $U = S^2$, I am going to skip over that subtlety. 
In a general h-principle set-up you have two such sheaves: $\mathcal{F}$ is a sheaf that you are interested in, and $\mathcal{F}^h$ is some approximation to $\mathcal{F}$ that you can compute.  Usually this easier one is sections of some fiber bundle, so it is also a "homotopy sheaf", and can be computed using methods from homotopy theory. Under some assumptions on $\mathcal{F}$ there is actually a universal such $\mathcal{F}^h$, but I don't really want to get too far into the general theory here. 
We say that $\mathcal{F}$ satisfies the $h$-principle if this comparison map is a weak homotopy equivalence. Maybe this is only true for a certain class of manifolds (eg. non-compact, etc), and then we say $\mathcal{F}$ satisfies the h-principle for that class of manifolds.  
In the case at hand we have $\mathcal{F} = Im(-, Y)$ the sheaf of immersions into an ambient manifold $Y$. Thus 
$$ \mathcal{F}(M) = Im(M, Y) $$
is the space of immersions of $M$ into $Y$. 
The sheaf $\mathcal{F}^h$ is the space of pairs $(f, \phi)$ where
$$ f: M \to Y$$
is a map of topological spaces, and
$$ \phi: TM \hookrightarrow f^*TY$$
is a bundle map which is a linear injection on fibers. 
These are maps which "formally look like immersions". If you have an actual immersion, $f: M \to Y$ then you get such a pair via $(f, df)$, where $df: TM \to f^*TY$ is the differential. By the definition of immersion $df$ is a linear injection on fibers.  This defines a comparison map between the space of immersions and the space of "formal immersions".
This latter space of formal immersions is much easier to understand since for a pair $(f,\phi)$ we do not require that the map $\phi$ is given as the differential of the map $f$. For example the space of $\phi$ compatible with a given $f$ only depends on the homotopy class of $f$ and not on the particular map $f$ itself. This space is much more amenable to standard homotopy theoretic techniques. 
The theorem here about immersions is that $\mathcal{F}$ satisfies the h-principle on $d$-manifolds $M$ provided that the dimension of $Y$ is strictly larger than $d$. (It is also satisfied for non-compact $M$ even when $\dim Y = \dim M$). In otherwords the comparison map from the space of immersions to the space of "formal" immersions is a weak homotopy equivalence. This later space is a much easier space to consider as it can be attacked by purely homotopy theoretical means. 
If you want to understand the proof of this theorem and more general h-principle type proofs, I highly recommend Micheal Wiess' preprint Immersion Theory for Homotopy Theorists.
The Space of Immersions, $S^2$ into $\mathbb{R}^3$
Now let's specialize to the specific case asked about in this question: immersions of $S^2$ into $\mathbb{R}^3$. The space of maps from $S^2$ to $\mathbb{R}^3$ is contractible, and since all maps of $S^2$ to $\mathbb{R}^3$ are null-homotopic, $f^*T\mathbb{R}^3$ is always a trivial bundle. Thus we conclude:
Theorem [Smale] The space of immersions of $S^2$ into $\mathbb{R}^3$ is homotopy equivalent to the space of bundle injections of $TS^2$ into a trivial rank three bundle, via the map which takes an immersion $f$ to its differential $df$. 
We can actually do better at identifying this space. There are several essentially equivalent ways we can proceed here, and I will describe one. Depending on your background it is more or less possible to translate between the different approaches. One thing to remember is that the following spaces are all just names for the same space thought of in different ways:
$$ O(3) / O(1) \cong V_2 \mathbb{R}^3 \cong SO(3) $$ 
In any case, the space of bundle injections of $TS^2$ into a trivial rank three bundle can, up to homotopy, be identified with the coset space of the space of vector bundle isomorphisms:
$$ Isom( TS^2 \oplus \varepsilon, \varepsilon^3)/O(1) $$
where $\varepsilon$ is a trivial(ized) line bundle on $S^2$. Here the $O(1)$ action is on the source copy of $\varepsilon$.  This means that 
$$ Isom( TS^2 \oplus \varepsilon, \varepsilon^3) $$
is a double cover of the space that we want to know about. As we will see in a moment, this is a disconnected space and in fact the space we want is really just the connected component of the above space. 
This latter space can be thought of as a space of framings of $TS^2 \oplus \varepsilon$ and is (non-canoncially) isomorphic to:
$$ Maps(S^2, O(3)) $$
where this is the free mapping space. This identification comes by picking our favorite framing of $TS^2 \oplus \varepsilon$ and measuring the difference. The space of framings is a torsor for the topological group $ Maps(S^2, O(3))$.
Next, we have a short exact sequence of topological groups:
$$ 1 \to Maps_*(S^2, O(3)) \to Maps(S^2, O(3)) \to O(3) \to 1 $$
coming from evaluation at our favorite basepoint of $S^2$. 
The evaluation map is split by the topological group homomorphism sending $g \in O(3)$ to the constant map with value $g$. This means we have an isomorphism as spaces:
$$ Maps(S^2, O(3)) \cong Maps_*(S^2, O(3)) \times O(3)$$
(this is only as spaces, as groups it is a semidirect product). For simplicity below I will write $\Omega^2X$ in place of $Maps_*(S^2, X)$.
To get back to the space of immersions, we need to realize this as the double cover of the space we want, which is a quotient of the above space by $O(1)$. The key is with our choice of standard framing. with respect to this the $O(1)$-action acts be a constant element in $O(3)$. This means the $O(1)$ factor really comes from the $O(3)$ factor in the above topological group. More importantly the action of $O(1)$ is to switch the two components of the above space. 
We conclude:
Proposition There is a non-canoncial homtopy equivalence:
$$ Im(S^2, \mathbb{R}^3) \simeq \Omega^2(O(3)) \times O(3)/O(1) \cong \Omega^2(SO(3)) \times SO(3).$$
What is more, we have a prescription for how to pass from the left-hand-side to the right-hand-side. 


*

*First send our immersion to a "formal immersion", a certain bundle injection.    

*Then pick an orientation of $S^2$. This allows us to frame the normal bundle of our immersion so that $TS^2 \oplus \varepsilon \cong \varepsilon^3$ is orientation preserving. 

*Pick a framing of $TS^2 \oplus \varepsilon$ compatible with the orientation (this is the non-canonical part). 

*This then identifies our space with $Maps(S^2, SO(3))$, which splits into the above two factors. 


Corallary 
$$ \pi_1  Im(S^2, \mathbb{R}^3) \cong \pi_1 \Omega^2 SO(3) \times \pi_1 SO(3) \cong \pi_3 SO(3) \times \pi_1 SO(3) \cong \mathbb{Z} \times  \mathbb{Z}/ 2 .$$
Identifying the Invariants
The mod 2 invariant
The $\mathbb{Z}/ 2 $ invariant comes from the fundamental group of the factor $SO(3)$ in the space of immersions, and the map to $SO(3)\cong V_2 \mathbb{R}^3$ was given by evaluating at a point. This means that this invariant only depends on the restriction of the loop of immersions to a neighborhood of this fixed favorite point in the sphere. 
Here is one way to compute it:  for $t \in [0,1]$, let $f_t: S^2 \to \mathbb{R}^3$ be an immersion, which starts and ends at our preferred basepoint immersion.  
Pick our favorite point $p \in S^2$ with local coordinates $(x,y)$ and look at the map $f_t \mapsto (\partial_x f_t, \partial_y f_t) \in V_2 \mathbb{R}^3$. As written this as a map to 2-frames in $\mathbb{R}^3$, but to be consistent with the above I should really be using orthonormal 2-frames. To get an orthonormal 2-frame I simply apply the Gram-Schmidt process. This is more relevant in the construction below. 
In any case this is the projection to the $V_2 \mathbb{R}^3 \simeq SO(3)$ factor. Our loop of immersions gives us an element in $\pi_1 SO(3) \cong \mathbb{Z}/2$. 
Example This description makes it clear that this invariant is non-trivial on the path of immersions (even embeddings) which rotates the sphere 360 degrees. (This can also be see by tracing the $SO(3)$ action on $\mathbb{R}^3$ through our identification of $Im(S^2, \mathbb{R}^3)$.)
Another consequence of this description: suppose that we have a loop of immersions such that this mod 2 invariant vanishes? What does this mean? Well it means that the induced loop in $SO(3)$ can be deformed to the constant loop. But more is true. We can actually deform the loop of immersions to an equivalent loop which is constant on a disk neighborhood $D$ of our chosen basepoint $p$.
The space of immersions which are fixed to be standard on $D$ is sometimes considered in the literature and denoted $Im_D(S^2, \mathbb{R}^3)$.  
The integral invariant
For example the integral invariant of loops of immersion, but restricted to loops in the space $Im_D(S^2, \mathbb{R}^3)$ was considered by Tahl Nowik. In that paper the invariant is constructed in a similar fashion to our mod 2 invariant, by considering what happens on the (closure of the) compliment of $D$ in $S^2$, which we will call $U$. 
We can fix coordinates $(x,y)$ on $U$ (not to be confused with our earlier $(x,y)$) and then the loop of immersions (fixed on $D$) induced a map
 $$U \times I \to SO(3) = V_2 \mathbb{R}^3 $$
$$(u, t) \mapsto (\partial_x f_t(u), \partial_y f_t(u) ). $$
Again I mean to apply the Gram-Schmidt process so that I get an orthonormal 2-frame here. I am suppressing this from the notation. This map is subject to certain boundary constraints, and so factors through a quotient of $U \times I$ homeomorphic to $S^3$. The pointed map
$S^3 \to SO(3)$ then represents an element in $\pi_3SO(3) = \mathbb{Z}$, which is the invariant considered by Nowik. This also agrees with the integral invariant we want, but there is an easier way to get at this invariant using degrees of maps. 
Let's suppose that we are going to use the invariant as described by Nowik, but that we would like to actually compute the integer itself? How can we do this from just the map $S^3 \to SO(3)$? How do we tell which homotopy class we have?
Since this is a map between equal dimensional oriented manifolds, one thing we can do is pass to homology and compute the degree of the map. The degree is actually quite readily computable. We simply make the map generic near a point in $q \in SO(3)$ and the we count with signs the number of points in $S^3$ which are inverse images of $q$. 
Computing the degree is relatively easy, but how does that translate to the homotopy groups? It gives us a homomorphism
$$ \mathbb{Z} = \pi_3SO(3) = [S^3, SO(3)]_* \stackrel{deg}{\to} \mathbb{Z}$$ 
It is not the zero homomorphism, and so it is injective. Which means the degree detects our desired integral invariant.
The generator of $\pi_3SO(3)$ is represented by the double cover map $S^3 = Spin(3) \to SO(3)$, which has degree two. Thus we can be more precise. Our desired integral invariant is precisely half of the induced degree map. 
The thing I like about the degree map is that it is locally computable. It depends on the local behavior near the inverse images of $q \in SO(3)$. This means that we don't actually have to pass through Nowik's particular construction. 
Instead, here is something else we can do. We follow the four-step instructions above, and so pick a reference framing of $TS^2 \oplus \varepsilon$. An immersion into $\mathbb{R}^3$ gives a different framing and by measuring the difference we get a map $S^2 \to SO(3)$. For a loop of immersions we get a map:
$$S^2 \times S^1 \to SO(3) $$
And we can just compute the degree (divided-by-two) of this map of 3-manifolds. This agrees with Nowik's invariant for immersions constant on the disk $D$. 
example Apparently  Nowik's invariant was considered earlier in a paper by Max-Banchoff. I can't seem to track down a copy of their paper, so I don't know for sure, but according to the summary in Nowik's paper in the course of their work they construct a specific loop of immersions (fixed on $D$) and prove it is a generator of $\pi_1 Im_D(S^2, \mathbb{R}^3) \cong \mathbb{Z}$.  
[Note: This answer was edited from the original to address some of the comments below, expand on some of the details of the arguments, and generally improve the exposition]
