1. Technical Field
The disclosure relates to an information querying method based on user location, a device to device (D2D) relay gateway system and a controller.
2. Description of Related Art
Generally, in order to publicize merchandise, products or company, the stores usually install print media advertising, such as billboards or signboards popularly set up in public places, for attracting people's attention. For instance, the store name displayed by text and the brand logo displayed by symbol are showed on the signboards of the stores. However, interaction with customers is lacked by using the print media advertising, since the customers merely obtain the brief information about the stores through information propagation with single direction. Hence, the customers are not able to understand the detail information about the stores (such as a brand story of the products, a promotion held by the stores and so on) by seeing the print media advertising.
On the other hand, with development of science and technology, photographing function is normally seeing on a handheld electronic device. Through the photographing function, the customers may control the handheld electronic device to supply different assistance by using the handheld electronic device to capture a photo. For instance, the handheld electronic device may upload the photo to a computing platform via wireless transmission for image recognition, such that the customers may obtain the related service form the service supplier according to an image recognition result of the uploaded photo. In one application scenario, through shooting the signboards of the stores and performing image recognition on the photo, the customers may receive the detail information of the stores or the products via the handheld electronic device. However, since the customers may photograph the signboards of the stores from plenty of different shooting angles or in varied environmental conditions, a huge amount of data transmission and high computing load are inevitable to achieve high accuracy of image recognition. Therefore, the customers may waste a lot of time for waiting the image recognition result.
Accordingly, the present disclosure provides an information querying method based on user location, a device to device (D2D) relay gateway system and a controller, which build and query an image database according to location of a user, so as to upgrade processing efficiency of inquiring information by using image recognition.
The present disclosure provides an information querying method based on user location, which is adapted to a device to device relay gateway system comprising a plurality of serving gateways and configured to recognize a target object based on a query image. The information querying method includes following steps. The query image is received via a login gateway among the serving gateways. At least one of query description of the query image is generated. At least one first candidate object is sifted from a plurality of candidate objects according to a location of the login gateway and locations of candidate objects, wherein a plurality of candidate descriptions of each of the candidate objects are recorded in a database. The at least one query description of the query image is compared with the candidate descriptions of the at least one first candidate object, so as to obtain the target object from the candidate objects according to similarity level between the at least one query description and the candidate descriptions of the at least one first candidate object.
The present disclosure provides a device to device (D2D) relay gateway system, which comprises a plurality of serving gateways and a controller and configured to recognize a target object based on a query image. The serving gateways are connected with each other to form a network topology based on a wireless communication protocol, and the serving gateways respectively storing a database. The controller is connected to a central gateway among the serving gateways. The controller receives the query image via a login gateway among the serving gateways, and generates at least one query description of the query image. The login gateway sifts at least one first candidate object from a plurality of candidate objects according to a location of the login gateway and locations of candidate objects, wherein a plurality of candidate descriptions of each of the candidate objects are recorded in a database. The serving gateways compare the at least one query description of the query image with the candidate descriptions of the at least one first candidate object, so as to obtain the target object from the candidate objects according to similarity level between the at least one query description and the candidate descriptions of the at least one first candidate object.
The present disclosure provides a controller, which is configured in a D2D relay gateway system comprising a plurality of serving gateways and is connected to a central gateway among the serving gateways. The controller comprises a storage unit and a processing unit. The storage unit stores a plurality of instructions, and the processing unit is connected to the storage unit. The processing unit accesses and executes the instructions to: receive a query image via a login gateway among the serving gateways, and generate at least one query description of the query image; and group the at least one query description into a plurality of query groups according to a hop count between each of the serving gateways and the central gateway, such that one of the serving gateways compares one of the query groups with the candidate descriptions of the first candidate object.
Based on the above, according to the information querying method based on user location, the D2D relay gateway system and the controller proposed by the present disclosure, the first candidate object is sifted from the first candidate objects based on the location of the user, then the candidate descriptions of the first candidate object is compared with the query description of the query image. Besides, computing loading of image recognition is allocated to the plurality of serving gateways based on the hop count between each of the serving gateways and the central gateway connected to a computing center, such that transmission delay caused by data transmission may be reduced.
To make the above features and advantages of the present disclosure more comprehensible, several embodiments accompanied with drawings are described in detail as follows.
The accompanying drawings are included to provide a further understanding of the disclosure, and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments of the disclosure and, together with the description, serve to explain the principles of the disclosure.
In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the disclosed embodiments. It will be apparent, however, that one or more embodiments may be practiced without these specific details. In other instances, well-known structures and devices are schematically shown in order to simplify the drawing.
In the disclosure, a device to device (D2D) relay gateway system is configured to recognize a target object based on a query image. The query image is photograph by a user through a user equipment, and text or logos showed on the query image are going to be recognized to identify a target object represented by the text or the logos.
The serving gateways 101 to 109 are suitable for being disposed in an indoor or an outdoor space, such as a department store, a shopping mall, a exhibition center, an outdoor market, etc. As long as the distance between two serving gateways among the serving gateways 101 to 109 close enough, the two serving gateways may connect with each other base on the wireless communication protocol. Specifically to say, each of the serving gateways 101 to 109 may perform proximity discovery to discover the other serving gateways nearby and then establish D2D connection. Such that, the serving gateways 101 to 109 may form a network topology according to locations of the serving gateways 101 to 109. As one example, the serving gateways 106 may directly communicate with the serving gateways 103, 102, 105, 108, 109 and indirectly communicate with the serving gateways 101, 104, 107 through the serving gateways 103, 102, 105, 108, 109. As another one example, the serving gateways 107 may directly communicate with the serving gateways 104, 108 and indirectly communicate with the serving gateways 101, 102, 103, 105, 106, 109 through the serving gateways 104, 108.
In the disclosure, the serving gateway connected to the controller 230 is regarded as a central gateway. In
Furthermore, the serving gateways 101 to 109 may be regarded as an access point for supplying network accessing function to user equipments located within the service range of the serving gateways 101 to 109. As one example, the user equipment 220 may use the computing ability of the controller 230 by accessing the network via the serving gateway 107. In the disclosure, the user equipment 220 may transmit the query image to the controller 230 via the serving gateway 107 and receive the query result from the serving gateway 107. Besides, the user equipment 210 may transmit the query image to the controller 230 via the serving gateway 104 and receive the query result from the serving gateway 104. In other words, the user equipment 220 may login the D2D relay gateway system 10 through the serving gateway 107, which is regarded as a login gateway for the user equipment 220.
As one example, assuming the serving gateways 101 to 109 are installed in a shopping mall, if the customers attend to query more information about a target store in the shopping mall, the customers may photograph the signboard of the target store to obtain the query image. The customers may login the D2D relay gateway system 10 via the login gateway 107 by using the user equipment 211, then the user equipment 211 upload the query image itself or the image descriptions of the query image to the D2D relay gateway system 10. The serving gateways 101 to 109 may query the database by using the query image, so as to recognize the target store from a plurality of candidate stores based on the query image. That is, the target store is regarded as the target object, and the candidate stores are regarded as the candidate object in this case. Once the target store is recognized, the user equipment 211 is able to display more information about the target store to the customers via connecting to the website related to the target store. Therefore, a database configured for recognizing the query image is created in advance, and each of the serving gateways 110 to 117 may store the database to compare the query image with a plurality of reference images photographed in advance.
However, the number of the serving gateways and the pattern of the topology are not limited in the disclosure. For example,
Referring to
The processing unit 231 can be a processor for general purposes, a processor for special purposes, a conventional processor, a data signal processor, a plurality of microprocessors, one or more microprocessors, controllers, microcontrollers and Application Specific Integrated Circuit (ASIC) which are combined with a core of the digital signal processor, a Field Programmable Gate Array (FPGA), any other integrated circuits, a state machine, a processor based on Advanced RISC Machine (ARM) and similar products.
In the other hand, as one example, the serving gateway 105 includes a processing unit 1051, a storage unit 1052 and a wireless connection element 1503. The processing unit 1051 can be a processor for general purposes, a processor for special purposes, a conventional processor, a data signal processor, a plurality of microprocessors, one or more microprocessors, controllers, microcontrollers and Application Specific Integrated Circuit (ASIC) which are combined with a core of the digital signal processor, a Field Programmable Gate Array (FPGA), any other integrated circuits, a state machine, a processor based on Advanced RISC Machine (ARM) and similar products. The storage unit 1052 is, for example, a memory, a hard disk or other devices capable of storing or accessing data, and may be configured to record a plurality of program codes or modules, and data. It should be noted that, the storage unit 1052 stores a database 1052a, which is able to be accessed by the processing unit 1051 and includes a plurality of candidate descriptions of the reference images. Besides, the wireless communication element 1503 supports a wireless communication protocol to establish D2D connection L1 with the serving gateway 108. As one example, the wireless communication element 1503 includes an antenna and a transceiver to transceiver wireless signal.
Referring to
In step S310, the controller 230 builds a database by using a plurality of reference images of a plurality of candidate objects. In this embodiment, step S310 can be further divided into sub-step S311 to sub-step S313. In step S311, the controller 230 may obtain the reference images of a plurality of candidate objects. In detail, each of the candidate objects may be photographed from different shooting angles or in different environment conditions (such as intensity of ambient light, etc.), and at least one reference image related to each of the candidate objects may be captured. Further, each of the reference images may be indexed to have an image index. In step S312, the controller 230 may generate a plurality of candidate descriptions of each of the candidate objects by performing image feature extraction on the reference images. For instance, through using an image feature capturing algorithm and an image representation algorithm, the controller 230 may capture features from the reference images and convert the captured features into a plurality of descriptions, which may be a series of numbers. The image representation algorithm is, for example, an Invariant Zernike Moment algorithm, but the disclosure is not limited thereto. That is, the candidate descriptions of each of the reference images of each of the candidate objects are generated in advance for building up the database.
Therefore, in step S313, the controller 230 may build up the database by recording and sorting the candidate descriptions. In step S320, the controller 230 may set up association between the candidate objects and the serving gateways 101 to 109 according to the locations of the candidate objects and serving range of the serving gateways 101 to 109. Specifically, the controller 230 may check the location of each of the candidate objects and the location of each of the serving gateways 101 to 109. In the disclosure, one of the candidate objects is associated with one of the serving gateways 101 to 109, if the location of the one of the candidate objects locates within the serving range of the one of the serving gateways 101 to 109. In one embodiment, a location oriented table may be generated for recoding the association between the candidate objects and the serving gateways 101 to 109. However, the forgoing description takes the controller 230 building the database as example, but the disclosure is not limited thereto. In one embodiment, another computing apparatus may perform the step S310 (including step S311 to step S313) to the step S320 to build up the database, and the database then can be stored into the serving gateway 101 to 109 via other data transmission interface.
Referring to
In step S410, the controller 230 may receive a query image via a login gateway 107 among a plurality of serving gateways 101 to 109. In step S420, the controller 230 may generate at least one query description of the query image. In the embodiment, the login gateway 107 receives login information and the query image from a user equipment 211 and transmits the query image to the controller 230 via the serving gateway 104 or the serving gateway 108.
According to the login location of the user equipment 211, it is highly possible that one of the candidate objects associated with the login gateway 107 is the target object that the user attend to query. Hence, in step S430, at least one of the serving gateways 101 to 109 (for example, login gateway 107) may sift at least one first candidate object from the candidate objects according to a location of the login gateway 107 and locations of the candidate objects.
In step S440, at least one of the serving gateways 101 to 109 compares the at least one query description of the query image with the candidate descriptions of the at least one first candidate object, so as to obtain the target object from the candidate objects according to similarity level between the at least one query description and the candidate descriptions of the at least one first candidate object.
In should be noted that, since the association between the serving gateways 101 to 109 and the candidate objects is able to be obtained, the candidate objects within the service range of the login gateway 107 are also marked by the login gateway 107. In one embodiment, the database may be divided into a plurality of sub-databases according to the category of the candidate objects. That is, each of the sub-databases is corresponding to one of the candidate objects for respectively recording the candidate descriptions of each of the candidate objects, and the candidate descriptions of each of the candidate objects are indexed to correspond to a specific description index. Each of the serving gateways 101 to 109 determine attributes of the sub-databases of the database as tagged or non-tagged according to the locations of the candidate objects and the serving range of the serving gateways 101 to 109.
For example, referring to
As one example, according to the locations of the candidate objects ‘Store A’, ‘Store B’, ‘Store C’ and ‘Store D’ and the serving range of the serving gateways 101, the serving gateways 101 may determine the attribute of the sub-databases corresponding to ‘Store A’ and ‘Store B’ of the databases dl as tagged and determine the attribute of the sub-databases corresponding to ‘Store C’ and ‘Store D’ of the databases dl as non-tagged. Similarly, according to the locations of the candidate objects ‘ Store A’, ‘Store B’, ‘Store C’ and ‘Store D’ and the serving range of the login gateway 107, the login gateway 107 may determine the attribute of the sub-databases corresponding to ‘Store A’ and ‘Store D’ of the databases dl as tagged and determine the attribute of the sub-databases corresponding to ‘Store B’ and ‘Store C’ of the databases dl as non-tagged. Hence, in one of the embodiments shown in
Further, in another one of the embodiments shown in
In one embodiment, a location oriented table records the association between each of the serving gateways 101 to 109 and the candidate objects. The location oriented table is established by the controller 230. Specifically, the controller 230 may establish the location oriented table according to the locations of the candidate objects and the serving range of the serving gateways 101 to 109. In other embodiments, the location oriented table may be established in advance and then de stored in each of the serving gateways 101 to 109. Hence, the serving gateways 101 to 109 may inquire the location oriented table by using a gateway index of the login gateway 107, so as to recognize the at least one first candidate based on the location oriented table. Further, the serving gateways 101 to 109 may store the whole location oriented table or the serving gateways 101 to 109 may store part of the location oriented table, the disclosure is not limited thereto.
Except for determining at least one first candidate objects from all candidate objects based on the login gateway for image comparing, the information query method of the disclosure may allocate the query descriptions of the query image for different serving gateways, such that the different serving gateways may by responsible for comparing the different part of the query descriptions with the candidate descriptions of the first candidate objects.
Referring to
In step S601, the controller 230 may receive a query image via a login gateway 107 among a plurality of serving gateways 101 to 109. In step S602, the controller 230 may generate at least one query description of the query image. In step S603, the serving gateways 101 to 109 may sift at least one first candidate object from a plurality of candidate objects according to a location of the login gateway 107 and locations of the candidate objects. Since step S601 to step S603 are respectively similarly with step S410 to step S430, the details of step S601 to step S603 are not introduced here again. In step S604, the controller 230 may group the at least one query description into a plurality of query groups according to a hop count between each of the serving gateways 101 to 109 and the central gateway 105, such that one of the serving gateways 101 to 109 may compare one of the query groups with the candidate descriptions of the first candidate object.
The hop count between each of the serving gateways 101 to 109 and the central gateway 105 may be determined by the architecture of the D2D relay gateway system. For example, in
Specifically, the controller 230 may allocate query data size of each of the query groups gd1 to gd9 for the serving gateways 101 to 109, and each of the query groups gd1 to gd9 is assigned to one of the serving gateways 101 to 109 respectively. For example, the query group gd1 is assigned to the serving gateways 101, the query group gd7 is assigned to the login gateways 107, and the query group gd5 is assigned to the central gateways 105. Hence, the controller 230 may transmit part of the at least one query description in the one of the query groups gd1 to gd9 to the one of the serving gateways 101 to 109.
It should be noted that, the query data size allocated to the one of the serving gateways 101 to 109 decreases along with increase of the hop count of the one of the serving gateways 101 to 109. For example, since the hop count of the central gateway 105 is 0, the query data size of the query group gd5 is more than other query groups 101-104 and 106-109. Since the hop count of the serving gateway 104 is less than the serving gateway 101, the query data size of the query group gd4 is more than the query data size of the query group gd1.
Therefore, comparing with the transmission delay of transmitting the whole query descriptions to each of the serving gateways, the transmission delay for transmitting the query descriptions from the central gateway 105 may be reduced. In step S605, the controller 230 or one of the serving gateways 101 to 109 may collect the comparing result between each of the query groups gd1 to gd9 and the candidate descriptions of the at least one first candidate object, so as to obtain the target object from the candidate objects according to similarity level between the at least one query description and the candidate descriptions of the at least one first candidate object.
In one embodiment, the query data size being responsible by an ith serving gateway among the serving gateways is represented by formula (1)
wherein g is the number of the serving gateways, N is data amount of the at least one query description, hi is the hop count between the central gateway and the ith serving gateway, and li is a loading factor of the ith serving gateway.
Referring to
The controller may transmit the query package P1 to the serving gateway indexed by 1. Hence, the serving gateway indexed by 1 may inquire the location oriented table T1 by using the gateway index of the login gateway, which is the serving gateway indexed by 1. The field 801 of the location oriented table T1 records gateway indexes of the serving gateways, and the field 802 of the location oriented table T1 may record the candidate objects. It should be noted based on the location oriented table T1, the candidate objects ‘Store A’ and ‘Store B’ are located within the service range of the serving gateways indexed by 1; the candidate object ‘Store B’ is located within the service range of the serving gateways indexed by 2; the candidate objects ‘Store B’ and ‘Store C’ are located within the service range of the serving gateways indexed by 3; and the candidate object ‘Store A’ is located within the service range of the serving gateways indexed by 4.
Hence, when the serving gateway indexed by 1 inquires the location oriented table T1 by using the gateway index ‘1’, the first candidate objects ‘Store A’ and ‘Store B’ are shifted for all the candidate objects. The serving gateway indexed by 1 than may compare the query descriptions P12 of the query image with the candidate descriptions 841 of the first candidate objects ‘Store A’ and ‘Store B’. On the other words, only the sub-database S1 and S2 may be used by the serving gateway indexed by 1. On the contrary, the candidate descriptions 842 of the second candidate objects ‘Store C’ and ‘Store D’ are labelled as ‘0’ in the field 803, and the sub-database S3 and S4 may not be used by the serving gateway indexed by 1. In this case, the values of the field 803 may be set up according to the location oriented table T1, but the disclosure is not limited thereto. In one embodiment, the values of the field 803 may be set up in advance according to the locations of the serving gateways and the locations of the candidate objects.
Referring to
In the case shown in
In one embodiment, each of the serving gateways may compare part of the candidate descriptions of the at least one first candidate object with the at least one query description according to a loading status of the serving gateways. The loading status comprises a gateway connect loading of the serving gateways, a CPU loading of the serving gateways, an average transmission delay of the serving gateways or an average computer delay of the serving gateways.
Referring to
Base on above, it may be known that, the serving gateways may query the database based on the location of the login gateway. If the user equipment takes a photo at location A but the user equipment login the D2D relay gateway system at location B, the information query via the D2D relay gateway system may be failed. Hence, in one embodiment, if the target object is not queried, one of the serving gateways may re-compare the at least one query description with all the candidate descriptions of the candidate objects in the database, so as to obtain the proper query result. Besides, if the target object is not queried, one of the serving gateways may accumulate a failure time. If the failure time is greater than a threshold, one of the serving gateways may update association between the candidate objects and the login gateway in the location oriented table, or re-set up attribute of the sub-databases of the database of the serving gateways.
Specifically, the serving gateways may auto-modify the location oriented table by adding the association between the serving gateways and the candidate objects or by deleting the association between the serving gateways and the candidate objects. For example, table 1 shown below is the original location oriented table, and the table 1 is modified by revising the association between the serving gateway indexed by 3 and the candidate object ‘Store C’ to generate table 2, but the disclosure is not limited thereto.
In summary, according to the method proposed by the present disclosure, the processing time for image recognizing by comparing the massive data in data base with the query image may be decreased. Besides, computing loading of image recognition is allocated to the plurality of serving gateways, such that transmission delay caused by data transmission may be reduced.
It will be apparent to those skilled in the art that various modifications and variations can be made to the structure of the present invention without departing from the scope or spirit of the disclosure. In view of the foregoing, it is intended that the present disclosure cover modifications and variations of this disclosure provided they fall within the scope of the following claims and their equivalents.