Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.72 MB, 16 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<b>Giảng viên hướng dẫn: PGS. TS. Nguyễn Thị Hoàng Lan</b>
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2"><small>L i nói đầầuờ...2</small>
<small>I.M c đích, u cầầu c a bài t p l nụủậ ớ ...3</small>
<small>II.S đồầ chung vêầ theo vêết đồếi tơượng chuy n đ ngểộ ...3</small>
<b><small>1.Sơ đồ chung...3</small></b>
<b><small>2.Phương pháp phát hiện đối tượng chuyển động...4</small></b>
<b><small>2.1. Luồng quang học (optical flow)...4</small></b>
<b><small>2.2 Phát hiện sự thay đổi của các điểm ảnh (Change Detection)...5</small></b>
<b><small>3.Các phương pháp phân loại đối tượng...6</small></b>
<b><small>3.1.Biểu diễn mơ hình (Model Representations)...6</small></b>
<b><small>3.2.Trích chọn đặc trưng (Model Features)...6</small></b>
<b><small>4.Theo vết đối tượng...7</small></b>
<b><small>5.Phân loại...7</small></b>
<small>III.Thu t toán mean-shifậ...7</small>
<b><small>1.Một số khái niệm...7</small></b>
<b><small>1.1 Tiếp cận dựa trên mơ hình...7</small></b>
<b><small>1.2 Tiếp cận dựa trên miền...7</small></b>
<b><small>1.3 Tiếp cận dựa trên đường viền...8</small></b>
<b><small>1.4 Tiếp cận dựa trên đặc trưng...8</small></b>
<b><small>2.Ý tưởng thuật toán...9</small></b>
<b><small>3.Cơ chế thuật tốn...9</small></b>
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">Ở 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ậtthể đã định trước. Qua bài tập lớn, nhóm chúng em đã có thể hiểu rõ hơn về bàihọ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ị HồngLan đã 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 hồ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ạnnên chắc chắn trong q 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ơngcảm, góp ý và tận tình chỉ bảo của cơ.
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">Detection and Tracking)
<b>1. Sơ đồ chung</b>
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5"><b>2.Phương pháp phát hiện đối tượng chuyển động2.1. Luồng quang học (optical flow) </b>
- Tìm vector hướng chuyển động của các điểm ảnh trong 2 khung hình liêntiếp.
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6"><b>2.2 Phát hiện sự thay đổi của các điểm ảnh (Change Detection)</b>
- Là việc xác định các thay đổi trong trạng thái của pixel thông qua việckiểm tra giá trị của chúng giữa các khung hình.
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7"><b>3.Các phương pháp phân loại đối tượng3.1.Biểu diễn mơ hình (Model Representations)</b>
Đối tượng chuyển động sẽ được thể hiện dưới dạng mơ hình. Phương phápnày áp dụng với các đổi tượng có thể thay đổi hình của bản thân trong qtrình chuyển động.
<b>3.2.Trích chọn đặc trưng (Model Features)</b>
- 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ắco Kết cấu
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8"><b>4.Theo vết đối tượng</b>
- Sau khi xác định được đối tượng cần theo vết và mơ hình hóa đối tượng tacần ước tính chuyển động của đối tượng thông qua tốc độ từ đó có thể dựdố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ựcquan của đối tượng để xác định vị trí chính xác của mục tiêu.
<b>5.Phân loại</b>
- 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.
<b>1.1 Tiếp cận dựa trên mơ hình</b>
- 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ọccấ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 tốn cao do độ phức tạp của mơ hình.
<b>1.2 Tiếp cận dựa trên miền</b>
- 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.
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="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.
<b>1.3 Tiếp cận dựa trên đường viền</b>
- Cách tiếp cận dựa trên đường viền bao gồm tìm đường viền bao củamột đối tượng và sau đó cố gắng làm khớp đường viền với các đốitượ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 đườngviền hiện tại để phản ánh hình dáng của đối tượng trong frame hiệntại.
- Q 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.
<b>1.4 Tiếp cận dựa trên đặc trưng</b>
- 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 đốitượng.
- Ví dụ như chỉ theo vết các điểm ở góc của đối tượng, vị trí của đốitượng trong frame sau sẽ được tìm thấy bằng cách tìm các điểm gócmà 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ộcnhiều vào việc chọn các đặc trưng. Các đặc trưng phải được chọn saocho chúng cung cấp sự nhận diện duy nhất cho đối tượng.
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10"><b>2.Ý tưởng thuật toán</b>
- 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 tố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 tốn sẽ dựa vào sự mơ hình hố 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 tố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ớicủa phân bố đối tượng, mà (có thể là) tập trung vào đối tượng tạora 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 đốitượng theo từng khung
<b>3.Cơ chế thuật tốn</b>
- Lựa chọn vùng có đối tượng cần theo dõi (tracking) được gọi là ROI
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">- Với vùng ROI đã được chọn, chuyển đổi sang Histogram, từ đây có đượcbiể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 hồ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
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12"><b>1.Mơi trường lập trình</b>
- Mơi trường cài đặt:
1. CPU: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz( 8 CPUs), ~ 2.0GHz
2. RAM: 16GB3. SSD: 200GB4. HDD: 1TB
5. OS: Window 10 Enterprise 64-bit- Ngơn ngữ lập trình : Python 3.9.10
<b>2.Chức năng chính</b>
- Đ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 theovế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 đếnkhi 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ếthợ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.
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">o B3: Trong các frame tiếp theo, sử dụng thuật tốn Mean-shift để tímvị trí mới của quả golf. Sử dụng sai số tối thiểu trung bình bìnhphương để xác định.
<b>3.Quy trình triển khai</b>
Để 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:
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14"><small>nh th i đi m bắết đầầu và kêết thúc khi b che trong quá trính chuy n đ ng.</small>
<b>2.Kịch bản 2</b>
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 q nhỏ hoặc quá lớn sẽ không theo vết đúng đối tượng được chọn.
<small> </small>
<small>nh th i đi m bắết đầầu và kêết thúc khi ch n kích thc vùng ROI h p lý (100x100).</small>
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15"><small>nh th i đi m bắết đầầu và kêết thúc khi ch n kích thc vùng ROI quá nh (30x30).</small>
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">