Most existing algorithms for attitude estimation of mechanical systems use generalized coordinates to represent the group of rigid body rotations. Generalized coordinate representations of the group of rotations have some associated problems. While minimal (local) coordinate representations exhibit kinematic singularities for large rotations, the quaternion representation requires satisfaction of an extra constraint. This paper treats the attitude estimation and filtering problem as a deterministic optimization problem, without using generalized coordinates, in the framework of geometric mechanics. An attitude estimation algorithm and filters are developed, that minimize the attitude and angular velocity estimation errors from noisy measurements. For filter propagation, the attitude kinematics and deterministic dynamics equations (Euler's equations) for a body in an attitude-dependent potential are used. Vector attitude measurements, with or without angular velocity measurements, are used for attitude and angular velocity estimation.