IP Library Granted Patent US 12,461,962
Granted Patent B2
US 12,461,962 · App. 17/366,687 · Granted Nov 4, 2025

Dynamic search control invocation and visual search

Inventors: Kelei Xu (Mountain View, CA); Naveen Gavini (San Francisco, CA); Kevin Yushi Jing (San Francisco, CA); Andrew Huan Zhai (San Mateo, CA); Dmitry Olegovich Kislyuk (San Francisco, CA); Adam Jay Barton (Oakland, CA); Marcelo Reis e Silva de Queiroz (Winter Garden, FL)
Assignee: Pinterest, Inc.
G06F16/532G06F3/0488G06F16/54G06F16/5866G06T7/11G06F3/0482G06F3/04845G06F2203/04808G06T2200/24G06V2201/10
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,461,962
App. No.
17/366,687
Granted
Nov 4, 2025
Kind
B2
Abstract

Described is a system and method for enabling dynamic selection of a search input. For example, rather than having a static search input box, the search input may be dynamically positioned such that it encompasses a portion of displayed information. For example, a user may touch a touch-based display using two fingers to invoke the dynamic search input and then determine a size and a position of the dynamic search input by moving their fingers on the display. An image segment that includes a representation of the encompassed portion of the displayed information is generated and processed to determine an object represented in the portion of the displayed information. Additional images with visually similar representations of objects are then determined and presented to the user.

Claims (87)

1 . A computer-implemented method, comprising:

causing a presentation of an image on a display of a device, wherein the image includes a representation of a plurality of objects;

causing, concurrent with the presentation of the image, a presentation of a dynamic search control in a first position, the dynamic search control overlaid over the image to encompass a first object represented in a first portion of the image, the plurality of objects including the first object;

receiving an indication of a user interaction to adjust at least one of a position, a shape, or a size of the dynamic search control;

in response to the indication of the user interaction, causing the at least one of the position, the shape, or the size of the dynamic search control to be adjusted, the dynamic search control overlaid over the image in a second position that encompasses a second object represented in a second portion of the image, the plurality of objects including the second object, the second object being different from the first object;

identifying the second object represented in the second portion of the image by processing the second portion of the image corresponding to the second position, the processing including segmenting the second portion of the image;

determining, based at least in part on visual similarities between the identified second object and objects represented in a plurality of images, a plurality of additional images from the plurality of images, the plurality of additional images including representations of a second plurality of objects that are visually similar to the second object; and

causing a second presentation, on the display and concurrent with the image, of at least a portion of the plurality of additional images.

2 . The computer-implemented method of claim 1 , further comprising:

obtaining an interaction with the dynamic search control corresponding to a second user-initiated adjustment of at least one of the position, the shape, or the size of the dynamic search control;

causing a second updated presentation of the dynamic search control concurrent with the image, wherein the second updated presentation corresponds to the second user-initiated adjustment of the at least one of the position, the shape, or the size of the dynamic search control;

processing a third portion of the image corresponding to an area encompassed by the dynamic search control corresponding to the second updated presentation of the dynamic search control to identify a third object represented within the third portion of the image, wherein the third object is different from the first object and the second object;

determining a plurality of second additional images, each of the plurality of second additional images including a representation of a respective second additional object that is visually similar to the third object; and

causing presentation, on the display, of at least a portion of the plurality of second additional images.

3 . The computer-implemented method of claim 1 , further comprising:

obtaining a selection of an additional image from the plurality of additional images;

and performing an action in response to the selection of the additional image.

4 . The computer-implemented method of claim 3 , wherein the action includes at least one of:

initiating a purchase of an additional object represented in the additional image;

presenting a detailed view of the additional image;

presenting additional information corresponding to the additional image;

presenting additional information corresponding to the additional object represented in the additional image;

sharing the additional image;

saving the additional image; or presenting a video corresponding to the additional object represented in the additional image.

5 . The computer-implemented method of claim 1 , further comprising:

identifying a plurality of keywords associated with the plurality of additional images; and

causing presentation, on the display, of at least one of the plurality of keywords.

6 . A computing system, comprising:

one or more processors; and

a memory coupled to the one or more processors and storing program instructions that, when executed by the one or more processors, cause the one or more processors to at least:

cause a presentation of an image on a display, wherein the image includes a representation of a plurality of objects;

cause a user-adjustable dynamic search control to be presented on the display in a first position, the user-adjustable dynamic search control being overlaid over a first portion of the image to encompass a first object represented in the first portion of the image;

receive an indication of a user interaction with the user-adjustable dynamic search control to adjust at least one of a position, a shape, or a size of the user-adjustable dynamic search control;

in response to the indication of the user interaction, causing at least one of the position, the shape, or the size of the user-adjustable dynamic search control to be adjusted relative to the image, the user-adjustable dynamic search control being overlaid over a second portion of the image to encompass a second object, the second object being different from the first object; and

identify the second object represented in the second portion of the image by processing at least a portion of the second portion of the image, the processing including segmenting the second portion of image;

determine, based at least in part on visual similarities between the identified second object and objects represented in a plurality of images, a plurality of additional images from the plurality of images, the plurality of additional images including representations of a second plurality of objects that are visually similar to the second object; and

cause a second presentation on the display of at least a portion of the plurality of additional images.

7 . The computing system of claim 6 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to at least:

obtain a second user interaction with the user-adjustable dynamic search control;

in response to the second user interaction, process a third portion of the image encompassed by the user-adjustable dynamic search control to identify a third object represented within the third portion of the image;

determine a plurality of second additional images, each of the plurality of second additional images including representations of a third plurality of objects that are visually similar to the third object; and

cause at least a portion of the plurality of second additional images to be presented on the display.

8 . The computing system of claim 7 , wherein the second user interaction corresponds to an adjustment of at least one of a position, a size, or a shape of the user-adjustable dynamic search control, such that the third portion of the image encompassed by the user-adjustable dynamic search control encompasses the third object.

9 . The computing system of claim 6 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to at least:

identify a plurality of keywords associated with the plurality of additional images;

and cause at least one of the plurality of keywords to be presented on the display.

10 . The computing system of claim 9 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to at least:

obtain a selection of one or more keyword of the plurality of keywords;

determine, based at least in part on the selected one or more keywords, a ranking of the plurality of additional images; and

cause the plurality of additional images to be presented on the display in accordance with the ranking.

11 . The computing system of claim 9 , wherein identifying the plurality of keywords is based at least in part on a frequency that the plurality of keywords is associated with the plurality of additional images.

12 . The computing system of claim 9 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to at least:

cause a known object identifier to be presented on the display, the known object identifier being associated with a second object represented in the image and indicating an availability of a plurality of second additional images, each of the plurality of second additional images including representations of a third plurality of objects that are visually similar to the second object.

13 . The computing system of claim 6 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to at least:

obtain a first selection of an additional image from the plurality of additional images;

cause an action control indication to be presented on the display concurrent with a presentation of the additional image;

obtain a second selection of the action control indication; and

initiate an action associated with the action control indication.

14 . The computing system of claim 6 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to at least:

generate a ranking of the plurality of additional images,

wherein the presentation of at least the portion of the plurality of additional images corresponds to the ranking of the plurality of additional images.

15 . The computing system of claim 6 , wherein processing at least the portion of the image to identify the object of interest includes generating an image segment of the object of interest.

16 . A computer-implemented method, comprising:

causing an image to be presented on a display, wherein the image includes a representation of a plurality of objects;

causing a dynamic search control to be presented on the display in a first position to encompass a first portion of the image, the dynamic search control being overlaid over the presentation of the image on the display, such that the dynamic search control encompass a first object represented in the first portion of the image of the plurality of objects;

obtaining an indication of a user interaction with the dynamic search control to adjust corresponding to an adjustment of at least one of a position, a shape, or a size of the dynamic search control;

causing, in response to the indication of the user interaction, the at least one of the position, the shape, or the size of the dynamic search control to be adjusted in accordance with the user interaction, an updated presentation of the dynamic search control overlaid over the image, such that the dynamic search control being overlaid over the image in a second position to encompass a second object represented in a second portion of the image encompasses a second object of the plurality of objects that is represented in a first portion of the image, wherein the updated presentation corresponds to the adjustment of the at least one of the position, the shape, or the size of the dynamic search control;

identifying, based at least in part on a segmentation of the second portion of the image, the second object represented in the second portion of the image;

determining, based at least in part on a visual similarity between the identified second object and a third object represented in a first additional image, the first additional image from a first plurality of additional images, each the third object represented in the first additional image being visually similar to the second object; and

causing the first additional image to be presented on the display.

17 . The computer-implemented method of claim 16 , further comprising:

obtaining a second interaction with the dynamic search control corresponding to a second adjustment of at least one of the position, the size, or the shape of the dynamic search control, such that the dynamic search control is overlaid over the image so that it encompasses a second portion of the image;

determining a third object of the plurality of objects represented in the second portion of the image;

determining a plurality of second additional images, each of the plurality of second additional images including a representation of a respective second additional object that is visually similar to the third object; and

causing presentation on the display of at least a portion of at least one of the plurality of second additional images.

18 . The computer-implemented method of claim 16 , further comprising:

identifying a plurality of keywords associated with the plurality of additional images;

causing the plurality of keywords to be presented on the display;

obtaining a first selection of a first keyword from the plurality of keywords;

determining a ranking of the plurality of additional images based at least in part on the first selection of the first keyword;

obtaining a second selection of a second keyword from the plurality of keywords; and

determining an updated ranking of the plurality of additional images based at least in part on the second selection of the second keyword,

wherein the presentation of at least the portion of at least one of the plurality of additional images on the display is based at least in part on the updated ranking.

19 . The computer-implemented method of claim 16 , further comprising:

determining a known object represented in the image; and

causing a known object identifier to be presented in association with the known object, wherein the known object identifier indicates an availability of a plurality of second additional images, each of the plurality of second additional images including a representation of a respective second additional object that is visually similar to the known object.

20 . The computer-implemented method of claim 16 , wherein determining the second object represented in the first portion of the image includes generating an image segment of the second object.

Assignments (2)
SECURITY INTEREST Recorded Oct 25, 2022
From: PINTEREST, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 061767/0853 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2021
From: XU, KELEI; GAVINI, NAVEEN; JING, KEVIN YUSHI; ZHAI, ANDREW HUAN; KISLYUK, DMITRY OLEGOVICH; BARTON, ADAM JAY; REIS E SILVA DE QUEIROZ, MARCELO
To: PINTEREST, INC.
Reel/Frame 056745/0631 →
Continuity (3)
Continuation 15647027 · Jul 11, 2017
Continuation In Part 14875010 · Oct 5, 2015
Related Publication 20210382934A1 · Dec 9, 2021
References Cited (123)
US 5579471A · Barber et al. · 1996 [cited by applicant]
US 5596690A · Stone et al. · 1997 [cited by applicant]
US 6446081B1 · Preston · 2002 [cited by applicant]
US 6691126B1 · Syeda-Mahmood · 2004 [cited by applicant]
US 7117519B1 · Anderson et al. · 2006 [cited by applicant]
US 8185526B2 · Wen et al. · 2012 [cited by applicant]
US 8190604B2 · Wen et al. · 2012 [cited by applicant]
US 8280881B1 · Zhou et al. · 2012 [cited by applicant]
US 8352465B1 · Jing et al. · 2013 [cited by applicant]
US 8412594B2 · Kundu · 2013 [cited by examiner]
US 8429168B1 · Chechik et al. · 2013 [cited by applicant]
US 8909563B1 · Jing et al. · 2014 [cited by applicant]
US 8983941B1 · Murphy-Chutorian et al. · 2015 [cited by applicant]
US 9087078B2 · Becherer et al. · 2015 [cited by applicant]
US 9098741B1 · Anguelov et al. · 2015 [cited by applicant]
US 9143573B2 · Barak et al. · 2015 [cited by applicant]
US 9177225B1 · Cordova-Diba et al. · 2015 [cited by applicant]
US 9443314B1 · Huang et al. · 2016 [cited by applicant]
US 9477649B1 · Davidson et al. · 2016 [cited by applicant]
US 9734167B2 · Croteau et al. · 2017 [cited by applicant]
US 9798949B1 · Du et al. · 2017 [cited by applicant]
US 9875258B1 · Hsiao et al. · 2018 [cited by applicant]
US 9881226B1 · Rybakov · 2018 [cited by examiner]
US 9904949B1 · Tavernier · 2018 [cited by applicant]
US 10025477B1 · Khafizova · 2018 [cited by applicant]
US 10043109B1 · Du et al. · 2018 [cited by applicant]
US 10262060B1 · Zeiler et al. · 2019 [cited by applicant]
US 10282431B1 · Bhotika · 2019 [cited by examiner]
US 10540378B1 · Hsiao et al. · 2020 [cited by applicant]
US 10824942B1 · Bhotika et al. · 2020 [cited by applicant]
US 11609946B2 · Xu et al. · 2023 [cited by applicant]
US 20020174120A1 · Zhang et al. · 2002 [cited by applicant]
US 20040013286A1 · Viola et al. · 2004 [cited by applicant]
US 20050031165A1 · Olson et al. · 2005 [cited by applicant]
US 20050108282A1 · Venkatachalam · 2005 [cited by examiner]
US 20050225678A1 · Zisserman et al. · 2005 [cited by applicant]
US 20060018521A1 · Avidan · 2006 [cited by applicant]
US 20060112092A1 · Ziou et al. · 2006 [cited by applicant]
US 20060251292A1 · Gokturk et al. · 2006 [cited by applicant]
US 20070071323A1 · Kontsevich et al. · 2007 [cited by applicant]
US 20070077025A1 · Mino · 2007 [cited by examiner]
US 20070101295A1 · Ding et al. · 2007 [cited by applicant]
US 20070177805A1 · Gallagher · 2007 [cited by applicant]
US 20070286531A1 · Fu et al. · 2007 [cited by applicant]
US 20080204569A1 · Miller et al. · 2008 [cited by applicant]
US 20080226119A1 · Candelore et al. · 2008 [cited by applicant]
US 20090208116A1 · Gokturk et al. · 2009 [cited by applicant]
US 20090282025A1 · Winter et al. · 2009 [cited by applicant]
US 20100082597A1 · Retterath et al. · 2010 [cited by applicant]
US 20100106732A1 · Atallah et al. · 2010 [cited by applicant]
US 20100205142A1 · Feulner et al. · 2010 [cited by applicant]
US 20100205202A1 · Yang et al. · 2010 [cited by applicant]
US 20100226564A1 · Marchesotti et al. · 2010 [cited by applicant]
US 20110013049A1 · Thörn · 2011 [cited by applicant]
US 20110029561A1 · Slaney et al. · 2011 [cited by applicant]
US 20110081090A1 · Bouguet et al. · 2011 [cited by applicant]
US 20110119260A1 · Hu et al. · 2011 [cited by applicant]
US 20110125735A1 · Petrou · 2011 [cited by applicant]
US 20110128288A1 · Petrou et al. · 2011 [cited by applicant]
US 20110184950A1 · Skaff et al. · 2011 [cited by applicant]
US 20110194761A1 · Wang et al. · 2011 [cited by applicant]
US 20110202543A1 · Chin et al. · 2011 [cited by applicant]
US 20110268323A1 · Gallagher · 2011 [cited by applicant]
US 20110320317A1 · Yuan et al. · 2011 [cited by applicant]
US 20120030227A1 · Mital et al. · 2012 [cited by applicant]
US 20120123976A1 · Wang et al. · 2012 [cited by applicant]
US 20120194681A1 · Atsmon et al. · 2012 [cited by applicant]
US 20120254802A1 · Tinkler · 2012 [cited by applicant]
US 20120294520A1 · Mei et al. · 2012 [cited by applicant]
US 20130007620A1 · Barsook et al. · 2013 [cited by applicant]
US 20130060786A1 · Serrano et al. · 2013 [cited by applicant]
US 20130097181A1 · Sud et al. · 2013 [cited by applicant]
US 20130121600A1 · Lin et al. · 2013 [cited by applicant]
US 20130132236A1 · Gokturk et al. · 2013 [cited by applicant]
US 20130188886A1 · Petrou et al. · 2013 [cited by applicant]
US 20130282712A1 · Brandt · 2013 [cited by applicant]
US 20140035913A1 · Higgins et al. · 2014 [cited by applicant]
US 20140046935A1 · Bengio et al. · 2014 [cited by applicant]
US 20140089295A1 · Becherer · 2014 [cited by examiner]
US 20140095479A1 · Chang et al. · 2014 [cited by applicant]
US 20140129370A1 · Mabrey et al. · 2014 [cited by applicant]
US 20140129959A1 · Battles et al. · 2014 [cited by applicant]
US 20140188863A1 · Grauman et al. · 2014 [cited by applicant]
US 20140250110A1 · Yang et al. · 2014 [cited by applicant]
US 20140267439A1 · Jenkins · 2014 [cited by examiner]
US 20150065803A1 · Douglas et al. · 2015 [cited by applicant]
US 20150134688A1 · Jing et al. · 2015 [cited by applicant]
US 20150142787A1 · Kimmerling · 2015 [cited by applicant]
US 20150154691A1 · Curry et al. · 2015 [cited by applicant]
US 20150170333A1 · Jing et al. · 2015 [cited by applicant]
US 20150178317A1 · Spielberg · 2015 [cited by applicant]
US 20150234918A1 · Becherer et al. · 2015 [cited by applicant]
US 20150248429A1 · Pregueiro et al. · 2015 [cited by applicant]
US 20150294185A1 · Cady et al. · 2015 [cited by applicant]
US 20150324365A1 · Becker et al. · 2015 [cited by applicant]
US 20150339391A1 · Kang et al. · 2015 [cited by applicant]
US 20160005171A1 · Watanabe et al. · 2016 [cited by applicant]
US 20160070809A1 · Rathus · 2016 [cited by applicant]
US 20160225053A1 · Romley · 2016 [cited by examiner]
US 20160342313A1 · Gross et al. · 2016 [cited by applicant]
US 20170097945A1 · Xu et al. · 2017 [cited by applicant]
US 20170098152A1 · Kerr et al. · 2017 [cited by applicant]
US 20170155631A1 · Du · 2017 [cited by applicant]
US 20170293859A1 · Gusev et al. · 2017 [cited by applicant]
CA 2495046A1 · 2004 [cited by applicant]
EP 2420941A1 · 2012 [cited by applicant]
JP H07131653A · 1995 [cited by applicant]
JP 2005250797A · 2005 [cited by applicant]
JP 2010250426A · 2010 [cited by applicant]
JP 2011154687A · 2011 [cited by applicant]
JP 2013041332A · 2013 [cited by applicant]
JP 2013127809A · 2013 [cited by applicant]
JP 2015096148A · 2015 [cited by applicant]
JP 2015143951A · 2015 [cited by applicant]
WO 2014025592A1 · 2014 [cited by applicant]
Extended European Search Report for EP Application No. 14863014.8 mailed Mar. 30, 2017. [cited by applicant]
Extended European Search Report for EP Application No. 16854145.6, dated Apr. 11, 2019. [cited by applicant]
International Search Report and Written Opinion for PCT Application No. PCT/US2016/031914 dated Aug. 16, 2016. [cited by applicant]
International Search Report and Written Opinion for PCT Application No. PCT/US2016/055212 dated Dec. 23, 2016. [cited by applicant]
International Search Report for PCT Application No. PCT/US2014/064871, dated Feb. 6, 2015. [cited by applicant]
Jaworska, “A Search-Engine Concept Based on Multi-feature Vectors and Spatial Relationship”, International Conference on Simulation, Modeling, and Programming for Autonomous Robots, SIMPAR 2010; [Lecture Notes in Comput… [cited by applicant]
Scheuer, John Davenport, “Dynamic Drive DHTML Scripts—Featured Image Zoomer”, Sep. 28, 2015 (Sep. 28, 2015), XP055731727, Retrieved from the Internet URL: https://web.archive.org/web/20150928012328/http://www.dynamicdri… [cited by applicant]
Ze-Lian Li et al: “Content-Based Retrieval in Digital Libraries”, In: “Fundamentals of Multimedia”, Dec. 31, 2004 (Dec. 31, 2004), Pearson Prentice Hall, pp. 531-578, 531-532, and 521; figure 18.8. [cited by applicant]