Apparatus, system and method for determining one or more parameters of lens
By capturing the depth map of the lens and applying computer vision and statistical techniques, the problem of difficulty in determining the optical parameters of the lens in the prior art is solved, and fast and accurate lens parameter detection is achieved, which is suitable for a variety of lens types.
Patent Information
- Application Number
- CN202411512249.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2019-01-10
- Filing Date
- 2020-01-09
- Publication Date
- 2025-05-06
AI Technical Summary
The prior art is difficult to effectively determine the optical parameters of the lens, such as spherical degree, cylinder degree and cylinder axis, especially in the case of copying or producing backup lenses.
The optical parameters of the lens are determined by capturing the depth map of the lens using a depth mapper and combining computer vision and statistical techniques. The system can be analyzed without the use of auxiliary optical devices, including spherical lenses, cylindrical lenses and multifocal lenses.
It realizes the rapid and accurate determination of the optical parameters of the lens, improves the efficiency of lens replication and production, and is suitable for various types of lenses.
Smart Images

Figure CN119935501A_ABST
Abstract
Description
[0001] Divisional Application Statement
[0002] This application is a divisional application of Chinese patent application No. 202080018465.3.
[0003] Cross-references
[0004] This application claims the benefit of and priority to U.S. Provisional Patent Application No. 62 / 790,614, filed on January 10, 2019, entitled “APPARATUS, SYSTEM AND METHOD OF DETERMINING ONE OR MORE OPTICAL PARAMETERS OF ALENS,” the entire disclosure of which is incorporated herein by reference. Technical Field
[0005]
[0013] Embodiments described herein generally relate to determining one or more parameters of a lens. Background Art
[0006] Eyeglasses and / or prescription eyeglasses may include lenses assembled in eyeglass frames.
[0007] The lens may have one or more optical parameters. The optical parameters of the lens may include, for example, spherical power, cylindrical power and / or cylindrical axis.
[0008] For example, where a user of the eyeglasses wishes to duplicate the eyeglasses and / or produce replacement lenses for the eyeglasses, determining the sphere power, cylinder power, and / or cylinder axis of the lens may be useful. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] For simplicity and clarity of illustration, the elements shown in the figures are not necessarily drawn to scale. For example, for clarity of presentation, the sizes of some elements may be exaggerated relative to other elements. In addition, reference numerals may be repeated in the figures to indicate corresponding or similar elements. These drawings are listed below.
[0010] Figure 1 is a schematic block diagram illustration of a system, in accordance with some demonstrative embodiments.
[0011] Figure 2 is a schematic illustration of three measurement schemes, according to some demonstrative embodiments.
[0012] Figure 3 is a diagram of a measurement system that may be implemented in accordance with some demonstrative embodiments.
[0013] Figure 4is a schematic illustration of a first depth map of a first spherical lens and a second depth map of a second spherical lens, according to some demonstrative embodiments.
[0014] Figure 5 is a schematic illustration of a graph depicting depth values versus steradian power, in accordance with some demonstrative embodiments.
[0015] Figure 6 is a schematic flow chart of a method of determining the spherical power of a lens, according to some demonstrative embodiments.
[0016] Figure 7 is a schematic illustration of a first depth map of a lens and a second depth map of the lens, according to some demonstrative embodiments.
[0017] Figure 8 is a schematic illustration of a measurement scheme, in accordance with some demonstrative embodiments.
[0018] Fig. 9 is a schematic illustration of a measurement scheme, in accordance with some demonstrative embodiments.
[0019] Fig.10 is a schematic illustration of a measurement scheme, in accordance with some demonstrative embodiments.
[0020] Fig.11 is a schematic illustration of a measurement scheme, in accordance with some demonstrative embodiments.
[0021] Fig.12 is a schematic illustration of a first depth map of a cylindrical lens at a first angle and a second depth map of the cylindrical lens rotated at a second angle, in accordance with some demonstrative embodiments.
[0022] Fig.13 is a schematic illustration of an ellipse of lens angles, according to some demonstrative embodiments.
[0023] Fig.14 A schematic flow chart illustration of a method of determining one or more parameters of a lens, according to some demonstrative embodiments.
[0024] Fig.15 are schematic illustrations of products according to some demonstrative embodiments. DETAILED DESCRIPTION
[0025] In the following detailed description, numerous specific details are set forth to provide a thorough understanding of some embodiments. However, one of ordinary skill in the art will appreciate that some embodiments may be practiced without these specific details. In other cases, well-known methods, processes, components, units, and / or circuits are not described in detail to avoid obscuring the discussion.
[0026] Some portions of the following detailed description are presented in terms of IO algorithms and symbolic representations of operations on data bits or binary digital signals within a computer memory. These algorithmic descriptions and representations may be techniques used by those skilled in the art of data processing to convey the substance of their work to others skilled in the art.
[0027] An algorithm is here, and generally is considered to be a self-consistent sequence of acts or operations leading to a desired result. These include physical manipulations of physical quantities. Usually, though not necessarily, these quantities are captured in the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. Primarily for reasons of common usage, it has proven at times that these signals are referred to as bits, values, elements, symbols, characters, terms, numbers, or the like. It should be understood, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities.
[0028] Discussions herein using terms such as “process,” “compute,” “calculate,” “determine,” “create,” “analyze,” “examine,” and the like may refer to the manipulation and / or processing of a computer, computing platform, computing system, or other electronic computing device that manipulates and / or transforms data represented as physical (e.g., electronic) quantities within computer registers and / or memories into other data similarly represented as physical quantities in computer registers and / or memories or other information storage media, which may store instructions to perform the operations and / or processes.
[0029] As used herein, the terms "plurality" and "plurality" include, for example, "multiple" or "two or more." For example, "a plurality of items" includes two or more items.
[0030] References to "one embodiment," "an embodiment," "illustrative embodiment," "various embodiments," etc. indicate that the embodiment so described may include a particular feature, structure, or characteristic, but not every embodiment must include the particular feature, structure, or characteristic. Furthermore, repeated use of the phrase "in one embodiment" does not necessarily refer to the same embodiment, although it may.
[0031] As used herein, unless otherwise indicated, when ordinal adjectives "first," "second," "third," etc. are used to describe a common object, it merely indicates that different examples of similar objects are being referenced, and is not intended to imply that the objects so described must be in a given order in time, space, ranking, or in any other manner.
[0032] For example, some embodiments may have the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment including both hardware and software elements. Some embodiments may be implemented in software, including but not limited to firmware, resident software, microcode, etc.
[0033] In addition, some embodiments may be in the form of a computer program product accessible from a computer usable or computer readable medium that provides program code for use by or in conjunction with a computer or any instruction execution system. For example, a computer usable or computer readable medium may be or may include any device that can contain, store, communicate, propagate, or otherwise transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0034] In some illustrative embodiments, the medium can be an electronic, magnetic, optical, electromagnetic, infrared or semiconductor system (or device or apparatus) or a propagation medium. Some illustrative examples of computer readable media can include semiconductor or solid-state memory, magnetic tape, removable computer diskette, random access memory (RAM), read-only memory (ROM), flash memory, hard disk, and optical disk. Some illustrative examples of optical disks include compact disk - read only memory (CD-ROM), compact disk - read / write (CD-R / W), and DVD.
[0035] In some illustrative embodiments, a data processing system suitable for storing and / or executing program code may include at least one processor coupled directly or indirectly to a memory element, for example, via a system bus. The memory element may include, for example, local memory, bulk storage, and cache memory employed in the actual execution of the program code, which may provide temporary storage of at least some program code to reduce the number of times code must be retrieved from bulk storage during execution.
[0036] In some illustrative embodiments, input / output or I / O devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system directly or through an intervening I / O controller. In some illustrative embodiments, a network adapter can be coupled to the system to enable the data processing system to be coupled to other data processing systems or remote printers or storage devices, for example, through an intervening private or public network. In some illustrative embodiments, a modem, a cable modem, and an Ethernet card are illustrative examples of network adapter types. Other suitable components can be used.
[0037] Some embodiments may include one or more wired or wireless links, may utilize one or more components of wireless communications, may utilize one or more methods or protocols of wireless communications, etc. Some embodiments may utilize wired communications and / or wireless communications.
[0038] Some embodiments may be combined with various devices and systems, such as mobile phones, smart phones, mobile computers, laptop computers, notebook computers, tablet computers, handheld computers, handheld devices, personal digital assistant (PDA) devices, handheld PDA devices, mobile or portable devices, non-mobile or non-portable devices, cellular phones, wireless phones, devices with one or more internal antennas and / or external antennas, wireless handheld devices, etc.
[0039] Reference now Figure 1 , which schematically illustrates a block diagram of system 100 , in accordance with some demonstrative embodiments.
[0040] like Figure 1 As shown, in some demonstrative implementations, system 100 may include computing device 102 .
[0041] In some demonstrative implementations, device 102 may use suitable hardware components and / or software components, such as processors, controllers, memory units, storage units, input units, output units, communication units, operating systems, applications, and the like.
[0042] In some illustrative embodiments, device 102 may include, for example, a computing device, a mobile device, a mobile phone, a smart phone, a cellular phone, a laptop computer, a mobile computer, a laptop computer, a notebook computer, a tablet computer, a PDA device, a handheld device, a PDA device, a handheld PDA device, a wireless communication device, etc.
[0043] In some illustrative embodiments, device 102 may include, for example, one or more of processor 191, input unit 192, output unit 193, memory unit 194, and / or storage unit 195. Device 102 may optionally include other suitable hardware components and / or software components. In some illustrative embodiments, some or all components of one or more of devices 102 may be enclosed in a common housing or packaging and may be interconnected or operably associated using one or more wired or wireless links. In other embodiments, components of one or more devices 102 may be distributed among multiple or separate devices.
[0044] In some illustrative embodiments, processor 191 may include, for example, a central processing unit (CPU), a digital signal processor (DSP), one or more processor cores, a single-core processor, a dual-core processor, a multi-core processor, a microprocessor, a host processor, a controller, multiple processors or controllers, a chip, a microchip, one or more circuits, a circuit system, a logic unit, an integrated circuit (IC), an application specific IC (ASIC), or any other suitable general-purpose or specific processor or controller. Processor 191 may execute, for example, an operating system (OS) of device 102 and / or one or more suitable application instructions.
[0045] In some illustrative embodiments, input unit 192 may include, for example, a keyboard, a keypad, a mouse, a touch screen, a touch pad, a trackball, a stylus, a microphone, or other suitable pointing device or input device. Output unit 193 may include, for example, a monitor, a screen, a touch screen, a flat panel display, a light emitting diode (LED) display unit, a liquid crystal display (LCD) display unit, a plasma display unit, one or more audio speakers or headphones, or other suitable output devices.
[0046] In some demonstrative embodiments, memory unit 194 includes, for example, random access memory (RAM), read-only memory (ROM), dynamic RAM (DRAM), synchronous DRAM (SD-RAM), flash memory, volatile memory, non-volatile memory, cache memory, buffer, short-term storage unit, long-term storage unit, or other suitable memory unit. Storage unit 195 may include, for example, a hard disk drive, a solid-state drive (SSD), or other suitable removable or non-removable storage unit. Memory unit 194 and / or storage unit 195 may, for example, store data processed by device 102.
[0047] In some demonstrative implementations, device 102 may be configured to communicate with one or more other devices via wireless and / or wired network 103 .
[0048] In some demonstrative embodiments, network 103 may include a wired network, a local area network (LAN), a wireless LAN (WLAN) network, a radio network, a cellular network, a wireless fidelity (WiFi) network, an IR network, a Bluetooth (BT) network, or the like.
[0049] In some demonstrative implementations, device 102 may allow one or more users to interact with one or more processes, applications, and / or modules of device 102 , eg, as described herein.
[0050] In some demonstrative embodiments, device 102 may be configured to perform and / or execute one or more operations, modules, procedures, routines, and the like.
[0051] In some demonstrative embodiments, device 102 may be configured to determine one or more parameters, such as one or more optical parameters of a lens, such as an ophthalmic lens and / or any other type of lens and / or other parameters provided, for example, by a user of device 102 or any other user, e.g., as described below.
[0052] In some illustrative embodiments, an ophthalmic lens may include a lens configured to improve vision.
[0053] In one example, an ophthalmic lens may be assembled or configured to be assembled in glasses, for example, of a user of the device 102 or any other user.
[0054] In another example, ophthalmic lenses may include contact lenses, intraocular lenses, swimming goggles, and the like.
[0055] In another example, an ophthalmic lens may include any other optical lens, such as a prescription lens or any other lens configured to improve vision.
[0056] Some illustrative embodiments are described herein with respect to determining one or more parameters of ophthalmic lenses and / or eyeglasses. In other embodiments, one or more of the devices, systems, and / or methods described herein may be implemented to determine one or more parameters of any other lens and / or any other device including one or more lenses.
[0057] In some demonstrative embodiments, system 100 may be configured to perform a lensometer or lensmeter analysis of a lens, for example, even without the use of any auxiliary optics, for example, as described below.
[0058] In some illustrative embodiments, one or more parameters of a lens may include spherical power (also known as "sphere"), cylindrical power (also known as "cylinder"), cylindrical axis (also known as "axis"), prismatic power (also known as "prism"), added or additional power (also known as "addition"), the center of the lens, the distortion of the lens, and / or any other parameter of the lens.
[0059] In some illustrative embodiments, system 100 can be configured to analyze, for example, the power and / or near focus of a spherical lens, for example, the focal length, cylindrical axis and / or near focus of a cylindrical lens, focal length differences throughout the lens, for example, the focal length differences between a "far" portion, a "middle" portion, and / or a "near" portion of a lens, a focal length diagram throughout the lens, and / or any other parameter of a lens, for example, as described below.
[0060] In some demonstrative implementations, system 100 may include at least one service, module, controller, and / or application 160 configured to determine one or more parameters of a lens provided by a user of device 102, eg, as described below.
[0061] In some demonstrative embodiments, application 160 may include and / or may perform the functionality of a lens meter module, eg, configured to perform a lens meter or lens meter analysis of a lens.
[0062] In some demonstrative embodiments, application 160 may include, or may be implemented as, software, a software module, an application, a program, a subroutine, instructions, an instruction set, computing code, words, values, symbols, and the like.
[0063] In some demonstrative implementations, application 160 may comprise a local application program to be executed by device 102. For example, memory unit 194 and / or storage unit 195 may store instructions that result in application 160, and / or processor 191 may be configured to perform one or more calculations and / or processes that result in application 160 and / or execute application 160, e.g., as described below.
[0064] In other implementations, application 160 may comprise a remote application to be executed by any suitable computing system (eg, server 170 ).
[0065] In some demonstrative embodiments, server 170 may include at least one remote server, a web-based server, a cloud server, and / or any other server.
[0066] In some demonstrative embodiments, server 170 may include a suitable memory and / or storage unit 174 on which instructions for generating application 160 are stored, and a suitable processor 171 to execute the instructions, e.g., as described below.
[0067] In some demonstrative implementations, applications 160 may include a combination of remote applications and local applications.
[0068] In one example, a user of device 102 may download and / or receive application 160 from another computing system, such as server 170, so that application 160 may be executed locally by the user of device 102. For example, instructions may be temporarily received and stored in a memory or any suitable short-term storage or cache of device 102, for example, prior to execution by processor 191 of device 102.
[0069] In another example, the application 160 may include a front end to be executed locally by the device 102, and a back end to be executed by the server 170. For example, the front end may include and / or may be implemented as a local application, a web application, a website, a web client such as a Hypertext Markup Language (HTML) web application, etc.
[0070] For example, one or more first operations to determine one or more parameters of the lens may be performed locally, for example by device 102, and / or one or more second operations to determine one or more parameters of the lens may be performed remotely, for example by server 170, for example, as described below.
[0071] In other implementations, application 160 may include any other suitable computing arrangements and / or schemes.
[0072] In some demonstrative implementations, system 100 may include interface 110 to communicate between a user of device 102 and one or more elements of system 100 (eg, application 160 ).
[0073] In some demonstrative embodiments, interface 110 may be implemented using any suitable hardware components and / or software components, such as a processor, a controller, a memory unit, a storage unit, an input unit, an output unit, a communication unit, an operating system, and / or an application.
[0074] In some implementations, interface 110 may be implemented as part of any suitable module, system, device, or component of system 100 .
[0075] In other implementations, interface 110 may be implemented as a separate element of system 100 .
[0076] In some demonstrative implementations, interface 110 may be implemented as part of device 102. For example, interface 110 may be associated with and / or included as part of device 102.
[0077] In one example, interface 110 can be implemented as part of any suitable application, such as middleware and / or device 102. For example, interface 110 can be implemented as part of application 160 and / or as part of the OS of device 102.
[0078] In some demonstrative implementations, interface 110 may be implemented as part of server 170. For example, interface 110 may be associated with server 170 and / or included as part of server 170.
[0079] In one example, the interface 110 may include or may be a Web-based application, a website, a web page, a plug-in, an ActiveX control, a rich content component such as a Flash or Shockwave component, or the like.
[0080] In some demonstrative embodiments, interface 110 may be associated with and / or may include, for example, a gateway (GW) 112 and / or an application program interface (API) 114, for example, to transfer information between elements and / or to communicate between elements of system 100 and / or to communicate information to one or more other, e.g., internal or external, parties, users, applications, and / or systems.
[0081] In some implementations, interface 110 may include any suitable graphical user interface (GUI) 116 and / or any other suitable interface.
[0082] In some demonstrative implementations, application 160 may be configured to determine one or more parameters of a lens, for example, based on a depth map captured via the lens, e.g., as described below.
[0083] In some illustrative embodiments, a lens may include a spherical lens, a cylindrical lens (also referred to as a "sphero-cylindrical lens" or a "spherical-cylinder lens"), a bifocal lens, a multifocal lens, or any other type of lens.
[0084] In some demonstrative embodiments, device 102 may include depth mapper 118 (also referred to as a “depth sensor”) or any other device or system configured to capture, create and / or determine a depth map of an environment, e.g., as described below.
[0085] In one example, the application 160 can be configured to locally determine one or more parameters of the lens, for example, if the application 160 is implemented locally by the device 102. According to this example, the depth mapper 118 can be configured to create a depth map, and the application 160 can be configured to receive the depth map from the depth mapper 118, for example, and determine one or more parameters of the lens, for example, as described below.
[0086] In another example, the application 160 can be configured to remotely determine one or more parameters of the lens, for example, if the application 160 is implemented by the server 170, or if the back end of the application 160 is implemented by the server 170, for example, when the front end of the application 160 is implemented by the device 102. According to this example, the depth mapper 118 can be configured to create a depth map; the front end of the application 160 can be configured to receive the depth map; the server 170 and / or the back end of the application 160 can be configured to determine one or more parameters of the lens, for example, based on information received from the front end of the application 160.
[0087] In one example, a front end of device 102 and / or application 160 may be configured to send a depth map and optional additional information (e.g., as described below) to server 170, for example, via network 103; and / or a back end of server 170 and / or application 160 may be configured to receive the depth map and, for example, determine one or more parameters of the lens based on the depth map from device 102.
[0088] In some demonstrative implementations, depth mapper 118 may include two or more cameras, such as a dual camera, a stereo camera, a multi-camera, and / or any other camera system configured to create a depth map, e.g., as described below.
[0089] In some demonstrative implementations, depth mapper 118 may include a structured light stereo camera, eg, as described below.
[0090] In some demonstrative implementations, depth mapper 118 may include an infrared (IR) source and an IR sensor, such as in a structured light system, eg, as described below.
[0091] In some demonstrative embodiments, depth mapper 118 may include a time-of-flight (ToF) depth sensor, which may be configured to determine a depth map based on ToF measurements, eg, as described below.
[0092] In some demonstrative implementations, depth mapper 118 may include any other additional or alternative sensors, elements, and / or components that may be configured to create a depth map of an environment.
[0093] In one example, one or more calculations described herein may be applicable to multiple different types of implementations of the depth mapper 118. For example, one or more calculations may be slightly different for different types, such as based on IR wavelengths and / or visible light spectra.
[0094] In some illustrative embodiments, for example, when the lens is positioned in a manner that changes a depth map created by the depth mapper 118, for example, using a standard configuration, the application 160 can be configured to determine one or more parameters of the lens, for example, based on a depth map captured by the depth mapper 118, for example, as described below.
[0095] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of a lens, e.g., based on techniques, calculations, methods, and / or algorithms, which may be configured with respect to one or more aspects of a spherocylindrical lens, e.g., as described below.
[0096] In some illustrative embodiments, calculations for sphero-cylindrical lenses, for example, may be generalized to one or more other types of lenses, such as more complex lenses, such as imagers, for example, assuming that the camera aperture of depth mapper 118 may be relatively small, which may support local sampling of the lens under test.
[0097] In some illustrative embodiments, a lens may be modeled and / or considered to be a sphero-cylindrical lens, e.g., with three parameters to be determined, such as the sphere power, cylinder power, and cylinder axis of the sphero-cylindrical lens, e.g., as described below.
[0098] In one example, the above three parameters may be defined as, for example, low-order Zemike aberrations of an ideal lens, and / or defined in any other manner.
[0099] In one example, creation of a depth map may be based on disparity of points captured or projected from different coordinates in the real world, for example.
[0100] In some demonstrative embodiments, application 160 may be configured to use depth information and / or depth data captured via the lens, for example, to determine one or more parameters of the lens, for example, as described below.
[0101] In some demonstrative implementations, application 160 may be configured to process at least one depth map including depth information captured via the lens, eg, as described below.
[0102] In some demonstrative implementations, application 160 may be configured to determine one or more parameters of a lens based on the depth information, eg, as described below.
[0103] In some illustrative embodiments, one or more parameters of a lens may include the spherical power of the lens, the cylindrical power of the lens, the cylindrical axis of the lens, the sign of the lens, and / or the optical center of the lens, for example, as described below.
[0104] In other embodiments, any other additional or alternative parameters of the lens may be determined.
[0105] In some demonstrative implementations, application 160 may be configured to determine one or more parameters of a lens, such as for a spherocylindrical lens, eg, as described below.
[0106] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of a lens, such as for a bifocal lens and / or a multifocal lens, for example, as described below.
[0107] In some demonstrative embodiments, application 160 may be configured to instruct a user, e.g., via GUI 116 , to position the lens between depth sensor 118 and an object so that the depth information may include depth information of the object captured by depth sensor 118 via the lens, e.g., as described below.
[0108] In some demonstrative implementations, application 160 may be configured to identify one or more depth values captured via the lens in a depth map and determine one or more parameters of the lens based on the one or more depth values captured via the lens, e.g., as described below.
[0109] In some demonstrative implementations, application 160 may be configured to identify a depth value corresponding to an object in a depth map and determine one or more parameters of a lens based on the depth value corresponding to the object, the first distance, and the second distance, e.g., as described below.
[0110] In some demonstrative implementations, the first distance may be between the object and depth sensor 118 , eg, as described below.
[0111] In some demonstrative embodiments, the second distance may be between the depth sensor and the lens, for example, as described below.
[0112] In some demonstrative implementations, application 160 may be configured to identify depth information not captured via the lens in the depth map and determine the first distance and / or the second distance, for example, based on the depth information not captured via the lens, for example, as described below.
[0113] In some demonstrative implementations, application 160 may be configured to identify an area in the depth map corresponding to an element on the plane of the lens, and determine the second distance based on depth information in the area corresponding to the element, eg, as described below.
[0114] In some illustrative embodiments, the element may include an opaque edge of a lens, a frame that holds the lens, and / or any other element attached to and / or on the same plane as the lens, for example, as described below.
[0115] In some demonstrative implementations, application 160 may be configured to identify in the depth map an area corresponding to a plane including the object, and determine the second distance, for example, based on depth information in the area corresponding to the plane including the element, for example, as described below.
[0116] In some demonstrative embodiments, the object may include a wall, eg, as described below.
[0117] In other embodiments, the object may include any other flat surface behind the lens, such as a table, floor, and / or the like.
[0118] In some demonstrative implementations, application 160 may be configured to instruct a user to place and / or move depth sensor 118 and / or lenses between one or more relative positions, e.g., as described below.
[0119] In some demonstrative implementations, application 160 may be configured, for example, to instruct a user to move depth sensor 118 and / or the lens until a particular setting of the first distance and / or the second distance is reached, e.g., as described below.
[0120] In some demonstrative implementations, application 160 may be configured to instruct the user to position the lens over the reflector, for example, so that the first distance may include an optical distance that is twice the distance between depth sensor 118 and the reflector, for example, as described below.
[0121] In some demonstrative embodiments, application 160 may be configured to instruct the user to position the lens, e.g., relative to depth sensor 118 , by moving depth sensor 118 and / or the lens, such that the second distance may be half of the first distance, e.g., as described below.
[0122] In some demonstrative implementations, application 160 may be configured to identify an area in the depth map corresponding to a lens and determine one or more parameters of the lens, for example based on a size of the area corresponding to the lens, for example, as described below.
[0123] In some demonstrative implementations, application 160 may be configured to determine one or more parameters of a lens, for example, based on a plurality of different depth maps captured via the lens, eg, as described below.
[0124] In some demonstrative embodiments, the plurality of different depth maps may include at least a first depth map and a second depth map, eg, as described below.
[0125] In some demonstrative embodiments, a first depth map may be captured via the lens, for example, when the lens is in a first position relative to depth sensor 118, and a second depth map may be captured via the lens, for example, when the lens is in a second position relative to depth sensor 118 that is different from the first position, for example, as described below.
[0126] In some demonstrative embodiments, the first depth map includes, for example, a depth map captured via the lens when the lens is at a first rotational angle in the plane of the lens, and the second depth map may include, for example, a depth map captured via the lens when the lens is at a second rotational angle in the plane of the lens, for example, as described below.
[0127] In some demonstrative implementations, application 160 may be configured to determine a cylindrical axis of a lens and / or a cylindrical power of a lens, for example, based on the first depth map and the second depth map, for example, as described below.
[0128] In some demonstrative implementations, application 160 may be configured to determine one or more parameters of a lens based on, for example, a single depth map captured via the lens, e.g., as described below.
[0129] In some demonstrative embodiments, application 160 may be configured to identify in a depth map one or more first depth values captured via the lens and one or more second depth values not captured via the lens, and determine one or more parameters of the lens based on the first depth values and the second depth values, for example, as described below.
[0130] In some demonstrative implementations, application 160 may be configured to process image information of an image of a subject captured by a camera via a lens, for example, when the lens is located between the camera and the subject, for example, as described below.
[0131] In some demonstrative implementations, application 160 may be configured to determine the magnification value based on, for example, a magnification between an imaged size of the object and an actual size of the object, eg, as described below.
[0132] In some demonstrative implementations, application 160 may be configured to determine one or more parameters of a lens based on, for example, depth information and a magnification value, such as described below.
[0133] In some demonstrative implementations, application 160 may be configured to determine one or more parameters of a lens, for example based on one or more configuration parameters of depth sensor 118 that provides a depth map, for example, as described below.
[0134] In some demonstrative implementations, one or more configuration parameters may include a type of depth sensor 118 , eg, as described below.
[0135] In some demonstrative embodiments, one or more configuration parameters may include a wavelength of electromagnetic radiation employed by depth sensor 118 , for example, to generate a depth map, e.g., as described below.
[0136] For example, if the lens is made of an optical glass material, such as a bk7 material, the lens may have a first refractive index of, for example, 1.5185 for a first wavelength, such as a wavelength of 0.55 microns, and / or a second refractive index of, for example, 1.5108 for a second wavelength, such as a wavelength of 0.8 microns. According to this embodiment, a calculated adjustment may be applied based on the wavelength, for example, for a spherical plano-convex / concave lens of 100 mm radius, an adjustment of about 0.08 diopters may be applied.
[0137] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of a lens, for example based on predefined mapping information for mapping between a plurality of depth map measurements and a plurality of estimated optical parameters, for example, as described below.
[0138] In some demonstrative implementations, application 160 may be configured to determine one or more parameters of the lens by processing the depth information into depth information of structured light depth measurements, such as when depth mapper 118 includes a structured light sensor, eg, as described below.
[0139] In some demonstrative implementations, application 160 may be configured to determine one or more parameters of the lens, such as by processing the depth information into depth information of a ToF depth measurement, such as when depth mapper 118 includes a ToF sensor, for example, as described below.
[0140] In some demonstrative embodiments, application 160 may be configured to use depth information of a reference object captured via the lens, for example, to determine one or more parameters of the lens, eg, as described below.
[0141] In some demonstrative implementations, a lens may be placed between depth mapper 118 and a reference object, for example, to capture depth information of the reference object via the lens, for example, as described below.
[0142] In one example, depth information of a reference object captured via a lens may be different from depth information of a reference object captured not via a lens (eg, without a lens).
[0143] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of a lens, for example, based on a thin lens approximation equation, such as the following:
[0144]
[0145] In some demonstrative implementations, application 160 may be configured to determine one or more parameters of a lens based on, for example, depth information via the lens and a statistical model (eg, instead of or in addition to Equation 1), for example, as described below.
[0146] In some demonstrative embodiments, application 160 may be configured to use a dataset of lens power and depth data measurements, such as using data interpolation or any learning process to fit the dataset to an empirical model, and use the dataset to, for example, predict the lens power of a measured lens, such as as described below.
[0147] In some demonstrative embodiments, the accuracy of one or more estimated parameters of a lens may be based on, for example, the resolution of the depth map, which may be different for different systems and / or depth mappers.
[0148] In one example, using a synthesis including several different depth maps may improve the accuracy of one or more estimated parameters of a lens, for example, as described below.
[0149] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of a lens based on, for example, depth information of a reference object and depth information of the reference object via the lens, for example, as described below.
[0150] In some demonstrative embodiments, application 160 may be configured to trigger, control, and / or cause depth mapper 118 to capture a first depth map including depth information of a reference object without a lens; and to capture a second depth map including depth information of a reference object captured via the lens, e.g., as described below.
[0151] In some demonstrative implementations, application 160 may be configured to determine one or more parameters of the lens based on, for example, the first depth map and the second depth map, eg, as described below.
[0152] In some illustrative embodiments, application 160 may be configured to: determine, for example, based on the first depth information, a first estimated distance of a reference object when the reference object is captured without a lens; determine, for example, based on the second depth information, a second estimated distance of the reference object when captured via the lens; and determine, for example, based on the first and second estimated distances, one or more parameters of the lens, for example, as described below.
[0153] In some demonstrative implementations, application 160 may be configured to determine one or more parameters of a lens, for example, based on a plurality of depth maps corresponding to respective plurality of rotations of the lens ("lens rotations"), for example, as described below.
[0154] In some demonstrative embodiments, lens rotation of a lens may include a relative rotation and / or angle between the lens and depth mapper 118, for example, about at least one axis, for example, as described below.
[0155] In some illustrative embodiments, for example, lens rotation may include a relative rotation and / or angle relative to an axis of the lens, an axis of depth mapper 118, and / or at least one predefined axis, e.g., as described below.
[0156] In some demonstrative embodiments, application 160 may be configured to instruct a user of device 102, e.g., via GUI 116 or any other interface, to change the relative rotation between device 102 and the lens, e.g., according to multiple lens rotations of the lens, e.g., as described below.
[0157] In one example, a user of device 102 may be instructed to change the relative rotation of the lenses by rotating the lenses.
[0158] In another example, a user of device 102 may be instructed to change the relative rotation of the lenses by rotating device 102 .
[0159] In another example, a user of device 102 may be instructed to change the relative rotation of the lenses by rotating both the lenses and device 102 .
[0160] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of the lens, for example based on an image (e.g., a red, green, blue (RGB) image and / or any other type of image) of a reference object via the lens, in addition to depth information of the reference object via the lens, for example, as described below.
[0161] In some illustrative embodiments, application 160 may be configured to: trigger, control, and / or cause depth mapper 118 to capture a depth map without a lens, for example using camera 119 (e.g., when a lens is not between depth mapper 118 and a reference object), the depth map including depth information of a reference object and an image of the reference object; and capture a second image of the reference object via the lens, for example, as described below.
[0162] In one example, the camera 119 can be part of the depth mapper 118. In another example, the camera 119 and the depth mapper 118 can be implemented as separate elements of the device 102.
[0163] In some demonstrative implementations, application 160 may be configured to determine one or more parameters of the lens based on, for example, the depth map and the first image and the second image, for example, as described below.
[0164] In some demonstrative embodiments, a reference object may include one or more features having one or more corresponding dimensions, eg, as described below.
[0165] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of a lens based on, for example, a comparison between one or more first sizes of features in a first image and one or more second sizes of features in a second image, e.g., as described below.
[0166] In some demonstrative implementations, the lens may include a spherical lens, and application 160 may be configured to determine one or more parameters of the spherical lens, such as by determining the spherical power of the spherical lens, for example, as described below.
[0167] In some demonstrative implementations, application 160 may determine the spherical power of a spherical lens, for example based on a first depth map including depth information of a reference object and a second depth map including depth information of the reference object via the lens, for example, as described below.
[0168] refer to Figure 2 , which schematically illustrates measurement schemes 210 , 220 , and 230 , in accordance with some demonstrative embodiments.
[0169] In some demonstrative implementations, measurement protocols 210 , 220 , and 230 may be used to determine the spherical power of a spherical lens.
[0170] like Figure 2 As shown, the depth mapper 218 may include elements (represented as “Q1 and Q2”), such as an IR source and sensor in a dual camera, stereo camera, or structured light system, which may be used to capture a depth map including depth map information corresponding to a reference object 212, such as a wall, spaced a certain distance (represented as “D1”) from the depth mapper 218.
[0171] As shown in the measurement scheme 210 , for example, when there is no object between the reference object 212 and the depth mapper 218 , the depth mapper 218 may determine a depth distance (denoted as “ D3 ”) of a point (denoted as “p”) of the reference object 212 .
[0172] As shown in measurement scheme 220, placing lens 214 (e.g., a negative lens) between reference object 212 and depth mapper 218, for example, at a distance (denoted as “D2”) from depth mapper 218, can change the depth distance D3 of the captured point p. For example, the depth information of point p from depth mapper 218 via lens 214 can represent position 217.
[0173] As shown in the measurement scheme 230, placing the lens 216 (e.g., a positive lens) between the reference object 212 and the depth mapper 218, for example, at a distance D2 from the depth mapper 218, can change the depth distance D3 of the captured point p. For example, the depth information of the point p from the depth mapper 218 via the lens 216 can represent the position 219.
[0174] In one example, object 212 may be located at a distance D1 from depth mapper 218, and optical lens 214 and / or 216 may be placed between object 212 and depth mapper 218, such that, at distance D2, depth information (e.g., depth distance D3) received via lens 214 and / or 216 may be different from D1 and D2 and / or may depend on optical parameters of the lens being measured.
[0175] In one example, the relationship between the spherical power of an ophthalmic lens (denoted as P) and the distances D1, D2, D3 may be determined, for example, as follows:
[0176] |U|=D1-D2|V|=D3-D2(P (2)
[0177] For example, plugging these values into Equation 1 might result in:
[0178]
[0179] In one example, Equation 3 may be applicable to a diverging lens, such as a negative lens (such as optical lens 214 in measurement protocol 220). However, similar calculations may be performed for a converging lens, such as a positive lens (such as optical lens 216 in measurement protocol 230).
[0180] In some demonstrative embodiments, for example, in one or more scenarios and / or measurement schemes, distance D2 between lens 214 and depth mapper 218 may be substantially equal to 0, e.g., D2 = 0. For example, in one case, lens 214 may be placed near or above depth mapper 118 .
[0181] In some demonstrative implementations, depth mapper 218 may analyze and / or sense object 212 via lens 214 (eg, when distance D2 is zero).
[0182] In one example, both the first camera and the second camera of the depth mapper 218 can capture the object 212 via the lens 214 (eg, when the depth mapper 218 is implemented using two cameras).
[0183] In another example, for example, when the depth mapper 218 is implemented using a structured light projector, the structured light projector of the depth mapper 218 may project a structured object via the lens 214, and a depth sensor of the depth mapper 218 may sense the structured object via the lens 214. For example, a signal of the depth sensor of the depth mapper 218 may pass through the lens 214 and may be returned to an IR camera of the depth mapper 218 via the lens 214.
[0184] According to these embodiments, when the value of distance D2 is zero, 160 ( Figure 1 ) can be configured to determine one or more optical parameters of lens 214, for example according to Equation 3.
[0185] In some demonstrative implementations, a sensor of depth mapper 218 may not capture or sense object 212 via lens 214 .
[0186] In one example, a first camera of the depth mapper 218 may capture the object 212 via the lens 214 , while a second camera of the depth mapper 218 may not capture the object 212 via the lens 214 .
[0187] In another example, the structured light projector of the depth mapper 218 may project the structured object via the lens 214, while the depth sensor of the depth mapper 218 may not sense the structured object via the lens 214. For example, the signal of the depth mapper 218 may pass through the lens 214 and may return to the IR camera of the depth mapper 218, which may be outside the area of the lens 214.
[0188] According to these embodiments, application 160 ( Figure 1 ) can be configured to determine one or more optical parameters of lens 214, for example using one or more calculations, for example, as described below.
[0189] In some illustrative embodiments, for example, in one or more scenarios and / or measurement schemes, lens 214 can be placed near the user's face, such as when lens 214 is assembled in glasses and the user, for example, typically wears the glasses on their face.
[0190] In some demonstrative embodiments, application 160 ( Figure 1 ) may be configured to instruct the user to hold the device 102 ( Figure 1 ), and / or capturing an image of his face while the glasses are on his face, such as a “selfie”.
[0191] According to these embodiments, the distance D1 may be determined as the depth mapper 118 ( Figure 1) and the distance between the facial features of the face, and / or the distance D2 may be determined as a depth mapper 118 ( Figure 1 ) and the frame of the glasses.
[0192] In some demonstrative embodiments, application 160 ( Figure 1 ) can be configured to determine one or more optical parameters of the lens 214, for example, by instructing the user to capture a single image, for example, to determine the lens power of the lens; or by instructing the user to take two consecutive images (for example, a first image with glasses and a second image without glasses) and compare the first image and the second image.
[0193] refer to Figure 3 , which schematically illustrates measurement system 300 , in accordance with some demonstrative embodiments.
[0194] In some demonstrative embodiments, measurement system 300 may be implemented to determine one or more optical parameters of a lens.
[0195] like Figure 3 As shown, the measurement system 300 may include a depth mapper 318 (e.g., an IR source and sensor in a dual camera, stereo camera, or structured light system, a ToF depth mapper, and / or any other type of depth mapper (e.g., implemented by a mobile phone)), a lens to be measured 315, a reference object 312 (e.g., a wall), and an opaque object 317 (e.g., an opaque lens) that is spaced a distance D2 from the depth mapper 318 like the lens 315.
[0196] refer to Figure 4 , which schematically illustrates a first depth map 410 of a first spherical lens and a second depth map 420 of a second spherical lens, in accordance with some demonstrative embodiments.
[0197] In one example, the first spherical lens may include a negative lens (eg, -3 diopters) and / or the second spherical lens may include a positive lens (eg, +6 diopters).
[0198] For example, depth map 410 may be obtained using measurement system 300 ( Figure 3 ) captures, for example, when lens 315 ( Figure 3 ) includes a negative lens, and / or the depth map 420 can be measured using the measurement system 300 ( Figure 3 ) capture. For example, when lens 315 ( Figure 3 ) includes positive lenses.
[0199] like Figure 4 As shown, the reference object 312 ( Figure 3) may be different from the reference object 312 ( Figure 3 )'s depth information 423 (e.g., via a negative lens), for example, while the opaque object 317 ( Figure 3 ) and the depth information of the wall (e.g., not via the lens) are the same in depth map 410 and depth map 420.
[0200] refer to Figure 5 , which schematically illustrates a graph 500 depicting depth values versus steradian power, in accordance with some demonstrative embodiments.
[0201] In one example, the depth value may include an average value of a depth map inside a spherical lens relative to the spherical power (eg, diopter) of the lens.
[0202] like Figure 5 As shown, there may be a strong correlation between the spherical power of a lens and the depth values of the depth map of the lens.
[0203] Return to reference Figure 1 In some demonstrative embodiments, application 160 may be configured to determine one or more optical parameters of a bifocal lens, for example, as described below.
[0204] In some demonstrative embodiments, application 160 may be configured to determine the optical parameters of a bifocal lens using a method similar to that of a spherical lens. For example, a bifocal lens may be treated as two different spherical lenses.
[0205] In some demonstrative implementations, application 160 may be configured to determine one or more optical parameters of a multifocal lens, eg, as described below.
[0206] In some demonstrative embodiments, application 160 may be configured to determine one or more optical parameters of a multifocal lens, for example using a similar approach to a spherical lens.For example, analysis of progressive depth variations along an ophthalmic lens may be performed based on the resolution of the depth map.
[0207] In some demonstrative implementations, application 160 may be configured to process a depth map of a multifocal lens (e.g., captured by depth mapper 118), which may include a set of D2 distances. In one example, a point in the set of distances (e.g., each point in the set of distances) may sample the lens at a particular location (e.g., relative to a boundary of the lens). In one example, application 160 may be configured to determine a set of powers P corresponding to the set of distances D2. For example, the set of distances D2 may be associated with the set of powers P, which may create a topological power map of the design of the lens and / or the optical center of the lens.
[0208] In some demonstrative embodiments, application 160 may be configured to determine distance power and / or near power, such as distance and "addition", based on a topological power map, for example. In one example, a topological power map determines the design of a multifocal lens, for example, including the primary powers of the lens, such as sphere, cylinder, axis, addition, and / or a set of additional focal lengths (e.g., zones), and their locations in the field of view, which may specify a "channel" for the intermediate zone.
[0209] In some demonstrative embodiments, application 160 may be configured to determine optical parameters of bifocal and / or multifocal lenses, for example, based on methods for spherical lenses, e.g., as described above. For example, a bifocal lens may be represented by two different conventional lenses, and / or the measurement of a multifocal lens may rely on the resolution of depth mapper 118, e.g., to analyze gradual depth changes along a multifocal lens.
[0210] In some illustrative embodiments, the power in a bifocal and / or multifocal lens may not be fixed across the ophthalmic lens. Therefore, it is contemplated that the calculation of the optical parameters is local, such as opposed to a spherical lens or a cylindrical lens, where the power may be the same across the ophthalmic lens, for example, assuming the ophthalmic lens is uniform.
[0211] In some illustrative embodiments, the lens plane of a bifocal lens may be split into two planes, where calculations for the ophthalmic lens may be completed separately in each plane, similar to the case of a sphero-cylindrical uniform lens.
[0212] For example, in some illustrative embodiments, the lens plane of a bifocal lens may vary uniformly along the ophthalmic lens. Thus, the depth map of a multifocal lens may be expected to vary uniformly and / or continuously.
[0213] In some demonstrative embodiments, application 160 may determine the sphere power of a sphero-cylindrical lens, for example, based on the cylinder of the lens (e.g., prior knowledge about the cylinder). For example, for a bifocal lens, the cylinder may be the same for both zones; and / or for example, for a general multifocal lens, the cylinder may be the same along the transition zone between near vision and distance vision.
[0214] In some demonstrative embodiments, the depth map may include a first depth of a first area in the lens, and at least second depth information of at least a second area in the lens.
[0215] In some demonstrative embodiments, application 160 may be configured to determine optical parameters of a bifocal lens or a multifocal lens, for example, based on the first depth information and the second depth information, for example, as described below.
[0216] In some demonstrative embodiments, application 160 may be configured to determine a first optical parameter of a bifocal lens or a multifocal lens, for example based on the first depth information, and / or to determine a second optical parameter of a bifocal lens or a multifocal lens, for example based on the second depth information, for example, as described below.
[0217] In one example, calculation of the cylindrical axis and / or cylindrical power of a bifocal and / or multifocal lens may be based on the assumption that the cylinder may be the same for all regions of an ophthalmic lens (eg, for a bifocal or multifocal lens).
[0218] In another example, the depth map information may be applied to multiple lens portions of a multifocal lens, which may have different spherical and / or cylindrical properties. For example, the application 160 may be configured to process the depth map information from the depth mapper 118 to identify a specific portion of the lens corresponding to the specific portion of the lens, and determine the power and / or cylindrical value of the specific lens portion based on the specific portion of the depth map information corresponding to the specific portion of the lens. In one example, the application 160 may be configured to perform processing of the depth map information based on the specific portion in order to determine optical parameters of multiple portions of the lens (e.g., a "near" portion, a "middle" portion, a "far" portion, and / or any other portion of the multifocal lens).
[0219] In some demonstrative embodiments, application 160 may be configured to instruct a user of device 102 to perform one or more operations, and / or to trigger, control, and / or cause one or more elements of device 102 to perform one or more operations, for example, to assist application 160 in determining one or more optical parameters of a spherical lens, a bifocal lens, and / or a multifocal lens, for example, as described below.
[0220] refer to Figure 6 , which schematically illustrates a method of determining one or more optical parameters of a spherical lens according to some illustrative embodiments. For example, Figure 6 One or more operations of the method may be performed by a system (e.g., system 100 ( Figure 1 )), a mobile device (e.g., device 102 ( Figure 1 )), a server (e.g., server 170 ( Figure 1 )), and / or applications (e.g., application 160 ( Figure 1 ))implement.
[0221] In some demonstrative embodiments, as shown at block 602, the method may include processing at least one depth map and optional image information, for example, while instructing a user to position the lens and / or depth sensor 118 ( Figure 1 ) for positioning, for example, as described above.
[0222] In some illustrative embodiments, as shown in box 604, the method may include, for example, determining distances D1, D2 and / or D3 based on region segmentation in the depth map, for example using computer vision (e.g., classical or data-driven) and / or based on statistical techniques to be applied to the depth map, for example using mean, median, etc., for example, as described above.
[0223] In some demonstrative implementations, as shown at block 606 , the method may include determining a sphere power P of the lens, for example based on distances D1 , D2 , D3 , for example, according to Equation 3, for example, as described above.
[0224] Return to reference Figure 1 In some demonstrative embodiments, application 160 may be configured to determine the spherical power of a lens, for example, based on an object and background objects captured via the lens, for example, as described below.
[0225] In some demonstrative embodiments, background objects may include, for example, a wall, a table, the ground, etc.
[0226] In some demonstrative implementations, application 160 may be configured to instruct a user of device 102 to hold device 102 , including depth mapper 118 , in front of a background object (eg, a wall).
[0227] In one example, a featureless wall may be suitable for a structured light based system.
[0228] In another example, a plane including multiple features (eg, a checkerboard) or a display including a grid of features with a predefined frequency may be suitable for use in a multi-camera and / or stereo camera based system.
[0229] In some demonstrative embodiments, application 160 may be configured to instruct a user of device 102 to place the device a distance D1 (e.g., approximately 30 cm) or any other distance from a wall, for example with the assistance of depth mapper 118 and / or any other position and / or orientation sensor.
[0230] In some demonstrative embodiments, application 160 may be configured to segment regions of interest in the depth map, such as three regions or any other number of regions, for example using one or more computer vision techniques, such as to be used to determine distances D1 , D2 , and / or D3 .
[0231] In some illustrative embodiments, the three regions may include regions on the exterior of the lens, such as a wall on the exterior of the lens, an opaque edge of the lens, and an interior region of the lens.
[0232] In other embodiments, any other additional or alternative regions may be used.
[0233] In some demonstrative embodiments, distance D1 may be used to guide a user to position the depth mapper at a convenient distance D1 *, for example, based on accuracy criteria or any other criteria.
[0234] In one example, a specific value of distance D1*, such as a “sweet spot”, may be pre-calculated and / or pre-defined, such as based on a set of experiments, and may be set in application 160 , such as as a hard-coded value.
[0235] In another example, a specific value for distance D1* may be learned during a specific user process, for example, using computer vision techniques, such as to analyze objects and / or lens sizes in depth maps and / or captured RGB images.
[0236] In some demonstrative implementations, application 160 may be configured to instruct a user of device 102 to place a lens a distance D2 from depth mapper 118 , such as halfway between a wall and device 102 or at any other distance.
[0237] In some illustrative embodiments, distance D2 may be determined, for example, by assuming that the lens is halfway between the wall and device 102 , eg, D2 = 0.5×D1 = approximately 15 cm.
[0238] In one example, assuming D2 = 0.5 × D1 may result in a partial derivative of Eq. 1 (e.g., ) is proportional to the error.
[0239] In some demonstrative implementations, application 160 may be configured to instruct a user of device 102 to activate depth mapper 118 to capture a depth map via the lenses (eg, when the lenses are positioned between device 102 and a background object).
[0240] In some demonstrative implementations, application 160 may be configured to activate and / or cause depth mapper 118 to capture depth map information via the lenses (eg, when the lenses are positioned between device 102 and background objects).
[0241] In some demonstrative implementations, distance D2 may be determined, for example, by depth mapper 118 , for example, from an opaque edge of a lens, a frame of the glasses, and / or based on any other reference object.
[0242] In some demonstrative embodiments, the application 160 may be configured to determine the depth distance D3 from the depth map, for example, by an image processing segmentation method, for example, to determine an area corresponding to an ophthalmic lens in the depth map (e.g., within an opaque edge of an ophthalmic lens or within a frame of glasses).
[0243] In one example, for a bifocal or multifocal lens, the application 160 may be configured to determine the depth distance D3 twice, for example, once for the far zone of the lens and once for the near zone of the lens.
[0244] In some demonstrative implementations, application 160 may be configured to determine the sphere power P of the ophthalmic lens, for example, based on distances D1 , D2 , and D3 , for example, using Equations 1-3.
[0245] In some demonstrative embodiments, the sphere power P may be predicted from an empirical regression model, for example, using correlations between distances D1 , D2 , and D3 and the sphere power P that were pre-computed using, for example, a regression learning model.
[0246] In some demonstrative implementations, application 160 may be configured to determine the spherical power of a lens, for example, based on the detected object, for example, as described below.
[0247] In some demonstrative embodiments, the detected object may include, for example, a predefined shape on a display of a mobile phone, tablet computer, computer screen, etc., a coin, a finger, and / or any other object.
[0248] In one example, the detected objects may include objects that can be detected from input data modalities available to the system via general computer vision techniques, for example, via depth mapper 118 and / or based on any other images and / or information captured by depth mapper 118, camera 119, and / or any other sensor of device 102.
[0249] In some demonstrative implementations, application 160 may be configured to instruct a user of device 102 to hold device 102 , including depth mapper 118 , in front of a detected object (eg, a coin).
[0250] In some demonstrative implementations, application 160 may be configured to instruct a user of device 102 to place device 102 at a distance D1 * from a detected object that is best suited for measurement, for example, with the assistance of depth mapper 118 .
[0251] In one example, a specific value of distance D1* (eg, a “working distance”) may be pre-calculated and / or pre-defined, eg, based on a set of experiments, and may be set in application 160 , eg, as a hard-coded value.
[0252] In another example, a specific value of distance D1* may be learned during a specific user session, for example using computer vision techniques such as analyzing objects and / or lens sizes in depth maps and / or captured RGB images.
[0253] In some demonstrative implementations, application 160 may be configured to instruct a user of device 102 to keep the device in the same position, eg, to place the device stationary, eg, to ensure that distance D1 * does not change.
[0254] In some demonstrative implementations, application 160 may be configured to instruct a user of device 102 to place a lens a distance D2 from depth mapper 118 , such as halfway between an object and device 102 or at any other distance.
[0255] In some demonstrative embodiments, application 160 may be configured to determine depth distance D3 from a calibrated depth map, such as by image processing methods.
[0256] In some illustrative embodiments, distance D2 may be determined, for example, by assuming that the lens is midway between the detected object and device 102 , eg, D2 = 0.5× D1 = approximately 15 cm.
[0257] In one example, assuming D2 = 0.5×D1 may result in an error proportional to the partial derivative of Eq. 1.
[0258] In some demonstrative implementations, application 160 may be configured to instruct a user of device 102 to activate depth mapper 118 to capture depth map information via the lenses (eg, when the lenses are between device 102 and a detected object).
[0259] In some demonstrative implementations, application 160 may be configured to activate and / or cause depth mapper 118 to capture depth map information via the lenses (eg, when the lenses are positioned between device 102 and a detected object).
[0260] In some demonstrative implementations, distance D2 may be determined, for example, by depth mapper 118 , for example, from an opaque edge of a lens, a frame of the glasses, and / or based on any other reference object.
[0261] In some demonstrative implementations, application 160 may be configured to determine the sphere power P of the ophthalmic lens, for example, based on distances D1 , D2 , and / or D3 , for example, using Equations 1-3.
[0262] In some demonstrative embodiments, the sphere power P may be predicted from an empirical regression model, for example, using pre-computed correlations between distances D1 , D2 , and / or D3 and the sphere power P, for example, using a regression learning model.
[0263] In some demonstrative implementations, application 160 may be configured to determine the spherical power of a lens (eg, when a mirror is used), for example, based on a detected object in a mirrored image, for example, as described below.
[0264] In some demonstrative implementations, application 160 may be configured to instruct a user of device 102 to hold device 102 including depth mapper 118 in front of a mirror, for example.
[0265] In some demonstrative embodiments, the detectable object may include, for example, a display object that may be reflected by a mirror, such as a predefined shape on a display of device 102 .
[0266] In some demonstrative implementations, application 160 may be configured to instruct a user of device 102 to place the device at a distance D2 from the mirror, which may be suitable for measurement, for example, with the assistance of depth mapper 118 .
[0267] In some demonstrative implementations, application 160 may determine the spherical power of the lens, e.g., based on some or all of the operations described above, while using distance D2 and using the distance of the displayed object (e.g., reflected by the mirror) on the screen of device 102 as distance D1. For example, application 160 may determine the spherical power of the lens, e.g., according to Equation 3, while setting distance 1 to twice distance D2.
[0268] In some demonstrative embodiments, memory 194 may store mappings between spherical power P and distances D1, D2, and D3 that are pre-calculated, for example, based on empirical results. For example, application 160 may be configured to accumulate measurements between distances D1, D2, and D3 and spherical power P, and determine the pre-calculated mappings, for example, based on the accumulated measurements. For example, application 160 may access the pre-calculated mapping information in memory 194 to determine the spherical power P corresponding to the measured depth map captured via the lens.
[0269] In some demonstrative implementations, depth mapper 118 may include a structured light depth sensor, such as a structured light stereo camera sensor.
[0270] In some demonstrative implementations, application 160 may be configured to determine one or more parameters of a lens by processing depth information from depth mapper 118 into structured light depth measurements performed by a structured light depth sensor.
[0271] In some demonstrative implementations, a first component of depth mapper 118 may not "look" through the lens, while a second component of depth mapper 118 may "look" through the lens.
[0272] In some demonstrative implementations, such as when depth mapper 118 includes a structured light depth sensor, camera structured light depth mapper 118 may not "see" through a lens.
[0273] In one example, as distances D1 and D2 increase, the assumption that both cameras are "looking" through the lens may not be correct.
[0274] In one example, experiments have shown that at greater distances, the two components of the depth mapper 118 may not be able to view some field points through the lens under test, and increasing the distance further may cause this to happen for all field points.
[0275] In another example, at very large distances, no beam will be able to pass through the lens and return to the sensor.
[0276] refer to Figure 7 , which schematically illustrates a first depth map 710 of a lens and a second depth map 720 of the lens, according to some demonstrative embodiments.
[0277] In one example, depth maps 710 and 720 may be captured by a structured light depth sensor.
[0278] In some illustrative embodiments, Figure 7 As shown, the common area 702 may include a central area through which both portions of the depth sensor may be viewed.
[0279] In some demonstrative implementations, depth map 710 may be captured at a first distance D2, and depth map 720 may be captured at a second distance D2 that is greater than the first distance.
[0280] In some illustrative embodiments, Figure 7 As shown, the common area 702 may increase as the distance D2 decreases.
[0281] In some demonstrative embodiments, application 160 ( Figure 1 ) may be configured to indicate that the device 102 ( Figure 1 ) positions the lenses, device 102, and / or reference object at an appropriate distance, for example, to achieve a larger common area 702, for example, as described below.
[0282] In one example, the calculations for the area surrounding the common area 702 may be different, for example, because the introduction of the lens may scale and / or move the feature field on an object (eg, a wall).
[0283] refer to Figure 8 , which schematically illustrates a measurement scheme 800 , in accordance with some demonstrative embodiments.
[0284] In one example, the measurement scheme 800 may include a reference object (eg, a planar object), and a depth mapper 118 ( Figure 1) to capture a depth map through the lens under test. For example, the depth mapper may include: a structured light configuration (e.g., when the viewing camera is not "looking" through the lens under test); or a stereo camera configuration (e.g., when the viewing camera is not "looking" through the lens under test).
[0285] In one example, for example, in the depth mapper 118 ( Figure 1 ) and the plane object, the feature field on the reference object can be scaled, for example, as described below.
[0286] In one example, if Figure 8 As shown, one or more features may be provided, for example, by a depth mapper 118 ( Figure 1 ) is projected onto the projection plane via the lens under test and is captured by a camera (e.g., a depth mapper 118 ( Figure 1 ) is captured by a camera that does not "see" through the lens being tested.
[0287] In another example, one or more features may be provided by, for example, a stereo camera depth mapper 118 ( Figure 1 ) is captured by a first camera via the measured lens on the projection plane and by a second camera (e.g., a stereo camera depth mapper 118 ( Figure 1 ) is captured by a second camera that does not "see" through the lens being tested.
[0288] In some demonstrative embodiments, for a spherical lens, the location of a feature (e.g., each feature) may be determined, for example, as follows:
[0289]
[0290] In some illustrative embodiments, Figure 8 As shown, the introduction of a lens can affect the size and / or location of one or more features.
[0291] In some demonstrative embodiments, application 160 ( Figure 1 ) can determine the depth of a feature based on changes in the size of the feature in a depth map, for example, as described below.
[0292] In one example, the power of the lens (denoted as f L ) can be determined, for example, based on the depth of the feature, for example, because the depth of the feature may be independent of the feature size.
[0293] For example, suppose the depth (denoted as z f ) can be based on the size of the captured feature (denoted as sze f ), for example, as follows:
[0294] z f=k1*sze f +k2 (5)
[0295] In one example, as a feature is projected through the lens being measured, the size of the feature may change and / or may become direction dependent, and thus the lens depth (expressed as z) of the feature through the lens may be determined. f '), for example, as follows:
[0296] z f '=k1*sze f '+k2 (6)
[0297] Among them sze f ' can be the spherical focal length f L and direction function.
[0298] For example, several depth maps for several lens angles of an aspherical lens may be used, for example, to determine one or more optical parameters of a cylindrical lens.
[0299] In some illustrative embodiments, the lens under test may be placed near the depth mapper 118 ( Figure 1 ), for example, by placing the lens in the depth mapper 118 ( Figure 1 ) on, for example, to capture a depth map through the lens under test, for example, as described below.
[0300] In some illustrative embodiments, for example, when the lens under test is placed in close proximity to the depth mapper 118 ( Figure 1 ) position, the measured lens and the depth mapper 118 ( Figure 1 ) (eg, distance u1) may be set to zero (eg, u1=0).
[0301] In some illustrative embodiments, for example, when the value of u1 is set to zero, application 160 ( Figure 1 ) can determine the location of the feature, for example, based on Equation 4.
[0302] In some demonstrative embodiments, the depth of a feature may be determined, for example, based on a change in the position of the feature (eg, a feature offset), for example, as described below.
[0303] refer to Fig. 9 , which schematically illustrates a measurement scheme 900 , in accordance with some demonstrative embodiments.
[0304] In one example, the measurement scheme 900 may include a reference object (eg, a planar object) and a depth mapper 118 ( Figure 1) to capture a depth map through the lens under test. For example, the depth mapper may include a structured light configuration (e.g., when the viewing camera is not "looking" through the lens under test); or a stereo camera configuration (e.g., when the viewing camera is not "looking" through the lens under test).
[0305] In one example, for example, in the depth mapper 118 ( Figure 1 ) and the plane object, the lens under test can be introduced between the reference object and the plane object to scale the feature field throughout the reference object, for example, as described below.
[0306] In one example, if Fig. 9 As shown, one or more features may be provided, for example, by a depth mapper 118 ( Figure 1 ) is projected onto a projection plane via the lens under test and captured by a camera (e.g., a depth mapper 118 ( Figure 1 ) that does not "see" through the lens being tested.
[0307] In another example, one or more features may be provided by, for example, a stereo camera depth mapper 118 ( Figure 1 ) is captured by a first camera via the measured lens on the projection plane and by a second camera (e.g., a stereo camera depth mapper 118 ( Figure 1 ) is captured by a second camera that does not "see" through the lens being tested.
[0308] In some illustrative embodiments, Fig. 9 As shown, the introduction of a lens can affect the size and / or location of one or more features.
[0309] In some demonstrative embodiments, application 160 ( Figure 1 ) can determine the depth of a feature based on, for example, a change in the feature position (e.g., feature offset), for example, as described below.
[0310] In some demonstrative embodiments, the feature offset may be defined as the difference between the position of the feature with the lens and the position of the feature without the lens, for example, based on Equation 4, for example, as follows:
[0311] Feature shift = δx = x p_wall_with_lens -x p_wall_no_lens = =tan(x p / f)*(u2-(u1-f)*(u2 / f L -1))-xp*(u2 / f L -1)-tan(x p / f)*(u1+u2-f) (7)
[0312] In some illustrative embodiments, Figure 8As shown, feature shift may lead to parallax changes.
[0313] In some illustrative embodiments, for example, from depth sensor 118 ( Figure 1 The relationship between the reported depth and disparity of ) can be determined, for example, as follows:
[0314]
[0315] Wherein d1 represents the measured parallax of the pth feature when the lens under test is present, and d2 represents the measured parallax of the pth feature when the lens under test is not present.
[0316] In some demonstrative implementations, the following relationship may be determined, for example, according to Equation 8:
[0317] (d1-d2) / δx=f / z (9)
[0318] where δ x Indicates the degree of the lens.
[0319] Return to reference Figure 1 In some demonstrative embodiments, depth mapper 118 may include a ToF depth mapper.
[0320] In some demonstrative implementations, application 160 may be configured to determine one or more parameters of a lens by processing depth information, for example, from depth mapper 118 as depth information of a ToF depth measurement.
[0321] In one example, ToF depth mapping techniques may be based on the time of flight principle and / or based on parallax of points captured at or projected from different coordinates in the real world.
[0322] In some demonstrative embodiments, ToF depth measurements may include phase shifts / time delays, which may be converted to distance measurements, for example, under a free space assumption.
[0323] In some demonstrative embodiments, object points may be illuminated by a modulated light signal and imaged onto a sensor plane (eg, using ToF optics).
[0324] In some demonstrative embodiments, contributing light rays for a given pixel (eg, excluding stray light) may travel approximately the same optical distance, which may be an imaging condition.
[0325] In some illustrative embodiments, the introduction of the lens under test may cause the optical distance of the contributing rays to change, e.g., a different set of rays will leave the object point. In cases where the illumination path may also pass through the lens under test, e.g., the total path difference from a lens-free scene may have two contributing rays, and therefore, the depth reading may change.
[0326] In some demonstrative embodiments, application 160 may be configured to determine the power of the measured lens based on, for example, the amount of change in the ToF measurement and one or more configuration parameters of the ToF measurement.
[0327] In some illustrative embodiments, the lens under test may be, for example, spherical, spherocylinder / toric, or cylindrical, for example, because the lens deflects light beams / light rays according to its curvature, such as by refraction or reflection.
[0328] refer to Fig.10 , which schematically illustrates a measurement scheme 1000 , in accordance with some demonstrative embodiments.
[0329] In one example, the measurement scheme 1000 may include a reference object (eg, a planar object) and a depth mapper 118 ( Figure 1 ) to capture a depth map through the lens under test. For example, the depth mapper 118 ( Figure 1 ) may include a ToF depth mapper, for example, where light from an illumination source of the ToF depth mapper may not "pass through" the lens being tested.
[0330] In some illustrative embodiments, the lens under test may include two crossed cylindrical lenses, each cylindrical lens deflecting light according to the degree to which it crosses a principal meridian.
[0331] In one example, for example, in the depth mapper 118 ( Figure 1 ) and the planar object can change the path of one or more contributing rays of the ToF measurement.
[0332] In some illustrative embodiments, there may be a path difference (denoted as Δpath), for example, between the first path of the light (denoted as path NOLENS ) and the second path of light (denoted as path LENS ). For example, in the first path NOLENS It can be from the ToF component to the first pixel coordinate (expressed as H), without passing through the lens under test; when passing through the lens under test, the second path path LENS It can be from a ToF depth mapper to a second pixel coordinate (denoted as H').
[0333] In some demonstrative embodiments, application 160 may be configured to determine path difference Δpath, for example, as follows:
[0334] path NO_LENS =l0+l1+l3
[0335] path WITH_LENS =l0+l2+l4
[0336] l4=l0+l2
[0337]
[0338] l2=d2 / cos(α)
[0339] l1=d2 / cos(β)
[0340] Δpath=path WITH_LENS -path NO_LENS =l1+l4-l1-l3 (10)
[0341] In some illustrative embodiments, the path difference Δpath may be related to the power of the lens being measured, for example, because the depth sensor may measure a value that is directly related to the optical path.
[0342] refer to Fig.11 , which schematically illustrates a measurement scheme 1100 , in accordance with some demonstrative embodiments.
[0343] In one example, the measurement scheme 1100 may include a reference object (eg, a planar object) and a depth mapper 118 ( Figure 1 ) to capture a depth map through the lens under test. For example, the depth mapper may include, for example, a ToF depth mapper, wherein light from an illumination source of the ToF depth mapper may "pass through" the lens under test.
[0344] In some illustrative embodiments, the lens under test may include two crossed cylindrical lenses, each cylindrical lens deflecting light according to the degree to which it crosses a principal meridian.
[0345] In one example, for example, in the depth mapper 118 ( Figure 1 ) and the planar object can change the path of one or more contributing light rays from the illumination source.
[0346] In some illustrative embodiments, there may be a path difference (denoted as Δpath), for example, in the first path of the light (denoted as 11uminationPath WithoutLens ) and the second path of light (denoted as 11uminationPath WithLens). For example, the first path 11uminationPath WithoutLens It can be from the ToF depth mapper to the first pixel coordinate (denoted as H), without passing through the lens under test; when passing through the lens under test, the second path is illuminationPath WithLens It can be from a ToF depth mapper to a second pixel coordinate (denoted as H').
[0347] In some demonstrative embodiments, application 160 may be configured to determine path difference Δpath, for example, as follows:
[0348] IlluminationPath WithLens = l 31 +l 32
[0349] ImagingPath WithLens =l1+l0
[0350] IlluminationPath WithoutLens = l 41 +l 42
[0351] ImagingPath WithoutLens =l2+l0
[0352] Δpath=Δpath Illumination +Δpath Imaging (11)
[0353] In some demonstrative embodiments, the path difference Δpath may be related to the power of the lens being measured, for example, because the depth sensor may measure a value that is directly related to the difference in sensor depth readings.
[0354] In some demonstrative embodiments, in another configuration, light may be reflected from the front surface of the lens and may reach the depth sensor. The light may be processed in a manner similar to that described above, and the path difference may be determined in a similar manner.
[0355] Return to reference Figure 1 In some demonstrative embodiments, application 160 may be configured to determine the optical center of a lens, for example, as described below.
[0356] In some demonstrative implementations, application 160 may, for example, be configured to identify the optical center relative to a lens boundary of the lens. In one example, a frame of glasses including the lens may be used as a reference point for identifying the center of the lens. For example, application 160 may determine the displacement of the optical center from the reference point based on lateral distance information from depth mapper 118, for example.
[0357] In one example, the optical center is characterized by the fact that a beamlet passing through it may not be deflected. For example, no deflection may mean the same depth measurement. Thus, identifying the field associated with a particular point of the lens where the depth measurement through the lens is equal to the depth measurement without the lens can provide information about where the optical center is located.
[0358] In some demonstrative embodiments, application 160 may be configured to determine the optical center, for example, by identifying a location (e.g., relative to a reference point) of a depth measurement that is captured via the lens and, for example, has the same value as a depth value at the same location not captured via the lens.
[0359] In some demonstrative implementations, application 160 may be configured to determine a pupil distance (PD) of the glasses, for example, based on an optical center of a lens of the glasses, e.g., as described below.
[0360] In some demonstrative implementations, application 160 may be configured to identify the locations of the optical centers of two lenses of the glasses and determine the PD of the glasses based on the identified locations of the optical centers of the lenses of the glasses, eg, as described below.
[0361] In some demonstrative implementations, application 160 may be configured to determine the distance between the optical centers of the two lenses, for example, based on depth information from depth sensor 118. In one example, application 160 may be configured to utilize depth information from depth sensor 118 in the form of three-dimensional (3D) information, e.g., including information about the orientation and size of the glasses, which may be used to determine the relative positions of the two optical centers.
[0362] In some demonstrative embodiments, application 160 may be configured to utilize 3D information including the orientation and size of the glasses, for example, to refine depth values of depth information from depth mapper 118 , for example, for determining one or more parameters of the lenses.
[0363] In some demonstrative implementations, application 160 may be configured to determine the plane of the glasses, for example, based on depth information corresponding to the glasses.
[0364] In some demonstrative implementations, application 160 may be configured to determine the distance between the two optical centers based on any other additional or alternative information and / or procedures. In one example, application 160 may be configured to determine the distance between the two optical centers based on calibration and / or calculation (e.g., by comparing an image of an object of known scale to an image of the glasses (e.g., captured by camera 119 and / or any other camera)).
[0365] In some demonstrative embodiments, the lens under test may include a cylindrical lens, and application 160 may be configured to determine one or more optical parameters of the cylindrical lens, for example, as described below.
[0366] In one example, when the depth mapper 118 includes a structured light stereo camera, the deflection direction of the sub-beams refracted by the cylindrical lens may be important. For example, the lens power along the meridian in the direction of the camera or IR source sensor displacement vector as described may "disappear", for example, as described below.
[0367] According to this example, the measurement of the cylindrical lens may utilize, for example, several depth map images rotated at different angles, for example, as described below.
[0368] In another example, measurement of cylindrical lenses can utilize solutions for spherocylindrical lenses, for example, as described above.
[0369] In some demonstrative implementations, application 160 may be configured to determine one or more of the spherical power, the cylindrical power, and the cylindrical axis of a cylindrical lens, for example, some or all, for example, as described below.
[0370] In some demonstrative implementations, application 160 may be configured to determine one or more optical parameters of a cylindrical lens, for example, based on a plurality of depth maps corresponding to a plurality of lens angles of the lens, for example, as described below.
[0371] In some demonstrative embodiments, depth maps of the plurality of depth maps may correspond to lens rotations of the lens (eg, at different angles).
[0372] In some demonstrative embodiments, lens rotation may include a relative rotation between the lens and device 102 .
[0373] In one example, lens rotation of an ophthalmic lens may be performed, for example, by rotating the lens, for example, while holding the device 102 in a stationary position.
[0374] In another example, lens rotation of the lens may be performed, for example, by rotating the device 102, for example, while keeping the lens stationary. According to this example, the lens rotation may be determined, for example, based on an orientation sensor (eg, a gyroscope) of the device 102 and / or any other sensor.
[0375] In another example, lens rotation of the lens may be performed, for example, by rotating the lens and the device 102 simultaneously.
[0376] In one example, when the depth mapper 118 includes a stereo camera, a dual camera, etc., the direction of the light beam refracted by the lens can be based on the cylindrical power and the cylindrical axis of the cylindrical lens. For example, the cylindrical power of the lens along the meridian in the direction of the IR source sensor of the stereo camera or depth mapper 118 may "disappear", for example, as described below.
[0377] According to this example, multiple depth maps rotated at different angles can be used to, for example, correctly estimate the cylinder axis of a cylindrical lens.
[0378] In some demonstrative embodiments, application 160 may be configured to determine the cylindrical power and / or cylindrical axis of a lens, for example, based on pre-computed depth map information and / or any other method and / or algorithm.
[0379] In one example, a spherocylindrical lens can include a lens having primary aberrations, for example, as described by Zemick second order terms.
[0380] In some illustrative embodiments, application 160 may be configured to determine, for example, in a world reference system, the spherical power passing through two main lens meridians, and the axes of the two main lens meridians. For example, in eyeglass lenses, the measurement of the axes may be relative to the frame horizontal line, and the optical parameters may include a sphere, a cylinder, and an axis.
[0381] refer to Fig.12 , which schematically illustrates a first depth map 1210 of a cylindrical lens at a first angle, and a second depth map 1220 of a cylindrical lens rotated at a second angle, in accordance with some demonstrative embodiments.
[0382] In one example, for example, when the lens 315 ( Figure 3 ) includes a cylindrical lens, depth maps 1210 and 1220 can be measured using measurement system 300 ( Figure 3 ) capture.
[0383] In one example, the depth map 1210 may be captured while a cylindrical lens is rotated so that the cylindrical axis of the lens is vertical.
[0384] In one example, the depth map 1220 may be captured while a cylindrical lens is rotated so that the cylindrical axis of the lens is horizontal.
[0385] like Fig.12 As shown, for example, the depth information 1213 through the cylindrical lens when the cylindrical axis is vertical is different from the depth information 1223 through the cylindrical lens when the cylindrical axis is horizontal, for example, while the depth information in the depth map 1210 and / or 1220 is different for the opaque object 1217 (e.g., the object 317 ( Figure 3) and the wall) may be the same, for example, in areas not captured by the lens. For example, based on the depth information 1223, the lens may appear to "disappear".
[0386] Return to reference Figure 1 In some illustrative embodiments, application 160 may be configured to determine a complete prescription for a cylindrical lens, e.g., including the axes of the spherical, cylindrical, and / or cylindrical lens, e.g., by repeating the process for a cylindrical lens, while the lens or depth mapper 118 is rotated, e.g., in the plane of the lens, e.g., as described above. In one example, a stereoscopic depth map used for magnification calculations may have limitations that induce an axis system.
[0387] In some demonstrative implementations, application 160 may be configured to evaluate the power at the lens meridian and match the result to an ellipse that may define the sphere, cylinder, and / or axis of a cylindrical lens.
[0388] In one example, 5 different lens angles may be suitable to (eg, theoretically) accurately define an ellipse, for example, to obtain a complete prescription for a cylindrical lens.
[0389] In another example, more than 5 degrees of different lens angles may be used, for example, to improve the accuracy of the prescription.
[0390] In some demonstrative implementations, application 160 may be configured to determine a complete prescription for a cylindrical lens, for example, even if the lens is not rotated, for example, as described below.
[0391] In some demonstrative embodiments, device 102 may include multiple depth mappers 118 that are distinguished or obtained, for example, by spatial multiplexing using optically assisted partitioning of a single sensor.
[0392] In some demonstrative embodiments, multiple depth mappers 118 may provide depth information corresponding to multiple orientations or meridians of a lens, such that a captured depth map of a depth mapper may correspond to different lens effects, such as different angles / meridians.
[0393] In some demonstrative embodiments, application 160 may be configured to perform one or more calculations, for example, based on multiple meridian measurements, for example using a set of equations (each equation having an unknown parameter, such as a degree along a meridian), for example, to determine one or more parameters of a lens.
[0394] refer to Fig.13 , which schematically illustrates an ellipse 1300 of lens angles, according to some demonstrative embodiments.
[0395] like Fig.13As shown, five different lens angles may be adapted to accurately define ellipse 1300, for example, to obtain a full prescription for a cylindrical lens.
[0396] In some demonstrative embodiments, application 160 can be configured to determine a prescription for a cylindrical lens, such as a partial or full prescription, e.g., including the spherical, cylindrical, and / or cylindrical axis of the lens, e.g., by analyzing two or more meridians of the cylindrical lens, e.g., without even rotating the lens and / or device 102, e.g., as described below.
[0397] In one example, the light of the IR emitter of the depth mapper 118 can be split and projected at different angles, for example, into two or more meridians, for example, by a beam splitter and / or by different prisms, for example, to analyze two or more meridians simultaneously. According to this example, the application 160 can determine the entire prescription of the lens, for example, even without rotating the device 102 and / or the lens.
[0398] In some illustrative embodiments, for example, when a depth map is captured by depth mapper 118, the relative angle of the lens with respect to at least one predefined axis may affect one or more optical parameters of the lens, such as, for example, at least the nominal lens power of the lens, e.g., as described below.
[0399] In one example, the predetermined axis may include an axis perpendicular to an optical axis of the depth mapper 118. For example, the optical axis of the depth mapper 118 may include the axis according to and / or relative to which the depth mapper 118 provides a depth map.
[0400] In some illustrative implementations, the relative angles of the lenses may change, for example, when the orientation of device 102 and / or the orientation of the lenses is changed.
[0401] In some demonstrative implementations, application 160 may be configured to perform one or more operations and / or instruct a user to perform one or more operations, for example, to allow application 160 to account for the effects of the relative angles of the lenses, for example, as described below.
[0402] In some demonstrative embodiments, application 160 may be configured to instruct a user to tilt a lens or glasses including a lens to a plurality of lens tilts along a predefined axis, and to capture a plurality of depth maps at the plurality of lens tilts.
[0403] In some demonstrative implementations, application 160 may be configured to derive a nominal lens power for a lens, for example, based on information from a plurality of depth maps.
[0404] In some demonstrative implementations, application 160 may be configured to determine the relative angle of the lens and determine one or more optical parameters of the lens based on the relative angle of the lens when the depth map is captured, for example, as described below.
[0405] In some demonstrative implementations, application 160 may be configured to estimate the relative angle between the lens and the depth sensor axis, for example, when a depth map is captured, such as by occluding features of a frame holding the lens, e.g., as described below.
[0406] In one example, geometric information can be derived from a visible sensor (e.g., 400-700 nanometers (nm)) or any other wavelength sensor that can be used to estimate lens and / or eyeglass translation, e.g., change (from the perspective of the eyeglass), assuming symmetry of the eyeglass. For example, a right portion of the eyeglass can be larger than a left portion of the eyeglass, e.g., based on the relative angle of the lens and / or eyeglass with respect to a predetermined axis.
[0407] In another example, a depth map of occluded features can be used, for example, to estimate the frame angle compared to the depth sensor axis. For example, a set of several distance information pixels throughout the entire frame can be used, for example, to describe a complete frame direction.
[0408] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of a lens, for example based on a determined relative angle (denoted as θ) between the lens and a predefined axis when a depth map is captured by depth mapper 118, for example, as described below.
[0409] In some demonstrative embodiments, application 160 may determine a degree correction (denoted as F ) based on, for example, relative angle θ. NEWSPH ) to correct the estimated sphere (denoted as F SPH ), for example, as follows:
[0410]
[0411] In some demonstrative embodiments, application 160 may be configured to determine a cylindrical correction (denoted as C ) based on, for example, a relative angle θ and a degree correction. INDCYL ) to correct the estimated cylinder power, for example, as follows:
[0412] C INDCYL =F NEWSPH ·tan 2 θ (13)
[0413] In some demonstrative embodiments, application 160 may be configured to determine a refractive index (n) of a lens, for example, based on multiple images captured at multiple lens rotations (tilts), for example, as described below.
[0414] In some illustrative embodiments, application 160 can be configured to determine the refractive index of the lens by, for example, analyzing two or more images captured at different lens tilts (e.g., relative to an axis between a depth sensor and the lens); deriving at least two angles of the lens; and determining the refractive index based on, for example, a change in degrees perceived at each lens tilt of the lens and the angle at which the lens is tilted.
[0415] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of the lens under test, for example, based on an image (eg, an RGB image) of a reference object via the lens, in addition to depth information via the reference object via the lens.
[0416] In one example, for example, when a depth map is captured, the depth map can be combined with an RGB image of a reference object through the lens, for example, by applying an alignment between the depth map and the RGB image and using image processing techniques, for example, to analyze the size of the reference object through the lens and the depth map data.
[0417] In some demonstrative implementations, application 160 may be configured to determine, for example, the cylinder power and / or the cylinder axis of a cylindrical lens based on an RGB image and a depth map, for example, as described below.
[0418] In some demonstrative embodiments, the reference object may include a planar object having one or more features of different sizes, such as dispersed across the planar object.
[0419] In some demonstrative implementations, application 160 may be configured to determine the size and / or location of one or more features based on, for example, a depth map of a reference object.
[0420] In some demonstrative embodiments, application 160 can be configured to: process a first captured image that includes an image of one or more features not captured via the lens; process a second captured image that includes an image of one or more features captured via the lens; and determine one or more optical parameters of the lens, for example, based on a comparison between the size of the image of the one or more features through the lens, the size of the image of the one or more features not captured via the lens, and the size and position of the one or more features, for example, as described below.
[0421] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of a cylindrical lens, for example, using a depth mapper including a calibrated stereo camera (e.g., such that each camera of the depth mapper is calibrated) and a planar object. For example, focus of the camera on the planar object may not be required.
[0422] In some demonstrative implementations, application 160 may be configured to trigger, cause, and / or control depth mapper 118 to capture a first image of a planar object, for example, via at least one camera in depth mapper 118 , for example, when a cylindrical lens is not present.
[0423] In some demonstrative embodiments, application 160 may be configured to detect features in the first image and assign to each feature a metric attribute. For example, the position (x, y, z) of each feature, such as in a camera coordinate system, may be determined based on depth information and / or visual information.
[0424] In some demonstrative implementations, application 160 may be configured to instruct a user of device 102 to place the cylindrical lens a distance D2 from depth mapper 118 , eg, halfway between the wall and device 102 or any other distance.
[0425] In one example, distance D2 may be determined, for example, by assuming that the cylindrical lens is midway between the wall and device 102, or may be determined, for example, by depth mapper 118 from an opaque edge of the lens or glasses, for example, as described above.
[0426] In some demonstrative implementations, application 160 may be configured to instruct a user of device 102 to activate depth mapper 118 to capture depth map information via the lenses, for example, when the lenses are located between device 102 and a background object.
[0427] In some demonstrative implementations, application 160 may be configured to activate and / or cause depth mapper 118 to capture depth map information via the lens, for example, when the lens is located between device 102 and a background object.
[0428] In some demonstrative implementations, application 160 may be configured to trigger, cause and / or control depth mapper 118 to capture a second image of the feature, for example, via a cylindrical lens, with at least one camera of depth mapper 118 .
[0429] In some demonstrative implementations, application 160 may be configured to detect features and / or map features to the first image.
[0430] In some demonstrative implementations, application 160 may be configured to determine a transformation function or matrix from a first image (eg, an original no-lens feature map) to a second image (eg, a “through-lens” feature map).
[0431] In one example, for a degenerate spherical lens, the transformation may include a translation and a scale, where the scale parameter is used to calculate the sphere.
[0432] In another example, for a sphero-cylindrical lens, the transformation may include translation, rotation, and / or scaling operations.
[0433] In some demonstrative embodiments, application 160 may be configured to isolate scaling in the rotation axis and the transformation direction, for example, to determine one or more optical parameters, for example, by decomposing the transformation matrix into translation, rotation, and / or scaling matrices. For example, scaling and rotation parameters used to determine one or more optical parameters may be defined and / or determined using any suitable method.
[0434] refer to Fig.14 , which schematically illustrates a method of determining one or more parameters of a lens according to some illustrative embodiments. For example, Fig.14 One or more operations of the method may be performed by a system (e.g., system 100 ( Figure 1 )), devices (e.g., device 102 ( Figure 1 )), a server (e.g., server 170 ( Figure 1 )), and / or applications (e.g., application 160 ( Figure 1 ))implement.
[0435] In some demonstrative embodiments, as shown in block 1402, the method may include processing at least one depth map that includes depth information captured via the lens. For example, application 160 ( Figure 1 ) can process the data from the depth mapper 118 ( Figure 1 ) of at least one depth map comprising depth information captured via the lens, for example, as described above.
[0436] In some illustrative embodiments, as shown in block 1404, the method may include determining one or more parameters of the lens based on the depth information. For example, application 160 ( Figure 1 ) can be based on the information from the depth mapper 118 ( Figure 1 ) to determine one or more parameters of the lens, for example, as described above.
[0437] refer to Fig.15, which schematically illustrates an article of manufacture 1500 according to some demonstrative embodiments. Article 1500 may include one or more tangible computer-readable non-transitory storage media 1502, which may include computer-executable instructions implemented, for example, by logic 1504, which, when executed by at least one computer processor, may be operable to enable at least one computer processor to perform a process in device 102 ( Figure 1 )、Server 170( Figure 1 )、depth mapper 118( Figure 1 ) and / or application 160( Figure 1 ) to implement one or more operations, and / or according to one or more Figure 1-14 Execute, trigger and / or implement one or more operations, communications and / or functions, and / or one or more operations described herein. The phrase "non-transitory machine-readable medium" is intended to include all computer-readable media with the sole exception of transitory propagating signals.
[0438] In some demonstrative embodiments, product 1500 and / or machine-readable storage medium 1502 may include one or more types of computer-readable storage media capable of storing data, including volatile memory, non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, writable or rewritable memory, etc. For example, machine-readable storage medium 1502 may include RAM, DRAM, double data rate DRAM (DDR-DRAM), SDRAM, static RAM (SRAM), ROM, programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), compact disk ROM (CD-ROM), recordable compact disk (CD-R), rewritable compact disk (CD-RW), flash memory (e.g., NOR or NAND flash memory), content addressable memory (CAM), polymer memory, phase change memory, ferroelectric memory, silicon oxide-nitride-oxide-silicon (SONOS) memory, magnetic disk, solid state drive (SSD), floppy disk, hard disk drive, optical disk, magneto-optical disk, card, magnetic card, optical card, magnetic tape, cassette, etc. Computer-readable storage media may include any suitable media involved in downloading or transferring a computer program from a remote computer to a requesting computer via a communications link (e.g., a modem), radio, or a network connection, the computer program being carried by a data signal embodied in a carrier wave or other propagation medium.
[0439] In some illustrative embodiments, logic 1504 may include instructions, data, and / or code, which, if executed by a machine, may cause the machine to perform methods, processes, and / or operations as described herein. The machine may include, for example, any suitable processing platform, computing platform, computing device, processing device, computing system, processing system, computer, processor, etc., and may be implemented using any suitable combination of hardware, software, firmware, etc.
[0440] In some illustrative embodiments, logic 1504 may include or may be implemented as: software, software modules, applications, programs, subroutines, instructions, instruction sets, computing codes, words, values, symbols, etc. Instructions may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, etc. Instructions may be implemented according to a predefined computer language, manner, or syntax for instructing a processor to perform a specific function. Instructions may be implemented using any suitable high-level, low-level, object-oriented, visual, compiled, and / or interpreted programming language, such as C, C++, Java, BASIC, Matlab, Pascal, Visual BASIC, assembly language, machine code, etc.
[0441] Example
[0442] The following examples relate to further embodiments.
[0443] Example 1 includes a product comprising one or more tangible computer-readable non-transitory storage media, the tangible computer-readable non-transitory storage media including computer-executable instructions that are operable to enable the at least one computer processor to cause a computing device to: process at least one depth map, the at least one depth map including depth information captured via a lens; and determine one or more parameters of the lens based on the depth information.
[0444] Example 2 includes the subject matter of Example 1, and optionally, wherein the instructions, when executed, cause the computing device to identify a depth value corresponding to the object in the depth map, and determine one or more parameters of the lens based on the depth value corresponding to the object, a first distance, and a second distance, wherein the first distance is between the object and the depth sensor, and the second distance is between the depth sensor and the lens.
[0445] Example 3 includes the subject matter of Example 2, and optionally, wherein the instructions, when executed, cause the computing device to identify depth information in the depth map that is not captured via the lens, and determine at least one of the first distance or the second distance based on the depth information that is not captured via the lens.
[0446] Embodiment 4 includes the subject matter of embodiment 2 or 3, and optionally, wherein the instructions, when executed, cause the computing device to identify an area in the depth map corresponding to an element in the plane of the lens, and determine a second distance based on depth information of the area corresponding to the element.
[0447] Example 5 includes the subject matter of Example 4, and optionally, wherein the element comprises an opaque edge of a lens, or a frame securing the lens.
[0448] Example 6 includes the subject matter of any of Examples 2-5, and optionally, wherein the instructions, when executed, cause the computing device to identify an area in the depth map corresponding to a plane including the object, and determine a second distance based on depth information in the area corresponding to the plane including the element.
[0449] Example 7 includes the subject matter of any of Examples 2-6, and optionally, wherein the object comprises a wall.
[0450] Example 8 includes the subject matter of any of Examples 2-7, and optionally, wherein the instructions, when executed, cause the computing device to instruct a user to move at least one of the depth sensor or the lens until a specific setting of at least one of the first distance or the second distance is reached.
[0451] Example 9 includes the subject matter of any of Examples 2-8, and optionally, wherein the instructions, when executed, cause the computing device to instruct a user to position the lens on the mirror so that the first distance comprises an optical distance that is twice the distance between the depth sensor and the mirror.
[0452] Example 10 includes the subject matter of any of Examples 2-9, and optionally, wherein the instructions, when executed, cause the computing device to instruct a user to position the lens relative to the depth sensor such that the second distance is half the first distance.
[0453] Example 11 includes the subject matter of any of Examples 1-10, and optionally, wherein the instructions, when executed, cause the computing device to instruct a user to position the lens between the depth sensor and the object so that the depth information includes depth information of the object captured by the depth sensor via the lens.
[0454] Example 12 includes the subject matter of any of Examples 1-11, and optionally, wherein the instructions, when executed, cause the computing device to identify an area corresponding to the lens in the depth map, and determine one or more parameters of the lens based on a size of the area corresponding to the lens.
[0455] Example 13 includes the subject matter of any of Examples 1-12, and optionally, wherein the instructions, when executed, cause the computing device to determine one or more parameters of the lens based on a plurality of different depth maps captured via the lens.
[0456] Example 14 includes the subject matter of Example 13, and optionally, wherein the plurality of different depth maps includes at least a first depth map and a second depth map, the first depth map being captured via the lens when the lens is in a first position relative to the depth sensor, and the second depth map being captured via the lens when the lens is in a second position relative to the depth sensor that is different from the first position.
[0457] Example 15 includes the subject matter of Example 13 or 14, and optionally, wherein the mappings of the multiple different depths include at least one first depth map and a second depth map, the first depth map comprising a depth map captured via the lens when the lens is at a first rotational angle in the plane of the lens, and the second depth map comprising a depth map captured via the lens when the lens is at a second rotational angle in the plane of the lens.
[0458] Example 16 includes the subject matter of Example 15, and optionally, wherein the instructions, when executed, cause the computing device to determine at least one of a cylindrical power of the lens or a cylindrical axis of the lens based on the first depth map and the second depth map.
[0459] Example 17 includes the subject matter of any of Examples 1-12, and optionally, wherein the instructions, when executed, cause the computing device to determine one or more parameters of the lens based on a single depth map captured via the lens.
[0460] Example 18 includes the subject matter of any of Examples 1-17, and optionally, wherein the instructions, when executed, cause the computing device to identify one or more depth values captured via the lens in a depth map and determine one or more parameters of the lens based on the one or more depth values captured via the lens.
[0461] Example 19 includes the subject matter of any of Examples 1-18, and optionally, wherein the instructions, when executed, cause the computing device to identify in a depth map one or more first depth values captured via the lens and one or more second depth values not captured via the lens, and determine one or more parameters of the lens based on the first depth values and the second depth values.
[0462] Example 20 includes the subject matter of any of Examples 1-19, and optionally, wherein the instructions, when executed, cause a computing device to process image information of an image of an object captured by a camera via the lens when the lens is between the camera and the object, to determine a magnification value based on a magnification factor between an imaged size of the object and an actual size of the object, and to determine one or more parameters of the lens based on the depth information and the magnification value.
[0463] Example 21 includes the subject matter of any of Examples 1-20, and optionally, wherein the instructions, when executed, cause the computing device to determine one or more parameters of the lens based on one or more configuration parameters of a depth sensor that provides the depth map.
[0464] Example 22 includes the subject matter of Example 21, and optionally, wherein the one or more configuration parameters include a type of the depth sensor.
[0465] Example 23 includes the subject matter of Example 21 or 22, and optionally, wherein the one or more configuration parameters include a wavelength of electromagnetic radiation utilized by the depth sensor to generate the depth map.
[0466] Example 24 includes the subject matter of any of Examples 1-23, and optionally, wherein the instructions, when executed, cause the computing device to determine one or more parameters of the lens by processing the depth information into structured light depth measured depth information.
[0467] Example 25 includes the subject matter of any of Examples 1-23, and optionally, wherein the instructions, when executed, cause the computing device to determine one or more parameters of the lens by processing the depth information into time-of-flight (ToF) depth information.
[0468] Example 26 includes the subject matter of any of Examples 1-25, and optionally, wherein the instructions, when executed, cause the computing device to determine one or more parameters of the lens based on predefined mapping information for mapping between a plurality of depth map measurements and a plurality of estimated optical parameters.
[0469] Example 27 includes the subject matter of any of Examples 1-26, and optionally, wherein the instructions, when executed, cause the computing device to determine one or more optical parameters for the spherocylindrical lens.
[0470] Example 28 includes the subject matter of any of Examples 1-26, and optionally, wherein the instructions, when executed, cause a computing device to determine one or more optical parameters for a bifocal lens or a multifocal lens.
[0471] Example 29 includes the subject matter of any of Examples 1-28, and optionally, wherein the one or more parameters of the lens include a spherical power of the lens, a cylindrical power of the lens, a cylindrical axis of the lens, a sign of the lens, or a center of the lens.
[0472] Example 30 includes a device comprising: a depth sensor to generate a depth map containing depth information captured via a lens; and a lensometer module to determine one or more parameters of the lens based at least on the depth map.
[0473] Example 31 includes the subject matter of Example 30, and optionally, wherein the lens meter module is used to identify a depth value corresponding to the object in the depth map, and determine one or more parameters of the lens based on the depth value corresponding to the object, a first distance, and a second distance, wherein the first distance is between the object and the depth sensor, and the second distance is between the depth sensor and the lens.
[0474] Example 32 includes the subject matter of Example 31, and optionally, wherein the lensmeter module is to identify depth information in the depth map that is not captured via the lens, and determine at least one of the first distance or the second distance based on the depth information that is not captured via the lens.
[0475] Example 33 includes the subject matter of Example 31 or 32, and optionally, wherein the lens meter module is used to identify an area in the depth map corresponding to an element on the lens plane, and determine the second distance based on the depth information in the area corresponding to the element.
[0476] Example 34 includes the subject matter of Example 33 and optionally, wherein the element comprises an opaque edge of a lens or a frame holding a lens.
[0477] Example 35 includes the subject matter of any of Examples 31-34, and optionally, wherein the lens meter module is used to identify an area in the depth map corresponding to a plane including the object, and determine the second distance based on depth information in the area corresponding to the plane including the element.
[0478] Example 36 includes the subject matter of any of Examples 31-35, and optionally, wherein the object comprises a wall.
[0479] Example 37 includes the subject matter of any of Examples 31-36, and optionally, wherein the lens meter module is used to instruct the user to move at least one of the depth sensor or the lens until a specific setting of at least one of the first distance or the second distance is reached.
[0480] Example 38 includes the subject matter of any of Examples 31-37, and optionally, wherein the lensmeter module is used to instruct the user to position the lens on the mirror so that the first distance comprises an optical distance that is twice the distance between the depth sensor and the mirror.
[0481] Example 39 includes the subject matter of any of Examples 31-38, and optionally, wherein the lens meter module is used to instruct the user to position the lens relative to the depth sensor so that the second distance is half the first distance.
[0482] Example 40 includes the subject matter of any of Examples 30-39, and optionally, wherein the lensmeter module is used to instruct a user to position the lens between the depth sensor and the object so that the depth information includes depth information of the object captured by the depth sensor via the lens.
[0483] Example 41 includes the subject matter of any of Examples 30-40, and optionally, wherein the lens meter module is used to identify an area corresponding to the lens in the depth map and determine one or more parameters of the lens based on a size of the area corresponding to the lens.
[0484] Example 42 includes the subject matter of any of Examples 30-41, and optionally, wherein the lensometer module is used to determine one or more parameters of the lens based on a plurality of different depth maps captured via the lens.
[0485] Example 43 includes the subject matter of Example 42, and optionally, wherein the plurality of different depth maps includes at least a first depth map and a second depth map, the first depth map being captured via the lens when the lens is in a first position relative to the depth sensor, and the second depth map being captured via the lens when the lens is in a second position relative to the depth sensor that is different from the first position.
[0486] Example 44 includes the subject matter of Example 42 or 43, and optionally, wherein the plurality of different depth maps includes at least a first depth map and a second depth map, the first depth map comprising a depth map captured via the lens when the lens is at a first rotational angle in the plane of the lens, and the second depth map comprising a depth map captured via the lens when the lens is at a second rotational angle in the plane of the lens.
[0487] Example 45 includes the subject matter of Example 44, and optionally, wherein the lensmeter module is used to determine at least one of a cylindrical axis of the lens or a cylindrical power of the lens based on the first depth map and the second depth map.
[0488] Example 46 includes the subject matter of any of Examples 30-41, and optionally, wherein the lensometer module is used to determine one or more parameters of the lens based on a single depth map captured via the lens.
[0489] Example 47 includes the subject matter of any of Examples 30-46, and optionally, wherein the lensometer module is to identify one or more depth values captured via the lens in the depth map and determine one or more parameters of the lens based on the one or more depth values captured via the lens.
[0490] Example 48 includes the subject matter of any of Examples 30-47, and optionally, wherein the lens meter module is used to identify one or more first depth values captured via the lens and one or more second depth values not captured via the lens in the depth map, and determine one or more parameters of the lens based on the first depth values and the second depth values.
[0491] Example 49 includes the subject matter of any of Examples 30-48, and optionally, wherein the lens meter module is used to process image information of an image of an object captured by the camera through the lens when the lens is located between the camera and the object, to determine a magnification value based on a magnification ratio between an imaged size of the object and an actual size of the object, and to determine one or more parameters of the lens based on the depth information and the magnification value.
[0492] Example 50 includes the subject matter of any of Examples 30-49, and optionally, wherein the lens meter module is to determine one or more parameters of the lens based on one or more configuration parameters of the depth sensor that provides the depth map.
[0493] Example 51 includes the subject matter of Example 50, and optionally, wherein the one or more configuration parameters include a type of depth sensor.
[0494] Example 52 includes the subject matter of Example 50 or 51, and optionally, wherein the one or more configuration parameters include a wavelength of electromagnetic radiation employed by the depth sensor to generate the depth map.
[0495] Example 53 includes the subject matter of any of Examples 30-52, and optionally, wherein the lens meter module is to determine one or more parameters of the lens by processing the depth information into depth information of a structured light depth measurement.
[0496] Example 54 includes the subject matter of any of Examples 30-52, and optionally, wherein the lens meter module is to determine one or more parameters of the lens by processing the depth information into time-of-flight (ToF) depth measurement depth information.
[0497] Example 55 includes the subject matter of any of Examples 30-54, and optionally, wherein the lens meter module is used to determine one or more parameters of the lens based on predefined mapping information for mapping between multiple depth map measurements and multiple estimated optical parameters.
[0498] Example 56 includes the subject matter of any of Examples 30-55, and optionally, wherein the lensometer module is used to determine one or more optical parameters of the spherocylindrical lens.
[0499] Example 57 includes the subject matter of any of Examples 30-55, and optionally, wherein the lensometer module is used to determine one or more optical parameters of a bifocal lens or a multifocal lens.
[0500] Example 58 includes the subject matter of any of Examples 30-57, and optionally, wherein the one or more parameters of the lens include a spherical power of the lens, a cylindrical power of the lens, a cylindrical axis of the lens, a logo of the lens, or a center of the lens.
[0501] Embodiment 59 includes a method for determining one or more optical parameters of a lens, the method comprising: processing at least one depth map, the depth map comprising depth information captured via the lens; and determining one or more parameters of the lens based at least on the depth map.
[0502] Example 60 includes the subject matter of Example 59, and optionally, includes identifying a depth value corresponding to the object in the depth map, and determining one or more parameters of the lens based on the depth value corresponding to the object, a first distance, and a second distance, wherein the first distance is between the object and the depth sensor, and the second distance is between the depth sensor and the lens.
[0503] Example 61 includes the subject matter of Example 60, and optionally, comprising identifying depth information not captured by the lens in the depth map, and determining at least one of the first distance or the second distance based on the depth information not captured by the lens.
[0504] Example 62 includes the subject matter of Example 60 or 61, and optionally, includes identifying an area in the depth map corresponding to an element on the lens plane, and determining the second distance based on depth information in the area corresponding to the element.
[0505] Example 63 includes the subject matter of Example 62, and optionally, wherein the element comprises an opaque edge of a lens or a frame holding a lens.
[0506] Example 64 includes the subject matter of any of Examples 60-63, and optionally, comprising identifying in the depth map an area corresponding to a plane including the object, and determining the second distance based on depth information in the area corresponding to the plane including the element.
[0507] Example 65 includes the subject matter of any of Examples 60-64, and optionally, wherein the object comprises a wall.
[0508] Example 66 includes the subject matter of any of Examples 60-65, and optionally, includes instructing the user to move at least one of the depth sensor or the lens until a specific setting of at least one of the first distance or the second distance is reached.
[0509] Example 67 includes the subject matter of any of Examples 60-66, and optionally, includes instructing the user to position the lens on the mirror so that the first distance comprises an optical distance that is twice the distance between the depth sensor and the mirror.
[0510] Example 68 includes the subject matter of any of Examples 60-67, and optionally, comprising instructing the user to position the lens relative to the depth sensor so that the second distance is half the first distance.
[0511] Example 69 includes the subject matter of any of Examples 59-68, and optionally, comprising instructing the user to position the lens between the depth sensor and the object so that the depth information includes depth information of the object captured by the depth sensor via the lens.
[0512] Example 70 includes the subject matter of any of Examples 59-69, and optionally, comprising identifying an area in the depth map corresponding to the lens, and determining one or more parameters of the lens based on a size of the area corresponding to the lens.
[0513] Example 71 includes the subject matter of any of Examples 59-70, and optionally, includes determining one or more parameters of the lens based on a plurality of different depth maps captured via the lens.
[0514] Example 72 includes the subject matter of Example 71, and optionally, wherein the plurality of different depth maps includes at least a first depth map and a second depth map, the first depth map being captured via the lens when the lens is in a first position relative to the depth sensor, and the second depth map being captured via the lens when the lens is in a second position relative to the depth sensor that is different from the first position.
[0515] Example 73 includes the subject matter of Example 71 or 72, and optionally, wherein the plurality of different depth maps includes at least a first depth map and a second depth map, the first depth map comprising a depth map captured via the lens when the lens is at a first rotational angle in the plane of the lens, and the second depth map comprising a depth map captured via the lens when the lens is at a second rotational angle in the plane of the lens.
[0516] Example 74 includes the subject matter of Example 73, and optionally, comprises determining at least one of a cylindrical axis of the lens or a cylindrical power of the lens based on the first depth map and the second depth map.
[0517] Example 75 includes the subject matter of any of Examples 59-70, and optionally, includes determining one or more parameters of the lens based on a single depth map captured via the lens.
[0518] Example 76 includes the subject matter of any of Examples 59-75, and optionally, includes identifying one or more depth values captured via the lens in the depth map, and determining one or more parameters of the lens based on the one or more depth values captured via the lens.
[0519] Example 77 includes the subject matter of any of Examples 59-76, and optionally, includes identifying in the depth map one or more first depth values captured via the lens, and one or more second depth values not captured via the lens, and determining one or more parameters of the lens based on the first depth values and the second depth values.
[0520] Example 78 includes the subject matter of any of Examples 59-77, and optionally, includes processing image information of an image of an object captured by a camera via a lens when the lens is located between the camera and the object, determining a magnification value based on a magnification ratio between an imaged size of the object and an actual size of the object, and determining one or more parameters of the lens based on the depth information and the magnification value.
[0521] Example 79 includes the subject matter of any of Examples 59-78, and optionally, includes determining one or more parameters of the lens based on one or more configuration parameters of a depth sensor that provides the depth map.
[0522] Example 80 includes the subject matter of Example 79, and optionally, wherein the one or more configuration parameters include a type of the depth sensor.
[0523] Example 81 includes the subject matter of Example 79 or 80, and optionally, wherein the one or more configuration parameters include a wavelength of electromagnetic radiation employed by the depth sensor to generate the depth map.
[0524] Example 82 includes the subject matter of any of Examples 59-81, and optionally, includes determining one or more parameters of the lens by processing the depth information into structured light depth measurement depth information.
[0525] Example 83 includes the subject matter of any of Examples 59 to 81, and optionally, includes determining one or more parameters of the lens by processing the depth information into depth information of a time-of-flight (ToF) depth measurement.
[0526] Example 84 includes the subject matter of any of Examples 59-83, and optionally, comprising determining one or more parameters of the lens based on predefined mapping information for mapping between a plurality of depth map measurements and a plurality of estimated optical parameters.
[0527] Example 85 includes the subject matter of any of Examples 59-84, and optionally, includes determining one or more optical parameters of the spherocylindrical lens.
[0528] Example 86 includes the subject matter of any of Examples 59-84, and optionally includes determining one or more optical parameters of a bifocal lens or a multifocal lens.
[0529] Example 87 includes the subject matter of any of Examples 59-86, and optionally, wherein the one or more parameters of the lens include a spherical power of the lens, a cylindrical power of the lens, a cylindrical axis of the lens, a sign of the lens, or a center of the lens.
[0530] Example 88 includes a device for determining one or more optical parameters of a lens, the device comprising: a device for processing at least one depth map, the depth map comprising depth information captured via the lens; and a device for determining one or more parameters of the lens based at least on the depth map.
[0531] Example 89 includes the subject matter of Example 88, and optionally, includes a device for identifying a depth value corresponding to an object in a depth map and determining one or more parameters of the lens based on the depth value corresponding to the object, a first distance, and a second distance, wherein the first distance is the distance between the object and the depth sensor, and the second distance is the distance between the depth sensor and the lens.
[0532] Example 90 includes the subject matter of Example 89, and optionally, comprising means for identifying depth information in the depth map that is not captured via the lens and determining at least one of the first distance or the second distance based on the depth information that is not captured via the lens.
[0533] Example 91 includes the subject matter of Example 89 or 90, and optionally, includes means for identifying, in the depth map, an area corresponding to an element on the lens plane and determining a second distance based on depth information in the area corresponding to the element.
[0534] Example 92 includes the subject matter of Example 91, and optionally, wherein the element comprises an opaque edge of a lens or a frame holding a lens.
[0535] Example 93 includes the subject matter of any of Examples 89-92, and optionally, includes means for identifying, in the depth map, an area corresponding to a plane including the object and determining a second distance based on depth information in the area corresponding to the plane including the element.
[0536] Example 94 includes the subject matter of any of Examples 89-93, and optionally, wherein the object comprises a wall.
[0537] Example 95 includes the subject matter of any of Examples 89-94, and optionally, includes means for instructing a user to move at least one of the depth sensor or the lens until a particular setting of at least one of the first distance or the second distance is reached.
[0538] Example 96 includes the subject matter of any of Examples 89-95, and optionally, includes means for instructing a user to position the lens on the reflector so that the first distance comprises an optical distance that is twice the distance between the depth sensor and the reflector.
[0539] Example 97 includes the subject matter of any of Examples 89-96, and optionally, includes means for instructing the user to position the lens relative to the depth sensor so that the second distance is half the first distance.
[0540] Example 98 includes the subject matter of any of Examples 88-97, and optionally, includes means for instructing a user to position the lens between the depth sensor and the object such that the depth information includes depth information of the object captured by the depth sensor via the lens.
[0541] Example 99 includes the subject matter of any of Examples 88-98, and optionally, includes means for identifying an area corresponding to the lens in the depth map and determining one or more parameters of the lens based on a size of the area corresponding to the lens.
[0542] Example 100 includes the subject matter of any of Examples 88-99, and optionally includes means for determining one or more parameters of the lens based on a plurality of different depth maps captured via the lens.
[0543] Example 101 includes the subject matter of Example 100, and optionally, wherein the plurality of different depth maps include at least a first depth map and a second depth map, the first depth map being captured via the lens when the lens is in a first position relative to the depth sensor, and the second depth map being captured via the lens when the lens is in a second position different from the first position relative to the depth sensor.
[0544] Example 102 includes the subject matter of Example 100 or 101, and optionally, wherein the plurality of different depth maps include at least a first depth map and a second depth map, the first depth map comprising a depth map captured via the lens when the lens is at a first rotational angle in the lens plane, and the second depth map comprising a depth map captured via the lens when the lens is at a second rotational angle in the lens plane.
[0545] Example 103 includes the subject matter of Example 102, and optionally, includes means for determining at least one of a cylindrical axis of the lens or a cylindrical power of the lens based on the first depth map and the second depth map.
[0546] Example 104 includes the subject matter of any of Examples 88-99, and optionally, includes means for determining one or more parameters of the lens based on a single depth map captured via the lens.
[0547] Example 105 includes the subject matter of any of Examples 88-104, and optionally includes means for identifying one or more depth values captured via the lens in a depth map and determining one or more parameters of the lens based on the one or more depth values captured via the lens.
[0548] Example 106 includes the subject matter of any of Examples 88-105, and optionally includes means for identifying in a depth map one or more first depth values captured via the lens and one or more second depth values not captured via the lens and determining one or more parameters of the lens based on the first depth values and the second depth values.
[0549] Example 107 includes the subject matter of any of Examples 88-106, and optionally includes a device for processing image information of an image of an object captured by a camera via a lens when the lens is located between the camera and the object, determining a magnification value based on a magnification between an imaged size of the object and an actual size of the object, and determining one or more parameters of the lens based on the depth information and the magnification value.
[0550] Example 108 includes the subject matter of any of Examples 88-107, and optionally, includes means for determining one or more parameters of the lens based on one or more configuration parameters of a depth sensor that provides the depth map.
[0551] Example 109 includes the subject matter of Example 108, and optionally, wherein the one or more configuration parameters include a type of the depth sensor.
[0552] Example 110 includes the subject matter of Example 108 or 109, and optionally, wherein the one or more configuration parameters include a wavelength of electromagnetic radiation employed by the depth sensor to generate the depth map.
[0553] Example 111 includes the subject matter of any of Examples 88-110, and optionally, includes means for determining one or more parameters of the lens by processing the depth information into structured light depth measurement depth information.
[0554] Example 112 includes the subject matter of any of Examples 88-110, and optionally, includes means for determining one or more parameters of the lens by processing the depth information into time-of-flight (ToF) depth information.
[0555] Example 113 includes the subject matter of any of Examples 88-112, and optionally, includes means for determining one or more parameters of the lens based on predefined mapping information for mapping between a plurality of depth map measurements and a plurality of estimated light mappings.
[0556] Example 114 includes the subject matter of any of Examples 88-113, and optionally, includes an apparatus for determining one or more optical parameters of a spherocylindrical lens.
[0557] Example 115 includes the subject matter of any of Examples 88-113, and optionally includes an apparatus for determining one or more optical parameters of a bifocal lens or a multifocal lens.
[0558] Example 116 includes the subject matter of any of Examples 88-115, and optionally, wherein the one or more parameters of the lens include a spherical power of the lens, a cylindrical power of the lens, a cylindrical axis of the lens, a sign of the lens, or a center of the lens.
[0559] The functions, operations, components and / or features described herein with reference to one or more embodiments may be combined with, or used in combination with, one or more other functions, operations, components and / or features described herein with reference to one or more other embodiments, or vice versa.
[0560] While certain features have been illustrated and described herein, numerous modifications, substitutions, changes, and equivalents will occur to those skilled in the art. It is therefore to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the disclosure.
Claims
1. A method for determining lens parameters, the method comprising: processing at least one depth map captured by a depth mapper via a lens, wherein the at least one depth map includes at least one feature on a reference object, the at least one depth map being at least partially captured by the depth mapper not via the lens; determining a depth of at least one feature based on a change in a size of the at least one feature in the at least one depth map; and The power of the lens is determined based on the depth of the at least one feature.
2. The method according to claim 1, wherein: The at least one feature lies on a plane of the reference object.
3. The method according to claim 1, wherein: Determining the depth of the at least one feature includes comparing a first size of the at least one feature present on the reference object body when the lens is not in use with a second size of the at least one feature present on the reference object body when the lens is in use.
4. The method according to claim 1, wherein: The lens scales the at least one feature on the reference object.
5. The method according to claim 1, wherein: Processing at least one depth map includes processing a plurality of depth maps corresponding to a plurality of lens angles.
6. The method according to claim 1, wherein: When the lens is placed on the depth mapper, the depth mapper captures the at least one depth map.
7. The method according to claim 1, wherein: The depth mapper includes a stereo camera.
8. A method for determining lens parameters, comprising: processing a first sensor signal, the first sensor signal being a first ray from an illumination source that arrives at the sensor along a first path, the first path passing through the lens; processing a second sensor signal, the second sensor signal being from a second ray from the illumination source along a second path to the sensor, the second path not passing through the lens; determining a path difference between the first path and the second path; as well as The parameters of the lens are determined according to the path difference.
9. The method according to claim 8, wherein: The first sensor signal and the second sensor signal each include a time of flight (ToF) measurement.
10. The method according to claim 8, wherein: The lens comprises two crossed cylindrical lenses.
11. The method according to claim 8, wherein: The first ray and the second ray are respectively reflected from a planar object, the planar object being located on the first path to the sensor and the second path to the sensor.
12. The method according to claim 8, wherein: Determining parameters of the lens includes measuring, by the depth sensor of the sensor, a depth value directly associated with the path difference.
13. An apparatus comprising: a structured light projector, for projecting structured objects through a lens; A depth sensor, configured to generate a depth map, the depth map comprising depth information sensed from the structured object projected by the structured light projector, the depth map comprising: when the structured object is not detected via the lens: a first sensed depth value of a reference object; when the structured object is not detected via the lens: a second sensed depth value of the reference object; and a third sensed depth value of an opaque object separated from the reference object; and a lens meter module for determining one or more parameters of the lens based on at least the first sensed depth value, the second sensed depth value and the third sensed depth value of the depth map.
14. A non-transitory computer-readable electronic storage medium comprising computer-executable instructions that, when executed by at least one computer processor, can cause the at least one computer processor to cause a computing device to: processing at least one depth map captured by a depth mapper via a lens, wherein, the at least one depth map comprising at least one feature on a reference object, the at least one depth map being at least partially captured by the depth mapper without via the lens; determining a depth of the at least one feature based on a change in a size of the at least one feature in the at least one depth map; as well as The power of the lens is determined based on the depth of the at least one feature.
15. The non-transitory computer-readable electronic storage medium of claim 14, wherein: Determining the depth of at least one feature includes comparing a first size of the at least one feature and a second size of the at least one feature, the first size being reflected on the reference object without the lens and the second size being reflected on the reference object with the lens.
16. The non-transitory computer-readable electronic storage medium of claim 14, wherein: The at least one feature is projected by a structured light projector.
17. The non-transitory computer-readable electronic storage medium of claim 14, wherein: The lens scales the at least one feature on the reference object.
18. The non-transitory computer-readable electronic storage medium of claim 14, wherein: Processing at least one depth map includes processing a plurality of depth maps corresponding to a plurality of lens angles.
19. The non-transitory computer-readable electronic storage medium of claim 14, wherein: The depth mapper captures the at least one depth map when the distance between the lens and the depth mapper is substantially zero.
20. The non-transitory computer-readable electronic storage medium of claim 14, wherein: The depth mapper includes a stereo camera.
21. The non-transitory computer-readable electronic storage medium of claim 20, wherein: The at least one depth map is captured by a first camera of the stereo camera and a second camera of the stereo camera, the first camera capturing a first image of the reference object via the lens, and the second camera capturing a second image of the reference object not via the lens.