Giter Site home page Giter Site logo

macad-aia22-a.eye's Introduction

A.EYE

Many cities around the world are fast becoming more and more diverse, and increasingly multicultural; a mosaic of culture and heritage, blending belief systems, habits, cultures, foods and style from all over the world; making for a rich and vibrant city where difference is celebrated. With increasing diversity, city dwellers will have to negotiate identities and their differences such as language, race, class and many other factors important for self identification, forging connection with city on a personal level, and on the macro scale,diversity representation in formal systems need to capture minority groups for intercultural integration, and inclusivity in cities. A.EYE is a tool that uncovers the multiculturalism of Vienna in the allocative scale, showing diversity and inclusivity in terms of age, gender, ethnicity and religion.

Methodology overview

This project tackles the problem in two scales. One on hand, it maps the diversity of vienna, visually showing the ethnicity, age,gender and religious diversity of the city in static layers on a map. On the other hand, it provides a users with a tool that allows them find relatable spaces in the city. Designed for residents, tourists, and immigrants, the tool connects users to Points of Interests (POI) based on their profiles and preferences, and generates optimum routes to selected POIs

Methodology overview

DATA COLLECTION, ANALYSIS & METRICS

The two main sources of data collection are Vienna Open Gov Data and OpenStreetMap(OSM).

  • CITY GRAPH: We extracted the MultiDi graph of the city from through osmnx library.

  • DEMOGRAPHICS: We collected demographic data available from open gov data. While the information is rich and shows varieties in religion, income, age demographics, There were certain generalisations that excluded minority groups. For example, gender was classified as male and female, and ethnicity was reduced to just austrian and foreigners.

    Sources

    • Demographic data: Vienna Open Gov Data (see 'How to use this repo' for more info)
  • PUBLIC SPACE DATA (POINTS OF INTEREST - POI): Places where people meet and infrastructure serving basic needs are good indicator’s of a city’s multiculturalism. Therefore, we collect data on public and recreational establishments, such As restaurants, playgrounds, and sports & leisure centres.

    Sources

    • Restaurant Metadata: osmnx API (see 'How to use this repo' for detailed description)

The diversity of the city's public establishment was calculated using Hill's Numbers. For this project, we have applied the formula to only the ethnic diversity parameter; however, it can be applied to any other parameter for which the diversity index is required. See (How to use this repo) below for more information.

  • URBAN IMAGE DATA & ACCESSIBILITY: Given the navigation component of the project, we needed to extract information relevant to pleasant and inclusive mobility within the city. Urban Image data included tree locations to identify green and shaded streets, urban density, comfort infrastructure - drinking fountains, public restrooms). For accessibility, we collected data on tactile sidewalks, acoustic signals, sidewalk widths, low-sidewalk points (for wheelchair mobility) and metro-elevator locations. These factors were scored on a continuous scale of 0 to 1.

    Sources:

    • Tree locations, comfort infrastructure, accessibility infrastructure: Vienna Open Gov Data;
    • Urban density: Image Segmentation of Street Views

Our integration of AI was to extract more generic and perceptual forms of data.We analysed some streetview image datasets, segmented them and measured their specific pixel count to measure a certain metric. (see AI section for detailed How-to). Open data may not be available in some locations. In such instances AI and Image segmentation methodology highlighted below becomes useful for data extraction.

AI - IMAGE SEGMENTATION FOR DATA COLLECTION

  1. DATA COLLECTION: Sourced Street View Imagery from government Open Data (which was a test dataset for public access, with limited city coverage). To make up for the data gap, additional Imagery was scraped from the web - Mapillary, in this case, through the entire city. Data is located in the /AI folder.

  2. PSPNet for Semantic Segmentation: To segment the streets for quantification and comparison of its Urban characteristics, specifically the density of Urban Infrastructure such as buildings, semantic segmentation was performed on the collected Street View Images. The PSPNet Model was used which was pre-trained on the Cityscapes Dataset.

MATCHING USERS WITH POINTS OF INTEREST(POI)

To match users with relatable public establishments, the web app takes in two sets of inputs. The first set related to the user's profile include With A.EYE, You can find yourself within Vienna as a route which matching your preferences and diversity of Vienna. It takes only 3 steps. Answer simple questions, set start and end points, and boom, you can enjoy Vienna matched to your preferences

  • PROFILE: The first set related to the user's profile includes:

    • Age: Child, Young, Elderly
    • Gender: Male, Female, Others
    • Ethnicity: Afro-Carribean, Asian, South-Asian, Middle-Eastern, Latin-American, European
    • with Kids: Checkbox
    • Special needs: Visual or physical.
  • PREFERENCES

    • Formality: Slider input
    • Urban Image: Slider input
    • Urban Density: Slider input

Given these inputs, the webapp outputs 20 POIs closest to the location of the user. On clicking on any of the POIs, the webapp generates a route to the selected POI.

HOW TO USE THIS REPO

  1. DATA COLLECTION: Collect data from open gov sources as API endpoints (in json format). All api endpoints for this project are located in 03.Colab/endpoints.json.

  2. GENERATE CITY GRAPH AND CALCULATE URBAN IMAGE & ACCESSIBILITY: To generate city graph and metrics for accessibility and urban image, use 03.colab/city-graph_urban-metrics.ipynb

    • To generate city graph, the place name must be geocodable with admnistrative boundary.
    • Load api endpoints of data for different metrics under urban image. Alternatively, you could download data as json or csv and load into the colab.

    Section 02_Public Image and comfort outputs two geojsons (city_graph.geojson and city_nodes.geojson). city_graph.geojson contains city edges with normalised indices for various urban_image parameters. Save the geojson files into a google drive location (set google drive location as root parameter in city-graph_urban-metrics.ipynb).

    Section 03_Accessibility outputs two geojson files (acc_visual_friendly.geojson and acc_wheelchair_friendly.geojson). Save the two files into a google drive location as recommended for Section 02.

  3. PUBLIC SPACE DIVERSITY: To generate Point of interest diversity data, use 03.colab/poi.ipynb

    • downlaod POIs using osm tags {feature:values} to filter and select various types of public spaces. For this project, we used the following features and values:

      • wine_dine_tag={'amenity':['bar','pub', 'cafe', 'restaurant', 'fast_food','biergarten', 'food_court', 'ice_cream', 'arts_cemter', 'nightclub', 'brothel', 'casino', 'cinema', 'gambling', 'stripclub', 'swingerclub', 'theatre']}
      • leisure_tag= {'leisure':True}
      • shop_tag={'shop':True} #for analysis
      • religion_tag={'amenity':'place_of_worship', 'religion':True}
      • tourism_tag={'tourism':True}

    Refer to OSM Map features for a list of accessible features.

    • This poi.ipynb file outputs a geojson file (poi.geojson) to be used with 03.colab/POI_live_layer.py. Save the poi.geojson file to a google drive location.
    • The poi.ipynb file also returns geojson files for the diversity index and point files for the different diversity parameters chosen. Save these geojson files to 01.Data/static layer folder for use on webapp. Methodology overview
  4. MATCH USERS TO POINTS OF INTEREST: To generate matching points of interest, use POI_live_layer.py. Create a url link for poi.geojson and add link as the url location for poi_url in POI_live_layer.py

  5. PLOT ROUTE TO SELECTED POINT OF INTEREST: To generate route to selected POI, use ROUTE_live_layer.py. Create url links for each of the following: city_graph.geojson, city_nodes.geojson, acc_wheelchair_friendly.geojson and acc_visual_friendly.geojson. Replace the links for each corresponding parameter in ROUTE_live_layer.py

macad-aia22-a.eye's People

Contributors

damiakinniyi avatar takeaki23 avatar maryamagd avatar

Forkers

damiakinniyi

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.