Well, I am currently responsible for a project which performs hand tracking recognition using a SoC (FPGA + ARM Processor). We have not started to develop the solution in the PCB yet, but I think some considerations we have taken in the beginning may help you.
Yes, FPGAs are very interesting to perform this kind of recognition algorithms because it allows to parallelize many calculations. For example, in hand tracking you may generate several guesses where each articulation is and check all of them at the same time. It is a great advantage over CPUs
Of course, you would have to analyze your algorithm to know for sure if it would perform well in a parallel execution. And if it is the case, you may implement it using a FPGA.
Altera, for example, has been developing solutions to synthesize OpenCL language descriptions directly to FPGAs. This may help you, because a higher level language like that may speed up your work a lot.
I do have a small concern though. For my project, fully functional, reliable hand and finger tracking is very difficult to perform in real time. Even some people using GPUs to parallelize calculations have not achieved 30 frames per second. Are you sure a micro-controller would not do your job? In this case, using an FPGA and all the work to develop the hardware description would be an overkill.
There is another side of FPGAs that may increase your budget. You will probably have to buy a license for a simulator. I am not sure you are familiar with FPGA applications. You have your hardware description, you test it with a couple of test benches running on a simulator, and when you are sure you design works, you synthesize it and go to the FPGA.
If you don't have a simulator, your work will be painfully slow. Synthesis of a big design may take a couple of hours. FPGAs are complicated to debug. With Altera, for example, you have to reserve a memory on the FPGA to store signal samples to then receive the waveform. It is much harder than micro-controllers.