# Unsupervised Driving Situation Detection in Latent Space for Autonomous Cars
## 1 Introduction  
The development of autonomous cars is a topic of interest for many groups, among them being the scientific community and the automotive and technology industries [1]. Autonomous cars are characterized by their complexity and work in completely dynamic and changing environments; this is why the general system is subdivided into different subsystems in charge of solving particular tasks. Inside the general architecture of an autonomous car, there is a subsystem named the behavior selector [2], also known as the policy selector, which chooses the behavior that a car needs to follow from a set of predefined policies. Among the multiple tasks, this subsystem considers the current driving behavior and tries to avoid collisions with static and moving obstacles in the environment. The polices determine the actions that an autonomous car needs to take according to an observation of the car. Some examples of these polices are lane keeping, overtaking another car, changing lanes, intersection handling, and traffic light handling, among others. An autonomous car must deal with any context, and for this reason the detection of different driving situations is necessary. So, we can say that the policies are assigned according to thesituation that the car is facing. In general, those driving situations cluster observations of the car that are similar. Some examples of these driving situations are when the car is facing a curve, when there are cars nearby, and when it is centered in the lane, among others. According to our literature review, there is no unified way to create the policies that are used in the behavior selectors. In most cases, the policies are engineered by hand in two steps: First, the designers manually define a set of driving situations according to their expertise. Then, they define the policies that best suit each driving situation. The previous processes require a lot of effort. Additionally, there is a lot of subjectivity due to the manual labeling and because experts do not always agree on the number of situations and the decision boundaries between situations (the point at which one situation turns into another). For example, in the case of [PERSON] et al. [3] and [PERSON] et al. [4] all the states or driving situations are hand-engineered, and in total, 13 possible situations are considered for selecting different policies, such as forward driving, lane keeping, obstacle avoidance, U-turning, intersection handling, and stopping, among others. One problem is the difficulty of modeling complex scenarios because non-controlled environments are considerably more complicated than what the cars face in the competitions such as the Urban Challenge; in consequence, a method to select an appropriate number of situations is necessary, and it is also necessary to define each driving policy. In the work of [PERSON] et al. [5], a behavior-selection approach is proposed that models the car behavior as well as the nearby cars' potential intentions as a discrete set of policies. They used a set of hand-engineering policies to in-lane and intersection driving situations. The idea of assuming finite sets of policies to speed up planning has appeared previously [6; 7; 8]. Similarly, they propose designing a set of policies that are readily available at planning time. The idea of dividing behaviors into policies appears to be a good solution to accelerate the planning and execution of the behavior selector. Now, thanks to the advantages of Deep Learning techniques [9; 10], in recent years, a large variety of Behavioral Cloning Termiques imitate how a human pilot can drive [11; 12; 13; 14]; however, it is necessary to label the data. In some cases, such as in end-to-end systems, the actions are the labels, and in some other intermediate systems, the driving situations are the needed labels [15] or can have intermediate detections of objects in the scenes [16; 17]. However, the task of labeling the data is hand-engineered, and the subjectivity probably affects the performance of the system.