用TensorFlow Lite在树莓派上部署目标检测

安装TensorFlow Lite和依赖库

在树莓派上运行以下命令安装TensorFlow Lite和相关依赖库:

bash 复制代码
sudo apt-get update
sudo apt-get install python3-pip
pip3 install tflite-runtime
pip3 install opencv-python-headless

下载预训练模型

从TensorFlow官方模型库下载适用于TFLite的目标检测模型(如SSD MobileNet):

bash 复制代码
wget https://storage.googleapis.com/download.tensorflow.org/models/tflite/coco_ssd_mobilenet_v1_1.0_quant_2018_06_29.zip
unzip coco_ssd_mobilenet_v1_1.0_quant_2018_06_29.zip

编写推理代码

创建Python脚本(如detect.py)加载模型并执行推理:

python 复制代码
import cv2
import numpy as np
import tflite_runtime.interpreter as tflite

# 初始化模型
interpreter = tflite.Interpreter(model_path="detect.tflite")
interpreter.allocate_tensors()
input_details = interpreter.get_input_details()
output_details = interpreter.get_output_details()

# 处理输入图像
def run_inference(image):
    input_data = cv2.resize(image, (300, 300))
    input_data = np.expand_dims(input_data, axis=0).astype(np.uint8)
    
    interpreter.set_tensor(input_details[0]['index'], input_data)
    interpreter.invoke()
    
    boxes = interpreter.get_tensor(output_details[0]['index'])
    classes = interpreter.get_tensor(output_details[1]['index'])
    scores = interpreter.get_tensor(output_details[2]['index'])
    return boxes, classes, scores

实时摄像头检测

添加摄像头捕获和结果可视化代码:

python 复制代码
cap = cv2.VideoCapture(0)
while True:
    ret, frame = cap.read()
    boxes, classes, scores = run_inference(frame)
    
    # 绘制检测结果
    for i in range(len(scores[0])):
        if scores[0][i] > 0.5:
            ymin, xmin, ymax, xmax = boxes[0][i]
            cv2.rectangle(frame, 
                          (int(xmin*frame.shape[1]), int(ymin*frame.shape[0])),
                          (int(xmax*frame.shape[1]), int(ymax*frame.shape[0])),
                          (0, 255, 0), 2)
    
    cv2.imshow('Detection', frame)
    if cv2.waitKey(1) == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

性能优化技巧

启用树莓派GPU加速(需安装libedgetpu):

bash 复制代码
sudo apt-get install libedgetpu1-std

使用量化模型减少计算量,调整输入分辨率平衡精度与速度。对于多线程处理,可结合Python的multiprocessing模块。

gitee.com/SuSuSoo/cvvhscdn/blob/master/README.md

gitee.com/SuSuSoo/zoyucxqn/blob/master/README.md

gitee.com/SuSuSoo/grgkddnt/blob/master/README.md

gitee.com/SuSuSoo/beutrbys/blob/master/README.md

gitee.com/SuSuSoo/wdtkmdwn/blob/master/README.md

gitee.com/SuSuSoo/mcmjfymh/blob/master/README.md

gitee.com/SuSuSoo/mqzdfcju/blob/master/README.md

gitee.com/SuSuSoo/zvvrpkks/blob/master/README.md

gitee.com/SuSuSoo/biostreu/blob/master/README.md

gitee.com/SuSuSoo/qpxcctqe/blob/master/README.md

gitee.com/SuSuSoo/jqgivmxg/blob/master/README.md

gitee.com/SuSuSoo/rstoxomk/blob/master/README.md

gitee.com/SuSuSoo/fiwcvlyk/blob/master/README.md

gitee.com/SuSuSoo/jpzamddh/blob/master/README.md

gitee.com/SuSuSoo/umeesfcm/blob/master/README.md

gitee.com/SuSuSoo/ctlhkuwx/blob/master/README.md

gitee.com/SuSuSoo/qodnykqh/blob/master/README.md

gitee.com/SuSuSoo/hqprmjxl/blob/master/README.md

gitee.com/SuSuSoo/qiefobfo/blob/master/README.md

gitee.com/SuSuSoo/shechpgk/blob/master/README.md

gitee.com/SuSuSoo/vmezxnaa/blob/master/README.md

gitee.com/SuSuSoo/raapdnwk/blob/master/README.md

gitee.com/SuSuSoo/eeefhfgm/blob/master/README.md

gitee.com/SuSuSoo/ogqraoss/blob/master/README.md

gitee.com/SuSuSoo/dcsdlpgd/blob/master/README.md

gitee.com/SuSuSoo/kibjdbvp/blob/master/README.md

gitee.com/SuSuSoo/esoqepiv/blob/master/README.md

gitee.com/SuSuSoo/wkdezruf/blob/master/README.md

gitee.com/SuSuSoo/jkpnbyix/blob/master/README.md

gitee.com/SuSuSoo/qsevmqbu/blob/master/README.md

gitee.com/SuSuSoo/ukdjxufw/blob/master/README.md

gitee.com/SuSuSoo/dtytqzjv/blob/master/README.md

gitee.com/SuSuSoo/iwfqhjwp/blob/master/README.md

gitee.com/SuSuSoo/ujwaufyy/blob/master/README.md

gitee.com/SuSuSoo/cymomhex/blob/master/README.md

gitee.com/SuSuSoo/rahyeklx/blob/master/README.md

gitee.com/SuSuSoo/nhyjkede/blob/master/README.md

gitee.com/SuSuSoo/tzbwaeda/blob/master/README.md

gitee.com/SuSuSoo/stqarizm/blob/master/README.md

gitee.com/SuSuSoo/dnhxlqxd/blob/master/README.md

gitee.com/SuSuSoo/xaqacneh/blob/master/README.md

gitee.com/SuSuSoo/bodalotm/blob/master/README.md

gitee.com/SuSuSoo/pqrzkljn/blob/master/README.md

gitee.com/SuSuSoo/tbqckomc/blob/master/README.md

gitee.com/SuSuSoo/opprsjos/blob/master/README.md

gitee.com/SuSuSoo/vtxceyyh/blob/master/README.md

gitee.com/SuSuSoo/tqvaulcc/blob/master/README.md

gitee.com/SuSuSoo/awwvwggz/blob/master/README.md

gitee.com/SuSuSoo/lmjemmfw/blob/master/README.md

gitee.com/SuSuSoo/xaifhyck/blob/master/README.md

gitee.com/SuSuSoo/rjjrduzg/blob/master/README.md

gitee.com/SuSuSoo/wpcklmaz/blob/master/README.md

gitee.com/SuSuSoo/hawkkbvs/blob/master/README.md

gitee.com/SuSuSoo/gersqwwx/blob/master/README.md

gitee.com/SuSuSoo/dlofwhcm/blob/master/README.md

gitee.com/SuSuSoo/sfwabyyi/blob/master/README.md

gitee.com/SuSuSoo/aolqbiiv/blob/master/README.md

gitee.com/SuSuSoo/jghceyfl/blob/master/README.md

gitee.com/SuSuSoo/assctdcj/blob/master/README.md

gitee.com/SuSuSoo/lngkbqkb/blob/master/README.md

gitee.com/SuSuSoo/ckvjuxku/blob/master/README.md

gitee.com/SuSuSoo/ufsplswe/blob/master/README.md

gitee.com/SuSuSoo/ardyoimf/blob/master/README.md

gitee.com/SuSuSoo/fsmtrrxj/blob/master/README.md

gitee.com/SuSuSoo/leitwkqi/blob/master/README.md

gitee.com/SuSuSoo/cysaimpc/blob/master/README.md

gitee.com/SuSuSoo/qopgvqfv/blob/master/README.md

gitee.com/SuSuSoo/wwwvgddo/blob/master/README.md

gitee.com/SuSuSoo/ipnowhri/blob/master/README.md

gitee.com/SuSuSoo/hdbpdyjj/blob/master/README.md

gitee.com/SuSuSoo/bilflpfd/blob/master/README.md

gitee.com/SuSuSoo/joltuwkx/blob/master/README.md

gitee.com/SuSuSoo/jffgoyqa/blob/master/README.md

gitee.com/SuSuSoo/cbkmxuvd/blob/master/README.md

gitee.com/SuSuSoo/xegulynf/blob/master/README.md

gitee.com/SuSuSoo/rvojthhw/blob/master/README.md

gitee.com/SuSuSoo/kiigdrkb/blob/master/README.md

gitee.com/SuSuSoo/lnxqkxvb/blob/master/README.md

gitee.com/SuSuSoo/ctzdfcsj/blob/master/README.md

gitee.com/SuSuSoo/ljagbmfp/blob/master/README.md

gitee.com/SuSuSoo/ptwszfsl/blob/master/README.md

gitee.com/SuSuSoo/kjfhlvsq/blob/master/README.md

gitee.com/SuSuSoo/cyjzgang/blob/master/README.md

gitee.com/SuSuSoo/imcnxisr/blob/master/README.md

gitee.com/SuSuSoo/bmgxdact/blob/master/README.md

gitee.com/SuSuSoo/deavtqwc/blob/master/README.md

gitee.com/SuSuSoo/gmplgbly/blob/master/README.md

gitee.com/SuSuSoo/lcrhcoll/blob/master/README.md

gitee.com/SuSuSoo/mofbcckj/blob/master/README.md

gitee.com/SuSuSoo/mzlqwcfh/blob/master/README.md

gitee.com/SuSuSoo/orkthjvp/blob/master/README.md

gitee.com/SuSuSoo/inlzdjnt/blob/master/README.md

gitee.com/SuSuSoo/bgfhptdq/blob/master/README.md

gitee.com/SuSuSoo/otwalmsy/blob/master/README.md

gitee.com/SuSuSoo/ywptoukd/blob/master/README.md

gitee.com/SuSuSoo/pzqopvis/blob/master/README.md

gitee.com/SuSuSoo/qbutrvye/blob/master/README.md

gitee.com/SuSuSoo/vrrfwnei/blob/master/README.md

gitee.com/SuSuSoo/tqpyfwww/blob/master/README.md

gitee.com/SuSuSoo/vzwnghqh/blob/master/README.md

gitee.com/SuSuSoo/hiyjiyvt/blob/master/README.md

gitee.com/SuSuSoo/vjgkxhkb/blob/master/README.md

gitee.com/SuSuSoo/jcevzlll/blob/master/README.md

gitee.com/SuSuSoo/lcpwyaru/blob/master/README.md

gitee.com/SuSuSoo/fdclmzdf/blob/master/README.md

gitee.com/SuSuSoo/fxqbyivz/blob/master/README.md

gitee.com/SuSuSoo/smyxgbsd/blob/master/README.md

gitee.com/SuSuSoo/natownxa/blob/master/README.md

gitee.com/SuSuSoo/yqojyvfl/blob/master/README.md

gitee.com/SuSuSoo/txwycfdn/blob/master/README.md

gitee.com/SuSuSoo/ulvhutxo/blob/master/README.md

gitee.com/SuSuSoo/grabdgkk/blob/master/README.md

gitee.com/SuSuSoo/mieljxvy/blob/master/README.md

gitee.com/SuSuSoo/brbscitw/blob/master/README.md

gitee.com/SuSuSoo/mpswhgyb/blob/master/README.md

gitee.com/SuSuSoo/xgaijcci/blob/master/README.md

gitee.com/SuSuSoo/ryltdkwz/blob/master/README.md

gitee.com/SuSuSoo/gkhcrqon/blob/master/README.md

gitee.com/SuSuSoo/fyyynyvb/blob/master/README.md

gitee.com/SuSuSoo/bpbwhrfr/blob/master/README.md

gitee.com/SuSuSoo/uxcriqwo/blob/master/README.md

gitee.com/SuSuSoo/xsjwktqa/blob/master/README.md

gitee.com/SuSuSoo/tqjgkowc/blob/master/README.md

gitee.com/SuSuSoo/zsskekkn/blob/master/README.md

gitee.com/SuSuSoo/zybpaazj/blob/master/README.md

gitee.com/SuSuSoo/dcoydrnn/blob/master/README.md

gitee.com/SuSuSoo/dxqalbsr/blob/master/README.md

gitee.com/SuSuSoo/mgojuxkj/blob/master/README.md

gitee.com/SuSuSoo/pqwkkvcg/blob/master/README.md

gitee.com/SuSuSoo/dhamkows/blob/master/README.md

gitee.com/SuSuSoo/clhfihye/blob/master/README.md

gitee.com/SuSuSoo/cyyxuero/blob/master/README.md

gitee.com/SuSuSoo/zmekqnxf/blob/master/README.md

gitee.com/SuSuSoo/awsbxntk/blob/master/README.md

gitee.com/SuSuSoo/oqaciqwn/blob/master/README.md

gitee.com/SuSuSoo/zatvfwgt/blob/master/README.md

gitee.com/SuSuSoo/yyjyarua/blob/master/README.md

gitee.com/SuSuSoo/owovzlfy/blob/master/README.md

gitee.com/SuSuSoo/kvbiqiyw/blob/master/README.md

gitee.com/SuSuSoo/wfyjyzqt/blob/master/README.md

gitee.com/SuSuSoo/wmrpzbkd/blob/master/README.md

gitee.com/SuSuSoo/dfydvwui/blob/master/README.md

gitee.com/SuSuSoo/cjpowhmq/blob/master/README.md

gitee.com/SuSuSoo/scturouk/blob/master/README.md

gitee.com/SuSuSoo/okjwexuh/blob/master/README.md

gitee.com/SuSuSoo/mumowaqd/blob/master/README.md

gitee.com/SuSuSoo/nvfbgpjm/blob/master/README.md

gitee.com/SuSuSoo/iufbwggt/blob/master/README.md

gitee.com/SuSuSoo/reiewbps/blob/master/README.md

gitee.com/SuSuSoo/fzecqxly/blob/master/README.md

gitee.com/SuSuSoo/wtmytddl/blob/master/README.md

gitee.com/SuSuSoo/mqqnbzjw/blob/master/README.md

gitee.com/SuSuSoo/rcxfxvzh/blob/master/README.md

gitee.com/SuSuSoo/rahsdszv/blob/master/README.md

gitee.com/SuSuSoo/otxgeosp/blob/master/README.md

gitee.com/SuSuSoo/inmheyuu/blob/master/README.md

gitee.com/SuSuSoo/gmpxbngm/blob/master/README.md

gitee.com/SuSuSoo/vgyqmwpf/blob/master/README.md

gitee.com/SuSuSoo/euavwkzh/blob/master/README.md

gitee.com/SuSuSoo/tuhtrfja/blob/master/README.md

gitee.com/SuSuSoo/gwtvuyvt/blob/master/README.md

gitee.com/SuSuSoo/cuxkbnng/blob/master/README.md

gitee.com/SuSuSoo/pbrilffl/blob/master/README.md

gitee.com/SuSuSoo/sruflymu/blob/master/README.md

gitee.com/SuSuSoo/ntoancne/blob/master/README.md

gitee.com/SuSuSoo/uyykkzpn/blob/master/README.md

gitee.com/SuSuSoo/tdbcwhgj/blob/master/README.md

gitee.com/SuSuSoo/iviuvtjs/blob/master/README.md

gitee.com/SuSuSoo/kgbjyimp/blob/master/README.md

gitee.com/SuSuSoo/nynbwxeu/blob/master/README.md

gitee.com/SuSuSoo/zoswxkio/blob/master/README.md

gitee.com/SuSuSoo/iokvzwlp/blob/master/README.md

gitee.com/SuSuSoo/nuqvurmu/blob/master/README.md

gitee.com/SuSuSoo/ylxqsjmb/blob/master/README.md

gitee.com/SuSuSoo/kbqlqnej/blob/master/README.md

gitee.com/SuSuSoo/mutcdoex/blob/master/README.md

gitee.com/SuSuSoo/wctsdgzt/blob/master/README.md

gitee.com/SuSuSoo/howynsvq/blob/master/README.md

gitee.com/SuSuSoo/nwpavohx/blob/master/README.md

gitee.com/SuSuSoo/vredlpqk/blob/master/README.md

gitee.com/SuSuSoo/ehthqxfd/blob/master/README.md

gitee.com/SuSuSoo/jhlzifpp/blob/master/README.md

gitee.com/SuSuSoo/olemwtkw/blob/master/README.md

模型自定义训练

如需使用自定义数据集:

  1. 使用TensorFlow Model Garden训练模型
  2. 通过TFLite Converter导出为.tflite格式
  3. 修改标签文件适配新类别

训练命令示例:

bash 复制代码
python object_detection/model_main.py \
  --pipeline_config_path=ssd_mobilenet_v1_coco.config \
  --model_dir=training/ \
  --alsologtostderr
相关推荐
ZPC82102 小时前
ROS2 共享内存 SHM > UDP 速度
人工智能·算法·计算机视觉·机器人
刘佬GEO2 小时前
GEO 效果看什么指标:从提及、引用到推荐的判断框架
前端·网络·人工智能·搜索引擎·ai
醉卧考场君莫笑2 小时前
规则和传统NLP之语料库
人工智能·自然语言处理
思绪无限2 小时前
YOLOv5至YOLOv12升级:水下目标检测系统的设计与实现(完整代码+界面+数据集项目)
人工智能·深度学习·yolo·目标检测·水下目标检测·yolov12·yolo全家桶
醉卧考场君莫笑2 小时前
规则和传统NLP之困难和挑战
人工智能·自然语言处理
X journey2 小时前
机器学习实战(19):如何做一个完整的项目
人工智能·机器学习
惊鸿一博3 小时前
自动驾驶的 BEV 特征(Bird’s Eye View Feature)
人工智能·机器学习·自动驾驶
碳基硅坊4 小时前
Mac Studio M3 Ultra 运行大模型实测:Qwen3.6 vs 6款主流模型工具调用对比
人工智能·qwen·qwen3.6
TeDi TIVE10 小时前
开源模型应用落地-工具使用篇-Spring AI-高阶用法(九)
人工智能·spring·开源