Nhận diện vật thể real-time bằng YOLOv8 và Raspberry Pi 5
Nâng cao18/5/2026

Nhận diện vật thể real-time bằng YOLOv8 và Raspberry Pi 5

Tận dụng sức mạnh ARM Cortex-A76 của Raspberry Pi 5 để chạy YOLOv8 nhận diện vật thể thời gian thực. Pipeline sử dụng picamera2 chụp frame, tflite-runtime chạy model YOLOv8n INT8 (~30 FPS) và hiển thị kết quả qua Flask stream. Không cần GPU rời.

YOLOv8OpenCVTFLiteCameraAIRaspberry Pi 5
0 lượt thích1 người đã làm2 giờ5 bước4 linh kiện
← Quay lại dự án
Hướng dẫn chi tiết

Phần 5: Triển khai và kiểm tra hệ thống

1. Hướng dẫn triển khai hệ thống trên Raspberry Pi 5, 2. Kiểm tra hoạt động của camera và mô hình YOLOv8n, 3. Đánh giá hiệu suất nhận diện vật thể trong thời gian thực, 4. Khắc phục sự cố khi hệ thống không hoạt động như mong đợi, 5. Tối ưu hóa thêm để cải thiện tốc độ và độ chính xác, 6. Các bước để triển khai hệ thống trên các thiết bị khác nếu cần.

Cập nhật 01/06/2026

Phần 5: Triển khai và kiểm tra hệ thống

1. Hướng dẫn triển khai hệ thống trên Raspberry Pi 5

Để triển khai hệ thống nhận diện vật thể real-time bằng YOLOv8 trên Raspberry Pi 5, bạn cần thực hiện các bước sau:

  1. Cài đặt hệ điều hành: Đầu tiên, bạn cần cài đặt Raspberry Pi OS (Lite hoặc Desktop) trên thẻ nhớ của Raspberry Pi 5. Bạn có thể tải về từ trang web chính thức của Raspberry Pi.
  2. Cài đặt các thư viện cần thiết: Sử dụng terminal để cài đặt các thư viện cần thiết cho dự án. Chạy các lệnh sau:
  3. sudo apt update
    sudo apt install python3-picamera2 python3-flask python3-opencv
  4. Cài đặt TensorFlow Lite: Tải và cài đặt TensorFlow Lite runtime cho ARM. Chạy lệnh sau:
  5. pip install tflite-runtime
  6. Tải mô hình YOLOv8: Tải mô hình YOLOv8n INT8 đã được tối ưu hóa cho TensorFlow Lite từ kho GitHub hoặc trang web chính thức.
  7. Chuẩn bị mã nguồn: Tạo một thư mục cho dự án và sao chép mã nguồn vào thư mục đó. Đảm bảo rằng bạn đã thiết lập đúng đường dẫn đến mô hình YOLOv8 trong mã nguồn.

2. Kiểm tra hoạt động của camera và mô hình YOLOv8n

Trước khi bắt đầu nhận diện vật thể, hãy kiểm tra xem camera có hoạt động đúng không:

from picamera2 import Picamera2
import time

picam2 = Picamera2()
picam2.start_preview()
time.sleep(5)  # Xem camera trong 5 giây
picam2.stop_preview()

Nếu bạn thấy hình ảnh từ camera, điều đó có nghĩa là camera đã hoạt động tốt. Tiếp theo, kiểm tra mô hình YOLOv8n:

import cv2
import numpy as np

# Tải mô hình YOLOv8
model = cv2.dnn.readNetFromTensorflow('yolov8n.tflite')

# Kiểm tra mô hình
if model.empty():
    print("Mô hình không được tải thành công!")
else:
    print("Mô hình đã được tải thành công!") 

3. Đánh giá hiệu suất nhận diện vật thể trong thời gian thực

Để đánh giá hiệu suất, bạn cần chạy mã nhận diện vật thể trong thời gian thực:

from flask import Flask, Response
import cv2

app = Flask(__name__)

def generate_frames():
    camera = cv2.VideoCapture(0)
    while True:
        success, frame = camera.read()
        if not success:
            break
        else:
            # Xử lý nhận diện vật thể với YOLOv8
            # ...

            # Chuyển đổi khung hình sang định dạng JPEG
            ret, buffer = cv2.imencode('.jpg', frame)
            frame = buffer.tobytes()
            yield (b'--frame\r\n'
                   b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n')

@app.route('/video_feed')
def video_feed():
    return Response(generate_frames(), mimetype='multipart/x-mixed-replace; boundary=frame')

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)

Chạy ứng dụng Flask và mở trình duyệt web để kiểm tra luồng video nhận diện vật thể.

4. Khắc phục sự cố khi hệ thống không hoạt động như mong đợi

Kiểm tra kết nối internet và đảm bảo rằng tất cả các thư viện đã được cài đặt đúng cách.

Nếu hệ thống không hoạt động như mong đợi, hãy kiểm tra các vấn đề sau:

  • Camera không hoạt động: Kiểm tra kết nối của camera với Raspberry Pi và đảm bảo rằng driver camera đã được cài đặt đúng.
  • Mô hình không nhận diện được vật thể: Đảm bảo rằng mô hình đã được tải đúng và có định dạng tương thích với TensorFlow Lite.
  • Lỗi khi chạy Flask: Kiểm tra log của Flask để xem có lỗi gì không. Đảm bảo rằng cổng không bị chiếm dụng.

5. Tối ưu hóa thêm để cải thiện tốc độ và độ chính xác

Để cải thiện hiệu suất của hệ thống, bạn có thể thực hiện các bước sau:

  • Sử dụng các phương pháp nén mô hình: Sử dụng quantization để giảm kích thước mô hình mà không làm giảm độ chính xác quá nhiều.
  • Giảm độ phân giải khung hình: Giảm độ phân giải hình ảnh đầu vào để tăng tốc độ xử lý.
  • Chạy mô hình trên nhiều luồng: Sử dụng threading để xử lý các khung hình song song.

6. Các bước để triển khai hệ thống trên các thiết bị khác nếu cần

Nếu bạn muốn triển khai trên các thiết bị khác, hãy thực hiện các bước sau:

  1. Kiểm tra tính tương thích: Đảm bảo rằng thiết bị mới hỗ trợ cài đặt các thư viện cần thiết và có khả năng chạy mô hình YOLOv8n.
  2. Cài đặt hệ điều hành và thư viện: Cài đặt hệ điều hành và các thư viện như đã hướng dẫn ở trên.
  3. Chuyển mã nguồn: Sao chép mã nguồn và mô hình YOLOv8n vào thiết bị mới và điều chỉnh đường dẫn nếu cần.
  4. Kiểm tra và chạy ứng dụng: Thực hiện các bước kiểm tra tương tự như trên Raspberry Pi 5 để đảm bảo mọi thứ hoạt động tốt.

Với những bước trên, bạn đã hoàn thành việc triển khai và kiểm tra hệ thống nhận diện vật thể real-time bằng YOLOv8 trên Raspberry Pi 5 cũng như các thiết bị khác. Hy vọng bài viết này sẽ giúp ích cho bạn trong dự án IoT của mình!