minerva

An interactive Android-based solution for enriching the cultural experience in the Eternal City.

View the Project on GitHub

Welcome To Minerva</h2> An interactive Android-based solution for enriching the cultural experience in the Eternal City.

Table of Contents

</tbody> </table>

Objectives

Development of an Android application which takes the camera mirror image, and retrieves from the cloud interactive information about the place it's aiming. Currently the landmark recognition feature provided by the Google Cloud Vision API. Click here to know more about this technology offered by Google. The Minerva application has been thought for being used in Rome, but the application offers the landmark recognition service world-wide.

Good to know

Architecture

responsive
Classification Explanation
Server Side responsive

We used Google Cloud Platform as the backbone of Minerva

API responsive

We used Google Map API as our location Service

API responsive

We used Wikipeda API to gather Information about the place

Design

Page Screenshot

Main Page

responsive responsive

Gallery

responsive

Camera

responsive

Response

responsive

Wiki page

responsive

Communication with Services

In the left side of the picture we have the Minerva solution which is installed in an Android device. In its first version the application has been developed to work on Android platforms that goes from the Android API Level 17 (version 4.2) up to the API Level 25 (version 7.1). In addition to do that it is completely assumed the provision of a camera on the device. The application runs according the activity flow sequence shown in the previous section. Whenever the application selects an image (either from the camera through the CameraActivity or from the device image gallery through the GalleryActivity) it is sent a HTTP POST request message to the Google Cloud Vision API. The Google Cloud Vision API address is https://vision.googleapis.com/v1/images:annotate? key=appKey where appKey refers to the API that is given to the application having registered it within the Cloud Vision API internal system. The request message also transports a JSON message within its payload in which is inserted the landmark image compressed as well as an indication about which feature of the Vision API we want to use which in the application case is landmark recognition. Having received the landmark name plus its coordinates, this is internally saved in the application state, and then it is presented to the user the ResultActivity interface. Within this module it is called the service of the Wikipedia API. For this case the request is a simple HTTP GET message in which the request attributes are put in the URL query string. The following string is a call example towards the Wikipedia API. https://en.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exintro=&explaintext=&titles=Colosseum&redirects=1 The basic address is of the API is https://en.wikipedia.org/w/api.php. The rest of the string are the parameters used for the call. The format parameter explains how we expect to receive the data, in this case we set JSON. The action and prop attributes indicate that this call wants to query article extracts. The motivation of this specification is because the Wikipedia API is more than query articles. The Wikipedia API provides other services such as modify articles meta-data or even modify an article. The exintro parameter specify that we are only interested just in the extract introduction instead of the whole article. The explaintext parameter indicates to the service that we want to receive the article extract in plain-text format (e.g. without HTML or other special tags). The titles parameter indicates which is the article extract that we are looking for (e.g. the extract about the Colosseum). Finally, the redirects parameter will redirect the search to the article extract with more similarity on the name. This last parameter is very useful since we are working with data and names that come from different systems (Google and Wikipedia respectively). For instance, if the Google Cloud Vision API gives as a response “Trevi Fountain”, and in other hand the article name about the Trevi Fountain is called instead “The Fountain of Trevi” the redirects parameter will achieve the match between these two strings thereby assuring a correct response.The response of this service call to the Wikipedia API will be a JSON object that will embedded the article in one of its attributes. The parsing is handling by the application in order to show to the user the information about the landmark.

Road Map

Phase Chart

ALL

responsive

Why the name of Minerva?

Minerva was the Roman goddess of wisdom, knowledge & the sponsor of arts. Through her name we want to transmit to the user the feeling that our solution in development is the right choice for letting him/her know quickly about whichever cultural spot that he/she might find in Rome. responsive</p>See the application video on YouTube

Slides

Series
First responsive Team presentation and project proposal
Second responsive User Experience and System Design
Second responsive Introductory slides used for the presentation of our MVP
Second responsive Final presentation

Tests Videos

</tbody>
Video
Camera Test responsive A video on YouTube testing using an image of the device's Camera
Gallery Test responsive A video on YouTube testing using an image of the device's gallery

Report

- Technical Report - A paper presenting a technical review of the application as well as other general considerations

Contributions

- Julio César Carrasquel - Linkedin: https://www.linkedin.com/in/julio-césar-carrasquel-b5729844/ - Email: carrasquelgamez.1726154@studenti.uniroma1.it - Razieh Akbari - Linkedin: https://www.linkedin.com/in/razieh-akbari-2019b075/ - Email: raziehakbari409@gmail.com