De Tula a Berlim: análise do Instagram das cidades


Não é segredo que no Instagram você pode encontrar fotos de qualquer cidade grande. E se tentarmos reconstruir o quadro inteiro a partir de fragmentos? As informações obtidas ajudarão a compreender a idéia de lugares desconhecidos e serão úteis para os viajantes, complementando os guias de viagem tradicionais.

A idéia de analisar cidades por foto geralmente não é nova [ 1 , 2 , 3 ], mas, francamente, os artigos encontrados não contam muito.

Como coletar dados do instagram é um tópico abordado repetidamente e que não é considerado neste artigo. Algo pode ser extraído da API, mas se não houver acesso a ela, existem opções alternativas .

Nossas ferramentas básicas serão Python e Plotly. No final, existem links para os laptops GitHub e Jupyter para diferentes cidades (os gráficos são interativos, portanto, contêm mais informações e são recomendados para o contato pessoal). Os scripts para coleta de dados também estão incluídos no repositório.

Neste artigo, caminharemos por Berlim. O conjunto de dados considerado neste artigo contém cerca de 100k fotos para ~ 2k locais.

Para cada local, precisaremos de:

  1. Título
  2. Coordenadas
  3. Foto (10-100 unid.)
  4. O número de postagens (a variável edge_location_to_media na página de localização, ela não aparece na documentação, mas por indicações indiretas significa exatamente isso)


Primeira caminhada


Coloque os dados no mapa. Para destacar os lugares mais movimentados, combinamos os locais localizados na mesma rua em um marcador. Os mapas serão desenhados usando o Mapbox.


Mapa de Berlim. Marcadores mostram o número de locais

Vamos nos familiarizar com os principais nomes de lugares. Para fazer isso, precisamos converter as coordenadas dos locais em endereços - esta é a tarefa de geocodificação reversa. Para resolvê-lo, foi usada a API de geocodificação do Google. Depois de coletar dados geográficos, classificamos as ruas e áreas pelo número de locais.


Para cidades como Moscou, as informações sobre os distritos não são muito importantes, tudo no centro é o mesmo, mas Berlim é mais heterogênea e, portanto, é útil distinguir, por exemplo, Kreuzberg de Prenzlauer Berg .

Vejamos uma lista de lugares classificados por popularidade.

Locais principais
location, edge_location_to_media
Alexanderplatz Berlin, 695533
East Side Gallery, 537034
Brandenburger Tor, 525004
Berliner Dom, 411376
Berlin Kreuzberg, 364077
Berlin Mitte, 340891
Memorial to the Murdered Jews of Europe, 251433
Berlin Wall, 228749
Kreuzberg Berlin Germany, 218383
Potsdamer Platz, 182316
Checkpoint Charlie, 171895
Brandenburg Gate, 143530
Mercedes Benz Arena Berlin, 143498
Zoo Berlin, 140465
Berlin Hauptbahnhof, 138153
Gendarmenmarkt Berlin, 114615
Berliner Fernsehturm, 106127
Friedrichshain, 104376
Reichstag dome, 101895
Berlin Germany, 97402
East Side Gallery Berlin Wall, 96385
Jüdisches Museum Berlin Jewish Museum Berlin, 94647
Berlin the place to be, 92444
FAR AWAY, 91062
Berlin Reichstag, 90945
Museum Island, 84010
Potsdamer Platz Berlin, 80733
Hamburger Bahnhof Museum für Gegenwart Berlin, 79323
Kurfürstendamm, 75632
KaDeWe, 73312
Pergamonmuseum, 71524
Tempelhofer Feld, 70472
Azad Gence, 69566
Reichstag building, 69028
Tiergarten Berlin Germany, 65391
Berghain Panorama Bar, 60807
Mall of Berlin, 60718
Schöneberg Berlin Germany, 60482
Tiergarten Berlin, 60210
Hackescher Markt, 59899
Klunkerkranich, 59661
Berlin Victory Column, 57304
Berlin Prenzlauer Berg, 56705
Madame Tussauds Berlin, 55351
Hackesche Höfe, 55183
Bikini Berlin, 50920
Alexanderplatz, 48875
Alte Nationalgalerie, 48346
Museum für Naturkunde Berlin, 46786
The Wall Of Berlin, 46708
NENI Berlin Monkey Bar, 44770
Flughafen Berlin Tempelhof, 44197
Columbiahalle, 43717
Brandenburger Tor, 43484
Berlin Germany, 42739
Warschauer Straße, 41897
Reichstag, 41321
Berlin Holocaust Memorial, 39930
Brandebourg Tor Berlin , 38949
Berlinische Galerie, 37947
Sony Center, 37539
Berliner Philharmonie, 37431
Konzerthaus Berlin, 36905
Tempodrom, 35982
Berlin Mitte, 35895
Friedrichshain, 34693
Urban Spree, 34613
Kraftwerk Berlin, 34392
Bode Museum, 34205
Bundestag, 33998
SONY Center Berlin am Potsdamer Platz, 33628
Berlin Brandenburger Tor, 33098
Brandenburger Tor, 32857
Berlin Zoological Garden, 32718
Deutsches Historisches Museum, 32604
Humboldt Universität zu Berlin, 32308
C/O Berlin, 32294
Astra Kulturhaus Berlin, 30082
Badeschiff Berlin, 30007
Markthalle Neun, 29989
Michelberger Hotel, 29444
Altes Museum, 29009
Hotel Adlon Kempinski Berlin, 28889
Mauerpark, 28282
YAAM Berlin, 27925
Mitte, 27681
Hofbräu Berlin, 27561
Huxleys Neue Welt, 27546
Oberbaum Bridge, 27131
Friedrichstadt Palast Berlin, 27009
STATION Berlin, 26816
Velodrom Berlin, 26385
Moabit, 26350
Neues Museum, 26346
Gedächtniskirche, 26316


Mistura lugares “formais” (monumentos, museus, galerias) com “informais” (clubes, bares, lojas). Para separar um do outro, precisamos de dados da Wikipedia; ao contrário do instagram, sua API está disponível para todos os participantes na íntegra. Em um eixo, adiamos o número de postagens no instagram, por outro, o número de vezes que um artigo da Wikipedia foi visualizado sobre esse lugar. Nesta figura, os locais mais "formais" serão localizados nos locais mais altos e mais populares à direita.

Para reduzir erros, agruparemos os locais ao longo das ruas, como em um mapa. No processo de seleção de artigos para locais, alguns dados são perdidos, portanto a imagem conterá menos pontos que o mapa.
Gráfico Insta-wiki. Para várias ruas, os lugares mais significativos são marcados. Veja o laptop para mais informações.

Onde ir para tirar uma selfie? Estime a proporção de fotografias contendo rostos. O OpenCV e a cascata Haar nos ajudarão com isso.
Compartilhe fotos contendo rostos. Os pontos no lado direito da imagem são lugares populares para selfies (bem ou vaidades)

Indo mais fundo


Em seguida, aplicamos uma rede neural para determinar o ambiente nas fotografias. Usamos o CNN Places365 , treinado em um conjunto de dados compilado no MIT [4] . As tags mais adequadas para esta tarefa foram selecionadas. Descubra quais são mais comuns:
Classificação de tags. Nomes deixados originais. Eles não precisam ser tomados literalmente: martial_arts_gym é mais como uma academia, e uma etiqueta de discoteca pode simplesmente marcar uma sala escura

Vamos ver quais tags correspondem às ruas:

O mesmo no mapa:


Mapa de Berlim com as etiquetas mais características. Confira a etiqueta da discoteca à direita - é Friedrichshain, um vibrante distrito de vida noturna

Olá, Olá, Hola


Uma maneira de aprender algo sobre uma nova cidade é compará-la com a que você conhece. Tomamos vetores de características para localizações de duas cidades e, usando t-SNE, obtemos coordenadas bidimensionais. Para maior clareza, a figura oculta locais situados na área da cidade do oponente.

Comparação de locais em Berlim e Moscou. Os rótulos indicam a característica dominante no campo. Clusters de cores diferentes, localizados um ao lado do outro, indicam pontos de contato entre cidades, ou seja, locais semelhantes

Vejamos a diferença de sinais:
A diferença de sinais entre Berlim e Moscou. Parece que em nossa capital fotografamos com mais frequência em academias e provadores

Artigos
1. Como estudar a cidade no Instagram
2. O que nós Instagram: uma primeira análise do conteúdo de fotos e tipos de usuários do Instagram
3. Ampliando uma cidade do Instagram: lendo o local através da mídia social
4. Locais: um banco de dados de imagens de 10 milhões para reconhecimento de cenas

Computadores portáteis
Tula , Moscou , São Petersburgo , Berlim , Roma , Hong Kong

Github
github.com/pskryuchkov/voyage

Source: https://habr.com/ru/post/pt447132/


All Articles