INTRODUCTION

在這個專題中我們希望最後能做出一個幾近全自動化的系統,系統可以蒐集網路上的行車紀錄器(dashcam)影片或者由使用上傳,接著分析此影片的品質,決定是否適合進行分析。

如果適合分析,則第一步是在地圖上找出這段影片究竟行經了何處,也就是Localization的問題,理想上我們希望能在沒有影片以外資訊的情況下找出車子究竟在地球上何處行駛,然而全球的scale有點大,我們先從較簡單的做起:已知大約經緯區域找出車子確切軌跡,並且能與地圖道路進行align。

Align成功後在進行下一步:change detection,從這些match到的image pair中找出其中有哪些structural change,也就是建築物上的明顯變化而不是路上車子、天空雲相的變化。

從localization到change detection,整個系統可以視為一整個pipeline,有順序的從定位 => matching => detect change,也可以將localization視為一個獨立的系統,讓使用者可以分析自己行車紀錄器的內容在實際地圖上究竟行經了哪些地方並加以視覺化。

整體系統結構可大致分為:

1.Data collection:

由youtube上蒐集一般使用者上傳的dashcam video,streetview panorama 則由google map提供之api進行存取。

2.Localization and alignment:

將dashcam video抽取frame進行3D reconstruction取得軌跡與frame之間先後順序。利用google api取得附近streetview panorama進行比對、alignment。

3.Change detection:

Alignment步驟完成後,根據軌跡上與streetview panorama match到的frame進行change detection,找出dashcam frame與streetview間的structural change。

整體系統change detection與localization是互相影響的,localization希望能在時間的影響下(許多街景已有改變)仍能找出最近似的可能行徑路段,而change detection則是奠基於alignment可信的情況下盡可能忽略moving object與日照的影響找出structural change。


Fig. 1


Fig. 2


Fig. 3


Fig. 4


Fig. 5

心得感想

林沅廷:

computer vision這個領域在大學課程中比較少有課與其直接相關,當初算是抱著嘗試新領域的心態來修這個專題的,果然幾乎沒有可以稱為"學過"的東西,做的題目所需要的各種理論、工具對我而言都是新的,用的程式語言、軟體以前也幾乎沒碰過,連...實驗室電腦的作業系統也稱不上熟。經過了一年,我們不斷地由實做中學習,其實目前實作專題的結果大約到寒假時就告一段落了,更多專題的時間我們是作為實驗室的一員參與、幫忙各種不同的task,只可惜無法一並呈現,大學課程中我們都還在摸索著各個領域,尋求兼顧各項技能,而從孫民老師身上學到最不同的大概就是不要顧慮太多地投入一項研究的熱情吧!一年來我們真的學到不少。

王福恩:

因為專題的關係讓我踏入了Computer Vision這個學術領域並且讓我學到許多有關3D重建的演算法與許多數值優化的方式,更重要的是學會如何去整合許多個複雜的系統,因為我們的題目規模很大而且要跑很多的數據,所以每次都要跑很多天,因此如果實驗的規畫不夠好需要重跑就會花掉許多時間,幸好在這方面實驗室的學長姐提供了我很多的協助,讓我能更有效率的完成實驗規劃。

雖然目前完成的Dashcam localization在準確度與執行效率上的表現還不夠好,但是這個系統還有許多的進步空間,因為目前還沒使用到GPU和其他3D重建演算法來加速,因此我未來的目標就是要將這些還沒試過的方法套用到Dashcam localization上,相信未來可以使這套系統變得更加精確。