《Fast Traking via Spatio-Temporal Context Learning》要點整理與程式碼實現之二
【原文:http://www.cnblogs.com/marcworld/p/3698194.html】
上一篇主要講解了全文的主要思想,整理了一些可能會被忽略的重點,並畫了程式的主流程圖,但這個流程圖只是一個戰略性的總圖,較為巨集觀,而程式在實現時還有一些細節上的預處理也很重要,本篇將總結這些小細節。
視訊訊號是一組隨時間變化的動態訊號(二維),引述《影象處理、分析與機器視覺》一書第3.2.3節中的一段話:持續時間短的或變化快的時間訊號具有寬的頻譜。如果我們要處理非靜態訊號(non-stationary signal),一種選擇是將其分解為小片段(常稱作視窗),並假定這些視窗外訊號是週期性的。這種方法稱作短時傅立葉變換——STFT——最初是Gabor在1964年提出的。不幸的是,僅僅使用非重疊矩形視窗來切割訊號並不好,因為會引進不連續性而導致有大頻寬的頻域。這就是為什麼訊號在區域性視窗的邊緣上要用高斯或海明(Hamming)窗平滑抑制到零的原因。
以下內容來自百度百科:數字訊號處理的主要數學工具是傅立葉變換.而傅立葉變換是研究整個時間域和頻率域的關係。不過,當運用計算機實現工程測試訊號處理時,不可能對無限長的訊號進行測量和運算,而是取其有限的時間片段進行分析。做法是從訊號中擷取一個時間片段,然後用觀察的訊號時間片段進行週期延拓處理,得到虛擬的無限長的訊號,然後就可以對訊號進行傅立葉變換、相關分析等數學處理。無限長的訊號被截斷以後,其頻譜發生了畸變,原來集中在f(0)處的能量被分散到兩個較寬的頻帶中去了(這種現象稱之為頻譜能量洩漏)。為了減少頻譜能量洩漏,可採用不同的擷取函式對訊號進行截斷,截斷函式稱為窗函式,簡稱為窗。不同的窗函式對訊號頻譜的影響是不一樣的,這主要是因為不同的窗函式,產生洩漏的大小不一樣,頻率分辨能力也不一樣。訊號的截斷產生了能量洩漏,而用FFT演算法計算頻譜又產生了柵欄效應,從原理上講這兩種誤差都是不能消除的,但是我們可以通過選擇不同的窗函式對它們的影響進行抑制。(矩形窗;布萊克曼窗;三角窗;漢寧窗;海明窗;高斯窗)。
我的訊號理論知識不是很深,沒有完全讀懂上面兩段的意思,但是上述的理論確實為我們程式中的一個預處理提供了理論依據。
---------------------------------------------------------------------------------------------------------------------
首先注意,在原論文中,求先驗概率的公式是:
而在程式實現時有如下兩句預處理:
在初始化時: hamming_window = hamming(context_sz(1)) * hann(context_sz(2))';
在計算先驗概率(即context prior model)時: window = hamming_window .* exp(-0.5 * dist / (sigma^2));
可以看到原文並沒有加海明窗,但是在具體實現時卻加上了海明窗,其原因應該就是本文開頭所引述的那樣。
相關文章
- Context真正的實現與Context設計模式Context設計模式
- Machine Learning Yearning 要點筆記Mac筆記
- Swoole 系列之二(Websocket 要點講解)Web
- Machine Learning(機器學習)之二Mac機器學習
- 點選驗證碼不能實現重新整理問題
- vysor原理與程式碼實現
- continue呼叫1.5B小模型實現程式碼fast-apply模型ASTAPP
- 中移動與蘋果掌門人接受媒體採訪實錄(要點整理)蘋果
- 單件模式的實現要點模式
- 《微信小程式開發 入門與實踐》知識點整理微信小程式
- fast重新整理的限制AST
- 好程式碼、壞程式碼之二
- Redis雜湊表的實現要點Redis
- React 之 Context 的變遷與背後實現ReactContext
- 有關於錨點的程式碼實現
- oracle sys_context與dbms_session.set_context實現view動態查詢OracleContextSessionView
- js實現的返回並重新整理上一頁程式碼JS
- js實現的點選表格行實現背景變色程式碼JS
- 點選實現顯示密碼效果程式碼例項密碼
- 幾行程式碼就能實現為何要多此一舉行程
- 【深度學習】研究Fast rcnn程式碼深度學習ASTCNN
- LeetCode第三題之二:編碼實現LeetCode
- context要如何初始化Context
- 30 個Python程式碼實現的常用功能,精心整理版Python
- javascript實現的重新整理當前頁面程式碼例項JavaScript
- 合同系列之二:聯運合同的核心審查要點
- PHP的bbs實現之二PHP
- 論文解讀(GMI)《Graph Representation Learning via Graphical Mutual Information Maximization》ORM
- jQuery實現點選回車執行指定程式碼jQuery
- jQuery實現的錨點平滑定位程式碼例項jQuery
- 點選返回頂部效果實現程式碼詳解
- 點選實現隱藏元素本身程式碼例項
- tp5.1修改了程式碼,要過60秒才重新整理
- css程式碼整理CSS
- 點贊收藏:PyTorch常用程式碼段整理合集PyTorch
- js實現的移動端下拉重新整理功能程式碼例項JS
- 要點提煉| 理解JVM之程式編譯&程式碼優化JVM編譯優化
- 論文《Learning Properties of Ordered and Disordered Materials from Multi-fidelity Data》中的程式碼實現IDE