Upgrade to Pro — share decks privately, control downloads, hide ads and more …

FPGAを用いたフルパイプラインによるバイラテラルフィルタの高速化手法 (RECONF 2021/06)

FPGAを用いたフルパイプラインによるバイラテラルフィルタの高速化手法 (RECONF 2021/06)

電子情報通信学会研究会のリコンフィギャラブルシステム研究会 (RECONF) での発表資料です (2021/06/09)。
バイラテラルフィルタの高速化手法についての研究であり、バイラテラルグリッドを改良することで、ウィンドウ半径に応じた演算回数や回路規模の増大を抑え、フルパイプライン化することでその高速な FPGA 実装を実際に行いました。
・プログラムと抄録: https://www.ieice.org/ken/paper/20210609fCeE/
・論文 (Copyright ©2021 by IEICE): https://projects.n-hassy.info/paper/RECONF2021-8.pdf
・プロフィール: https://n-hassy.info/ja/

Nobuho Hashimoto

June 09, 2021
Tweet

More Decks by Nobuho Hashimoto

Other Decks in Research

Transcript

  1. όΠϥςϥϧϑΟϧλͷఆٛ ❖े෼ʹߴ଎ͱ͸ݴ͍೉͍ 2021/6/29 3 C. Tomasi and R. Manduchi, “Bilateral

    filtering for gray and color images,” ICCV, 1998 ۭؒΧʔωϧ ৭Χʔωϧ ਖ਼نԽ߲ ۭؒతʹ΋৭తʹ΋ ͍ۙըૉʹେ͖ͳॏΈ͕ͭ͘
  2. ຊݚڀͰͷऔΓ૊Έ ❖େن໛ߴղ૾౓ը૾Ͱ͋ͬͯ΋ɼখن໛ͳճ࿏Ͱߴ଎ʹಈ࡞͢Δ όΠϥςϥϧϑΟϧλͷ࣮ݱ Ø ճ࿏ن໛͕΢Οϯυ΢൒ܘʹԠͯ͡૿Ճ͠ͳ͍ l όΠϥςϥϧάϦουͱ͍͏ख๏ΛԠ༻͢Δ͜ͱʹΑͬͯୡ੒ Ø ߴεϧʔϓοτɾ௿஗Ԇ l

    II = 1 ͷύΠϓϥΠϯԽɼೖྗͷஞ࣍తॲཧʹΑͬͯୡ੒ 2021/6/29 5 II (Initiation Interval): ͋ΔೖྗΛॲཧ࢝͠Ί͔ͯΒ ࣍ͷೖྗΛॲཧ࢝͠ΊΔ·ͰͷΫϩοΫ਺ ͋Δըૉͷॲཧ ࣍ͷըૉͷॲཧ ࣌ؒ II
  3. όΠϥςϥϧάϦου 1. ը૾Λۭؒํ޲ͱً౓ํ޲ʹ཭ࢄԽͯ͠άϦουʹ֨ೲ 2. άϦου্ͰϑΟϧλϦϯά 3. ิؒ͢Δ͜ͱͰݩͷ࠲ඪͰͷॲཧޙͷ஋Λܭࢉ 2021/6/29 6 J

    Chen, S Paris, and F Durand, “Real-time edge-aware image processing with the bilateral grid,” ACM Trans. Graph., 2007
  4. όΠϥςϥϧάϦουͷվྑ ❖άϦου্Ͱͷ΢Οϯυ΢൒ܘͷΈมԽͤ͞Δ͜ͱ͕Մೳ Ø ࡾ࣍ݩͳͷͰɼ΢Οϯυ΢൒ܘΛ૿Ճͤͨ͞ͱ͖ͷճ࿏ن໛ͷ૿େ͕େ ͖͍ Ø όΠϥςϥϧϑΟϧλͷग़ྗͱؔ࿈͚ͮΔͷ͕೉͍͠ ❖ݩͷը૾্Ͱͷ΢Οϯυ΢൒ܘΛมԽ͍ͤͨ͞ Ø 𝒓

    × 𝒓 ͷਖ਼ํܗΛմͱͯ͠ݟΔ Ø άϦου্ͷ΢Οϯυ΢൒ܘΛ 1 ʹݻఆ͢Δ 2021/6/29 7 طଘख๏ ఏҊख๏ ݩը૾্ͷ൒ܘ ߟྀ͍ͯ͠ͳ͍ Մม άϦου্ͷ൒ܘ Մม 1 ʹݻఆ
  5. ఏҊख๏ͷΞϧΰϦζϜ 1. άϦουੜ੒: ೖྗը૾ΛάϦου্ʹࣹӨ Ø ೖྗըૉ͝ͱʹ࣮ߦ 2. Ψ΢γΞϯϑΟϧλ: άϦου্ͰͷΨ΢γΞϯϑΟϧλ Ø

    άϦουͷཁૉ͝ͱʹ࣮ߦ 3. ࡾ࣍ݩઢܗิؒ: ೖྗը૾ͷً౓஋Λݩʹࡾ࣍ݩઢܗิؒ Ø ೖྗըૉ͝ͱʹ࣮ߦ ➜ஞ࣍తʹߦ͏ͱ஗͍ͷͰɼ͜ΕΒͷϧʔϓΛ݁߹͢Δ 2021/6/29 8
  6. ϧʔϓͷ݁߹ ❖2.5 𝑟 ߦ෼ఔ౓ͷ஗ԆͰ 𝑟 ߦͷೖྗʹରͯ͠ 𝑟 ߦͷग़ྗ͕ಘΒΕΔ 2021/6/29 10

    ಛʹ੨৭ͷ෦෼ʹ஫໨ ಉ͡৭ͰృΒΕͨ෦෼͕ॱʹ׬੒͢Δ ˞֤৭͸ը૾ͷ৭Λද͢ͷͰ͸ͳ͘ɼ આ໌ͷͨΊʹ৭෼͚Λߦ͚ͬͨͩͰ͋Δ
  7. ఏҊख๏ͷ࠷దԽ ❖άϦουੜ੒Ͱ͸ಉ͡ཁૉʹࣹӨ͞ΕΔ͜ͱ͕͋ΔͨΊɼRead- Modify-Write ॲཧʹͳΔ (֤ਫ৭͸ಉ͡ཁૉʹࣹӨ) Ø II = 1 Ͱ͸࣮ݱͰ͖ͳ͍

    ❖y ࣠ํ޲ʹ͸࿈ଓͯ͠ 𝑟 ճͷΞΫηε͕͋Δ (੺৭) ͜ͱΛར༻ ❖1.5~2ഒఔ౓ͷߴ଎Խ 2021/6/29 12 ֤ཁૉ΁ͷ ΞΫηεύλʔϯ ೖྗը૾
  8. ࣮ݧ ❖ఏҊख๏Λ ZCU 104 Ϙʔυʹ࣮૷ ❖࢖༻ͨ͠πʔϧ౳ Ø Vivado HLS 2019.2

    l ߴҐ߹੒Λߦ͍ɼVerilog ͷίʔυ౳Λੜ੒ Ø Vivado 2019.2 l ϏοτετϦʔϜΛੜ੒ Ø PYNQ v2.6 l Ϙʔυͱͷσʔλͷ΍ΓͱΓ౳Λࢧԉ 2021/6/29 13 ZCU 104 Ϙʔυ (૊ΈࠐΈγεςϜͰ࢖͑Δ ఔ౓ͷখن໛ͳ FPGA)
  9. ఏҊख๏ͱGPU࣮૷ɾطଘख๏ͷൺֱ ❖ճ࿏ن໛Λ཈͑ͭͭɼ େ͖ͳը૾ɾେ͖ͳ ΢Οϯυ΢൒ܘͰ࣮ࡍ ʹߴ଎ʹॲཧՄೳ Ø ଎౓ʹؔͯ͠͸ GPU A100 PCIe

    ΑΓ΋ߴ଎ 2021/6/29 16 (2) A. Gabiger-Rose, M. Kube, R. Weigel, and R. Rose, “An FPGA-based fully synchronized design of a bilateral filter for real-time image denoising,” Transactions on Industrial Electronics, 2014 (3) S. D. Dabhade, G. N. Rathna, and K. N. Chaudhury, “A reconfigurable and scalable FPGA architecture for bilateral filtering,” Transactions on Industrial Electronics, 2018 ఏҊख๏ɼطଘख๏ʹ͓͚Δճ࿏ن໛ɾ଎౓ͷؔ܎