Method and system for classifying a road based on an image

The method and system use image processing and deep learning to classify road accessibility in images, addressing inefficiencies and inaccuracies in existing technologies and providing accurate and efficient results for drivers.

WO2025023891A1PCT designated stage expired Publication Date: 2025-01-30GRABTAXI HOLDINGS PTE LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
PCT/SG2024/050472
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-07-26
Filing Date
2024-07-25
Publication Date
2025-01-30

AI Technical Summary

Technical Problem

Existing methods for classifying roads based on images are inefficient and produce inaccurate results, particularly for determining whether a road is accessible by a 2-wheeled or 4-wheeled vehicle.

Method used

A method and system that use image processing and deep learning to identify features associated with roads in images, generating classification results indicative of road accessibility by 2-wheeled or 4-wheeled vehicles.

Benefits of technology

The system provides accurate and efficient classification of road accessibility, reducing the time and effort required for drivers to find suitable roads for their vehicles.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure SG2024050472_30012025_PF_FP_ABST
    Figure SG2024050472_30012025_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure provides methods and systems for classifying a road based on an image. In some examples, there is provided a method comprising: identifying, by a processor, a feature associated with a road based on an appearance of the road in an image; and generating, by the processor, a classification result indicative of whether the road is accessible by a 2-wheeled vehicle based on the feature.
Need to check novelty before this filing date? Find Prior Art

Description

METHOD AND SYSTEM FOR CLASSIFYING A ROAD BASEDON AN IMAGEFIELD OF INVENTION[1] The present disclosure relates broadly, but not exclusively, to methods and systems for classifying a road based on an image.BACKGROUND[2] Delivery drivers for ride-hailing and delivery platforms often face the challenge of finding a suitable road that is accessible for a mode of transport. For example, a driver driving a 4-wheeled vehicle such as a car needs to know ahead of time if it is possible to pass through a road on a map. If this information is not available, the driver may employ a trial-and-error strategy in which it is possible to keep getting stuck and search for a different road until one in which a 4-wheeled vehicle can fit through is found, resulting in delays and decreased efficiency.[3] To address the above issues, providing delivery drivers with knowledge of whether a road is accessible by a 4-wheeled vehicle or a 2-wheeled vehicle can be helpful. However, while there have been attempted solutions such as classifying a road as a 2-wheeled or 4-wheeled vehicle road based on global positioning service (GPS) pings, or based on predicting a width of a road and comparing it with a threshold, such solutions are complicated and do not perform as expected, producing false positives and inaccurate results.[4] A need therefore exists to provide methods and systems that seek to overcome or at least minimize the above mentioned challenges.SUMMARY[5] According to a first aspect of the present disclosure, there is provided a method for classifying a road based on an image, comprising: identifying, by a processor, a feature associated with a road based on an appearance of the road in an image; andgenerating, by the processor, a classification result indicative of whether the road is accessible by a 2-wheeled vehicle based on the feature.[6] According to a second aspect of the present disclosure, there is provided a system for classifying a road based on an image, comprising: at least one processor; and at least one memory including computer program code; the at least one memory and the computer program code configured to, with the at least one processor, cause the system at least to: identify a feature associated with a road based on an appearance of the road in an image; and generate a classification result indicative of whether the road is accessible by a 2-wheeled vehicle based on the feature.BRIEF DESCRIPTION OF THE DRAWINGS[7] Embodiments and implementations are provided by way of example only, and will be better understood and readily apparent to one of ordinary skill in the art from the following written description, read in conjunction with the drawings, in which:[8] Fig. 1 illustrates a system for classifying a road based on an image according to various embodiments of the present disclosure.[9] Fig. 2 is a schematic diagram of a road server, according to various embodiments of the present disclosure.

[0010] Fig. 3 depicts exemplary images for classifying a road based on an image according to various embodiments of the present disclosure.

[0011] Fig. 4A depicts an exemplary illustration of images that are taken at a distance that is not within a threshold according to various embodiments of the present disclosure.

[0012] Fig. 4B depicts an exemplary illustration of images that are taken at a position that is in close proximity with an end of a road according to various embodiments of the present disclosure.

[0013] Fig. 4C depicts an exemplary illustration of a plurality of images that are taken at a same position according to various embodiments of the present disclosure.

[0014] Fig. 5 illustrates an example flow diagram for classifying a road based on an image according to various embodiments.

[0015] Fig. 6 is a schematic block diagram of a general purpose computer system upon which the road server of Fig. 2 can be practiced.

[0016] Fig. 7 is a schematic block diagram of a general purpose computer system upon which a combined transaction processing and road server of Fig. 1 can be practiced.

[0017] Fig. 8 shows an example of a computing device to realize the transaction processing server shown in Fig. 1.

[0018] Fig. 9 shows an example of a computing device to realize the road server shown in Fig. 1.

[0019] Fig. 10 shows an example of a computing device to realize a combined transaction processing and road server shown in Fig. 1.

[0020] Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been depicted to scale. For example, the dimensions of some of the elements in the illustrations, block diagrams or flowcharts may be exaggerated in respect to other elements to help to improve understanding of the present embodiments.DETAILED DESCRIPTIONTerms Description

[0021] A platform refers to a set of technologies that is used as a base for facilitating exchanges between two or more interdependent servers, entities and / or devices, for example between a requestor device (e.g., associated with a requestor of a product or service) and a provider device (e.g., associated with a provider of the product or service). For example, a platform may offer a service offered by a provider such as a ride, delivery, online shopping, insurance, and other similar services to a requestor. A requestor can typically access the platform via a website, an application, or other similar methods using the requestor device. The provider device may be associated with a provider who may provide a ride or delivery that is requested (e.g., a request fora delivery or other services such as cleaning, repair, plumbing, renovation, medical emergency, and other similar services) by a requestor. In the present disclosure, the requestor device and the provider device may be referred to herein as a user device, wherein a user associated with the user device may be a requestor or a provider.

[0022] A road refers to a stretch of surface built for an entity such as a person, a wheeled vehicle or other similar entity to travel along, for example to reach a location. Depending on a feature associated with the road, it is possible to predict whether the road is accessible by a 4-wheeled vehicle (e.g., a car, lorry, bus, pick-up, or other similar 4-wheeled vehicle) or a 2-wheeled vehicle (e.g., a bicycle, motorcycle, or other similar 2-wheeled vehicle). For example, an appearance of a road in an image (e.g., a photograph of a road, a still image from a video taken of a road, a 360° image including an appearance of a road, or other similar image) may be used to identify a feature associated with the road, and a classification result (e.g., a probability value indicative of whether the road is accessible by a 2-wheeled vehicle or 4-wheeled vehicle, or whether the image is not to be used for classifying the road, or other similar classification) may be generated based on the feature. The feature may be a width of the road, a type of vehicle on the road, whether a dashboard or roof of a 4-wheeled vehicle from which the image is taken is visible in the image, whether a driver’s helmet or parts of a 2-wheeled vehicle from which the image is taken is visible in the image, whether a group of people is present on the road in the image (e.g., indicative of a 2- wheeled residential road or walkway), whether the image is oriented towards a building or a wall such that no road can be seen in the image, or other similar features. The identification of the feature may be performed by a deep learning classifier model (e.g., EfficientNet©, Residual Neural Network (ResNet), ConvNeXt, Vision Transformer, or other similar models) in which an image may be classified into, for example, 4-wheel (if it is predicted by the classifier model that the road that is seen in the image is accessible for 4-wheeled vehicles), 2-wheel (if it is predicted by the classifier model that the road that is seen in the image is accessible for 2-wheeled vehicles), not-a-road (if it is determined that the image does not clearly or properly show a road), or other similar classifications. By classifying an image as “not-a-road”, the image may be omitted from the prediction process. This enables the classifier to filter out images in which a road is not clearly seen. In an implementation, the model may identify a plurality of features in a single image, in which a classification result for the image may be based on all of the identified features and the way these features interact with one another.

[0023] The image may be one that is taken by a device such as a user device, a digital camera, a video camera, a dashcam, car roof-mounted cameras, scooter helmet cameras, mobile phone cameras, or other similar devices. The image may have location coordinates (e.g., longitudinal and latitudinal coordinates) associated with the image, such that the location coordinates are indicative of a location at which the image is taken. Based on the location coordinates, a road that corresponds to one that appears in the image may be identified in a map and its classification result may be integrated into a map application such as KartaView®, GoogleMaps®, Waze®, Bing Maps®, MapQuest® and other similar map applications, which a driver may utilize for identifying roads that are accessible depending on the driver’s mode of transport. Matching of a road that appears in an image to a corresponding road on a map may be implemented by a matching algorithm based on, for example, probabilistic graphical models such as Hidden Markov Model, Learning to Map Matching (L2MM), Deep Learning Based Map Matching (DeepMM), Kalman Filter Map Matching, or other similar models.

[0024] A classification result that is generated from an image showing a road may be aggregated with one or more other classification results that are generated from one or more other images in which the same road is shown. The process of aggregation may be one in which a single classification result (e g., a final classification result) for a road on a map is obtained by averaging a probability distribution corresponding to each individual classification result from a plurality of images taken of the road, and a classification result with a highest probability is taken as the road’s final classification result. This final classification result is added to the map as a label for the road such that the information (e.g., indicative of whether the road is accessible by a 2-wheeled vehicle or a 4-wheeled vehicle) will be available to a driver. A classification result may also be interchangeably referred to as a classification label for a road.

[0025] In an implementation, each image may have one or more classification results (e.g., each classification result being obtained based on one or more identified features in each image of a road), in which each classification result is a probability value indicative of the accessibility of the road. For example, an image may have three classification results, a first classification result being a probability that the road is accessible for 2-wheeled vehicles, a second classification result being a probability that the road is accessible for 4-wheeled vehicles, and a third classification result being a probability that the image does not clearly show a road. Each of these three classification results may be aggregated with the same classification results obtained from one or more other images in which the same road is shown. For example,assuming that there are a total of N images of the road, the probability values for all the first classification results obtained from the N images are added together and divided by N, the probability values for all the second classification results obtained from the N images are added together and divided by N, and the probability values for all the third classification results obtained from the N images are added together and divided by N. Thus, only three classification results remain which are averages of each of the first, second and third classification results. The classification result with the highest probability value may then be used to label the road as a final classification result. In an implementation, an image may be omitted from the aggregation process if it is classified as “not-a-road” (e.g., the third classification result as mentioned above), such that each image that is used for the aggregation process may only have two classification results (e.g., the first and second classification results as described above). It will be appreciated 4 or more types of classification results may also be implemented depending on requirements on how a road should be further classified.

[0026] In at least some embodiments, a user may be any suitable type of entity, which may include a person, a consumer looking to purchase a product or service via a transaction processing server, a seller or merchant looking to sell a product or service via the transaction processing server, a motorcycle driver or pillion rider in a case of the user looking to book or provide a motorcycle ride via the transaction processing server, a car driver or passenger in a case of the user looking to book or provide a car ride via the transaction processing server, and other similar entity. A user who is registered to the transaction processing server will be called a registered user. A user who is not registered to the transaction processing server will be called a nonregistered user. The term user will be used to collectively refer to both registered and non-registered users. A user may interchangeably be referred to as a requestor (e.g., a person who requests for a product or service) or a provider (e.g., a person who provides the requested product or service to the requestor).

[0027] In at least some embodiments, a road server is a server that hosts software application programs for classifying a road based on an image. The road server may be implemented as shown in schematic diagram 200 of Fig. 2 for classifying a road based on an image.

[0028] In at least some embodiments, a transaction processing server is a server that hosts software application programs for processing payment transactions for, for example, a request for a service, delivery, a travel-coordination request, purchasing ofa good or service by a user, and other similar services. The transaction processing server communicates with any other servers (e.g., a road server) concerning processing payment transactions relating to the purchasing of the good or service, such as a request for a service (which may be referred to as a request, for example for a ride, delivery, or other similar service that requires a provider to locate and arrive at a location as indicated in the request). For example, data relating to a request (e g., date, time, a location, and other similar data) may be provided to the road server, which may then be processed to determine a road and / or route that the provider can use to arrive at the location indicated in the request. The transaction processing server may use a variety of different protocols and procedures in order to process the payment and / or driver requests.

[0029] Transactions that may be performed via a transaction processing server include product or service purchases, credit purchases, debit transactions, fund transfers, account withdrawals, etc. Transaction processing servers may be configured to process transactions via cash-substitutes, which may include payment cards, letters of credit, checks, payment accounts, etc.

[0030] In at least some embodiments, the transaction processing server is usually managed by a service provider that may be an entity (e g., a company or organization) which operates to process transaction requests and / or driver requests e.g., pair a driver to a requestor of the driver request. The transaction processing server may include one or more computing devices that are used for processing transaction requests and / or driver requests.

[0031] In at least some embodiments, a transaction account is an account of a user who is registered at a transaction processing server. The user can be a customer, a merchant providing a product for sale on a platform and / or for onboarding the platform, a ride or delivery provider (e.g., a driver), or any third parties (e.g., a courier) who want to use the transaction processing server. In certain circumstances, the transaction account is not required to use the transaction processing server. A transaction account includes details (e.g., name, address, vehicle, face image, etc.) of a user. The transaction processing server manages the transaction.

[0032] Embodiments will be described, by way of example only, with reference to the drawings. Like reference numerals and characters in the drawings refer to like elements or equivalents.

[0033] Some portions of the description which follows are explicitly or implicitly presented in terms of algorithms and functional or symbolic representations of operations on data within a computer memory. These algorithmic descriptions and functional or symbolic representations are the means used by those skilled in the data processing arts to convey most effectively the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities, such as electrical, magnetic or optical signals capable of being stored, transferred, combined, compared, and otherwise manipulated.

[0034] Unless specifically stated otherwise, and as apparent from the following, it will be appreciated that throughout the present specification, discussions utilizing terms such as “identifying”, “detecting”, “recommending”, “determining”, “associating”, “extracting”, “calculating”, “processing”, “storing”, “indicating”, “comparing”, “providing”, “dividing”, or the like, refer to the action and processes of a computer system, or similar electronic device, that manipulates and transforms data represented as physical quantities within the computer system into other data similarly represented as physical quantities within the computer system or other information storage, transmission or display devices.

[0035] In addition, the present specification also implicitly discloses a computer program, in that it would be apparent to the person skilled in the art that the individual steps of the method described herein may be put into effect by computer code. The computer program is not intended to be limited to any particular programming language and implementation thereof. It will be appreciated that a variety of programming languages and coding thereof may be used to implement the teachings of the disclosure contained herein. Moreover, the computer program is not intended to be limited to any particular control flow. There are many other variants of the computer program, which can use different control flows without departing from the scope of the specification.

[0036] Furthermore, one or more of the steps of the computer program may be performed in parallel rather than sequentially. Such a computer program may be stored on any computer readable medium. The computer readable medium may include storage devices such as magnetic or optical disks, memory chips, or other storagedevices suitable for interfacing with a computer. The computer readable medium may also include a hard-wired medium such as exemplified in the Internet system, or wireless medium such as exemplified in the GSM mobile telephone system. The computer program when loaded and executed on such a computer effectively results in an apparatus that implements the steps of the preferred method.

[0037] In the present disclosure, a system is proposed for classifying a road based on an image, to address the difficulty of locating a road that is suitable for, for example, a 2-wheeled vehicle or a 4-wheeled vehicle when driving for a delivery, driving a passenger to a location, and other similar services. A feature may be identified from an appearance of a road in an image, and a classification result indicative of whether the road is accessible by a 2-wheeled vehicle or a 4-wheeled vehicle may be generated based on the feature. Further, the image may be assessed whether the appearance of the road in the image is insufficient for identifying the feature, such that a classification result indicating that the image is not to be used for classifying the road may be generated, for example in cases where no road can be easily seen from the image (e g., the camera from which the image is taken is pointing towards the sky, or the field of view is primarily focused on something else other than the road, or other similar issue such that no 2-wheel / 4-wheel classification can be made from that image). The classification result may be aggregated with other classification results obtained from other images to obtain a final classification result having a highest probability among all the classification results, that may be used for labelling the same road on a map (e.g., by matching a road on the map that corresponds to the road shown in the image based on location coordinates associated with the image). Users may then be able to utilize the information provided by the labelling to identify a suitable road based on their respective vehicle.

[0038] Advantageously, it is possible to classify a road more efficiently compared to previous attempted solutions, since no intermediary steps are taken. For example, a previous attempted solution involves predicting a road’s width from an image to determine whether the road is a 2-wheeled or 4-wheeled road, in which the road width needs to be compared with a threshold. As the threshold is highly arbitrary and differ based on the image, the threshold needs to manually chosen depending on the image, which is inefficient and tends to produce inconsistent results. Classification of a road according to the present solution is thus more accurate since the additional step of implementing a threshold is not required.

[0039] Fig. 1 illustrates a block diagram of an example system 100 for classifying a road based on an image. In some embodiments, the system 100 enables a payment transaction for a good or service, and / or a request e.g., for a ride, or delivery of a physical item (e.g., one or more food items or a parcel) between a requestor and a provider, in which a road may be classified based on an image into whether it is accessible by a 2-wheeled or 4-wheeled vehicle, and the information may be utilized by the provider to identify a suitable road and / or route for the provider’s mode of transport when providing the ride or delivering the item to the requestor.

[0040] The system 100 comprises a requestor device 102, a provider device 104, an acquirer server 106, a transaction processing server 108, an issuer server 110, a road server 140 and a database 150.

[0041] The requestor device 102 is in communication with a provider device 104 via a connection 112, and may be associated with a user. The connection 112 may be wireless (e.g., via NFC communication, Bluetooth, etc.) or over a network (e.g., the Internet). The requestor device 102 is also in communication with the road server 140 via a connection 121 , wherein the road server 140 may be configured to receive information relating to a request (e.g., a request for a service such as a delivery or a ride to a location, the information including location information of the location relating to the request, and other similar information) from the requestor device 102. The requestor device 102 may be configured to communicate with the provider device 104 (e.g., communication relating to the request with the provider device 104). The requestor device 102 may also be configured to provide an image to the road server 140, for example one in which a road is shown such as a photograph of a road, a still image from a video taken of a road, a 360° image including an appearance of a road, or other similar image. The image may comprise location information associated with the image that is indicative of a location at which the image is taken. In an implementation, the location at which the image is taken may be the same as the location at which the requestor device 102 is located. The connection 121 may be via a network (e.g., the Internet). The requestor device 102 may also be connected to a cloud that facilitates the system 100 for classifying a road based on an image. For example, the requestor device 102 can send a signal or data to the cloud directly via a wireless connection (e.g., via NFC communication, Bluetooth, etc.) or over a network (e.g., the Internet). It will be appreciated that there can be a plurality of requestor devices 102 such that each requestor device 102 is associated with a respective user.

[0042] The provider device 104 is in communication with the requestor device 102 as described above, usually via the transaction processing server 108, and may be associated with a provider of a service or delivery (e.g., a provider responding to a request for a service such as, for example, a delivery or a ride to a location). The provider device 104 is, in turn, in communication with an acquirer server 106 via a connection 114. The provider device 104 is also in communication with the road server 140 via a connection 123, wherein the road server 140 may be configured to receive information relating to a location (e.g., an identifier, an address, GPS information, latitudinal and longitudinal coordinates, geohash information, or other similar information associated with the location) at which the provider device 104 is located, and other similar information from the provider device 104. The provider device 104 may be configured to communicate with the requestor device 102 (e.g., communication relating to the request with the requestor device 102), and may be configured to provide an image to the road server 140 (for example one in which a road is shown such as a photograph of a road, a still image from a video taken of a road, a 360° image including an appearance of a road, or other similar image). The image may comprise location information associated with the image that is indicative of a location at which the image is taken. In an implementation, the location at which the image is taken may be the same as the location at which the provider device 104 is located. The connections 114 and 123 may be via a network (e.g., the Internet). The provider device 104 may also be connected to a cloud that facilitates the system 100 for classifying a road based on an image. For example, the provider device 104 can send a signal or data to the cloud directly via a wireless connection (e.g., via NFC communication, Bluetooth, etc.) or over a network (e.g., the Internet). It will be appreciated that there can be a plurality of provider devices 104 such that each provider device 104 is associated with a respective user.

[0043] The acquirer server 106, in turn, is in communication with the transaction processing server 108 via a connection 116. The transaction processing server 108, in turn, is in communication with an issuer server 110 via a connection 118. The connections 116 and 118 may be via a network (e.g., the Internet).

[0044] The transaction processing server 108 is further in communication with the road server 140 via a connection 120. The connection 120 may be over a network (e.g., a local area network, a wide area network, the Internet, etc.). In one arrangement, the transaction processing server 108 and the road server 140 are combined and the connection 120 may be an interconnected bus.

[0045] The road server 140, in turn, is in communication with the database 150 via respective connection 122. The connection 122 may be over a network (e.g., the Internet). The road server 140 may also be connected to a cloud that facilitates the system 100 for classifying a road based on an image. For example, the road server 140 can send a signal or data to the cloud directly via a wireless connection (e g., via NFC communication, Bluetooth, etc.) or over a network (e.g., the Internet).

[0046] The database 150 may comprise data that is utilized by the road server 140 for classifying a road based on an image. For example, data relating to one or more images of a road (e.g., which may include location coordinates associated with each of the one or more images, a classification result for each of the one or more images, and other similar information), and other information and / or data required for classifying a road based on an image may be processed and stored in the database 150. In an implementation, the database 150 may be combined with the road server 140. In an example, the database 150 may be managed by an external entity.

[0047] The road server 140 may be configured to identify a feature associated with a road based on an appearance of the road in an image. The feature may be a width of the road, a type of vehicle on the road, whether a dashboard or roof of a 4-wheeled vehicle from which the image is taken is visible in the image, whether a driver’s helmet or parts of a 2-wheeled vehicle from which the image is taken is visible in the image, whether a group of people is present on the road in the image (e.g., indicative of a 2- wheeled residential road or walkway), whether the image is oriented towards a building or a wall such that no road can be seen in the image, or other similar features. The road server 140 may be further configured to generate a classification result indicative of whether the road is accessible by a 2-wheeled vehicle based on the feature. In an implementation, the classification result may be indicative of whether the road is accessible by a 4-wheeled vehicle. In an implementation, the classification result may be indicative of whether the image is to be used for classifying the road. In an implementation, the image may be a 360° image, and the road server 140 may process the image based on one or more of a roll, pitch and yaw such that the image faces the road. In an implementation, the road server 140 may identify a plurality of features in a single image, in which a classification result for the image may be based on all of the identified features and the way these features interact with one another.

[0048] In an implementation, the road server 140 may be configured to identify, based on a probability distribution associated with the classification result and one or more other classification results from one or more other images having an appearance of the road, a classification result with a highest probability among the classification result and the one or more other classification results; and generate a final classification result based on the identified classification result.

[0049] In an implementation, generating the final classification result may further comprise determining whether the image is taken at a position that is within a threshold distance from the road based on location coordinates associated with the image; and determining whether the image is to be used for classifying the road based on the determination. The threshold distance may be defined as a haversine distance threshold between the image’s (latitude, longitude) pair and the (latitude, longitude) pair of a closest point on the road. It will be appreciated that the threshold distance may be a threshold distance defined based on, for example, nature of the road and the surrounding area around the road. Although it is possible to use euclidean distance for the threshold distance, using the haversine distance will results in more accurate numbers since the haversine distance also takes into account the curvature of the Earth. In an implementation, generating the final classification result may further comprise determining whether the image is taken at a position that is in close proximity to an end of the road based on location coordinates associated with the image; and determining whether the image is to be used for classifying the road based on the determination. In an implementation, generating the final classification result may further comprise determining whether the image is one of a plurality of images taken at a same position based on location coordinates associated with the image; and generating the final classification result based on a classification result of one of the plurality of images taken at the same position based on the determination. The above implementations are further explained in Figs. 3 and 4A-4C.

[0050] In an implementation, there may be more than one databases, in which the road server 140 may be configured to determine which database to use for each step during the process of classifying a road based on an image. Alternatively, one or more modules may store the above-mentioned data instead of the database 150, wherein the module may be integrated as part of the road server 140 or external from the road server 140.

[0051] In the illustrative embodiment, each of the devices 102, 104, and the servers 106, 108, 110, 140, and / or database 150 provides an interface to enablecommunication with other connected devices 102, 104 and / or servers 106, 108, 110, 140, and / or database 150. Such communication is facilitated by an application programming interface (“API”). Such APIs may be part of a user interface that may include graphical user interfaces (GUIs), Web-based interfaces, programmatic interfaces such as application programming interfaces (APIs) and / or sets of remote procedure calls (RPCs) corresponding to interface elements, messaging interfaces in which the interface elements correspond to messages of a communication protocol, and / or suitable combinations thereof. For example, it is possible for the requestor device 102 to send data relating to a request for a service such as location information of a location at which the service is required, and for the provider device 104 to send data relating to a location of an associated provider, in response to an enquiry shown on the GUI running on the respective API.

[0052] Use of the term ‘server’ herein can mean a single computing device or a plurality of interconnected computing devices which operate together to perform a particular function. That is, the server may be contained within a single hardware unit or be distributed among several or many different hardware units.

[0053] The road server 140 is associated with an entity (e.g., a company or organization or moderator of the service). In one arrangement, the road server 140 is owned and operated by the entity operating the transaction processing server 108. In such an arrangement, the road server 140 may be implemented as a part (e.g., a computer program module, a computing device, etc.) of the transaction processing server 108.

[0054] The transaction processing server 108 may also be configured to manage the registration of users. A registered user has a transaction account (see the discussion above) which includes details of the user. The registration step is called on-boarding. A user may use either the requestor device 102 or the provider device 104 to perform on-boarding to the transaction processing server 108.

[0055] It may not be necessary to have a transaction account at the transaction processing server 108 to access the functionalities of the transaction processing server 108. However, there are functions that are available to a registered user. These additional functions will be discussed below.

[0056] The on-boarding process for a user is performed by the user through one of the requestor device 102 or the provider device 104. In one arrangement, the user downloads an app (which includes the API to interact with the transaction processing server 108) to the requestor device 102 or the provider device 104. In another arrangement, the user accesses a website (which includes the API to interact with the transaction processing server 108) on the requestor device 102 or the provider device 104. The user is then able to interact with the road server 140. The user may be a requestor or a provider associated with the requestor device 102 or the provider device 104, respectively.

[0057] Details of the registration may include, for example, name of the user, address of the user, emergency contact, blood type or other healthcare information, next-of-kin contact, permissions to retrieve data and information from the requestor device 102 and / or the provider device 104 for classifying a road based on an image, such as permission to retrieve location and status information, and / or retrieve an image and location information associated with the image, and other similar data and information from the requestor device 102 and / or the provider device 104. Alternatively, another device (e g., a mobile device, a dashcam, car roof-mounted cameras, scooter helmet cameras, mobile phone cameras, and other similar device) may be selected instead of the requestor device 102 and / or the provider device 104 for retrieving the data. Once on-boarded, the user would have a transaction account that stores all the details.

[0058] The requestor device 102 is associated with a user (or requestor) who is a party to a transaction that occurs between the requestor device 102 and the provider device 104, or between the requestor device 102 and the road server 140. The requestor device 102 may be a computing device such as a desktop computer, an interactive voice response (IVR) system, a smartphone, a laptop computer, a personal digital assistant computer (PDA), a mobile computer, a tablet computer, and the like. The requestor device 102 may be associated with a user who initiates a request for a trip booking.

[0059] The requestor device 102 includes transaction credentials (e g., a payment account) of a requestor to enable the requestor device 102 to be a party to a payment transaction. If the requestor has a transaction account, the transaction account may also be included (e.g., stored) in the requestor device 102. For example, a mobile device (which is a requestor device 102) may have the transaction account of the customer stored in the mobile device.

[0060] In one example arrangement, the requestor device 102 is a computing device in a watch or similar wearable and is fitted with a wireless communications interface (e g., a NFC interface). The requestor device 102 can then electronically communicate with the provider device 104 regarding a request (e.g., for a delivery, a ride, or other similar service). The user uses the watch or similar wearable to make the request by pressing a button on the watch or wearable.

[0061] The provider device 104 is associated with a provider who is also a party to the request (e.g., for a delivery, a ride, or other similar service) that occurs between the requestor device 102 and the provider device 104. The provider device 104 may be a computing device such as a desktop computer, an interactive voice response (IVR) system, a smartphone, a laptop computer, a personal digital assistant computer (PDA), a mobile computer, a tablet computer, and the like. The provider device 104 may be associated with a provider of a ride or delivery (e.g., a provider responding to the request).

[0062] Hereinafter, the term “provider” refers to a service provider and any third party associated with providing a product or service for purchase, or a travel or ride or delivery service via the provider device 104. Therefore, the transaction account of a provider refers to both the transaction account of a provider and the transaction account of a third party (e.g., a driver, travel co-ordinator or merchant) associated with the provider.

[0063] If the provider has a transaction account, the transaction account may also be included (e g., stored) in the provider device 104. For example, a mobile device (which is a provider device 104) may have the transaction account of the provider stored in the mobile device.

[0064] In one example arrangement, the provider device 104 is a computing device in a watch or similar wearable and is fitted with a wireless communications interface (e.g., a NFC interface). The provider device 104 can then electronically communicate with the requestor to make the request by pressing a button on the watch or wearable.

[0065] The acquirer server 106 is associated with an acquirer who may be an entity (e.g., a company or organization) which issues (e.g., establishes, manages, administers) a payment account (e.g., a financial bank account) of a merchant.Examples of the acquirer include a bank and / or other financial institution. As discussed above, the acquirer server 106 may include one or more computing devices that are used to establish communication with another server (e.g., the transaction processing server 108) by exchanging messages with and / or passing information to the other server. The acquirer server 106 forwards the payment transaction relating to a transaction request or a request for a delivery or other similar service to the transaction processing server 108.

[0066] The transaction processing server 108 is configured to process processes relating to a transaction by, for example, forwarding data and information associated with the transaction to the other servers in the system 100 such as the road server 140. In an example, the transaction processing server 108 may, instead of the requestor device 102 or provider device 104, transmit data relating to a request (e.g., date, time, a location, and other similar data) to the road server 140. The transaction processing server 108 may use a variety of different protocols and procedures in order to process the payment and / or requests. It will be appreciated that payment for a transaction may be made via a variety of methods such as credit cards, debit cards, digital wallets, buy-first pay-later schemes, and other similar payment methods.

[0067] The issuer server 110 is associated with an issuer and may include one or more computing devices that are used to perform a payment transaction. The issuer may be an entity (e g., a company or organization) which issues (e.g., establishes, manages, administers) a transaction credential or a payment account (e.g., a financial bank account) associated with the owner of the requestor device 102. As discussed above, the issuer server 110 may include one or more computing devices that are used to establish communication with another server (e.g., the transaction processing server 108) by exchanging messages with and / or passing information to the other server.

[0068] The database 150 is a database or server associated with an entity (e.g., a company or organization) which manages (e.g., establishes, administers) data relating to users, transactions, products, services, and other similar data, for example relating to the entity. In an arrangement, the database 150 may comprise data that is utilized by the road server 140 for classifying a road based on an image. For example, data relating to one or more images of a road (e.g., which may include location coordinates associated with each of the one or more images, a classification result for each of the one or more images, and other similar information), and other information and / or data required for classifying a road based on an image may be processed and stored in thedatabase 150. In an implementation, the database 150 may be combined with the road server 140. In an example, the database 150 may be managed by an external entity.

[0069] Advantageously, the system 100 classifies a road according to whether it is accessible by a 2-wheeled vehicle only or a 4-wheeled vehicle and labels the road according to the classification on a map, enabling a driver to accurately and quickly identify an accessible road based on the driver’s mode of transport, thus reducing time required to reach a location and improving service efficiency.

[0070] Fig. 2 illustrates a schematic diagram of an example road server 140 according to various embodiments. The road server 140 may comprise a data module 260 configured to receive data and information from the requestor device 102, provider device 104, transaction processing server 108, database 150, a cloud and other sources of information to classify a road based on an image by the road server 140. For example, the data module 260 may be configured to receive data and information required for: identifying a feature associated with a road based on an appearance of the road in an image, and generating a classification result indicative of whether the road is accessible by a 2-wheeled vehicle based on the feature; identifying, based on a probability distribution associated with the classification result and one or more other classification results from one or more other images having an appearance of the road, a classification result with a highest probability among the classification result and the one or more other classification results; and generating a final classification result based on the identified classification result; determining whether the image is taken at a position that is within a threshold distance from the road based on location coordinates associated with the image; and determining whether the image is to be used for classifying the road based on the determination; determining whether the image is taken at a position that is in close proximity to an end of the road based on location coordinates associated with the image; and determining whether the image is be used for classifying the road based on the determination; determining whether the image is one of a plurality of images taken at a same position based on location coordinates associated with the image; and generating the final classification result based on a classification result of one of the plurality of images taken at the same position based on the determination; wherein the image is a 360° image, processing the image based on one or more of a roll, pitch and yaw to face the road; assessing whether the appearance of the road in the image is insufficient for identifying the feature; and generating the classification result indicative of whether the image is to be used for classifying the road based on the assessment; generating the classificationresult indicative of whether the road is accessible by a 4-wheeled vehicle based on the feature; and other similar processes from the requestor device 102, the provider device 104, transaction processing server 108, database 150, and / or other sources of information. The data module 260 may be further configured to send information relating to data retrieved in response to a request to the requestor device 102, the provider device 104, the transaction processing server 108, or other destinations where the information is required.

[0071] The road server 140 may comprise an image module 262 that is configured for identifying a feature associated with a road based on an appearance of the road in an image. In an implementation, the image module 262 may be configured to assess whether the appearance of the road in the image is insufficient for identifying the feature. In an implementation, wherein the image is a 360° image, the image module 262 may be configured to process the image based on one or more of a roll, pitch and yaw to face the road. The above process is further explained in Fig. 3.

[0072] The road server 140 may also comprise a road module 264 that is configured for generating a classification result indicative of whether the road is accessible by a 2-wheeled vehicle based on the feature (e.g., identified by the image module 262). In an implementation, the road module 264 may be configured to generate the classification result indicative of whether the road is accessible by a 4-wheeled vehicle based on the feature (e g., identified by the image module 262). In an implementation, the road module 264 may be configured to identify, based on a probability distribution associated with the classification result and one or more other classification results from one or more other images having an appearance of the road, a classification result with a highest probability among the classification result and the one or more other classification results, and generate a final classification result based on the identified classification result. In an implementation, the road module 264 may be configured to determine whether the image is taken at a position that is within a threshold distance from the road based on location coordinates associated with the image, and determine whether the image is to be used for classifying the road based on the determination. In an implementation, the road module 264 may be configured to determine whether the image is taken at a position that is in close proximity to an end of the road based on location coordinates associated with the image, and determine whether the image is be used for classifying the road based on the determination. In an implementation, the road module 264 may be configured to determine whether the image is one of a plurality of images taken at a same positionbased on location coordinates associated with the image, and generate the final classification result based on a classification result of one of the plurality of images taken at the same position based on the determination. In an implementation, wherein the image module 262 may be configured to assess whether the appearance of the road in the image is insufficient for identifying the feature, the road module 264 may be configured to generate the classification result indicative of whether the image is to be used for classifying the road based on the assessment. The above process is further explained in Figs. 3 and 4A-4C.

[0073] Each of the data module 260, image module 262 and road module 264 may further be in communication with a processing module (not shown) of the road server 140, for example for coordination of respective tasks and functions during the process. The data module 260 may be further configured to communicate with and store data and information for each of the processing module, image module 262 and road module 264. Alternatively, all the tasks and functions required for adaptively classifying a road based on an image may be performed by a single processor of the road server 140.

[0074] Prior to identifying a feature associated with a road based on an appearance of a road in an image, the image may need to pre-processed to address poor camera orientation issues, for example for 360° images, panoramic images, and other similar images in which the road may not be the main focus. In the case of receiving images (e.g., from a mobile device, dashcam, camera, car roof-mounted cameras, scooter helmet cameras, mobile phone cameras, and other similar devices) for the road classification process, the camera orientation is typically not known and it is likely that the camera is not oriented towards the road. A two step process may be employed to ensure that either the image is correctly oriented (e.g., oriented towards the road) or that the images which are incorrectly oriented (e.g., towards the sky, towards a house in the lateral direction, or other similar incorrect orientations) are disqualified and not used in the aggregation process for generating a final classification result.

[0075] In a first step, since the camera orientation is not known and the camera might not be oriented towards the road, the images may be pre-processed by applying a set of geometrical transformations which will re-orient the camera towards the road as much as possible. More specifically, the transformation needed to properly re-orient the camera may be a 3D rotation defined by three angles: roll, pitch, and yaw. For example, a computer vision system which predicts these three angles needed for camera re-orientation may be utilized for this pre-processing. Once these anglepredictions are obtained, it is then possible to construct the geometrical transformation needed and properly re-orient the camera such that the resulting image is facing the road and is parallel to a plane of the road, such that identification of a feature from the image is possible. In an implementation, deep learning probabilistic models may be used for the pre-processing step to re-orient the camera towards the road.

[0076] However, even with the pre-processing in place, it is still possible to have images with incorrect camera orientation. In order to counteract this, in a second step, a new classification result may be implemented in the model output as, for example, “not-a-road”, in addition to “2-wheel” and “4-wheel”. This new classification result is meant to detect images which have poor camera orientation even after the reorientation process as described above.

[0077] Referring to Fig. 3, an image 302 of a road may be classified as a road accessible by a 2-wheeled vehicle. For example, a feature associated with a road may be identified based on an appearance of the road in the image 302, and a classification result may be generated for the image 302 indicative of whether the road is accessible by a 2-wheeled vehicle based on the identified feature. The feature may be a width of the road, a type of vehicle on the road, whether a dashboard or roof of a 4-wheeled vehicle from which the image is taken is visible in the image, whether a driver’s helmet or parts of a 2-wheeled vehicle from which the image is taken is visible in the image, whether a group of people is present on the road in the image (e.g., indicative of a 2- wheeled residential road or walkway), whether the image is oriented towards a building or a wall such that no road can be seen in the image, or other similar features. In an implementation, the model may identify a plurality of features in a single image, in which a classification result for the image may be based on all of the identified features and the way these features interact with one another. In an implementation, a plurality of features may be identified in the image 302, in which a classification result for the image 302 may be based on all of the identified features and the way these features interact with one another. The classification result may be a label such as “2-wheel” or other similar representation. Image 304 of a road may be classified as a road accessible by a 4-wheeled vehicle. For example, a feature associated with a road (e.g., a width of the road, a type of vehicle on the road, or other similar feature) may be identified based on an appearance of the road in the image 304, and a classification result may be generated for the image 304 indicative of whether the road is accessible by a 4-wheeled vehicle based on the identified feature. The classification result may be a label such as “4-wheel” or other similar representation. Further, an image 306 of a road may be classified as an image that is not to be used for classifying a road. Forexample, the image 306 may be assessed whether the appearance of the road in the image is insufficient for identifying the feature. The assessment may comprise determining whether any feature associated with a road can be identified from the image 306, or other similar assessment. The assessment may be performed prior to or concurrent to identifying a feature associated with a road from an image. If it is assessed that the appearance of the road is insufficient, a classification result may be generated for the image 306 indicative of whether the image 306 is to be used for the classifying the road. The classification result may be a label such as “not-a-road” or other similar representation. For example, image 306 with “not-a-road” as a classification result may not be entered into the process for generating a final classification result, to ensure that the final classification result is more reliable and not affected by poorly oriented images. In this way, it is possible to ensure that all the images which enter the aggregation process have correctly oriented cameras and a road can be discerned from them.

[0078] After a classification result is obtained for an image, a next step is to determine which images are to be used for obtaining a final classification result for a road and which images should be omitted from the process. To this end, custom filters for disqualifying images which are incorrectly biasing the classification results may be implemented.

[0079] For example, after matching an image to a road by leveraging the image’s associated location coordinates (e.g., latitudinal and longitudinal coordinates), some images may still be incorrectly matched to a road, e g., due to invalid matching between an image and a road on a map. This can cause a final classification result for a road to be influenced by images that are actually showing a different road but were incorrectly matched. To address this issue, it may be determined whether an image is taken at a position that is within a threshold distance from the road based on location coordinates associated with the image, and then it may be determined whether the image is to be used for classifying the road based on the determination. Images which are “very far” from a road may be filtered out from the classification process, where “very far” may be defined as a haversine distance threshold between the image’s (latitude, longitude) pair and the (latitude, longitude) pair of the closest point on the road. It will be appreciated that the threshold distance may be a threshold distance defined based on, for example, nature of the road and the surrounding area around the road. For example, referring to map 402 of Fig. 4A, it may be determined that images 404 and 406 were photos taken too far away from road 403 (e.g., images 404 and 406 were not taken within a threshold distance from the road 403 based on locationcoordinates associated with each of the images 404 and 406). Thus, the images 404 and 406 may be omitted from the final classification process, as shown in map 408 in which images 404 and 406 are removed.

[0080] An image that was taken at a position too close to an end of a road may also be undesirable, since the camera from which the image was taken may actually be looking at a next road and not at the road to which the image is matched to (e.g., based on location coordinates associated with the image). This raises the same problem as the previous case, in which a final classification result for a road may be influenced by images which actually belong to a different road. To address this issue, it may be determined whether an image is taken at a position that is in close proximity to an end of the road based on location coordinates associated with the image, and determined whether the image is be used for classifying the road based on the determination. For example, the determination whether an image is taken in close proximity to an end of the road may be based on whether a haversine distance between location coordinates (e g., latitude, longitude pair) associated with the image and the location coordinates (e.g., latitude, longitude pair) of the end of the road is smaller than a set threshold. For example, referring to map 410 of Fig. 4B, images 412, 412 and 416 were determined to be taken at positions that are too close to an end of road 411. Thus, the images 412, 414 and 416 may be omitted from the final classification process, as shown in map 418 in which images 412, 414 and 416 are removed.

[0081] Further, a plurality of images may be taken of a road from a same position or from very similar positions, for example images that are taken from drivers that may be blocked in a same traffic jam. This may cause the final classification result for the road to be incorrectly skewed towards the large number of such images even though they were all taken from a same position, and images taken from other positions along the same road may not be considered in an equal and uniform manner. To solve this issue, such images may be detected by conglomerating all images which are very close to each other, and all of them except for one are omitted from the final classification process. This remaining image will be one that is representative of the group of such images. For example, referring to map 420 depicting a road 421 of Fig. 4C, a plurality of images 422 may be determined as a plurality of images taken at a same position based on location coordinates associated with each of the plurality of images 422. Thus, as shown in map 426, only one image 424 is taken as representative of the plurality of images 422, such that a final classification result may be generated based on a classification result of one of the plurality of images 422 takenat the same position (e.g., image 424) instead of based on all of the plurality of images 422.

[0082] In an implementation, an image may have one or more classification results (e.g., each classification result being obtained based on one or more identified features in the image of a road), in which each classification result is a probability value indicative of the accessibility of the road. For example, an image may have three classification results, a first classification result being a probability that the road is accessible for 2-wheeled vehicles, a second classification result being a probability that the road is accessible for 4-wheeled vehicles, and a third classification result being a probability that the image does not clearly show a road. Each of these three classification results may be aggregated with the same classification results obtained from one or more other images in which the same road is shown. For example, assuming that there are a total of N images of the road, the probability values for all the first classification results obtained from the N images are added together and divided by N, the probability values for all the second classification results obtained from the N images are added together and divided by N, and the probability values for all the third classification results obtained from the N images are added together and divided by N. Thus, only three classification results remain which are averages of each of the first, second and third classification results. The classification result with the highest probability value may then be used to label the road as a final classification result. In an implementation, an image may be omitted from the aggregation process if it is classified as “not-a-road” (e.g., the third classification result as mentioned above), such that each image that is used for the aggregation process may only have two classification results (e.g., the first and second classification results as described above). It will be appreciated 4 or more types of classification results may also be implemented depending on requirements on how a road should be further classified.

[0083] After a final classification result for a road is obtained, the road server 140 may be configured to label the corresponding road on a map based on the final classification result. This map may be utilized by a driver such as a provider when performing a service such as a delivery or providing a ride to a location, to check which road may be used according to the driver’s means of transport (e.g., a 2-wheeled vehicle or a 4- wheeled vehicle).

[0084] In an implementation, the map may be stored in a database (e.g., database 150), and an entity may, upon a subscription, access the map to check which road may be used according to the entity’s means of transport. Further, the map may be used bygovernments and transportation agencies to manage traffic flow, set road restrictions, and implement measures like one-way streets or dedicated lanes. City planners may use such road accessibility information to identify areas where road improvements or expansions are needed to adjust to a variety of vehicles and manage growing traffic demands. Emergency services can use road accessibility information to plan the most efficient routes for first responders, considering the types of vehicles they use and the road conditions they can handle. Furthermore, travel guides and websites may use the road information to recommend scenic drives, motorcycle routes, or bicycle trails for tourists, taking into account the suitability of roads for different types of vehicles.

[0085] In an implementation, the road server 140 may be configured to, based on location information related to a location indicated in a ride or delivery request provided by the transaction processing server 108, requestor device 102 or provider device 104, recommend a route for the provider associated with the request based on the provider’s means of transport. For example, it may be indicated in a provider’s user profile that the means of transport is a 2-wheeled vehicle (e.g., a bicycle). Thus, a route may be planned and recommended to the provider (e.g., a recommended route on a map sent to the provider device 104), such that the route may comprise roads that are labelled “2-wheel” that may provide a fastest route to the location indicated in the request.

[0086] Fig. 5 illustrates an example flow diagram for a method 500 for classifying a road based on an image according to various embodiments. In a step 502, a feature associated with a road is identified based on an appearance of the road in an image. In a step 504, a classification result indicative of whether the road is accessible by a 2-wheeled vehicle is generated based on the feature.

[0087] Fig. 6 depict an example computer system 1400, in accordance with which the road server 140 described can be practiced. The computer system 1400 includes a computer module 1401. An external Modulator-Demodulator (Modem) transceiver device 1416 may be used by the computer module 1401 for communicating to and from a communications network 1420 via a connection 1421. The communications network 1420 may be a wide-area network (WAN), such as the Internet, a cellular telecommunications network, or a private WAN. Where the connection 1421 is a telephone line, the modem 1416 may be a traditional “dial-up” modem. Alternatively, where the connection 1421 is a high capacity (e.g., cable) connection, the modem 1416 may be a broadband modem. A wireless modem may also be used for wireless connection to the communications network 1420.

[0088] The computer module 1401 typically includes at least one processor unit 1405, and a memory unit 1406. For example, the memory unit 1406 may have semiconductor random access memory (RAM) and semiconductor read only memory (ROM). The computer module 1401 also includes an interface 1408 for the external modem 1416. In some implementations, the modem 1416 may be incorporated within the computer module 1401 , for example within the interface 1408. The computer module 1401 also has a local network interface 1411 , which permits coupling of the computer system 1400 via a connection 1423 to a local-area communications network 1422, known as a Local Area Network (LAN). As illustrated in Fig. 6A, the local communications network 1422 may also couple to the wide network 1420 via a connection 1424, which would typically include a so-called “firewall” device or device of similar functionality. The local network interface 1411 may comprise an Ethernet circuit card, a Bluetooth® wireless arrangement or an IEEE 802.11 wireless arrangement; however, numerous other types of interfaces may be practiced for the interface 1411.

[0089] The I / O interfaces 1408 may afford either or both of serial and parallel connectivity, the former typically being implemented according to the Universal Serial Bus (USB) standards and having corresponding USB connectors (not illustrated). Storage devices 1409 are provided and typically include a hard disk drive (HDD) 1410. Other storage devices such as a floppy disk drive and a magnetic tape drive (not illustrated) may also be used. An optical disk drive 1412 is typically provided to act as a non-volatile source of data. Portable memory devices, such optical disks, USB-RAM, portable, external hard drives, and floppy disks, for example, may be used as appropriate sources of data to the system 1400.

[0090] The components 1405 to 1412 of the computer module 1401 typically communicate via an interconnected bus 1304 and in a manner that results in a conventional mode of operation of the computer system 1400 known to those in the relevant art. For example, the processor 1405 is coupled to the system bus 1404 using a connection 1418. Likewise, the memory 1406 and optical disk drive 1412 are coupled to the system bus 1404 by connections 1419. Examples of computers on which the described arrangements can be practised include IBM-PC’s and compatibles, Sun Sparcstations, Apple or like computer systems.

[0091] The method 500, where performed by the road server 140 may be implemented using the computer system 1400. The processes may be implemented as one or more software application programs 1433 executable within the computer system 1400. In particular, the method 500 is effected by instructions in the software 1433 that are carried out within the computer system 1400. The software instructions may be formed as one or more code modules, each for performing one or more particular tasks. The software may also be divided into two separate parts, in which a first part and the corresponding code modules performs the method 500 and a second part and the corresponding code modules manage a user interface between the first part and the user.

[0092] The software may be stored in a computer readable medium, including the storage devices described below, for example. The software is loaded into the computer system 1400 from the computer readable medium, and then executed by the computer system 1400. A computer readable medium having such software or computer program recorded on the computer readable medium is a computer program product. The use of the computer program product in the computer system 1400 preferably effects an advantageous apparatus for a road server 140.

[0093] The software 1433 is typically stored in the HDD 1410 or the memory 1406. The software is loaded into the computer system 1400 from a computer readable medium, and executed by the computer system 1400. Thus, for example, the software 1433 may be stored on an optically readable disk storage medium (e.g., CD- ROM) 1425 that is read by the optical disk drive 1412. A computer readable medium having such software or computer program recorded on it is a computer program product. The use of the computer program product in the computer system 1400 preferably effects an apparatus for a road server 140.

[0094] In some instances, the application programs 1433 may be supplied to the user encoded on one or more CD-ROMs 1425 and read via the corresponding drive 1412, or alternatively may be read by the user from the networks 1420 or 1422. Still further, the software can also be loaded into the computer system 1400 from other computer readable media. Computer readable storage media refers to any non-transitory tangible storage medium that provides recorded instructions and / or data to the computer system 1400 for execution and / or processing. Examples of such storage media include floppy disks, magnetic tape, optical disc, a hard disk drive, a ROM or integrated circuit, USB memory, a magneto-optical disk, or a computer readable cardsuch as a PCMCIA card and the like, whether or not such devices are internal or external of the computer module 1401. Examples of transitory or non-tangible computer readable transmission media that may also participate in the provision of software, application programs, instructions and / or data to the computer module 1401 include radio or infra-red transmission channels as well as a network connection to another computer or networked device, and the Internet or Intranets including e-mail transmissions and information recorded on Websites and the like.

[0095] The second part of the application programs 1433 and the corresponding code modules mentioned above may be executed to implement one or more graphical user interfaces (GUIs) to be rendered or otherwise represented upon a display. Through manipulation of typically a keyboard and a mouse, a user of the computer system 1400 and the application may manipulate the interface in a functionally adaptable manner to provide controlling commands and / or input to the applications associated with the GUI(s). Other forms of functionally adaptable user interfaces may also be implemented, such as an audio interface utilizing speech prompts output via loudspeakers and user voice commands input via a microphone.

[0096] It is to be understood that the structural context of the computer system 1400 (i.e., the road server 140) is presented merely by way of example. Therefore, in some arrangements, one or more features of the computer system 1400 may be omitted. Also, in some arrangements, one or more features of the computer system 1400 may be combined together. Additionally, in some arrangements, one or more features of the computer system 1400 may be split into one or more component parts.

[0097] Fig. 7 shows an implementation of the transaction processing server 108 (i.e., the computer system 1300). In this implementation, the transaction processing 108 may be generally described as a physical device comprising at least one processor 802 and at least one memory 804 including computer program codes. The at least one memory 804 and the computer program codes are configured to, with the at least one processor 802, cause the transaction processing server 108 to facilitate the operations described in method 500. The transaction processing server 108 may also include a transaction processing module 806. The memory 804 stores computer program code that the processor 802 compiles to have transaction processing module 806 perform the respective functions.

[0098] With reference to Fig. 1 , the transaction processing module 806 performs the function of communicating with the requestor device 102 and the provider device 104, and the acquirer server 106 and the issuer server 110 to respectively receive and transmit a transaction, a request for a service, delivery, a travel-coordination request, purchasing of a good or service by a user, and other similar services. The transaction processing module 806 may be configured to process processes relating to a transaction by, for example, forwarding data and information associated with the transaction to the other servers in the system 100 such as the road server 140. In an example, the transaction processing server 108 may, instead of the requestor device 102 or provider device 104, transmit data relating to a request (e.g., date, time, a location, and other similar data) to the road server 140. The transaction processing module 806 may use a variety of different protocols and procedures in order to process the payment and / or requests. It will be appreciated that payment for a transaction may be made via a variety of methods such as credit cards, debit cards, digital wallets, buy- first pay-later schemes, and other similar payment methods.

[0099] Fig. 10 shows an alternative implementation of the road server 140 (e.g., the computer system 1400). In the alternative implementation, road server 140 may be generally described as a physical device comprising at least one processor 902 and at least one memory 904 including computer program codes. The at least one memory 904 and the computer program codes are configured to, with the at least one processor 902, cause the road server 140 to perform the operations described in the method 500. The road server 140 may also include a data module 906, an image module 908 and a road module 910. The memory 904 stores computer program code that the processor 902 compiles to have each of the modules 906 to 910 performs their respective functions.

[0100] With reference to Figs. 1 to 7, the image module 908 performs the function of identifying a feature associated with a road based on an appearance of the road in an image. In an implementation, the image module 908 may be configured to assess whether the appearance of the road in the image is insufficient for identifying the feature. In an implementation, wherein the image is a 360° image, the image module 908 may be configured to process the image based on one or more of a roll, pitch and yaw to face the road.

[0101] With reference to Figs. 1 to 7, the road module 910 performs the function of generating a classification result indicative of whether a road is accessible by a 2-wheeled vehicle based on the feature (e.g., identified by the image module 908). In an implementation, the road module 910 may be configured to generate the classification result indicative of whether the road is accessible by a 4-wheeled vehicle based on the feature (e g., identified by the image module 908). In an implementation, the road module 910 may be configured to identify, based on a probability distribution associated with the classification result and one or more other classification results from one or more other images having an appearance of the road, a classification result with a highest probability among the classification result and the one or more other classification results, and generate a final classification result based on the identified classification result. In an implementation, the road module 910 may be configured to determine whether the image is taken at a position that is within a threshold distance from the road based on location coordinates associated with the image, and determine whether the image is to be used for classifying the road based on the determination. In an implementation, the road module 910 may be configured to determine whether the image is taken at a position that is in close proximity to an end of the road based on location coordinates associated with the image, and determine whether the image is be used for classifying the road based on the determination. In an implementation, the road module 910 may be configured to determine whether the image is one of a plurality of images taken at a same position based on location coordinates associated with the image, and generate the final classification result based on a classification result of one of the plurality of images taken at the same position based on the determination. In an implementation, wherein the image module 908 may be configured to assess whether the appearance of the road in the image is insufficient for identifying the feature, the road module 910 may be configured to generate the classification result indicative of whether the image is to be used for classifying the road based on the assessment.

[0102] With reference to Figs. 1 to 7, the data module 906 performs the functions of receiving data and information from the requestor device 102, provider device 104, transaction processing server 108, database 150, a cloud and other sources of information to classify a road based on an image by the road server 140. For example, the data module 906 may be configured to receive data and information required for: identifying a feature associated with a road based on an appearance of the road in an image, and generating a classification result indicative of whether the road is accessible by a 2-wheeled vehicle based on the feature; identifying, based on a probability distribution associated with the classification result and one or more other classification results from one or more other images having an appearance of the road,a classification result with a highest probability among the classification result and the one or more other classification results; and generating a final classification result based on the identified classification result; determining whether the image is taken at a position that is within a threshold distance from the road based on location coordinates associated with the image; and determining whether the image is to be used for classifying the road based on the determination; determining whether the image is taken at a position that is in close proximity to an end of the road based on location coordinates associated with the image; and determining whether the image is be used for classifying the road based on the determination; determining whether the image is one of a plurality of images taken at a same position based on location coordinates associated with the image; and generating the final classification result based on a classification result of one of the plurality of images taken at the same position based on the determination; wherein the image is a 360° image, processing the image based on one or more of a roll, pitch and yaw to face the road; assessing whether the appearance of the road in the image is insufficient for identifying the feature; and generating the classification result indicative of whether the image is to be used for classifying the road based on the assessment; generating the classification result indicative of whether the road is accessible by a 4-wheeled vehicle based on the feature; and other similar processes from the requestor device 102, the provider device 104, transaction processing server 108, database 150, and / or other sources of information. The data module 906 may be further configured to send information relating to data retrieved in response to a request to the requestor device 102, the provider device 104, the transaction processing server 108, or other destinations where the information is required.

[0103] Fig. 8B depicts a general-purpose computer system 1500, upon which a combined transaction processing server 108 and road server 140 described can be practiced. The computer system 1500 includes a computer module 1501. An external Modulator-Demodulator (Modem) transceiver device 1516 may be used by the computer module 1501 for communicating to and from a communications network 1520 via a connection 1521. The communications network 1520 may be a wide-area network (WAN), such as the Internet, a cellular telecommunications network, or a private WAN. Where the connection 1521 is a telephone line, the modem 1516 may be a traditional “dial-up” modem. Alternatively, where the connection 1521 is a high capacity (e.g., cable) connection, the modem 1516 may be a broadband modem. A wireless modem may also be used for wireless connection to the communications network 1520.

[0104] The computer module 1501 typically includes at least one processor unit 1505, and a memory unit 1506. For example, the memory unit 1506 may have semiconductor random access memory (RAM) and semiconductor read only memory (ROM). The computer module 1501 also includes an interface 1508 for the external modem 1516. In some implementations, the modem 1516 may be incorporated within the computer module 1501 , for example within the interface 1508. The computer module 1501 also has a local network interface 1511 , which permits coupling of the computer system 1500 via a connection 1523 to a local-area communications network 1522, known as a Local Area Network (LAN). As illustrated in Fig. 8D, the local communications network 1522 may also couple to the wide network 1520 via a connection 1524, which would typically include a so-called “firewall” device or device of similar functionality. The local network interface 1511 may comprise an Ethernet circuit card, a Bluetooth® wireless arrangement or an IEEE 802.11 wireless arrangement; however, numerous other types of interfaces may be practiced for the interface 1511.

[0105] The I / O interfaces 1508 may afford either or both of serial and parallel connectivity, the former typically being implemented according to the Universal Serial Bus (USB) standards and having corresponding USB connectors (not illustrated). Storage devices 1509 are provided and typically include a hard disk drive (HDD) 1510. Other storage devices such as a floppy disk drive and a magnetic tape drive (not illustrated) may also be used. An optical disk drive 1512 is typically provided to act as a non-volatile source of data. Portable memory devices, such optical disks, USB-RAM, portable, external hard drives, and floppy disks, for example, may be used as appropriate sources of data to the system 1500.

[0106] The components 1505 to 1512 of the computer module 1501 typically communicate via an interconnected bus 1504 and in a manner that results in a conventional mode of operation of the computer system 1500 known to those in the relevant art. For example, the processor 1505 is coupled to the system bus 1504 using a connection 1518. Likewise, the memory 1506 and optical disk drive 1512 are coupled to the system bus 1504 by connections 1519. Examples of computers on which the described arrangements can be practised include IBM-PC’s and compatibles, Sun Sparcstations, Apple or like computer systems.

[0107] The steps of the method 500 performed by the road server 140 and facilitated by the transaction processing server 108 may be implemented using the computer system 1500. For example, the steps of the method 500 as performed by the road server 140 may be implemented as one or more software application programs 1533 executable within the computer system 1500. In particular, the steps of the method 500 are effected by instructions in the software 1533 that are carried out within the computer system 1500. The software instructions may be formed as one or more code modules, each for performing one or more particular tasks. The software may also be divided into two separate parts, in which a first part and the corresponding code modules performs the steps of the method 500 and a second part and the corresponding code modules manage a user interface between the first part and the user.

[0108] The software may be stored in a computer readable medium, including the storage devices described below, for example. The software is loaded into the computer system 1500 from the computer readable medium, and then executed by the computer system 1500. A computer readable medium having such software or computer program recorded on the computer readable medium is a computer program product. The use of the computer program product in the computer system 1500 preferably effects an advantageous apparatus for a combined transaction processing and road server.

[0109] The software 1533 is typically stored in the HDD 1510 or the memory 1506. The software is loaded into the computer system 1500 from a computer readable medium, and executed by the computer system 1500. Thus, for example, the software 1533 may be stored on an optically readable disk storage medium (e.g., CD- ROM) 1525 that is read by the optical disk drive 1512. A computer readable medium having such software or computer program recorded on it is a computer program product. The use of the computer program product in the computer system 1500 preferably effects an apparatus for a combined transaction processing and road server.

[0110] In some instances, the application programs 1533 may be supplied to the user encoded on one or more CD-ROMs 1525 and read via the corresponding drive 1512, or alternatively may be read by the user from the networks 1520 or 1522. Still further, the software can also be loaded into the computer system 1500 from other computer readable media. Computer readable storage media refers to any non-transitory tangible storage medium that provides recorded instructions and / or data to thecomputer system 1500 for execution and / or processing. Examples of such storage media include floppy disks, magnetic tape, optical disc, a hard disk drive, a ROM or integrated circuit, USB memory, a magneto-optical disk, or a computer readable card such as a PCMCIA card and the like, whether or not such devices are internal or external of the computer module 1501. Examples of transitory or non-tangible computer readable transmission media that may also participate in the provision of software, application programs, instructions and / or data to the computer module 1501 include radio or infra-red transmission channels as well as a network connection to another computer or networked device, and the Internet or Intranets including e-mail transmissions and information recorded on Websites and the like.

[0111] The second part of the application programs 1533 and the corresponding code modules mentioned above may be executed to implement one or more graphical user interfaces (GUIs) to be rendered or otherwise represented upon a display. Through manipulation of typically a keyboard and a mouse, a user of the computer system 1500 and the application may manipulate the interface in a functionally adaptable manner to provide controlling commands and / or input to the applications associated with the GUI(s). Other forms of functionally adaptable user interfaces may also be implemented, such as an audio interface utilizing speech prompts output via loudspeakers and user voice commands input via a microphone.

[0112] It is to be understood that the structural context of the computer system 1500 (e.g., combined transaction processing and road server 1500) is presented merely by way of example. Therefore, in some arrangements, one or more features of the server 1500 may be omitted. Also, in some arrangements, one or more features of the server 1500 may be combined together. Additionally, in some arrangements, one or more features of the server 1500 may be split into one or more component parts.

[0113] Fig. 10 shows an alternative implementation of combined transaction processing and road server (i.e., the computer system 1500). In the alternative implementation, the combined transaction processing and road server may be generally described as a physical device comprising at least one processor 1002 and at least one memory 904 including computer program codes. The at least one memory 1004 and the computer program codes are configured to, with the at least one processor 1002, cause the combined transaction processing and road server to perform the operations described in the steps of the method 500. The combined transaction processing and road server may also include a transaction processingmodule 806, a data module 906, an image module 908 and a road module 910. The memory 1004 stores computer program code that the processor 1002 compiles to have each of the modules 806 to 910 performs their respective functions. The transaction processing module 806 performs the same functions as described for the same transaction processing module in Fig. 8. The data module 906, image module 908 and road module 910 perform the same functions as described for the same corresponding modules in Fig. 9.

[0114] It will be appreciated by a person skilled in the art that numerous variations and / or modifications may be made to the present disclosure as shown in the specific embodiments without departing from the scope of the specification as broadly described. The present embodiments are, therefore, to be considered in all respects to be illustrative and not restrictive.

Claims

CLAIMSWhat is claimed is:1 . A method for classifying a road based on an image, comprising: identifying, by a processor, a feature associated with a road based on an appearance of the road in an image; and generating, by the processor, a classification result indicative of whether the road is accessible by a 2-wheeled vehicle based on the feature.

2. The method of claim 1 , wherein generating the classification result further comprises identifying, based on a probability distribution associated with the classification result and one or more other classification results from one or more other images having an appearance of the road, a classification result with a highest probability among the classification result and the one or more other classification results; and generating a final classification result based on the identified classification result.

3. The method of claim 2, wherein generating the final classification result further comprises determining whether the image is taken at a position that is within a threshold distance from the road based on location coordinates associated with the image; and determining whether the image is to be used for classifying the road based on the determination.

4. The method of claim 2, wherein generating the final classification result further comprises determining whether the image is taken at a position that is in close proximity to an end of the road based on location coordinates associated with the image; and determining whether the image is be used for classifying the road based on the determination.

5. The method of claim 2, wherein generating the final classification result on the accessibility level of the road further comprises determining whether the image is one of a plurality of images taken at a same position based on location coordinates associated with the image; and generating the final classification result based on a classification result of one of the plurality of images taken at the same position based on the determination.

6. The method of claim 1 , wherein the image is a 360° image, the method further comprising processing the image based on one or more of a roll, pitch and yaw to face the road.

7. The method of claim 1 , further comprising assessing whether the appearance of the road in the image is insufficient for identifying the feature; and generating the classification result indicative of whether the image is to be used for classifying the road based on the assessment8. The method of claim 1 , further comprising generating the classification result indicative of whether the road is accessible by a 4-wheeled vehicle based on the feature.

9. A system for classifying a road based on an image, comprising: at least one processor; and at least one memory including computer program code; the at least one memory and the computer program code configured to, with the at least one processor, cause the system at least to: identify a feature associated with a road based on an appearance of the road in an image; and generate a classification result indicative of whether the road is accessible by a 2-wheeled vehicle based on the feature.

10. The system of claim 9, wherein generating the classification result further comprises identifying, based on a probability distribution associated with the classification result and one or more other classification results from one or more other images having an appearance of the road, a classification result with a highest probability among the classification result and the one or more other classification results; and generating a final classification result based on the identified classification result.11 . The system of claim 10, wherein generating the final classification result further comprises determining whether the image is taken at a position that is within a threshold distance from the road based on location coordinates associated withthe image; and determining whether the image is to be used for classifying the road based on the determination.

12. The system of claim 10, wherein generating the final classification result further comprises determining whether the image is taken at a position that is in close proximity to an end of the road based on location coordinates associated with the image; and determining whether the image is to be used for classifying the road based on the determination.

13. The system of claim 10, wherein generating the final classification result further comprises determining whether the image is one of a plurality of images taken at a same position based on location coordinates associated with the image; and generating the final classification result based on a classification result of one of the plurality of images taken at the same position based on the determination.

14. The system of claim 9, wherein the image is a 360° image, the method further comprising processing the image based on one or more of a roll, pitch and yaw to face the road.

15. The system of claim 9, further comprising assessing whether the appearance of the road in the image is insufficient for identifying the feature; and generating the classification result indicative of whether the image is to be used for classifying the road based on the assessment.

16. The system of claim 1 , further comprising generating the classification result indicative of whether the road is accessible by a 4-wheeled vehicle based on the feature.

Citation Information

Patent Citations

  • Road bypassing support system of vehicles in hazardous conditions

    CN102208137A

  • Method and system for recognizing license plates of two-wheeled vehicles through deep-learning-based rear shooting

    KR102506971B1

  • Image-based vehicle classification system

    US20190057260A1

  • Method for estimating lane information, and electronic device

    US20190318492A1

  • Information acquisition apparatus

    US20200311444A1