我有16個1D數組,每個數組大約有10-11百萬個雙精度元素。我需要在它們之間執行互相關,即,1與2,1與3,...,1與16,2與3,2與4,...,2與16等等。這在我的MacBook Intel Core 2 duo 2.4 GHz,4GB內存上無法高效完成。我的問題是,什麼是典型的方法,即使不是蠻力(更快的處理器,更多的RAM),人們用來克服這個問題,還是像它這樣的問題?謝謝!中等大小陣列的互相關
3
A
回答
2
如果計算每個陣列的傅里葉變換,您應該使用 可以使用變換後的陣列來高效計算每對原始輸入陣列之間的cross-correlation。請參閱 維基百科文章的「屬性」部分,我鏈接到要使用的身份。
1
numpy中的互相關函數是慢得可笑的。 openCV庫有一個numpy友好的互相關函數可用。即使您嘗試實現頻域方法,您也不會擊敗openCV庫,因爲有更多技巧可用於加速互相關計算。我張貼了關於在此之前:
Computing cross-correlation function?
我相信代碼是基於下面的文件中詳述的招數:在視覺接口,1995
JP劉易斯,「快速模板匹配」,第一卷。 95,第120-123頁。
相關問題
- 1. CUDA減少許多小的,不相等大小的陣列
- 2. R:合併兩個相等大小的陣列
- 3. 拆分成相等大小的窗口陣列
- 4. 最大陣列大小是否等於RAM大小?
- 5. 小部件的相互調整大小
- 6. 的UIImageView和大小相等
- 7. 將陣列互相合並
- 8. 矩陣的空間互相關字段
- 9. 遍歷大小相等
- 10. 與陣列相關
- 11. 按元素求和幾個相等大小的矩陣
- 12. 調整大陣列大小
- 13. 可視化完整互相關矩陣
- 14. 分佈式互相關矩陣計算
- 15. 計算陣列的大小
- 16. 未知大小的陣列
- 17. 最小化陣列中相關項目之間的距離
- 18. 如何將更大的陣列縮小爲更小的陣列?
- 19. 與大熊貓的互相關(時滯 - 相關)?
- 20. 劃分不相等的大小的dataframes
- 21. JNI中雙陣列的大小NDK
- 22. Ada中陣列類型的大小
- 23. FlowPane中的可變大小陣列
- 24. SSRS中的可調整大小陣列
- 25. 製作SSRS報告的大小相等
- 26. HDFS - 塊大小相關
- 27. 調整陣列大小
- 28. Perl哈希陣列大小
- 29. 調整大小C#陣列
- 30. 調整3D陣列大小
我知道這個身份。我使用NumPy,它直接計算互相關。用這個標識來計算互相關是否會顯着加快計算速度,即足夠讓我不必在一夜之間運行它? – 2012-04-04 22:48:59
@cpcloud:我不是Python專家,但我搜索了一下,發現SO上的其他地方有答案,聲稱NumPy沒有使用FFT技術。 (所以如果一個陣列比另一個陣列小得多,但是對於你所關心的情況來說速度會很慢)。計算一千萬點陣列的FFT不應該花太長時間,如果您使用傅立葉身份實施互相關程序,則期望看到顯着的加速。 – 2012-04-04 23:08:30
謝謝!你能發佈一個鏈接到你找到這些信息的地方嗎?非常感激! – 2012-04-04 23:18:46