AidLux “3D对象检测”案例源码详解

本文详细解析了使用Python进行3D对象检测的案例,通过objectron库,涉及检测峰值函数、解码、三维空间物体框绘、模型路径设定、相机配置和图像读取等关键步骤。
摘要由CSDN通过智能技术生成

“3D对象检测”案例源码详解 (Python)

objectron.py用于检测3D对象

  1. 检测峰值
  2. 解码函数
  3. 绘制三维空间中的盒子,以标识物体
  4. 指定模型路径和输入形状
  5. 设置相机并开始读图
  6. 启动模型,调用三个函数进行物体检测并绘制

打开objectron对象检测案例

1.在VScode中进入代码编辑状态。
在这里插入图片描述
2.代码存在路径在/examples_gpu/objectron/objectron.py。

导入相关库

在这里插入图片描述

1. cvs图形控件模块。
2. remi是一个用于python应用程序的gui库,它将应用程序的接口转换成html并在web浏览器中呈现。这消除了特定于平台的依赖关系,使用户可以轻松地在python中开发跨平台应用程序
3. sys模块包括了一组非常实用的服务,内含很多函数方法和变量,用来处理Python运行时配置以及资源,从而可以与前当程序之外的系统环境交互。 
4. NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。在机器学习算法中大部分都是调用Numpy库来完成基础数值计算的。
5. SciPy是一个开源的数学、科学和工程计算包
6. Scipy.ndimage---Multi-dimensional image processing(多维图像处理包)----该包包含用于多维图像处理的各种功能。7. 几个模块:Filters:过滤器
8. tflite_gpu,GPU加速代码由AID提供,TensorFlow Lite 支持多种硬件加速器。
9. GPU 是设计用来完成高吞吐量的大规模并行工作的。因此,它们非常适合用在包含大量运算符的神经网络上,
10. 一些输入张量可以容易的被划分为更小的工作负载且可以同时执行,通常这会导致更低的延迟。
11. 在最佳情况下,用 GPU 在实时应用程序上做推理运算已经可以运行的足够快,而这在以前是不可能的。

检测峰值函数

tflite = tflite_gpu.tflite()


#检测峰值,返回峰值索引
#传递的参数中要设置过滤器大小、级数(此处分别为5、0.5)
def detect_peak(image, filter_size=5, order=0.5):

    #local_max用于存放图像中诸像素的最大值
    
    #此处np.ones生成5行5列的值全为1的矩阵
    #footprint.ones(n,m)相当于size=(n,m),指定大小为n行m列
    local_max = maximum_filter(image, footprint=np.ones((filter_size, filter_size)), mode='constant')

    #掩码数组(np.ma.array),使用Mask遮挡掉某些不符合条件的数据,使其不参与后续运算
    #检测到的峰值是一个蒙板(mask)数列,蒙板(mask)设置为图像不为最大值的部分
    #"~"即取反
    detected_peaks = np.ma.array(image,mask=~(image == local_max))
    
    #掩码数组(np.ma.array),使用Mask遮挡掉某些不符合条件的数据,使其不参与后续运算
    #检测到的峰值是一个蒙板(mask)数列,蒙板(mask)设置为图像不为最大值的部分
    temp = np.ma.array(detected_peaks, mask=~(detected_peaks >= detected_peaks.max() 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值