[Talk-cz] Detekce z fotek osmhicheck

Jan Macura macurajan na gmail.com
Středa Leden 10 22:31:14 UTC 2018


Ahoj,

úplně k původnímu tvému problému: kamarád zpracovává (vlastními silami!)
tohle: https://skolajih.cz/smerovky/
Jsou to ručně přepsaný rozcestníky do tabulek, transformovaný do RDF, ze
kterýho se následně generujou ty náhledy. Je to včetně historie. Dělá na
tom teď v rámci diplomky. Vidím prostor pro spolupráci. Netřeba OCRkovat,
jakmile už existuje strojově čitelná podoba ;-)

H.

2018-01-06 21:04 GMT+01:00 Jan Skala <speirs na email.cz>:

> Ahoj,
>
> chtěl jsem se zeptat, co je zač "Detekce z fotek" na
> http://osm.fit.vutbr.cz/OsmHiCheck/
>
> Ptám se proto, že jsem nějakou dobu strávil na způsobem detekce v datech
> (spíše ve fotografiích) zcela chybějících rozcestníků. Dám to sem jen do
> zápisu, protože by se to mohlo třeba hodit, nebo někoho jiného by něco
> napadlo.
>
> Způsob jak najít chybějící rozcestník je celkem jednoduchý. Porovnat naši
> mapu s nějakou turistickou a najít ty, které nám chybí, vypravit se tam a
> zmapovat. Jenže já mám rád věci strojově zpracované a tak jsem vymyslel
> následující systém, který využívá naše fotky. Krok 1: rozepsat každý
> rozcestník do XML, krok 2: projít každý rozcestník a zjistit, jestli jeho
> cíle (položky na tabulkách) existují jako samostatné rozcestníky, pokud ne,
> tak vypsat.
>
> Krok 2 je celkem jednoduchý, je to nějaké XQuery, které má pro formát XML,
> který jsem stanovil takovouhle podobu:
>
> for $dest in timy/tim/cil order by number($dest/@vzdalenost)  let $match
> := timy/tim/jmeno[lower-case(text()) eq lower-case($dest/@jmeno)] let
> $malt := timy/tim/alt[lower-case(text()) eq lower-case($dest/@jmeno)]
> return if (not($match) and not($malt)) then concat($dest/@jmeno,'
> ',$dest/@vzdalenost,' km od ',$dest/parent::*/jmeno/text(),',
> ',$dest/parent::*/@id,'&#xa;') else null
>
> Samotné XML vypadá takhle:
>
> <timy>
>   <tim cislo="761" id="PJ761" oblast="PJ">
>     <jmeno>Neslívský ryb. (rozc.)</jmeno>
>     <alt>Neslívský rybník (rozc.)</alt>
>     <cil vzdalenost="0.5" jmeno="Neslívský rybník"/>
>     <cil vzdalenost="2.5" jmeno="Potoky (háj.)"/>
>     <cil vzdalenost="16.5" jmeno="Mirošov (nám.)"/>
>     <cil vzdalenost="1" jmeno="Pod Lopatou"/>
>     <cil vzdalenost="7.5" jmeno="Nezvěstice (ŽST)"/>
>     <cil jmeno="Hádek háj. (rozc.)" vzdalenost="1"/>
>     <cil jmeno="Zvoníčkovna (NPR)" vzdalenost="4"/>
>     <cil jmeno="Kornatice (ŽST)" vzdalenost="8"/>
>     <cil jmeno="Hádecký potok" vzdalenost="1"/>
>     <cil jmeno="Lopata zříc. (rozc.)" vzdalenost="1.8"/>
>     <cil jmeno="Lopata (zříc.)" vzdalenost="2"/>
>   </tim>
>   <tim cislo="750" id="PJ750" oblast="PJ">
>     <jmeno>Lopata (zříc.)</jmeno>
>   </tim>
>   <tim cislo="641" id="PJ641" oblast="PJ">
>     <jmeno>Pod Lopatou, rozcestí</jmeno>
>     <alt>Pod Lopatou (rozc.)</alt>
>     <cil jmeno="Kozel (kemp)" vzdalenost="3"/>
>     <cil jmeno="Šťáhlavy (ŽST)" vzdalenost="5"/>
>     <cil jmeno="Šťáhlavy (nám.)" vzdalenost="6"/>
>     <cil jmeno="Varta" vzdalenost="4"/>
>     <cil jmeno="Nezvěstice (ŽST)" vzdalenost="5.5"/>
>     <cil jmeno="Hádecký potok" vzdalenost="0.5"/>
>     <cil jmeno="Zvoníčkovna (NPR)" vzdalenost="5.5"/>
>     <cil jmeno="Kornatice (ŽST)" vzdalenost="9.5"/>
>     <cil jmeno="Lopata (zříc.)" vzdalenost="0.3"/>
>     <cil jmeno="Mirošov (nám.)" vzdalenost="9"/>
>     <cil jmeno="Strašice (U Libuše)" vzdalenost="20.5"/>
>     <cil jmeno="Neslívský rybník (rozc.)" vzdalenost="1"/>
>     <cil jmeno="Potoky (háj.)" vzdalenost="3.5"/>
>     <cil jmeno="Rokycany (ŽST)" vzdalenost="11"/>
>     <cil jmeno="Lopata zříc. (rozc.)" vzdalenost="0.3"/>
>     <cil jmeno="Lopata (zříc.)" vzdalenost="0.5"/>
>   </tim>
>   <tim cislo="642" id="PJ642" oblast="PJ">
>     <jmeno>Lopata zříc. (odb.)</jmeno>
>     <alt>Lopata zříc. (rozc.)</alt>
>     <cil jmeno="Hádek háj. (rozc.)" vzdalenost="0.7"/>
>     <cil jmeno="Mirošov (nám.)" vzdalenost="8.5"/>
>     <cil jmeno="Strašice" vzdalenost="20"/>
>     <cil jmeno="Pod Lopatou" vzdalenost="0.3"/>
>     <cil jmeno="Šťáhlavy (ŽST)" vzdalenost="5.5"/>
>     <cil jmeno="Šťáhlavy (nám.)" vzdalenost="6.5"/>
>     <cil jmeno="Pod Lopatou" vzdalenost="0.3"/>
>     <cil jmeno="Zvoníčkovna (NPR)" vzdalenost="5.8"/>
>     <cil jmeno="Kornatice (ŽST)" vzdalenost="9.8"/>
>   </tim>
> </timy>
>
> A výsledek dotazu vypadá třeba takhle:
>
>  Pod Lopatou 0.3 km od Lopata zříc. (odb.), PJ642
>  Hádecký potok 0.5 km od Pod Lopatou, rozcestí, PJ641
>  Hádek (háj.) 1 km od Hádek (hájovna,rozc.), PJ763
>  Pod Lopatou 1 km od Neslívský ryb. (rozc.), PJ761
>  Hádecký potok 1 km od Neslívský ryb. (rozc.), PJ761
>  Hádek háj. 1.5 km od Zvoníčkovna (NPR), PJ644
>  Pod Lopatou 1.5 km od Neslívský rybník, PJ678
>
> ...
>
> A říká, který rozcestník chybí a který na něj odkazuje, aby se snadno
> určila přibližná poloha. Třeba položka vzdálenost není nutná, ani ten ref
> není důležitý. Problém je, kde získat přepis těch tabulek. Kostra je daná
> OSM daty, kdy víme, jak se rozcestník jmenuje. Ale potřebujeme také odkaz
> na sousední rozcestníky, které nám v datech třeba chybí. Proto je třeba z
> fotek získat destinace. Ručně opisovat, to šílenost (pro jednoho člověka),
> proto jsem tuhle cestu jako celek zavrhl. Nicméně, když jsem viděl "detekce
> z fotek" tak mi svitla naděje na strojové čtení :) proto se ptám. A jak
> říkám, dávám to do zápisu, aby moje celkem několikahodinová práce úplně
> nezapadla.
>
> Na závěr jen dodám, že nevím kolik procent všech rozcestníků (KČT) nám
> chybí, a jestli to má vůbec cenu, ale programování zdar!
>
> Honza, http://osm.paws.cz
>
>
>
>
> _______________________________________________
> Talk-cz mailing list
> Talk-cz na openstreetmap.org
> https://lists.openstreetmap.org/listinfo/talk-cz
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <https://lists.openstreetmap.org/pipermail/talk-cz/attachments/20180110/1f065640/attachment.html>


Další informace o konferenci talk-cz