Apparatus, system and method for determining one or more parameters of lens
Patent Information
- Application Number
- JP2024144793
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2019-01-10
- Filing Date
- 2024-08-26
- Publication Date
- 2025-01-07
- Estimated Expiration
- 2040-01-09
AI Technical Summary
Existing methods for determining optical parameters of lenses, such as spherical power, cylindrical power, and cylindrical axis, are inefficient and lack precision, particularly in applications like duplicating eyeglasses or manufacturing spare lenses.
A system and method utilizing depth mapping technology, including devices like structured light stereo cameras and time-of-flight sensors, to accurately determine optical parameters of lenses by analyzing depth maps and applying mathematical models to calculate parameters like spherical power, cylindrical power, and axis.
Enables precise and efficient determination of lens parameters, facilitating accurate duplication of eyeglasses and manufacturing of spare lenses without the need for auxiliary optical means.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] cross reference This application claims the benefit of and priority to U.S. Provisional Patent Application No. 62 / 790,614, filed Jan. 10, 2019, and entitled “APPARATUS, SYSTEM AND METHOD OF DETERMINING ONE OR MORE OPTICAL PARAMETERS OF A LENS,” the entire disclosure of which is incorporated herein by reference.
[0002] Technical Field The embodiments described herein relate generally to determining one or more parameters of a lens. [Background technology]
[0003] Eyeglasses and / or prescription glasses may include lenses assembled into an eyeglass frame.
[0004] The lens may have one or more optical parameters, which may include, for example, sphere, cylinder, and / or cylinder axis.
[0005] Determining the sphere, cylinder, and / or cylinder axis of a lens may be useful, for example, if a user of the glasses wishes to replicate the glasses and / or to manufacture spare lenses for the glasses. Summary of the Invention [Means for solving the problem]
[0006] Apparatuses, systems and / or methods for determining one or more parameters of a lens are provided. [Brief description of the drawings]
[0007] For simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, dimensions of some of the elements may be exaggerated relative to other elements for clarity of presentation. Furthermore, reference numerals may be repeated among the figures to indicate corresponding or similar elements. A list of figures is provided below.
[0008] [Figure 1] FIG. 1 is a schematic block diagram illustration of a system in accordance with some demonstrative embodiments. [Diagram 2] FIG. 2 is a schematic diagram of three measurement schemes, according to some demonstrative embodiments. [Diagram 3] FIG. 3 is an illustration of a measurement system that may be implemented in accordance with some demonstrative embodiments. [Figure 4] FIG. 4 is a schematic diagram of a first depth map of a first spherical lens and a second depth map of a second spherical lens, in accordance with some demonstrative embodiments. [Diagram 5] FIG. 5 is a schematic illustration of a graph depicting depth value versus sphere in accordance with some demonstrative embodiments. [Figure 6] FIG. 6 is a simplified flowchart illustration of a method for determining the sphere of a lens, in accordance with some demonstrative embodiments. [Figure 7] FIG. 7 is a schematic diagram of a first depth map of a lens and a second depth map of the lens, in accordance with some demonstrative embodiments. [Figure 8] FIG. 8 is a schematic diagram of a measurement scheme according to some demonstrative embodiments. [Figure 9] FIG. 9 is a schematic diagram of a measurement scheme according to some demonstrative embodiments. [Figure 10] FIG. 10 is a schematic diagram of a measurement scheme in accordance with some demonstrative embodiments. [Figure 11] FIG. 11 is a schematic diagram of a measurement scheme according to some demonstrative embodiments. [Figure 12]FIG. 12 is a schematic diagram of a first depth map of a cylindrical lens at a first angle and a second depth map of a cylindrical lens rotated at a second angle, in accordance with some demonstrative embodiments. [Figure 13] FIG. 13 is a schematic diagram of a lens angle ellipse in accordance with some demonstrative embodiments. [Figure 14] FIG. 14 is a simplified flowchart illustration of a method for determining one or more parameters of a lens, in accordance with some demonstrative embodiments. [Figure 15] FIG. 15 is a schematic diagram of a product according to some demonstrative embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] In the following detailed description, numerous specific details are set forth to provide a thorough understanding of some embodiments. However, it will be understood by those skilled in the art that some embodiments may be practiced without these specific details. In other instances, well-known methods, procedures, components, units and / or circuits have not been described in detail so as not to obscure the discussion.
[0010] Some portions of the detailed descriptions which follow are presented in terms of algorithms and symbolic representations of operations on data bits or binary digital signals within a computer memory. These algorithmic descriptions and representations may be used by those skilled in the data processing arts to convey the substance of their work to others skilled in the art.
[0011] An algorithm is herein, and generally, conceived to be a self-consistent sequence of acts or operations leading to a desired result. These involve physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals 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.
[0012] For example, discussions herein using terms such as "processing," "computing," "calculating," "determining," "establishing," "analyzing," "checking," etc. may refer to operation(s) and / or process(es) 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 in the computer's registers and / or memory into other data similarly represented as physical quantities in the computer's registers and / or memory, or in other information storage media that may store instructions for performing the operations and / or processes.
[0013] As used herein, the terms "plurality" and "a plurality" include, for example, "multiple" or "two or more." For example, "a plurality of items" includes two or more items.
[0014] References to "one embodiment," "one embodiment," "exemplary embodiment," "various embodiments," etc. indicate that the embodiment or embodiments so described may include a particular feature, structure, or characteristic, but not all embodiments necessarily include that particular feature, structure, or characteristic. Further, repeated use of the phrase "in one embodiment" does not necessarily refer to the same embodiment, but may.
[0015] As used herein, unless otherwise indicated, the use of ordinal numbers "first," "second," "third," etc. to describe a common object is intended merely to indicate that different instances of a similar object are being referred to, and is not intended to imply that the objects so described must be in a particular order, whether temporally, spatially, sequentially, or in any other manner.
[0016] Some embodiments may take the form of, for example, an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. Some embodiments may be implemented in software, including but not limited to firmware, resident software, microcode, etc.
[0017] Furthermore, some embodiments may take 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 connection with a computer or any instruction execution system. For example, the computer usable or computer readable medium may be or include any apparatus that can contain, store, communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
[0018] In some demonstrative embodiments, the medium may be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus, or device), or a propagation medium. Some demonstrative examples of a computer-readable medium may include a semiconductor or solid-state memory, a magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a flash memory, a rigid magnetic disk, and an optical disk. Some demonstrative examples of an optical disk include a compact disk-read-only memory (CD-ROM), a compact disk-read / write (CD-R / W), and a DVD.
[0019] In some demonstrative embodiments, a data processing system suitable for storing and / or executing program code may include at least one processor coupled directly or indirectly to memory elements, for example via a system bus. The memory elements may include, for example, local memory used during the actual execution of the program code, bulk storage, and cache memory, which may provide temporary storage of at least some of the program code to reduce the number of times the code must be retrieved from bulk storage during execution.
[0020] In some demonstrative embodiments, input / output devices or I / O devices (including but not limited to keyboards, displays, pointing devices, etc.) may be coupled to the system either directly or through intervening I / O controllers. In some demonstrative embodiments, network adapters may 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 intervening private or public networks. In some demonstrative embodiments, modems, cable modems, and Ethernet cards are demonstrative examples of types of network adapters. Other suitable components may be used.
[0021] Some embodiments may include one or more wired or wireless links, may utilize one or more components of wireless communication, may utilize one or more methods or protocols of wireless communication, etc. Some embodiments may utilize wired and / or wireless communication.
[0022] Some embodiments may be used in combination with a variety of devices and systems, such as, for example, mobile phones, smartphones, 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 telephones, wireless telephones, devices with one or more internal and / or external antennas, wireless handheld devices, etc.
[0023] Please refer now to FIG. 1, which illustrates generally a block diagram of a system 100 according to some demonstrative embodiments.
[0024] As shown in FIG. 1, in some demonstrative embodiments, system 100 may include a computing device 102 .
[0025] In some demonstrative embodiments, device 102 may be implemented using suitable hardware and / or software components, such as, for example, processors, controllers, memory units, storage units, input units, output units, communication units, operating systems, applications, etc.
[0026] In some demonstrative embodiments, device 102 may include, for example, a computing device, a mobile device, a mobile phone, a smartphone, a cellular phone, a notebook, a mobile computer, a laptop computer, a notebook computer, a tablet computer, a handheld computer, a handheld device, a PDA device, a handheld PDA device, a wireless communication device, etc.
[0027] In some demonstrative 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 and / or software components. In some demonstrative embodiments, some or all of one or more components of device 102 may be contained within a common housing or packaging, or may be interconnected or operatively associated using one or more wired or wireless links. In other embodiments, one or more components of device 102 may be distributed across multiple or separate devices.
[0028] In some demonstrative 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, electrical circuits, logic units, integrated circuits (ICs), application specific ICs (ASICs), or other suitable general-purpose or application specific processors or controllers. Processor 191 may execute instructions of, for example, an operating system (OS) of device 102 and / or one or more suitable applications.
[0029] In some demonstrative 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 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 earphones, or other suitable output device.
[0030] In some demonstrative embodiments, memory unit 194 may include, 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 memory unit, long-term memory 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 store, for example, data processed by device 102.
[0031] In some demonstrative embodiments, device 102 may be configured to communicate with one or more other devices via a wireless network and / or a wired network 103.
[0032] In some demonstrative embodiments, the network 103 may include a wired network, a local area network (LAN), a wireless LAN (WLAN) network, a wireless network, a cellular network, a wireless fidelity (WiFi) network, an IR network, a Bluetooth (BT) network, etc.
[0033] In some demonstrative embodiments, device 102 may enable one or more users to interact with one or more processes, applications and / or modules of device 102, for example, as described herein.
[0034] In some demonstrative embodiments, device 102 may be configured to perform and / or execute one or more operations, modules, processes, procedures, and the like.
[0035] In some demonstrative embodiments, device 102 may be configured to determine one or more parameters, e.g., one or more optical parameters and / or other parameters, of a lens, e.g., a vision corrective lens and / or any other type of lens, provided, e.g., by a user of device 102 or any other user, e.g., as described below.
[0036] In some demonstrative embodiments, the vision corrective lenses may include lenses configured to improve vision.
[0037] In one example, the vision correcting lenses may be assembled or configured to be assembled, for example, into eyeglasses, of a user of the device 102 or any other user.
[0038] In other examples, the vision correcting lenses may include contact lenses, intraocular lenses, swim goggle lenses, and the like.
[0039] In another example, the vision corrective lens may include any other optical lens configured to improve vision, such as a prescription lens or any other lens.
[0040] Some demonstrative embodiments are described herein with respect to determining one or more parameters of vision corrective lenses and / or eyeglasses. In other embodiments, one or more of the apparatus, systems and / or methods described herein may be implemented to determine one or more parameters of any other lens and / or any other device that includes one or more lenses.
[0041] In some demonstrative embodiments, system 100 may be configured to perform lensometer or lensometric analysis of a lens, e.g., without the use of auxiliary optical means, e.g., as described below.
[0042] In some demonstrative embodiments, the one or more parameters of the lens may include the spherical power (also called "sphere") of the lens, the cylindrical power (also called "cylinder"), the cylinder axis (also called "axis"), the prism power (also called "prism"), the addition or addition power (also called "addition"), the center of the lens, the distortion of the lens, and / or any other parameter of the lens.
[0043] In some demonstrative embodiments, system 100 may be configured to analyze, for example, the focal power and / or near focal length of a spherical lens, the focal power, cylindrical axis and / or near focal length of, for example, a cylindrical lens, the focal length difference across the lens, for example the focal length difference between a "far", "middle" and / or "near" portion of the lens, a focal length map of the entire lens, and / or any other parameter of the lens, for example as described below.
[0044] In some demonstrative embodiments, 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, for example as described below.
[0045] In some demonstrative embodiments, application 160 may include and / or execute functionality of a lens metrology module configured, for example, to perform lensmeter or lens metrology analysis of lenses.
[0046] In some demonstrative embodiments, application 160 may include or 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.
[0047] In some demonstrative embodiments, application 160 may include a local application 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 execute the instructions that result in application 160 and / or perform one or more calculations and / or processes of application 160, e.g., as described below.
[0048] In other embodiments, application 160 may include a remote application executed by any suitable computing system, such as server 170 .
[0049] In some demonstrative embodiments, server 170 may include at least a remote server, a web-based server, a cloud server, and / or any other server.
[0050] In some demonstrative embodiments, server 170 may include suitable memory and / or storage unit 174 having instructions stored thereon to effectuate application 160, e.g., as described below, and a suitable processor 171 for executing those instructions.
[0051] In some demonstrative embodiments, applications 160 may include a combination of remote and local applications.
[0052] In one example, application 160 may be downloaded and / or received by a user of device 102 from another computing system, such as server 170, such that application 160 may be executed locally by the user of device 102. For example, instructions may be received and stored, e.g., temporarily, in memory or any suitable short-term memory or buffer of device 102 before being executed, e.g., by processor 191 of device 102.
[0053] In another example, application 160 may include a front end executed locally by device 102 and a back end executed by server 170. For example, the front end may include and / or be implemented as a local application, a web application, a website, a web client, e.g., a Hypertext Markup Language (HTML) web application, etc.
[0054] For example, as described below, one or more first operations determining one or more parameters of the lens may be performed locally, e.g., by device 102, and / or one or more second operations determining one or more parameters of the lens may be performed remotely, e.g., by server 170.
[0055] In other embodiments, application 160 may include any other suitable computing arrangement and / or computing scheme.
[0056] In some demonstrative embodiments, system 100 may include an interface 110 that interfaces between a user of device 102 and one or more elements of system 100 , such as application 160 .
[0057] In some demonstrative embodiments, interface 110 may be implemented using any suitable hardware and / or software components, such as processors, controllers, memory units, storage units, input units, output units, communication units, operating systems, and / or applications.
[0058] In some embodiments, interface 110 may be implemented as part of any suitable module, system, device, or component of system 100.
[0059] In other embodiments, the interface 110 may be implemented as a separate element of the system 100 .
[0060] In some demonstrative embodiments, 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.
[0061] In one example, interface 110 may be implemented, for example, as middleware and / or as part of any suitable application of device 102. For example, interface 110 may be implemented as part of application 160 and / or as part of the OS of device 102.
[0062] In some demonstrative embodiments, interface 160 may be implemented as part of server 170. For example, interface 110 may be associated with and / or included as part of server 170.
[0063] In one example, interface 110 may include or be part of 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.
[0064] In some demonstrative embodiments, interface 110 may be associated with and / or include, for example, a gateway (GW) 112 and / or an application programming interface (API) 114, for conducting information and / or communication between elements of system 100 and / or with one or more other, e.g., internal or external parties, users, applications and / or systems.
[0065] In some embodiments, interface 110 may include any suitable graphic user interface (GUI) 116 and / or any other suitable interface.
[0066] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of the lens based on, for example, a depth map obtained through the lens, e.g., as described below.
[0067] In some demonstrative embodiments, the lens may include a spherical lens, a cylindrical lens (also called a "spherocylindrical lens" or a "spherocylindrical lens"), a bifocal lens, a multifocal lens, or any other type of lens.
[0068] In some demonstrative embodiments, device 102 may include a depth mapper 118 (also referred to as a “depth sensor”) or any other device or system configured to acquire, create, and / or determine a depth map of the environment, e.g., as described below.
[0069] In one example, application 160 may be configured to locally determine one or more parameters of the lens, e.g., if application 160 is implemented locally by device 102. According to this example, depth mapper 118 may be configured to create a depth map, and application 160 may be configured to receive the depth map from depth mapper 118 and determine one or more parameters of the lens, e.g., as described below.
[0070] In another example, application 160 may be configured to determine one or more parameters of the lens remotely, e.g., when application 160 is implemented by server 170, or when, e.g., a back end of application 160 is implemented by, e.g., server 170, while a front end of application 160 is implemented by device 102. According to this example, depth mapper 118 may be configured to create a depth map, a front end of application 160 may be configured to receive the depth map, and server 170 and / or a back end of application 160 may be configured to determine one or more parameters of the lens, e.g., based on information received from the front end of application 160.
[0071] In one example, the front end of device 102 and / or application 160 may be configured to send the depth map, and optionally additional information, e.g., as described below, to server 170, e.g., via network 103, and / or the back end of server 170 and / or application 160 may be configured to receive the depth map and determine one or more parameters of the lens, e.g., based on the depth map from device 102.
[0072] In some demonstrative embodiments, depth mapper 118 may include two or more cameras, e.g., a dual camera, a stereo camera, multiple cameras, or any other camera system configured to create a depth map, e.g., as described below.
[0073] In some demonstrative embodiments, depth mapper 118 may include a structured light stereo camera, for example, as described below.
[0074] In some demonstrative embodiments, depth mapper 118 may include an infrared (IR) source and an IR sensor, for example in a structured light system, as described below.
[0075] 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 according to ToF measurements, e.g., as described below.
[0076] In some demonstrative embodiments, 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 the environment.
[0077] In one example, one or more of the calculations described herein may be suitable for implementation with multiple different types of depth mappers 118. For example, one or more of the calculations may be slightly different for the different types, for example, based on the IR wavelengths and / or the visible light spectrum.
[0078] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of the lens based on a depth map obtained by depth mapper 118, e.g., when the lens is positioned to alter the depth map created by depth mapper 118, e.g., using a standard configuration, e.g., as described below.
[0079] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of the lens based on techniques, calculations, methods and / or algorithms that may be configured with respect to one or more aspects of the spherocylindrical lens, for example, as described below.
[0080] In some demonstrative embodiments, the calculations for a spherocylindrical lens may be generalized to one or more other types of lenses, e.g., more complex lenses, e.g., imagers, e.g., assuming that the camera aperture of depth mapper 118 may be relatively small, which may support localized sampling of the test lens.
[0081] In some demonstrative embodiments, the lens may be modeled and / or considered as a spherocylindrical lens, where three parameters of the spherocylindrical lens are determined, e.g., sphere, cylinder, and cylinder axis, e.g., as described below.
[0082] In one example, the above three parameters may be defined, for example, as the low order Zernike aberrations of an ideal lens, and / or in any other manner.
[0083] In one example, the creation of a depth map may be based on the disparity of points captured or projected from different coordinates in the real world, for example.
[0084] In some demonstrative embodiments, application 160 may be configured to use depth information and / or depth data obtained through the lens, for example, to determine one or more parameters of the lens, as described below.
[0085] In some demonstrative embodiments, application 160 may be configured to process at least one depth map containing depth information obtained through the lens, for example as described below.
[0086] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of the lens based on the depth information, for example, as described below.
[0087] In some demonstrative embodiments, the one or more parameters of the lens may include the sphere of the lens, the cylinder of the lens, the cylinder axis of the lens, the sign of the lens, and / or the optical center of the lens, for example, as described below.
[0088] In other embodiments, any other additional or alternative parameters of the lens may be determined.
[0089] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of a lens, eg, for a spherocylindrical lens, eg, as described below.
[0090] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of a lens, for example, for a bifocal lens and / or a multifocal lens, as described below.
[0091] In some demonstrative embodiments, application 160 may be configured to prompt the user, e.g., via GUI 116, to place a lens between depth sensor 118 and an object such that the depth information includes depth information of the object acquired by depth sensor 118 through the lens, e.g., as described below.
[0092] In some demonstrative embodiments, application 160 may be configured to identify one or more depth values obtained through the lens in a depth map, e.g., as described below, and determine one or more parameters of the lens based on the one or more depth values obtained through the lens, e.g.
[0093] In some demonstrative embodiments, application 160 may be configured to identify a depth value corresponding to an object in the depth map and determine one or more parameters of the lens based on the depth value corresponding to the object, the first distance, and the second distance, e.g., as described below.
[0094] In some demonstrative embodiments, the first distance may be between the object and a depth sensor 118, for example, as described below.
[0095] In some demonstrative embodiments, the second distance may be between a depth sensor and a lens, for example, as described below.
[0096] In some demonstrative embodiments, application 160 may be configured to identify depth information obtained without a lens in a depth map, e.g., as described below, and determine the first distance and / or second distance based on the depth information obtained without a lens, for example.
[0097] In some demonstrative embodiments, application 160 may be configured to identify an area in the depth map that corresponds to an element on the surface of the lens, and determine the second distance based on depth information in the area that corresponds to the element, for example as described below.
[0098] In some demonstrative embodiments, the elements may include an opaque rim of the lens, a frame that holds the lens, and / or any other elements attached to and / or on the same side of the lens, for example as described below.
[0099] In some demonstrative embodiments, application 160 may be configured to identify an area in the depth map that corresponds to a surface that contains the object, e.g., as described below, and determine the second distance based on depth information in the area that corresponds to the surface that contains the element.
[0100] In some demonstrative embodiments, the object may include a wall, for example, as described below.
[0101] In other embodiments, the object may include any other flat surface behind the lens, such as a table, a floor, etc.
[0102] In some demonstrative embodiments, application 160 may be configured to instruct the user to position and / or move depth sensor 118 and / or lens between one or more relative positions, for example, as described below.
[0103] In some demonstrative embodiments, application 160 may be configured to instruct the user to move depth sensor 118 and / or lens until a particular setting of, for example, the first distance and / or the second distance is reached, e.g., as described below.
[0104] In some demonstrative embodiments, application 160 may be configured to instruct the user to position the lens over the mirror such that the first distance may include an optical distance that is twice the distance between depth sensor 118 and the mirror, e.g., as described below.
[0105] In some demonstrative embodiments, application 160 may be configured to instruct the user to position the lens, e.g., relative to depth sensor 118, e.g., by moving depth sensor 118 and / or the lens, such that the second distance may be half the first distance, e.g., as described below.
[0106] In some demonstrative embodiments, application 160 may be configured to identify an area in the depth map that corresponds to a lens and determine one or more parameters of the lens based on, for example, dimensions of the area that corresponds to the lens, e.g., as described below.
[0107] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of the lens based on, for example, multiple different depth maps obtained through the lens, e.g., as described below.
[0108] In some demonstrative embodiments, the multiple different depth maps may include at least a first depth map and a second depth map, eg, as described below.
[0109] In some demonstrative embodiments, e.g., as described below, a first depth map may be obtained through the lens, e.g., when the lens is in a first position relative to the depth sensor 118, and a second depth map may be obtained through the lens, e.g., when the lens is in a second position relative to the depth sensor 118 that is different from the first position.
[0110] In some demonstrative embodiments, e.g., as described below, the first depth map may include a depth map obtained through the lens, e.g., when the lens is at a first rotational angle in the plane of the lens, and the second depth map may include a depth map obtained through the lens, e.g., when the lens is at a second rotational angle in the plane of the lens.
[0111] In some demonstrative embodiments, application 160 may be configured to determine a cylindrical axis of the lens and / or a cylindrical power of the lens based on, for example, the first depth map and the second depth map, e.g., as described below.
[0112] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of the lens based on, for example, a single depth map obtained through the lens, e.g., as described below.
[0113] In some demonstrative embodiments, application 160 may be configured to identify one or more first depth values obtained through the lens and one or more second depth values obtained without the lens in the depth map, e.g., as described below, and determine one or more parameters of the lens based on the first and second depth values, for example.
[0114] In some demonstrative embodiments, application 160 may be configured to process image information of an image of an object captured by a camera through a lens, e.g., when the lens is between the camera and the object, as described below.
[0115] In some demonstrative embodiments, application 160 may be configured to determine a magnification value based on, for example, a magnification between the imaged dimensions of the object and the actual dimensions of the object, e.g., as described below.
[0116] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of the lens based on, for example, the depth information and the magnification value, eg, as described below.
[0117] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of the lens based on, for example, one or more configuration parameters of depth sensor 118 from which the depth map is provided (i.e., the depth map is provided by depth sensor 118), e.g., as described below.
[0118] In some demonstrative embodiments, the one or more configuration parameters may include a type of depth sensor 118, for example, as described below.
[0119] In some demonstrative embodiments, the one or more configuration parameters may include, for example, a wavelength of electromagnetic radiation utilized by depth sensor 118 to generate a depth map, for example, as described below.
[0120] For example, if the lens is made from an optical glass material, such as bk7 material, the lens may have a first refractive index, for example 1.5185 for a first wavelength, for example 0.55 micrometers, and / or a second refractive index, for example 1.5108 for a second wavelength, for example 0.8 micrometers. According to this example, a calculated adjustment can be applied based on the wavelength, for example, an adjustment of about 0.08 diopters can be made for a spherical plano-convex / concave lens with a radius of 100 mm.
[0121] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of the lens based on predefined (predetermined) mapping information for mapping between a plurality of depth map measurements and a plurality of estimated optical parameters, e.g., as described below.
[0122] In some demonstrative embodiments, e.g., as described below, application 160 may be configured to determine one or more parameters of the lens by processing the depth information as structured light depth measurement depth information, e.g., if depth mapper 118 includes a structured light sensor.
[0123] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of the lens by processing the depth information as, for example, depth information of a ToF depth measurement, e.g., if depth mapper 118 includes a ToF sensor, e.g., as described below.
[0124] In some demonstrative embodiments, application 160 may be configured to use depth information of a reference object obtained through the lens to, for example, determine one or more parameters of the lens, e.g., as described below.
[0125] In some demonstrative embodiments, a lens may be positioned between depth mapper 118 and the reference object to obtain depth information of the reference object, e.g., via the lens, as described below.
[0126] In one example, depth information of a reference object acquired through a lens may differ from depth information of the reference object acquired without a lens, e.g., without a lens.
[0127] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of the lens based on an approximation equation for a thin lens, such as, for example,
number
[0128] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of the lens based on, for example, depth information through the lens and a statistical model, e.g., instead of or in addition to Equation 1, as described below.
[0129] In some demonstrative embodiments, application 160 may be configured to use a dataset of measurements of lens power versus depth data, e.g., as described below, fit the dataset to an empirical model, e.g., using data interpolation or any learning process, and use the dataset to, e.g., predict the lens power of a test lens.
[0130] In some demonstrative embodiments, the accuracy of one or more estimated parameters of the lens may be based on, for example, the resolution of the depth map, which may be different for different systems and / or depth mappers.
[0131] In one example, using a composition that includes several different depth maps may improve the accuracy of one or more estimated parameters of the lens, for example, as described below.
[0132] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of the lens based on, for example, depth information of the reference object and depth information of the reference object through the lens, e.g., as described below.
[0133] In some demonstrative embodiments, application 160 may be configured to trigger, control, and / or cause depth mapper 118 to acquire a first depth map without a lens including depth information of a reference object when acquired without a lens, and to acquire a second depth map including depth information of the reference object acquired through a lens, e.g., as described below.
[0134] In some demonstrative embodiments, 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, for example, as described below.
[0135] In some demonstrative embodiments, application 160 may be configured to: determine a first estimated distance of the reference object when the reference object is captured without a lens, e.g., based on the first depth information; determine a second estimated distance of the reference object when captured through a lens, e.g., based on the second depth information; and determine one or more parameters of the lens, e.g., based on the first estimated distance and the second estimated distance, e.g., as described below.
[0136] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of the lens based on, for example, multiple depth maps corresponding to multiple respective rotations of the lens ("lens rotations"), e.g., as described below.
[0137] In some demonstrative embodiments, lens rotation may include relative rotation and / or angle between the lens and depth mapper 118, e.g., about at least one axis, e.g., as described below.
[0138] In some demonstrative embodiments, for example, the rotation of the lens may include relative rotation and / or angle about an axis of the lens, an axis of depth mapper 118, and / or at least one predefined axis, e.g., as described below.
[0139] 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.
[0140] In one example, a user of device 102 may be instructed to change the relative rotation of the lenses by rotating the lenses.
[0141] In another example, a user of the device 102 may be instructed to change the relative rotation of the lenses by rotating the device 102 .
[0142] In another example, a user of the device 102 may be instructed to change the relative rotation of the lens by rotating both the lens and the device 102 .
[0143] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of the lens based on, for example, an image of the reference object through the lens, such as a red, green, blue (RGB) image and / or any other type of image, in addition to depth information of the reference object through the lens, for example, as described below.
[0144] In some demonstrative embodiments, application 160 may be configured to trigger, control, and / or cause depth mapper 118 to acquire a depth map including depth information of the reference object and an image of the reference object without a lens, e.g., using camera 119, when a lens is not between depth mapper 118 and the reference object, and to acquire a second image of the reference object through the lens, e.g., using camera 119, as described below, e.g.
[0145] In one example, the camera 119 may be part of the depth mapper 118. In another example, the camera 119 and the depth mapper 118 may be implemented as separate elements of the device 102.
[0146] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of the lens based on, for example, the depth map and the first and second images, e.g., as described below.
[0147] In some demonstrative embodiments, the reference object may include one or more features having one or more respective sizes, eg, as described below.
[0148] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of the lens based on, for example, a comparison of one or more first sizes of features in the first image and one or more second sizes of features in the second image, e.g., as described below.
[0149] In some demonstrative embodiments, for example as described below, the lens may include a spherical lens, and application 160 may be configured to determine one or more parameters of the spherical lens, for example by determining the spherical power of the spherical lens.
[0150] In some demonstrative embodiments, application 160 may determine the spherical power of the spherical lens based on, for example, a first depth map including depth information of a reference object and a second depth map including depth information of the reference object through the lens, e.g., as described below.
[0151] Please refer to FIG. 2, which illustrates a schematic of measurement schemes 210, 220, and 230 in accordance with some demonstrative embodiments.
[0152] In some demonstrative embodiments, measurement schemes 210, 220 and 230 may be used to determine the spherical power of a spherical lens.
[0153] As shown in FIG. 2, the depth mapper 218 may include elements designated "Q1 and Q2," such as a dual camera, a stereo camera, or an IR source and a sensor of a structured light system, which may be utilized to obtain a depth map including depth map information corresponding to a reference object 212, such as a wall, at a distance designated "D1" from the depth mapper 218.
[0154] As shown in measurement scheme 210, the depth mapper 218 may determine a depth distance, represented as "D3", of a point represented as "p" on the reference object 212, for example, when there is no object between the reference object 212 and the depth mapper 218.
[0155] As shown in measurement scheme 220, the obtained depth distance D3 of point p may be altered by placing a lens 214, e.g., a negative lens, between the reference object 212 and the depth mapper 218, e.g., at a distance denoted as “D2” from the depth mapper 218. For example, depth information from the depth mapper 218 of point p through the lens 214 may represent a position 217.
[0156] As shown in measurement scheme 230, the acquired depth distance D3 of point p may be altered by placing a lens 216, e.g., a positive lens, between the reference object 212 and the depth mapper 218 at a distance D2 from the depth mapper 218. For example, depth information from the depth mapper 218 of point P through the lens 216 may represent a position 219.
[0157] In one example, the object 212 may be located at a distance D1 from the depth mapper 218, the optical lenses 214 and / or 216 may be positioned between the object 212 and the depth mapper 218, e.g., at a distance D2, and the depth information via the lenses 214 and / or 216, e.g., depth distance D3, may be different from D1 and D2 and / or may depend on the optical parameters of the test lenses.
[0158] In one example, the relationship between the spherical power, denoted as P, of the vision corrective lens and the distances D1, D2, and D3 may be determined, for example, as follows:
number
[0159] For example, substituting these values into Equation 1 may result in:
number
[0160] In one example, Equation 3 may be suitable for a diverging lens, e.g., a negative lens, e.g., optical lens 214 in measurement scheme 220. However, a similar calculation may be performed for a converging lens, e.g., a positive lens, e.g., optical lens 216 in measurement scheme 230.
[0161] In some demonstrative embodiments, for example, in one or more scenarios and / or measurement schemes, the distance D2 between lens 214 and depth mapper 218 may be substantially equal to zero, e.g., D2 = 0. For example, in one scenario, lens 214 may be positioned adjacent to or on (abutting) depth mapper 118. 118.
[0162] In some demonstrative embodiments, depth mapper 218 may analyze and / or sense object 212 through lens 214, for example, when distance D2 is zero.
[0163] In one example, both the first camera and the second camera of the depth mapper 218 may capture the object 212 through the lens 214, for example, if the depth mapper 218 is implemented using two cameras.
[0164] In another example, a structured light projector of depth mapper 218 may project a structured object through lens 214, e.g., if depth mapper 218 is implemented using a structured light projector, and a depth sensor of depth mapper 218 may sense the structured object through lens 214. For example, a signal of the depth sensor of depth mapper 218 may pass through lens 214 and be returned to an IR camera of depth mapper 218 through lens 214.
[0165] According to these embodiments, application 160 (FIG. 1) may be configured to determine one or more optical parameters of lens 214 when the value of distance D2 is zero, for example according to Equation 3.
[0166] In some demonstrative embodiments, a sensor of depth mapper 218 may capture or sense object 212 without through lens 214 .
[0167] In one example, a first camera of the depth mapper 218 may capture the object 212 through the lens 214, while a second camera of the depth mapper 218 may capture the object 212 without the lens 214.
[0168] In another example, a structured light projector of depth mapper 218 may project a structured object through lens 214, while a depth sensor of depth mapper 218 may sense the structured object without lens 214. For example, the signal of depth mapper 218 may pass through lens 214 and be returned to an IR camera of depth mapper 218, which may be outside the area of lens 214.
[0169] According to these embodiments, application 160 (FIG. 1) may be configured to determine one or more optical parameters of lens 214, for example, using one or more calculations, for example, as described below.
[0170] In some demonstrative embodiments, for example, in one or more scenarios and / or measurement schemes, lens 214 may be positioned in close proximity to a user's face, for example, when the lens 214 is assembled into eyeglasses and the user wears the eyeglasses on their face, for example normally.
[0171] In some demonstrative embodiments, application 160 (FIG. 1) may be configured to instruct the user to hold device 102 (FIG. 1) while the glasses are on the user's face and / or to take an image of their face, e.g., a “selfie.”
[0172] According to these embodiments, distance D1 may be determined as the distance between depth mapper 118 (FIG. 1) and a facial feature of the face, and / or distance D2 may be determined as the distance between depth mapper 118 (FIG. 1) and the frame of the glasses.
[0173] In some demonstrative embodiments, application 160 (FIG. 1) may be configured to determine one or more optical parameters of lens 214, e.g., by prompting a user to capture one image, or by prompting a user to capture two successive images, e.g., a first image with the glasses on the face and a second image without the glasses on the face, and comparing the first and second images, e.g., to determine the lens power of the lens.
[0174] Please refer to FIG. 3, which illustrates a schematic of a measurement system 300 according to some demonstrative embodiments.
[0175] In some demonstrative embodiments, measurement system 300 may be implemented to determine one or more optical parameters of the lens.
[0176] As shown in FIG. 3, the measurement system 300 may include a depth mapper 318, e.g., a dual camera, a stereo camera, or an IR source and sensor of a structured light system, a ToF depth mapper, and / or any other type of depth mapper, implemented, for example, by a mobile phone, a lens 315 of the object to be measured, a reference object 312, e.g., a wall, and an opaque object 317, e.g., an opaque lens, located at the same distance D2 from the depth mapper 318 as the lens 315.
[0177] Please refer to FIG. 4, which illustrates a schematic of a first depth map 410 of a first spherical lens and a second depth map 420 of a second spherical lens, according to some demonstrative embodiments.
[0178] In one example, the first spherical lens may include a negative lens, for example, -3 diopters, and / or the second spherical lens may include a positive lens, for example, +6 diopters.
[0179] For example, depth map 410 may be obtained using measurement system 300 (FIG. 3), e.g., when lens 315 (FIG. 3) includes a negative lens, and / or depth map 420 may be obtained using measurement system 300 (FIG. 3), e.g., when lens 315 (FIG. 3) includes a positive lens.
[0180] As shown in FIG. 4, depth information 413 of reference object 312 (FIG. 3), for example through a positive lens, in depth map 420 may be different from depth information 423 of reference object 312 (FIG. 3), for example through a negative lens, in depth map 410, while depth information of opaque object 317 (FIG. 3) and walls, for example without a lens, is the same in depth maps 410 and 420.
[0181] Please refer to FIG. 5, which is a schematic illustration of a graph 500 plotting depth value versus sphere, according to some demonstrative embodiments.
[0182] In one example, the depth value may include an average value of a depth map inside a spherical lens versus the lens sphere, for example in diopters.
[0183] As shown in FIG. 5, there may be a strong correlation between the sphere of a lens and the depth values of the lens' depth map.
[0184] Returning to FIG. 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.
[0185] In some demonstrative embodiments, application 160 may be configured to determine the optical parameters of a bifocal lens using methods similar to those for a spherical lens, e.g., a bifocal lens may be treated as two different spherical lenses.
[0186] In some demonstrative embodiments, application 160 may be configured to determine one or more optical parameters of a multifocal lens, for example, as described below.
[0187] In some demonstrative embodiments, application 160 may be configured to determine optical parameters of a multifocal lens using methods similar to those for a spherical lens, for example, by performing an analysis of the depth gradient along the vision correction lens based on the resolution of the depth map.
[0188] In some demonstrative embodiments, application 160 may be configured to process a depth map of a multifocal lens, such as obtained by depth mapper 118, which may include, for example, a series of D2 distances. In one example, points in the set of distances, e.g., each point in the set of distances, may sample the lens at a particular location, e.g., a location associated with 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 correlated to a set of powers P, such that a topological power map of the design of the lens and / or the optical center of the lens may be created.
[0189] In some demonstrative embodiments, application 160 may be configured to determine distance and / or near powers, e.g., distance prescriptions and "additions," based on, for example, a topological power map. In one example, the topological power map may determine, for example, the primary powers of the lens, e.g., a set of sphere, cylinder, axis, addition, and / or additional focal lengths, e.g., a multifocal lens design, including zones and their locations within the field of view, which may specify "channels" for intermediate zones.
[0190] In some demonstrative embodiments, application 160 may be configured to determine optical parameters of a bifocal lens and / or a multifocal lens based on methods for spherical lenses, e.g., as described above. For example, a bifocal lens may be represented by two different standard lenses, and / or measurements of a multifocal lens may rely on the resolution of depth mapper 118, e.g., to analyze gradually varying depths along the multifocal lens.
[0191] In some demonstrative embodiments, the magnification of a bifocal and / or multifocal lens may not be fixed on the vision corrective lens, and therefore, it may be expected that the calculation of optical parameters may be performed, for example, locally, as opposed to, for example, a spherical or cylindrical lens, where the magnification may be the same throughout the vision corrective lens, assuming that the vision corrective lens is uniform.
[0192] In some demonstrative embodiments, the lens surface of the bifocal lens may be split into two surfaces, in which case the calculation of the vision correcting lens may be performed separately for each surface, as in the case of a spherocylindrical uniform lens.
[0193] In some demonstrative embodiments, for example, the lens surface of a bifocal lens may vary evenly along the vision corrective lens, and therefore the depth map of a multifocal lens may be expected to vary evenly and / or continuously.
[0194] In some demonstrative embodiments, application 160 may determine the spherical power of a sphero-cylindrical lens based on a priori knowledge of the lens' cylinder, e.g., the cylinder may be the same for both areas, e.g., in the case of a bifocal lens, and / or the cylinder may be the same along the path between near and distance vision, e.g., in the case of a typical multifocal lens.
[0195] In some demonstrative embodiments, the depth map may include first depth information for a first area within the lens and at least second depth information for at least a second area within the lens.
[0196] In some demonstrative embodiments, application 160 may be configured to determine optical parameters of a bifocal lens or a multifocal lens based on, for example, the first depth information and the second depth information, for example, as described below.
[0197] In some demonstrative embodiments, application 160 may be configured to determine a first optical parameter of the bifocal lens or multifocal lens based on, e.g., the first depth information, and / or to determine a second optical parameter of the bifocal lens or multifocal lens based on, e.g., the second depth information, e.g., as described below.
[0198] In one example, calculation of the cylinder axis and / or cylinder power of a bifocal and / or multifocal lens may be based on the assumption that the cylinder may be the same for all areas of the vision correcting lens, for example, for either a bifocal or multifocal lens.
[0199] In another example, the depth mapping information may be applied for multiple lens portions of a multifocal lens, where these lens portions may have different spherical and / or cylindrical characteristics. For example, application 160 may be configured to process the depth map information from depth mapper 118 to identify portion-specific depth map information corresponding to a particular portion of the lens and determine the power and / or cylinder value of the particular lens portion based on the portion-specific depth map information corresponding to the particular portion of the lens. In one example, application 160 may be configured to perform this portion-based processing of the depth map information to determine optical parameters for multiple portions of the lens, for example, a "near" portion, a "intermediate" portion, a "far" portion, and / or any other portion of a multifocal lens.
[0200] In some demonstrative embodiments, application 160 may be configured to prompt a user of device 102 to perform one or more operations and / or trigger, control, and / or cause one or more elements of device 102 to perform one or more operations to assist application 160 in the process of determining one or more optical parameters of, for example, a spherical lens, a bifocal lens, and / or a multifocal lens, e.g., as described below.
[0201] Please refer to Figure 6, which illustrates a schematic diagram of a method for determining one or more optical parameters of a spherical lens, according to some demonstrative embodiments. For example, one or more operations of the method of Figure 6 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 an application, e.g., application 160 (Figure 1).
[0202] In some demonstrative embodiments, as indicated at block 602, the method may include processing at least one depth map and, optionally, image information, e.g., while instructing a user to position a lens and / or depth sensor 118 (FIG. 1), e.g., as described above.
[0203] In some demonstrative embodiments, as indicated at block 604, the method may include determining distances D1, D2, and / or D3 based on a statistical method, e.g., using computer vision, e.g., classical or data-driven, e.g., as described above, based on a segmentation of regions in the depth map, and / or using, e.g., an average, median, etc. applied to the depth map.
[0204] In some demonstrative embodiments, as indicated at block 606, the method may include determining a spherical power P of the lens based on, for example, the distances D1, D2, and D3, e.g., according to Equation 3, e.g., as described above.
[0205] Returning to FIG. 1, in some demonstrative embodiments, application 160 may be configured to determine the spherical power of the lens based on, for example, an object captured through the lens and a background object, e.g., as described below.
[0206] In some demonstrative embodiments, background objects may include, for example, walls, tables, floors, and the like.
[0207] In some demonstrative embodiments, 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, such as a wall.
[0208] In one example, a featureless wall may be suitable for a structured light system.
[0209] In another example, a surface containing multiple features, such as a checkerboard, or a display containing a grid of features with a predetermined frequency, may be suitable for multiple camera and / or stereo camera based systems.
[0210] In some demonstrative embodiments, application 160 may be configured to instruct a user of device 102, e.g., with the assistance of depth mapper 118 and / or any other position and / or orientation sensors, to place the device a distance D1 from a wall, e.g., about 30 cm or any other distance.
[0211] In some demonstrative embodiments, application 160 may be configured to segment a region of interest in the depth map, e.g., three areas or any other number of areas, e.g., using one or more computer vision techniques, for use in determining distances D1, D2 and / or D3.
[0212] In some demonstrative embodiments, the three areas may include an outer area of the lens, such as an outer wall of the lens, an opaque rim of the lens, and an inner area of the lens.
[0213] In other embodiments, any other additional or alternative areas may be used.
[0214] In some demonstrative embodiments, the distance D1 may be determined based on, for example, an accuracy criterion or any other criterion, such as a convenient distance D1 * This may be used to guide the user to place the depth mapper at
[0215] In one example, distance D1 * A particular value of, e.g., a “sweet spot” of may be pre-calculated and / or pre-defined, e.g., based on a series of experiments, and may be set in the application 160, e.g., as a hard-coded value.
[0216] In another example, the distance D1 * The particular value of may be learned during a particular user process, e.g., using computer vision techniques to analyze the size of objects and / or lenses in the depth map and / or the acquired RGB image.
[0217] In some demonstrative embodiments, application 160 may be configured to instruct a user of device 102 to place the lens at a distance D2 from depth mapper 118, such as halfway between a wall and device 102, or any other distance.
[0218] In some demonstrative embodiments, the distance D2 may be determined to be, for example, D2=0.5×D1=approximately 15 cm, assuming, for example, that the lens is halfway between the wall and the device 102.
[0219] In one example, suppose D2 = 0.5 × D1, then the partial derivative of Eq. 1, e.g.
number
[0220] In some demonstrative embodiments, application 160 may be configured to instruct a user of device 102 to launch depth mapper 118 to obtain depth map information through the lens, for example, when the lens is between device 102 and a background object.
[0221] In some demonstrative embodiments, application 160 may be configured to initiate and / or cause depth mapper 118 to obtain depth map information through the lens, for example, when the lens is between device 102 and a background object.
[0222] In some demonstrative embodiments, distance D2 may be determined, for example, by depth mapper 118, for example from the opaque rim of a lens, the frame of the glasses, and / or based on any other reference object.
[0223] In some demonstrative embodiments, application 160 may be configured to determine a depth distance D3 from the depth map, for example by image processing segmentation methods, for example to determine an area in the depth map that corresponds to the vision corrective lens, for example the opaque rim of the vision corrective lens or within the frame of the glasses.
[0224] In one example, in the case of a bifocal or multifocal lens, the application 160 may be configured to determine the depth distance D3 twice, for example, once for the distance zone of the lens and once for the near zone of the lens.
[0225] In some demonstrative embodiments, application 160 may be configured to determine the spherical power P of the vision correcting lens based on, for example, distances D1, D2, and D3, using, for example, equations 1-3.
[0226] In some demonstrative embodiments, the sphere P may be predicted from an empirical regression model, e.g., using a regression learning model, e.g., using pre-calculated correlations between the distances D1, D2, and D3 and the sphere P.
[0227] In some demonstrative embodiments, application 160 may be configured to determine the sphere of the lens based on, for example, the detected object, eg, as described below.
[0228] In some demonstrative embodiments, the detected object may include, for example, a predefined shape on a display such as a cell phone, tablet, computer screen, etc., a coin, a finger, and / or any other object.
[0229] In one example, the detected objects may include objects detectable by general computer vision techniques based on input data modalities available to the system, such as by the depth mapper 118 and / or any other images and / or information acquired by the depth mapper 118, the camera 119, and / or any other sensors of the device 102.
[0230] In some demonstrative embodiments, 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, e.g., a coin.
[0231] In some demonstrative embodiments, the application 160, for example with the assistance of the depth mapper 118, determines the distance D1 from the detected object that is best suited to measurement. * The device 102 may be configured to prompt a user of the device 102 to place the device 102 in a
[0232] In one example, distance D1 * A particular value of, e.g., “working distance”, may be pre-calculated and / or pre-defined, e.g., based on a series of experiments, and may be set in the application 160, e.g., as a hard-coded value.
[0233] In another example, the distance D1 * The particular value of may be learned during a particular user process, e.g., using computer vision techniques to analyze the size of objects and / or lenses in the depth map and / or the acquired RGB image.
[0234] In some demonstrative embodiments, the application 160 may, for example, determine the distance D1 * The device 102 may be configured to instruct the user of the device 102 to keep the device in the same position, e.g., to hold the apparatus still, to ensure that the measurement does not change.
[0235] In some demonstrative embodiments, application 160 may be configured to instruct a user of device 102 to place the lens at a distance D2 from depth mapper 118, such as halfway between the object and device 102, or at any other distance.
[0236] In some demonstrative embodiments, application 160 may be configured to determine depth distance D3, for example, by image processing methods, for example from a calibrated depth map.
[0237] In some demonstrative embodiments, distance D2 may be determined to be, for example, D2 = 0.5 x D1 = approximately 15 cm, assuming, for example, that the lens is midway between the detected object and device 102.
[0238] In one example, assuming D2=0.5×D1 may result in a maximum error proportional to the partial derivative of Eq.
[0239] In some demonstrative embodiments, application 160 may be configured to instruct a user of device 102 to launch depth mapper 118 to obtain depth map information through the lens, for example, when the lens is between device 102 and a detected object.
[0240] In some demonstrative embodiments, application 160 may be configured to initiate and / or cause depth mapper 118 to obtain depth map information through the lens, for example, when the lens is between device 102 and a detected object.
[0241] In some demonstrative embodiments, distance D2 may be determined, for example, by depth mapper 118, for example from the opaque rim of a lens, the frame of the glasses, and / or based on any other reference object.
[0242] In some demonstrative embodiments, application 160 may be configured to determine a spherical power P of the vision correcting lens based on, for example, distances D1, D2 and / or D3, for example, using Equations 1-3.
[0243] In some demonstrative embodiments, the sphere P may be predicted from an empirical regression model, e.g., using a regression learning model, e.g., using a pre-calculated correlation between the distances D1, D2 and / or D3 and the sphere P.
[0244] In some demonstrative embodiments, application 160 may be configured to determine the spherical power of the lens, e.g., when using a mirror, based on a detected object in a mirror image, e.g., as described below.
[0245] In some demonstrative embodiments, 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.
[0246] In some demonstrative embodiments, the detectable object may include, for example, a displayed object, e.g., a predefined shape on a display of device 102, which may be reflected by a mirror.
[0247] In some demonstrative embodiments, application 160 may be configured to instruct a user of device 102, for example with the assistance of depth mapper 118, to position the device at a distance D2 from the mirror that is deemed suitable for measurements.
[0248] In some demonstrative embodiments, 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 the distance of the displayed object on the screen of device 102 reflected by the mirror 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.
[0249] In some demonstrative embodiments, memory 194 may store pre-calculated mappings between spherical power P and distances D1, D2, and D3, e.g., 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, e.g., based on the accumulated measurements. For example, application 160 may access the pre-calculated mapping information in memory 194 to determine spherical power P corresponding to a measured depth map obtained through the lens.
[0250] In some demonstrative embodiments, depth mapper 118 may include a structured light depth sensor, for example a structured light stereo camera sensor.
[0251] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of the lens by processing depth information from depth mapper 118 as structured light depth measurements performed by a structured light depth sensor.
[0252] In some demonstrative embodiments, a first component of depth mapper 118 may not “see” through the lens, while a second component of depth mapper 118 may “see” through the lens.
[0253] In some demonstrative embodiments, camera structured light depth mapper 118 may not "see" through a lens, for example, if depth mapper 118 includes a structured light depth sensor.
[0254] In one example, the distances D1 and D2 may increase, so that the assumption that both cameras are "seeing" through the lens may not be correct.
[0255] In one example, experiments have shown that as the distance increases, both components of the depth mapper 118 may not see through the test lens for some of the field points, and as the distance is increased further, this may happen for all field points.
[0256] In another example, at very large distances the beam may not be able to travel through the lens and back to the sensor.
[0257] Please refer to FIG. 7, which illustrates a schematic of a first depth map 710 of a lens and a second depth map 720 of a lens, according to some demonstrative embodiments.
[0258] In one example, the depth maps 710 and 720 may be acquired by a structured light depth sensor.
[0259] In some demonstrative embodiments, as shown in FIG. 7, the common area 702 may include a central area through which both portions of the depth sensor may have line of sight.
[0260] In some demonstrative embodiments, depth map 710 may be acquired at a first distance D2, and depth map 720 may be acquired at a second distance D2 that is greater than the first distance.
[0261] In some demonstrative embodiments, as shown in FIG. 7, the common area 702 may increase as the distance D2 decreases.
[0262] In some demonstrative embodiments, application 160 (FIG. 1) may be configured to instruct a user of device 102 (FIG. 1) to position the lens, device 102, and / or reference object at an appropriate distance to achieve, for example, a larger common area 702, e.g., as described below.
[0263] In one example, calculations for regions surrounding the common area 702 may be different because, for example, the introduction of a lens may scale and / or shift the feature field across an object, e.g., a wall.
[0264] Please refer to FIG. 8, which illustrates a schematic diagram of a measurement scheme 800 in accordance with some demonstrative embodiments.
[0265] In one example, the measurement scheme 800 may include a reference object, e.g., a planar object, and a depth mapper 118 (FIG. 1) for acquiring a depth map through the test lens. For example, the depth mapper may include a structured light configuration, e.g., when the observation camera is not “seeing” through the test lens, or a stereo camera configuration, e.g., when the observation camera is not “seeing” through the test lens.
[0266] In one example, the feature field of the entire reference object may be scaled, eg, by introducing a test lens between the depth mapper 118 (FIG. 1) and the planar object, eg, as described below.
[0267] In one example, as shown in FIG. 8, one or more features may be projected onto a projection surface through a test lens, e.g., by a structured light projector of depth mapper 118 (FIG. 1), and acquired (imaged) by a camera that is not "looking" through the test lens, e.g., a camera of depth mapper 118 (FIG. 1).
[0268] In another example, one or more features may be captured on the projection surface through the test lens, e.g., by a first camera of the stereo camera depth mapper 118 (FIG. 1), and captured by a second camera that is not "looking" through the test lens, e.g., the second camera of the stereo camera depth mapper 118 (FIG. 1).
[0269] In some demonstrative embodiments, the location of features, e.g., each feature, for a spherical lens may be determined, for example, as follows. x p_壁_レンズあり = tan(x p / f) * (u2-(u1-f) * (u2 / f L -1))- Xp * (u2 / f L -1) X p_壁_レンズなし = tan(x p / f) * (u1+u2-f) (4)
[0270] In some demonstrative embodiments, as shown in FIG. 8, the introduction of a lens may affect the size and / or position of one or more features.
[0271] In some demonstrative embodiments, application 160 (FIG. 1) may determine the depth of a feature based on, for example, changes in size of the feature in the depth map, for example, as described below.
[0272] In one example, we may choose to use,f,based on the depth of a feature, since the,depth of the feature may not be related to the size of the,feature. L The power of the lens, expressed as:
[0273] For example, z f The assumed depth, expressed as sze, is, for example, f The size of the captured feature may be based on the size of the captured feature, denoted as: Z f =k1 * szef +k2 (5)
[0274] In one example, when a feature is projected through a test lens, the feature may change size and / or become directionally dependent, and therefore the lens depth of the feature through the lens (denoted as zf) may be determined, for example, as follows: Z f '=k1 * sze f '+k2 (6) In the above formula, sze f ' is the spherical power f L and may be a function of orientation (direction).
[0275] For example, several depth maps for several lens angles of an aspheric lens may be used to determine one or more optical parameters of, for example, a cylindrical lens.
[0276] In some demonstrative embodiments, for example, as described below, the test lens may be positioned in proximity to depth mapper 118 (FIG. 1), for example, by placing the lens in depth mapper 118 (FIG. 1), to obtain a depth map via the test lens.
[0277] In some demonstrative embodiments, the distance between the test lens and depth mapper 118 (FIG. 1), e.g., distance u1, may be set to zero, e.g., u1=0, for example, when the test lens is positioned close to depth mapper 118 (FIG. 1).
[0278] In some demonstrative embodiments, application 160 (FIG. 1) may determine the location of the feature according to, for example, Equation 4, for example, when the value of u1 is set to zero.
[0279] In some demonstrative embodiments, the depth of a feature may be determined based on, for example, a change in position of the feature, eg, a shift of the feature, eg, as described below.
[0280] Please refer to FIG. 9, which illustrates a schematic of a measurement scheme 900, in accordance with some demonstrative embodiments.
[0281] In one example, the measurement scheme 900 may include a reference object, e.g., a planar object, and a depth mapper 118 (FIG. 1) for acquiring a depth map through the test lens. For example, the depth mapper may include a structured light configuration, e.g., when the observation camera is not “seeing” through the test lens, or a stereo camera configuration, e.g., when the observation camera is not “seeing” through the test lens.
[0282] In one example, the feature field of the entire reference object may be scaled, eg, by introducing a test lens between the depth mapper 118 (FIG. 1) and the planar object, eg, as described below.
[0283] In one example, as shown in FIG. 9, one or more features may be projected onto a projection surface through a test lens, for example by a structured light projector of depth mapper 118 (FIG. 1), and acquired (imaged) by a camera that is not "looking" through the test lens, for example a camera of depth mapper 118 (FIG. 1).
[0284] In another example, one or more features may be captured on the projection surface through the test lens, e.g., by a first camera of the stereo camera depth mapper 118 (FIG. 1), and captured by a second camera that is not "looking" through the test lens, e.g., the second camera of the stereo camera depth mapper 118 (FIG. 1).
[0285] In some demonstrative embodiments, as shown in FIG. 9, the introduction of a lens may affect the size and / or position of one or more features.
[0286] In some demonstrative embodiments, application 160 (FIG. 1) may determine the depth of a feature based on, for example, a change in the position of the feature, eg, a shift of the feature, eg, as described below.
[0287] In some demonstrative embodiments, the shift of a feature may be defined as the difference between the position of the feature with the lens and the position of the feature without the lens, e.g., based on Equation 4, e.g., as follows: Feature shift = δx = X p_壁_レンズあり -X p_壁_レンズなし = = tan(x p / f) * (u2-(u1-f) * (u2 / f L -1))- Xp * (u2 / f L -1)-tan(x p / f) * (u1+u2-f) (7)
[0288] In some demonstrative embodiments, the shifting of features may result in a disparity change, as shown in FIG.
[0289] In some demonstrative embodiments, the relationship between reported depth, for example from depth sensor 118 (FIG. 1), and disparity may be determined, for example, as follows: 1 / (z+δz)=1 / z ref +d1 / (bf o ) 1 / z=1 / z ref +d2 / (bf o ) (8) In the above formula, d1 represents the measured disparity with the test lens for the pth feature, and d2 represents the measured disparity without the test lens for the pth feature.
[0290] In some demonstrative embodiments, the following relationship may be determined, for example according to Equation 8: (d1-d2) / δ x=f / z (9) In the above formula, δx represents the power of the lens.
[0291] Returning to FIG. 1, in some demonstrative embodiments, depth mapper 118 may include a ToF depth mapper.
[0292] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of the lens, for example by processing depth information from depth mapper 118 as depth information of a ToF depth measurement.
[0293] In one example, the ToF depth mapping technique may be based on the time-of-flight principle and / or based on the parallax of points captured at or projected from different coordinates in the real world.
[0294] In some demonstrative embodiments, the ToF depth measurement may include a phase shift (phase difference) / time delay, which may be converted to a distance measurement, for example, under the free space assumption.
[0295] In some demonstrative embodiments, an object point may be illuminated by a modulated optical signal and imaged onto a sensor plane, for example, using ToF optics.
[0296] In some demonstrative embodiments, the contributing rays, excluding, for example, stray light, to a given pixel may travel approximately the same optical distance, which may be the imaging condition.
[0297] In some demonstrative embodiments, the introduction of the test lens may result in a change in the optical distance of the contributing rays, e.g., there will be a different set of rays leaving the object point. If the illumination path may also pass through the test lens, the total path difference, e.g., from a scenario without a lens, may have two contributing rays, which may result in a change in the depth reading.
[0298] In some demonstrative embodiments, application 160 may be configured to determine the power of the test lens based on, for example, the amount of change in the ToF measurement and one or more configuration parameters of the ToF measurement.
[0299] In some demonstrative embodiments, the lens under test may be, for example, spherical, spherocylindrical, or cylindrical, since the lens deflects the beamlets / rays, for example by refraction or reflection, depending on its curvature.
[0300] Please refer to FIG. 10, which illustrates a schematic of a measurement scheme 1000, in accordance with some demonstrative embodiments.
[0301] In one example, the measurement scheme 1000 may include a reference object, e.g., a planar object, and a depth mapper 118 (FIG. 1) for acquiring a depth map through the test lens. For example, the depth mapper 118 (FIG. 1) may include, for example, a ToF depth mapper, in which case light rays from an illumination source of the ToF depth mapper may not "pass through" the test lens.
[0302] In some demonstrative embodiments, the test lens may include two crossed cylindrical lenses, each of which deflects light according to its power across a principal meridian.
[0303] In one example, the path of one or more contributing rays of a ToF measurement may be altered, for example, by introducing a test lens between depth mapper 118 (FIG. 1) and the planar object.
[0304] In some demonstrative embodiments, for example, the pathway レンズなし A first light path represented as レンズ For example, there may be a path difference, denoted as Δpath, between the first path, the path of the second light, denoted as Δpath. レンズなし , may be from the ToF component to a first pixel coordinate, denoted as H, without passing through the test lens, and the second path, path レンズ, may be from the ToF depth mapper through the test lens to a second pixel coordinate, denoted as H′.
[0305] In some demonstrative embodiments, application 160 may be configured to determine the path difference Δpath, for example, as follows: route レンズなし =l o +l1+l3 route レンズあり =l o +l2+l4 l4=l o +l2 l 2 3=l 2 4+d 2 2·(tan(β)-tan(α)) 2 -2·l4·d2(tan(β)-tan(α)) l2=d2 / cos(α) l1=d2 / cos(β) ΔRoute = Route レンズあり -route レンズなし =l2+l4-l1-l3 (10)
[0306] In some demonstrative embodiments, the depth sensor may measure a value directly related to the optical path, so that the path difference Δpath may be related to, for example, the power of the test lens.
[0307] Please refer to FIG. 11, which illustrates a schematic diagram of a measurement scheme 1100 in accordance with some demonstrative embodiments.
[0308] In one example, the measurement scheme 1100 may include a reference object, e.g., a planar object, and a depth mapper 118 (FIG. 1) for acquiring a depth map through the test lens. For example, the depth mapper may include a ToF depth mapper, such that light rays of an illumination source of the ToF depth mapper may "pass through" the test lens.
[0309] In some demonstrative embodiments, the test lens may include two crossed cylindrical lenses, each of which deflects light according to its power across a principal meridian.
[0310] In one example, the path of one or more contributing rays from an illumination source may be altered, for example, by introducing a test lens between the depth mapper 118 (FIG. 1) and the planar object.
[0311] In some demonstrative embodiments, for example, a path difference, denoted as Δpath, is レンズなし a first light path represented as: レンズあり For example, the first path, the illumination path, レンズなし , may be from the ToF depth mapper to a first pixel coordinate, denoted as H, without passing through the subject lens, and a second path, the illumination path レンズあり , may be from the ToF depth mapper through the test lens to a second pixel coordinate, denoted as H′.
[0312] In some demonstrative embodiments, application 160 may be configured to determine the path difference Δpath, for example, as follows: Lighting Path レンズあり =l 31 +l 32 Imaging Path レンズあり =l1+l0 Lighting Path レンズなし =l 41 +l 42 Imaging Path レンズなし =l2+l0 Δ route = Δ route 照明 +Δ pathway 撮像 (11)
[0313] In some demonstrative embodiments, the path difference Δpath may be related to, for example, the power of the test lens, since the depth sensor may measure a value directly related to the difference in sensor depth readings.
[0314] In some demonstrative embodiments, in another configuration, the light may be reflected from the front surface of the lens and reach the depth sensor. The light rays may be processed in a similar manner as described above, and the path difference may be determined in a similar manner.
[0315] Returning to FIG. 1, in some demonstrative embodiments, application 160 may be configured to determine the optical center of the lens, for example, as described below.
[0316] In some demonstrative embodiments, application 160 may be configured to locate, for example, the optical center, e.g., with respect to a lens boundary of the lens. In one example, a frame of eyeglasses containing the lens may serve as a reference point for locating the center of the lens. For example, application 160 may determine the displacement of the optical center from the reference point based on, for example, lateral distance information from depth mapper 118.
[0317] In one example, the optical center may be characterized by the fact that the beamlets 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 the same as the depth measurement without the lens may provide information about where the optical center is located.
[0318] In some demonstrative embodiments, application 160 may be configured to determine the optical center by, for example, identifying a location, e.g., relative to a reference point, of a depth measurement obtained through a lens that has the same value as a depth value at the same location, e.g., obtained without the lens.
[0319] In some demonstrative embodiments, application 160 may be configured to determine the pupillary distance (PD) of the glasses based on, for example, the optical center of the glasses' lenses, e.g., as described below.
[0320] In some demonstrative embodiments, application 160 may be configured to identify positions of the optical centers of two lenses of the eyeglasses and determine the PD of the eyeglasses based on the identified positions of the optical centers of the eyeglass lenses, for example as described below.
[0321] In some demonstrative embodiments, 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, including, for example, information regarding the orientation and size of the glasses, which may be utilized to determine the relative positions of the two optical centers.
[0322] In some demonstrative embodiments, application 160 may be configured to utilize 3D information including, for example, the orientation and size of the glasses to refine depth values of depth information from depth mapper 118, which are used to determine, for example, one or more parameters of the lenses.
[0323] In some demonstrative embodiments, application 160 may be configured to determine the plane of the glasses, for example, based on depth information corresponding to the glasses.
[0324] In some demonstrative embodiments, 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, for example, by comparing an image of an object of known scale with an image of the glasses, for example taken by camera 119 and / or any other camera.
[0325] In some demonstrative embodiments, the test lens 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.
[0326] In one example, when depth mapper 118 includes a structured light stereo camera, the direction of deflection of beamlets refracted by a cylindrical lens may be important, e.g., lens power along the meridian of the direction of the camera or IR source-sensor displacement vector may "vanish," e.g., as described below.
[0327] According to this example, the measurement of the cylindrical lens may utilize multiple depth map images rotated at different angles, for example, as described below.
[0328] In another example, the measurement of a cylindrical lens may utilize a spherocylinder solution, for example as described above.
[0329] In some demonstrative embodiments, application 160 may be configured to determine one or more, e.g., some or all, of the sphere, cylinder, and cylinder axis of the cylindrical lens, e.g., as described below.
[0330] In some demonstrative embodiments, application 160 may be configured to determine one or more optical parameters of the cylindrical lens based on, for example, multiple depth maps corresponding to multiple lens angles of the lens, e.g., as described below.
[0331] In some demonstrative embodiments, the depth maps of the multiple depth maps may correspond to lens rotations of the lens at different angles, for example.
[0332] In some demonstrative embodiments, the lens rotation may include a relative rotation between the lens and the device 102 .
[0333] In one example, lens rotation of the vision correcting lens may be performed, for example, by rotating the lens while, for example, maintaining the device 102 in a stationary position.
[0334] In another example, lens rotation of the lens may be performed, for example, by rotating the device 102 while keeping the lens stationary. According to this example, the lens rotation may be determined, for example, based on an orientation sensor, for example, a gyroscope, and / or any other sensor of the device 102.
[0335] In another example, rotation of the lens may be performed by rotating both the lens and the device 102, for example.
[0336] In one example, if depth mapper 118 includes a stereo camera, dual camera, etc., the direction of the light beam refracted by the lens may be based on the cylindrical power and cylindrical axis of the cylindrical lens. For example, the cylindrical power of the lens along the meridian of the stereo camera or IR source-sensor direction of depth mapper 118 may "vanish," e.g., as described below.
[0337] According to this example, multiple depth maps rotated at different angles may be used to estimate, for example correctly, the cylinder axis of a cylindrical lens.
[0338] In some demonstrative embodiments, application 160 may be configured to determine the cylinder power and / or cylinder axis of the lens based on, for example, pre-calculated depth map information and / or any other method and / or algorithm.
[0339] In one example, a sphero-cylindrical lens may include a lens having a primary aberration as described, for example, by a Zernike quadratic term.
[0340] In some demonstrative embodiments, application 160 may be configured to determine the sphere across the two principal lens meridians and the axis of the two principal lens meridians, for example, in a world reference frame. For example, for spectacle lenses, the axis measurement may be relative to the horizon of the frame, and the optical parameters may include sphere, cylinder, and axis.
[0341] Please refer to FIG. 12, which diagrammatically 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, according to some demonstrative embodiments.
[0342] In one example, depth maps 1210 and 1220 may be obtained using measurement system 300 (FIG. 3), for example, when lens 315 (FIG. 3) includes a cylindrical lens.
[0343] In one example, the depth map 1210 may be acquired when a cylindrical lens is rotated such that the cylindrical axis of the lens is vertical.
[0344] In one example, the depth map 1220 may be acquired when a cylindrical lens is rotated such that the cylindrical axis of the lens is horizontal.
[0345] 12, the depth information 1213 through a cylindrical lens, e.g., when the cylinder axis is vertical, differs from the depth information 1223 through a cylindrical lens, e.g., when the cylinder axis is horizontal, while the depth information of, e.g., depth maps 1210 and / or 1220 may be the same, e.g., for opaque objects 1217, e.g., object 317 (FIG. 3), and walls, e.g., in areas captured without a lens. For example, according to the depth information 1223, the lens may appear to "disappear."
[0346] 1, in some demonstrative embodiments, application 160 may be configured to determine a complete prescription for a cylindrical lens, including, for example, the sphere, cylinder, and / or axis of the cylindrical lens, e.g., by repeating the process for the cylindrical lens, e.g., as described above, while lens or depth mapper 118 is rotated, e.g., in the plane of the lens. In one example, stereo vision depth maps for magnification calculations may have induced axis system limitations.
[0347] In some demonstrative embodiments, application 160 may be configured to evaluate the magnification at the lens meridian and fit the result to an ellipse, which may define the sphere, cylinder, and / or axis of the cylindrical lens.
[0348] In one example, to precisely define that ellipse, for example, five different lens angles may theoretically be suitable to obtain a perfect prescription for a cylindrical lens.
[0349] In another example, more than five different lens angles may be used, for example to increase precision of the prescription.
[0350] In some demonstrative embodiments, application 160 may be configured to determine a complete prescription for a cylindrical lens, eg, without lens rotation, eg, as described below.
[0351] In some demonstrative embodiments, device 102 may include multiple depth mappers 118, for example, separate or obtained using optically assisted division of a single sensor by spatial multiplexing.
[0352] In some demonstrative embodiments, the multiple depth mappers 118 may provide depth information corresponding to multiple orientations or meridians of the lens, such that the acquired depth maps of the depth mappers may correspond to different lens effects, e.g., different angles / meridians.
[0353] In some demonstrative embodiments, application 160 may be configured to perform one or more calculations to determine, for example, one or more parameters of the lens based on measurements of multiple meridians, for example using a set of equations each having an unknown parameter, e.g., power along a meridian.
[0354] See FIG. 13, which is a schematic illustration of a lens angle ellipse 1300, according to some demonstrative embodiments.
[0355] As shown in FIG. 13, five different lens angles may be suitable to precisely define an ellipse 1300, for example, to obtain a perfect prescription for a cylindrical lens.
[0356] In some demonstrative embodiments, application 160 may be configured to determine a cylindrical lens prescription, e.g., a partial or complete prescription, including, e.g., the sphere, cylinder, and / or axis of the cylindrical lens, e.g., by analyzing two or more meridians of the cylindrical lens, e.g., without rotating the lens and / or device 102, e.g., as described below.
[0357] In one example, the light of the IR emitter of the depth mapper 118 may be split and projected, e.g., via a beam splitter and / or via different prisms, at different angles, into two or more meridians, e.g., to analyze the two or more meridians, e.g., simultaneously. According to this example, the application 160 may, e.g., determine the entire lens prescription without having to rotate the device 102 and / or the lens.
[0358] In some demonstrative embodiments, for example, the relative angle of the lens with respect to at least one predefined axis when the depth map is captured by depth mapper 118 may affect one or more optical parameters of the lens, for example at least the nominal lens power of the lens, as described below.
[0359] In one example, the predefined 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 an axis along which and / or with respect to which the depth mapper 118 provides the depth map.
[0360] In some demonstrative embodiments, the relative angle of the lenses may be changed, for example, when changing the orientation of device 102 and / or the orientation of the lenses.
[0361] In some demonstrative embodiments, application 160 may be configured to perform one or more operations and / or prompt the user to perform one or more operations, e.g., to enable application 160 to take into account the effect of the relative angle of the lenses, e.g., as described below.
[0362] In some demonstrative embodiments, application 160 may be configured to instruct the user to tilt a lens or glasses including the lens to multiple lens tilts along a predefined axis and obtain multiple depth maps at the multiple lens tilts.
[0363] In some demonstrative embodiments, application 160 may be configured to derive a nominal lens power for the lens based on information from the multiple depth maps, for example.
[0364] In some demonstrative embodiments, application 160 may be configured to determine the relative angle of the lens, e.g., as described below, and determine one or more optical parameters of the lens based on the relative angle of the lens when the depth map is acquired.
[0365] In some demonstrative embodiments, application 160 may be configured to estimate the relative angle between the lens and the depth sensor axis when the depth map is acquired, e.g., via an occlusion feature of a frame holding the lens, e.g., as described below.
[0366] In one example, geometric information may be obtained from a visible sensor, for example between 400-700 nanometers (nm), or any other wavelength sensor, which may be used to estimate deformations of the lenses and / or glasses, for example, changes in the viewpoint of the glasses, assuming symmetry of the glasses. For example, the right portion of the glasses may be larger than the left portion of the glasses, based on the relative angle of the lenses and / or glasses to a predefined axis.
[0367] In another example, a depth map of occlusion features may be used to estimate the frame angle, for example, relative to the depth sensor axis. For example, a set of several distance information pixels across the entire frame may be used to describe, for example, the orientation of the complete frame.
[0368] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of the lens based on a determined relative angle, represented as θ, between the lens and a predefined axis, e.g., when a depth map is obtained by depth mapper 118, e.g., as described below.
[0369] In some demonstrative embodiments, application 160 may, for example, calculate F based on the relative angle θ, e.g., as follows: SPH To correct the estimated spherical power, F NEWSPH The power correction may be determined as follows:
number
[0370] In some demonstrative embodiments, application 160 may use, for example, the following formula to correct the estimated cylinder power based on the relative angle θ and the power correction: INDCYL The method may be configured to determine a cylindrical correction value, expressed as: C INDCYL =F NEWSPH Tan2 θ (13)
[0371] In some demonstrative embodiments, application 160 may be configured to determine the refractive index (n) of the lens based on multiple images acquired at multiple lens rotations (tilts), e.g., as described below.
[0372] In some demonstrative embodiments, application 160 may be configured to determine the refractive index of the lens, for example, by analyzing two or more images (images) acquired at different lens tilts, e.g., tilts relative to an axis between the depth sensor and the lens, deriving at least two angles of the lens, and then determining the refractive index based on, for example, the change in power perceived at each lens tilt of the lens and the angle of the lens tilt.
[0373] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of the test lens based on, for example, an image of the reference object through the lens, e.g., an RGB image, in addition to depth information of the reference object through the lens.
[0374] In one example, the depth map may be combined with an RGB image of a reference object through the lens, e.g., by applying registration between the depth map and the RGB image when the depth map is acquired, and using image processing techniques to analyze, e.g., the size of the reference object through the lens, and the depth map data.
[0375] In some demonstrative embodiments, application 160 may be configured to determine, for example, a cylindrical power and / or a cylindrical axis of a cylindrical lens based on, for example, the RGB image and the depth map, for example, as described below.
[0376] In some demonstrative embodiments, the reference object may include a planar object that may have different sizes and may have one or more features, for example, scattered across the planar object.
[0377] In some demonstrative embodiments, application 160 may be configured to determine a size and / or position of one or more features based on, for example, a depth map of a reference object.
[0378] In some demonstrative embodiments, application 160 may be configured to process a first captured image including an image of one or more features captured without a lens, e.g., as described below, process a second captured image including an image of one or more features captured through the lens, and determine one or more optical parameters of the lens, e.g., based on a comparison of 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 through the lens, and the size and position of the one or more features.
[0379] In some demonstrative embodiments, application 160 may be configured to determine one or more parameters of a cylindrical lens using a depth mapper that includes, for example, a calibrated stereo camera, e.g., where each camera of the depth mapper is calibrated, and a planar object. For example, focusing of the camera on the planar object may not be required.
[0380] In some demonstrative embodiments, application 160 may be configured to trigger, cause, and / or control depth mapper 118 to acquire a first image of a planar object, e.g., by at least one camera of depth mapper 118, while no cylindrical lens is present.
[0381] In some demonstrative embodiments, application 160 may be configured to detect features in the first image and assign a metric characteristic to each feature, e.g., the position (x, y, z) of each feature in the camera coordinate system may be determined based on, for example, depth information and / or vision information.
[0382] In some demonstrative embodiments, application 160 may be configured to instruct a user of device 102 to place the cylindrical lens at a distance D2 from depth mapper 118, such as halfway between a wall and device 102, or at any other distance.
[0383] In one example, the distance D2 may be determined, for example, from an opaque rim of a lens or glasses, for example, by assuming a cylindrical lens is halfway between the wall and the device 102, or by the depth mapper 118, for example, as described above.
[0384] In some demonstrative embodiments, application 160 may be configured to instruct a user of device 102 to launch depth mapper 118 to obtain depth map information through the lens, for example, when the lens is between device 102 and a background object.
[0385] In some demonstrative embodiments, application 160 may be configured to initiate and / or cause depth mapper 118 to obtain depth map information through the lens, for example, when the lens is between device 102 and a background object.
[0386] In some demonstrative embodiments, application 160 may be configured to trigger, cause, and / or control depth mapper 118 to acquire a second image of the feature, for example, via a cylindrical lens, by at least one camera of depth mapper 118.
[0387] In some demonstrative embodiments, application 160 may be configured to detect features and / or map features into the first image.
[0388] In some demonstrative embodiments, application 160 may be configured to determine a transformation function or transformation matrix from a first image, e.g., an original lens-less feature map, to a second image, e.g., a “lens-through” feature map.
[0389] In one example, for a degenerate spherical lens, the transformation may include translation and scaling, where a scale parameter is used to calculate the sphere.
[0390] In another example, for a spherocylindrical lens, the transformation may include translation, rotation and / or scaling operations.
[0391] In some demonstrative embodiments, application 160 may be configured to separate the rotation axis and scale of the translation direction to determine one or more optical parameters, for example, by decomposing the transformation matrix into a translation matrix, a rotation matrix, and / or a scale matrix. For example, the scale and rotation parameters for determining the one or more optical parameters may be defined and / or determined using any suitable method.
[0392] See Fig. 14, which illustrates a schematic diagram of a method for determining one or more parameters of a lens, according to some demonstrative embodiments. For example, one or more operations of the method of Fig. 14 may be performed by a system, e.g., system 100 (Fig. 1), a device, e.g., device 102 (Fig. 1), a server, e.g., server 170 (Fig. 1), and / or an application, e.g., application 160 (Fig. 1).
[0393] In some demonstrative embodiments, the method may include processing at least one depth map that includes depth information obtained through the lens, as indicated by block 1402. For example, application 160 (FIG. 1) may process at least one depth map from depth mapper 118 (FIG. 1) that includes depth information obtained through the lens, e.g., as described above.
[0394] In some demonstrative embodiments, the method may include determining one or more parameters of the lens based on the depth information, as indicated at block 1404. For example, application 160 (FIG. 1) may determine the one or more parameters of the lens based on the depth information from depth mapper 118 (FIG. 1), e.g., as described above.
[0395] See FIG. 15, which diagrammatically illustrates a product 1500, according to some demonstrative embodiments. The product 1500 may include one or more tangible, computer-readable, non-transitory storage media 1502, which may include computer-executable instructions, e.g., computer-executable instructions, which when implemented by logic 1504 and executed by at least one computer processor, are operable to enable the at least one computer processor to perform one or more operations (computations) in the device 102 (FIG. 1), the server 170 (FIG. 1), the depth mapper 118 (FIG. 1), and / or the application 160 (FIG. 1), and / or to implement, trigger, and / or perform one or more operations, communications, and / or functionality according to one or more of FIGS. 1-14, and / or one or more operations described herein. The term "non-transitory, machine-readable medium" is intended to include all computer-readable media with the sole exception of a transitory, propagating signal.
[0396] 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, writeable or rewriteable memory, etc. For example, the machine-readable storage medium 1502 may include a RAM, a DRAM, a double data rate DRAM (DDR-DRAM), a SDRAM, a static RAM (SRAM), a ROM, a programmable ROM (PROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), a compact disc ROM (CD-ROM), a recordable compact disc (CD-R), a rewritable compact disc (CD-RW), a flash memory (e.g., a NOR flash memory or a NAND flash memory), a content addressable memory (CAM), a polymer memory, a phase change memory, a ferroelectric memory, a silicon-oxide-nitride-oxide-silicon (SONOS) memory, a disk, a solid state drive (SSD), a floppy disk, a hard drive, an optical disk, a magnetic disk, a card, a magnetic card, an optical card, a tape, a cassette, and the like. The computer-readable storage medium may include any suitable medium involved in the downloading or transfer of a computer program from a remote computer to a requesting computer, carried by a data signal embodied in a carrier wave or other propagation medium via a communications link, such as a modem, wireless connection or network connection.
[0397] In some demonstrative embodiments, logic 1504 may include instructions, data, and / or code that, when executed by a machine, may cause the machine to perform the methods, processes, and / or operations 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.
[0398] In some demonstrative embodiments, logic 1504 may include or be implemented as software, a software module, an application, a program, a subroutine, an instruction, an instruction set, computing code, words, values, symbols, etc. The instructions may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, etc. The instructions may be implemented according to a predefined computer language, manner, or syntax for instructing a processor to perform a particular function. The 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. EXAMPLES
[0399] The following examples are of further embodiments.
[0400] Example 1 includes an article of manufacture that includes one or more tangible, computer-readable, non-transitory storage media including computer-executable instructions that, when executed by at least one computer processor, enable the at least one computer processor to cause a computing device to process at least one depth map that includes depth information obtained through a lens, and determine one or more parameters of the lens based on the depth information.
[0401] Example 2 includes the subject matter of Example 1, and optionally, the instructions, when executed, cause the computing device to identify a depth value corresponding to an 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, where the first distance is between the object and a depth sensor and the second distance is between the depth sensor and the lens.
[0402] Example 3 includes the subject matter of Example 2, and optionally, the instructions, when executed, cause the computing device to identify depth information in the depth map that was obtained without the lens, and determine at least one of the first distance or the second distance based on the depth information that was obtained without the lens.
[0403] Example 4 includes the subject matter of Example 2 or Example 3, and optionally, the instructions, when executed, cause the computing device to identify an area in the depth map that corresponds to an element on a surface of the lens, and determine the second distance based on depth information in the area corresponding to the element.
[0404] Example 5 includes the subject matter of example 4, and optionally, the element includes an opaque rim of the lens or a frame that holds the lens.
[0405] Example 6 includes the subject matter of any one of Examples 2 to 5, and optionally, the instructions, when executed, cause the computing device to identify an area in the depth map that corresponds to a surface that includes the object, and determine the second distance based on depth information in the area that corresponds to a surface that includes the element.
[0406] Example 7 includes the subject matter of any one of Examples 2 to 6, and optionally, the object includes a wall.
[0407] Example 8 includes the subject matter of any one of Examples 2 to 7, and optionally, 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 particular setting of at least one of the first distance or the second distance is reached.
[0408] Example 9 includes the subject matter of any one of Examples 2 to 8, and optionally, the instructions, when executed, cause the computing device to instruct a user to position the lens over the mirror such that the first distance comprises an optical distance that is twice the distance between the depth sensor and a mirror.
[0409] Example 10 includes the subject matter of any one of Examples 2 to 9, and optionally, 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.
[0410] Example 11 includes the subject matter of any one of Examples 1 to 10, and optionally, the instructions, when executed, cause the computing device to instruct a user to position the lens between the depth sensor and the object such that the depth information includes depth information of the object acquired by the depth sensor through the lens.
[0411] Example 12 includes the subject matter of any one of Examples 1 to 11, and optionally, the instructions, when executed, cause the computing device to identify an area in the depth map that corresponds to the lens, and determine the one or more parameters of the lens based on a dimension of the area that corresponds to the lens.
[0412] Example 13 includes the subject matter of any one of Examples 1 to 12, and optionally, the instructions, when executed, cause the computing device to determine the one or more parameters of the lens based on a plurality of different depth maps obtained through the lens.
[0413] Example 14 includes the subject matter of Example 13, and optionally, the plurality of different depth maps includes at least a first depth map and a second depth map, the first depth map being acquired through the lens when the lens is in a first position relative to the depth sensor, and the second depth map being acquired through the lens when the lens is in a second position relative to the depth sensor that is different from the first position.
[0414] Example 15 includes the subject matter of Example 13 or Example 14, and optionally, the plurality of different depth maps includes at least a first depth map and a second depth map, the first depth map including a depth map obtained through the lens when the lens is at a first rotational angle within the plane of the lens, and the second depth map including a depth map obtained through the lens when the lens is at a second rotational angle within the plane of the lens.
[0415] Example 16 includes the subject matter of Example 15, and optionally, the instructions, when executed, cause the computing device 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.
[0416] Example 17 includes the subject matter of any one of Examples 1 to 12, and optionally, the instructions, when executed, cause the computing device to determine the one or more parameters of the lens based on a single depth map obtained through the lens.
[0417] Example 18 includes the subject matter of any one of Examples 1 to 17, and optionally, the instructions, when executed, cause the computing device to identify, in the depth map, one or more depth values obtained through the lens, and determine the one or more parameters of the lens based on the one or more depth values obtained through the lens.
[0418] Example 19 includes the subject matter of any one of Examples 1 to 18, and optionally, the instructions, when executed, cause the computing device to identify in the depth map one or more first depth values obtained through the lens and one or more second depth values obtained without the lens, and determine the one or more parameters of the lens based on the first depth values and the second depth values.
[0419] Example 20 includes the subject matter of any one of Examples 1 to 19, and optionally, the instructions, when executed, cause the computing device to process image information of an image of an object captured by the camera through the lens when the lens is between the camera and the object, determine a magnification value based on a magnification between an imaged dimension of the object and an actual dimension of the object, and determine the one or more parameters of the lens based on the depth information and the magnification value.
[0420] Example 21 includes the subject matter of any one of Examples 1 to 20, and optionally, the instructions, when executed, cause the computing device to determine the one or more parameters of the lens based on one or more configuration parameters of a depth sensor from which the depth map is provided.
[0421] Example 22 includes the subject matter of example 21, and optionally, the one or more configuration parameters include a type of the depth sensor.
[0422] Example 23 includes the subject matter of example 21 or example 22, and optionally, the one or more configuration parameters include a wavelength of electromagnetic radiation utilized by the depth sensor to generate the depth map.
[0423] Example 24 includes the subject matter of any one of Examples 1 to 23, and optionally, the instructions, when executed, cause the computing device to determine the one or more parameters of the lens by processing the depth information as structured light depth measurement depth information.
[0424] Example 25 includes the subject matter of any one of Examples 1 to 23, and optionally, the instructions, when executed, cause the computing device to determine the one or more parameters of the lens by processing the depth information as depth information of a time-of-flight (ToF) depth measurement.
[0425] Example 26 includes the subject matter of any one of Examples 1 to 25, and optionally, the instructions, when executed, cause the computing device to determine the 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.
[0426] Example 27 includes the subject matter of any one of Examples 1 to 26, and optionally, the instructions, when executed, cause the computing device to determine the one or more optical parameters for the spherocylindrical lens.
[0427] Example 28 includes the subject matter of any one of Examples 1 to 26, and optionally, the instructions, when executed, cause the computing device to determine the one or more optical parameters for a bifocal or multifocal lens.
[0428] Example 29 includes the subject matter of any one of Examples 1 to 28, and optionally, the one or more parameters of the lens include at least one of a sphere of the lens, a cylinder of the lens, a cylinder axis of the lens, a sign of the lens, or a center of the lens.
[0429] Example 30 includes a device including a depth sensor for generating a depth map including depth information obtained through a lens, and a lens metrology module for determining one or more parameters of the lens based at least on the depth map.
[0430] Example 31 includes the subject matter of Example 30, and optionally, the lens metrology module identifies a depth value corresponding to an object in the depth map, and determines the one or more parameters of the lens based on the depth value corresponding to the object, a first distance, and a second distance, the first distance being between the object and a depth sensor, and the second distance being between the depth sensor and the lens.
[0431] Example 32 includes the subject matter of Example 31, and optionally, the lens measurement module identifies depth information in the depth map that was obtained without the lens, and determines at least one of the first distance or the second distance based on the depth information obtained without the lens.
[0432] Example 33 includes the subject matter of Example 31 or Example 32, and optionally, the lens metrology module identifies an area in the depth map that corresponds to an element on a surface of the lens, and determines the second distance based on depth information in the area corresponding to the element.
[0433] Example 34 includes the subject matter of Example 33, and optionally, the element includes an opaque rim of the lens or a frame that holds the lens.
[0434] Example 35 includes the subject matter of any one of Examples 31 to 34, and optionally, the lens measurement module identifies an area in the depth map corresponding to a surface including the object, and determines the second distance based on depth information in the area corresponding to a surface including the element.
[0435] Example 36 includes the subject matter of any one of Examples 31 to 35, and optionally, the object includes a wall.
[0436] Example 37 includes the subject matter of any one of Examples 31 to 36, and optionally, the lens measurement module instructs 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.
[0437] Example 38 includes the subject matter of any one of Examples 31 to 37, and optionally, the lens measurement module instructs a user to position the lens over the mirror such that the first distance comprises an optical distance that is twice the distance between the depth sensor and the mirror.
[0438] Example 39 includes the subject matter of any one of Examples 31 to 38, and optionally, the lens measurement module instructs a user to position the lens relative to the depth sensor so that the second distance is half the first distance.
[0439] Example 40 includes the subject matter of any one of Examples 30 to 39, and optionally, the lens measurement module instructs a user to position the lens between the depth sensor and the object such that the depth information includes depth information of the object acquired by the depth sensor through the lens.
[0440] Example 41 includes the subject matter of any one of Examples 30 to 40, and optionally, the lens metrology module determines the one or more parameters of the lens based on identifying an area in the depth map corresponding to the lens and dimensions of the area corresponding to the lens.
[0441] Example 42 includes the subject matter of any one of Examples 30 to 41, and optionally, the lens metrology module determines the one or more parameters of the lens based on a plurality of different depth maps obtained through the lens.
[0442] Example 43 includes the subject matter of Example 42, and optionally, the plurality of different depth maps includes at least a first depth map and a second depth map, the first depth map being acquired through the lens when the lens is in a first position relative to the depth sensor, and the second depth map being acquired through the lens when the lens is in a second position relative to the depth sensor that is different from the first position.
[0443] Example 44 includes the subject matter of Example 42 or Example 43, and optionally, the plurality of different depth maps includes at least a first depth map and a second depth map, the first depth map including a depth map obtained through the lens when the lens is at a first rotation angle within the plane of the lens, and the second depth map including a depth map obtained through the lens when the lens is at a second rotation angle within the plane of the lens.
[0444] Example 45 includes the subject matter of Example 44, and optionally, the lens metrology module determines 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.
[0445] Example 46 includes the subject matter of any one of Examples 30 to 41, and optionally, the lens metrology module determines the one or more parameters of the lens based on a single depth map acquired through the lens.
[0446] Example 47 includes the subject matter of any one of Examples 30 to 46, and optionally, the lens metrology module identifies one or more depth values obtained through the lens in the depth map, and determines the one or more parameters of the lens based on the one or more depth values obtained through the lens.
[0447] Example 48 includes the subject matter of any one of Examples 30 to 47, and optionally, the lens metrology module identifies one or more first depth values obtained through the lens and one or more second depth values obtained without the lens in the depth map, and determines the one or more parameters of the lens based on the first depth values and the second depth values.
[0448] Example 49 includes the subject matter of any one of Examples 30 to 48, and optionally, the lens metrology module processes image information of an image of an object acquired by the camera through the lens when the lens is between the camera and the object, determines a magnification value based on a magnification between an imaged dimension of the object and an actual dimension of the object, and determines the one or more parameters of the lens based on the depth information and the magnification value.
[0449] Example 50 includes the subject matter of any one of Examples 30 to 49, and optionally, the lens metrology module determines the one or more parameters of the lens based on one or more configuration parameters of a depth sensor from which the depth map is provided.
[0450] Example 51 includes the subject matter of example 50, and optionally, the one or more configuration parameters include a type of the depth sensor.
[0451] Example 52 includes the subject matter of example 50 or example 51, and optionally, the one or more configuration parameters include a wavelength of electromagnetic radiation utilized by the depth sensor to generate the depth map.
[0452] Example 53 includes the subject matter of any one of Examples 30 to 52, and optionally, the lens metrology module determines the one or more parameters of the lens by processing the depth information as depth information of a structured light depth measurement.
[0453] Example 54 includes the subject matter of any one of Examples 30 to 52, and optionally, the lens metrology module determines the one or more parameters of the lens by processing the depth information as depth information of a time-of-flight (ToF) depth measurement.
[0454] Example 55 includes the subject matter of any one of Examples 30 to 54, and optionally, the lens metrology module determines the 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.
[0455] Example 56 includes the subject matter of any one of Examples 30 to 55, and optionally, the lens metrology module determines the one or more optical parameters for a spherocylindrical lens.
[0456] Example 57 includes the subject matter of any one of Examples 30 to 55, and optionally, the lens metrology module determines the one or more optical parameters for a bifocal or multifocal lens.
[0457] Example 58 includes the subject matter of any one of Examples 30 to 57, and optionally, the one or more parameters of the lens include at least one of 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.
[0458] Example 59 includes a method for determining one or more optical parameters of a lens, the method comprising: processing at least one depth map including depth information obtained through the lens; and determining the one or more parameters of the lens based on at least the depth map.
[0459] Example 60 includes the subject matter of Example 59, and optionally includes identifying a depth value corresponding to an object in the depth map, and determining the one or more parameters of the lens based on the depth value corresponding to the object, a first distance, and a second distance, where the first distance is between the object and a depth sensor and the second distance is between the depth sensor and the lens.
[0460] Example 61 includes the subject matter of Example 60, and optionally includes identifying depth information in the depth map that was obtained without the lens, and determining at least one of the first distance or the second distance based on the depth information obtained without the lens.
[0461] Example 62 includes the subject matter of Example 60 or Example 61, and optionally includes identifying an area in the depth map that corresponds to an element on a surface of the lens, and determining the second distance based on depth information in the area that corresponds to the element.
[0462] Example 63 includes the subject matter of Example 62, and optionally, the element includes an opaque rim of the lens or a frame that holds the lens.
[0463] Example 64 includes the subject matter of any one of Examples 60 to 63, and optionally includes identifying an area in the depth map corresponding to a surface that includes the object, and determining the second distance based on depth information in the area corresponding to a surface that includes the element.
[0464] Example 65 includes the subject matter of any one of Examples 60 to 64, and optionally, the object includes a wall.
[0465] Example 66 includes the subject matter of any one of Examples 60 to 65, and optionally includes a step of 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.
[0466] Example 67 includes the subject matter of any one of Examples 60 to 66, and optionally includes instructing a user to position the lens over the mirror such that the first distance comprises an optical distance that is twice the distance between the depth sensor and the mirror.
[0467] Example 68 includes the subject matter of any one of Examples 60 to 67, and optionally includes a step of instructing a user to position the lens relative to the depth sensor so that the second distance is half the first distance.
[0468] Example 69 includes the subject matter of any one of Examples 59 to 68, and optionally includes a step of 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 acquired by the depth sensor through the lens.
[0469] Example 70 includes the subject matter of any one of Examples 59 to 69, and optionally includes identifying an area in the depth map corresponding to the lens, and determining the one or more parameters of the lens based on dimensions of the area corresponding to the lens.
[0470] Example 71 includes the subject matter of any one of Examples 59 to 70, and optionally includes a step of determining the one or more parameters of the lens based on a plurality of different depth maps obtained through the lens.
[0471] Example 72 includes the subject matter of Example 71, and optionally, the plurality of different depth maps includes at least a first depth map and a second depth map, the first depth map being acquired through the lens when the lens is in a first position relative to the depth sensor, and the second depth map being acquired through the lens when the lens is in a second position relative to the depth sensor that is different from the first position.
[0472] Example 73 includes the subject matter of Example 71 or Example 72, and optionally, the plurality of different depth maps includes at least a first depth map and a second depth map, the first depth map including a depth map obtained through the lens when the lens is at a first rotation angle within the plane of the lens, and the second depth map including a depth map obtained through the lens when the lens is at a second rotation angle within the plane of the lens.
[0473] Example 74 includes the subject matter of Example 73, and optionally includes 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.
[0474] Example 75 includes the subject matter of any one of Examples 59 to 70, and optionally includes determining the one or more parameters of the lens based on a single depth map obtained through the lens.
[0475] Example 76 includes the subject matter of any one of Examples 59 to 75, and optionally includes identifying one or more depth values obtained through the lens in the depth map, and determining the one or more parameters of the lens based on the one or more depth values obtained through the lens.
[0476] Example 77 includes the subject matter of any one of Examples 59 to 76, and optionally includes identifying in the depth map one or more first depth values obtained through the lens and one or more second depth values obtained without the lens, and determining the one or more parameters of the lens based on the first depth values and the second depth values.
[0477] Example 78 includes the subject matter of any one of Examples 59 to 77, and optionally includes a step of processing image information of an image of an object acquired by the camera through the lens when the lens is between the camera and the object; determining a magnification value based on a magnification between an imaged dimension of the object and an actual dimension of the object; and determining the one or more parameters of the lens based on the depth information and the magnification value.
[0478] Example 79 includes the subject matter of any one of Examples 59 to 78, and optionally includes determining the one or more parameters of the lens based on one or more configuration parameters of a depth sensor from which the depth map is provided.
[0479] Example 80 includes the subject matter of example 79, and optionally, the one or more configuration parameters include a type of the depth sensor.
[0480] Example 81 includes the subject matter of example 79 or example 80, and optionally, the one or more configuration parameters include a wavelength of electromagnetic radiation utilized by the depth sensor to generate the depth map.
[0481] Example 82 includes the subject matter of any one of Examples 59 to 81, and optionally includes determining the one or more parameters of the lens by processing the depth information as structured light depth measurement depth information.
[0482] Example 83 includes the subject matter of any one of Examples 59 to 81, and optionally includes determining the one or more parameters of the lens by processing the depth information as depth information of a time-of-flight (ToF) depth measurement.
[0483] Example 84 includes the subject matter of any one of Examples 59 to 83, and optionally includes determining the 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.
[0484] Example 85 includes the subject matter of any one of Examples 59 to 84, and optionally includes determining the one or more optical parameters for the spherocylindrical lens.
[0485] Example 86 includes the subject matter of any one of Examples 59 to 84, and optionally includes determining the one or more optical parameters for the bifocal or multifocal lens.
[0486] Example 87 includes the subject matter of any one of Examples 59 to 86, and optionally, the one or more parameters of the lens include at least one of 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.
[0487] Example 88 includes an apparatus for determining one or more optical parameters of a lens, the apparatus including means for processing at least one depth map including depth information obtained through the lens, and means for determining the one or more parameters of the lens based on at least the depth map.
[0488] Example 89 includes the subject matter of Example 88, and optionally includes means for identifying a depth value corresponding to an object in the depth map, and means for determining the one or more parameters of the lens based on the depth value corresponding to the object, a first distance, and a second distance, where the first distance is between the object and a depth sensor and the second distance is between the depth sensor and the lens.
[0489] Example 90 includes the subject matter of Example 89, and optionally includes means for identifying depth information in the depth map that was obtained without the lens, and means for determining at least one of the first distance or the second distance based on the depth information obtained without the lens.
[0490] Example 91 includes the subject matter of Example 89 or Example 90, and optionally includes means for identifying an area in the depth map that corresponds to an element on a surface of the lens, and means for determining the second distance based on depth information in the area corresponding to the element.
[0491] Example 92 includes the subject matter of Example 91, and optionally, the element includes an opaque rim of the lens or a frame that holds the lens.
[0492] Example 93 includes the subject matter of any one of Examples 89 to 92, and optionally includes means for identifying an area in the depth map corresponding to a surface including the object, and means for determining the second distance based on depth information in the area corresponding to a surface including the element.
[0493] Example 94 includes the subject matter of any one of Examples 89 to 93, and optionally, the object includes a wall.
[0494] Example 95 includes the subject matter of any one of Examples 89 to 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.
[0495] Example 96 includes the subject matter of any one of Examples 89 to 95, and optionally includes means for instructing a user to position the lens over the mirror such that the first distance comprises an optical distance that is twice the distance between the depth sensor and the mirror.
[0496] Example 97 includes the subject matter of any one of Examples 89 to 96, and optionally includes means for instructing a user to position the lens relative to the depth sensor so that the second distance is half the first distance.
[0497] Example 98 includes the subject matter of any one of Examples 88 to 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 acquired by the depth sensor through the lens.
[0498] Example 99 includes the subject matter of any one of Examples 88 to 98, and optionally includes means for identifying an area in the depth map corresponding to the lens, and means for determining the one or more parameters of the lens based on dimensions of the area corresponding to the lens.
[0499] Example 100 includes the subject matter of any one of Examples 88 to 99, and optionally includes means for determining the one or more parameters of the lens based on a plurality of different depth maps obtained through the lens.
[0500] Example 101 includes the subject matter of Example 100, and optionally, the plurality of different depth maps includes at least a first depth map and a second depth map, the first depth map being acquired through the lens when the lens is in a first position relative to the depth sensor, and the second depth map being acquired through the lens when the lens is in a second position relative to the depth sensor that is different from the first position.
[0501] Example 102 includes the subject matter of Example 100 or Example 101, and optionally, the plurality of different depth maps includes at least a first depth map and a second depth map, the first depth map including a depth map obtained through the lens when the lens is at a first rotation angle within the plane of the lens, and the second depth map including a depth map obtained through the lens when the lens is at a second rotation angle within the plane of the lens.
[0502] Example 103 includes the subject matter of Example 102, and optionally includes means for determining at least one of a cylinder axis of the lens or a cylinder power of the lens based on the first depth map and the second depth map.
[0503] Example 104 includes the subject matter of any one of Examples 88 to 99, and optionally includes means for determining the one or more parameters of the lens based on a single depth map obtained through the lens.
[0504] Example 105 includes the subject matter of any one of Examples 88 to 104, and optionally includes means for identifying one or more depth values obtained through the lens in the depth map, and means for determining the one or more parameters of the lens based on the one or more depth values obtained through the lens.
[0505] Example 106 includes the subject matter of any one of Examples 88 to 105, and optionally includes means for identifying in the depth map one or more first depth values obtained through the lens and one or more second depth values obtained without the lens, and means for determining the one or more parameters of the lens based on the first depth values and the second depth values.
[0506] Example 107 includes the subject matter of any one of Examples 88 to 106, and optionally includes means for processing image information of an image of an object acquired by the camera through the lens when the lens is between the camera and the object, means for determining a magnification value based on a magnification between an imaged dimension of the object and an actual dimension of the object, and means for determining the one or more parameters of the lens based on the depth information and the magnification value.
[0507] Example 108 includes the subject matter of any one of Examples 88 to 107, and optionally includes means for determining the one or more parameters of the lens based on one or more configuration parameters of a depth sensor from which the depth map is provided.
[0508] Example 109 includes the subject matter of example 108, and optionally, the one or more configuration parameters include a type of the depth sensor.
[0509] Example 110 includes the subject matter of example 108 or example 109, and optionally, the one or more configuration parameters include a wavelength of electromagnetic radiation utilized by the depth sensor to generate the depth map.
[0510] Example 111 includes the subject matter of any one of Examples 88 to 110, and optionally includes means for determining the one or more parameters of the lens by processing the depth information as structured light depth measurement depth information.
[0511] Example 112 includes the subject matter of any one of Examples 88 to 110, and optionally includes means for determining the one or more parameters of the lens by processing the depth information as depth information of a time-of-flight (ToF) depth measurement.
[0512] Example 113 includes the subject matter of any one of Examples 88 to 112, and optionally includes means for determining the 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.
[0513] Example 114 includes the subject matter of any one of Examples 88 to 113, and optionally includes means for determining the one or more optical parameters for the spherocylindrical lens.
[0514] Example 115 includes the subject matter of any one of Examples 88 to 113, and optionally includes means for determining the one or more optical parameters for the bifocal or multifocal lens.
[0515] Example 116 includes the subject matter of any one of Examples 88 to 115, and optionally, the one or more parameters of the lens include at least one of 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.
[0516] Any features, operations, components and / or features described herein with reference to one or more embodiments may be combined or utilized in combination with one or more other features, operations, components and / or features described herein with reference to one or more other embodiments, or vice versa.
[0517] While certain features have been illustrated and described herein, many modifications, substitutions, changes, and equivalents may occur to those skilled in the art, and it is therefore to be understood that the appended claims are intended to cover all such modifications and changes that fall within the true spirit of the present disclosure.
Claims
1. a structured light projector that projects a structured object through a lens; a depth sensor for generating a depth map including depth information sensed at a structured object projected from the structured light projector, the depth map comprising: a first sensed depth value of a reference object at which the structured object is sensed without passing through the lens; and a second sensed depth value of the reference object where the structured object is sensed through the lens; and a third sensed depth value of an opaque object distant from the reference object; a lens metrology module that determines 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; Including, the device.
2. The device of claim 1 , wherein the lens metrology module is further configured to determine the one or more parameters of the lens based on a third sensed depth value of an opaque object spaced from the reference object.
3. 1. A method for determining lens parameters, the method comprising: processing at least one depth map acquired by a depth mapper through a lens, the at least one depth map including at least one feature on a reference object, the at least one depth map being acquired at least in part by the depth mapper without the lens; determining a depth of the at least one feature based on a change in position of the at least one feature in the at least one depth map; determining a power of the lens based on the depth of the at least one feature; The method includes:
4. The method of claim 3 , wherein at least one feature is on a plane of the reference object.
5. 4. The method of claim 3, wherein determining the depth of the at least one feature comprises comparing a first size of the at least one feature represented on the reference object without the lens to a second size of the at least one feature represented on the reference object through the lens.
6. The method of claim 3 , wherein the lens scales the at least one feature across the reference object.
7. The method of claim 3 , wherein processing at least one depth map comprises processing a plurality of depth maps corresponding to a plurality of lens angles.
8. The method of claim 3 , wherein the at least one depth map is obtained by a depth mapper while the lens is disposed at the depth mapper.
9. The method of claim 3 , wherein the depth mapper includes a stereo camera.
10. 1. A method for determining lens parameters, comprising the steps of: processing a first sensor signal from a first light beam of an illumination source along a first path through a lens to a sensor; processing a first sensor signal from a second light beam of the illumination source along a second path that does not pass through the lens to the sensor; determining a path difference between the first path and the second path; determining parameters of the lens based on the path difference; The method includes:
11. The method of claim 10 , wherein each of the first sensor signal and the second sensor signal comprises a time-of-flight (ToF) measurement.
12. The method of claim 10 , wherein the lens comprises two crossed cylindrical lenses.
13. The method of claim 10 , wherein the first light beam and the second light beam reflect off a planar object on the first path to the sensor and the second path to the sensor, respectively.
14. The method of claim 10 , wherein determining the parameter of the lens comprises measuring, via a depth sensor of the sensor, a depth value that is directly related to the path difference.