METHODS OF MANAGING AND QUERYING PRODUCT INVENTORY DATA AND INVENTORY MANAGEMENT SERVER

Methods of managing and querying product inventory data and an inventory management server are disclosed. The method is applicable to at least one electronic communication device and a server, wherein each of the at least one electronic communication device comprises a camera. The method of managing product inventory data includes: capturing an image of a product by the camera to obtain product image data; performing image recognition on the product image data to obtain at least one image characteristic and retrieving at least one product information of the respective product based on at least one of the at least one image characteristic; and creating or updating product inventory data for the product in the server based on the at least one product information.

CROSS REFERENCE TO RELATED APPLICATION

This application is based on, and claims the priority from Taiwan application serial no. 107117290, filed on May 21, 2018, the disclosure of which is hereby incorporated by reference herein in its entity.

FIELD OF THE DISCLOSURE

The disclosure directed to methods of managing and querying product inventory data and an inventory management server.

BACKGROUND OF THE DISCLOSURE

At present, the process of creating inventory in a store is complicated. A user must manually enter each product information into each corresponding field, which is both time consuming and laborious. It creates a great burden for those industries where the variety of product items is large and products are updated quickly.

Current systems for managing and querying inventory information are usually provided in the form of point of sale (POS) systems. Therefore, in order to manage inventory information, a merchant must purchase a complete set of equipment, that is, from server to POS terminal, both must be purchased and updated together, so the cost of acquisition or updating is relatively high, which makes it more difficult for small businesses to adopt. In addition, street vendors are unable to install a complete POS system due to site and surrounding constraints. Therefore, street vendors often fail to manage their inventory data accurately.

SUMMARY OF THE DISCLOSURE

The present disclosure provides methods of managing and querying product inventory data and an inventory management server.

In an exemplary embodiment, a method of managing product inventory data in accordance with the present disclosure is applicable to at least one electronic communication device and a server communicatively connected with the at least one electronic communication device, wherein each of the at least one electronic communication device comprises a camera, the method comprising: capturing, by the camera, an image of a product to obtain product image data; performing image recognition on the product image data to obtain at least one image characteristic and retrieving at least one product information of the product based on at least one of the at least one image characteristic; and creating or updating a product inventory data for the product in the server based on the at least one product information.

In an exemplary embodiment, an inventory management server in accordance with the present disclosure is communicatively connected with at least one electronic communication device, wherein each of the at least one electronic communication device comprises a camera configured for obtaining product image data of a product, the inventory management server comprising: a communication module, configured to exchange data with the at least one electronic communication device and receive the product image data; and an inventory management module, comprising a product information processing unit and an inventory editing unit configured to communicate with the product information processing unit, wherein the product information processing unit is configured to obtain at least one image characteristic based on the product image data and obtain at least one product information of the product based on the at least one image characteristic, wherein the inventory editing unit is configured to create or update a product inventory data of the product based on the at least one product information.

In another exemplary embodiment, a method of querying product inventory in accordance with the present disclosure is applicable to at least one electronic communication device and a server communicatively connected with the at least one electronic communication device, wherein each of the at least one electronic communication device comprises a camera and the server comprises at least one store inventory database, the method comprising: capturing, by the camera, an image of a product to obtain product image data; receiving, by the server, the product image data from the electronic communication device; comparing the product image data received from the electronic communication device with a plurality of product inventory data in the at least one store inventory database to select at least one of the plurality of product inventory data from the at least one store inventory database; and transmitting the product inventory data selected from the at least one store inventory database to the electronic communication device.

In another exemplary embodiment, an inventory management server in accordance with the present disclosure is communicatively connected with at least one electronic communication device communicatively, wherein each electronic communication device comprises a camera configured for capturing an image of a product to obtain product image data, the inventory management server comprising: a communication module, configured to exchange data with the at least one electronic communication device and receive the product image data; and an inventory management module, configured to compare the product image data received from the electronic communication device with a plurality of product inventory data to select at least one of the plurality of product inventory data, wherein the communication module is further configured to transmit the at least one product inventory data selected from the at least one store inventory database to the electronic communication device.

Based on the above, the product inventory data establishing and query methods and an inventory management server proposed by the embodiments of the present disclosure are capable of establishing and inquiring product inventory data based on an acquired product image data of a product, thereby increasing inventory management efficiency and reducing management cost.

The above features and advantages of the present disclosure can be more fully understood by reading the following embodiments in conjunction with the attached drawings.

DETAILED DESCRIPTION OF THE EMBODIMENTS

Throughout the descriptions and drawings of this specification, similar or identical numerals are used to refer to similar or the same elements/components/steps. Descriptions on elements/components/steps designated by the same numerals or using the same terms in different embodiments can be interchangeably referred to.

FIG. 1is a block diagram depicting an electronic communication device1and an inventory management server2in accordance with an embodiment of the present disclosure. The electronic communication device1includes a display11, a camera12for capturing images, a storage13for storing data, a communication module14for transmitting/receiving data, and a computational processor15in signal communication with the display11, the camera12, the communication module14and the storage13. The computational processor15may perform computations to drive the camera12to capture images, drive the communication module14to transmit or receive data, and drive the display11to display an image. In an embodiment, the electronic communication device1is a handheld mobile device, a tablet PC, a notebook computer, a desktop computer, or an intellectual point of sale (iPOS). In another embodiment, the display11is a display with a touch screen.

The electronic communication device1can be communicatively connected with the inventory management server2via the communication module14. The inventory management server2can be communicatively connected to a cloud recognition system3. The inventory management server2includes a communication module21for transmitting or receiving data, an inventory management module22, a barcode identification module23, an authority management module24, a candidate generating module25, a characteristic database26, and at least one store inventory database27. The inventory management module22includes a product information processing unit221, an inventory editing unit222in signal communication with the product information processing unit221, and an inventory query unit223in signal communication with the product information processing unit221. The store inventory database27stores at least one product inventory data entry. The store inventory database27further includes an on-site store database271corresponding to the electronic communication device1and at least one other-store database272not corresponding to the electronic communication device1. The on-site store database271and the other-store database272are used for storing product inventory data of their respective stores.

Referring further toFIG. 2, a flowchart illustrating a method of managing product inventory data in accordance with the present disclosure is shown. The method of managing product inventory data allows a merchant to connect to the inventory management server2using the electronic communication device1for establishing or editing inventory data. The method of managing product inventory data is described below. Step S1is performed, in which the camera12of the electronic communication device1captures the image of a product to obtain product image data of the respective product. After product image data is obtained, step S2is carried out so as to perform image recognition on the product image data to obtain at least one image characteristic, and retrieve at least one product information of the respective product based on at least one of the at least one image characteristic. In step S2, the process of image recognition can be performed by the inventory management server2or another cloud service platform. Next, step S3is performed, in which the inventory editing unit222of the inventory management module22is configured to create or update a product inventory data for the product based on the at least one product information.

Refer toFIGS. 1 and 3, whereFIG. 3is a flowchart illustrating a method for establishing product inventory data in accordance with another embodiment of the present disclosure. The steps of the method are described as follows. Step S11is performed, in which the camera12of the electronic communication device1captures the image of a product to acquire product image data of the respective product, and the communication module14of the electronic communication device1transmits the product image data to the inventory management server2.

Once the communication module21of the inventory management server2has received the product image data, step S21is performed, in which the product information processing unit221of the inventory management module22is configured to perform image recognition on the product image data in order to acquire at least one characteristic block. The product information processing unit221is further configured to compare the at least one characteristic block with the characteristic database26to retrieve at least one image characteristic of the respective product. Then, step S25is performed, in which at least one product information of the respective product is obtained based on the at least one image characteristic. Thereafter, step S3is performed, in which the inventory editing unit222of the inventory management module22is configured to create or update a product inventory data of the product based on the at least one product information. The characteristic block is an image block having a key characteristic, and the image characteristic can be a text description explaining or describing the characteristic block. A cookie product is used as an example for this embodiment. The characteristic block acquired may be an image block containing the logo on the package, a cookie product sketch, or a product description such as text regions of “sandwich cookies,” “cheese flavor,” etc. The image block is compared against data in the characteristic database to obtain an image characteristic, i.e. to obtain the brand name, text descriptions such as “sandwich cookies,” “cheese flavor,” or the like, which is used as the product information of the product.

Referring toFIGS. 1 and 4, in another embodiment, after the communication module21of the inventory management server2receives the product image data, step S22is performed, in which the product information processing unit221of the inventory management module22is configured to transmit the product image data to the cloud recognition system3via the communication module21, and receive at least one image characteristic transmitted by the cloud recognition system3via the communication module21. The cloud recognition system3in this embodiment performs image recognition based on the product image data received and returns an image recognition result back to the inventory management server2. The cloud recognition system3can be a cloud recognition system with machine learning models and Internet image searching capability, for example, Google Cloud Vision, Microsoft Computer Vision, etc. An application programming interface (API) can be connected with the cloud recognition system to assist in recognition and analysis of the image contents.

After the at least one image characteristic is received, step S23is performed, in which product information processing unit221is configured to obtain at least one product information based on the at least one image characteristic. Then, step S3is performed, in which the inventory editing unit222of the inventory management module22is configured to create or update a product inventory data of the product based on the at least one product information.

Referring toFIGS. 1 and 5, in another embodiment, after the inventory management server2obtains the product information corresponding to the product image information, step S31is performed, in which based on the store to which the electronic communication device1corresponds, the inventory editing unit222creates or updates a product inventory data of the product in the on-site store database271of the respective store. It should be noted that each product inventory data in the present disclosure includes a plurality of data fields containing information on product characteristics. Items included may be product number, product barcode information, product image, product name, product quantity, product color or type, etc. There may be different items or combinations of items depending on the types of products. As an example, the data fields of food products may include product flavor, storage period, manufacturing date, etc. As another example, the data fields of clothing products may include style, color, size, etc. The purpose of the data fields is to distinguish the differences and features between different products. The merchant can also adjust the items and contents of the data fields according to the specific types and requirements of the merchandise.

Referring toFIGS. 1 and 6, in another embodiment, after the inventory management server2obtains the product information corresponding to the product image information, step S41is performed, in which the candidate generating module25is configured to generate a selectable product candidate list based on the product information and the store inventory database27and transmits it to the electronic communication device1via the communication module21. The product candidate list includes at least one product inventory data entry. Once the electronic communication device1receives the product candidate list from the inventory management server2, the product candidate list is displayed by the display11to be browsed and selected by a user.

Next, step S412is performed to determine whether the user has selected any product inventory data in the product candidate list. When the user has selected a product inventory data of a corresponding product, step S42is performed, in which the electronic communication device1returns the product inventory data selected in the product candidate list to the inventory management server2. Once the inventory management server2receives the selected product inventory data, step S43is performed, in which the inventory editing unit222updates the selected product inventory data in the store inventory database27based on the at least one product information. In other words, the at least one product information and the product image data are saved in the corresponding data fields of the product inventory data.

When the user has not selected any product inventory data in the product candidate list, step S44is performed, where the inventory editing unit222creates a product inventory data of the product corresponding to the at least one product information in one of a plurality of groups of products in the store inventory database27based on the product information, and stores the product image data in the product inventory data. The groups of products correspond to respective product categories. The inventory editing unit selects one of the product groups based on the product information to create the product inventory data. The inventory management server2in this embodiment provides the product inventory data of the product or similar to the product based on the product information for selection by the user.

Referring toFIGS. 1 and 7, in another embodiment, after the product information processing unit221obtains the product image data, step S24is performed to perform image recognition on the product image data to obtain at least one image characteristic. After the product information processing unit221obtains the image characteristic, step S51is performed, in which the product information processing unit221provides a candidate characteristic list for selecting based on the obtained image characteristic, and transmits the candidate characteristic list to the electronic communication device1via the communication module21. The candidate characteristic list comprises the at least one image characteristic. After the electronic communication device1receives the candidate characteristic list and displays it on the display11, step S52is performed, in which a user selects an image characteristic from the candidate characteristic list, and the electronic communication device1returns the image characteristic selected back to the inventory management server2. After the product information processing unit221receives the image characteristic selected via the communication module21, step S53is performed, in which the product information processing unit221sets the image characteristic selected as the product information of the product. Thereafter, step S3is performed, in which the inventory editing unit222is configured to create or update a product inventory data of the product corresponding to the at least one product information based on the product information.

In another embodiment, referring toFIGS. 1, 8A and 8B, after the product information processing unit221obtains the image characteristic, step S61is performed, in which the barcode identification module23is configured to determine whether the product image data contains a barcode based on the image characteristic. When it is determined that the product image data does not contain a barcode, step S23is performed, in which at least one product information corresponding to the product is obtained based on the at least one image characteristic. Then, step S3is performed, in which the inventory editing unit222is configured to create or update a product inventory data of the product corresponding to the at least one product information based on the at least one product information. In other words, in this embodiment, when the product image data includes a barcode, a product is identified by the barcode, so that a product inventory data can be created or updated.

When it is determined that the product image data includes a barcode, step S621is performed, in which the barcode identification module23decodes the barcode based on the product image data, and connects to a local product barcode database29to look up a product information based on the decoded result. The inventory editing unit222connects to the local product barcode database29based on the barcode decoded result, and finds the corresponding product information based on the decoded result. Then, step S622is performed, in which the inventory editing unit222determines whether there is at least one product information corresponding to the barcode decoded result in the local product barcode database29. If at least one product information corresponding to the barcode decoded result exists in the local product barcode database29, step S623is performed, in which the inventory editing unit222creates or updates a product inventory data corresponding to the product barcode based on the at least one product information corresponding to the barcode decoded result. On the contrary, if at least one product information corresponding to the barcode decoded result does not exist in the local product barcode database29, step S624is performed to connect to an external product barcode database4to look up a product information corresponding to the barcode based on the barcode decoded result in the external product barcode database4, and then step S625is performed to determine whether there is at least one product information corresponding to the barcode decoded result. If at least one product information corresponding to the barcode decoded result exists in the external product barcode database4, step S626is performed, in which the inventory management module22establishes a product inventory data corresponding to the product barcode based on the product information returned by the external product barcode database4. If at least one product information corresponding to the barcode decoded result does not exist in the external product barcode database4, step S23and S3are repeated.

It should be noted that the local product barcode database29and the external product barcode database4store barcode information and product information of products corresponding to barcodes. Therefore, when a product has a barcode, corresponding product information can be obtained from the local product barcode database29and the external product barcode database4based on the barcode information.

Referring toFIGS. 1 and 9, whereinFIG. 9is a flowchart illustrating a method of querying product inventory in accordance with an embodiment of the present disclosure. The product inventory data query method is provided to allow the merchant to connect to the inventory management server2via the electronic communication device1in order to lookup product inventory data in the store inventory database27. The steps of the product inventory data query method are described below. First, step S12is performed, in which the camera12of the electronic communication device1captures the image of a product to be queried, and generates product image data corresponding to the queried product. Then, step S13is performed, in which the communication module14of the electronic communication device1transmits the product image data to the inventory management server2.

After the communication module21of the inventory management server2receives the product image data, step S7is performed, wherein the inventory management module22of the inventory management server2is configured to perform a compare and select process. The compare and select process compares the product image data received from the electronic communication device with several product inventory data entries in the at least one store inventory database27and select at least one of the product inventory data from the at least one store inventory database. Then, step S8is performed, in which the communication module21of the inventory management server2further transmits the selected at least one product inventory data to the electronic communication device1.

Referring toFIGS. 1, 9 and 10, whereinFIG. 10is a flowchart illustrating another embodiment of the compare and select process described in step S7. Steps of the compare and select process in this embodiment are described as follows. First, step S71is performed, in which the product information processing unit221of the inventory management module22is configured to perform image recognition on the product image data to extract at least one characteristic block. After the at least one characteristic block is obtained, step S72is performed, in which the product information processing unit221is configured to compare the at least one characteristic block with the characteristic database26to obtain at least one image characteristic corresponding to the queried product. Then, step S98is performed, in which the product information processing unit221is configured to obtain at least one product information based on at least one of the at least one image characteristic. Then, step S73is performed, in which the inventory query unit223of the inventory management module22is configured to compare the at least one product information with those product inventory data in the at least one store inventory database27to select at least one of those product inventory data from the at least one store inventory database.

Referring toFIGS. 1, 9 and 11, whereinFIG. 11is a flowchart illustrating another embodiment of the compare and select process described in step S7. Steps of the compare and select process in this embodiment are described as follows. First, step S74is performed, in which the inventory management module22is configured to transmit the received product image data to the cloud recognition system3via the communication module21of the inventory management server2, and then at least one image characteristic transmitted from the cloud recognition system3is received via the communication module21of the inventory management server2. Then, step S75is performed, in which the product information processing unit221of the inventory management module22is configured to obtain at least one product information based on the at least one image characteristic. After product information is obtained, step S73is performed, in which the inventory query unit223of the inventory management module22is configured to compare the at least one product information with those product inventory data in the at least one store inventory database27to select at least one of the product inventory data from the at least one store inventory database. The cloud recognition system3in this embodiment performs image recognition based on the received product image data, and returns the recognition result back to the inventory management server2. The cloud recognition system3can be a cloud recognition system with machine learning models and Internet image searching capability, for example, Google Cloud Vision, Microsoft Computer Vision, etc. An application programming interface (API) can be connected with the cloud recognition system to assist in image recognition and analysis.

Referring toFIGS. 1, 9 and 12, whereinFIG. 12is a flowchart illustrating another embodiment of the compare and select process described in step S7. Steps of the compare and select process in this embodiment are described as follows. First, step S70is performed, in which the inventory management module22obtains at least one image characteristic corresponding to the product image data. After the inventory management server2obtains the image characteristic corresponding to the product image data, step S76is performed, in which the barcode identification module23of the inventory management server2is configured to determine whether the product image data contains a barcode based on the image characteristic. When the product image data contains a barcode, step S77is performed, in which the barcode identification module23performs barcode decoding based on the product image data. After decoding, step S78is performed, in which the inventory query unit223of the inventory management module22selects a product inventory data corresponding to the barcode from the at least one store inventory database27based on the decoded result of the barcode identification module23.

On the contrary, when it is determined that the product image data contains no barcode, step S79is performed, in which the product information processing unit221of the inventory management module22is configured to obtain at least one product information based on the at least one image characteristic. After the product information is obtained, step S73is performed, in which the inventory query unit223of the inventory management module22is configured to compare the at least one product information with those product inventory data in the at least one store inventory database27to select at least one of the product inventory data from the at least one store inventory database. It should be noted that the means for obtaining an image characteristic in step S70of this embodiment may be similar to those described in step S71of the embodiment described in connection withFIG. 10or step S74of the embodiment described in connection withFIG. 11.

Referring toFIGS. 1, 9 and 13, whereinFIG. 13is a flowchart illustrating another embodiment of the compare and select process described in step S7. Steps of the compare and select process in this embodiment are described as follows. After the inventory management module22has obtained the at least one product information or the decoded result of the barcode identification module23, step S91is performed, in which the inventory query unit223of the inventory management module22is configured to make a comparison in the product inventory data in the on-site store database271based on the at least one product information or the decoded result of the barcode identification module23, and step S912is performed to determine whether a product inventory data corresponding to the at least one product information or the decoded result of the barcode identification module23exists. The on-site store database271stores inventory data of a merchant to which the electronic communication device1corresponds, while the other-store database272stores inventory data of other merchants.

When a product inventory data corresponding to the at least one product information or the decoded result of the barcode identification module23exists in the on-site store database271, step S92is performed, in which the inventory query unit223is configured to select the product inventory data that corresponds to the at least one product information or the decoded result of the barcode identification module23from the on-site store database271. On the contrary, if a product inventory data corresponding to the at least one product information or the decoded result of the barcode identification module23does not exist in the on-site store database271, step S93is performed, in which the authority management module24of the inventory management server2is configured to determine whether the electronic communication device1has been authorized to query at least one other-store database272based on an authority database28. When the authority management module24determines that the electronic communication device1is authorized to query the at least one other-store database272, step S94is performed, in which the inventory query unit223of the inventory management module22is configured to make a comparison in product inventory data in the at least one other-store database272based on the at least one product information or the decoded result of the barcode identification module23, and selects a product inventory data that corresponds to the at least one product information or the decoded result of the barcode identification module23from the other-store database272. When the authority management module24determines that the electronic communication device1is not authorized to query the at least one other-store database272, step S95is performed to return a “no inventory data” message to the electronic communication device1. In other embodiments, a “no authority to query other stores” message can also be returned back to the electronic communication device1.

Referring toFIGS. 1, 9 and 14, whereinFIG. 14is a flowchart illustrating another embodiment of the compare and select process described in step S7. Steps of the compare and select process in this embodiment are described as follows. First, step S96is performed, in which the product information processing unit221of the inventory management module22is configured to calculate a degree of similarity between the received product image data and the product image data of each product inventory data. Next, step S97is performed, in which the inventory query unit223of the inventory management module22selects, from the product inventory data, a product inventory data with the highest similarity or a product inventory data with a similarity greater than a threshold.

The above embodiments are only used to illustrate the principles of the present disclosure, and should not be construed as to limit the present disclosure in any way. The above embodiments can be modified by those with ordinary skill in the art without departing from the scope of the present disclosure as defined in the following appended claims.