A method for remotely controlling a computing device, the method comprising: repeatedly capturing an image from a video frame; detecting a human face in the captured image; matching the detected human face to a previously detected human face; extracting facial landmarks from the matched detected human face; estimating a 3D head pose of the matched detected human face based on the extracted facial landmarks, the 3D head pose being represented in an egocentric coordinate system by a 3D pose vector which is directed from the human face, the 3D pose vector being free to rotate around x-, y- and z-axes of the egocentric coordinate system using respective rotation matrices and free to translate along the x-, y- and z-axes of the egocentric coordinate system using a translation vector; and controlling a user interface on a display screen of the computing device according to the estimated 3D head pose, wherein: controlling the user interface on the display screen of the computing device comprises mapping a cursor on the display screen of the computing device to the estimated 3D head pose; mapping the cursor on the display screen of the computing device to the estimated 3D head pose comprises converting the 3D pose vector in the egocentric coordinate system to a 2D pose vector in a coordinate system of a 2D plane of the display screen; and converting the 3D pose vector in the egocentric coordinate system to a 2D pose vector in a coordinate system of the 2D plane of the display screen comprises projecting the 3D head pose vector axes of the egocentric coordinate system onto the 2D plane of the display screen and applying a 3D-to-2D mapping function that utilizes orientation information to determine the cursor location by computing the coordinates of the 2D pose vector in the coordinate system of the 2D plane of the display screen. repeatedly capturing an image from a video frame; detecting a human face in the captured image; matching the detected human face to a previously detected human face; extracting facial landmarks from the matched detected human face; estimating a 3D head pose of the matched detected human face based on the extracted facial landmarks, the 3D head pose being represented in an egocentric coordinate system by a 3D pose vector which is directed from the human face, the 3D pose vector being free to rotate around x-, y- and z-axes of the egocentric coordinate system using respective rotation matrices and free to translate along the x-, y- and z-axes of the egocentric coordinate system using a translation vector; and controlling a user interface on a display screen of the computing device according to the estimated 3D head pose, controlling the user interface on the display screen of the computing device comprises mapping a cursor on the display screen of the computing device to the estimated 3D head pose; mapping the cursor on the display screen of the computing device to the estimated 3D head pose comprises converting the 3D pose vector in the egocentric coordinate system to a 2D pose vector in a coordinate system of a 2D plane of the display screen; and converting the 3D pose vector in the egocentric coordinate system to a 2D pose vector in a coordinate system of the 2D plane of the display screen comprises projecting the 3D head pose vector axes of the egocentric coordinate system onto the 2D plane of the display screen and applying a 3D-to-2D mapping function that utilizes orientation information to determine the cursor location by computing the coordinates of the 2D pose vector in the coordinate system of the 2D plane of the display screen.