Online calibration of a head-worn device
A head-worn device may be configured with a curved window-element that can generate distortion in images captured by a camera of the head-worn device. Window extrinsics describing the shape, orientation, and/or position of the curved window-element may be used as a calibration to reduce the distortion. An online calibration process may be run at times during use so that the window extrinsics can be updated to accurately represent the curved window-element after changes in the shape, orientation, and/or position of the curved window-element occur.
1 . A method comprising:
capturing a plurality of images to generate a composite image including a window-element of a head-worn device, the window-element having a curve;
identifying a fiducial in the composite image;
comparing pixel positions of the fiducial in the composite image to pixel positions of an expected-fiducial to calculate a misalignment of the window-element;
updating a calibration parameter based on the misalignment; and
modifying a distorted-image captured through the window-element based on the calibration parameter.
2 . The method according to claim 1 , wherein modifying the distorted-image includes:
capturing the distorted-image, which includes a distortion generated by the window-element;
receiving the calibration parameter from a memory; and
processing the distorted-image using the calibration parameter to reduce the distortion generated by the window-element to generate a corrected-image, the distortion being reduced in the corrected-image.
3 . The method according to claim 2 , further including:
determining a position of an eye of the head-worn device based on the corrected-image.
4 . The method according to claim 1 , wherein generating the composite image includes:
averaging the plurality of images to increase a visibility of the fiducial.
5 . The method according to claim 1 , wherein comparing the pixel positions of the fiducial in the composite image to the pixel positions of the expected-fiducial to calculate the misalignment of the window-element includes:
retrieving an image of the expected-fiducial from a memory;
locating the pixel positions of the expected-fiducial in the image of the expected-fiducial;
computing a difference between the pixel positions of the fiducial in the composite image and the pixel positions of the expected-fiducial in the image of the expected-fiducial; and
computing the misalignment based on the difference.
6 . The method according to claim 5 , further comprising:
capturing the image of the expected-fiducial while offline at a time of fabrication of the head-worn device; and
storing the image of the expected-fiducial in the memory.
7 . The method according to claim 1 , wherein generating the distorted-image including the window-element of the head-worn device occurs online during a use of the head-worn device.
8 . The method according to claim 1 , wherein updating the calibration parameter is based on a schedule.
9 . The method according to claim 1 , wherein updating the calibration parameter is based on a comparison of the misalignment to a threshold.
10 . A head-worn device, comprising:
a memory including an expected-fiducial;
a window-element;
a camera configured to capture a plurality of images including the window-element; and
a processor communicatively coupled to the camera and to the memory, the processor configured by software instructions to:
generate a composite image based on the plurality of images;
identify a fiducial in the composite image;
compare pixel positions of the fiducial in the composite image to pixel positions of the expected-fiducial to calculate a misalignment of the window-element;
update a calibration parameter based on the misalignment;
store the calibration parameter in the memory; and
modify a distorted-image captured through the window-element based on the calibration parameter.
11 . The head-worn device according to claim 10 , wherein:
the camera is a front-sensing camera configured to detect light transmitted to the front-sensing camera through the window-element.
12 . The head-worn device according to claim 10 , wherein:
the camera is an eye camera configured to detect light from an eye reflected to the eye camera by the window-element.
13 . The head-worn device according to claim 12 , wherein the processor is further configured by the software instructions to:
reduce a distortion in an image of the eye captured by the eye camera based on the calibration parameter.
14 . The head-worn device according to claim 10 , wherein the head-worn device is an augmented-reality visor.
15 . The head-worn device according to claim 10 , wherein the head-worn device is a virtual-reality visor.
16 . The head-worn device according to claim 10 , wherein the window-element includes the fiducial etched, printed, or attached to a surface of the window-element.
17 . The head-worn device according to claim 16 , wherein the fiducial includes a plurality of markings that are sized differently and arranged to not have a rotational symmetry and each marking of the plurality of markings has a dimension less than 1 millimeter.
18 . The head-worn device according to claim 16 , wherein the fiducial is sized and positioned so that it cannot be focused by a user of the head-worn device.
19 . The head-worn device according to claim 10 , wherein the calibration parameter includes a position and orientation of the window-element relative to a coordinate system of the head-worn device.