原创 園林藝術中的設計感

往日鮮有觀賞園林的興趣,概因周遭環境並無景緻,公園景區也大同小異。唯一印象深刻的是蘇州拙政園,緊湊又不失條理,植物與建築相得益彰,透露出江南的優雅和婉約。 北京這風沙侵蝕之地今年卻辦了場盛大的世界園藝博覽會,遂邀母上父皇前來觀賞。 園區極大

原创 右值引用那些事兒

本文原名《Rvalue Refernces, Move Semantics, and Perfect Forwarding》,發表於公司博客,現分享給大家。 前言 本文將要介紹的是C++11新特性中的精華——右值引用,Move語義,完美轉發

原创 模板類型推導與auto

本文聊聊C++中的模板類型推導和auto。兩者其實是一樣的,前者推導T的類型,後者推導auto的類型。本文初創於公司內部博客,更適合於有基礎的同學參考。 模板類型推導 對於模板函數來說,編譯器需要根據實際傳入的參數來推導模板類型T。例如,假

原创 CMake最佳實踐

前言 相信每個人都寫過CMakeLists,然而,“一千個讀者心中有一千個哈姆雷特”,一千個程序員也能寫出一千種CMakeLists。這是因爲CMake在發展的過程中始終保持向後兼容,在不斷添加新特性的同時,仍然保留舊的語法規則。這樣一來,

原创 瞭解TensorFlow框架

2015年9月,Google於TensorFlow開源之際,發佈了TensorFlow白皮書,介紹了TensorFlow的設計理念和實現方式。現在流行的大部分深度學習框架,都基於所謂的“數據流圖”編程模型(又稱“計算圖”),爲我們今後的編程

原创 哥德爾不完全性定理

如何通俗易懂地闡述哥德爾不完全性定理,恐怕對任何人來說都是個挑戰。侯世達用七百多頁做到了這件事,其困難可見一斑。 不過,我想通過這篇短短的文章,讓更多人瞭解乃至接受這個定理,看一看外面的世界。 哥德爾定理 對於擁有高中知識的每個人,應該都聽

原创 場景識別之NetVLAD

場景識別(place recognition)是一類很常見的圖像處理任務。給定一張圖片,要求識別出這張圖片中出現的場景。識別的結果既可以是具體的地理位置,也可以是該場景的名稱,還可以是數據庫中的某個同樣的場景。 最常見的情況,也是本文將要介

原创 GMapping漫談

GMapping開闢了2D激光SLAM的里程碑,時至今日,其思想依然熠熠生輝。本文就來詳細剖析一下,GMapping到底做了什麼。 從粒子濾波談起 我假設讀者都或多或少了解過粒子濾波的原理。不過,保險起見,還是再解釋一遍比較好。 簡單來說,

原创 相關性掃描匹配之分支限界加速

不知道有沒有做激光SLAM的小夥伴呢?在激光SLAM中,相關性掃描匹配可是重點中的重點,而分支限界加速更是大大提高了它的實時性。本文就來詳細解讀一下其中的奧祕。 激光SLAM前端 既然是SLAM,那麼通常都會分爲前端和後端。前端充當里程計的

原创 深入理解動態鏈接

動態鏈接庫又叫共享庫(Shared Library),相信大部分做軟件開發的人都很熟悉。簡單地說,庫是對一系列程序的封裝,靜態庫是會在鏈接時與可執行程序合併的庫,而動態庫則在鏈接後仍然與可執行文件分離,直到運行時才動態加載。顯然,動態庫可以

原创 羣論之淺嘗輒止

四個月前的某一天,無意中看到Brilliant上有一套介紹羣論的課程——Group Theory。從問題引出概念,插圖精美,講解詳細,實在是不可多得。我一個衝動就辦了一年的會員,買下了這個課程。然而課程越往後越難,概念的交錯運用讓我顧此失彼

原创 g2o初探

研究SLAM的同學應該對g2o並不陌生。用了一段時間之後,一直對其內部實現方式不太清楚,今天打算仔細研究一下。 首先祭出官方提供的g2o類層次結構圖。 g2o類層次結構圖 這個圖需要分塊來看。 左上角HyperGraph提供了頂

原创 慕尼黑之行——生活篇

第一次出國,去的是慕尼黑這個德國小城。 對慕尼黑爲數不多的印象,只有拜仁和啤酒。拜仁的比賽看過幾場,啤酒卻不曾嘗過。 在這裏住了整整一個星期。起初非常不習慣德國的飲食,食物都是半生不熟,再配上味道奇特的醬料,那感覺別提了。以至於四處搜尋中餐

原创 憶秦娥·詠六羊山

穀雨節, 山色如洗濤聲烈。 濤聲烈, 青翠欲滴, 飛瀑如雪。 凌空棧道談笑過, 激流險灘闊步躍。 闊步躍, 遊人如癡, 紅旗獵獵。 2018.4.25 紫氣東來

原创 這樣就實現了一個解釋器?

最近文章總沒人看,必須起個炫酷的題目才行吶。 今天拜讀了王垠大神的一篇經典作品《怎樣寫一個解釋器》,讀完後頓覺清風拂面、耳聰目明、如臨仙境。我對“解釋器”這一神祕概念長達數年的迷戀,今天終於得以一探究竟。 從非科班出身的我看來,解釋器就是一