一种基于细胞跟踪的FPGA硬件加速技术方法

文档序号:37270662发布日期:2024-03-12 20:59阅读:45来源:国知局
一种基于细胞跟踪的FPGA硬件加速技术方法

本发明涉及算法加速,具体为一种基于细胞跟踪的fpga硬件加速技术方法。


背景技术:

1、人类对生物医学的研究更为重视,组织的正常发育和病变依托于细胞的分裂和运动,准确分析细胞行为是理解复杂细胞病理变化的基础。随着计算机视觉领域的迅速发展,一种基于机器视觉的多细胞跟踪算法显露雏形。然而,由于细胞间形状差异较小,背景的干扰过大,细胞分裂等问题,多细胞跟踪算法面临诸多挑战。其中最主要的挑战是基于深度学习方法的多细胞跟踪算法参数过多,设备负担大。即使可以运行深度学习下的细胞跟踪算法,常规设备很难支撑庞大的数据分析,功能模块的实时性得不到保证,算法效率低下,很难应用到实际的复杂多变场景中去。

2、fpga(现场可编程门阵列)作为一种硬件模块,可以将网络模型中的大量数据运算操作转移到硬件中,从而广泛应用于算法的加速工作。不同于cpu和gpu,fpga的内部结构可以根据不同的应用场景定制,能以较低功耗高度并行地执行卷积以及采样过程中的密集计算,具备灵活度高,低功耗,并行运算的特性。这使得该技术非常适合应用于生物医学领域。


技术实现思路

1、(一)解决的技术问题

2、针对现有技术的不足,本发明提供了一种基于细胞跟踪的fpga硬件加速技术方法,解决了基于深度学习的细胞跟踪算法参数多,效率低,难以应用在实际场景中的问题。

3、(二)技术方案

4、本发明为了实现上述目的,提出一种基于细胞跟踪的fpga硬件加速技术方法,通过fpga芯片进行细胞图像序列预处理,使用fpga硬件模块代替yolov7中的重复卷积操作和u-net网络中的下采样部分,使用存储器为各个种群分配独立的特征空间。可以有效减轻深度学习方法中的计算量,解决实际应用中的实时性问题,使得基于深度学习的细胞跟踪算法可以在常规设备上运行,并且显著提高算法效率。

5、实现本发明的技术思路是将深度学习,fpga硬件加速,细胞跟踪算法结合起来,搭建一套完整的经过fpga硬件加速过的细胞跟踪框架,最终实现实际应用中的可行细胞跟踪,其具体实现步骤包括如下:

6、s1、将细胞图像序列传输到fpga芯片中进行预处理,这一步包括对图像进行去噪、增强和边缘检测等操作,以提高后续算法的准确性和稳定性;

7、s2、利用fpga的硬件模块替代细胞检测单元yolov7中的重复卷积操作,并在fpga中设计通道注意力机制和空间注意力机制对传统yolov7网络进行改进。这样可以加速细胞检测过程,并提高检测的精度和鲁棒性;

8、s3、使用fpga的硬件模块代替细胞分割单元u-net网络中的下采样部分,并在fpga中设计3d注意力机制进一步提升网络的分割能力,通过在硬件上实现这些操作,可以加快细胞分割的速度,并提高分割的准确度;

9、s4、将经过改进后的yolov7网络和u-net网络输出的检测结果和分割结果传输到蚁群算法模块中,蚁群算法模块利用多蚁群算法对每个细胞进行跟踪,并根据跟踪结果进行轨迹重组和异常细胞检测;

10、s5、利用fpga硬件的并行计算能力,可以提高蚁群算法的处理效率。同时,通过在fpga内置存储器中记录每个细胞的位置、速度和状态等信息,可以实现更快速、更精确的细胞跟踪;

11、s6、在fpga中设计卡尔曼滤波模型辅助判断细胞跟踪结果,避免由于细胞遮挡导致的跟踪失败;

12、s7、将跟踪结果传输回计算机或其他设备进行后续处理,如显示、分析和保存等,通过整个流程的硬件加速,可以实现高效、实时的细胞图像处理和分析。

13、进一步地,所述步骤s1中fpga芯片中进行预处理,包括:

14、使用canny算子进行细胞图像的预处理工作,具体包括高斯平滑滤波,计算幅值和方向,双阈值分割以及非极大值抑制。

15、使用高斯平滑滤波去除噪声的影响,具体使用高斯低通滤波,公式如下所示:

16、g(x,y)=h(x,y,σ)*f(x,y)#(1)

17、其中g(x,y)表示平滑后的图像,f(x,y)表示原图像,h(x,y,σ)表示高斯滤波函数,高斯滤波函数的具体表达公式如下:

18、

19、进一步地,所述步骤s2中利用fpga的硬件模块替代细胞检测单元yolov7中的重复卷积操作,具体包括:

20、采用同步流水线设计来实现重复卷积的硬件加速,再将3×1卷积核的3次乘法并行计算。

21、原本yolov7中的数据取出,运算和存储需要三个步骤,流水线优化设计是指在第一个数据运算的同时进行第二个数据的取出,在第二个数据运算的同时并列进行第一个数据的存储和第三个数据的取出,这种基于fpga硬件实现的模块逻辑,在不消耗设备性能的同时提高了运行的效率。

22、此外,fpga硬件模块可以通过牺牲面积和空间的方式来提高运行速度,本发明中采用3个dsp核参与运算,从而实现运算一个周期即可实现3次乘法的并行计算操作,从而进一步提高算法效率。

23、进一步地,所述步骤s3中使用fpga的硬件模块代替细胞分割单元u-net网络中的下采样部分,具体包括:

24、本发明使用2×2的下采样窗口中的最大值输出采样方式,设计奇偶行数据的周期性操作,在每一对奇偶行数据中选取较大值,再对较大值比较得出最大值,总而使用fpga硬件模块实现2×2下采样操作。这种周期反复交替的模式适合fpga的工作状态。

25、进一步地,所述步骤s5中通过在fpga内置存储器中记录每个细胞的位置、速度和状态等信息,具体包括:

26、在原始算法中各个细胞的位置,形态信息以及运动状态是通过矩阵进行存储,涉及一些矩阵仿射变换逆变换的问题。本发明使用fpga的内置存储器为每个细胞种群分配单独的存放空间,无需进行仿射变换的操作,大大降低了算法中所需的计算步骤。

27、(三)有益效果

28、与现有技术相比,本发明提供了一种基于细胞跟踪的fpga硬件加速技术方法,具备以下有益效果:

29、1、本发明利用fpga进行细胞图像序列的预处理,可以提高后续算法的准确性和稳定性。

30、2、本发明采用fpga硬件模块替代传统的yolov7网络中的卷积操作,并增加通道注意力机制和空间注意力机制,可以加速细胞检测过程,并提高检测的精度和鲁棒性。

31、3、本发明采用fpga硬件模块替代u-net网络中的下采样部分,并设计3d注意力机制,可以提高网络的分割能力,通过硬件实现可以加快细胞分割的速度,并提高分割的准确度。

32、4、本发明将经过改进后的yolov7网络和u-net网络输出的检测结果和分割结果传输到蚁群算法模块中。蚁群算法模块利用多蚁群算法对每个细胞进行跟踪,并根据跟踪结果进行轨迹重组和异常细胞检测。

33、5、本发明利用fpga硬件的并行计算能力,可以提高蚁群算法的处理效率。同时,在fpga内置存储器中记录每个细胞的位置、速度和状态等信息,可以实现更快速、更精确的细胞跟踪。

34、6、本发明在fpga中设计卡尔曼滤波模型辅助判断细胞跟踪结果,避免由于细胞遮挡导致的跟踪失败。

35、7、本发明将跟踪结果传输回计算机或其他设备进行后续处理,如显示、分析和保存等。通过整个流程的硬件加速,可以实现高效、实时的细胞图像处理和分析。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1