WEKO3
アイテム
トリラテラルフィルタを用いた SIFTのGPUによる高速化
http://hdl.handle.net/10076/0002000678
http://hdl.handle.net/10076/000200067850be94e7-1918-4680-ac7f-ef2eb2c02655
名前 / ファイル | ライセンス | アクション |
---|---|---|
![]() |
|
Item type | 学位論文 / Thesis or Dissertation(1) | |||||||
---|---|---|---|---|---|---|---|---|
公開日 | 2024-04-10 | |||||||
タイトル | ||||||||
タイトル | トリラテラルフィルタを用いた SIFTのGPUによる高速化 | |||||||
言語 | ja | |||||||
言語 | ||||||||
言語 | jpn | |||||||
資源タイプ | ||||||||
資源タイプ識別子 | http://purl.org/coar/resource_type/c_46ec | |||||||
資源タイプ | thesis | |||||||
著者 |
澤田, 裕貴
× 澤田, 裕貴
|
|||||||
抄録 | ||||||||
内容記述タイプ | Abstract | |||||||
内容記述 | 近年、ドローンによる空撮や物体測量など多視点からの撮影画像を利用し、3 次元形状を復元するStructure from Motion(SfM) が用いられてきている。SfM の計算にはScale-Invariant Feature Transform (SIFT) と呼ばれる特徴量抽出アルゴリズムが使用されており、SIFT 内で使用するフィルタとしてトリラテラルフィルタを採用することで精度が向上するが、計算量が増加し実行速度が低下する。 そこで本研究では、トリラテラルフィルタを用いたSIFT アルゴリズムをGPU 上に実装することで高速化する手法を提案する。提案手法では、トリラテラルフィルタの内部処理を画素ごとに並列化する。この内部処理の内訳として、Detail Bilateral Filter 関数の計算が大きな比重を占めている。この関数は一般的なフィルタと同様に画素ごとにその近傍画素を参照して計算を行うが、画素ごとにウィンドウサイズが可変であり計算量が均質でないという特徴を持つ。このため、GPU 上で単純に画素ごとの並列化を行うと計算量の異なるスレッドをSIMD 型で同時実行することになり、一部の計算コアがアイドルとなって実行速度が低下する。そこで提案手法では、スレッドの担当画素をウィンドウサイズでソートすることにより同時実行するスレッドの計算コストを均一化し、実行効率を向上させる。 性能評価を行うため、Detail Bilateral Filter をCPU、GPU に実装し、さらにGPU上で提案手法を適用した実装を行なった。これらを用いて実行時間を測定した結果、GPU 版はCPU 版に対して24~95 倍の速度向上が得られた。またGPU 版に提案手法を適用することで、さらに1~1.27倍の速度向上が得られた。 一方で、GPUとトリラテラルフィルタの使用がSIFT 計算に与える影響を評価するため、ガウスフィルタを使用するCPU 版、トリラテラルフィルタを使用するCPU 版及びGPU 版の3種類のSIFT 計算プログラムを実装し、結果の精度とマッチング数を比較した。その結果、いずれの実装でも高精度の対応結果が得られており、CPU 版とGPU 版でもトリラテラルフィルタを用いた場合の差異はなかった。またガウスフィルタと比較してトリラテラルフィルタを用いた場合はマッチングした特徴点の個数が3.4 倍に増えており、後者の優位性が示された。 |
|||||||
言語 | ja | |||||||
抄録 | ||||||||
内容記述タイプ | Abstract | |||||||
内容記述 | In recent years, Structure from Motion (SfM) has been used to reconstruct three-dimensional shapes using images taken from multiple viewpoints, such as aerial photography by drones and object surveys. A feature extraction algorithm called Scale-Invariant Feature Transform(SIFT) is used to calculate SfM, and adopting a trilateral filter as a filter used within SIFT improves accuracy, but increases the amount of calculation. The execution speed decreases. Therefore, in this research, we propose a method to speed up the SIFT algorithm using trilateral filters by implementing it on GPU. In the proposed method, the internal processing of the trilateral filter is parallelized for each pixel. As a breakdown of this internal processing, the calculation of the Detail Bilateral Filter function occupies a large proportion. This function, like a general filter, performs calculations for each pixel by referring to its neighboring pixels, but has the characteristic that the window size is variable for each pixel and the amount of calculation is not uniform. For this reason, if you simply perform pixel-by-pixel parallelization on the GPU, threads with different calculation amounts will be executed simultaneously in SIMD type, and some calculation cores will become idle and the execution speed will decrease. Therefore, the proposed method equalizes the calculation cost of concurrently executing threads and improves execution efficiency by sorting the pixels assigned to each thread by window size. In order to evaluate the performance, we implemented the Detail Bilateral Filter on the CPU and GPU, and also applied the proposed method on the GPU. As a result of measuring execution time using these, the GPU version was 24 to 95 times faster than the CPU version. Furthermore, by applying the proposed method to the GPU version, a further speedup of 1 to 1.27 times was obtained. On the other hand, in order to evaluate the influence of the use of GPU and trilateral filters on SIFT calculations, we implemented three types of SIFT calculation programs: a CPU version using a Gaussian filter, a CPU version using a trilateral filter, and a GPU version. We compared the accuracy and number of matching results. As a result, high-accuracy results were obtained with both implementations, and there was no difference between the CPU and GPU versions when using trilateral filters. Furthermore, when using a trilateral filter compared to a Gaussian filter, the number of matched feature points increased by 3.4 times, demonstrating the superiority of the latter. |
|||||||
言語 | en | |||||||
内容記述 | ||||||||
内容記述タイプ | Other | |||||||
内容記述 | 三重大学大学院工学研究科情報工学専攻 コンピュータアーキテクチャ研究室 | |||||||
内容記述 | ||||||||
内容記述タイプ | Other | |||||||
内容記述 | 47p | |||||||
書誌情報 |
発行日 2024-03 |
|||||||
フォーマット | ||||||||
内容記述タイプ | Other | |||||||
内容記述 | application/pdf | |||||||
著者版フラグ | ||||||||
出版タイプ | VoR | |||||||
出版タイプResource | http://purl.org/coar/version/c_970fb48d4fbd8a85 | |||||||
出版者 | ||||||||
出版者 | 三重大学 | |||||||
出版者(ヨミ) | ||||||||
ミエダイガク | ||||||||
修士論文指導教員 | ||||||||
姓名 | 大野, 和彦 | |||||||
言語 | ja | |||||||
資源タイプ(三重大) | ||||||||
Master's Thesis / 修士論文 |