導航:首頁 > 源碼編譯 > LTTB降采樣演算法

LTTB降采樣演算法

發布時間:2022-09-02 17:18:30

1. 采樣頻率如何降低

用一麥克風錄制的PCM數據,為16bit、48KHz、單聲道,而我希望得到的是16KHz采樣率的PCM數據,那就通過降低采樣率的方法,去實現48000HZ到16000HZ采樣率的轉換。
轉換原理比較簡單,48000HZ降到16000HZ,實際上降了3倍,同一時間的單位區間內,48000HZ采樣了3個點,16000HZ則采樣了1個點,即從48000HZ的文件中每讀取3個數據,就要根據這3個數據去推算得到1個數據,而這個數據對應的就是16000HZ文件中的一個數據。
這里寫圖片描述
具體實現如下
C語言實現
#define OLD_FILE_PATH "file.pcm"
#define DOWN_FILE_PATH "downsample.pcm"
void pcm_downsample(void)
{
short sRead = 0;
short tempSum = 0;
int size = 0;
int flag = 0;
FILE *fp = fopen(OLD_FILE_PATH, "rb+");
FILE *fp_down = fopen(DOWN_FILE_PATH, "wb+");
while(!feof(fp))
{
size = fread(&sRead, 2, 1, fp); // 一次讀兩個位元組,16bit
if(size>0)
{
tempSum = tempSum + sRead; // 求和
flag++;
if(flag == 3) // 如果取了三個點
{
flag = 0;
tempSum = tempSum/3; // 求平均值,你可以根據自己需要去修改,不一定要求平均值,可以直接取一個點
fwrite(&tempSum, 2, 1, fp_down);
tempSum = 0;
}
}
}

fclose(fp);
fclose(fp
這里我將3個點轉換成1個點的演算法,是求取平均值的演算法,你可以利用其他演算法去轉換也可以,如果想降低成其他采樣率的,只要按照對應的比例去采樣,即可。

2. 如何理解 重要性采樣

重要性采樣演算法就是在有限的采樣次數內,盡量讓采樣點覆蓋對積分貢獻很大的點。
其目標是用一種受控的方式改變模擬,以便增加稀少事件的數目,同時還能正確地確定解調差錯概率。常規重要性采樣(CIS)是一種降方差的模擬方法,它通過提供有偏雜訊來實現,等效於使系統工作在一個較低的信噪比環境下。

3. 百度識圖的核心技術是什麼

網路識圖的核心技術原理:

對於這種網路,谷歌的圖像搜索一般由演算法實現,一般是三個步驟:
1. 將目標圖片進行特徵提取,描述圖像的演算法很多,用的比較多的是:SIFT描述子,指紋演算法函數,bundling features演算法,hash function(散列函數)等。也可以根據不同的圖像,設計不同的演算法,比如圖像局部N階矩的方法提取圖像特徵。
2. 將圖像特徵信息進行編碼,並將海量圖像編碼做查找表。對於目標圖像,可以對解析度較大的圖像進行降采樣,減少運算量後在進行圖像特徵提取和編碼處理。
3. 相似度匹配運算:利用目標圖像的編碼值,在圖像搜索引擎中的圖像資料庫進行全局或是局部的相似度計算;根據所需要的魯棒性,設定閾值,然後將相似度高的圖片預保留下來;最後應該還有一步篩選最佳匹配圖片,這個應該還是用到特徵檢測演算法。
其中每個步驟都有很多演算法研究,圍繞數學,統計學,圖像編碼,信號處理等理論進行研究。

4. 壓縮采樣的演算法是怎麼描述的

ADPCM(Adaptive
Differential
Pulse
Code
Molation),是一種針對
16bits(
或8bits或者更高)
聲音波形數據的一種有損壓縮演算法,它將聲音流中每次采樣的
16bit
數據以
4bit
存儲,所以壓縮比
1:4.
而且壓縮/解壓縮演算法非常簡單,所以是一種低空間消耗,高質量高效率聲音獲得的好途徑。保存聲音的數據文件後綴名為
.AUD
的大多用ADPCM
壓縮。

ADPCM
主要是針對連續的波形數據的,保存的是波形的變化情況,以達到描述整個波形的目的,由於它的編碼和解碼的過程卻很簡潔,列在後面,相信大家能夠看懂。

8bits采樣的聲音人耳是可以勉強接受的,而
16bit
采樣的聲音可以算是高音質了。ADPCM
演算法卻可以將每次采樣得到的
16bit
數據壓縮到
4bit
。需要注意的是,如果要壓縮/解壓縮得是立體聲信號,采樣時,聲音信號是放在一起的,需要將兩個聲道分別處理。
PCM是脈沖編碼調制的意思。AD是自適應增量的意思。
嚴格說來,ADPCM不是壓縮方法。他的主要思想是,用差值替代絕對值。舉個例子,全班同學平均身高175CM:其中,我的身高170CM,這就是PCM方法;我的身高和平均值相比為-5cm,這就是DPCM,我的身高跟前一位同學相比為-10CM,前一位同學有多高我不知道他多高,你問他,這是ADPCM。比方不是太准確,大概就是這個意思。
在大多數情況下,數據值與平均值相差不大,所以用差值替代絕對值可以節省空間。
很高興回答樓主的問題
如有錯誤請見諒

5. 百度圖片搜索引擎原理是如何實現的

圖片搜索的原理有三個步驟
1. 將目標圖片進行特徵提取,描述圖像的演算法很多,用的比較多的是:SIFT描述子,指紋演算法函數,bundling features演算法,hash function(散列函數)等。也可以根據不同的圖像,設計不同的演算法,比如圖像局部N階矩的方法提取圖像特徵。
2. 將圖像特徵信息進行編碼,並將海量圖像編碼做查找表。對於目標圖像,可以對解析度較大的圖像進行降采樣,減少運算量後在進行圖像特徵提取和編碼處理。
3. 相似度匹配運算:利用目標圖像的編碼值,在圖像搜索引擎中的圖像資料庫進行全局或是局部的相似度計算;根據所需要的魯棒性,設定閾值,然後將相似度高的圖片預保留下來;最後應該還有一步篩選最佳匹配圖片,這個應該還是用到特徵檢測演算法。
其中每個步驟都有很多演算法研究,圍繞數學,統計學,圖像編碼,信號處理等理論進行研究。

根據Neal Krawetz博士的解釋,原理非常簡單易懂。我們可以用一個快速演算法,就達到基本的效果。
這里的關鍵技術叫做"感知哈希演算法"(Perceptual hash algorithm),它的作用是對每張圖片生成一個"指紋"(fingerprint)字元串,然後比較不同圖片的指紋。結果越接近,就說明圖片越相似。下面是一個最簡單的實現:
第一步,縮小尺寸。
將圖片縮小到8x8的尺寸,總共64個像素。這一步的作用是去除圖片的細節,只保留結構、明暗等基本信息,摒棄不同尺寸、比例帶來的圖片差異。
第二步,簡化色彩。
將縮小後的圖片,轉為64級灰度。也就是說,所有像素點總共只有64種顏色。
第三步,計算平均值。
計算所有64個像素的灰度平均值。
第四步,比較像素的灰度。
將每個像素的灰度,與平均值進行比較。大於或等於平均值,記為1;小於平均值,記為0。
第五步,計算哈希值。
將上一步的比較結果,組合在一起,就構成了一個64位的整數,這就是這張圖片的指紋。組合的次序並不重要,只要保證所有圖片都採用同樣次序就行了。
得到指紋以後,就可以對比不同的圖片,看看64位中有多少位是不一樣的。在理論上,這等同於計算"漢明距離"(Hammingdistance)。如果不相同的數據位不超過5,就說明兩張圖片很相似;如果大於10,就說明這是兩張不同的圖片。
具體的代碼實現,可以參見Wote用python語言寫的imgHash.py。代碼很短,只有53行。使用的時候,第一個參數是基準圖片,第二個參數是用來比較的其他圖片所在的目錄,返回結果是兩張圖片之間不相同的數據位數量(漢明距離)。
這種演算法的優點是簡單快速,不受圖片大小縮放的影響,缺點是圖片的內容不能變更。如果在圖片上加幾個文字,它就認不出來了。所以,它的最佳用途是根據縮略圖,找出原圖。
實際應用中,往往採用更強大的pHash演算法和SIFT演算法,它們能夠識別圖片的變形。只要變形程度不超過25%,它們就能匹配原圖。這些演算法雖然更復雜,但是原理與上面的簡便演算法是一樣的,就是先將圖片轉化成Hash字元串,然後再進行比較。

6. 數據挖掘不同領域中的采樣方法有哪些

1,關聯規則的采樣
挖掘關聯規則的任務通常與事務處理與關系資料庫相關,該任務需要反復遍歷資料庫,因此在大數據集上將花費大量的時間。有很多的演算法可以改進關聯規則演算法的效率與精度,但在精度保證的前提下,采樣是最直接與最簡單的改進效率的方法。
2.分類的采樣
分類一般分為三種類型:決策樹、神經網路及統計方法(如無偏差分析),在這些演算法中均有使用采樣的案例。分類的采樣一般有四種,一種是隨機采樣,另外三種是非隨機采樣,分別是「壓縮重復」、「窗口」及「分層」。
3.聚類的采樣
在聚類中進行采樣有若乾的用途。有些聚類演算法使用采樣進行初始化工作,例如,利用采樣得到的樣本得到初始化的參數,然後再對大數據集進行聚類。當處理大數據集時,需要降低演算法使用的空間。為了得到較好的聚類,根據數據的分布情況需要採用不同的采樣方法。隨機采樣仍然是一種常規的方法,在隨機采樣忽略了小的聚類的情況下,一般採用非隨機采樣的方法。非隨機采樣的方法中最常用的是分層采樣。例如,在密度差別很大的數據集中,根據密度的不同,采樣的樣本數量可以不同,在密度較高的區域采樣的次數少一些,而在密度稀疏的區域,采樣的次數多一些。
4.擴充(Scaling-Up)的數據挖掘演算法的采樣
擴充是指利用已有的數據挖掘演算法能夠高斂地處理大數據集。當數據挖掘的演算法初期是處理小數據集的情況下,處理大數據集就會受到限制。在這種情況下,一般會採用分而抬之的方法:將大數據集分解成較小的互不重疊的數據集,利用己有演算法進行處理,然後,將小數據集得出的結果合並成最終的結果。需要注意的是,這種方法等價於將困難轉嫁到合並步驟,即需要復雜的處理才能得到正確的結果。因此,整體的復雜性沒有降低。

7. 離散小波變換 數據量減半

"可以將其看出一個濾波器組後邊帶降采樣濾波器啊"看個屁呀,在經典的參考書中從來沒有將下采樣當作濾波器操作看待(小波中叫抽樣率轉換器,分為抽取器和插值器),下箭頭2就是一種抽取操作(可以叫做抽取器),就是保存數據中下標索引編號為偶數的元素,例如有7個數,保存其中第2,4,6個數。與濾波器半毛的關系都沒有,不是任何的操作非要和濾波器扯上關系的,濾掉一半數據就算濾波器?抽樣都算濾波器?很無語。
小波工具箱顯示的結果是DWT重構後的信號,不是小波系數,小波系數的數據量是減半的,重構後各階的結果都與原信號等長(主要是先補零插值再通過重構高,低頻重構濾波器得到恢復補零後的波形,即去掉補零後引起的鏡像譜)。DWT的一個優勢就是可以進行小波重構(逆變換),把沒有量綱的小波系數變成有實際量綱意義的信號,這是mallat演算法帶來的好處,不像CWT的逆變換難以計算或根本就沒有逆變換,所以CWT沒有重構函數。
你的提問越來越弱了,建議先找些靠譜的書看。還有最好直接向我求助提問,不然像這樣有其他人回答後,我就再也刷不出你的提問了,看不到可能就錯過了,你就永遠白等下去了。

8. 求問游戲中的超級采樣是什麼意思

超級采樣是一種技術,可以讓你的游戲看起來更逼真,更具有畫質感,而且不用更換你的顯示器。

如果點進某個喜歡的游戲的設置菜單,會看到一個抗鋸齒的選項叫做SSAA,其中SS的意思是超級采樣。其實它的原理是這樣的:

如果顯卡被這樣設置,使用比顯示器更高的解析度來渲染游戲,那麼就會降采樣以保證圖形尺寸合適。在采樣的過程中,顯卡將會採集幾個不同像素的色彩值,然後加以平均,最後生成單色賦予每個像素。這些像素隨後被直接顯示,這樣一來顯示器就可以直接顯示,但是這種顯示會顯得非常不自然,有些人覺得很好。

相比顯示器原生解析度下渲染的單一色彩值,平均多個色彩這個過程,可以使圖像看起來更加平滑。如果對比色彩突變還有物體邊緣附近粗糙的鋸齒這種情況,效果尤其明顯。如果有興趣試一試,你可以在其設置菜單里,允許在SSAA或者更高的解析度之間做出選擇。

(8)LTTB降采樣演算法擴展閱讀:

超級采樣需要有一張性能強勁的顯卡:

因此,如果沒有一塊足夠強大的顯卡,超采樣可能會讓你游戲的幀率大幅度降低,這樣反而會影響游戲體驗,甚至游戲如幻燈片一樣沒辦法玩。這就是為什麼視覺效果較差但是處理負擔更小的抗鋸齒方法比如FXAA通常更受玩家歡迎。但是如果電腦有足夠強的性能,可以試試超采樣。

9. 圖像金字塔除了sift演算法之外還有什麼應用

尺度空間的目的是『見森林又能見樹木』,墨跡一點的解釋就是,在低尺度下可以看清楚很多細節,在高尺度下可以看到輪廓。

在目標檢測領域,圖像中的物體通常很可能是遠近不一,大小不一的,可以利用金字塔來檢測不同尺度下的物體。但同時你也可以使用不同大小的sliding window在原圖上做檢測。

在SIFT提取的時候,因為template上的局部特徵跟目標圖像上的實際特徵可能存在尺度上的差異,使用尺度空間是為了達到『尺度不變性』。我覺得前不久出來的DSP-SIFT其實也是進一步利用尺度空間來構造更強的descriptor的例子。

在一些邊緣檢測演算法裡面,為了忽略比較弱的邊,也會利用尺度空間來進行降采樣(對,高斯濾波大部分時候被理解成某種去噪/平滑操作,其實也是尺度空間思想)。

在一些基於特徵的分類和識別問題裡面,也有尺度空間的影子。比如基於高維LBP的人臉識別,其中LBP直方圖的提取方式就蘊含有尺度空間的思想。

尺度空間的想法其實非常直觀(當然證明它為什麼那樣構造可能會比較費事),但是因為尺度空間的構造和操作往往也是演算法裡面比較費時的地方,所以針對性的優化也應該說一下。

比如前面說的目標檢測,有些情況下目標的變化尺度范圍實際上是非常有限的,此時應該適當的設定尺度的數量,來減少不必要的計算量。比如你可以只降采樣三次,你也可以降采樣八次,去最上面的三個尺度。後者的好處是……快。

比如OpenCV里SIFT的實現默認是上采樣一次,降采樣至無法再縮小為止。很多時候你其實不需要這么精細的特徵點或這么high level的特徵點,也許稍微改一下參數就可以優化一些速度回來。這里也需要提一下SURF的反向模擬尺度空間的思路,跟上面提到的高維LBP的思路如出一轍。

在點特徵裡面,有時候你希望你的點在整個尺度空間里都是很強的,不是那種在最開始還是一個比較強的特徵點,尺度高了之後這個特徵點就消失了。你希望你只處理那些從始至終都比較堅挺的特徵點,那你就可以在金字塔的頂層提取特徵點,然後只是在下面的層進行局部搜索驗證……這樣你可以一邊提取著非常魯棒的descriptor,一邊還快如閃電……

視覺裡面很多看似直觀且簡單的東西往往有層出不窮用法,除了這金字塔,還有比如直方圖,比如二值化,比如卷積,比如積分圖,比如距離變換……等等等等。雖然都不是什麼高級的東西,一但用到巧處,也耐人尋味啊。

10. 自動駕駛是怎樣工作的SLAM介紹

SLAM是機器人或車輛建立當前環境的全局地圖並使用該地圖在任何時間點導航或推斷其位置的過程。

SLAM常用於自主導航,特別是在GPS無信號或不熟悉的地區的導航。本文中我們將車輛或機器人稱為「實體」。實體的感測器會實時獲得周圍環境的信息,並對信息進行分析然後做出決策。

SLAM是一種時間模型,它的目標是從復雜的信息中計算出一系列狀態,包括預期環境,距離,以及根據之前的狀態和信息得出的路徑 。有許多種狀態,例如,Rosales和Sclaroff(1999)使用狀態作為行人邊界框的3D位置來跟蹤他們的移動。Davison 等人(2017)使用單目相機的相機位置,相機的4D方向,速度和角速度以及一組3D點作為導航狀態。

SLAM一般包含兩個步驟,預測和測量。為了准確表示導航系統,SLAM需要在狀態之間以及狀態和測量之間進行學習。SLAM最常用的學習方法稱為 卡爾曼濾波

卡爾曼濾波是一種用於狀態估計的貝葉斯濾波類型。它是一種遞歸演算法,作為系統中不確定性的函數,使預測可以隨著時間的推移進行校正。不確定性表示為當前狀態估計和先前測量之間的權重,稱為卡爾曼增益。該演算法將實體先前的狀態,觀測和控制輸入以及當前的觀測和控制輸入作為輸入。過濾器包括兩個步驟:預測和測量。預測過程使用運動模型,可以根據給定的先前位置和當前的輸入估計當前位置。測量校正過程使用觀察模型,該模型基於估計的狀態,當前和歷史觀察以及不確定性來對當前狀態進行最終估計。

第一步涉及了時間模型,該模型基於先前的狀態和一些雜訊生成預測。

公式1. 預測模型。μ表示狀態的平均變化向量。ψ是狀態數量的矩陣,將當前狀態與先前的平均值相關聯。ε是轉換雜訊,可以確定當前狀態與前一個狀態的緊密相關程度。

第二步是「校正」預測。感測器收集自主導航的測量值。有兩類感測器:外感測器器和內感測器(proprioceptive)。外感測器從外部環境中收集信息,包括聲納,距離激光,相機和GPS。在SLAM中,這些是觀察值。內感測器利用編碼器,加速度計和陀螺儀等設備收集系統內部信息,如速度,位置,變化和加速度。在SLAM中,這些是單元控制,感測器結果輸入到實體中進行計算。這些感測器各有利弊,但相互組合可以產生非常有效的反饋系統。

公式2. μₘ表示測量平均向量。Φ是狀態數量的將測量的平均值與當前狀態相關聯。εₘ是測量雜訊,通常以協方差Σₘ分布。

卡爾曼增益增強了測量的可信性。例如,如果相機失焦,我們就不會對拍攝內容的質量報太大期望。卡爾曼增益較小意味著測量對預測的貢獻很小並且不可靠,而卡爾曼增益較大則正好相反。

公式 3.卡爾曼增益計算,Σ₊是預測的協方差。

更新過程如下:

公式4. 使用卡爾曼增益的卡爾曼濾波學習過程。圖片來自Simon JD Prince(2012)。

雖然這種方法非常有用,但它還存在一些問題。卡爾曼濾波假定單模態分布可以用線性函數表示。解決線性問題的兩種方法是擴展卡爾曼濾波器(EFK)和無跡卡爾曼濾波器(UFK)。EFK使用泰勒展開來逼近線性關系,而UFK使用一組質量點近似表示正態,這些質量點具有與原始分布相同的均值和協方差。一旦確定了質量點,演算法就通過非線性函數傳遞質量點以創建一組新的樣本,然後將預測分布設置為正態分布,均值和協方差等效於變換點。

由卡爾曼濾波強加的單模分布假設意味著不能表示其他狀態假設。粒子濾波是解決這些問題的常用方法。

粒子濾波允許通過空間中的粒子來表示多個假設,高維度需要更多粒子。每個粒子都被賦予一個權重,該權重表示其所代表的狀態假設中的置信度。預測從原始加權粒子的采樣開始,並從該分布中采樣預測狀態。測量校正根據粒子與觀測數據的一致程度(數據關聯任務)來調整權重。最後一步是對結果權重進行歸一化,使總和為1,因此它們是0到1的概率分布。

因為粒子的數量可以不斷增多,因此對該演算法的改進集中在如何降低采樣的復雜性。重要性采樣和Rao-Blackwellization分區是常用的兩種方法。

下圖來自Fuentes-Pacheco, J., Ruiz-Ascencio, J., & Rendón-Mancha, J. M. (2012)的論文「Visual simultaneous localization and mapping: a survey」,總結了到2010年的SLAM中的一些方法。他們的研究分為幾個方面。核心方案是使用學習演算法,其中一些在上文討論過。地圖的類型是捕獲環境幾何屬性的度量圖,或者是描述不同位置之間的連接的拓撲圖。

在線跟蹤中最常用的功能是顯著特徵和標記。標記是在環境中由3D位置和外觀描述的區域(Frintrop和Jensfelt,2008)。顯著特徵是由2D位置和外觀描述的圖像區域。深度學習技術通常用於在每個時間點描述並檢測這些顯著特徵,以向系統添加更多信息。檢測是識別環境中的顯著元素的過程,描述是將對象轉換為特徵向量的過程。

應用SLAM的方案有兩種,一種是回環檢測(loop closure),另一種是「機器人綁架(kidnapped robot)」。回環檢測是識別已經訪問過的任意長度的循環偏移,「機器人綁架」不使用先前的信息去映射環境。

SLAM是自主導航中常用的狀態時間建模的框架。它主要基於概率原理,對狀態和測量的後驗和先驗概率分布以及兩者之間的關系進行推斷。這種方法的主要挑戰是計算復雜。狀態越多,測量越多,計算量越大,在准確性和復雜性之間進行權衡。

[1] Fuentes-Pacheco, J., Ruiz-Ascencio, J., & Rendón-Mancha, J. M. (2012). Visual simultaneous localization and mapping: a survey. Artificial Intelligence Review, 43(1), 55–81. https://doi.org/10.1007/s10462-012-9365-8

[2] Durrant-Whyte, H., & Bailey, T. (2006). Simultaneous localization and mapping: Part I. IEEE Robotics and Automation Magazine, 13(2), 99–108. https://doi.org/10.1109/MRA.2006.1638022

[3] T. Bailey and H. Durrant-Whyte (2006). 「Simultaneous localization and mapping (SLAM): part II,」 in IEEE Robotics & Automation Magazine, vol. 13, no. 3, pp. 108–117. doi: 10.1109/MRA.2006.1678144

[4] Simon J. D. Prince (2012). Computer Vision: Models, Learning and Inference. Cambridge University Press.

[5] Murali, V., Chiu, H., & Jan, C. V. (2018). Utilizing Semantic Visual Landmarks for Precise Vehicle Navigation.

[6] Seymour, Z., Sikka, K., Chiu, H.-P., Samarasekera, S., & Kumar, R. (2019). Semantically-Aware Attentive Neural Embeddings for Long-Term 2D Visual Localization. (1).

[7] Fuentes-Pacheco, J., Ruiz-Ascencio, J., & Rendón-Mancha, J. M. (2012). Visual simultaneous localization and mapping: a survey. Artificial Intelligence Review, 43(1), 55–81. https://doi.org/10.1007/s10462-012-9365-8

閱讀全文

與LTTB降采樣演算法相關的資料

熱點內容
怎麼查看c盤有多少文件夾 瀏覽:682
程序員那麼可愛裡面的男主角 瀏覽:731
編程老師的照片牆 瀏覽:299
函數未定義但是能編譯運行 瀏覽:974
湖南省常德通用壓縮機有限公司 瀏覽:109
伺服器的雙電是什麼意思 瀏覽:614
程序員離開後代碼運行幾天 瀏覽:386
多多樂app是什麼幹嘛的 瀏覽:346
文檔加密授權工具 瀏覽:436
命令與征服將軍閃退 瀏覽:132
vs2019預編譯怎麼設置 瀏覽:780
沈陽中軟python培訓班 瀏覽:493
逆戰文件夾怎麼放 瀏覽:120
怎麼統一刪除文件夾raw文件 瀏覽:121
卡爾曼濾波演算法書籍 瀏覽:769
安卓手機怎麼用愛思助手傳文件進蘋果手機上 瀏覽:844
安卓怎麼下載60秒生存 瀏覽:803
外向式文件夾 瀏覽:240
dospdf 瀏覽:431
怎麼修改騰訊雲伺服器ip 瀏覽:392