US20220130161A1 - Dynamically optimizing photo capture for multiple subjects - Google Patents

Dynamically optimizing photo capture for multiple subjects Download PDF

Info

Publication number
US20220130161A1
US20220130161A1 US17/646,796 US202217646796A US2022130161A1 US 20220130161 A1 US20220130161 A1 US 20220130161A1 US 202217646796 A US202217646796 A US 202217646796A US 2022130161 A1 US2022130161 A1 US 2022130161A1
Authority
US
United States
Prior art keywords
image
user device
document
image resolution
resolution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
US17/646,796
Inventor
Jason Pribble
Daniel Alan Jarvis
Nicholas Capurso
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Capital One Services LLC
Original Assignee
Capital One Services LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Capital One Services LLC filed Critical Capital One Services LLC
Priority to US17/646,796 priority Critical patent/US20220130161A1/en
Assigned to CAPITAL ONE SERVICES, LLC reassignment CAPITAL ONE SERVICES, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CAPURSO, NICHOLAS, JARVIS, DANIEL ALAN, PRIBBLE, JASON
Publication of US20220130161A1 publication Critical patent/US20220130161A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/235Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on user input or interaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/146Aligning or centring of the image pick-up or image-field
    • G06V30/1475Inclination or skew detection or correction of characters or of image to be recognised
    • G06V30/1478Inclination or skew detection or correction of characters or of image to be recognised of characters or characters lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/38Circuits or arrangements for blanking or otherwise eliminating unwanted parts of pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/40068Modification of image resolution, i.e. determining the values of picture elements at new relative positions

Definitions

  • a digital image has an associated image resolution, which defines the amount of detail in the image.
  • An image resolution may be represented as a number of pixel columns (width) and a number of pixel rows (height).
  • a method may include determining, by a user device, a plurality of image resolutions supported by a camera of the user device.
  • the method may include detecting, by the user device and in a field of view of the camera, a first side of a document, and determining, by the user device, first information associated with the first side of the document.
  • the method may include selecting, by the user device and based on the first information, a first image resolution of the plurality of image resolutions, and capturing, by the camera of the user device, a first image of the first side of the document according to the first image resolution.
  • the method may include detecting, by the user device and in the field of view of the camera, a second side of the document, and determining, by the user device, second information associated with the second side of the document.
  • the method may include selecting, by the user device and based on the second information, a second image resolution of the plurality of image resolutions, wherein the second image resolution corresponds to a different quality of image than the first image resolution.
  • the method may include capturing, by the camera of the user device, a second image of the second side of the document according to the second image resolution.
  • the method may include performing, by the user device, an action related to the first image and the second image.
  • a user device may include one or more memories, and one or more processors, communicatively coupled to the one or more memories, to determine a plurality of image resolutions supported by a camera of the user device, and to determine a screen aspect ratio of a display of the user device.
  • the one or more processors may detect, in a field of view of the camera, a first side of a document, and may determine first information associated with the first side of the document.
  • the one or more processors may select, based on the first information and the screen aspect ratio, a first image resolution of the plurality of image resolutions, and may capture, by the camera of the user device, a first image of the first side of the document according to the first image resolution.
  • the one or more processors may detect, in the field of view of the camera, a second side of the document, and may determine second information associated with the second side of the document.
  • the one or more processors may select, based on the second information and the screen aspect ratio, a second image resolution of the plurality of image resolutions, wherein the second image resolution is a different level of resolution than the first image resolution, and may capture, by the camera of the user device, a second image of the second side of the document according to the second image resolution.
  • the one or more processors may perform an action related to the first image and the second image
  • a non-transitory computer-readable medium may store instructions that include one or more instructions that, when executed by one or more processors of a user device, cause the one or more processors to determine a plurality of image resolutions supported by a camera of the user device, and to detect, in a field of view of the camera, a first side of a document.
  • the one or more instructions may cause the one or more processors to determine first information associated with the first side of the document, and to select, based on the first information, a first image resolution of the plurality of image resolutions.
  • the one or more instructions may cause the one or more processors to cause the display of the user device to present first preview images of the first side of the document, and to capture, by the camera of the user device, a first image of the first side of the document according to the first image resolution.
  • the one or more instructions may cause the one or more processors to detect, in the field of view of the camera, a second side of the document, and to determine second information associated with the second side of the document.
  • the one or more instructions may cause the one or more processors to select, based on the second information, a second image resolution of the plurality of image resolutions, wherein the second image resolution is the same as the first image resolution.
  • the one or more instructions may cause the one or more processors to cause the display of the user device to present second preview images of the second side of the document.
  • the one or more instructions may cause the one or more processors to capture, by the camera of the user device, a second image of the second side of the document according to the second image resolution.
  • the one or more instructions may cause the one or more processors to perform an action related to the first image and the second image.
  • FIGS. 1A-1D are diagrams of example implementations described herein.
  • FIG. 2 is a diagram of an example environment in which systems and/or methods, described herein, may be implemented.
  • FIG. 3 is a diagram of example components of one or more devices of FIG. 2 .
  • FIG. 4 is a flow chart of an example process for dynamically optimizing photo capture for multiple subjects.
  • FIG. 5 is a flow chart of an example process for dynamically optimizing photo capture for multiple subjects.
  • FIG. 6 is a flow chart of an example process for dynamically optimizing photo capture for multiple subjects.
  • Some entities permit account applicants, or customers, to capture images of verification documentation (e.g., government-issued identification (ID) cards and/or the like) using a user device (e.g., a smartphone), and submit the images over the Internet for validation.
  • verification documentation e.g., government-issued identification (ID) cards and/or the like
  • a user device e.g., a smartphone
  • this can often be a frustrating process for a user, particularly if an entity's backend platform repeatedly rejects uploaded images for not meeting certain image quality standards.
  • the amount of time required for a user device to capture an image, upload the image to a server, and process the image increases as resolution of the image increases.
  • the image's file size also increases as the image resolution increases, which results in transmission of more data than may be needed over a network.
  • the user device may detect a first side of a document in a field of view of a camera of the user device and determine first information associated with the first side of the document.
  • the user device may select a first image resolution, based on the first information, for capturing a first image of the first side of the document, and capture the first image according to the first image resolution.
  • the user device may detect a second side of a document in the field of view of the camera of the user device and determine second information associated with the second side of the document. In some implementations, the user device may select a second image resolution, based on the second information, for capturing a second image of the second side of the document, and capture the second image according to the second image resolution. In some implementations, the first image resolution is different than the second image resolution. In some implementations, the first image resolution is the same resolution as the second image resolution.
  • the user device optimizes image capture for multiple subjects (e.g., a first side of a document and a second side of a document).
  • the user device ensures that that first image resolution for capturing the first image is a high enough resolution (e.g., a first optimal resolution) for the user device and/or a server to process the first image, and that the second image resolution for capturing the second image is a high enough resolution (e.g., a second optimal resolution) for the user device and/or the server to process the second image.
  • the first image resolution and the second image resolution are chosen based on the document and/or subject so as to limit computing resources needed to capture, upload, and process the first and second image.
  • the user device minimizes the file size of the first image (e.g., a first optimal file size) and the file size of the second image (e.g., a second optimal file size), which shortens the amount of time to capture, upload, and process the first image and the second image.
  • a first optimal file size e.g., a first optimal file size
  • the file size of the second image e.g., a second optimal file size
  • this conserves computing resources, memory resources, and network resources, associated with a backend platform, such as a server, that would otherwise need to be expended to receive and process images with a large file size.
  • FIGS. 1A-1D are diagrams of example implementations 100 described herein.
  • Example implementation 100 may include a user device (e.g., a mobile device, such as a smartphone and/or the like) and a document (e.g., a government-issued identification (ID) card, an employee identification card, a health insurance card, a transaction card (e.g., a credit card, a debit card, an automated teller machine (ATM) card, and/or the like), a check, and/or the like).
  • a user device e.g., a mobile device, such as a smartphone and/or the like
  • a document e.g., a government-issued identification (ID) card, an employee identification card, a health insurance card, a transaction card (e.g., a credit card, a debit card, an automated teller machine (ATM) card, and/or the like), a check, and/or the like).
  • ID government-issued identification
  • ATM automated teller
  • the user device may include a camera (e.g., one or more cameras) configured to capture images, and one or more applications (e.g., provided by, or associated with, an entity, such as a financial institution (e.g., a bank and/or the like)) capable of facilitating image capturing.
  • the user may execute the one or more applications on the user device to capture a first image of a first side of the document and/or capture a second image of a second side of the document.
  • the user device determines a plurality of image resolutions that are supported by the camera of the user device.
  • the camera may support one or more image resolutions.
  • an image resolution may be represented as a number of pixel columns (width) and a number of pixel rows (height), such as 1280 ⁇ 720, 1920 ⁇ 1080, 2592 ⁇ 1458, 3840 ⁇ 2160, 4128 ⁇ 2322, 5248 ⁇ 2952, 5312 ⁇ 2988, and/or the like, where higher numbers of pixel columns and higher numbers of pixel rows are associated with higher image resolutions.
  • the camera may support a first image resolution that is associated with a quick capture mode, such as a low image resolution for capturing and displaying low-detail preview images on a display of the user device.
  • the camera may support a second image resolution that is associated with a full capture mode, such as a high image resolution for capturing a high-detail image.
  • the full capture mode may be associated with the highest image resolution supported by the camera.
  • the user device may determine a screen aspect ratio of a display of the user device.
  • the screen aspect ratio of the display may be represented as a proportional relationship between a width of the display and a height of the display, such as 4:3, 5:4, 3:2, 16:10, 16:9, 18:9, 21:9, 32:9, and/or the like.
  • a screen aspect ratio may be associated with one or more image resolutions, such that an image with the one or more image resolutions fits the display with the screen aspect ratio with minimal scaling, letterboxing, and/or pillarboxing.
  • the user device may detect a first side of a document.
  • the one or more applications may instruct the user to position the user device over the document for the user device to detect the first side of the document.
  • the user may point the camera of the user device at the first side of the document and the user device may detect the first side of the document in a field of view of the camera.
  • the camera of the user device may capture first preview images of the first side of the document and process the first preview images to detect the first side of the document.
  • the user device may capture the first preview images using the quick capture mode.
  • the user device may employ one or more computer vision techniques (e.g., a scale-invariant feature transform (SIFT) technique, a speeded up robust features (SURF) technique, a generalized robust invariant feature (G-RIF) technique, and/or the like) to process the first preview images to detect the first side of the document and/or features of the first side of the document.
  • a computer vision technique e.g., a scale-invariant feature transform (SIFT) technique, a speeded up robust features (SURF) technique, a generalized robust invariant feature (G-RIF) technique, and/or the like
  • SIFT scale-invariant feature transform
  • SURF speeded up robust features
  • G-RIF generalized robust invariant feature
  • the user device may detect a plurality of edges in a first preview image that are associated with the first side of the document, such as edges concerning text, images, objects, boundaries, and/or the like.
  • the user device may detect, in the first preview image, edges associated with an image of a state seal on a front side of a state-issued driver's license ID card.
  • the user device may detect text in the first preview image that is associated with the first side of the document.
  • the user device may detect, in the first preview image, text associated with a name, an address, a birth date, and/or the like on the front side of the state-issued driver's license ID card.
  • the user device may detect a bar code, a quick response (QR) code, an identification string, and/or the like in the first preview image that is associated with the first side of the document.
  • the user device may detect, in the first preview image, an identification number on the front side of the state-issued driver's license ID card.
  • the user device may determine first information associated with the first side of the document.
  • the first information may include information regarding content of the first side of the document, information regarding identification of the first side of the document, lighting information concerning the first side of the document, and/or the like.
  • the user may enter the first information into the user device through a user interface of the user device.
  • the user device may receive information identifying the first side of the document as the front side of a transaction card from the user via the user interface of the user device.
  • image capture associated with a document type may be triggered by the application or by a user interaction with the application, such that the application may predetermine a document type and/or side of a document.
  • the user device may determine the first information based on detecting the first side of the document.
  • the user device may process the plurality of edges, the text, the bar code, the QR code, the identification string, and/or the like that may be associated with the first side of the document and that were detected by the user device when detecting the first side of the document to determine the first information.
  • the user device may process the text associated with the front side of the transaction card to determine a customer name, an issuing bank name, and an account number associated with the transaction card.
  • the user device may determine the first information by comparing information regarding the first side of the document that the user enters into the user device (e.g., input data) and information regarding the first side of the document that the user device determines based on detecting the first side of the document (e.g., image data). For example, the user may enter input data concerning a customer name, an issuing bank name, and/or an account number associated with the front side of a document into the user device. The user device may determine image data concerning a customer name, an issuing bank name, and/or an account number associated with the front side of the document based on detecting the front side of the transaction card.
  • the user device may compare the input data customer name and the image data customer name, may compare the input data issuing bank name and the image data issuing bank name, may compare the input data account number and the image data account number, and/or the like, to determine that input data and image data are consistent and that both the input data and the image data indicate that the first side of the document is a front side of a transaction card.
  • the user device may select a first image resolution for capturing a first image of the first side of the document.
  • the user device may select the first image resolution from the plurality of image resolutions based on the first information. For example, where the first information indicates that the first side of the document is the front side of a check, the user device may select the first image resolution that will provide enough detail in the first image for the user device, a server device, and/or the like to determine and/or validate the content of the front side of the check.
  • the user device may select the first image resolution to provide sufficient detail, but no more (or not needlessly more) detail than is preferred by the user device and/or the server device, thereby reducing the first image file size, which reduces the amount of time, computing resources, power resources, and/or memory resources of the user device and/or the server device needed to capture, upload, and process the first image.
  • the first image resolution is an optimal resolution, which provides sufficient detail to process and/or validate an image of the first side of the document while minimizing the size of the image file.
  • the user device may select the first image resolution based on the first information and the screen aspect ratio.
  • the user device may determine, based on the screen aspect ratio, a set of optimal image resolutions of the plurality of image resolutions that correspond to dimensions of the display of the user device. For example, the user device may evaluate each image resolution of the plurality of image resolutions to determine, for an image resolution, whether the image resolution fits the display of the user device.
  • the user device may determine that the image resolution fits the display if an image with the image resolution can be presented on the display with little-to-no scaling (e.g., resizing of the image by shrinking the image, stretching the image, cropping the image, re-centering the image, and/or the like), letterboxing (e.g., presenting the image with black horizontal bars above and/or below the image), and/or pillarboxing (e.g. presenting the image with black vertical bars to the left and/or the right of the image).
  • the set of optimal resolutions may include each image resolution that fits the display of the user device.
  • the user device may select, based on the first information, the first image resolution from the set of optimal image resolutions.
  • a first threshold image resolution may be the minimum resolution necessary for capturing the first image of the first side of the document with enough detail for processing by the user device, a server device, and/or the like.
  • the user device may determine the first threshold image resolution based on the first information. For example, the user device may use a lookup table to determine a first threshold image resolution for a front side of an employee identification card.
  • the user device may determine a first threshold image resolution based on the plurality of edges, the text, the bar code, the QR code, the identification string, and/or the like that are associated with the first side of the document and that were detected by the user device when detecting the first side of the document.
  • the user device may utilize a machine learning or artificial intelligence model to select the first image resolution. For example, based on the model, the user device may assign a respective weight to the plurality of image resolutions, the first information (e.g., the information regarding content of the first side of the document, the information regarding identification of the first side of the document, the lighting information concerning the first side of the document, and/or the like), the screen aspect ratio, camera settings of the camera (e.g., shutter speed of the camera, a camera mode (e.g., quick capture mode or full capture mode), an aperture setting of the camera, an international standards organization (ISO) setting of the camera, a focus setting (e.g., autofocus) of the camera, a distance of the camera from the first side of the document, and/or the like), and/or the like to select the first image resolution.
  • the user device may select the first image resolution in a manner that optimizes the processing resources of the user device.
  • the user device may train the model based on an artificial intelligence approach, such as a machine learning algorithm, a neural network algorithm, or another type of artificial intelligence approach.
  • an artificial intelligence approach such as a machine learning algorithm, a neural network algorithm, or another type of artificial intelligence approach.
  • the user device may use a training set of known inputs (e.g., inputs concerning a plurality of image resolutions, first information, a screen aspect ratio, camera settings, and/or the like) and known outputs corresponding to the inputs (e.g., outputs concerning a first image resolution).
  • the user device may train the model based on a training set of data that includes an input group (e.g., past inputs relating to a plurality of image resolutions, first information, a screen aspect ratio, camera settings, and/or the like) and an output group (e.g., past outputs relating to a first image resolution), where each input group corresponds to an optimal output group, such as an optimal first image resolution.
  • an input group e.g., past inputs relating to a plurality of image resolutions, first information, a screen aspect ratio, camera settings, and/or the like
  • an output group e.g., past outputs relating to a first image resolution
  • each input group corresponds to an optimal output group, such as an optimal first image resolution
  • another device such as the server device, may train the model and provide the model for use by the user device.
  • the artificial intelligence approach may identify relationships between the known inputs and the known outputs, and may configure parameters corresponding to the relationships.
  • the model may process the training set of data and create general rules for selecting the first image resolution based on the plurality of image resolutions, the first information, the screen aspect ratio, the camera settings, and/or the like.
  • the model may be used to generate a score that indicates a likelihood that a first image resolution is optimal.
  • the user device may update the model based on the artificial intelligence approach.
  • the user device may use a testing set of known inputs (e.g., inputs concerning a plurality of image resolutions, first information, a screen aspect ratio, camera settings, and/or the like) and target outputs corresponding to the known outputs (e.g., outputs concerning a first image resolution).
  • the target outputs may be outputs that are known to be optimal.
  • the user device may input, to the model, the known inputs of the testing set, and the model may output observed outputs.
  • the user device may compare the target outputs and the observed outputs, and may reconfigure the parameters of the model based on the artificial intelligence algorithm. In this way, the user device may improve accuracy of the model based on iteratively improving accuracy of parameters of the model.
  • another device such as the server device, may update the model and provide the model for use by the user device.
  • the user device may use the trained and updated model to select the first image resolution.
  • the user device may specify a plurality of image resolutions, first information, a screen aspect ratio, camera settings, and/or the like.
  • the model may then output information identifying a first image resolution selection, possibly with a corresponding score that indicates a likelihood that the first image resolution is optimal.
  • the user device may deliver an optimized process for selecting a first image resolution in a manner that conserves computing resources (e.g., processor resources, memory resources, and/or the like), which would otherwise be wasted performing an inefficient and/or time consuming process.
  • computing resources e.g., processor resources, memory resources, and/or the like
  • the user device may display the first preview images of the first side of the document.
  • the user device may cause the display of the user device to present the first preview images of the first side of the document.
  • the user device may cause the display to present the first preview images as they are captured (e.g., in real-time or substantially real-time) by the camera of the user device, which may make it appear that the preview images are streaming on the display.
  • the user device may display the first preview images to assist the user in capturing the first image of the first side of the document with the camera.
  • the display of the user device can display the first preview images so that the user knows whether the user needs to take an action, such as moving the camera closer to or farther away from the first side of the document, before the user device captures the first image.
  • the user device may capture the first image of the first side of the document with the camera according to the first image resolution.
  • the user device may automatically capture the first image when the first side of the document is in the field of view of the camera.
  • the user device may capture the first image upon the user inputting a command into the user device to capture the first image.
  • the user device may cause the first image to be displayed on the display of the user device after capturing the first image.
  • the user device may detect a second side of a document, determine second information, select a second image resolution, display second preview images, and/or capture a second image of the second side of the document according to the second image resolution in a similar manner as described herein in relation to FIG. 1B .
  • the user device e.g., via an application executing on the user device
  • the camera may capture second preview images of the second side of the document and process the second preview images to detect the second side of the document.
  • the user device may capture the second preview images using the quick capture mode.
  • the user device may employ one or more computer vision techniques to process the second preview images to detect the second side of the document and/or features of the second side of the document.
  • the user device may detect a plurality of edges, text, a bar code, a quick response (QR) code, an identification string, and/or the like in a second preview image that may be associated with the second side of the document.
  • the user device may detect, in the second preview image, a bar code on the back side of a health insurance card.
  • the user device may determine second information associated with the second side of the document in a similar manner as described herein in relation to FIG. 1B .
  • the second information may include information regarding content of the second side of the document, information regarding identification of the second side of the document, lighting information concerning the first side of the document, and/or the like.
  • the user may enter the second information into the user device through a user interface of the user device.
  • the user device may determine the second information based on detecting the second side of the document.
  • the user device may process the plurality of edges, the text, the bar code, the QR code, the identification string, and/or the like that may be associated with the second side of the document and that were detected by the user device when detecting the second side of the document to determine the second information.
  • the user device may determine the second information by comparing information regarding the second side of the document that the user enters into the user device (e.g., input data) and information regarding the second side of the document that the user device determines based on detecting the second side of the document (e.g., image data).
  • the user device may select a second image resolution for capturing a second image of the second side of the document in a similar manner as described herein in relation to FIG. 1B .
  • the user device may select the second image resolution from the plurality of image resolutions based on the second information.
  • the second image resolution may be different from the first image resolution.
  • the second image resolution may correspond to a different quality of image than the first image resolution.
  • the second image resolution may be a different level of resolution than the first image resolution.
  • the second image resolution may be the same level of resolution as the first image resolution.
  • the second image resolution is an optimal resolution, which provides sufficient detail to process and/or validate an image of the second side of the document while minimizing the size of the image file.
  • the user device may use a lookup table to select the second image resolution. For example, the user device may search the lookup table based on the second information to select the second image resolution.
  • the lookup table may include a preferred image resolution for a first side of a document type and a second preferred image resolution for a second side of the document type.
  • the user device may select the second image resolution based on the second information and the screen aspect ratio. In some implementations, the user device may determine, based on the screen aspect ratio, a set of optimal image resolutions of the plurality of image resolutions that correspond to dimensions of the display of the user device. In some implementations, the user device may select, based on the second information, the second image resolution from the set of optimal image resolutions.
  • a second threshold image resolution may be the minimum resolution necessary for capturing the second image of the second side of the document with enough detail for processing by the server device.
  • the user device may determine the second threshold image resolution based on the second information. For example, the user device may use a lookup table to determine a second threshold image resolution for a back side of a government-issued ID card.
  • the user device may select the second image resolution, such that the second image resolution satisfies the second threshold image resolution (e.g., the second image resolution has a resolution that is higher than or equal to the second threshold image resolution).
  • the first threshold image resolution is different than the second threshold image resolution. In some implementations, the first threshold image resolution is the same as the second threshold image resolution.
  • the user device may determine, based on the screen aspect ratio, a set of image resolutions of the plurality of image resolutions that fit the display of the user device. In some implementations, in a similar manner as described above, the user device may select the second image resolution from the set of image resolutions, wherein the second image resolution satisfies the second threshold image resolution (e.g., the second image resolution has a resolution that is higher than or equal to the second threshold image resolution).
  • the first threshold image resolution is associated with the quick capture mode of the camera and the second threshold image resolution is associated with the full capture mode of the camera
  • the fist threshold image resolution is associated with the full capture mode of the camera
  • the second threshold image resolution is associated with the quick capture mode of the camera
  • the first threshold image resolution and the second threshold image resolution are each, respectively, associated with the quick capture mode of the camera
  • the first threshold image resolution and the second threshold image resolution are each, respectively, associated with the full capture mode of the camera.
  • the user device may utilize a machine learning or artificial intelligence model to select the second image resolution. For example, based on the model, the user device may assign a respective weight to the plurality of image resolutions, the second information (e.g., the information regarding content of the second side of the document, the information regarding identification of the second side of the document, the lighting information concerning the second side of the document, and/or the like), the screen aspect ratio, camera settings of the camera (e.g., shutter speed of the camera, a camera mode (e.g., quick capture mode or full capture mode), an aperture setting of the camera, an ISO setting of the camera, a focus setting (e.g., autofocus) of the camera, a distance of the camera from the second side of the document, and/or the like), and/or the like to select the second image resolution.
  • the user device may select the first image resolution in a manner that optimizes the processing resources of the user device.
  • the user device may train and update the model based on an artificial intelligence approach, such as a machine learning algorithm, a neural network algorithm, or another type of artificial intelligence approach.
  • another device such as the server device, may train, update, and provide the model for use by the user device.
  • the user device may use the trained and updated model to select the second image resolution. For example, the user device may specify a plurality of image resolutions, second information, a screen aspect ratio, camera settings, and/or the like. The model may then output information identifying a second image resolution selection, possibly with a corresponding score that indicates a likelihood that the second image resolution is optimal.
  • the user device may deliver an optimized process for selecting a second image resolution in a manner that conserves computing resources (e.g., processor resources, memory resources, and/or the like), which would otherwise be wasted performing an inefficient and/or time consuming process.
  • computing resources e.g., processor resources, memory resources, and/or the like
  • the user device may display the second preview images of the second side of the document in a similar manner as described herein in relation to FIG. 1B .
  • the user device may cause the display of the user device to present the second preview images of the second side of the document.
  • the user device may display the second preview images to assist the user in capturing the second image of the second side of the document with the camera.
  • the user device may capture the second image of the second side of the document with the camera according to the second image resolution in a similar manner as described herein in relation to FIG. 1B .
  • the user device may automatically capture the second image when the second side of the document is in the field of view of the camera.
  • the user device may capture the second image upon the user inputting a command into the user device to capture the second image.
  • the user device may cause the second image to be displayed on the display of the user device after capturing the second image.
  • the user device may perform an action related to the first image and the second image.
  • the user device e.g., via an application executing on the user device
  • the user device may validate the first image and the second image.
  • validating the first image and the second image comprises determining that first data can be extracted from the first image and that second data can be extracted from the second image.
  • the user device may use a computer vision technique to process the first image to determine that the first image has features consistent with a first side of a document as opposed to a random image.
  • the user device may use the computer vision technique to process the second image to determine that the second image has features consistent with a second side of a document as opposed to a random image.
  • the user device may perform optical character recognition (OCR) on the first image and the second image to generate third information and validate the document based on the first information, the second information, and the third information.
  • OCR optical character recognition
  • the first information may include information regarding content of the front side of a government-issued ID card that was input by a user via the user device and the second information may include information identifying the back side of the government-issued ID card that was determined based on detecting the second side of the document.
  • the user device may perform OCR on the first image and the second image to generate third information, which may include information regarding content of text viewable on the front side of the government-issued ID card and content of an identification string on the back side of the government-issued ID card.
  • the user device may determine that the document is valid if the first information, the second information, and the third information are consistent.
  • the user device may crop the first image to include first image data concerning only the first side of the document and crop the second image to include second image data concerning only the second side of the document. In this way, the user device can remove unnecessary image data and reduce the file size of the first image and the file size of the second image.
  • the user device may identify a document type of the document based on the first image and the second image. For example, the user device may process the first image and the second image using a computer vision technique to determine that the first image and the second image are consistent with a health insurance card. In some implementations, the user device may cause a message indicating the document type to be displayed on the display of the user device.
  • the user device may send the first image and the second image to a server device.
  • the server device may process the first image and the second image.
  • the server device may use a computer vision technique to extract the first data from the first image and the second data from the second image.
  • the server device may verify that the first data and the second data is accurate by comparing the first data, the second data, and third data from a database that includes document-related information.
  • the server device may send a message to the user device based on processing the first image and the second image.
  • the server device may send a message to the user device indicating that the first data associated with the first image and the second data associated with the second image are accurate.
  • the server device may send information concerning the document, such as accuracy of the document, to the user device.
  • the user device may receive the message and display the message on the display of the user device.
  • the user device may receive the information concerning the document and present a message indicating the information concerning the document for display on a display of the user device.
  • the user device optimizes image capture for multiple subjects (e.g., a first side of a document and a second side of a document). In this way, the user device ensures that that first image resolution for capturing the first image is a high enough resolution for the user device and/or a server to process the first image, and that the second image resolution for capturing the second image is a high enough resolution for the user device and/or the server to process the second image.
  • the first image resolution and the second image resolution are chosen based on the document and/or subject so as to limit computing resources needed to capture, upload, and process the first and second image.
  • the user device minimizes the file size of the first image and the file size of the second image, which shortens the amount of time to capture, upload, and process the first image and the second image.
  • FIGS. 1A-1D are provided merely as examples. Other examples are possible and may differ from what was described with regard to FIGS. 1A-1D .
  • FIG. 2 is a diagram of an example environment 200 in which systems and/or methods, described herein, may be implemented.
  • environment 200 may include a user device 210 , a server device 220 , and a network 230 .
  • Devices of environment 200 may interconnect via wired connections, wireless connections, or a combination of wired and wireless connections.
  • User device 210 includes one or more devices capable of receiving, generating, storing, processing, and/or providing information associated with dynamically optimizing photo capture for multiple subjects.
  • user device 210 may include a communication and/or computing device, such as a mobile phone (e.g., a smart phone, a radiotelephone, etc.), a laptop computer, a tablet computer, a handheld computer, a gaming device, a wearable communication device (e.g., a smart wristwatch, a pair of smart eyeglasses, etc.), or a similar type of device.
  • User device 210 may include a camera, and may capture an image (e.g., of a document) using the camera.
  • user device 210 may send the captured image, via network 230 , to server device 220 for processing the captured image.
  • user device 210 may receive a message from server device 220 and may display the message.
  • Server device 220 includes one or more devices capable of receiving, generating, storing, processing, and/or providing information associated with dynamically optimizing photo capture for multiple subjects.
  • server device 220 may include a server device (e.g., a host server, a web server, an application server, etc.), a data center device, or a similar device, capable of communicating with user device 210 via network 230 .
  • server device 220 may receive, from user device 210 , an image captured by user device 210 , and may process the image.
  • server device 220 may send, to user device 210 via network 230 , a message based on processing an image.
  • Network 230 includes one or more wired and/or wireless networks.
  • network 230 may include a cellular network (e.g., a long-term evolution (LTE) network, a code division multiple access (CDMA) network, a 3G network, a 4G network, a 5G network, another type of next generation network, etc.), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., the Public Switched Telephone Network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, a fiber optic-based network, a cloud computing network, and/or the like, and/or a combination of these or other types of networks.
  • LTE long-term evolution
  • CDMA code division multiple access
  • 3G Third Generation
  • 4G fourth generation
  • 5G Fifth Generation
  • PLMN public land mobile network
  • PLMN public land mobile network
  • LAN local area
  • the number and arrangement of devices and networks shown in FIG. 2 are provided as an example. In practice, there may be additional devices and/or networks, fewer devices and/or networks, different devices and/or networks, or differently arranged devices and/or networks than those shown in FIG. 2 . Furthermore, two or more devices shown in FIG. 2 may be implemented within a single device, or a single device shown in FIG. 2 may be implemented as multiple, distributed devices. Additionally, or alternatively, a set of devices (e.g., one or more devices) of environment 200 may perform one or more functions described as being performed by another set of devices of environment 200 .
  • FIG. 3 is a diagram of example components of a device 300 .
  • Device 300 may correspond to user device 210 and/or server device 220 .
  • user device 210 and/or server device 220 may include one or more devices 300 and/or one or more components of device 300 .
  • device 300 may include a bus 310 , a processor 320 , a memory 330 , a storage component 340 , an input component 350 , an output component 360 , and a communication interface 370 .
  • Bus 310 includes a component that permits communication among the components of device 300 .
  • Processor 320 is implemented in hardware, firmware, or a combination of hardware and software.
  • Processor 320 is a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or another type of processing component.
  • processor 320 includes one or more processors capable of being programmed to perform a function.
  • Memory 330 includes a random access memory (RAM), a read only memory (ROM), and/or another type of dynamic or static storage device (e.g., a flash memory, a magnetic memory, and/or an optical memory) that stores information and/or instructions for use by processor 320 .
  • RAM random access memory
  • ROM read only memory
  • static storage device e.g., a flash memory, a magnetic memory, and/or an optical memory
  • Storage component 340 stores information and/or software related to the operation and use of device 300 .
  • storage component 340 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optic disk, and/or a solid state disk), a compact disc (CD), a digital versatile disc (DVD), a floppy disk, a cartridge, a magnetic tape, and/or another type of non-transitory computer-readable medium, along with a corresponding drive.
  • Input component 350 includes a component that permits device 300 to receive information, such as via user input (e.g., a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, and/or a microphone). Additionally, or alternatively, input component 350 may include a sensor for sensing information (e.g., a global positioning system (GPS) component, an accelerometer, a gyroscope, and/or an actuator).
  • Output component 360 includes a component that provides output information from device 300 (e.g., a display, a speaker, and/or one or more light-emitting diodes (LEDs)).
  • LEDs light-emitting diodes
  • Communication interface 370 includes a transceiver-like component (e.g., a transceiver and/or a separate receiver and transmitter) that enables device 300 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections.
  • Communication interface 370 may permit device 300 to receive information from another device and/or provide information to another device.
  • communication interface 370 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi interface, a cellular network interface, or the like.
  • RF radio frequency
  • USB universal serial bus
  • Device 300 may perform one or more processes described herein. Device 300 may perform these processes based on processor 320 executing software instructions stored by a non-transitory computer-readable medium, such as memory 330 and/or storage component 340 .
  • a computer-readable medium is defined herein as a non-transitory memory device.
  • a memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices.
  • Software instructions may be read into memory 330 and/or storage component 340 from another computer-readable medium or from another device via communication interface 370 .
  • software instructions stored in memory 330 and/or storage component 340 may cause processor 320 to perform one or more processes described herein.
  • hardwired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein.
  • implementations described herein are not limited to any specific combination of hardware circuitry and software.
  • device 300 may include additional components, fewer components, different components, or differently arranged components than those shown in FIG. 3 . Additionally, or alternatively, a set of components (e.g., one or more components) of device 300 may perform one or more functions described as being performed by another set of components of device 300 .
  • FIG. 4 is a flow chart of an example process 400 for dynamically optimizing photo capture for multiple subjects.
  • one or more process blocks of FIG. 4 may be performed by a user device (e.g., user device 210 ).
  • one or more process blocks of FIG. 4 may be performed by another device or a group of devices separate from or including the user device, such as a server device (e.g., server device 220 ).
  • process 400 may include determining a plurality of image resolutions supported by a camera of the user device (block 405 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , and/or the like
  • process 400 may include detecting, in a field of view of the camera, a first side of a document (block 410 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , input component 350 , communication interface 370 , and/or the like
  • process 400 may include determining first information associated with the first side of the document (block 415 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , and/or the like
  • process 400 may include selecting, based on the first information, a first image resolution of the plurality of image resolutions (block 420 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , and/or the like
  • process 400 may include capturing, by the camera of the user device, a first image of the first side of the document according to the first image resolution (block 425 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , input component 350 , communication interface 370 , and/or the like
  • process 400 may include detecting, in the field of view of the camera, a second side of the document (block 430 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , input component 350 , communication interface 370 , and/or the like
  • process 400 may include determining second information associated with the second side of the document (block 435 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , and/or the like
  • process 400 may include selecting, based on the second information, a second image resolution of the plurality of image resolutions, wherein the second image resolution corresponds to a different quality of image than the first image resolution (block 440 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , and/or the like
  • the second image resolution may correspond to a different quality of image than the first image resolution.
  • process 400 may include capturing, by the camera of the user device, a second image of the second side of the document according to the second image resolution (block 445 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , input component 350 , communication interface 370 , and/or the like
  • process 400 may include performing an action related to the first image and the second image (block 450 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , input component 350 , output component 360 , communication interface 370 , and/or the like
  • Process 400 may include additional implementations, such as any single implementation or any combination of implementations described below and/or in connection with one or more other processes described elsewhere herein.
  • the user device when determining the first information associated with the first side of the document, may determine the first information associated with the first side of the document based on a first identification string that is visible on the first side of the document. In some implementations, when determining the second information associated with the second side of the document, the user device may determine the second information associated with the second side of the document based on a quick response (QR) code, bar code, or second identification string that is visible on the second side of the document.
  • QR quick response
  • the user device when detecting, in the field of view of the camera, the first side of the document, may detect a plurality of edges associated with the first side of the document, and may detect text associated with the first side of the document.
  • the user device when detecting, in the field of view of the camera, the second side of the document, may detect a plurality of edges associated with the second side of the document, may detect a bar code associated with the second side of the document, and may detect text associated with the second side of the document.
  • the first image resolution may be associated with a quick capture mode of the camera
  • the second image resolution may be associated with a full capture mode of the camera.
  • the user device when performing the action related to the first image and the second image, may validate the first image and the second image, may send the first image and the second image to a remote device, may receive, based on sending the first image and the second image to the remote device, third information concerning the document, and may present, for display on a display of the user device, a message indicating the third information.
  • the user device when validating the first image and the second image, may determine that first data can be extracted from the first image, and may determine that second data can be extracted from the second image.
  • process 400 may include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted in FIG. 4 . Additionally, or alternatively, two or more of the blocks of process 400 may be performed in parallel.
  • FIG. 5 is a flow chart of an example process 500 for dynamically optimizing photo capture for multiple subjects.
  • one or more process blocks of FIG. 5 may be performed by a user device (e.g., user device 210 ).
  • one or more process blocks of FIG. 5 may be performed by another device or a group of devices separate from or including the user device, such as a server device (e.g., server device 220 ).
  • process 500 may include determining a plurality of image resolutions supported by a camera of the user device (block 505 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , and/or the like
  • process 500 may include determining a screen aspect ratio of a display of the user device (block 510 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , and/or the like
  • process 500 may include detecting, in a field of view of the camera, a first side of a document (block 515 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , input component 350 , communication interface 370 , and/or the like
  • process 500 may include determining first information associated with the first side of the document (block 520 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , and/or the like
  • process 500 may include selecting, based on the first information and the screen aspect ratio, a first image resolution of the plurality of image resolutions (block 525 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , and/or the like
  • process 500 may include capturing, by the camera of the user device, a first image of the first side of the document according to the first image resolution (block 530 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , input component 350 , communication interface 370 , and/or the like
  • process 500 may include detecting, in the field of view of the camera, a second side of the document (block 535 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , input component 350 , communication interface 370 , and/or the like
  • process 500 may include determining second information associated with the second side of the document (block 540 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , and/or the like
  • process 500 may include selecting, based on the second information and the screen aspect ratio, a second image resolution of the plurality of image resolutions, wherein the second image resolution is a different level of resolution than the first image resolution (block 545 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , and/or the like
  • the second image resolution may be a different level of resolution than the first image resolution.
  • process 500 may include capturing, by the camera of the user device, a second image of the second side of the document according to the second image resolution (block 550 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , input component 350 , communication interface 370 , and/or the like
  • process 500 may include performing an action related to the first image and the second image (block 555 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , input component 350 , output component 360 , communication interface 370 , and/or the like
  • Process 500 may include additional implementations, such as any single implementation or any combination of implementations described below and/or in connection with one or more other processes described elsewhere herein.
  • the user device when selecting, based on the first information and the screen aspect ratio, the first image resolution of the plurality of image resolutions, may determine, based on the screen aspect ratio, a set of optimal image resolutions of the plurality of image resolutions that correspond to dimensions of the display of the user device, and may select, based on the first information, the first image resolution from the set of optimal image resolutions.
  • the user device when selecting, based on the second information and the screen aspect ratio, the second image resolution of the plurality of image resolutions, may determine a threshold image resolution based on the second information, may determine, based on the screen aspect ratio, a set of image resolutions of the plurality of image resolutions that fit the display of the user device, and may select the second image resolution from the set of image resolutions, where the second image resolution satisfies the threshold image resolution.
  • the user device when determining the first information associated with the first side of the document, may receive input data from a user, via the user device, regarding the first side of the document, may determine, based on detecting the first side of the document, image data concerning the first side of the document, and may determine the first information associated with the first side of the document by comparing the input data and the image data.
  • the user device when performing the action related to the first image and the second image, may crop the first image to include first image data concerning only the first side of the document, and may crop the second image to include second image data concerning only the second side of the document. In some implementations, the user device may cause the first image to be displayed on the display of the user device after capturing the first image, and may cause the second image to be displayed on the display of the user device after capturing the second image.
  • the user device when performing the action related to the first image and the second image, may identify a document type of the document based on the first image and the second image, and may cause a message indicating the document type to be displayed on the display of the user device. In some implementations, when performing the action related to the first image and the second image, the user device may perform optical character recognition on the first image and the second image to generate third information, and may validate the document based on the first information, the second information, and the third information.
  • process 500 may include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted in FIG. 5 . Additionally, or alternatively, two or more of the blocks of process 500 may be performed in parallel.
  • FIG. 6 is a flow chart of an example process 600 for dynamically optimizing photo capture for multiple subjects.
  • one or more process blocks of FIG. 6 may be performed by a user device (e.g., user device 210 ).
  • one or more process blocks of FIG. 6 may be performed by another device or a group of devices separate from or including the user device, such as a server device (e.g., server device 220 ).
  • process 600 may include determining a plurality of image resolutions supported by a camera of the user device (block 605 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , and/or the like
  • process 600 may include detecting, in a field of view of the camera, a first side of a document (block 610 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , input component 350 , communication interface 370 , and/or the like
  • process 600 may include determining first information associated with the first side of the document (block 615 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , and/or the like
  • process 600 may include selecting, based on the first information, a first image resolution of the plurality of image resolutions (block 620 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , and/or the like
  • process 600 may include causing the display of the user device to present first preview images of the first side of the document (block 625 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , output component 360 , communication interface 370 , and/or the like
  • process 600 may include capturing, by the camera of the user device, a first image of the first side of the document according to the first image resolution (block 630 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , input component 350 , communication interface 370 , and/or the like
  • process 600 may include detecting, in the field of view of the camera, a second side of the document (block 635 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , input component 350 , communication interface 370 , and/or the like
  • process 600 may include determining second information associated with the second side of the document (block 640 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , and/or the like
  • process 600 may include selecting, based on the second information, a second image resolution of the plurality of image resolutions, wherein the second image resolution is the same as the first image resolution (block 645 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , and/or the like
  • the second image resolution may be the same as the first image resolution.
  • process 600 may include causing the display of the user device to present second preview images of the second side of the document (block 650 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , output component 360 , communication interface 370 , and/or the like
  • process 600 may include capturing, by the camera of the user device, a second image of the second side of the document according to the second image resolution (block 655 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , input component 350 , communication interface 370 , and/or the like
  • process 600 may include performing an action related to the first image and the second image (block 660 ).
  • the user device e.g., using processor 320 , memory 330 , storage component 340 , input component 350 , output component 360 , communication interface 370 , and/or the like
  • Process 600 may include additional implementations, such as any single implementation or any combination of implementations described below and/or in connection with one or more other processes described elsewhere herein.
  • the document may include a government-issued identification card, an employee identification card, a health insurance card, or a transaction card.
  • the user device when selecting, based on the first information, the first image resolution of the plurality of image resolutions, the user device may determine a first threshold image resolution based on the first information, and may select the first image resolution, where the first image resolution satisfies the first threshold image resolution.
  • the user device when selecting, based on the second information, the second image resolution of the plurality of image resolutions, the user device may determine a second threshold image resolution based on the second information, and may select the second image resolution, where the second image resolution satisfies the second threshold image resolution.
  • the first threshold image resolution may be different than the second threshold image resolution. In some implementations, the first threshold image resolution may be associated with a quick capture mode of the camera and the second threshold image resolution is associated with a full capture mode of the camera.
  • process 600 may include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted in FIG. 6 . Additionally, or alternatively, two or more of the blocks of process 600 may be performed in parallel.
  • a user device 210 that is able to automatically select an optimal image resolution for capturing an image of a side of a document such that the image resolution is a high enough resolution to meet certain image quality standards and the image resolution is a low enough resolution to minimize image file size.
  • user device 210 may detect a first side of a document in a field of view of a camera of user device 210 and determine first information associated with the first side of the document.
  • user device 210 may select a first image resolution, based on the first information, for capturing a first image of the first side of the document and capture the first image according to the first image resolution.
  • user device 210 may detect a second side of a document in the field of view of the camera of user device 210 and determine second information associated with the second side of the document. In some implementations, user device 210 may select a second image resolution, based on the second information, for capturing a second image of the second side of the document and capture the second image according to the second image resolution. In some implementations, the first image resolution may be different than the second image resolution.
  • user device 210 optimizes image capture for multiple subjects (e.g., a first side of a document and a second side of a document). In this way, user device 210 ensures that that first image resolution for capturing the first image is a high enough resolution for user device 210 and/or server device 220 to process the first image and the second image resolution for capturing the second image is a high enough resolution for user device 210 and/or server device 220 to process the second image.
  • user device 210 ensures that the first image resolution is not higher than the first image resolution needs to be for processing of the first image, and ensures that the second image resolution is not higher than the second resolution needs to be for processing the second image, which minimizes the file size of the first image and the file size of the second image.
  • the term component is intended to be broadly construed as hardware, firmware, or a combination of hardware and software.
  • satisfying a threshold may refer to a value being greater than the threshold, more than the threshold, higher than the threshold, greater than or equal to the threshold, less than the threshold, fewer than the threshold, lower than the threshold, less than or equal to the threshold, equal to the threshold, or the like.
  • a user interface may include a graphical user interface, a non-graphical user interface, a text-based user interface, or the like.
  • a user interface may provide information for display.
  • a user may interact with the information, such as by providing input via an input component of a device that provides the user interface for display.
  • a user interface may be configurable by a device and/or a user (e.g., a user may change the size of the user interface, information provided via the user interface, a position of information provided via the user interface, etc.).
  • a user interface may be pre-configured to a standard configuration, a specific configuration based on a type of device on which the user interface is displayed, and/or a set of configurations based on capabilities and/or specifications associated with a device on which the user interface is displayed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Studio Devices (AREA)

Abstract

A user device detects, in a field of view of the camera, a first side of a document, and determines first information associated with the first side of the document. The user device selects a first image resolution based on the first information and captures, by the camera, a first image of the first side of the document according to the first image resolution. The user device detects, in the field of view of the camera, a second side of the document, and determines second information associated with the second side of the document. The user device selects a second image resolution based on the second information, and captures, by the camera, a second image of the second side of the document according to the second image resolution. The user device performs an action related to the first image and the second image.

Description

    RELATED APPLICATIONS
  • This application is a continuation of U.S. patent application Ser. No. 16/662,296, filed Oct. 24, 2019 (now U.S. Pat. No. 11,216,685), which is a continuation of U.S. patent application Ser. No. 15/998,988, filed Aug. 20, 2018 (now U.S. Pat. No. 10,460,191). The contents of each of the above applications are incorporated herein by reference.
  • BACKGROUND
  • A digital image has an associated image resolution, which defines the amount of detail in the image. An image resolution may be represented as a number of pixel columns (width) and a number of pixel rows (height).
  • SUMMARY
  • According to some implementations, a method may include determining, by a user device, a plurality of image resolutions supported by a camera of the user device. The method may include detecting, by the user device and in a field of view of the camera, a first side of a document, and determining, by the user device, first information associated with the first side of the document. The method may include selecting, by the user device and based on the first information, a first image resolution of the plurality of image resolutions, and capturing, by the camera of the user device, a first image of the first side of the document according to the first image resolution. The method may include detecting, by the user device and in the field of view of the camera, a second side of the document, and determining, by the user device, second information associated with the second side of the document. The method may include selecting, by the user device and based on the second information, a second image resolution of the plurality of image resolutions, wherein the second image resolution corresponds to a different quality of image than the first image resolution. The method may include capturing, by the camera of the user device, a second image of the second side of the document according to the second image resolution. The method may include performing, by the user device, an action related to the first image and the second image.
  • According to some implementations, a user device may include one or more memories, and one or more processors, communicatively coupled to the one or more memories, to determine a plurality of image resolutions supported by a camera of the user device, and to determine a screen aspect ratio of a display of the user device. The one or more processors may detect, in a field of view of the camera, a first side of a document, and may determine first information associated with the first side of the document. The one or more processors may select, based on the first information and the screen aspect ratio, a first image resolution of the plurality of image resolutions, and may capture, by the camera of the user device, a first image of the first side of the document according to the first image resolution. The one or more processors may detect, in the field of view of the camera, a second side of the document, and may determine second information associated with the second side of the document. The one or more processors may select, based on the second information and the screen aspect ratio, a second image resolution of the plurality of image resolutions, wherein the second image resolution is a different level of resolution than the first image resolution, and may capture, by the camera of the user device, a second image of the second side of the document according to the second image resolution. The one or more processors may perform an action related to the first image and the second image
  • According to some implementations, a non-transitory computer-readable medium may store instructions that include one or more instructions that, when executed by one or more processors of a user device, cause the one or more processors to determine a plurality of image resolutions supported by a camera of the user device, and to detect, in a field of view of the camera, a first side of a document. The one or more instructions may cause the one or more processors to determine first information associated with the first side of the document, and to select, based on the first information, a first image resolution of the plurality of image resolutions. The one or more instructions may cause the one or more processors to cause the display of the user device to present first preview images of the first side of the document, and to capture, by the camera of the user device, a first image of the first side of the document according to the first image resolution. The one or more instructions may cause the one or more processors to detect, in the field of view of the camera, a second side of the document, and to determine second information associated with the second side of the document. The one or more instructions may cause the one or more processors to select, based on the second information, a second image resolution of the plurality of image resolutions, wherein the second image resolution is the same as the first image resolution. The one or more instructions may cause the one or more processors to cause the display of the user device to present second preview images of the second side of the document. The one or more instructions may cause the one or more processors to capture, by the camera of the user device, a second image of the second side of the document according to the second image resolution. The one or more instructions may cause the one or more processors to perform an action related to the first image and the second image.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIGS. 1A-1D are diagrams of example implementations described herein.
  • FIG. 2 is a diagram of an example environment in which systems and/or methods, described herein, may be implemented.
  • FIG. 3 is a diagram of example components of one or more devices of FIG. 2.
  • FIG. 4 is a flow chart of an example process for dynamically optimizing photo capture for multiple subjects.
  • FIG. 5 is a flow chart of an example process for dynamically optimizing photo capture for multiple subjects.
  • FIG. 6 is a flow chart of an example process for dynamically optimizing photo capture for multiple subjects.
  • DETAILED DESCRIPTION
  • The following detailed description of example implementations refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements.
  • Some entities (e.g., financial institutions, such as banks and/or the like) permit account applicants, or customers, to capture images of verification documentation (e.g., government-issued identification (ID) cards and/or the like) using a user device (e.g., a smartphone), and submit the images over the Internet for validation. However, this can often be a frustrating process for a user, particularly if an entity's backend platform repeatedly rejects uploaded images for not meeting certain image quality standards. Furthermore, the amount of time required for a user device to capture an image, upload the image to a server, and process the image increases as resolution of the image increases. The image's file size also increases as the image resolution increases, which results in transmission of more data than may be needed over a network.
  • Some implementations, described herein, provide a user device that is able to automatically select an optimal image resolution for capturing an image of a side of a document such that the image resolution is a high enough resolution to meet certain image quality standards and the image resolution is a low enough resolution to minimize image file size. In some implementations, the user device may detect a first side of a document in a field of view of a camera of the user device and determine first information associated with the first side of the document. In some implementations, the user device may select a first image resolution, based on the first information, for capturing a first image of the first side of the document, and capture the first image according to the first image resolution. In some implementations, the user device may detect a second side of a document in the field of view of the camera of the user device and determine second information associated with the second side of the document. In some implementations, the user device may select a second image resolution, based on the second information, for capturing a second image of the second side of the document, and capture the second image according to the second image resolution. In some implementations, the first image resolution is different than the second image resolution. In some implementations, the first image resolution is the same resolution as the second image resolution.
  • In this way, the user device optimizes image capture for multiple subjects (e.g., a first side of a document and a second side of a document). In this way, the user device ensures that that first image resolution for capturing the first image is a high enough resolution (e.g., a first optimal resolution) for the user device and/or a server to process the first image, and that the second image resolution for capturing the second image is a high enough resolution (e.g., a second optimal resolution) for the user device and/or the server to process the second image. Moreover, the first image resolution and the second image resolution are chosen based on the document and/or subject so as to limit computing resources needed to capture, upload, and process the first and second image. For example, by optimally choosing image resolutions on a document/subject basis, the user device minimizes the file size of the first image (e.g., a first optimal file size) and the file size of the second image (e.g., a second optimal file size), which shortens the amount of time to capture, upload, and process the first image and the second image. This conserves computing resources, power resources, and memory resources of the user device that would otherwise need to be expended in cases where images are captured with a default resolution. In addition, this conserves computing resources, memory resources, and network resources, associated with a backend platform, such as a server, that would otherwise need to be expended to receive and process images with a large file size.
  • FIGS. 1A-1D are diagrams of example implementations 100 described herein. Example implementation 100 may include a user device (e.g., a mobile device, such as a smartphone and/or the like) and a document (e.g., a government-issued identification (ID) card, an employee identification card, a health insurance card, a transaction card (e.g., a credit card, a debit card, an automated teller machine (ATM) card, and/or the like), a check, and/or the like). In some implementations, the user device may include a camera (e.g., one or more cameras) configured to capture images, and one or more applications (e.g., provided by, or associated with, an entity, such as a financial institution (e.g., a bank and/or the like)) capable of facilitating image capturing. In some implementations, the user may execute the one or more applications on the user device to capture a first image of a first side of the document and/or capture a second image of a second side of the document.
  • As shown in FIG. 1A, and by reference number 102, the user device (e.g., via an application executing on the user device) determines a plurality of image resolutions that are supported by the camera of the user device. In some implementations, the camera may support one or more image resolutions. In some implementations, an image resolution may be represented as a number of pixel columns (width) and a number of pixel rows (height), such as 1280×720, 1920×1080, 2592×1458, 3840×2160, 4128×2322, 5248×2952, 5312×2988, and/or the like, where higher numbers of pixel columns and higher numbers of pixel rows are associated with higher image resolutions. In some implementations, the camera may support a first image resolution that is associated with a quick capture mode, such as a low image resolution for capturing and displaying low-detail preview images on a display of the user device. In some implementations, the camera may support a second image resolution that is associated with a full capture mode, such as a high image resolution for capturing a high-detail image. In some implementations, the full capture mode may be associated with the highest image resolution supported by the camera.
  • As shown by reference number 104, the user device (e.g., via an application executing on the user device) may determine a screen aspect ratio of a display of the user device. In some implementations, the screen aspect ratio of the display may be represented as a proportional relationship between a width of the display and a height of the display, such as 4:3, 5:4, 3:2, 16:10, 16:9, 18:9, 21:9, 32:9, and/or the like. In some implementations, a screen aspect ratio may be associated with one or more image resolutions, such that an image with the one or more image resolutions fits the display with the screen aspect ratio with minimal scaling, letterboxing, and/or pillarboxing.
  • As shown in FIG. 1B and by reference number 106, the user device (e.g., via an application executing on the user device) may detect a first side of a document. In some implementations, the one or more applications may instruct the user to position the user device over the document for the user device to detect the first side of the document. In some implementations, the user may point the camera of the user device at the first side of the document and the user device may detect the first side of the document in a field of view of the camera. In some implementations, the camera of the user device may capture first preview images of the first side of the document and process the first preview images to detect the first side of the document. In some implementations, the user device may capture the first preview images using the quick capture mode.
  • In some implementations, the user device may employ one or more computer vision techniques (e.g., a scale-invariant feature transform (SIFT) technique, a speeded up robust features (SURF) technique, a generalized robust invariant feature (G-RIF) technique, and/or the like) to process the first preview images to detect the first side of the document and/or features of the first side of the document. In some implementations, the user device may detect a plurality of edges in a first preview image that are associated with the first side of the document, such as edges concerning text, images, objects, boundaries, and/or the like. For example, the user device may detect, in the first preview image, edges associated with an image of a state seal on a front side of a state-issued driver's license ID card. In some implementations, the user device may detect text in the first preview image that is associated with the first side of the document. For example, the user device may detect, in the first preview image, text associated with a name, an address, a birth date, and/or the like on the front side of the state-issued driver's license ID card. In some implementations, the user device may detect a bar code, a quick response (QR) code, an identification string, and/or the like in the first preview image that is associated with the first side of the document. For example, the user device may detect, in the first preview image, an identification number on the front side of the state-issued driver's license ID card.
  • As shown by reference number 108, the user device (e.g., via an application executing on the user device) may determine first information associated with the first side of the document. In some implementations, the first information may include information regarding content of the first side of the document, information regarding identification of the first side of the document, lighting information concerning the first side of the document, and/or the like. In some implementations, the user may enter the first information into the user device through a user interface of the user device. For example, the user device may receive information identifying the first side of the document as the front side of a transaction card from the user via the user interface of the user device. In some implementations, image capture associated with a document type may be triggered by the application or by a user interaction with the application, such that the application may predetermine a document type and/or side of a document.
  • In some implementations, the user device may determine the first information based on detecting the first side of the document. In some implementations, the user device may process the plurality of edges, the text, the bar code, the QR code, the identification string, and/or the like that may be associated with the first side of the document and that were detected by the user device when detecting the first side of the document to determine the first information. For example, the user device may process the text associated with the front side of the transaction card to determine a customer name, an issuing bank name, and an account number associated with the transaction card.
  • In some implementations, the user device may determine the first information by comparing information regarding the first side of the document that the user enters into the user device (e.g., input data) and information regarding the first side of the document that the user device determines based on detecting the first side of the document (e.g., image data). For example, the user may enter input data concerning a customer name, an issuing bank name, and/or an account number associated with the front side of a document into the user device. The user device may determine image data concerning a customer name, an issuing bank name, and/or an account number associated with the front side of the document based on detecting the front side of the transaction card. The user device may compare the input data customer name and the image data customer name, may compare the input data issuing bank name and the image data issuing bank name, may compare the input data account number and the image data account number, and/or the like, to determine that input data and image data are consistent and that both the input data and the image data indicate that the first side of the document is a front side of a transaction card.
  • As shown by reference number 110, the user device (e.g., via an application executing on the user device) may select a first image resolution for capturing a first image of the first side of the document. In some implementations, the user device may select the first image resolution from the plurality of image resolutions based on the first information. For example, where the first information indicates that the first side of the document is the front side of a check, the user device may select the first image resolution that will provide enough detail in the first image for the user device, a server device, and/or the like to determine and/or validate the content of the front side of the check. Moreover, the user device may select the first image resolution to provide sufficient detail, but no more (or not needlessly more) detail than is preferred by the user device and/or the server device, thereby reducing the first image file size, which reduces the amount of time, computing resources, power resources, and/or memory resources of the user device and/or the server device needed to capture, upload, and process the first image. In some implementations, the first image resolution is an optimal resolution, which provides sufficient detail to process and/or validate an image of the first side of the document while minimizing the size of the image file.
  • In some implementations, the user device may use a lookup table to select the first image resolution. For example, the user device may search the lookup table based on the first information to select the first image resolution. In some implementations, the lookup table may include a first preferred image resolution for a first side of a document type and a second preferred image resolution for a second side of the document type. For example, the lookup table may include a first preferred image resolution for a front side of a government-issued ID card and a second preferred image resolution for a back side of the government-issued ID card. In some implementations, the first preferred image resolution is a lower resolution than the second preferred image resolution. In some implementations, the first preferred image resolution is a higher resolution than the second preferred image resolution. In some implementations, the first preferred image resolution is the same resolution as the second preferred image resolution.
  • In some implementations, the user device (e.g., via an application executing on the user device) may select the first image resolution based on the first information and the screen aspect ratio. In some implementations, the user device may determine, based on the screen aspect ratio, a set of optimal image resolutions of the plurality of image resolutions that correspond to dimensions of the display of the user device. For example, the user device may evaluate each image resolution of the plurality of image resolutions to determine, for an image resolution, whether the image resolution fits the display of the user device. The user device may determine that the image resolution fits the display if an image with the image resolution can be presented on the display with little-to-no scaling (e.g., resizing of the image by shrinking the image, stretching the image, cropping the image, re-centering the image, and/or the like), letterboxing (e.g., presenting the image with black horizontal bars above and/or below the image), and/or pillarboxing (e.g. presenting the image with black vertical bars to the left and/or the right of the image). In some implementations, the set of optimal resolutions may include each image resolution that fits the display of the user device. In some implementations, the user device may select, based on the first information, the first image resolution from the set of optimal image resolutions.
  • In some implementations, a first threshold image resolution may be the minimum resolution necessary for capturing the first image of the first side of the document with enough detail for processing by the user device, a server device, and/or the like. In some implementations, the user device may determine the first threshold image resolution based on the first information. For example, the user device may use a lookup table to determine a first threshold image resolution for a front side of an employee identification card. In some implementations, the user device may determine a first threshold image resolution based on the plurality of edges, the text, the bar code, the QR code, the identification string, and/or the like that are associated with the first side of the document and that were detected by the user device when detecting the first side of the document. In some implementations, the user device may select the first image resolution, such that the first image resolution satisfies the first threshold image resolution (e.g., the first image resolution has a resolution that is higher than or equal to the first threshold image resolution). In some implementations, the user device may determine, based on the screen aspect ratio, a set of image resolutions of the plurality of image resolutions that fit the display of the user device. In some implementations, the user device may select the first image resolution from the set of image resolutions, wherein the first image resolution satisfies the first threshold image resolution (e.g., the first image resolution has a resolution that is higher than or equal to the first threshold image resolution).
  • In some implementations, the user device may utilize a machine learning or artificial intelligence model to select the first image resolution. For example, based on the model, the user device may assign a respective weight to the plurality of image resolutions, the first information (e.g., the information regarding content of the first side of the document, the information regarding identification of the first side of the document, the lighting information concerning the first side of the document, and/or the like), the screen aspect ratio, camera settings of the camera (e.g., shutter speed of the camera, a camera mode (e.g., quick capture mode or full capture mode), an aperture setting of the camera, an international standards organization (ISO) setting of the camera, a focus setting (e.g., autofocus) of the camera, a distance of the camera from the first side of the document, and/or the like), and/or the like to select the first image resolution. In this way, the user device may select the first image resolution in a manner that optimizes the processing resources of the user device.
  • In some implementations, the user device may train the model based on an artificial intelligence approach, such as a machine learning algorithm, a neural network algorithm, or another type of artificial intelligence approach. To train the model based on the artificial intelligence approach, the user device may use a training set of known inputs (e.g., inputs concerning a plurality of image resolutions, first information, a screen aspect ratio, camera settings, and/or the like) and known outputs corresponding to the inputs (e.g., outputs concerning a first image resolution). For example, the user device may train the model based on a training set of data that includes an input group (e.g., past inputs relating to a plurality of image resolutions, first information, a screen aspect ratio, camera settings, and/or the like) and an output group (e.g., past outputs relating to a first image resolution), where each input group corresponds to an optimal output group, such as an optimal first image resolution. In some implementations, another device, such as the server device, may train the model and provide the model for use by the user device.
  • In some implementations, the artificial intelligence approach may identify relationships between the known inputs and the known outputs, and may configure parameters corresponding to the relationships. For example, the model may process the training set of data and create general rules for selecting the first image resolution based on the plurality of image resolutions, the first information, the screen aspect ratio, the camera settings, and/or the like. In some implementations, the model may be used to generate a score that indicates a likelihood that a first image resolution is optimal.
  • In some implementations, the user device may update the model based on the artificial intelligence approach. For example, the user device may use a testing set of known inputs (e.g., inputs concerning a plurality of image resolutions, first information, a screen aspect ratio, camera settings, and/or the like) and target outputs corresponding to the known outputs (e.g., outputs concerning a first image resolution). The target outputs may be outputs that are known to be optimal. The user device may input, to the model, the known inputs of the testing set, and the model may output observed outputs. The user device may compare the target outputs and the observed outputs, and may reconfigure the parameters of the model based on the artificial intelligence algorithm. In this way, the user device may improve accuracy of the model based on iteratively improving accuracy of parameters of the model. In some implementations, another device, such as the server device, may update the model and provide the model for use by the user device.
  • In some implementations, the user device may use the trained and updated model to select the first image resolution. For example, the user device may specify a plurality of image resolutions, first information, a screen aspect ratio, camera settings, and/or the like. The model may then output information identifying a first image resolution selection, possibly with a corresponding score that indicates a likelihood that the first image resolution is optimal.
  • In this way, the user device may deliver an optimized process for selecting a first image resolution in a manner that conserves computing resources (e.g., processor resources, memory resources, and/or the like), which would otherwise be wasted performing an inefficient and/or time consuming process.
  • As shown by reference number 112, the user device (e.g., via an application executing on the user device) may display the first preview images of the first side of the document. In some implementations, the user device may cause the display of the user device to present the first preview images of the first side of the document. For example, the user device may cause the display to present the first preview images as they are captured (e.g., in real-time or substantially real-time) by the camera of the user device, which may make it appear that the preview images are streaming on the display. In some implementations, the user device may display the first preview images to assist the user in capturing the first image of the first side of the document with the camera. For example, the display of the user device can display the first preview images so that the user knows whether the user needs to take an action, such as moving the camera closer to or farther away from the first side of the document, before the user device captures the first image.
  • As shown by reference number 114, the user device (e.g., via an application executing on the user device) may capture the first image of the first side of the document with the camera according to the first image resolution. In some implementations, the user device may automatically capture the first image when the first side of the document is in the field of view of the camera. In some implementations, the user device may capture the first image upon the user inputting a command into the user device to capture the first image. In some implementations, the user device may cause the first image to be displayed on the display of the user device after capturing the first image.
  • As shown in FIG. 1C, the user device may detect a second side of a document, determine second information, select a second image resolution, display second preview images, and/or capture a second image of the second side of the document according to the second image resolution in a similar manner as described herein in relation to FIG. 1B. In some implementations, as shown by reference number 116, the user device (e.g., via an application executing on the user device) may detect the second side of the document in the field of view of the camera. In some implementations, the camera may capture second preview images of the second side of the document and process the second preview images to detect the second side of the document. As with the first preview images, in some implementations, the user device may capture the second preview images using the quick capture mode.
  • In some implementations, the user device may employ one or more computer vision techniques to process the second preview images to detect the second side of the document and/or features of the second side of the document. In some implementations, the user device may detect a plurality of edges, text, a bar code, a quick response (QR) code, an identification string, and/or the like in a second preview image that may be associated with the second side of the document. For example, the user device may detect, in the second preview image, a bar code on the back side of a health insurance card.
  • As shown by reference number 118, the user device (e.g., via an application executing on the user device) may determine second information associated with the second side of the document in a similar manner as described herein in relation to FIG. 1B. In some implementations, the second information may include information regarding content of the second side of the document, information regarding identification of the second side of the document, lighting information concerning the first side of the document, and/or the like. In some implementations, the user may enter the second information into the user device through a user interface of the user device. In some implementations, the user device may determine the second information based on detecting the second side of the document. In some implementations, the user device may process the plurality of edges, the text, the bar code, the QR code, the identification string, and/or the like that may be associated with the second side of the document and that were detected by the user device when detecting the second side of the document to determine the second information. In some implementations, the user device may determine the second information by comparing information regarding the second side of the document that the user enters into the user device (e.g., input data) and information regarding the second side of the document that the user device determines based on detecting the second side of the document (e.g., image data).
  • As shown by reference number 120, the user device (e.g., via an application executing on the user device) may select a second image resolution for capturing a second image of the second side of the document in a similar manner as described herein in relation to FIG. 1B. In some implementations, the user device may select the second image resolution from the plurality of image resolutions based on the second information. In some implementations, the second image resolution may be different from the first image resolution. In some implementations, the second image resolution may correspond to a different quality of image than the first image resolution. In some implementations, the second image resolution may be a different level of resolution than the first image resolution. In some implementations, the second image resolution may be the same level of resolution as the first image resolution. In some implementations, the second image resolution is an optimal resolution, which provides sufficient detail to process and/or validate an image of the second side of the document while minimizing the size of the image file.
  • In some implementations, the user device may use a lookup table to select the second image resolution. For example, the user device may search the lookup table based on the second information to select the second image resolution. In a similar manner as described above, in some implementations, the lookup table may include a preferred image resolution for a first side of a document type and a second preferred image resolution for a second side of the document type.
  • In some implementations, the user device may select the second image resolution based on the second information and the screen aspect ratio. In some implementations, the user device may determine, based on the screen aspect ratio, a set of optimal image resolutions of the plurality of image resolutions that correspond to dimensions of the display of the user device. In some implementations, the user device may select, based on the second information, the second image resolution from the set of optimal image resolutions.
  • In some implementations, a second threshold image resolution may be the minimum resolution necessary for capturing the second image of the second side of the document with enough detail for processing by the server device. In some implementations, the user device may determine the second threshold image resolution based on the second information. For example, the user device may use a lookup table to determine a second threshold image resolution for a back side of a government-issued ID card. In some implementations, the user device may select the second image resolution, such that the second image resolution satisfies the second threshold image resolution (e.g., the second image resolution has a resolution that is higher than or equal to the second threshold image resolution). In some implementations, the first threshold image resolution is different than the second threshold image resolution. In some implementations, the first threshold image resolution is the same as the second threshold image resolution.
  • In some implementations, the user device may determine, based on the screen aspect ratio, a set of image resolutions of the plurality of image resolutions that fit the display of the user device. In some implementations, in a similar manner as described above, the user device may select the second image resolution from the set of image resolutions, wherein the second image resolution satisfies the second threshold image resolution (e.g., the second image resolution has a resolution that is higher than or equal to the second threshold image resolution). In some implementations, the first threshold image resolution is associated with the quick capture mode of the camera and the second threshold image resolution is associated with the full capture mode of the camera, the fist threshold image resolution is associated with the full capture mode of the camera and the second threshold image resolution is associated with the quick capture mode of the camera, the first threshold image resolution and the second threshold image resolution are each, respectively, associated with the quick capture mode of the camera, or the first threshold image resolution and the second threshold image resolution are each, respectively, associated with the full capture mode of the camera.
  • In some implementations, in a similar manner as described herein in relation to FIG. 1B, the user device may utilize a machine learning or artificial intelligence model to select the second image resolution. For example, based on the model, the user device may assign a respective weight to the plurality of image resolutions, the second information (e.g., the information regarding content of the second side of the document, the information regarding identification of the second side of the document, the lighting information concerning the second side of the document, and/or the like), the screen aspect ratio, camera settings of the camera (e.g., shutter speed of the camera, a camera mode (e.g., quick capture mode or full capture mode), an aperture setting of the camera, an ISO setting of the camera, a focus setting (e.g., autofocus) of the camera, a distance of the camera from the second side of the document, and/or the like), and/or the like to select the second image resolution. In this way, the user device may select the first image resolution in a manner that optimizes the processing resources of the user device.
  • In some implementations, the user device may train and update the model based on an artificial intelligence approach, such as a machine learning algorithm, a neural network algorithm, or another type of artificial intelligence approach. In some implementations, another device, such as the server device, may train, update, and provide the model for use by the user device. In some implementations, the user device may use the trained and updated model to select the second image resolution. For example, the user device may specify a plurality of image resolutions, second information, a screen aspect ratio, camera settings, and/or the like. The model may then output information identifying a second image resolution selection, possibly with a corresponding score that indicates a likelihood that the second image resolution is optimal.
  • In this way, the user device may deliver an optimized process for selecting a second image resolution in a manner that conserves computing resources (e.g., processor resources, memory resources, and/or the like), which would otherwise be wasted performing an inefficient and/or time consuming process.
  • As shown by reference number 122, the user device (e.g., via an application executing on the user device) may display the second preview images of the second side of the document in a similar manner as described herein in relation to FIG. 1B. In some implementations, the user device may cause the display of the user device to present the second preview images of the second side of the document. In some implementations, the user device may display the second preview images to assist the user in capturing the second image of the second side of the document with the camera.
  • As shown by reference number 124, the user device (e.g., via an application executing on the user device) may capture the second image of the second side of the document with the camera according to the second image resolution in a similar manner as described herein in relation to FIG. 1B. In some implementations, the user device may automatically capture the second image when the second side of the document is in the field of view of the camera. In some implementations, the user device may capture the second image upon the user inputting a command into the user device to capture the second image. In some implementations, the user device may cause the second image to be displayed on the display of the user device after capturing the second image.
  • As shown in FIG. 1D, the user device may perform an action related to the first image and the second image. As shown by reference number 126, the user device (e.g., via an application executing on the user device) may process the first image and the second image. In some implementations, the user device may validate the first image and the second image. In some implementations, validating the first image and the second image comprises determining that first data can be extracted from the first image and that second data can be extracted from the second image. For example, the user device may use a computer vision technique to process the first image to determine that the first image has features consistent with a first side of a document as opposed to a random image. Similarly, the user device may use the computer vision technique to process the second image to determine that the second image has features consistent with a second side of a document as opposed to a random image.
  • In some implementations, the user device may perform optical character recognition (OCR) on the first image and the second image to generate third information and validate the document based on the first information, the second information, and the third information. For example, the first information may include information regarding content of the front side of a government-issued ID card that was input by a user via the user device and the second information may include information identifying the back side of the government-issued ID card that was determined based on detecting the second side of the document. The user device may perform OCR on the first image and the second image to generate third information, which may include information regarding content of text viewable on the front side of the government-issued ID card and content of an identification string on the back side of the government-issued ID card. The user device may determine that the document is valid if the first information, the second information, and the third information are consistent.
  • In some implementations, the user device may crop the first image to include first image data concerning only the first side of the document and crop the second image to include second image data concerning only the second side of the document. In this way, the user device can remove unnecessary image data and reduce the file size of the first image and the file size of the second image.
  • In some implementations, the user device may identify a document type of the document based on the first image and the second image. For example, the user device may process the first image and the second image using a computer vision technique to determine that the first image and the second image are consistent with a health insurance card. In some implementations, the user device may cause a message indicating the document type to be displayed on the display of the user device.
  • As shown by reference number 128, the user device (e.g., via an application executing on the user device) may send the first image and the second image to a server device. As shown by reference number 130, the server device may process the first image and the second image. For example, the server device may use a computer vision technique to extract the first data from the first image and the second data from the second image. The server device may verify that the first data and the second data is accurate by comparing the first data, the second data, and third data from a database that includes document-related information. In some implementations, the server device may send a message to the user device based on processing the first image and the second image. For example, the server device may send a message to the user device indicating that the first data associated with the first image and the second data associated with the second image are accurate. In some implementations, the server device may send information concerning the document, such as accuracy of the document, to the user device.
  • As shown by reference number 132, the user device (e.g., via an application executing on the user device) may receive the message and display the message on the display of the user device. In some implementations, the user device may receive the information concerning the document and present a message indicating the information concerning the document for display on a display of the user device.
  • In this way, the user device optimizes image capture for multiple subjects (e.g., a first side of a document and a second side of a document). In this way, the user device ensures that that first image resolution for capturing the first image is a high enough resolution for the user device and/or a server to process the first image, and that the second image resolution for capturing the second image is a high enough resolution for the user device and/or the server to process the second image. Moreover, the first image resolution and the second image resolution are chosen based on the document and/or subject so as to limit computing resources needed to capture, upload, and process the first and second image. For example, by optimally choosing image resolutions on a document/subject basis, the user device minimizes the file size of the first image and the file size of the second image, which shortens the amount of time to capture, upload, and process the first image and the second image. This conserves computing resources, power resources, and memory resources of the user device that would otherwise need to be expended in cases where images are captured with a default resolution. In addition, this conserves computing resources, memory resources, and network resources, associated with a backend platform, such as a server, that would otherwise need to be expended to receive and process images with a large file size.
  • As indicated above, FIGS. 1A-1D are provided merely as examples. Other examples are possible and may differ from what was described with regard to FIGS. 1A-1D.
  • FIG. 2 is a diagram of an example environment 200 in which systems and/or methods, described herein, may be implemented. As shown in FIG. 2, environment 200 may include a user device 210, a server device 220, and a network 230. Devices of environment 200 may interconnect via wired connections, wireless connections, or a combination of wired and wireless connections.
  • User device 210 includes one or more devices capable of receiving, generating, storing, processing, and/or providing information associated with dynamically optimizing photo capture for multiple subjects. For example, user device 210 may include a communication and/or computing device, such as a mobile phone (e.g., a smart phone, a radiotelephone, etc.), a laptop computer, a tablet computer, a handheld computer, a gaming device, a wearable communication device (e.g., a smart wristwatch, a pair of smart eyeglasses, etc.), or a similar type of device. User device 210 may include a camera, and may capture an image (e.g., of a document) using the camera. In some implementations, user device 210 may send the captured image, via network 230, to server device 220 for processing the captured image. In some implementations, user device 210 may receive a message from server device 220 and may display the message.
  • Server device 220 includes one or more devices capable of receiving, generating, storing, processing, and/or providing information associated with dynamically optimizing photo capture for multiple subjects. For example, server device 220 may include a server device (e.g., a host server, a web server, an application server, etc.), a data center device, or a similar device, capable of communicating with user device 210 via network 230. In some implementations, server device 220 may receive, from user device 210, an image captured by user device 210, and may process the image. In some implementations, server device 220 may send, to user device 210 via network 230, a message based on processing an image.
  • Network 230 includes one or more wired and/or wireless networks. For example, network 230 may include a cellular network (e.g., a long-term evolution (LTE) network, a code division multiple access (CDMA) network, a 3G network, a 4G network, a 5G network, another type of next generation network, etc.), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., the Public Switched Telephone Network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, a fiber optic-based network, a cloud computing network, and/or the like, and/or a combination of these or other types of networks.
  • The number and arrangement of devices and networks shown in FIG. 2 are provided as an example. In practice, there may be additional devices and/or networks, fewer devices and/or networks, different devices and/or networks, or differently arranged devices and/or networks than those shown in FIG. 2. Furthermore, two or more devices shown in FIG. 2 may be implemented within a single device, or a single device shown in FIG. 2 may be implemented as multiple, distributed devices. Additionally, or alternatively, a set of devices (e.g., one or more devices) of environment 200 may perform one or more functions described as being performed by another set of devices of environment 200.
  • FIG. 3 is a diagram of example components of a device 300. Device 300 may correspond to user device 210 and/or server device 220. In some implementations, user device 210 and/or server device 220 may include one or more devices 300 and/or one or more components of device 300. As shown in FIG. 3, device 300 may include a bus 310, a processor 320, a memory 330, a storage component 340, an input component 350, an output component 360, and a communication interface 370.
  • Bus 310 includes a component that permits communication among the components of device 300. Processor 320 is implemented in hardware, firmware, or a combination of hardware and software. Processor 320 is a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or another type of processing component. In some implementations, processor 320 includes one or more processors capable of being programmed to perform a function. Memory 330 includes a random access memory (RAM), a read only memory (ROM), and/or another type of dynamic or static storage device (e.g., a flash memory, a magnetic memory, and/or an optical memory) that stores information and/or instructions for use by processor 320.
  • Storage component 340 stores information and/or software related to the operation and use of device 300. For example, storage component 340 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optic disk, and/or a solid state disk), a compact disc (CD), a digital versatile disc (DVD), a floppy disk, a cartridge, a magnetic tape, and/or another type of non-transitory computer-readable medium, along with a corresponding drive.
  • Input component 350 includes a component that permits device 300 to receive information, such as via user input (e.g., a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, and/or a microphone). Additionally, or alternatively, input component 350 may include a sensor for sensing information (e.g., a global positioning system (GPS) component, an accelerometer, a gyroscope, and/or an actuator). Output component 360 includes a component that provides output information from device 300 (e.g., a display, a speaker, and/or one or more light-emitting diodes (LEDs)).
  • Communication interface 370 includes a transceiver-like component (e.g., a transceiver and/or a separate receiver and transmitter) that enables device 300 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. Communication interface 370 may permit device 300 to receive information from another device and/or provide information to another device. For example, communication interface 370 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi interface, a cellular network interface, or the like.
  • Device 300 may perform one or more processes described herein. Device 300 may perform these processes based on processor 320 executing software instructions stored by a non-transitory computer-readable medium, such as memory 330 and/or storage component 340. A computer-readable medium is defined herein as a non-transitory memory device. A memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices.
  • Software instructions may be read into memory 330 and/or storage component 340 from another computer-readable medium or from another device via communication interface 370. When executed, software instructions stored in memory 330 and/or storage component 340 may cause processor 320 to perform one or more processes described herein. Additionally, or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
  • The number and arrangement of components shown in FIG. 3 are provided as an example. In practice, device 300 may include additional components, fewer components, different components, or differently arranged components than those shown in FIG. 3. Additionally, or alternatively, a set of components (e.g., one or more components) of device 300 may perform one or more functions described as being performed by another set of components of device 300.
  • FIG. 4 is a flow chart of an example process 400 for dynamically optimizing photo capture for multiple subjects. In some implementations, one or more process blocks of FIG. 4 may be performed by a user device (e.g., user device 210). In some implementations, one or more process blocks of FIG. 4 may be performed by another device or a group of devices separate from or including the user device, such as a server device (e.g., server device 220).
  • As shown in FIG. 4, process 400 may include determining a plurality of image resolutions supported by a camera of the user device (block 405). For example, the user device (e.g., using processor 320, memory 330, storage component 340, and/or the like) may determine a plurality of image resolutions supported by a camera of the user device, as described above in connection with FIGS. 1A-1D.
  • As further shown in FIG. 4, process 400 may include detecting, in a field of view of the camera, a first side of a document (block 410). For example, the user device (e.g., using processor 320, memory 330, storage component 340, input component 350, communication interface 370, and/or the like) may detect, in a field of view of the camera, a first side of a document, as described above in connection with FIGS. 1A-1D.
  • As further shown in FIG. 4, process 400 may include determining first information associated with the first side of the document (block 415). For example, the user device (e.g., using processor 320, memory 330, storage component 340, and/or the like) may determine first information associated with the first side of the document, as described above in connection with FIGS. 1A-1D.
  • As further shown in FIG. 4, process 400 may include selecting, based on the first information, a first image resolution of the plurality of image resolutions (block 420). For example, the user device (e.g., using processor 320, memory 330, storage component 340, and/or the like) may select, based on the first information, a first image resolution of the plurality of image resolutions, as described above in connection with FIGS. 1A-1D.
  • As further shown in FIG. 4, process 400 may include capturing, by the camera of the user device, a first image of the first side of the document according to the first image resolution (block 425). For example, the user device (e.g., using processor 320, memory 330, storage component 340, input component 350, communication interface 370, and/or the like) may capture, by the camera of the user device, a first image of the first side of the document according to the first image resolution, as described above in connection with FIGS. 1A-1D.
  • As further shown in FIG. 4, process 400 may include detecting, in the field of view of the camera, a second side of the document (block 430). For example, the user device (e.g., using processor 320, memory 330, storage component 340, input component 350, communication interface 370, and/or the like) may detect, in the field of view of the camera, a second side of the document, as described above in connection with FIGS. 1A-1D.
  • As further shown in FIG. 4, process 400 may include determining second information associated with the second side of the document (block 435). For example, the user device (e.g., using processor 320, memory 330, storage component 340, and/or the like) may determine second information associated with the second side of the document, as described above in connection with FIGS. 1A-1D.
  • As further shown in FIG. 4, process 400 may include selecting, based on the second information, a second image resolution of the plurality of image resolutions, wherein the second image resolution corresponds to a different quality of image than the first image resolution (block 440). For example, the user device (e.g., using processor 320, memory 330, storage component 340, and/or the like) may select, based on the second information, a second image resolution of the plurality of image resolutions, as described above in connection with FIGS. 1A-1D. In some implementations, the second image resolution may correspond to a different quality of image than the first image resolution.
  • As further shown in FIG. 4, process 400 may include capturing, by the camera of the user device, a second image of the second side of the document according to the second image resolution (block 445). For example, the user device (e.g., using processor 320, memory 330, storage component 340, input component 350, communication interface 370, and/or the like) may capture, by the camera of the user device, a second image of the second side of the document according to the second image resolution, as described above in connection with FIGS. 1A-1D.
  • As further shown in FIG. 4, process 400 may include performing an action related to the first image and the second image (block 450). For example, the user device (e.g., using processor 320, memory 330, storage component 340, input component 350, output component 360, communication interface 370, and/or the like) may perform an action related to the first image and the second image, as described above in connection with FIGS. 1A-1D.
  • Process 400 may include additional implementations, such as any single implementation or any combination of implementations described below and/or in connection with one or more other processes described elsewhere herein.
  • In some implementations, when determining the first information associated with the first side of the document, the user device may determine the first information associated with the first side of the document based on a first identification string that is visible on the first side of the document. In some implementations, when determining the second information associated with the second side of the document, the user device may determine the second information associated with the second side of the document based on a quick response (QR) code, bar code, or second identification string that is visible on the second side of the document.
  • In some implementations, when detecting, in the field of view of the camera, the first side of the document, the user device may detect a plurality of edges associated with the first side of the document, and may detect text associated with the first side of the document. In some implementations, when detecting, in the field of view of the camera, the second side of the document, the user device may detect a plurality of edges associated with the second side of the document, may detect a bar code associated with the second side of the document, and may detect text associated with the second side of the document. In some implementations, the first image resolution may be associated with a quick capture mode of the camera, and the second image resolution may be associated with a full capture mode of the camera.
  • In some implementations, when performing the action related to the first image and the second image, the user device may validate the first image and the second image, may send the first image and the second image to a remote device, may receive, based on sending the first image and the second image to the remote device, third information concerning the document, and may present, for display on a display of the user device, a message indicating the third information. In some implementations, when validating the first image and the second image, the user device may determine that first data can be extracted from the first image, and may determine that second data can be extracted from the second image.
  • Although FIG. 4 shows example blocks of process 400, in some implementations, process 400 may include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted in FIG. 4. Additionally, or alternatively, two or more of the blocks of process 400 may be performed in parallel.
  • FIG. 5 is a flow chart of an example process 500 for dynamically optimizing photo capture for multiple subjects. In some implementations, one or more process blocks of FIG. 5 may be performed by a user device (e.g., user device 210). In some implementations, one or more process blocks of FIG. 5 may be performed by another device or a group of devices separate from or including the user device, such as a server device (e.g., server device 220).
  • As shown in FIG. 5, process 500 may include determining a plurality of image resolutions supported by a camera of the user device (block 505). For example, the user device (e.g., using processor 320, memory 330, storage component 340, and/or the like) may determine a plurality of image resolutions supported by a camera of the user device, as described above in connection with FIGS. 1A-1D.
  • As further shown in FIG. 5, process 500 may include determining a screen aspect ratio of a display of the user device (block 510). For example, the user device (e.g., using processor 320, memory 330, storage component 340, and/or the like) may determine a screen aspect ratio of a display of the user device, as described above in connection with FIGS. 1A-1D.
  • As further shown in FIG. 5, process 500 may include detecting, in a field of view of the camera, a first side of a document (block 515). For example, the user device (e.g., using processor 320, memory 330, storage component 340, input component 350, communication interface 370, and/or the like) may detect, in a field of view of the camera, a first side of a document, as described above in connection with FIGS. 1A-1D.
  • As further shown in FIG. 5, process 500 may include determining first information associated with the first side of the document (block 520). For example, the user device (e.g., using processor 320, memory 330, storage component 340, and/or the like) may determine first information associated with the first side of the document, as described above in connection with FIGS. 1A-1D.
  • As further shown in FIG. 5, process 500 may include selecting, based on the first information and the screen aspect ratio, a first image resolution of the plurality of image resolutions (block 525). For example, the user device (e.g., using processor 320, memory 330, storage component 340, and/or the like) may select, based on the first information and the screen aspect ratio, a first image resolution of the plurality of image resolutions, as described above in connection with FIGS. 1A-1D.
  • As further shown in FIG. 5, process 500 may include capturing, by the camera of the user device, a first image of the first side of the document according to the first image resolution (block 530). For example, the user device (e.g., using processor 320, memory 330, storage component 340, input component 350, communication interface 370, and/or the like) may capture, by the camera of the user device, a first image of the first side of the document according to the first image resolution, as described above in connection with FIGS. 1A-1D.
  • As further shown in FIG. 5, process 500 may include detecting, in the field of view of the camera, a second side of the document (block 535). For example, the user device (e.g., using processor 320, memory 330, storage component 340, input component 350, communication interface 370, and/or the like) may detect, in the field of view of the camera, a second side of the document, as described above in connection with FIGS. 1A-1D.
  • As further shown in FIG. 5, process 500 may include determining second information associated with the second side of the document (block 540). For example, the user device (e.g., using processor 320, memory 330, storage component 340, and/or the like) may determine second information associated with the second side of the document, as described above in connection with FIGS. 1A-1D.
  • As further shown in FIG. 5, process 500 may include selecting, based on the second information and the screen aspect ratio, a second image resolution of the plurality of image resolutions, wherein the second image resolution is a different level of resolution than the first image resolution (block 545). For example, the user device (e.g., using processor 320, memory 330, storage component 340, and/or the like) may select, based on the second information and the screen aspect ratio, a second image resolution of the plurality of image resolutions, as described above in connection with FIGS. 1A-1D. In some implementations, the second image resolution may be a different level of resolution than the first image resolution.
  • As further shown in FIG. 5, process 500 may include capturing, by the camera of the user device, a second image of the second side of the document according to the second image resolution (block 550). For example, the user device (e.g., using processor 320, memory 330, storage component 340, input component 350, communication interface 370, and/or the like) may capture, by the camera of the user device, a second image of the second side of the document according to the second image resolution, as described above in connection with FIGS. 1A-1D.
  • As further shown in FIG. 5, process 500 may include performing an action related to the first image and the second image (block 555). For example, the user device (e.g., using processor 320, memory 330, storage component 340, input component 350, output component 360, communication interface 370, and/or the like) may perform an action related to the first image and the second image, as described above in connection with FIGS. 1A-1D.
  • Process 500 may include additional implementations, such as any single implementation or any combination of implementations described below and/or in connection with one or more other processes described elsewhere herein.
  • In some implementations, when selecting, based on the first information and the screen aspect ratio, the first image resolution of the plurality of image resolutions, the user device may determine, based on the screen aspect ratio, a set of optimal image resolutions of the plurality of image resolutions that correspond to dimensions of the display of the user device, and may select, based on the first information, the first image resolution from the set of optimal image resolutions.
  • In some implementations, when selecting, based on the second information and the screen aspect ratio, the second image resolution of the plurality of image resolutions, the user device may determine a threshold image resolution based on the second information, may determine, based on the screen aspect ratio, a set of image resolutions of the plurality of image resolutions that fit the display of the user device, and may select the second image resolution from the set of image resolutions, where the second image resolution satisfies the threshold image resolution.
  • In some implementations, when determining the first information associated with the first side of the document, the user device may receive input data from a user, via the user device, regarding the first side of the document, may determine, based on detecting the first side of the document, image data concerning the first side of the document, and may determine the first information associated with the first side of the document by comparing the input data and the image data.
  • In some implementations, when performing the action related to the first image and the second image, the user device may crop the first image to include first image data concerning only the first side of the document, and may crop the second image to include second image data concerning only the second side of the document. In some implementations, the user device may cause the first image to be displayed on the display of the user device after capturing the first image, and may cause the second image to be displayed on the display of the user device after capturing the second image.
  • In some implementations, when performing the action related to the first image and the second image, the user device may identify a document type of the document based on the first image and the second image, and may cause a message indicating the document type to be displayed on the display of the user device. In some implementations, when performing the action related to the first image and the second image, the user device may perform optical character recognition on the first image and the second image to generate third information, and may validate the document based on the first information, the second information, and the third information.
  • Although FIG. 5 shows example blocks of process 500, in some implementations, process 500 may include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted in FIG. 5. Additionally, or alternatively, two or more of the blocks of process 500 may be performed in parallel.
  • FIG. 6 is a flow chart of an example process 600 for dynamically optimizing photo capture for multiple subjects. In some implementations, one or more process blocks of FIG. 6 may be performed by a user device (e.g., user device 210). In some implementations, one or more process blocks of FIG. 6 may be performed by another device or a group of devices separate from or including the user device, such as a server device (e.g., server device 220).
  • As shown in FIG. 6, process 600 may include determining a plurality of image resolutions supported by a camera of the user device (block 605). For example, the user device (e.g., using processor 320, memory 330, storage component 340, and/or the like) may determine a plurality of image resolutions supported by a camera of the user device, as described above in connection with FIGS. 1A-1D.
  • As shown in FIG. 6, process 600 may include detecting, in a field of view of the camera, a first side of a document (block 610). For example, the user device (e.g., using processor 320, memory 330, storage component 340, input component 350, communication interface 370, and/or the like) may detect, in a field of view of the camera, a first side of a document, as described above in connection with FIGS. 1A-1D.
  • As shown in FIG. 6, process 600 may include determining first information associated with the first side of the document (block 615). For example, the user device (e.g., using processor 320, memory 330, storage component 340, and/or the like) may determine first information associated with the first side of the document, as described above in connection with FIGS. 1A-1D.
  • As shown in FIG. 6, process 600 may include selecting, based on the first information, a first image resolution of the plurality of image resolutions (block 620). For example, the user device (e.g., using processor 320, memory 330, storage component 340, and/or the like) may select, based on the first information, a first image resolution of the plurality of image resolutions, as described above in connection with FIGS. 1A-1D.
  • As shown in FIG. 6, process 600 may include causing the display of the user device to present first preview images of the first side of the document (block 625). For example, the user device (e.g., using processor 320, memory 330, storage component 340, output component 360, communication interface 370, and/or the like) may cause the display of the user device to present first preview images of the first side of the document, as described above in connection with FIGS. 1A-1D.
  • As shown in FIG. 6, process 600 may include capturing, by the camera of the user device, a first image of the first side of the document according to the first image resolution (block 630). For example, the user device (e.g., using processor 320, memory 330, storage component 340, input component 350, communication interface 370, and/or the like) may capture, by the camera of the user device, a first image of the first side of the document according to the first image resolution, as described above in connection with FIGS. 1A-1D.
  • As shown in FIG. 6, process 600 may include detecting, in the field of view of the camera, a second side of the document (block 635). For example, the user device (e.g., using processor 320, memory 330, storage component 340, input component 350, communication interface 370, and/or the like) may detect, in the field of view of the camera, a second side of the document, as described above in connection with FIGS. 1A-1D.
  • As shown in FIG. 6, process 600 may include determining second information associated with the second side of the document (block 640). For example, the user device (e.g., using processor 320, memory 330, storage component 340, and/or the like) may determine second information associated with the second side of the document, as described above in connection with FIGS. 1A-1D.
  • As shown in FIG. 6, process 600 may include selecting, based on the second information, a second image resolution of the plurality of image resolutions, wherein the second image resolution is the same as the first image resolution (block 645). For example, the user device (e.g., using processor 320, memory 330, storage component 340, and/or the like) may select, based on the second information, a second image resolution of the plurality of image resolutions, as described above in connection with FIGS. 1A-1D. In some implementations, the second image resolution may be the same as the first image resolution.
  • As shown in FIG. 6, process 600 may include causing the display of the user device to present second preview images of the second side of the document (block 650). For example, the user device (e.g., using processor 320, memory 330, storage component 340, output component 360, communication interface 370, and/or the like) may cause the display of the user device to present second preview images of the second side of the document, as described above in connection with FIGS. 1A-1D.
  • As shown in FIG. 6, process 600 may include capturing, by the camera of the user device, a second image of the second side of the document according to the second image resolution (block 655). For example, the user device (e.g., using processor 320, memory 330, storage component 340, input component 350, communication interface 370, and/or the like) may capture, by the camera of the user device, a second image of the second side of the document according to the second image resolution, as described above in connection with FIGS. 1A-1D.
  • As shown in FIG. 6, process 600 may include performing an action related to the first image and the second image (block 660). For example, the user device (e.g., using processor 320, memory 330, storage component 340, input component 350, output component 360, communication interface 370, and/or the like) may perform an action related to the first image and the second image, as described above in connection with FIGS. 1A-1D.
  • Process 600 may include additional implementations, such as any single implementation or any combination of implementations described below and/or in connection with one or more other processes described elsewhere herein.
  • In some implementations, the document may include a government-issued identification card, an employee identification card, a health insurance card, or a transaction card. In some implementations, when selecting, based on the first information, the first image resolution of the plurality of image resolutions, the user device may determine a first threshold image resolution based on the first information, and may select the first image resolution, where the first image resolution satisfies the first threshold image resolution. In some implementations, when selecting, based on the second information, the second image resolution of the plurality of image resolutions, the user device may determine a second threshold image resolution based on the second information, and may select the second image resolution, where the second image resolution satisfies the second threshold image resolution.
  • In some implementations, the first threshold image resolution may be different than the second threshold image resolution. In some implementations, the first threshold image resolution may be associated with a quick capture mode of the camera and the second threshold image resolution is associated with a full capture mode of the camera.
  • Although FIG. 6 shows example blocks of process 600, in some implementations, process 600 may include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted in FIG. 6. Additionally, or alternatively, two or more of the blocks of process 600 may be performed in parallel.
  • Some implementations, described herein, provide a user device 210 that is able to automatically select an optimal image resolution for capturing an image of a side of a document such that the image resolution is a high enough resolution to meet certain image quality standards and the image resolution is a low enough resolution to minimize image file size. In some implementations, user device 210 may detect a first side of a document in a field of view of a camera of user device 210 and determine first information associated with the first side of the document. In some implementations, user device 210 may select a first image resolution, based on the first information, for capturing a first image of the first side of the document and capture the first image according to the first image resolution. In some implementations, user device 210 may detect a second side of a document in the field of view of the camera of user device 210 and determine second information associated with the second side of the document. In some implementations, user device 210 may select a second image resolution, based on the second information, for capturing a second image of the second side of the document and capture the second image according to the second image resolution. In some implementations, the first image resolution may be different than the second image resolution.
  • In this way, user device 210 optimizes image capture for multiple subjects (e.g., a first side of a document and a second side of a document). In this way, user device 210 ensures that that first image resolution for capturing the first image is a high enough resolution for user device 210 and/or server device 220 to process the first image and the second image resolution for capturing the second image is a high enough resolution for user device 210 and/or server device 220 to process the second image. Moreover, user device 210 ensures that the first image resolution is not higher than the first image resolution needs to be for processing of the first image, and ensures that the second image resolution is not higher than the second resolution needs to be for processing the second image, which minimizes the file size of the first image and the file size of the second image. This shortens the amount of time to capture, upload, and process the first image and the second image, which conserves computing resources, power resources, and memory resources of user device 210 that would otherwise need to be expended in cases where images are captured with a default resolution. In addition, this conserves computing resources, memory resources, and network resources, associated with a backend platform, such as a server device 220, that would otherwise need to be expended to receive and process images with a large file size.
  • The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of the implementations.
  • As used herein, the term component is intended to be broadly construed as hardware, firmware, or a combination of hardware and software.
  • Some implementations are described herein in connection with thresholds. As used herein, satisfying a threshold may refer to a value being greater than the threshold, more than the threshold, higher than the threshold, greater than or equal to the threshold, less than the threshold, fewer than the threshold, lower than the threshold, less than or equal to the threshold, equal to the threshold, or the like.
  • Certain user interfaces have been described herein and/or shown in the figures. A user interface may include a graphical user interface, a non-graphical user interface, a text-based user interface, or the like. A user interface may provide information for display. In some implementations, a user may interact with the information, such as by providing input via an input component of a device that provides the user interface for display. In some implementations, a user interface may be configurable by a device and/or a user (e.g., a user may change the size of the user interface, information provided via the user interface, a position of information provided via the user interface, etc.). Additionally, or alternatively, a user interface may be pre-configured to a standard configuration, a specific configuration based on a type of device on which the user interface is displayed, and/or a set of configurations based on capabilities and/or specifications associated with a device on which the user interface is displayed.
  • It will be apparent that systems and/or methods, described herein, may be implemented in different forms of hardware, firmware, or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems and/or methods is not limiting of the implementations. Thus, the operation and behavior of the systems and/or methods were described herein without reference to specific software code—it being understood that software and hardware can be designed to implement the systems and/or methods based on the description herein.
  • Even though particular combinations of features are recited in the claims and/or disclosed in the specification, these combinations are not intended to limit the disclosure of possible implementations. In fact, many of these features may be combined in ways not specifically recited in the claims and/or disclosed in the specification. Although each dependent claim listed below may directly depend on only one claim, the disclosure of possible implementations includes each dependent claim in combination with every other claim in the claim set.
  • No element, act, or instruction used herein should be construed as critical or essential unless explicitly described as such. Also, as used herein, the articles “a” and “an” are intended to include one or more items, and may be used interchangeably with “one or more.” Furthermore, as used herein, the term “set” is intended to include one or more items (e.g., related items, unrelated items, a combination of related and unrelated items, etc.), and may be used interchangeably with “one or more.” Where only one item is intended, the term “one” or similar language is used. Also, as used herein, the terms “has,” “have,” “having,” or the like are intended to be open-ended terms. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.

Claims (20)

What is claimed is:
1. A method, comprising:
determining, by a user device and based on a preview of a first side of a document, first information associated with the first side of the document;
selecting, by the user device and based on the first information, a first image resolution associated with the user device;
capturing, by a camera of the user device, a first image of the first side of the document according to the first image resolution;
capturing, by the camera of the user device, a second image of a second side of the document according to a second image resolution associated with the user device; and
performing, by the user device, an action related to the first image and the second image.
2. The method of claim 1, further comprising:
determining a plurality of image resolutions, including the first image resolution and the second image resolution, supported by the user device,
wherein selecting the first image resolution is further based on determining the plurality of image resolutions.
3. The method of claim 1, wherein the second image resolution is higher than the first image resolution.
4. The method of claim 1, wherein the first image resolution is associated with a first capturing mode of the camera of the user device, and wherein the second image resolution is associated with a second capturing mode of the camera of the user device.
5. The method of claim 1, further comprising:
capturing the preview of the first side of the document,
wherein the preview of the first side of the document includes the first image, and
wherein determining the first information is based on capturing the preview of the first side of the document.
6. The method of claim 5, further comprising:
receiving, from a user via the user device, the first information,
wherein determining the first information is further based on comparing the first information received from the user to the first information captured by the camera of the user device.
7. The method of claim 1, further comprising:
determining a screen aspect ratio of a display of the user device,
wherein selecting the first image resolution is further based on the screen aspect ratio.
8. A user device, comprising:
one or more memories; and
one or more processors, coupled to the one or more memories, configured to:
determine, based on a preview of a first side of a document, first information associated with the first side of the document;
select, based on the first information and a screen aspect ratio of a display of the user device, a first image resolution associated with the user device;
capture, by a camera of the user device, a first image of the first side of the document according to the first image resolution;
capture, by the camera of the user device, a second image of a second side of the document according to a second image resolution associated with the user device; and
perform an action related to the first image and the second image.
9. The user device of claim 8, wherein the one or more processors are further configured to:
determine a plurality of image resolutions, including the first image resolution and the second image resolution, supported by the user device,
wherein selecting the first image resolution is further based on determining the plurality of image resolutions.
10. The user device of claim 8, wherein the second image resolution is a same image resolution as the first image resolution.
11. The user device of claim 8, wherein the one or more processors are further configured to:
capture the preview of the first side of the document,
wherein the preview of the first side of the document includes the first information, and
wherein determining the first information is based on capturing the preview of the first side of the document.
12. The user device of claim 8, wherein the one or more processors are further configured to:
receive, from a user via the user device, the first information,
wherein determining the first information is further based on comparing the first information received from the user to the first information captured by the preview of the first side of the document.
13. The user device of claim 8, wherein, to select the first image resolution, the one or more processors are configured to:
determine a set of optimal image resolutions of a plurality of image resolutions corresponding to the screen aspect ratio of the display of the user device, and
select, based on a threshold associated with a minimum resolution required for capturing the first image of the first side of the document with a threshold amount of data for processing by the user device, the first image resolution from the set of optimal resolutions.
14. A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising:
one or more instructions that, when executed by one or more processors of a user device, cause the user device to:
determine, based on a preview of a first side of a document, first information associated with the first side of the document;
determine, based on the first information, a threshold image resolution for capturing the first side of the document;
select, based on the threshold image resolution, a first image resolution associated with the user device;
capture, by a camera of the user device, a first image of the first side of the document according to the first image resolution;
capture, by the camera of the user device, a second image of a second side of the document according to a second image resolution associated with the user device; and
perform an action related to the first image and the second image.
15. The non-transitory computer-readable medium of claim 14, wherein the one or more instructions further cause the user device to:
determine, based on a second preview of the second side of the document, second information associated with the second side of the document,
wherein capturing the second image is based on the second information.
16. The non-transitory computer-readable medium of claim 15, wherein the one or more instructions further cause the user device to:
select, based on the second information, the second image resolution,
wherein capturing the second image is based on the second image resolution.
17. The non-transitory computer-readable medium of claim 14, wherein the second image contains first image data associated with the first image.
18. The non-transitory computer-readable medium of claim 14, wherein the one or more instructions further cause the user device to:
validate the first image and the second image,
wherein performing the action is based on validating the first image and the second image.
19. The non-transitory computer-readable medium of claim 18, wherein, to validate the first image and the second image, the one or more instructions cause the user device to perform at least one of:
determine a possible extraction of first image data, associated with the first image, from second image data associated with the second image; or
determine that a first feature, associated with the first image, is consistent with a second feature associated with the second image.
20. The non-transitory computer-readable medium of claim 18, wherein the one or more instructions cause the user device to perform at least one of:
crop, based on capturing the second image, the first image to include first image data concerning only the first side of the document; or
crop, based on capturing the second image, the second image to include second image data concerning only the second side of the document,
wherein performing the action is based on at least one of cropping the first image or the second image.
US17/646,796 2018-08-20 2022-01-03 Dynamically optimizing photo capture for multiple subjects Pending US20220130161A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/646,796 US20220130161A1 (en) 2018-08-20 2022-01-03 Dynamically optimizing photo capture for multiple subjects

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/998,988 US10460191B1 (en) 2018-08-20 2018-08-20 Dynamically optimizing photo capture for multiple subjects
US16/662,296 US11216685B2 (en) 2018-08-20 2019-10-24 Dynamically optimizing photo capture for multiple subjects
US17/646,796 US20220130161A1 (en) 2018-08-20 2022-01-03 Dynamically optimizing photo capture for multiple subjects

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US16/662,296 Continuation US11216685B2 (en) 2018-08-20 2019-10-24 Dynamically optimizing photo capture for multiple subjects

Publications (1)

Publication Number Publication Date
US20220130161A1 true US20220130161A1 (en) 2022-04-28

Family

ID=68314887

Family Applications (3)

Application Number Title Priority Date Filing Date
US15/998,988 Active US10460191B1 (en) 2018-08-20 2018-08-20 Dynamically optimizing photo capture for multiple subjects
US16/662,296 Active 2039-01-05 US11216685B2 (en) 2018-08-20 2019-10-24 Dynamically optimizing photo capture for multiple subjects
US17/646,796 Pending US20220130161A1 (en) 2018-08-20 2022-01-03 Dynamically optimizing photo capture for multiple subjects

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US15/998,988 Active US10460191B1 (en) 2018-08-20 2018-08-20 Dynamically optimizing photo capture for multiple subjects
US16/662,296 Active 2039-01-05 US11216685B2 (en) 2018-08-20 2019-10-24 Dynamically optimizing photo capture for multiple subjects

Country Status (1)

Country Link
US (3) US10460191B1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10460191B1 (en) * 2018-08-20 2019-10-29 Capital One Services, Llc Dynamically optimizing photo capture for multiple subjects
US10262220B1 (en) 2018-08-20 2019-04-16 Capital One Services, Llc Image analysis and processing pipeline with real-time feedback and autocapture capabilities, and visualization and configuration system
US11769045B2 (en) * 2018-12-27 2023-09-26 Nokomis, Inc Method to identify acoustic sources for anti-submarine warfare
US10909905B2 (en) * 2019-04-02 2021-02-02 Google Llc Display with switching configurable for power consumption and speed
US11556597B2 (en) * 2021-04-20 2023-01-17 Xerox Corporation Methods and systems for generating multiple scanned files of different resolutions when scanning a document
US11803870B1 (en) * 2022-07-28 2023-10-31 Inmar Clearing, Inc. Health insurance card digital wallet generation system and related methods

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080252926A1 (en) * 2007-04-16 2008-10-16 Murata Machinery, Ltd. Image Scanning Device
US20090153605A1 (en) * 2007-12-12 2009-06-18 Timm Jr Dale D Double-sided printing system
US20090161124A1 (en) * 2007-12-20 2009-06-25 Canon Kabushiki Kaisha Image processing apparatus, image processing method and computer program
US20100046047A1 (en) * 2008-08-21 2010-02-25 Canon Kabushiki Kaisha Image processing apparatus, method of imaging processing and storage medium
US20130003137A1 (en) * 2010-03-16 2013-01-03 Yoshihisa Soeda Image reader and image forming apparatus
US20130287265A1 (en) * 2008-01-18 2013-10-31 Mitek Systems Systems and methods for mobile image capture and content processing of driver's licenses
US20150154188A1 (en) * 2013-12-03 2015-06-04 Autodesk, Inc. Techniques for viewing and searching documents from collections of documents
US20150262347A1 (en) * 2014-03-12 2015-09-17 ClearMark Systems, LLC System and Method for Authentication
US20160104041A1 (en) * 2014-10-13 2016-04-14 Klink Technologies, Inc. Method and system for identity and age verification
US20160104022A1 (en) * 2014-10-09 2016-04-14 Cognex Corporation Decoding barcodes
US20160124249A1 (en) * 2013-06-07 2016-05-05 Essilor International (Compagnie Generale D'optique) Method for determining at least one value of a parameter for customising a visual compensation device
US20170332950A1 (en) * 2016-03-02 2017-11-23 Tinoq Inc. Systems and methods for efficient face recognition
US20180063359A1 (en) * 2016-08-29 2018-03-01 Seiko Epson Corporation Scanner system and image data generating method
US10460191B1 (en) * 2018-08-20 2019-10-29 Capital One Services, Llc Dynamically optimizing photo capture for multiple subjects
US20210160422A1 (en) * 2018-04-04 2021-05-27 Sri International Methods for enhanced imaging based on semantic processing and dynamic scene modeling

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6360026B1 (en) 1998-03-10 2002-03-19 Canon Kabushiki Kaisha Method for determining a skew angle of a bitmap image and de-skewing and auto-cropping the bitmap image
US6310984B2 (en) 1998-04-09 2001-10-30 Hewlett-Packard Company Image processing system with image cropping and skew correction
US6956587B1 (en) 2003-10-30 2005-10-18 Microsoft Corporation Method of automatically cropping and adjusting scanned images
US9672510B2 (en) 2008-01-18 2017-06-06 Mitek Systems, Inc. Systems and methods for automatic image capture and processing of documents on a mobile device
TWI492166B (en) 2012-01-12 2015-07-11 Kofax Inc Systems and methods for mobile image capture and processing
CN106228168B (en) 2016-07-29 2019-08-16 北京小米移动软件有限公司 The reflective detection method of card image and device

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080252926A1 (en) * 2007-04-16 2008-10-16 Murata Machinery, Ltd. Image Scanning Device
US20090153605A1 (en) * 2007-12-12 2009-06-18 Timm Jr Dale D Double-sided printing system
US20090161124A1 (en) * 2007-12-20 2009-06-25 Canon Kabushiki Kaisha Image processing apparatus, image processing method and computer program
US9710702B2 (en) * 2008-01-18 2017-07-18 Mitek Systems, Inc. Systems and methods for mobile image capture and content processing of driver's licenses
US20130287265A1 (en) * 2008-01-18 2013-10-31 Mitek Systems Systems and methods for mobile image capture and content processing of driver's licenses
US20100046047A1 (en) * 2008-08-21 2010-02-25 Canon Kabushiki Kaisha Image processing apparatus, method of imaging processing and storage medium
US20130003137A1 (en) * 2010-03-16 2013-01-03 Yoshihisa Soeda Image reader and image forming apparatus
US20160124249A1 (en) * 2013-06-07 2016-05-05 Essilor International (Compagnie Generale D'optique) Method for determining at least one value of a parameter for customising a visual compensation device
US20150154188A1 (en) * 2013-12-03 2015-06-04 Autodesk, Inc. Techniques for viewing and searching documents from collections of documents
US20150262347A1 (en) * 2014-03-12 2015-09-17 ClearMark Systems, LLC System and Method for Authentication
US20160104022A1 (en) * 2014-10-09 2016-04-14 Cognex Corporation Decoding barcodes
US20160104041A1 (en) * 2014-10-13 2016-04-14 Klink Technologies, Inc. Method and system for identity and age verification
US20170332950A1 (en) * 2016-03-02 2017-11-23 Tinoq Inc. Systems and methods for efficient face recognition
US20180063359A1 (en) * 2016-08-29 2018-03-01 Seiko Epson Corporation Scanner system and image data generating method
US20210160422A1 (en) * 2018-04-04 2021-05-27 Sri International Methods for enhanced imaging based on semantic processing and dynamic scene modeling
US10460191B1 (en) * 2018-08-20 2019-10-29 Capital One Services, Llc Dynamically optimizing photo capture for multiple subjects
US11216685B2 (en) * 2018-08-20 2022-01-04 Capital One Services, Llc Dynamically optimizing photo capture for multiple subjects

Non-Patent Citations (10)

* Cited by examiner, † Cited by third party
Title
A few scanning tips (""Image Resolution for the Video Monitor Screen" The Wayback Machine - https://web.archive.org/web/20170905043140/http://www.scantips.80/basics1c.html ) (Year: 2017) *
A few scanning tips ("Printing and Scanning Resolution DPI / PPI Calculator", The Wayback Machine -https://web.archive.org/web/20171204214340/https://www.scantips.com/ calc.html ) (Year: 2017) *
Cannon(Scanner Setting, https://support.usa.canon.com/kb/index?page=content&id=ART113296), (Year: 2015) *
Kodak Scan Mate i900 Series Scanner Scanning Setup Guide for Twain application. (Year: 2012) *
KodakScanMatei920ScannerScanningSetupGuideforTWAINApplications(Year:2011) (Year: 2011) *
MacLife(HowtoScanImageswithPreviewhttps://www.techradar.com/how-to/computing/apple/now-to-scan-images-with-preview- 1305691)(Year:2012) (Year: 2012) *
Mthethwa et al. ("Verifying the integrity of hardcopy document using OCR", the 2nd International Women in Science Without Borders (WiSWB)-Indaba, Johannesburg, South Africa, 21-23 March 2018). (Year: 2018) *
SharpMX-M365NManual(Year:2014) (Year: 2014) *
The Library of Congress ("Guide lines for Electronic Preservation of Visual Materials", https://www.loc.gov/preservation/resources/rt/guide/index.html, May 6, 2014). (Year: 2014) *
TipsForScanningDocumentsandImages,https://meetingtomorrow.com/content-library/tips-for-scanning-documents-and-images( Year:2015) (Year: 2015) *

Also Published As

Publication number Publication date
US11216685B2 (en) 2022-01-04
US10460191B1 (en) 2019-10-29
US20200125882A1 (en) 2020-04-23

Similar Documents

Publication Publication Date Title
US11216685B2 (en) Dynamically optimizing photo capture for multiple subjects
US11798253B2 (en) Determining a position of an object in a rotation corrected image
US10832069B2 (en) Living body detection method, electronic device and computer readable medium
US10747993B2 (en) Detecting a fragmented object in an image
US20220224816A1 (en) Real-time glare detection inside a dynamic region of an image
CN108416902B (en) Real-time object identification method and device based on difference identification
US11423633B2 (en) Image processing to detect a rectangular object
EP2894634A1 (en) Electronic device and image compostition method thereof
US20140036099A1 (en) Automated Scanning
US11908183B2 (en) Image analysis and processing pipeline with real-time feedback and autocapture capabilities, and visualization and configuration system
CN110610575B (en) Coin identification method and device and cash register
WO2018059365A9 (en) Graphical code processing method and apparatus, and storage medium
WO2014009786A1 (en) System and method for receipt acquisition
CN107491778B (en) Intelligent device screen extraction method and system based on positioning image
US20240153126A1 (en) Automatic image cropping using a reference feature
US20230298445A1 (en) Learning apparatus, estimation apparatus, learning method, and non-transitory storage medium
JP2021144289A (en) Information processing device, information processing system and information processing method
CN115131544A (en) Method and system for image recognition

Legal Events

Date Code Title Description
AS Assignment

Owner name: CAPITAL ONE SERVICES, LLC, VIRGINIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PRIBBLE, JASON;JARVIS, DANIEL ALAN;CAPURSO, NICHOLAS;SIGNING DATES FROM 20180816 TO 20180817;REEL/FRAME:058529/0258

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: ADVISORY ACTION MAILED