Giới thiệu dự án

Bối cảnh và lý do chọn đề tài

Theo báo cáo của Tổ chức Y tế Thế giới (WHO) và các nghiên cứu dịch tễ học về an toàn trẻ nhỏ, chấn thương không cố ý tại gia đình (té ngã, va đập, tiếp cận các khu vực nguy hiểm như cầu thang, nhà bếp, ban công) là một trong những nguyên nhân hàng đầu gây thương tích cho trẻ từ 1 đến 6 tuổi. Trong nhịp sống hiện đại, các bậc phụ huynh thường gặp áp lực lớn trong việc vừa xử lý công việc vừa giám sát con cái 24/7.

Các giải pháp truyền thống như thiết bị cảm biến đeo (wearable IoT) tuy có khả năng đo đạc gia tốc nhưng bộc lộ nhiều nhược điểm chí mạng: gây vướng víu, kích ứng da, dễ bị trẻ tháo bỏ hoặc quên sạc pin. Ngược lại, hệ thống camera an ninh thụ động (CCTV thông thường) chỉ đóng vai trò ghi hình hồi cứu chứ không có khả năng phân tích ngữ cảnh theo thời gian thực (real-time). Từ thực tiễn đó, đề tài tốt nghiệp ngành Công nghệ Kỹ thuật Máy tính tại Trường Đại học Sư phạm Kỹ thuật TP.HCM mang tên "Thiết kế hệ thống giám sát trẻ em thông qua camera" (thực hiện bởi sinh viên Đào Minh Trà, Tạ Ngọc Minh dưới sự hướng dẫn của TS. Trương Ngọc Sơn) đã được nghiên cứu và triển khai nhằm giải quyết triệt để bài toán an toàn chủ động cho trẻ nhỏ.

+------------------+       RTSP Stream      +--------------------------------+
|  IP Camera 1080p | ---------------------> |   Central Processing Server    |
+------------------+                        | - MobileNet SSD (Person Detect)|
                                            | - MediaPipe BlazePose (Fall)   |
                                            | - Ray Casting (Virtual Zone)   |
                                            +--------------------------------+
                                                            |
                                                   Sync / JSON State
                                                            v
+------------------+       Realtime Alert   +--------------------------------+
| Android App UI   | <--------------------- | Google Firebase Cloud Service  |
| - Live RTSP View |       State Push       | - Realtime DB (signal, zones)  |
| - Dynamic Zones  |                        | - Firebase Authentication      |
+------------------+                        +--------------------------------+

Vấn đề cốt lõi (Problem Statement)

Hệ thống giải quyết hai "điểm đau" (pain points) lớn nhất trong quản lý an toàn trẻ em tại gia đình:

  1. Thiếu khả năng cảnh báo sớm khi trẻ tiếp cận vùng rủi ro: Trẻ tiếp cận khu vực nguy hiểm (khu vực đun nấu, bậc cầu thang, cửa sổ) mà phụ huynh không hề hay biết do không có cơ chế khoanh vùng ảo linh hoạt.
  2. Độ trễ phản ứng khi xảy ra sự cố té ngã: Khi trẻ bị ngã, nếu không có mặt người lớn, chấn thương có thể trở nên nghiêm trọng do can thiệp y tế chậm trễ.

Mục tiêu dự án

  1. Xây dựng đường truyền dữ liệu thời gian thực: Kết nối và truyền nhận luồng video RTSP (Real Time Streaming Protocol) ổn định từ Camera IP về trạm xử lý trung tâm và ứng dụng di động.
  2. Tích hợp mô hình thị giác máy tính tinh gọn: Ứng dụng mô hình MobileNet SSD và thư viện MediaPipe BlazePose để phát hiện đối tượng người và nhận dạng biến thiên tư thế (đứng, ngồi, té ngã).
  3. Phát triển thuật toán phân định ranh giới không gian ảo: Cho phép người dùng trực tiếp vẽ các vùng cấm (Restricted Areas / ROI) dạng đa giác tùy ý trên màn hình di động và kiểm tra tọa độ đối tượng bằng thuật toán hình học tính toán.
  4. Đồng bộ hóa đám mây và cảnh báo tức thời: Thiết lập kiến trúc đồng bộ thời gian thực qua Firebase Realtime Database với độ trễ cảnh báo dưới 1.5 giây.

Phương pháp tiếp cận giải pháp

Hệ thống áp dụng phương pháp tiếp cận thị giác máy tính không xâm nhập (non-intrusive computer vision). Thay vì bắt trẻ mang các module cảm biến nặng nề, toàn bộ quá trình thu nhận dữ liệu được đảm nhiệm bởi Camera IP chuẩn RTSP. Dữ liệu hình ảnh được máy chủ xử lý phân tích theo 2 luồng song song:

  • Luồng 1 (Không gian): Trích xuất Bounding Box đối tượng bằng MobileNet-SSD, tính toán tâm đáy đại diện vị trí đứng, sau đó chiếu vào đa giác vùng cấm bằng thuật toán Ray Casting.
  • Luồng 2 (Hành vi): Trích xuất 33 điểm mốc sinh trắc học (Pose Landmarks) 3D từ MediaPipe BlazePose, theo dõi vận tốc biến thiên trục thẳng đứng ($y$) của các điểm then chốt (mũi, hông, vai) để phát hiện sự cố rơi/ngã đột ngột.

Phạm vi và giới hạn đề tài

  • Phạm vi: Giám sát không gian phòng trong nhà thông qua 01 Camera IP đơn luồng; xử lý các tình huống đi vào vùng cấm và té ngã; ứng dụng client chạy trên hệ điều hành Android.
  • Giới hạn kỹ thuật: Hệ thống yêu cầu môi trường ánh sáng tối thiểu $\ge 15\text{ lux}$; máy tính xử lý trung tâm cần có vi xử lý Core i5 hoặc GPU tích hợp để duy trì $\ge 15\text{ FPS}$; tầm nhìn camera không bị vật cản che khuất quá 50% cơ thể đối tượng.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng và khoảng trống công nghệ

Tiêu chí Cảm biến đeo IoT (Wearable) Camera an ninh truyền thống Hệ thống AI Vision đề xuất
Tính tiện dụng đối với trẻ Kém (gây vướng, dễ tháo gỡ) Cao (không chạm) Tối ưu (không chạm, vô hình)
Khả năng cảnh báo chủ động Có (chỉ té ngã) Không (chỉ ghi hình lưu trữ) Có (Té ngã + Đi vào vùng cấm)
Tùy biến khu vực nguy hiểm Không hỗ trợ Không hỗ trợ Hỗ trợ vẽ đa giác linh hoạt trên App
Xác thực và phân quyền Phụ thuộc phần cứng Phụ thuộc đầu ghi DVR/NVR Firebase Auth an toàn, phân quyền đa tầng
Chi phí phần cứng bổ sung Cao (chi phí cho mỗi thiết bị đeo) Thấp (chỉ camera) Tiết kiệm (tận dụng camera IP sẵn có)

Ma trận ưu tiên yêu cầu người dùng (MoSCoW)

  • Must-have (Bắt buộc): Luồng stream video RTSP mượt mà; nhận diện trẻ đi vào vùng cấm; phát hiện té ngã; gửi thông báo đẩy (push notification) lên điện thoại.
  • Should-have (Cần có): Giao diện CustomView cho phép vẽ 4 điểm tạo tứ giác cảnh báo trực tiếp trên video; cơ chế tự động reconnect khi mất luồng RTSP.
  • Could-have (Có thể có): Lưu log lịch sử các lần kích hoạt cảnh báo kèm timestamp; điều chỉnh ngưỡng confidence score trên app.
  • Won't-have (Chưa làm trong phiên bản này): Hỗ trợ ghép luồng nhiều camera cùng lúc (Multi-camera stitching); nhận diện danh tính khuôn mặt cụ thể (Face Recognition).

Thiết kế kiến trúc hệ thống

+-----------------------------------------------------------------------------------+
|                               HỆ THỐNG GIÁM SÁT                                   |
+-----------------------------------------------------------------------------------+
| [Khối Camera IP]                                                                  |
|                                                                                   |
| [Khối Xử lý Trung tâm (Python 3.9 Engine)]                                        |
|                                                                                   |
| [Khối Cơ sở dữ liệu Đám mây (Firebase)]                                           |
|                                                                                   |
| [Khối Ứng dụng Di động (Android Client)]                                           |
+-----------------------------------------------------------------------------------+

Ngăn xếp công nghệ (Technology Stack)

  • Computer Vision Core: Python v3.9.13, OpenCV-Python v4.8.0.76, MediaPipe v0.10.9, NumPy v1.24.3.
  • Deep Learning Framework: TensorFlow Lite runtime / MobileNetV1-SSD.
  • Mobile Client: Android Studio Hedgehog (v2023.1.1), Android SDK API 34 (Android 14 ready), Java/Kotlin.
  • Cloud Infrastructure: Firebase Realtime Database REST API, Firebase Auth SDK v22.3.0.
  • Giao thức mạng: RTSP, TCP Socket, HTTPS/WSS.

Cấu trúc lược đồ dữ liệu Firebase Realtime Database

{
  "users": {
    "uid_generated_string": {
      "camera_settings": {
        "ip_address": "192.168.1.105",
        "port": 554,
        "rtsp_url": "rtsp://admin:pass@192.168.1.105:554/onvif1"
      },
      "monitoring_state": {
        "is_active": true,
        "danger_signal": 1,
        "fall_signal": 0,
        "last_alert_timestamp": 1721015482000
      },
      "warning_zone": {
        "is_configured": true,
        "point_A": {"x": 120, "y": 340},
        "point_B": {"x": 480, "y": 340},
        "point_C": {"x": 520, "y": 710},
        "point_D": {"x": 90, "y": 710}
      }
    }
  }
}

Phương pháp luận phát triển (Methodology)

Dự án được thực hiện theo mô hình Agile/Scrum rút gọn kéo dài trong 16 tuần, chia làm 4 giai đoạn chính:

Tuần 1 - 4: Nghiên cứu lý thuyết MobileNet SSD, MediaPipe BlazePose & Thuật toán Ray Casting
Tuần 5 - 8: Xây dựng Pipeline xử lý Video RTSP & Engine thị giác máy tính trên Python
Tuần 9 - 12: Lập trình ứng dụng Android, module CustomView vẽ vùng cấm & Đồng bộ Firebase
Tuần 13 - 16: Thử nghiệm thực địa các kịch bản té ngã/vùng cấm, đo đạc Benchmark & Tối ưu

Implementation và kết quả

Chi tiết các thuật toán then chốt

1. Mô hình phát hiện đối tượng MobileNet-v1 SSD

MobileNet-SSD kết hợp giữa kiến trúc trích xuất đặc trưng MobileNet và mạng dự đoán đa khung bao SSD (Single Shot MultiBox Detector). Cốt lõi của MobileNet là phép Nhân chập tách rời theo chiều sâu (Depthwise Separable Convolution), chia phép tích chập chuẩn thành 2 bước:

  • Depthwise Convolution: Áp dụng bộ lọc $3 \times 3$ riêng biệt trên từng kênh màu đơn lẻ.
  • Pointwise Convolution: Áp dụng bộ lọc $1 \times 1$ để kết hợp tuyến tính các đặc trưng xuyên kênh.

Tỷ lệ suy giảm chi phí tính toán lý thuyết so với tích chập tiêu chuẩn được tính bằng công thức: $$\text{Reduction Ratio} = \frac{D_K \cdot D_K \cdot M \cdot D_F \cdot D_F + M \cdot N \cdot D_F \cdot D_F}{D_K \cdot D_K \cdot M \cdot N \cdot D_F \cdot D_F} = \frac{1}{N} + \frac{1}{D_K^2}$$

Với bộ lọc kích thước $D_K = 3$, chi phí tính toán giảm từ 8 đến 9 lần, cho phép đạt tốc độ xử lý thời gian thực trên CPU thông thường mà không suy giảm đáng kể chỉ số mAP (mean Average Precision).

import cv2
import numpy as np

def detect_person_ssd(frame, net, confidence_threshold=0.5):
    """
    Trích xuất Bounding Box và điểm trung tâm đáy của đối tượng người
    """
    (h, w) = frame.shape[:2]
    blob = cv2.dnn.blobFromImage(cv2.resize(frame, (300, 300)), 0.007843, (300, 300), 127.5)
    net.setInput(blob)
    detections = net.forward()
    
    person_boxes = []
    for i in range(detections.shape[2]):
        confidence = detections[0, 0, i, 2]
        if confidence > confidence_threshold:
            idx = int(detections[0, 0, i, 1])
            if idx == 15: # ClassID 15 = Person trong tập dữ liệu COCO/VOC
                box = detections[0, 0, i, 3:7] * np.array([w, h, w, h])
                (startX, startY, endX, endY) = box.astype("int")
                
                # Điểm tâm đáy (Ground-contact center point) đại diện chân vị trí đứng
                center_bottom_point = ((startX + endX) // 2, endY)
                person_boxes.append(((startX, startY, endX, endY), center_bottom_point))
                
    return person_boxes

2. Thuật toán kiểm tra điểm trong đa giác (Ray Casting Algorithm)

Để xác định điểm $E(x_0, y_0)$ của đối tượng có nằm trong vùng nguy hiểm đa giác $P = {V_1, V_2, \dots, V_n}$ hay không, hệ thống phát một tia nằm ngang xuất phát từ $E$ hướng về vô cực theo chiều dương trục $x$.

  • Nếu số lần tia cắt các cạnh của đa giác là số lẻ $\rightarrow$ Điểm nằm BÊN TRONG vùng cấm.
  • Nếu số lần cắt là số chẵn $\rightarrow$ Điểm nằm BÊN NGOÀI vùng cấm.
def is_point_in_polygon(point, polygon):
    """
    Triển khai thuật toán Ray Casting (Jordan Curve Theorem)
    point: tuple (x, y)
    polygon: list các tuples [(x1, y1), (x2, y2), ..., (xn, yn)]
    """
    x, y = point
    n = len(polygon)
    inside = False
    
    p1x, p1y = polygon[0]
    for i in range(n + 1):
        p2x, p2y = polygon[i % n]
        if y > min(p1y, p2y):
            if y <= max(p1y, p2y):
                if x <= max(p1x, p2x):
                    if p1y != p2y:
                        xinters = (y - p1y) * (p2x - p1x) / (p2y - p1y) + p1x
                    if p1x == p2x or x <= xinters:
                        inside = not inside
        p1x, p1y = p2x, p2y
        
    return inside

3. Mô hình nhận diện té ngã MediaPipe BlazePose

MediaPipe BlazePose áp dụng kiến trúc 2 giai đoạn: Pose Detector (dựa trên BlazeFace định vị vùng mặt và nội suy khung thân) và Pose Tracker (nội suy 33 điểm landmark 3D với tọa độ chuẩn hóa $x, y, z$).

Cơ chế nhận diện té ngã được thiết lập dựa trên 2 điều kiện động học:

  1. Độ biến thiên gia tốc tọa độ $y$ của Keypoint Mũi (Nose - Point 0) và Hông (Hip - Points 23, 24): $$v_y = \frac{|y_t - y_{t-\Delta t}|}{\Delta t} > \text{Velocity_Threshold}$$
  2. Tỷ lệ khung bao hình thể (Aspect Ratio): Khi cơ thể chuyển từ trạng thái đứng/ngồi sang tư thế nằm song song mặt sàn, tỷ lệ chiều rộng trên chiều cao khung bao cơ thể thay đổi đột ngột: $$\text{Ratio} = \frac{W_{\text{bbox}}}{H_{\text{bbox}}} > 1.2$$
import mediapipe as mp

mp_pose = mp.solutions.pose
pose = mp_pose.Pose(
    static_image_mode=False,
    model_complexity=1,
    smooth_landmarks=True,
    min_detection_confidence=0.6,
    min_tracking_confidence=0.6
)

def check_fall_detection(landmarks, prev_nose_y, fps=25):
    """
    Nhận diện sự cố ngã dựa trên tốc độ dịch chuyển trọng tâm và góc nghiêng cột sống
    """
    # Landmark 0: Mũi, Landmark 11: Vai trái, 12: Vai phải, 23: Hông trái, 24: Hông phải
    nose_y = landmarks[mp_pose.PoseLandmark.NOSE.value].y
    left_shoulder_y = landmarks[mp_pose.PoseLandmark.LEFT_SHOULDER.value].y
    right_shoulder_y = landmarks[mp_pose.PoseLandmark.RIGHT_SHOULDER.value].y
    
    avg_shoulder_y = (left_shoulder_y + right_shoulder_y) / 2.0
    
    # Tính vận tốc rơi theo phương Y (chuẩn hóa)
    fall_velocity = (nose_y - prev_nose_y) * fps
    
    is_falling = False
    if fall_velocity > 1.8: # Ngưỡng vận tốc biến thiên đột ngột
        if nose_y >= avg_shoulder_y - 0.05: # Mặt hạ thấp ngang hoặc dưới mức vai
            is_falling = True
            
    return is_falling, nose_y

Thử nghiệm và đánh giá định lượng

Hệ thống được thử nghiệm thực tế với 120 tình huống kiểm thử trong các điều kiện môi trường khác nhau (khoảng cách từ camera đến đối tượng dao động từ $1.5\text{ m}$ đến $5.0\text{ m}$):

Kịch bản kiểm nghiệm Số lượng test Phát hiện đúng Phát hiện sai / Bỏ sót Độ chính xác (Accuracy)
Đối tượng đứng di chuyển bình thường 30 28 2 93.3%
Đối tượng ngồi / bò chơi đồ chơi 30 26 4 86.7%
Đối tượng bước vào vùng cấm (Ánh sáng chuẩn) 25 22 3 88.0%
Đối tượng bước vào vùng cấm (Thiếu sáng <15 lux) 15 10 5 66.7%
Mô phỏng té ngã đột ngột 20 17 3 85.0%
Tổng thể toàn hệ thống 120 103 17 85.83%

Đánh giá hiệu năng hệ thống (Performance Metrics)

  • Tốc độ xử lý hình ảnh (Inference Latency): $42\text{ ms/frame}$ (tương đương $\approx 23.8\text{ FPS}$) khi chạy trên máy tính Intel Core i5-1135G7 không cần GPU rời.
  • Độ trễ đồng bộ cảnh báo (Alert Round-trip Time): Từ khi camera ghi nhận sự kiện ngã/xâm phạm vùng cấm đến khi điện thoại Android rung và phát chuông cảnh báo qua Firebase: $850\text{ ms} - 1200\text{ ms}$.
  • Mức tiêu hao tài nguyên: Chiếm dụng trung bình $38%$ CPU và $420\text{ MB}$ RAM trên máy chủ mini; tiêu thụ $< 4%$ pin mỗi giờ trên ứng dụng Android ở chế độ chạy nền.

Đổi mới và đóng góp

  1. Cơ chế thiết lập ranh giới động (Dynamic On-Screen Polygon Calibration): Khác biệt với các hệ thống camera truyền thống chỉ hỗ trợ Motion Detection toàn khung hình gây báo động giả liên tục, giải pháp cho phép phụ huynh dùng ngón tay chấm 4 điểm bất kỳ trên màn hình stream trực tiếp để khoanh vùng 위험 (chân cầu thang, bếp ga, mép giường). Tọa độ chuẩn hóa được tức thời nạp lên Firebase Realtime Database và đồng bộ về Engine xử lý.
  2. Kiến trúc luồng xử lý lai (Hybrid Dual-Engine Architecture): Tách bạch luồng phân loại không gian (MobileNet-SSD) và phân loại tư thế hành vi (BlazePose) giúp giảm thiểu $65%$ khối lượng tính toán dư thừa nhờ cơ chế kích hoạt theo ngưỡng chuyển động.
  3. Loại bỏ hoàn toàn sự bất tiện của phần cứng tiếp xúc: Cung cấp trải nghiệm bảo vệ thụ động, không làm gián đoạn các hoạt động vui chơi tự do và phát triển tự nhiên của trẻ nhỏ.

Ứng dụng thực tế và triển khai

Tình huống ứng dụng thực tế

  • Hộ gia đình có con nhỏ: Đặt camera tại phòng khách hoặc khu vực vui chơi; phụ huynh nấu ăn hoặc làm việc ở phòng khác vẫn có thể an tâm nhờ chuông báo tức thời.
  • Nhà trẻ và trường mầm non: Triển khai tại các khu vực rủi ro cao như chân cầu thang thoát hiểm, hồ bơi sân trường, cổng kiểm soát để hỗ trợ bảo mẫu và giáo viên quản lý số lượng lớn trẻ em.
  • Trung tâm vui chơi trẻ em (Kids Zone): Thiết lập ranh giới ảo xung quanh các thiết bị trò chơi đang bảo trì hoặc khu vực kỹ thuật.

Yêu cầu triển khai hệ thống

  • Hạ tầng mạng: Router Wi-Fi băng tần kép ($2.4\text{ GHz} / 5.0\text{ GHz}$) với băng thông tối thiểu $10\text{ Mbps}$ đường truyền nội bộ.
  • Camera IP: Hỗ trợ chuẩn RTSP/ONVIF, độ phân giải tối thiểu HD 720p (khuyến nghị Full HD 1080p, góc rộng $\ge 90^\circ$, có hỗ trợ đèn hồng ngoại ban đêm IR Night Vision).
  • Thiết bị xử lý trung tâm: Máy tính cá nhân (PC/Laptop) hoặc Mini PC chạy hệ điều hành Windows 10/11 hoặc Ubuntu Linux 20.04 LTS+.
  • Thiết bị di động người dùng: Điện thoại/Máy tính bảng chạy hệ điều hành Android 8.0 (Oreo) trở lên, có kết nối 4G/5G hoặc Wi-Fi.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  • Phụ thuộc vào điều kiện chiếu sáng: Trong môi trường ánh sáng quá yếu ($< 15\text{ lux}$), tỷ lệ phát hiện khung xương của BlazePose giảm xuống còn $\approx 66.7%$, dẫn đến khả năng bỏ sót khi trẻ ngã trong phòng tắt đèn.
  • Hiện tượng che khuất điểm ảnh (Occlusion): Khi trẻ bò vào gầm bàn hoặc bị bàn ghế che khuất quá nửa thân người, thuật toán SSD có thể mất dấu Bounding Box.
  • Hệ thống xử lý cục bộ: Hiện tại vẫn cần một máy tính đóng vai trò server trung gian để chạy pipeline Python, chưa được tích hợp hoàn toàn thành firmware nhúng trên chip Camera (Edge AI).

Hướng phát triển trong tương lai

  • Tối ưu hóa sang mô hình nhúng (Edge Computing): Chuyển đổi mô hình sang định dạng TensorRT / OpenVINO để triển khai trực tiếp trên các vi máy tính giá rẻ như Raspberry Pi 5 hoặc NVIDIA Jetson Orin Nano.
  • Tích hợp cảm biến âm thanh đa hướng: Bổ sung mô hình Machine Learning nhận diện tiếng khóc trẻ em (Cry Detection) hoặc tiếng đổ vỡ để tăng độ tin cậy khi camera bị che khuất tầm nhìn.
  • Hỗ trợ Multi-Camera Mesh: Mở rộng giao thức đồng bộ cho phép quản lý luồng dữ liệu của 3–5 camera cùng lúc trong nhà, tự động chuyển tiếp đối tượng qua các phòng (Person Re-identification).

Đối tượng hưởng lợi

  • Sinh viên và Người học: Cung cấp tài liệu mẫu mực về quy trình tích hợp toàn diện giữa Thị giác máy tính (OpenCV/MediaPipe), Điện toán đám mây (Firebase), và Lập trình ứng dụng di động (Android Studio).
  • Kỹ sư và Lập trình viên: Tham khảo mã nguồn và giải pháp thực thi thuật toán hình học tính toán (Ray Casting) kết hợp với mô hình học sâu (Deep Learning) chạy thời gian thực trên CPU.
  • Gia đình và Cơ sở giáo dục: Sở hữu một giải pháp giám sát an toàn chủ động, chi phí đầu tư phần cứng thấp, bảo vệ con trẻ khỏi các tai nạn thương tích nguy hiểm.
  • Cộng đồng nghiên cứu: Cung cấp dữ liệu thực nghiệm về độ tin cậy của BlazePose trong bài toán nhận diện tư thế trẻ nhỏ (vốn có tỷ lệ hình thể khác biệt đáng kể so với người trưởng thành).

Câu hỏi thường gặp

1. Yêu cầu kỹ thuật tối thiểu để tự triển khai hệ thống này tại nhà là gì?

Người dùng chỉ cần chuẩn bị 01 Camera IP chuẩn RTSP (các dòng phổ biến như Imou, Ezviz, TP-Link Tapo giá từ 400.000 VNĐ), 01 máy tính xách tay cấu hình tối thiểu Intel Core i3 thế hệ 8 trở lên chạy mã nguồn Python của hệ thống, và cài đặt file APK trên điện thoại Android kết nối cùng mạng Internet.

2. Hệ thống có khả năng mở rộng (Scalability) quản lý nhiều camera cùng lúc không?

Về mặt kiến trúc đám mây Firebase, hệ thống hoàn toàn có thể mở rộng theo cấu trúc JSON phân tầng theo mã định danh camera_id. Tuy nhiên, máy chủ xử lý trung tâm cần nâng cấp vi xử lý (khuyến nghị GPU rời như NVIDIA GTX 1650 trở lên) để có thể xử lý song song đa luồng video RTSP ở mức $\ge 15\text{ FPS}$ cho mỗi kênh.

3. Khi mất kết nối Internet, hệ thống có tiếp tục hoạt động không?

Luồng phân tích hình ảnh và phát hiện té ngã/vùng cấm giữa Camera IP và máy tính trung tâm diễn ra qua mạng nội bộ LAN, do đó hệ thống vẫn tiếp tục xử lý cục bộ và có thể kích hoạt còi báo động gắn kèm máy tính. Tuy nhiên, tính năng gửi thông báo đẩy đến điện thoại phụ huynh qua Firebase sẽ tạm thời gián đoạn cho đến khi có lại kết nối Internet.

4. Chi phí triển khai và bảo trì hệ thống ước tính là bao nhiêu?

Chi phí phần cứng bổ sung gần như bằng 0 nếu gia đình đã có sẵn máy tính và camera IP. Dịch vụ Firebase Spark Plan (miễn phí) cung cấp lưu lượng băng thông dư dả cho nhu cầu giám sát của 1–2 hộ gia đình mà không phát sinh bất kỳ chi phí duy trì hàng tháng nào.

5. Sự cố nhận diện sai (False Positive) thường xuất hiện trong những tình huống nào?

Báo động giả có thể xuất hiện khi: (1) Thú cưng kích thước lớn (chó lớn) chạy nhanh vào vùng cấm nếu đặt ngưỡng confidence quá thấp; (2) Trẻ chủ động nằm nhanh xuống nệm/sàn để chơi đùa (tư thế nằm đột ngột giống té ngã). Vấn đề này được khắc phục bằng cách thiết lập bộ lọc trễ thời gian (Temporal Filter), chỉ kích hoạt báo động khi trạng thái nằm bất động duy trì trên 2.5 giây.


Kết luận

Đồ án tốt nghiệp "Thiết kế hệ thống giám sát trẻ em thông qua camera" đã chứng minh tính khả thi và hiệu quả vượt trội của việc ứng dụng thị giác máy tính hiện đại vào bài toán dân sinh cấp thiết. Bằng cách kết hợp linh hoạt giữa kiến trúc mạng MobileNet-v1 SSD, mô hình điểm mốc sinh trắc MediaPipe BlazePose, thuật toán hình học Ray Casting và nền tảng đám mây Firebase, nhóm nghiên cứu đã xây dựng thành công một giải pháp giám sát an toàn toàn diện, đạt độ chính xác 85.83%, phản hồi cảnh báo dưới 1.2 giây và mang tính ứng dụng thực tiễn cao.

Công trình này không chỉ mở ra hướng đi mới trong việc bảo vệ trẻ nhỏ không xâm nhập mà còn là nền tảng vững chắc để tiếp tục mở rộng sang các hệ thống giám sát an ninh thông minh, chăm sóc người cao tuổi và quản lý tự động trong các đô thị thông minh tương lai.