1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo đồ án môn học thị giác máy tính đề tài 14 phát hiện và theo vết đối tượng chuyển động

16 3 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phát hiện và theo vết đối tượng chuyển động
Tác giả Triệu Tài Đức, Trần Tiến Anh, Nguyễn Thành Vinh, Lê Hà Hưng, Phạm Đức Đạt, Phạm Văn Hưởng
Người hướng dẫn PGS. TS. Nguyễn Thị Hoàng Lan
Trường học Đại học Bách khoa Hà Nội, Trường Công nghệ Thông tin và Truyền thông
Chuyên ngành Thị giác máy tính
Thể loại Báo cáo đồ án môn học
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 16
Dung lượng 3,72 MB

Nội dung

Lời nói đầuỞ bài tập lớn lần này, nhóm chúng em chọn chủ đề “Phát hiện và theo vếtđối tượng chuyển động” để phát hiện và theo vết một đối tượng từ video – cụthể là quả bóng golf nhằm tru

Trang 1

ĐẠI HỌC BÁCH KHOA HÀ NỘI

TRƯỜNG CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

*********************

BÁO CÁO ĐỒ ÁN MÔN HỌC

Thị giác máy tính

Đề tài 14: Phát hiện và theo vết đối tượng chuyển động

Giảng viên hướng dẫn: PGS TS Nguyễn Thị Hoàng Lan

Nguyễn Thành Vinh 20183859

Trang 2

Mục lục

L i nói đầầu ờ 2

I M c đích, yêu cầầu c a bài t p l n ụ ủ ậ ớ 3

II S đồầ chung vêầ theo vêết đồếi t ơ ượ ng chuy n đ ng ể ộ 3

1 Sơ đồ chung 3

2 Phương pháp phát hiện đối tượng chuyển động 4

2.1 Luồng quang học (optical flow) 4

2.2 Phát hiện sự thay đổi của các điểm ảnh (Change Detection) 5

3 Các phương pháp phân loại đối tượng 6

3.1 Biểu diễn mô hình (Model Representations) 6

3.2 Trích chọn đặc trưng (Model Features) 6

4 Theo vết đối tượng 7

5 Phân loại 7

III Thu t toán mean-shif ậ 7

1 Một số khái niệm 7

1.1 Tiếp cận dựa trên mô hình 7

1.2 Tiếp cận dựa trên miền 7

1.3 Tiếp cận dựa trên đường viền 8

1.4 Tiếp cận dựa trên đặc trưng 8

2 Ý tưởng thuật toán 9

3 Cơ chế thuật toán 9

IV Cài đ t ng d ng ặ ứ ụ 10

1 Môi trường lập trình 11

2 Chức năng chính 11

3 Quy trình triển khai 12

V K ch b n ki m th ị ả ể ử 12

1 Kịch bản 1 12

2 Kịch bản 2 13

Tài li u tham kh o ệ ả 15

Trang 3

Lời nói đầu

Ở bài tập lớn lần này, nhóm chúng em chọn chủ đề “Phát hiện và theo vết đối tượng chuyển động” để phát hiện và theo vết một đối tượng từ video – cụ thể là quả bóng golf nhằm truy vết cũng như có thể vẽ được quỹ đạo đi của vật thể đã định trước Qua bài tập lớn, nhóm chúng em đã có thể hiểu rõ hơn về bài học cũng như biết cách ứng dụng những lý thuyết sách vở bài giảng vào thực tế Báo cáo gồm các nội dung chính:

- Sơ đồ chung về theo vết đối tượng chuyển động

- Phương pháp phát hiện đối tượng chuyển động

- Các phương pháp phân loại đối tượng

- Thuật toán Meanshift

- Cài đặt ứng dụng

- Kịch bản kiểm thử

Chúng em xin được gửi lời cảm ơn chân thành tới cô Nguyễn Thị Hoàng Lan đã hướng dẫn, chỉ bảo và đôn đốc chúng em trong suốt quá trình thực hiện

đồ án này, từ đó giúp chúng em hoàn thành môn học một cách tốt nhất

Do thời gian nghiên cứu và triển khai, trình độ hiện tại của nhóm có hạn nên chắc chắn trong quá trình thực hiện đề tài không tránh khỏi những sai lầm, thiếu sót cả về nội dung lẫn hình thức Chúng em rất mong nhận được sự thông cảm, góp ý và tận tình chỉ bảo của cô

Trang 4

I Mục đích, yêu cầu của bài tập lớn

- Mục đích: Phát hiện và theo vết đối tượng chuyển động (Motion object

Detection and Tracking)

- Yêu cầu:

o Tìm hiểu mô hình chung về theo vết đối tượng chuyển động

o Tìm hiểu thuật toán Mean-shift để theo vết đối tượng chuyển động

o Cài đặt ứng dụng thuật toán Mean-shift

o Xây dựng kịch bản thử nghiệm tình huống phù hợp ứng dụng và nhận xét

1 Sơ đồ chung

Trang 5

2 Phương pháp phát hiện đối tượng chuyển động

2.1 Luồng quang học (optical flow)

- Tìm vector hướng chuyển động của các điểm ảnh trong 2 khung hình liên tiếp

- Nguyên lí hoạt động:

o Tìm các điểm đặc trưng nổi bật trong khung hình hiện tại

o Tìm các điểm tương đồng với các điểm vừa tìm trong khung hình

kế tiếp

o Vector nối các điểm vừa tìm được với các điểm tương ứng với nó trong khung hình kế tiếp chính là các vetor chuyển động luồng quang học

Trang 6

2.2 Phát hiện sự thay đổi của các điểm ảnh (Change Detection)

- Là việc xác định các thay đổi trong trạng thái của pixel thông qua việc kiểm tra giá trị của chúng giữa các khung hình

- Nguyên lí hoạt động:

o Chọn 1 khung hình làm hình nền cho 1 vài khung hình liên tiếp

o Lần lượt tính hiệu pixel giữa các khung hình còn lại với hình nền Nếu hiệu này lớn hơn ngưỡng T thì vị trí đó thuộc về vùng ảnh nổi (Foreground)

o Loại bỏ các pixel nhiễu ta thu được đối tượng chuyển động

Trang 7

3 Các phương pháp phân loại đối tượng

3.1 Biểu diễn mô hình (Model Representations)

Đối tượng chuyển động sẽ được thể hiện dưới dạng mô hình Phương pháp này áp dụng với các đổi tượng có thể thay đổi hình của bản thân trong quá trình chuyển động

3.2 Trích chọn đặc trưng (Model Features)

- Mỗi đối tượng sẽ có nhưng đặc trưng riêng nhờ vào đó ta có thể phân biệt được đối tượng này với đối tượng khác

- Một số đặc điểm của hình ảnh như sau:

o Hình dạng

o Màu sắc

o Kết cấu

Trang 8

4 Theo vết đối tượng

- Sau khi xác định được đối tượng cần theo vết và mô hình hóa đối tượng ta cần ước tính chuyển động của đối tượng thông qua tốc độ từ đó có thể dự doán được vị trí tiếp theo của đối tượng

- Sau khi vị trí của đối tượng đã gần đúng, ta có thể sử dụng mô hình trực quan của đối tượng để xác định vị trí chính xác của mục tiêu

5 Phân loại

- Theo dõi 1 đối tượng: Chỉ theo dõi 1 đối tượng duy nhất Đối tượng theo dõi được xác định thủ công bằng việc vẽ hộp giới hạn trong khung hình đầu tiên

- Theo dõi nhiều đối tượng: Theo dõi cùng lúc nhiều đối tượng có trong video Các đối tượng được phát hiện theo dõi dựa trên đặc trưng chung

1 Một số khái niệm

Có 4 cách tiếp cận chính để giải quyết bài toán theo vết với meanshift:

- Tiếp cận dựa trên mô hình

- Tiếp cận dựa trên miền

- Tiếp cận dựa trên đường viền

- Tiếp cận dựa trên đặc trưng

1.1 Tiếp cận dựa trên mô hình

- Cách tiếp cận dựa trên mô hình bao gồm việc tạo mô hình hình học cấu trúc của đối tượng

- Các ràng buộc trên việc mô hình được cho phép biến dạng như thế nào có thể được kết hợp vào quá trình so khớp

- Vấn đề với cách tiếp cận này là quá trình khởi tạo tự động thì khó và chi phí tính toán cao do độ phức tạp của mô hình

1.2 Tiếp cận dựa trên miền

- Cách tiếp cận dựa trên miền bao gồm việc kết hợp một miền với mỗi đối tượng đang được theo vết

Trang 9

- Miền được theo vết qua thời gian bằng phép đo độ tương tự

- Lợi ích của cách tiếp cận này là khởi tạo khá dễ dàng, chỉ có vị trí và kích thước của cửa sổ cần được định nghĩa

1.3 Tiếp cận dựa trên đường viền

- Cách tiếp cận dựa trên đường viền bao gồm tìm đường viền bao của một đối tượng và sau đó cố gắng làm khớp đường viền với các đối tượng trong các frame sau

- Nơi khớp nhất sẽ là đường viền hiện tại, mô hình sẽ cập nhật đường viền hiện tại để phản ánh hình dáng của đối tượng trong frame hiện tại

- Quá trình này được lặp lại với mô hình đường viền được cập nhật

- Với mô hình là nó yêu cầu sự khởi tạo chính xác, và điều này thì khó

để thực hiện tự động

1.4 Tiếp cận dựa trên đặc trưng

- Tiếp cận dựa trên đặc trưng chỉ theo vết một tập các đặc trưng của đối tượng

- Ví dụ như chỉ theo vết các điểm ở góc của đối tượng, vị trí của đối tượng trong frame sau sẽ được tìm thấy bằng cách tìm các điểm góc

mà khớp với các điểm của mô hình nhất

- Khuyết điểm của phương pháp này là chất lượng theo vết phụ thuộc nhiều vào việc chọn các đặc trưng Các đặc trưng phải được chọn sao cho chúng cung cấp sự nhận diện duy nhất cho đối tượng

Trang 10

2 Ý tưởng thuật toán

- Thuật toán dùng để theo vết đối tượng chuyển động khi đối tượng đó có thể thể hiện qua biểu đồ tần suất (histogram)

- Thuật toán mô hình hóa vật thể qua sự phân bố màu sắc

- Vd:

o Đối với những vật thể bị thay đổi hình dạng khi chuyển động (ví

dụ người đi bộ), khó có thể bắt được chuyển động một cách rõ ràng

o Vì vậy để thuật toán sẽ dựa vào sự mô hình hoá với sự phân bố về màu sắc

- Theo dõi chuyển động của một cụm các đối tượng nổi bật

- Chọn phân bố đặc điểm để đại diện cho một đối tượng trong video (ví dụ: mật độ màu sắc + họa tiết)

- Sử dụng mean shift trên phân phối các đặc điểm được tạo bởi đối tượng

- Cuối cùng tính toán phân phối của đặc điểm đã chọn qua khung video tiếp theo

o Bắt đầu từ vị trí hiện tại, mean shift tìm đỉnh hoặc đặc điểm mới của phân bố đối tượng, mà (có thể là) tập trung vào đối tượng tạo

ra màu sắc và kết cấu ngay từ đầu

o Bằng cách này, thuật toán sẽ theo dõi chuyển động của khung đối tượng theo từng khung

3 Cơ chế thuật toán

- Lựa chọn vùng có đối tượng cần theo dõi (tracking) được gọi là ROI

Trang 11

- Với vùng ROI đã được chọn, chuyển đổi sang Histogram, từ đây có được biểu đồ phân bố các pixels trên từng khu vực sáng tối, trong đó trục tung (chiều dọc) biểu thị số lượng pixel đang có ở khu vực đó, trục hoành là dải sáng Với mỗi frame tiếp theo, đối tượng được theo dõi sẽ là vùng có phân bố các pixels gần với phân bố trên vùng ROI tại frame đầu tiên nhất

Trang 12

IV Cài đặt ứng dụng

1 Môi trường lập trình

- Môi trường cài đặt:

1 CPU: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz( 8 CPUs), ~ 2.0GHz

2 RAM: 16GB

3 SSD: 200GB

4 HDD: 1TB

5 OS: Window 10 Enterprise 64-bit

- Ngôn ngữ lập trình : Python 3.9.10

2 Chức năng chính

- Điều chỉnh các tham số như: bán kính quả golf, kích thước vùng ROI, … để phát hiện quả bóng golf (tìm vật có hình cầu, bán kính như đã chọn) rồi theo vết chuyển động Từ đó đưa ra quỹ đạo chuyển động

- Đầu vào:

o Đường dẫn ảnh

o Bán kính hình cầu

o Kích thước vùng ROI

- Đầu ra:

o Video theo vết quả bóng golf kèm theo FPS

o Quỹ đạo chuyển động

- Mô tả chi tiết:

o B1: Tách từng frame trong video, tìm kiếm trong từng frame cho đến khi tìm thấy hình cầu có kích thước được nhập từ đầu vào

o B2: Sau khi tìm thấy quả bóng golf, ta sử dụng chính frame đó để xác định vị trí quả bóng golf và vùng ROI có kích thước như đầu vào Kết hợp thêm các tham số cần thiết cho thuật toán Mean-shift là:

Điều kiện dừng: tốc độ theo vết tối đa, số lần lặp để kiểm tra đối tượng đã dừng chuyển động chưa

Vector dữ liệu biểu đồ histogram

Trang 13

o B3: Trong các frame tiếp theo, sử dụng thuật toán Mean-shift để tím

vị trí mới của quả golf Sử dụng sai số tối thiểu trung bình bình phương để xác định

3 Quy trình triển khai

Để sử dụng phần mềm, ta cần thực hiện như sau:

- Cách 1: Khởi động phần mềm bằng cách mở file:

golf_tracking.exe

- Cách 2: Cài đặt python và các thư viện cần thiết và chạy câu lệnh: Python golf_tracking.py

Lúc này, giao diện sẽ hiện lên và người dùng có thể tương tác với phần mềm để lựa chọn chức năng

1 Kịch bản 1

Nội dung: Đối tượng bị che khuất trong một phần quá trình chuyển động Kết quả: Đối tượng đang theo vết khi bị che khuất một phần trong quá trình chuyển động thì sẽ không thể tiếp tục theo vết nữa

Trang 14

nh th i đi m bắết đầầu và kêết thúc khi b che trong quá trính chuy n đ ng.

2 Kịch bản 2

Nội dung: Thay đổi vùng ROI

Kết quả: Tùy theo kích thước vùng ROI được chọn mà đối tượng có thể theo vết được hoặc không Nếu kích thước vùng ROI quá nhỏ hoặc quá lớn sẽ không theo vết đúng đối tượng được chọn

nh th i đi m bắết đầầu và kêết thúc khi ch n kích th c vùng ROI h p lý (100x100).

Trang 15

nh th i đi m bắết đầầu và kêết thúc khi ch n kích th c vùng ROI quá nh (30x30).

Trang 16

Tài liệu tham khảo

Ngày đăng: 13/06/2024, 10:08

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w