A method performed by an electronic device, comprising: obtaining a first frame of a scene; obtaining a second frame of the scene, the second frame being subsequent to the first frame; detecting an object in the first frame to produce a first bounding region; performing object recognition of an object within the first bounding region of the first frame; obtaining a predetermined object model corresponding to the object based on the recognition; extracting one or more features based on the first bounding region; performing object tracking of the object within the first bounding region of the first frame to determine a second bounding region in the second frame of the scene, based on the one or more features; checking object recognition in the second bounding region in the second frame, based on the predetermined object model, determining if the second bounding region is valid, wherein the second bounding region is valid if the object recognition is successful at approximately the scale, location and/or rotation of the second bounding region; if the second bounding region is invalid, determining whether the object is within the second bounding region based on the predetermined object model; in response to determining that the second bounding region is invalid and that the object is included in the second bounding region, generating a refined bounding region by resizing the second bounding region to exclude one or more pixels that do not correspond to the object; and tracking the object based on the refined bounding region, wherein tracking the object based on the refined bounding region comprises extracting features based on the refined bounding region. obtaining a first frame of a scene; obtaining a second frame of the scene, the second frame being subsequent to the first frame; detecting an object in the first frame to produce a first bounding region; performing object recognition of an object within the first bounding region of the first frame; obtaining a predetermined object model corresponding to the object based on the recognition; extracting one or more features based on the first bounding region; performing object tracking of the object within the first bounding region of the first frame to determine a second bounding region in the second frame of the scene, based on the one or more features; checking object recognition in the second bounding region in the second frame, based on the predetermined object model, determining if the second bounding region is valid, wherein the second bounding region is valid if the object recognition is successful at approximately the scale, location and/or rotation of the second bounding region; if the second bounding region is invalid, determining whether the object is within the second bounding region based on the predetermined object model; in response to determining that the second bounding region is invalid and that the object is included in the second bounding region, generating a refined bounding region by resizing the second bounding region to exclude one or more pixels that do not correspond to the object; and tracking the object based on the refined bounding region, wherein tracking the object based on the refined bounding region comprises extracting features based on the refined bounding region.