Otázka:
Byl můj nápad na časosběrnou techniku ​​použit už dříve?
Karl
2020-03-30 15:13:06 UTC
view on stackexchange narkive permalink

Nedávno jsem přemýšlel o technice časosběrného snímání a chtěl bych vědět, jestli pro ni existuje název, nebo zda již byla široce používána.

Chci si vzít časosběrnou zahradu na 1 snímek denně po dlouhou dobu, řekněme jeden rok (podobně jako tento příspěvek): Uplynutí časového limitu mého dvorku po dobu 1 roku

Je zřejmé, že s touto metodou je velký problém je to, že v obraze existuje mnoho věcí, které způsobí blikání nebo chvění, jako jsou různé úrovně jasu od mraků, východu a západu slunce a vítr, který fouká stromy.

Mým nápadem bylo použít malinovou pí tisíce obrázků denně, řekněme jeden každých pár sekund, a kromě jednoho je všechny smažte v daný den. Ten, který je uchován, je ten, který je nejblíže rámečku z předchozího dne.

Napsal jsem jednoduchý skript pro výběr nejlepšího snímku pro daný den porovnáním pixelu po pixelu a výběrem rámečku s minimálním součtem čtvercových rozdílů.

Je zřejmé, že první snímek musí být být vybrán ručně.

Počáteční výsledky po týdnu vypadají slibně, bylo možné získat snímky pro každý den s minimálním vzájemným rozdílem.

Chci vědět, jestli se jedná o nová technika, nebo pokud již byla zkoumána dříve a existují nějaké další rady nebo tipy, které o této konkrétní metodě objevili další lidé.

Upravit: Tomuto tématu byla věnována mnohem větší pozornost, než jsem čekal, takže udělám několik poznámek o věcech často uváděných v obsahu.

  • Stíny : Pokud jsou na scéně silné stíny, bude to znamenat, že je třeba obrázky vybírat téměř přesně ve stejnou dobu každý den, aby se zabránilo trhaným stínům způsobeným sluncem v různých úhlech. Zjistil jsem, že se tomu mohu snadno vyhnout výběrem prvního snímku, když scéna není osvětlena přímým slunečním zářením, například za úsvitu nebo za soumraku nebo když je lehká oblačnost. Obvykle je každý den několik hodin, kdy je dostatek světla pro dobrou fotografii, ale žádné přímé stíny, a osvětlení je ve střední úrovni, takže je docela snadné najít rámeček s odpovídajícími úrovněmi světla další den.
  • Sněžení nebo jiné objekty, které nejsou na scéně příliš dlouho . Je zcela jasné, že pouze srovnání s rámcem z předchozího dne v nákladové funkci může způsobit některé docela velké problémy. Abychom tomu zabránili, určitě by pomohlo použít více než jeden předchozí snímek v nákladové funkci. Není jasné, jak přesně to udělat, protože mě napadá několik různých technik, ale budu experimentovat s několika. Mohlo by to zahrnovat vytvoření nákladové funkce jako součet rozdílu mezi předchozím rámcem a také prvním rámcem nebo konstrukci umělého rámce pro dnešní nákladovou funkci pomocí modálního nebo průměrného pixelu z rámců za posledních 5 dní (částka není jistá).
  • „Jednoroční timelapse většiny podobných snímků může vypadat trochu nudně a nudně, protože v sekvenci by sotva došlo k nějaké„ změně “ . Algoritmus se samozřejmě pokusí skrýt změny, pokud je to možné, jako jsou změny jasu nebo změny polohy stromů při větru, ale existují věci, které se změní sekvence, kterou algoritmus nemůže skrýt, například rostliny, které postupně rostou v průběhu času, což mě zajímá.
  • „Mějte na paměti, že 365 obrázků poskytuje velmi krátké video rychlostí 30 snímků za sekundu“ : To je velmi pravda, pravděpodobně půjdu na něco jako 10 snímků za sekundu.

Pro ty, kteří mají zájem vidět výsledky mého projektu, mám v úmyslu umístit kód na github a propojit jej zpět sem, jakmile jsem ho uklidil a opravil několik menších problémů. Odkážu také zpět na vygenerovaná videa, ale získání těchto výsledků samozřejmě může trvat dlouho.

Odpovědi zde mi dávají dostatek nápadů k implementaci alespoň 3 různých algoritmů a já aby kód umístil výstupy do různých složek, aby byly zcela oddělené. Bude zajímavé sledovat, jak se výsledná videa liší.

Pokud máte pouze jeden obrázek denně, nemůžete mít východ i západ slunce ... IMHO problém s vaší technikou spočívá v tom, že můžete nakonec vybírat obrázky, kde jsou stíny v opačných směrech, a to může být ještě problematičtějšínež různé úrovně světla (které lze vyrovnat).
@xenoid: Mít stíny v opačných směrech bude znamenat náklady a s dostatečným počtem snímků pořízených za den by tyto náklady měly být možné optimalizovat.Jinými slovy by mělo být snadné najít následující den obrázek se stínem ve stejném směru a mít stín ve stejném směru bude minimalizovat rozdíl, což bude mít za následek vysokou pravděpodobnost výběru tohoto obrázku.
Skvělý nápad!Plánujete zpřístupnit skript?
@kahovius: Ano, ale než to udělám, bylo by velmi užitečné vědět, zda někdo jiný udělal něco podobného, či nikoli, a proto otázka!
V takovém případě můžete zkrátit časový rámec snímání na několik hodin denně, takže všechny vaše stíny budou stejně zaručeně zhruba stejným směrem.Ale i když to dělám, mám vnitřní pocit, že skončíte s trhanými stíny.
@xenoid: Zjistil jsem, že obvykle existuje několik hodin denně, kdy je dostatek světla pro dobrou fotografii, ale světlo není přímé, takže zde nejsou žádné stíny.Například když je slunce těsně pod obzorem nebo za mraky.
Jak váš algoritmus zvládne první sněžení?:)
@ pipe: pro takové situace si myslím, že by to pomohlo, aby nákladová funkce převzala rozdíl nejen z předchozího rámce, ale také z některých rámců před tím, případně sečtěte rozdíl mezi předchozím rámcem a vždy prvním rámcem?
Cena = rozdíl (rámec n, rámec n-1) + rozdíl (rámec n, rámec 0)
@xenoid OP by to mohl napravit omezením obrázků na pevnou dobu každý den, řekněme mezi 13:00 a 14:00, kdy se délka a směr stínu příliš nemění a jas bude pravděpodobně dobrý.Malá základní korekce expozice roztřídí všechny drobné nesrovnalosti.
@Graham Již to řekl v komentáři (5. dolů)
Jako vývojář, který má rád fotografování, si myslím, že váš projekt je opravdu skvělý.Rád bych však poukázal na to, že jednoroční timelapse většiny podobných snímků by mohl vypadat trochu nudně a nudně, protože v sekvenci by sotva došlo k nějaké „změně“.Např .: zima → šedá a zataženo, léto → jasno a slunečno;pokud je váš první snímek pořízen v zimě, váš algoritmus by mohl vybrat letní obrázky, kde světlo nebylo tak jasné, možná ty, kde osamělý mrak právě náhodou ztlumil barvy, aby lépe odpovídaly zimním.Očekával bych, že 1 rok timelapse vykreslí sezónní změny lépe než to.
Navrhoval bych nesmazat „nepoužité“ fotografie.Pokud jsou vaše fotografie 10 MB, celkový prostor na disku pro fotografii každých 5 minut během denního světla by byl 500 GB, což je zcela zvládnutelné, a nikdy nevíte, co by se na tomhle „jiném“ obrázku mohlo skutečně odehrávat!
Dobrý den, nemohu odpovědět na vaši otázku, ale možná budete chtít zkontrolovat [to video] (https://www.youtube.com/watch?v=WTGmxCpo89c) od Sama Morrisona.Je to video složené z více než tisíců obrázků z Instagramu.Je to „trochu“ podobné vašemu projektu.
Pokud vyberete fotografii ráno a následující den budou všechny fotografie z té doby díky dešti mnohem tmavší, fotka z odpoledne může být mnohem bližší, přestože má stíny v jiném směru.Neexistuje žádná záruka, že budou vybrány stejné stíny.
Nejsem si jistý, co s tím chcete dělat na konci, ale mějte na paměti, že 365 obrázků poskytuje velmi krátké video rychlostí 30 snímků za sekundu.
Nebylo by možné zahodit „nepřijatelné“ (tj. Černé / noční nebo velmi brzké ráno) obrázky a poté společně zprůměrovat některé, řekněme, 100 snímků _ ve stejný den_, nefungovalo lépe?To by mělo skončit s velmi znatelnými změnami jasu a amortizovat stíny z větší části, protože něco je buď ve stínu ráno nebo odpoledne, obvykle ne obojí.Rovněž by se vypořádalo s pohybujícími se objekty nebo lidmi, kteří procházejí scénou, kteří byli retušováni, as hlukem.Rovněž by umožnil padat sníh (za předpokladu, že se nerozpustí do 2–3 hodin) a příznivě se vyrovnal s hodinovou dešťovou srážkou.
@user69960: Problém s průměrováním spočívá v tom, že (například) způsobí, že strom, který fouká vítr, bude vypadat rozmazaně
To je pravda, ale výběr jediného snímku není o moc lepší, způsobí to divoké trhání a způsobí, že lidé a objekty vyskočí a zmizí z existence.Nejsem si jistý, že to tak vypadá opravdu lépe.Podívejte se na výše uvedené propojené video vytvořené z instagramových obrázků.Udělejte to však pouze tehdy, pokud netrpíte epilepsií, víte ... to je pro zdravé lidi docela znepokojivé.
@user69960: Proto pracuji na tomto „nejpodobnějším“ algoritmu, jehož cílem je mít výhody obou.Mělo by to co nejvíce minimalizovat trhavost a množství věcí, které se objevují a odcházejí, a také by nemělo být rozmazané.
Zatím jsem zjistil (dva týdny fotek), že trhavost je extrémně minimální.Pokud pořizujete tisíce fotografií denně, nakonec najdete tu, kde jsou správné světelné a větrné podmínky
šest odpovědi:
user91253
2020-03-30 15:43:15 UTC
view on stackexchange narkive permalink

No, jedná se o takzvaný chamtivý algoritmus, který může zbytečně vést do slepých uliček, které jsou drahé znovu se dostat ven. Pokud místo toho chcete minimalizovat celkovou změnu, ponecháte si všechny obrázky a pro každý obrázek zaznamenáte a) nejlepší předchozí obrázek pro optimální sekvenci, která sem dorazí b) náklady na příjezd sem prostřednictvím optimální sekvence.

Porovnání můžete ořezat tím, že si všimnete, že jakákoli sekvence, která je již dražší než aktuální optimální kandidát, aniž by přidala nejnovější vzdálenost, může být zrušena bez provedení skutečného srovnání. Obrázky, které skončí v „mrtvých sekvencích“, které nikdy nemohou být součástí optimální sekvence, bez ohledu na to, co přijde dál, lze zcela prořezat. Tímto způsobem je omezena aktivní sada obrázků, které je třeba uchovat, i když s podobností vašich obrázků může docházet k „blízkým rasám“ po dlouhou dobu, kdy bude mnoho kandidátů aktivní.

+1 To dává dokonalý smysl a je to skvělý doplněk k technice, na kterou jsem nemyslel.Bez jakéhokoli takového omezení může dojít k posunu po dlouhou dobu do nežádoucího stavu, například k posunu do noci.Ačkoli to přesně neodpovídá na otázku: víte o této technice, kterou již dříve poznali nebo studovali jiní?
Tento přístup je dobrým kandidátem na takzvané dynamické programování.Chcete-li najít cestu minimálního rozdílu, abyste se dostali do 10. dne, jednoduše přidejte náklady na krok k nákladům na minimální rozdíl pro každou volbu dne 9. Chcete-li najít tyto cesty minimálního rozdílu k dni 9, přidejte náklady na krok na minimum-diferenční cesty stojí za 8. den atd.S N obrazy v každém z T časových bodů je to spíše O (TN ^ 2) než O (N ^ T) naivní metoda sestavování každé sekvence od nuly.
Ekvivalentní způsob (k řešení dynamického programování @NuclearWang's), o kterém přemýšlíte, je to, že vytváříte graf uzlů O (TN) obsahující hrany O (TN ^ 2), pak najdete nejkratší cestu.Výhodou tohoto postupu je, že stačí vypočítat sousedy uzlů, které se během vyhledávání skutečně rozšíří.
Jinými slovy, Dijkstrův algoritmus
scottbb
2020-03-30 17:40:02 UTC
view on stackexchange narkive permalink

To, co popisujete, je podobné tomu, co astrofotografové nazývají šťastným zobrazováním (neboli skvrnitým zobrazováním). Myšlenkou šťastného zobrazování je pořídit několik (stovek, dokonce tisíců) velmi krátkých expozic a ponechat pouze několik snímků, které se zdají být nejméně narušeny atmosférickými zkresleními.

V obecném smyslu, brát více obrázky, než je potřeba, aby bylo možné později vybrat ty nejlepší, se (někdy posměšně) nazývá sprej & modlit se . =)

Pokud jde o novinku ve vašem konkrétním případu použití, viděl jsem videografy, kteří vytvářejí časová prodlevy zaznamenáváním segmentů videa s vysokým rozlišením pro každé období časosběrného snímku a buď průměrují snímky každého segmentu videa , nebo vyberte nejlepší snímek z každého segmentu.

Pray & Spray: Metoda goto-fotografování každé kamery zvednuté ve vzduchu, aby se vám podařilo zachytit akci.Během fotbalu jste na univerzitě zaznamenali několik skvělých záběrů, ale pamatujte - měli jste jen 36 šancí.
@J.Hirsch zpět ve filmovém dni, můžete říct profesionálovi od fandů, protože pořídil spoustu záběrů.Ale v digitále poznáte profesionála podle toho, jak málo záběrů potřebuje.Stydím se říci, že někdy jen držím závěrku a kulomet, dokud není nárazníkové zpoždění příliš otravné ...
... nebo si vezměte nejlepší * pixely * z každého obrázku, abyste získali definici „nejlepšího“.Výběrem nejběžnější hodnoty (režimu) je jeden přístup k odstranění překážek v popředí a vytvoření kompozitního obrazu pozadí (jako je odstranění turistů ze série slavných památek).V případě OP by „nejlepší“ byl ten, který nejlépe odpovídá jakékoli funkci podobnosti, kterou používají.
@AC: Alternativně vezměte průměrnou hodnotu pixelu u všech snímků, identifikujte všechny pixely u všech snímků, které jsou podstatně odlišné, a poté vezměte průměr všech pixelů ze všech snímků kromě těch, které se odchýlily od průměru, a snižte váhuty, které jsou poblíž vyloučených.
@scottbb naprosto s vámi souhlasím.U filmu to bylo vždy 3: 1, u digitálu to teď bylo 1: 3.Stále nenávidím editaci v digitálu mnohem víc než ve filmu.Je toho mnohem víc.
jpa
2020-03-31 20:28:10 UTC
view on stackexchange narkive permalink

Mnoho časosběrných kamer to již dělá, ale v kratším časovém měřítku. Například GoPro uvádí v dokumentaci TimeWarp:

Chcete-li dosáhnout nejlepších výsledků, vyzkoušejte při fotografování záběrů, které mohou být hrbolaté, rychlost 10x a vyšší. Vyšší rychlost často zajistí lepší stabilizaci, protože TimeWarp má na výběr více snímků.

Zní to jako výběr rámců s nejmenším pohybem od předchozího snímku. Podobně v této publikaci Microsoftu Vytváření hyperlapse v reálném čase pomocí optimálního výběru snímků:

Optimálně vybíráme ze vstupního videa snímky, které nejlépe odpovídají požadovanému zrychlení cíle, zatímco což také vede k co nejplynulejšímu pohybu kamery.

Kromě kritéria podobnosti vybírají nejstabilnější rychlost pohybu mezi snímky. Když se kamera pohybuje, tato technika se obvykle nazývá „Hyperlapse“, ale nemohl jsem najít příklady jejího použití na stacionární kameru a 24hodinové intervaly.

Přijato kvůli odkazu na výzkum společnosti Microsoft, který se nejvíce shoduje s algoritmem, který se snažím vyvinout, místo pohyblivé kamery právě použili pohyblivou kameru.
Nat
2020-04-01 23:43:50 UTC
view on stackexchange narkive permalink

tl; dr - Zní to, jako byste chtěli videozáznam s vektorovou funkcí, kde jsou odfiltrovány drobné / přechodné funkce, a vytváří video, které ukazuje koncepční vývoj scéna v čase.


Pravděpodobně chcete video s vývojem hlavních funkcí.

Pokud jste chtěli pouze časosběrné video obrázků, můžete jednoduše udělat to.

Ptáte se však na časosběrnou sekvenci s minimálními změnami mezi snímky. Hádám, co opravdu chcete, je video, které se zaměřuje na zastřešující příběh zachycený kamerou. To je:

  • Chcete do zachytit, jak se v průběhu času mění hlavní rysy scény.

  • Nechcete chcete, aby video vypadalo nervózně kvůli tomu, že je jeden den zamračeno, ale druhý den ne nebo náhodné , nezajímavé objekty, které se jednoho dne dostanou do záběru, ale ne jiné.

Řekněme například, že na scéně jsou hodiny:

  • Chcete do zachytit, jak se vzhled hodin v průběhu času mění, pokud se například jeho barva na slunečním světle zesvětlí nebo pokud se začnou škrábat / praskat čas.

  • Nechcete chcete, aby čas hodin náhodně přeskakoval z jednoho snímku na druhý.

Jdeme o krok dále:

  • do Chcete mít možnost přehrávat časosběrné video s vyšší snímkovou frekvencí, což ukazuje plynulý přechod času hodin, jako by se jednalo o video v reálném čase, i když kamera ne Ve skutečnosti všechny tyto časy skutečně pořídily hodiny.

Jinými slovy, pravděpodobně nechcete, aby počítač nahrával náhodné pixely, například v bitmapě, ale spíše chcete video složené z koncepčních komponent, které může počítač zobrazit.


Generujte vektorizované video extrahováním funkcí ze surových bitmap.

Extrakce funkcí izoluje funkce ze scény.

Viděli jste například některou z těchto „ Zákon & Order "- televizní pořady, kde někdo, kdo je svědkem trestného činu, by popsal podezřelého policejnímu náčrtníkovi, který se pak pokusí podezřelého nakreslit?

Chcete algoritmus který je svědkem nezpracovaných dat z kamery, pak vytvoří videosoubor, který popisuje toho, čeho byl svědkem, spíše než doslova kopírovat / vkládat pixely. Pak chcete software, který animuje scénu na základě popisu daného videosouboru, podobně jako policejní umělec, který kreslí každý snímek na základě vzpomínky svědka, spíše než tradiční videopřehrávač, jenž zobrazuje barevné tečky.

Odfiltrujte hlučné funkce a získejte požadované video.

Pokud plně vektorizujete surové video, skončilo by to s novým video souborem, který zobrazuje přesně to samé, právě uloženo / zpracováno v jiném formátu.

Kouzlo vychází ze schopnosti zobrazit video bez menších funkcí. Řekněme například, že náhodná osoba kráčí před kamerou v jednom záběru; přítomnost dané osoby v tomto rámci je funkce, kterou byste pravděpodobně chtěli vyloučit. Stačí tedy videopřehrávaču sdělit, které funkce se mají zobrazit - pravděpodobně byste chtěli ukázat funkce, které se plynule táhnou přes netriviální počet snímků.


Technické implementace: Jaký software použít?

Chci se vyhnout doporučení jakéhokoli konkrétního softwaru, knihoven atd. Část je líná a část proto, že se jedná o nově vznikající praxi, kdy se věci pravděpodobně rychle změní.


Shrnutí

Zní to, jako byste chtěli generovat videa s funkcí vektorů z časosběrných snímků, což vám umožní prohlížet videa konceptuálního časového vývoje scéna bez hlučných rozptýlení.

V této oblasti probíhá mnoho výzkumů, protože je užitečné v mnoha věcech; například vektorizace svazku snímků z kamer automobilu s vlastním řízením může generovat model světa kolem vozu, který mu umožní činit správná rozhodnutí o řízení. Stejně jako vy, ani samojízdná auta se o hluk nestarají; chtějí jen pochopit důležité rysy scény, např. kde jsou objekty, spíše než přesná data na úrovni pixelů ze surových obrázků.

Bylo by skvělé vidět někoho, kdo by to použil na časosběrnou videografii!

+1 pro výmluvný popis věcí, které dělám a nechci.I když nejsem dostatečně obeznámen s technikou řešení, kterou popisujete, k provedení implementace s omezenými technickými podrobnostmi popsanými zde.
Zillakon
2020-04-01 22:26:22 UTC
view on stackexchange narkive permalink

Jelikož používáte malinovou pí, přemýšleli jste o jejím připojení k některým výplňovým světlům. Můžete jej nastavit tak, aby se světla rozsvítila pouze u některých obrázků, pokud přesto chcete během dne pořídit spoustu snímků. Alespoň tak je zaručeno, že vaše rostlina bude mít na sobě nějaké standardní množství světla bez ohledu na to, co se děje na pozadí obrázku.

Dobrý nápad, ale chtěl jsem vytvořit algoritmus, který se nemusí spoléhat na externí podporu, aby jej bylo možné použít na širší škálu scénářů.Například co když žiji v městském bytě s dobrým výhledem na probíhající stavební projekty a chci, aby časová prodleva mrakodrapů stoupala?
Buttonwood
2020-04-02 20:35:54 UTC
view on stackexchange narkive permalink

Pokud jde o trvalé časové limity, mým hrdinou v poli je Joe DiGiovanna. Z břehu Weehawkenu v New Jersey pořizuje každých 30 s fotografii při zarovnání s NYC (2 880 snímků každý den). Ve skutečnosti jde o 30letý projekt, který zahájil před více než 4 lety. Používání intervalometru založeného na arduniu, vyhrazeného notebooku, záložního napájení baterie atd. Podívejte se na jeho web nebo na zprávu stylu CNN o něm, včetně příkladů jako 13. července 2019 ( větší výpadek proudu ve městě) nebo vzestup škrabek na obloze.



Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 4.0, pod kterou je distribuován.
Loading...