IP Library Granted Patent US 12,470,809
Granted Patent B2
US 12,470,809 · App. 17/780,098 · Granted Nov 11, 2025

Capturing an image of an object in a scene

Inventors: Onkar Nath Tiwari (Telangana, IN); Pratik Kumar Jawanpuria (Telangana, IN); Purushottam Madhukar Kulkarni (Telangana, IN); Mukundan Bhoovaraghavan (Telangana, IN)
Assignee: Microsoft Technology Licensing, LLC
H04N23/64H04N23/61H04N23/633
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,470,809
App. No.
17/780,098
Granted
Nov 11, 2025
Kind
B2
Abstract

A computing device automatically determines when a user wishes to capture an image of an object in a scene via a camera of the computing device. In response, the computing device presents at a display screen an image of the scene together with an overlay template. The overlay template corresponds in shape to the object in the scene and is overlaid on the object in the scene when displayed at the display screen. The overlay template is not displayed at the display screen when the computing device does not determine that a user wishes to capture an image of an object in the scene.

Claims (49)

1 . A method of operating a computing device for capture of an image of an object in a scene, the computing device comprising a camera and a display screen, the method comprising:

the computing device automatically determining to capture an image of an object that is in a scene being viewed through the camera of the computing device;

in response to the computing device automatically determining to capture an image of the object that is in the scene, the computing device presenting at the display screen an image of the scene together with an overlay template, wherein the overlay template corresponds in shape to the object in the scene and is overlaid on the object in the scene when displayed at the display screen, wherein the overlay template is retrieved from a current template holder in volatile memory on the computing device, and wherein the overlay template was stored in the volatile memory based on detecting the object in a previous image capture of the scene; and

the computing device capturing an image of the object in the scene by capturing an image in real time of a first portion of the scene that is framed by the overlay template, the image excluding a second portion of the scene that is not framed by the overlay template;

wherein the overlay template is not displayed at the display screen when the computing device does not determine to capture an image of the object in the scene.

2 . A method according to claim 1 , wherein the computing device automatically determines to capture an image of the object in the scene by determining that the camera has been viewing the scene for longer than a predetermined period of time.

3 . A method according to claim 1 , wherein the current template holder stores a last overlay template applied to a captured image of the scene.

4 . A method according to claim 1 , wherein the current template holder holds a single overlay template, and wherein adding a new overlay template to the current template holder causes the single overlay template to be discarded and the new overlay template stored.

5 . A method according to claim 1 , wherein the computing device does not display the overlay template at the display screen if the computing device determines that an overall change in the scene exceeds a threshold.

6 . A method according to claim 1 , comprising:

generating a first overlay template to be overlaid on the image of the object in the scene when displayed at the display screen based on the image of the object in the scene at a first time instant;

saving a copy of the first overlay template in data storage of the computing device; and

tracking movement of the object across a field of view of the camera from the first time instant to a second time instant.

7 . A method according to claim 6 , wherein, if the computing device determines to capture an image of the object in the scene via the camera of the computing device at the second time instant, the computing device applies a transform to the first overlay template so as to amend the shape of the overlay template to generate a second overlay template which corresponds in shape to the object in the scene at the second time instant; and

the method comprises:

overlaying the second overlay template on the object in the scene when displayed at the display screen at the second time instant.

8 . A method according to claim 7 , wherein the computing device determines the transform to be applied to the first overlay template by tracking a plurality of features within the object as the object moves across the field of view of the camera.

9 . A method according to claim 7 , wherein the computing device determines the transform to be applied to the first overlay template by tracking a plurality of features within the object and at least one corner of the object as the object moves across the field of view of the camera.

10 . A method according to claim 6 , comprising, when a difference between the scene at the second time instant and the scene at the first time instant is greater than a threshold, discarding any copy of the first overlay template that is saved in the data storage of the computing device, and generating a new first overlay template to be overlaid on the image of the object in the scene when displayed at the display screen based on the image of the object in the scene at the second time instant.

11 . A computing device for capture of an image of an object in a scene, the computing device comprising:

a camera;

a display screen; and

a processing system constructed and arranged to cause the computing device to carry out a method comprising:

the computing device automatically determining when a user wishes to capture an image of an object that is in a scene being viewed through the camera of the computing device;

in response to the computing device automatically determining that a user wishes to capture an image of the object that is in the scene, the computing device presenting at the display screen an image of the scene together with an overlay template, wherein the overlay template corresponds in shape to the object in the scene and is overlaid on the object in the scene when displayed at the display screen, wherein the overlay template is retrieved from a current template holder in volatile memory on the computing device, and wherein the overlay template was stored in the volatile memory based on detecting the object in a previous image capture of the scene; and

the computing device capturing an image of the object in the scene by capturing in real time an image of a first portion of the scene that is framed by the overlay template, the image excluding a second portion of the scene that is not framed by the overlay template;

wherein the overlay template is not displayed at the display screen when the computing device does not determine to capture an image of the object in the scene.

12 . A computing device according to claim 11 , wherein the method further comprises:

generating a first overlay template to be overlaid on the image of the object in the scene when displayed at the display screen based on the image of the object in the scene at a first time instant;

saving a copy of the first overlay template in data storage of the computing device; and

tracking movement of the object across a field of view of the camera from the first time instant to a second time instant.

13 . A computing device according to claim 12 , wherein, if the computing device determines to capture an image of the object in the scene via the camera of the computing device at the second time instant, the computing device applies a transform to the first overlay template so as to amend the shape of the overlay template to generate a second overlay template which corresponds in shape to the object in the scene at the second time instant; and wherein the method further comprises:

overlaying the second overlay template on the object in the scene when displayed at the display screen at the second time instant.

14 . A computing device according to claim 13 , wherein the computing device determines the transform to be applied to the first overlay template by tracking a plurality of features within the object as the object moves across the field of view of the camera.

15 . A computing device according to claim 13 , wherein the computing device determines the transform to be applied to the first overlay template by tracking a plurality of features within the object and at least one corner of the object as the object moves across the field of view of the camera.

16 . A computing device according to claim 12 , comprising, when a difference between the scene at the second time instant and the scene at the first time instant is greater than a threshold, discarding any copy of the first overlay template that is saved in the data storage of the computing device, and generating a new first overlay template to be overlaid on the image of the object in the scene when displayed at the display screen based on the image of the object in the scene at the second time instant.

17 . A method for capturing one or more images with one or more objects using a computing device, comprising:

capturing, using a camera on the computing device, a first input frame that includes a scene with an object;

based on detecting the object in the first input frame using an object detection model to detect the object, generating an overlay template that corresponds in shape to the object;

presenting, within a display screen of the computing device showing the first input frame, the overlay template overlaid on the object;

storing the overlay template within volatile memory of the computing device;

capturing, using the camera on the computing device, a second input frame that includes the scene with the object;

based on detecting the object in the second input frame, retrieving the overlay template from the volatile memory of the computing device and applying the overlay template to the object in the second input frame; and

capturing an image of the object from the second input frame, wherein the image excludes portions of the scene that lie outside of the overlay template.

18 . The method of claim 17 , further comprising:

determining the shape of the object in the second input frame relative to the first input frame; and

retrieving the overlay template from the volatile memory of the computing device based on detecting that a change in the shape is within a threshold amount.

19 . The method of claim 17 , wherein storing the overlay template within the volatile memory includes replacing a previously stored overlay template within the volatile memory corresponding to a previous captured input frame.

20 . The method of claim 17 , further comprising determining that a new overlay template is not needed between the first input frame and the second input frame based on comparing the object between the first input frame and the second input frame.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2022
From: TIWARI, ONKAR NATH; JAWANPURIA, PRATIK KUMAR; KULKARNI, PURUSHOTTAM MADHUKAR; BHOOVARAGHAVAN, MUKUNDAN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 060024/0659 →
Priority Claims (1)
EP 19214077 · Dec 6, 2019 · regional
Continuity (1)
Related Publication 20220417424A1 · Dec 29, 2022
References Cited (44)
US 5999651A · Chang · 1999 [cited by examiner]
US 8345106B2 · Nijemcevic et al. · 2013 [cited by applicant]
US 8441696B2 · Zahnert et al. · 2013 [cited by applicant]
US 8593555B1 · Chun · 2013 [cited by examiner]
US 8947453B2 · Chen et al. · 2015 [cited by applicant]
US 10032073B1 · Buryak et al. · 2018 [cited by applicant]
US 10115031B1 · Pashintsev et al. · 2018 [cited by applicant]
US 10198629B2 · Segalovitz et al. · 2019 [cited by applicant]
US 10380993B1 · Clauer Salyers · 2019 [cited by examiner]
US 20070086761A1 · Okamoto · 2007 [cited by examiner]
US 20080025710A1 · Sugimoto · 2008 [cited by examiner]
US 20080107411A1 · Hope · 2008 [cited by examiner]
US 20080118156A1 · Okada · 2008 [cited by examiner]
US 20090185738A1 · Nepomniachtchi · 2009 [cited by examiner]
US 20090316016A1 · Iwamoto · 2009 [cited by examiner]
US 20100020222A1 · Jones · 2010 [cited by examiner]
US 20100277438A1 · Kawashima · 2010 [cited by examiner]
US 20110091092A1 · Nepomniachtchi · 2011 [cited by examiner]
US 20110170740A1 · Coleman · 2011 [cited by examiner]
US 20110280450A1 · Nepomniachtchi · 2011 [cited by examiner]
US 20120113307A1 · Watanabe · 2012 [cited by examiner]
US 20120321216A1 · Kacher · 2012 [cited by examiner]
US 20130004076A1 · Koo · 2013 [cited by examiner]
US 20130022231A1 · Nepomniachtchi · 2013 [cited by examiner]
US 20130038759A1 · Jo · 2013 [cited by examiner]
US 20130057713A1 · Khawand · 2013 [cited by examiner]
US 20130155309A1 · Hill · 2013 [cited by examiner]
US 20130271796A1 · Landa · 2013 [cited by examiner]
US 20140044338A1 · Coleman · 2014 [cited by examiner]
US 20140086455A1 · Kotovich · 2014 [cited by examiner]
US 20160212342A1 · Semenov · 2016 [cited by examiner]
US 20160260255A1 · Bean · 2016 [cited by examiner]
US 20160373647A1 · García Morate · 2016 [cited by examiner]
US 20180025251A1 · Welinder · 2018 [cited by examiner]
US 20190266590A1 · Ekpenyong et al. · 2019 [cited by applicant]
US 20190311227A1 · Kriegman · 2019 [cited by examiner]
US 20210360149A1 · Mukul · 2021 [cited by examiner]
CN 104408427A · 2015 [cited by applicant]
CN 110035168A · 2019 [cited by applicant]
WO 2016139208A1 · 2016 [cited by applicant]
“Extended European Search Report Issued in Application No. 19214077.0”, Mailed Date: Mar. 24, 2020, 8 Pages. [cited by applicant]
Baek, Jongmin, “Improving the Responsiveness of the Document Detector”, Retrieved From: https://blogs.dropbox.com/tech/2016/10/improving-the-responsiveness-of-the-document-detector/, Oct. 19, 2016, 10 Pages. [cited by applicant]
“International Search Report & Written Opinion issued in PCT Application No. PCT/US20/059133”, Mailed Date: Jan. 14, 2021, 12 Pages. [cited by applicant]
Kiong, Ying, “Fast and Accurate Document Detection for Scanning”, Retrieved From: https://blogs.dropbox.com/tech/2016/08/fast-and-accurate-document-detection-for-scanning/, Aug. 9, 2016, 14 Pages. [cited by applicant]