Abstract:
Depth perceiving computer vision algorithms which are based on multiple view geometry are computationally expensive. As such, it is not practical to implement such systems in low end computing devices such as mobile phones. Nevertheless, for certain applications, monocular computer vision based algorithms which are capable of generating depth approximations are adequate and can be implemented on low end computing devices. In this context, we are still faced with the problem that monocular vision is very much affected by environment conditions such as light intensity, noise, density of obstacles, depth, etc. In case of stochastic environments, these aspects are even more crucial. Each algorithm’s accuracy depends on its internal constraints and environment conditions which the algorithm is capable of handling. For that matter, it is required to execute multiple monocular vision algorithms in a system and to select the result from the most appropriate algorithm according to the current environment condition. As such modeling of monocular vision based algorithms for navigation in stochastic environments into low-end smart computing devices turns out to be a research challenge.
Our research to address the above issue postulates that the Agent technology can model such environment sensitive situations. By definition, an agent is a small program that autonomously activates when necessary, performs a task and terminates on the completion of the task. This amounts to optimize the resource usage, which is a crucial factor for low-end computing devices. On the other hand Agents can negotiate and deliver high quality solutions which go beyond the individual agent’s capacity to solve a problem.
In this sense, we have conducted a project to devise a Multi Agent Based solution for modeling a monocular vision based navigation system pertaining to significantly different environments. Each agent in the system is assigned with a unique monocular depth perception algorithm, which is appropriate only for a certain environment. When a particular environment is not in favor for a certain agent, the agent does not execute its assigned algorithm, by allowing activation of another Agent who can perform better in the particular environment. This enables effective utilization of computing resource by the Agents and returning more realistic results in a stochastic environment. The solution includes five agents, namely, hardware agent, message space agent, appearance variation based agent, optical flow based agent and floor detection based agent. The hardware agent initiates the camera of the device and inputs an image to the system for the use by appearance variation based agent, floor detection based agent and optical flow based agent. The message space agent displays the communication and enables negotiations among agents. Appearance variation based agent, Floor detection based agent and optical flow based agent have small codes to represent unique monocular vision based algorithms which are capable of generating depth approximations to various obstacles.
The system is implemented on an Android based mobile phone having a 1GHz arm cortex processor and a 329 MB of RAM. It was evaluated using a sample environment, where it was able to select the most appropriate algorithm automatically according to the changing environment conditions while minimizing the resource consumption. Given a sample scenario having three different environment settings, the system was able to gain a 66.6% improvement of detecting obstacles than using a single monocular vision algorithm. The CPU load was reduced by 10% when the depth perception algorithms were implemented as environment sensitive agents, in contrast to running them as separate algorithms in different threads.
As per the evaluation results, it is concluded that the multi agent technology can be used to implement monocular depth perception algorithms as environment sensitive agents and it results in improved depth predictions and better utilization of computing resources.