US20210158418A1 - Systems and methods for car shopping using messaging framework - Google Patents
Systems and methods for car shopping using messaging framework Download PDFInfo
- Publication number
- US20210158418A1 US20210158418A1 US17/162,386 US202117162386A US2021158418A1 US 20210158418 A1 US20210158418 A1 US 20210158418A1 US 202117162386 A US202117162386 A US 202117162386A US 2021158418 A1 US2021158418 A1 US 2021158418A1
- Authority
- US
- United States
- Prior art keywords
- information
- displaying
- images
- server
- identified
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000012360 testing method Methods 0.000 claims description 12
- 230000004931 aggregating effect Effects 0.000 claims description 6
- 238000012552 review Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000004570 mortar (masonry) Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0623—Item investigation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/02—Comparing digital values
-
- G06K9/00671—
-
- G06K9/6202—
-
- G06K9/6215—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
- G06V10/17—Image acquisition using hand-held instruments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L51/046—Interoperability with other network applications or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/222—Monitoring or handling of messages using geographical location information, e.g. messages transmitted or received in proximity of a certain spot or area
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Definitions
- the present disclosure generally relates to accessing object information using mobile devices. More specifically, this disclosure relates to devices and methods for identifying objects from captured images and videos communicated through inbuilt communication services and for determining the information about the identified object.
- Disclosed embodiments provide devices and methods for determining object information from a captured image.
- a mobile device for determining object information may include at least one memory device storing operating system with a built-in messaging application.
- the device may include a camera.
- the device may also include a network interface.
- the device may also include a display screen.
- the device also includes at least one processor executing instructions to perform operations.
- the operations may include responding to a user input by capturing, with the camera, image data representing an object.
- the operations may also include transmitting, via the messaging application through the network interface to a server, the image data and a request for information relating to the object.
- Requesting information relating to the object from the server may include generating temporary images based on the captured image; comparing the temporary images to a plurality of reference images; assigning scores to the reference images, based on similarity to the test images; aggregating scores assigned to the references images by the test images; identifying a reference image with a highest aggregated score as the identity of the object; and determining information related to the object based on the identity of the object.
- the operations may further include receiving the object information via the messaging application through the network interface from the server.
- the operations may also include displaying the object information on the display screen.
- non-transitory computer-readable storage media may store instructions that are executable by at least one processor of mobile device to perform methods disclosed herein.
- a method may include responding to a user input by capturing, with the camera, image data representing an object.
- the method may also include transmitting, via the messaging application through the network interface to a server, the image data and a request for information relating to the object.
- Requesting information relating to the object from the server may include generating temporary images based on the captured image; comparing the temporary images to a plurality of reference images; assigning scores to the reference images, based on similarity to the test images; aggregating scores assigned to the references images by the test images; identifying a reference image with a highest aggregated score as the identity of the object; and determining information related to the object based on the identity of the object.
- the method may further include receiving the object information via the messaging application through the network interface from the server.
- the method may also include displaying the object information on the display screen.
- a method may include responding to a user input by capturing, with the camera, image data representing an object.
- the method may also include transmitting, via the messaging application through the network interface to a server, the image data and a request for information relating to the object.
- Requesting information relating to the object from the server may include generating temporary images based on the captured image; comparing the temporary images to a plurality of reference images; assigning scores to the reference images, based on similarity to the test images; aggregating scores assigned to the references images by the test images; identifying a reference image with a highest aggregated score as the identity of the object; and determining information related to the object based on the identity of the object.
- the method may further include receiving the object information via the messaging application through the network interface from the server.
- the method may also include displaying the object information on the display screen.
- FIG. 1 is a schematic diagram illustrating an exemplary system environment used to determine information about objects, consistent with disclosed embodiments
- FIG. 2 is a component diagram of an exemplary user device, consistent with the present disclosure
- FIG. 3 is a component diagram of an exemplary object identification service provider consistent with the present disclosure
- FIG. 4 is a flowchart of an exemplary method for providing information of objects, consistent with the present disclosure
- FIGS. 5A and 5B are diagrams showing exemplary post determination message of object information from a captured image, displayed on a user device of a user, consistent with the present disclosure.
- FIG. 5C is a diagram showing an exemplary post determination message of object information from a captured video, displayed on a user device of a user, consistent with the present disclosure.
- FIG. 1 is a schematic diagram of an exemplary system environment that may be configured to provide information about an object in an image, consistent with disclosed examples.
- the components and arrangements shown in FIG. 1 are not intended to limit the disclosed examples, as the components used to implement the disclosed processes and features may vary.
- an object identification system 100 may include an object identification service provider 110 , a user device 120 , a network 130 , a server cluster 140 , a cloud service 150 , and a third-party server.
- Object identification service provider 110 operates at least one server 111 .
- Server 111 may be a computer-based system including computer system components, desktop computers, workstations, tables, handheld computing devices, memory devices, and/or internal network(s) connecting the components. Server 111 is discussed in additional detail with respect to FIG. 3 , below.
- User device 120 may be a tablet, smart phone, multifunctional watch, or any suitable device with computing and text message service capability which enable user device 120 to communicate with server 111 through a network 130 .
- User device 120 is discussed in additional detail with respect to FIG. 2 below.
- Network 130 may comprise one or more interconnected wired or wireless data networks that exchange data between devices such as user device 120 , server 111 of object identification service provider 110 , server cluster 140 , and/or cloud service 150 .
- Network 130 may be may be a secured or unsecured network and may be implemented as, for example, the internet, a wired Wide Area Network (WA), a wired Local Area Network (LAN), a wireless LAN (e.g., IEEE 802.11, Bluetooth, etc.), a wireless WAN (e.g., WiMAX), or the like.
- Each component in system 100 may communicate bi-directionally with other components of system 100 either through network 130 or through one or more direct communication links (not shown).
- Third-party server 160 is associated with a third party and may communicate with object identification service provider 110 .
- the third party may be, for example, a car dealership, a car manufacturer, a company or other suitable data source managing data related to cars.
- Third-party server 160 may provide information to object identification service provider 110 .
- third-party server 160 may provide images and videos of a car identified by object identification service provider 110 .
- third-party server 160 may provide location data specifying a car dealership where an identified model and make car is available.
- Cloud service 150 may include a physical and/or virtual storage system associated with cloud storage for storing data and providing access to data via a public network such as the Internet.
- Cloud service 150 may include cloud services such as those offered by, for example, Amazon, Cisco, IBM, Google, Microsoft, Rackspace, or other entities.
- cloud service 150 comprises multiple computer systems spanning multiple locations and having multiple databases or multiple geographic locations associated with a single or multiple cloud storage service(s).
- cloud service 150 refers to a physical and virtual infrastructure associated with a single cloud storage service.
- cloud service 150 manages and/or stores data associated with mass execution of analytical models using scale-out computing to predict optimal decisions.
- object identification system 100 may process, transmit, provide and receive information consistent with the disclosed examples.
- components of system 100 may communicate each other through direct communications, rather than through network 130 .
- FIG. 2 is a diagram of an exemplary user device 120 , configured to perform functions of the disclosed methods, consistent with the present disclosure.
- User device 120 may be a mobile device with computing capabilities, such as a tablet, a smartphone, or any combination of these devices and/or affiliated components.
- user device 120 may include a camera 210 , one or more processors 220 , a display screen 230 , a network interface 240 , and one or more memory devices 250 storing one or more operating systems 260 , including an inbuilt messaging application 261 .
- Camera 210 is used to generate a user-provided image of an object to be identified, which is transmitted by messaging application 261 for identification, as described below.
- Display screen 230 may include, for example, a liquid crystal display (LCD), a light emitting diode screen (LED), an organic light emitting diode screens (OLED), a touch screen, or other known display screens.
- Display screen 230 may display various kinds of information, to be described below.
- Network interface 240 allows user device 120 to send and receive information through network 130 .
- network interface 240 may establish direct wired or wireless connection between user device 120 and other system components, such as server 111 ( FIG. 1 ).
- Memory 250 may be, for example, a magnetic, semiconductor, tape, optical, removable, non-removable, or other type of storage device or tangible (i.e., non-transitory) computer-readable medium. Memory 250 may store operating system 260 , as well as data and mobile applications for performing operations consistent with functions described below.
- Operating system 260 may perform known operating system functions when executed by processor 220 .
- the operating system may include AndroidTM Apple OS XTM, UnixTM, LinuxTM, or others. Accordingly, examples of the disclosed invention may operate and function with computer systems running any type of operating system having an inbuilt messaging application.
- Messaging application 261 when executed by processor 250 , provides text messaging communication via network 130 ( FIG. 1 ).
- FIG. 3 is a diagram of an exemplary object identification service provider 110 , configured to perform functions of the disclosed methods, consistent with the present disclosure.
- object identification service provider 110 may include at least one server 111 , one or more memory devices 310 , one or more programs 311 , an image manipulation module 312 , an aggregation module 314 , a scoring module 313 , one or more processors 320 , and a network interface 330 .
- Server 111 may be a single server or may be configured as a distributed computer system including multiple servers or computers (e.g., server clusters 150 and/or cloud service 160 ) that interoperate to perform one or more of the processes and functionalities associated with the disclosed embodiments.
- servers or computers e.g., server clusters 150 and/or cloud service 160
- Processor 320 may be one or more known or custom processing devices designed to perform functions of the disclosed methods, such as a single core or multiple core processors capable of executing parallel processes simultaneously.
- processor 320 may be configured with virtual processing technologies.
- processor 320 may use logical processors to simultaneously execute and control multiple processors.
- Processor 320 may be implement virtual machine, or other known technologies to provide the ability to execute, control, run, manipulate, store, etc. multiple software processes, applications, programs, etc.
- processor 320 may include multiple-core processor arrangement (e.g., dual core, quad core, etc.) configured to provide parallel processing functionalities to allow object identification service provider 110 to execute multiple processes simultaneously.
- processor arrangement e.g., dual core, quad core, etc.
- Network interface 330 may be implemented as one or more devices for receiving signals or input from devices and providing signals or output to one or more devices that allow data to be received and/or transmitted by object identification service provider 110 .
- Memory 310 may include one or more memory devices that store data and instructions used to perform one or more features of the disclosed embodiments.
- memory 310 may represent a tangible and non-transitory computer-readable medium having stored therein computer programs, sets of instructions, code, or data to be executed by processor 320 .
- Memory 310 may include, for example, a removable memory chip (e.g., EPROM, RAM, ROM, DRAM, EE PROM, flash memory devices, or other volatile or non-volatile memory devices) or other removable storage units that allow instructions and data to be accessed by processor 320 .
- a removable memory chip e.g., EPROM, RAM, ROM, DRAM, EE PROM, flash memory devices, or other volatile or non-volatile memory devices
- Memory 310 may also include instructions that, when executed by processor 320 , perform operations consistent with the functionalities disclosed herein. Methods, systems, and devices consistent with disclosed embodiments are not limited to separate programs or computers configured to perform dedicated tasks. For example, memory 310 may include one or more programs 311 to perform one or more functions of the disclosed embodiments. Moreover, processor 320 may execute one or more programs located remotely from system 100 . For example, object identification service provider 110 may access one or more remote programs, that, when executed, perform functions related to disclosed embodiments.
- Memory 310 may also include any combination of one or more relational and/or non-relational databases 315 such as document management systems, Microsoft SQL databases, SharePoint databases, Oracle databases other relational databases, or non-relational databases such as Apache HBase.
- memory 310 may comprise an associative array architecture, such as a key-value storage, for storing and rapidly retrieving large amounts of information.
- Object identification service provider 110 may also be communicatively connected to one or more remote memory devices (e.g., remote databases (not shown)) through network 130 or a different network.
- the remote memory devices may be configured to store information (e.g., structured, semi-structured, and/or unstructured data) and may be accessed and/or managed by object identification service provider 110 .
- the remote memory devices may be document management systems, Microsoft SQL databases, SharePoint databases, Oracle databases, or other relational databases. Systems and methods consistent with disclosed embodiments however are not limited to separate databases or even to the use of a database.
- Programs 311 stored in memory 310 and executed by processor(s) 320 may include one or more image manipulation module(s) 312 , scoring module(s) 313 , and object identification module(s) 314 .
- Programs 311 may be stored in an internal memory or external storage (not shown) in direct communication with object identification service provider 110 , such as one or more database or memory accessible over network 130 .
- the internal database and external storage may be a volatile or non-volatile, or other type of storage device or non-transitory computer-readable medium.
- Image manipulation module 312 pre-processes and modifies the image to generate multiple images using various features to assist the operation of scoring module 313 .
- Modification features include cropping an image, flipping an image along x-axis and y-axis, skewing an image horizontally and vertically, and changing color characteristics of the image by manipulating the histogram.
- object identification system provider 110 may execute one or more scoring modules, including but not limited to scoring module 313 .
- scoring module 313 is to compare the temporary images, that are, internally generated by image manipulation module 312 (from the user-provided image) to external images of known objects obtained from a database containing reference images, and to assign scores to the comparison results based on similarity.
- the scoring model used in scoring module 313 may be an analytical model applying, for example, linear regression algorithms, boosted tree algorithms, and/or convolution neural networks.
- Scoring module 313 may leverage structured data (e.g., text data received from user device 120 , data received from dealer website via an API, etc.) or unstructured data (e.g., images or videos of an object to be identified) to produce scores indicating the matching level associated.
- structured data e.g., text data received from user device 120 , data received from dealer website via an API, etc.
- unstructured data e.g., images or videos of an object to be identified
- the scores may be based on the similarities of the externally obtained images of known car models and makes to the car in the user-provided image.
- the scores may indicate the confidence level the object identification service provider 110 has in uniquely identifying the car.
- the multiple images obtained using image manipulation module 312 may result in multiple scores associated with each model and make.
- Aggregate module 314 aggregates the scored entries to uniquely identify the representation of an object in image data. Aggregation may involve adding scores of a certain identity of object in various images. The entry with the highest score is regarded the identity of the object.
- Database 315 in memory 310 may be used as a temporary or permanent storage. Images received over network 130 to determine object information may be stored in the database. Database 315 might temporarily store images generated by image manipulation module 312 . Database 315 may also store reference images accessed by scoring module 313 to assign scores to images generated by image manipulation module 312 .
- FIG. 4 is a flow chart illustrating an exemplary method for object information determination, consistent with the present disclosure.
- the exemplary methods discussed in this disclosure are described as performed by user device 120 and server 111 . In some examples, however user device 120 may perform one or more disclosed method steps. In some examples, different components of object identification system 100 (such as object identification service provider 110 and third-party service 140 ) may perform various steps of the methods in a distributed-computing configuration.
- step 411 camera 210 of user device 120 is utilized to capture an image or video of an object whose information needs to be determined.
- User device 120 may store data representing the image in memory 250 .
- step 412 captured image data of the object in step 411 is transmitted to server 111 of object identification service provider 110 .
- the transmission may be initiated in messaging application 231 which is part of operating system 230 of user device 120 .
- User device 120 uses network interface 220 to transmit the image data through network 130 to server 111 .
- an image captured previously by camera 210 of user device 120 might be retrieved from memory 250 before transmitting it to server 111 .
- server 111 may receive the image data representing the object to be identified.
- the server 111 receives the data at network interface 330 .
- the received image data may include, for example, still image and/or video data captured by camera 210 of user device 120 .
- server 111 of object identification service provider 110 determines if the received image data contains text, still image, or video data. If the received data is still image data, at step 415 , the received image data is manipulated using image manipulation module 312 executed by processor 320 of server 111 . This manipulation may include cropping the image, flipping the image along x-axis and y-axis, skew the image horizontally and vertically, change color characteristics of the image. The image manipulation results in multiple images of the received image data.
- the received data is video data
- the received data is “chunked,” that is, divided into groups of frames, to extract multiple images using processor 320 .
- the number of extracted images varies based on the length of the video among other characteristics of the video.
- a direct search of text is performed to identify the object with the text as its name.
- scoring module 313 processes the images obtained from image manipulation module 312 or the video chunked by frames. Scoring module 313 uses the multiple images obtained in step 415 and 416 to generate multiple identities of the object in the received image data. Scoring module 313 associates scores with the possible identities of the images obtained in steps 415 and 416 to generate matching identities. Aggregate module 314 then aggregates scores of the matching identities.
- step 418 any EXIF information available in the image data received by server 111 is extracted to identify the location where the image was captured.
- the identity with the highest score is regarded as the identity of the object in image.
- server 111 may submit the identity information of an object to a third-party server 160 to obtain additional information. Additionally, EXIF information extracted in step 418 may be submitted to third-party server 160 to determine information about identified object.
- server 111 of object identification service provider 110 transmits, via network interface 330 , object information including the determined identity of the object and related object information.
- the object information is transmitted via text messaging to user device 120 through network 130 .
- the transmitted object information may include a physical address of a brick-and-mortar store or a URL of an online website where the identified object is available for sale.
- user device 120 receives the transmitted object information via messaging application 261 and network interface 240 .
- the received object information is displayed on display screen 230 of user device 120 .
- FIG. 5A shows an exemplary user device 120 interacting with object identification service provider 110 to display information, received via messaging application 261 , about an object represented by a previously captured image.
- a text conversation includes an outgoing message 511 containing image data 512 representing a car (object) is transmitted over network 130 by messaging application 261 .
- the messaging application 261 displays incoming message 513 with identity information and the physical address of a dealership where the identified object may be purchased.
- FIG. 5B shows another exemplary interaction similar to FIG. 5A .
- FIG. 5B differs from 5 A in that the displayed object information includes URL to a website where the identified object is available for sale or where product reviews may be viewed.
- FIG. 5C shows another exemplary interaction similar to FIG. 5A .
- messaging application 261 displays message 511 containing video image data 514 .
- Programs based on the written description and methods of this specification are within the skill of a software developer.
- the various programs or program modules can be created using a variety of programming techniques.
- program sections or program modules can be designed by means of python, Java, C, C++, assembly language, or any such programming languages.
- One or more of such software sections or modules can be integrated into a computer system, non-transitory computer readable media, or existing communications software.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Business, Economics & Management (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
- The present disclosure generally relates to accessing object information using mobile devices. More specifically, this disclosure relates to devices and methods for identifying objects from captured images and videos communicated through inbuilt communication services and for determining the information about the identified object.
- Shopping for a certain kind of object requires knowing the identity of the object and location to purchase the identified object. Such identification, while currently possible through various search engines, often requires installation of a specialized application, in addition to the search engine itself, to purchase the identified object. Moreover, while generic search engines are good at providing information about an object, they lack inbuilt shopping functionality, that is, the ability to engage in e-commerce without installation of additional software. Although some online shopping services provide search capability, such capability is limited to their own inventory. Also, the amount of information relevant to the object that is made available to the user is often limited. In view of these and other shortcomings and problems with existing technology, improved systems and methods for identifying objects and accessing their information is desired.
- Disclosed embodiments provide devices and methods for determining object information from a captured image.
- Consistent with embodiments, a mobile device for determining object information is provided. The device may include at least one memory device storing operating system with a built-in messaging application. The device may include a camera. The device may also include a network interface. The device may also include a display screen. The device also includes at least one processor executing instructions to perform operations.
- The operations may include responding to a user input by capturing, with the camera, image data representing an object. The operations may also include transmitting, via the messaging application through the network interface to a server, the image data and a request for information relating to the object. Requesting information relating to the object from the server may include generating temporary images based on the captured image; comparing the temporary images to a plurality of reference images; assigning scores to the reference images, based on similarity to the test images; aggregating scores assigned to the references images by the test images; identifying a reference image with a highest aggregated score as the identity of the object; and determining information related to the object based on the identity of the object. The operations may further include receiving the object information via the messaging application through the network interface from the server. The operations may also include displaying the object information on the display screen.
- Consistent with embodiments, non-transitory computer-readable storage media may store instructions that are executable by at least one processor of mobile device to perform methods disclosed herein. A method may include responding to a user input by capturing, with the camera, image data representing an object. The method may also include transmitting, via the messaging application through the network interface to a server, the image data and a request for information relating to the object. Requesting information relating to the object from the server may include generating temporary images based on the captured image; comparing the temporary images to a plurality of reference images; assigning scores to the reference images, based on similarity to the test images; aggregating scores assigned to the references images by the test images; identifying a reference image with a highest aggregated score as the identity of the object; and determining information related to the object based on the identity of the object. The method may further include receiving the object information via the messaging application through the network interface from the server. The method may also include displaying the object information on the display screen.
- Consistent with the embodiments, methods for determining object information are provided. A method may include responding to a user input by capturing, with the camera, image data representing an object. The method may also include transmitting, via the messaging application through the network interface to a server, the image data and a request for information relating to the object. Requesting information relating to the object from the server may include generating temporary images based on the captured image; comparing the temporary images to a plurality of reference images; assigning scores to the reference images, based on similarity to the test images; aggregating scores assigned to the references images by the test images; identifying a reference image with a highest aggregated score as the identity of the object; and determining information related to the object based on the identity of the object. The method may further include receiving the object information via the messaging application through the network interface from the server. The method may also include displaying the object information on the display screen.
- The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate several examples, and, together with the description, serve to explain the disclosed principles, In the drawings:
-
FIG. 1 is a schematic diagram illustrating an exemplary system environment used to determine information about objects, consistent with disclosed embodiments; -
FIG. 2 is a component diagram of an exemplary user device, consistent with the present disclosure; -
FIG. 3 is a component diagram of an exemplary object identification service provider consistent with the present disclosure; -
FIG. 4 is a flowchart of an exemplary method for providing information of objects, consistent with the present disclosure; -
FIGS. 5A and 5B are diagrams showing exemplary post determination message of object information from a captured image, displayed on a user device of a user, consistent with the present disclosure; and -
FIG. 5C is a diagram showing an exemplary post determination message of object information from a captured video, displayed on a user device of a user, consistent with the present disclosure. - Reference will now be made in detail to exemplary embodiments, examples of which are illustrated in the accompanying drawings and disclosed herein. Wherever convenient, the same reference numbers will be used throughout the drawings to refer to the same or like parts. For ease of discussion, the present disclosure may describe embodiments in the context of online shopping, such as shopping for a car. It is to be understood, however, that disclosed embodiments are not limited to online shopping applications. Rather, the disclosed devices and methods are applicable to object identification and determination of information from a captured image or video for many other purposes and, in fact, are not limited to any particular industry or field.
-
FIG. 1 is a schematic diagram of an exemplary system environment that may be configured to provide information about an object in an image, consistent with disclosed examples. The components and arrangements shown inFIG. 1 are not intended to limit the disclosed examples, as the components used to implement the disclosed processes and features may vary. - In accordance with the disclosed embodiments, an
object identification system 100 may include an objectidentification service provider 110, auser device 120, anetwork 130, a server cluster 140, acloud service 150, and a third-party server. Objectidentification service provider 110 operates at least oneserver 111.Server 111 may be a computer-based system including computer system components, desktop computers, workstations, tables, handheld computing devices, memory devices, and/or internal network(s) connecting the components.Server 111 is discussed in additional detail with respect toFIG. 3 , below. -
User device 120 may be a tablet, smart phone, multifunctional watch, or any suitable device with computing and text message service capability which enableuser device 120 to communicate withserver 111 through anetwork 130.User device 120 is discussed in additional detail with respect toFIG. 2 below. - Components of
system 100 may communicate vianetwork 130 which, in some embodiments, may comprise one or more interconnected wired or wireless data networks that exchange data between devices such asuser device 120,server 111 of objectidentification service provider 110, server cluster 140, and/orcloud service 150.Network 130 may be may be a secured or unsecured network and may be implemented as, for example, the internet, a wired Wide Area Network (WA), a wired Local Area Network (LAN), a wireless LAN (e.g., IEEE 802.11, Bluetooth, etc.), a wireless WAN (e.g., WiMAX), or the like. Each component insystem 100 may communicate bi-directionally with other components ofsystem 100 either throughnetwork 130 or through one or more direct communication links (not shown). - Third-
party server 160 is associated with a third party and may communicate with objectidentification service provider 110. The third party may be, for example, a car dealership, a car manufacturer, a company or other suitable data source managing data related to cars. Third-party server 160 may provide information to objectidentification service provider 110. For example, in some embodiments, third-party server 160 may provide images and videos of a car identified by objectidentification service provider 110. In some embodiments, third-party server 160 may provide location data specifying a car dealership where an identified model and make car is available. -
Cloud service 150 may include a physical and/or virtual storage system associated with cloud storage for storing data and providing access to data via a public network such as the Internet.Cloud service 150 may include cloud services such as those offered by, for example, Amazon, Cisco, IBM, Google, Microsoft, Rackspace, or other entities. - In some embodiments,
cloud service 150 comprises multiple computer systems spanning multiple locations and having multiple databases or multiple geographic locations associated with a single or multiple cloud storage service(s). As used herein,cloud service 150 refers to a physical and virtual infrastructure associated with a single cloud storage service. In some embodiments,cloud service 150 manages and/or stores data associated with mass execution of analytical models using scale-out computing to predict optimal decisions. - Other components known to one of ordinary skill in the art may be included in
object identification system 100 to process, transmit, provide and receive information consistent with the disclosed examples. In addition, although not shown inFIG. 1 , components ofsystem 100 may communicate each other through direct communications, rather than throughnetwork 130. -
FIG. 2 is a diagram of anexemplary user device 120, configured to perform functions of the disclosed methods, consistent with the present disclosure.User device 120 may be a mobile device with computing capabilities, such as a tablet, a smartphone, or any combination of these devices and/or affiliated components. As shown,user device 120 may include acamera 210, one ormore processors 220, adisplay screen 230, anetwork interface 240, and one ormore memory devices 250 storing one ormore operating systems 260, including aninbuilt messaging application 261.Camera 210 is used to generate a user-provided image of an object to be identified, which is transmitted bymessaging application 261 for identification, as described below. -
Display screen 230 may include, for example, a liquid crystal display (LCD), a light emitting diode screen (LED), an organic light emitting diode screens (OLED), a touch screen, or other known display screens.Display screen 230 may display various kinds of information, to be described below. -
Network interface 240 allowsuser device 120 to send and receive information throughnetwork 130. Alternatively, or in addition,network interface 240 may establish direct wired or wireless connection betweenuser device 120 and other system components, such as server 111 (FIG. 1 ). -
Memory 250 may be, for example, a magnetic, semiconductor, tape, optical, removable, non-removable, or other type of storage device or tangible (i.e., non-transitory) computer-readable medium.Memory 250 may storeoperating system 260, as well as data and mobile applications for performing operations consistent with functions described below. -
Operating system 260 may perform known operating system functions when executed byprocessor 220. By way of example, the operating system may include Android™ Apple OS X™, Unix™, Linux™, or others. Accordingly, examples of the disclosed invention may operate and function with computer systems running any type of operating system having an inbuilt messaging application.Messaging application 261, when executed byprocessor 250, provides text messaging communication via network 130 (FIG. 1 ). -
FIG. 3 is a diagram of an exemplary objectidentification service provider 110, configured to perform functions of the disclosed methods, consistent with the present disclosure. As shown inFIG. 3 , objectidentification service provider 110 may include at least oneserver 111, one ormore memory devices 310, one ormore programs 311, animage manipulation module 312, anaggregation module 314, ascoring module 313, one ormore processors 320, and anetwork interface 330. -
Server 111 may be a single server or may be configured as a distributed computer system including multiple servers or computers (e.g.,server clusters 150 and/or cloud service 160) that interoperate to perform one or more of the processes and functionalities associated with the disclosed embodiments. -
Processor 320 may be one or more known or custom processing devices designed to perform functions of the disclosed methods, such as a single core or multiple core processors capable of executing parallel processes simultaneously. For example,processor 320 may be configured with virtual processing technologies. In certain embodiments,processor 320 may use logical processors to simultaneously execute and control multiple processors.Processor 320 may be implement virtual machine, or other known technologies to provide the ability to execute, control, run, manipulate, store, etc. multiple software processes, applications, programs, etc. In another embodiment,processor 320 may include multiple-core processor arrangement (e.g., dual core, quad core, etc.) configured to provide parallel processing functionalities to allow objectidentification service provider 110 to execute multiple processes simultaneously. One of ordinary skill in the art would understand that other types of processor arrangements could be implemented that provide for the capabilities disclosed herein. -
Network interface 330 may be implemented as one or more devices for receiving signals or input from devices and providing signals or output to one or more devices that allow data to be received and/or transmitted by objectidentification service provider 110. -
Memory 310 may include one or more memory devices that store data and instructions used to perform one or more features of the disclosed embodiments. For example,memory 310 may represent a tangible and non-transitory computer-readable medium having stored therein computer programs, sets of instructions, code, or data to be executed byprocessor 320.Memory 310 may include, for example, a removable memory chip (e.g., EPROM, RAM, ROM, DRAM, EE PROM, flash memory devices, or other volatile or non-volatile memory devices) or other removable storage units that allow instructions and data to be accessed byprocessor 320. -
Memory 310 may also include instructions that, when executed byprocessor 320, perform operations consistent with the functionalities disclosed herein. Methods, systems, and devices consistent with disclosed embodiments are not limited to separate programs or computers configured to perform dedicated tasks. For example,memory 310 may include one ormore programs 311 to perform one or more functions of the disclosed embodiments. Moreover,processor 320 may execute one or more programs located remotely fromsystem 100. For example, objectidentification service provider 110 may access one or more remote programs, that, when executed, perform functions related to disclosed embodiments. -
Memory 310 may also include any combination of one or more relational and/ornon-relational databases 315 such as document management systems, Microsoft SQL databases, SharePoint databases, Oracle databases other relational databases, or non-relational databases such as Apache HBase. In some embodiments,memory 310 may comprise an associative array architecture, such as a key-value storage, for storing and rapidly retrieving large amounts of information. - Object
identification service provider 110 may also be communicatively connected to one or more remote memory devices (e.g., remote databases (not shown)) throughnetwork 130 or a different network. The remote memory devices may be configured to store information (e.g., structured, semi-structured, and/or unstructured data) and may be accessed and/or managed by objectidentification service provider 110. By way of example, the remote memory devices may be document management systems, Microsoft SQL databases, SharePoint databases, Oracle databases, or other relational databases. Systems and methods consistent with disclosed embodiments however are not limited to separate databases or even to the use of a database. -
Programs 311 stored inmemory 310 and executed by processor(s) 320 may include one or more image manipulation module(s) 312, scoring module(s) 313, and object identification module(s) 314.Programs 311 may be stored in an internal memory or external storage (not shown) in direct communication with objectidentification service provider 110, such as one or more database or memory accessible overnetwork 130. The internal database and external storage may be a volatile or non-volatile, or other type of storage device or non-transitory computer-readable medium. -
Image manipulation module 312 pre-processes and modifies the image to generate multiple images using various features to assist the operation of scoringmodule 313. Modification features include cropping an image, flipping an image along x-axis and y-axis, skewing an image horizontally and vertically, and changing color characteristics of the image by manipulating the histogram. - Consistent with disclosed embodiments, object
identification system provider 110 may execute one or more scoring modules, including but not limited to scoringmodule 313. The purpose of scoringmodule 313 is to compare the temporary images, that are, internally generated by image manipulation module 312 (from the user-provided image) to external images of known objects obtained from a database containing reference images, and to assign scores to the comparison results based on similarity. The scoring model used in scoringmodule 313 may be an analytical model applying, for example, linear regression algorithms, boosted tree algorithms, and/or convolution neural networks. Scoringmodule 313 may leverage structured data (e.g., text data received fromuser device 120, data received from dealer website via an API, etc.) or unstructured data (e.g., images or videos of an object to be identified) to produce scores indicating the matching level associated. In one example, when an image of a car is transmitted byuser device 120, externally obtained images of various car models and makes are assigned scores by scoringmodule 313. The scores may be based on the similarities of the externally obtained images of known car models and makes to the car in the user-provided image. The scores may indicate the confidence level the objectidentification service provider 110 has in uniquely identifying the car. The multiple images obtained usingimage manipulation module 312 may result in multiple scores associated with each model and make. -
Aggregate module 314 aggregates the scored entries to uniquely identify the representation of an object in image data. Aggregation may involve adding scores of a certain identity of object in various images. The entry with the highest score is regarded the identity of the object. -
Database 315 inmemory 310 may be used as a temporary or permanent storage. Images received overnetwork 130 to determine object information may be stored in the database.Database 315 might temporarily store images generated byimage manipulation module 312.Database 315 may also store reference images accessed by scoringmodule 313 to assign scores to images generated byimage manipulation module 312. - Descriptions of the disclosed embodiments are not exhaustive and are not limited to the precise forms or embodiments disclosed. Modifications and adaptions of the embodiments will be apparent from consideration of the specification and practice of the disclosed embodiments. For example, the described implementations include hardware, firmware, and software, but systems and methods consistent with the present disclosure can be implemented as hardware alone. Additionally, the disclosed embodiments are not limited to the examples discussed herein.
-
FIG. 4 is a flow chart illustrating an exemplary method for object information determination, consistent with the present disclosure. For discussion purposes, the exemplary methods discussed in this disclosure (including the method 400) are described as performed byuser device 120 andserver 111. In some examples, howeveruser device 120 may perform one or more disclosed method steps. In some examples, different components of object identification system 100 (such as objectidentification service provider 110 and third-party service 140) may perform various steps of the methods in a distributed-computing configuration. - In
step 411,camera 210 ofuser device 120 is utilized to capture an image or video of an object whose information needs to be determined.User device 120 may store data representing the image inmemory 250. - In
step 412, captured image data of the object instep 411 is transmitted toserver 111 of objectidentification service provider 110. The transmission may be initiated in messaging application 231 which is part ofoperating system 230 ofuser device 120.User device 120 usesnetwork interface 220 to transmit the image data throughnetwork 130 toserver 111. In some examples, an image captured previously bycamera 210 ofuser device 120 might be retrieved frommemory 250 before transmitting it toserver 111. - In
step 413,server 111 may receive the image data representing the object to be identified. Theserver 111 receives the data atnetwork interface 330. The received image data may include, for example, still image and/or video data captured bycamera 210 ofuser device 120. - In
step 414,server 111 of objectidentification service provider 110 determines if the received image data contains text, still image, or video data. If the received data is still image data, atstep 415, the received image data is manipulated usingimage manipulation module 312 executed byprocessor 320 ofserver 111. This manipulation may include cropping the image, flipping the image along x-axis and y-axis, skew the image horizontally and vertically, change color characteristics of the image. The image manipulation results in multiple images of the received image data. - If the received data is video data, at
step 416 the received data is “chunked,” that is, divided into groups of frames, to extract multipleimages using processor 320. The number of extracted images varies based on the length of the video among other characteristics of the video. - If the received data is text, a direct search of text is performed to identify the object with the text as its name.
- In
step 417, depending upon the type of data received, scoringmodule 313 processes the images obtained fromimage manipulation module 312 or the video chunked by frames. Scoringmodule 313 uses the multiple images obtained instep module 313 associates scores with the possible identities of the images obtained insteps Aggregate module 314 then aggregates scores of the matching identities. - In
step 418, any EXIF information available in the image data received byserver 111 is extracted to identify the location where the image was captured. - At
step 419, the identity with the highest score is regarded as the identity of the object in image. Once the identity of the object is determinedserver 111 may submit the identity information of an object to a third-party server 160 to obtain additional information. Additionally, EXIF information extracted instep 418 may be submitted to third-party server 160 to determine information about identified object. - At
step 420,server 111 of objectidentification service provider 110 transmits, vianetwork interface 330, object information including the determined identity of the object and related object information. The object information is transmitted via text messaging touser device 120 throughnetwork 130. In addition to the determined identity, the transmitted object information may include a physical address of a brick-and-mortar store or a URL of an online website where the identified object is available for sale. - At
step 421,user device 120 receives the transmitted object information viamessaging application 261 andnetwork interface 240. - At
step 422, the received object information is displayed ondisplay screen 230 ofuser device 120. -
FIG. 5A shows anexemplary user device 120 interacting with objectidentification service provider 110 to display information, received viamessaging application 261, about an object represented by a previously captured image. As shown inFIG. 5A , a text conversation includes anoutgoing message 511 containingimage data 512 representing a car (object) is transmitted overnetwork 130 bymessaging application 261. Below that themessaging application 261 displaysincoming message 513 with identity information and the physical address of a dealership where the identified object may be purchased. -
FIG. 5B shows another exemplary interaction similar toFIG. 5A .FIG. 5B differs from 5A in that the displayed object information includes URL to a website where the identified object is available for sale or where product reviews may be viewed. -
FIG. 5C shows another exemplary interaction similar toFIG. 5A . As shown inFIG. 5C ,messaging application 261displays message 511 containingvideo image data 514. - Computer programs based on the written description and methods of this specification are within the skill of a software developer. The various programs or program modules can be created using a variety of programming techniques. For example, program sections or program modules can be designed by means of python, Java, C, C++, assembly language, or any such programming languages. One or more of such software sections or modules can be integrated into a computer system, non-transitory computer readable media, or existing communications software.
- Moreover, while illustrative embodiments have been described herein, the scope includes any and all embodiments having equivalent elements, modifications, omissions, combinations (e.g., of aspect across various embodiments), adaptions or alterations based on the present disclosure. The elements in the claims are to be interpreted broadly based on the language employed in the claims and not limited to examples described in the present specification or during the prosecution of the application, which examples are to be construed as non-exclusive. Further, the steps of the disclosed methods can be modified in any manner, including by reordering steps or inserting or deleting steps. It is intended, therefore, that he specification and examples be considered as exemplary only, with a true scope and spirit being indicated by the following claims and their full scope of equivalents.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/162,386 US20210158418A1 (en) | 2018-03-08 | 2021-01-29 | Systems and methods for car shopping using messaging framework |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/915,863 US10909599B2 (en) | 2018-03-08 | 2018-03-08 | Systems and methods for car shopping using messaging framework |
US17/162,386 US20210158418A1 (en) | 2018-03-08 | 2021-01-29 | Systems and methods for car shopping using messaging framework |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/915,863 Continuation US10909599B2 (en) | 2018-03-08 | 2018-03-08 | Systems and methods for car shopping using messaging framework |
Publications (1)
Publication Number | Publication Date |
---|---|
US20210158418A1 true US20210158418A1 (en) | 2021-05-27 |
Family
ID=67844025
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/915,863 Active US10909599B2 (en) | 2018-03-08 | 2018-03-08 | Systems and methods for car shopping using messaging framework |
US17/162,386 Pending US20210158418A1 (en) | 2018-03-08 | 2021-01-29 | Systems and methods for car shopping using messaging framework |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/915,863 Active US10909599B2 (en) | 2018-03-08 | 2018-03-08 | Systems and methods for car shopping using messaging framework |
Country Status (2)
Country | Link |
---|---|
US (2) | US10909599B2 (en) |
CA (1) | CA3036246A1 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10909599B2 (en) * | 2018-03-08 | 2021-02-02 | Capital One Services, Llc | Systems and methods for car shopping using messaging framework |
US10679180B2 (en) | 2018-06-20 | 2020-06-09 | Capital One Services, Llc | Transitioning inventory search from large geographic area to immediate personal area |
KR102203438B1 (en) * | 2018-12-26 | 2021-01-14 | 엘지전자 주식회사 | a Moving robot and Controlling method for the moving robot |
RU2019128018A (en) * | 2019-09-05 | 2021-03-05 | Общество С Ограниченной Ответственностью "Яндекс" | Method and system for determining an answer for a digital task performed in a computer crowdsourced environment |
CN110851643A (en) * | 2019-10-28 | 2020-02-28 | 维沃移动通信有限公司 | Information display method and electronic equipment |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110034176A1 (en) * | 2009-05-01 | 2011-02-10 | Lord John D | Methods and Systems for Content Processing |
US20140147053A1 (en) * | 2000-11-06 | 2014-05-29 | Nant Holdings Ip, Llc | Image Capture and Identification System and Process |
US9037599B1 (en) * | 2007-05-29 | 2015-05-19 | Google Inc. | Registering photos in a geographic information system, and applications thereof |
US20150235296A1 (en) * | 2012-11-28 | 2015-08-20 | Ebay Inc. | Message based generation of item listings |
US20160148292A1 (en) * | 2014-11-25 | 2016-05-26 | Wal-Mart Stores, Inc. | Computer vision product recognition |
US20170193337A1 (en) * | 2015-12-31 | 2017-07-06 | Dropbox, Inc. | Generating and utilizing normalized scores for classifying digital objects |
US20170304732A1 (en) * | 2014-11-10 | 2017-10-26 | Lego A/S | System and method for toy recognition |
US10909599B2 (en) * | 2018-03-08 | 2021-02-02 | Capital One Services, Llc | Systems and methods for car shopping using messaging framework |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7751805B2 (en) | 2004-02-20 | 2010-07-06 | Google Inc. | Mobile image-based information retrieval system |
US7565139B2 (en) | 2004-02-20 | 2009-07-21 | Google Inc. | Image-based search engine for mobile phones with camera |
US8873807B2 (en) | 2011-03-08 | 2014-10-28 | Bank Of America Corporation | Vehicle recognition |
US20160092959A1 (en) * | 2014-09-26 | 2016-03-31 | Real Data Guru, Inc. | Tag Based Property Platform & Method |
JP2017010255A (en) * | 2015-06-22 | 2017-01-12 | オリンパス株式会社 | Image recognition apparatus and image recognition method |
US11032523B2 (en) * | 2016-11-30 | 2021-06-08 | Ncr Corporation | Automated image metadata processing |
US20180197221A1 (en) * | 2017-01-06 | 2018-07-12 | Dragon-Click Corp. | System and method of image-based service identification |
US10229347B2 (en) * | 2017-05-14 | 2019-03-12 | International Business Machines Corporation | Systems and methods for identifying a target object in an image |
-
2018
- 2018-03-08 US US15/915,863 patent/US10909599B2/en active Active
-
2019
- 2019-03-08 CA CA3036246A patent/CA3036246A1/en active Pending
-
2021
- 2021-01-29 US US17/162,386 patent/US20210158418A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140147053A1 (en) * | 2000-11-06 | 2014-05-29 | Nant Holdings Ip, Llc | Image Capture and Identification System and Process |
US9037599B1 (en) * | 2007-05-29 | 2015-05-19 | Google Inc. | Registering photos in a geographic information system, and applications thereof |
US20110034176A1 (en) * | 2009-05-01 | 2011-02-10 | Lord John D | Methods and Systems for Content Processing |
US20150235296A1 (en) * | 2012-11-28 | 2015-08-20 | Ebay Inc. | Message based generation of item listings |
US20170304732A1 (en) * | 2014-11-10 | 2017-10-26 | Lego A/S | System and method for toy recognition |
US20160148292A1 (en) * | 2014-11-25 | 2016-05-26 | Wal-Mart Stores, Inc. | Computer vision product recognition |
US20170193337A1 (en) * | 2015-12-31 | 2017-07-06 | Dropbox, Inc. | Generating and utilizing normalized scores for classifying digital objects |
US10909599B2 (en) * | 2018-03-08 | 2021-02-02 | Capital One Services, Llc | Systems and methods for car shopping using messaging framework |
Non-Patent Citations (1)
Title |
---|
Alex Davies, An App That Can Instantly Identify Any Car (At Least Half the Time), Wired, Dec. 16, 2014 (Year: 2014) * |
Also Published As
Publication number | Publication date |
---|---|
US20190279270A1 (en) | 2019-09-12 |
CA3036246A1 (en) | 2019-09-08 |
US10909599B2 (en) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210158418A1 (en) | Systems and methods for car shopping using messaging framework | |
US11487823B2 (en) | Relevance of search results | |
US11188838B2 (en) | Dynamic access of artificial intelligence engine in a cloud computing architecture | |
US11301500B2 (en) | Clustering for geo-enriched data | |
US11061934B1 (en) | Method and system for characterizing time series | |
US20180285416A1 (en) | Automated application of query hints | |
US10528560B2 (en) | Filtering for data models | |
US11221843B2 (en) | Auditory media metadata-based software configuration using design systems | |
US11221845B2 (en) | Visual media metadata-based software configuration using design systems | |
US20240098151A1 (en) | ENHANCED PROCESSING OF USER PROFILES USING DATA STRUCTURES SPECIALIZED FOR GRAPHICAL PROCESSING UNITS (GPUs) | |
EP3404539B1 (en) | Statistical computing for analytics | |
US11176127B2 (en) | Accelerating queries based on zone expression maps | |
US10140518B1 (en) | Content information auditing service | |
US8938520B2 (en) | Methods and systems for smart adapters in a social media content analytics environment | |
US10997213B2 (en) | Database queries using dynamically calculated dimensions | |
US10778638B2 (en) | Searching contact data based on product data | |
US11244019B2 (en) | Enrichment of user specific information | |
US11061906B2 (en) | Join operations for hierarchical dimensions | |
US11809791B2 (en) | Leveraging 3D model data for inspection operations | |
US20230297571A1 (en) | Managing Queries For Blended Data From Data Models | |
US20230073643A1 (en) | Predicting Events Based On Time Series Data | |
US20230066530A1 (en) | Optimizing the response time of data profiling in interactive sessions | |
US10673945B2 (en) | Framework for data geocoding | |
CN114218198A (en) | Service information migration method, device, equipment and medium | |
CN114218330A (en) | ES cluster selection method, ES cluster selection device, ES cluster selection apparatus, ES cluster selection medium, and program product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CAPITAL ONE SERVICES, LLC, VIRGINIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:REDDY, SEAN;VASISHT, SUNIL SUBRAHMANYAM;PRICE, MICAH;AND OTHERS;REEL/FRAME:055128/0248 Effective date: 20180306 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: APPLICATION DISPATCHED FROM PREEXAM, NOT YET DOCKETED |
|
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: 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: 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 |