08-07-2020 08:24 PM
I'm working on a project on behavior recognition based on 3D convolution.
I would like to ask whether the Xilinx ZynQ-7000 development board can support 3D convolution?
Or is there an XILIx FPGA development board that supports 3D convolution?
08-07-2020 08:26 PM
look forward to receiving reply very much!
08-07-2020 08:31 PM
There's no reason that a Zynq 7000 can't support 3D convolution. However, just as resources scale with the kernel size squared for 2D convolution, they scale with the kernel size cubed for a 3D convolution. 7x7 convolution = 49 multiply-accumulate operations per element. 7x7x7 convolution = 343 multiply-accumulate operations per element. With any chip, this is likely to mean that you can only implement a couple of single-cycle 3D convolution operations before running out of DSP slices.
08-07-2020 08:54 PM
Thank you very much for your reply.
Do you mean that any chip that supports 2D convolution supports 3D convolution, it just needs to see whether it has enough memory to withstand the huge amount of computation brought by 3D convolution?
08-07-2020 09:19 PM
Yes, that's essentially it. Even an old Spartan 2 can perform 3D convolution - it'll just take a long time (not enough resources to do it in a single cycle, so it'll have to be split over multiple cycles, and the maximum clock speed is very limited).
With new chips, it's essentially "you get what you pay for". An XC7S6 can perform 3D convolution, but with only ten DSP slices even performing a 3x3x3 convolution is going to take at least nine clock cycles. An XCVU13P will perform far better (with its 12,288 DSP slices you could potentially have 151 3x3x3 convolutions running simultaneously, each completing in a single clock cycle) - but the XCVU13P costs $40,000.
08-07-2020 11:45 PM
The right word is not "support" but "can do". Yes, you can do 3D convolution with zynq-7000. And even with an Arduino. The problem can be the amount of voxels you can process and the speed.
08-09-2020 07:00 PM
Thank you very much for your reply.
I got it, but if I want to perform behavior recognition based on 3D convolution on zynQ-7000, is there an SDK that can help me complete the transformation of the model?
If not, then I won't be able to complete the project even if it supports 3D convolution.
Model transformation refers to the transformation of a computer-trained 3D convolution model into a model that runs on a development board.