Đồ án Môn học 2 – THIẾT KẾ PHẦN MỀM ĐẾM SỐ NGƯỜI RA VÀO BẰNG CAMERA

Link Download: ĐAMH2

1. Giới thiệu

Đếm người là một bài toán quan trọng trong nghiên cứu thị trường, phân tích dữ liệu.

Có nhiều phương pháp giải bài toán này. Như sử dụng các máy đếm cơ học, cổng quét hồng ngoại, cảm biến nhiệt … tuy nhiên vẫn còn nhiều hạn chế.

Với sự phát triển của kĩ thuật máy tính, các thuật toán xử lý ảnh phức tạp bây giờ có thể giúp việc đếm người bằng camera thu hình với độ chính xác có thể đạt 98% dù ở trong các điều kiện làm việc khác nhau.

2. Mục đích nghiên cứu

Xuất phát từ nhu cầu thực tiễn trên cho thấy việc đếm người bằng camera và xử lý ảnh rất quan trọng trong cuộc sống ngày nay.

Đề tài này nghiên cứu một số thuật toán trong việc đếm người (People counting) và làm quen với OpenCV, thư viện mã ngồn mở được sử dụng rộng rãi trên toàn thế giới.

3. Lý thuyết

3.1 Các thuật toán trừ nền

  • Background Subtraction
  • Averaging Method
  • Codebook Method

3.2 Thuật toán theo vết chuyển động:

  • Motion Templates

3.3 Các bước nhận dạng chuyện động và đếm số lần vào/ra

Bước 1:

  • Dùng phương pháp trừ nền, ở đây sử dụng phương pháp codebook, để tách các vật chuyển động.
  • Ảnh sau khi tách được lọc nhiễu, giảm bóng và loại bỏ các phần ảnh nhỏ hơn kích thước 1 người trung bình.
  • Khi chương trình khởi động codebook được tạo bằng việc lấy mẫu khoảng 100 frame đầu tiên hoặc lấy mẫu trong vài giây.
  • Tuần hoàn sau một khoảngiang thời chương trình tự động cập nhật và xóa các dữ liệu trong codebook.

Bước 2:

  • Sử dụng thuật toán Motion Templates để tính toán các thành phần chuyển động của ảnh để xác định hướng di chuyển của vật là vào hay ra.
  • Với mỗi vật chuyển động sẽ được đánh dấu bởi một hình chữ nhật, một chấm sáng tại tâm của vật và một vạch ngắn thể hiện hướng di chuyển của vật.

Bước 3:

  • Dựa vào kết quả hướng di chuyển của vật ở bước 2. Ta tính được số lượng người đi vào và ra khi tâm của vật đi qua một vạch nằm ngang ở giữa khung hình

4. Vấn đề giảm bóng và lọc nhiễu

Hình 1: Ảnh màu gốc. Hình 2: ảnh HSV

Hình 3,4,5: quá trình khử nhiễu

5. Kết quả

Video: People counter – OpenCV – C Programming

Video kết quả

Một số hình ảnh chụp từ video kết quả

Nhận dạng được 2 vật thể chuyển động, kể cả khi 2 người đi khá gần nhau

Icons made by Freepik from www.flaticon.com