TÓM TẮT LUẬN VĂN Luận văn này tập trung nghiên cứu thiết kế lõi IP mềm thực hiện nhận dạng chuyển động trong video sử dụng giải thuật Delta Sigma Backgound Subtraction, có khả năng tích
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
Trang 2CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA -ĐHQG -HCM
Cán bộ hướng dẫn khoa học :
(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Cán bộ chấm nhận xét 1 :
(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Cán bộ chấm nhận xét 2 :
(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày tháng năm
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ) 1
2
3
4
5
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)
Trang 3ĐẠI HỌC QUỐC GIA TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Trịnh Viết Quang MSHV: 13141123 Ngày, tháng, năm sinh: 07/08/1989 Nơi sinh: Đồng Nai Chuyên ngành: Kỹ thuật Điện tử Mã số : 60 52 02 03
I TÊN ĐỀ TÀI: Thiết kế IP nhận dạng chuyển động trong video
II NHIỆM VỤ VÀ NỘI DUNG: Luận văn tập trung nghiên cứu thiết kế lõi IP mềm
thực hiện nhận dạng chuyển động ttong video sử dụng giải thuật Delta Sigma
Backgound Subtraction, có khả năng tích hợp vào các hệ thống SoC nhầm phục vụ cho các ứng dụng giám sát trong thục tế Lõi IP thiết kế phải đáp ứng thời gian thục và hỗ
ừợ video có độ phân giải HD
III NGÀY GIAO NHIỆM VỤ : (Ghi theo trong QĐ giao đề tài) 06/07/2018
IV NGÀY HOÀN THÀNH NHIỆM VỤ: (Ghi theo trong QĐ giao đề tài) 17/06/2019
V CÁN BỘ HƯỚNG DẪN (Ghi rõ học hàm, học vị, họ, tên): TS Trương Công Dung
Trang 4LỜI CẢM ƠN
Trong suốt quá trình học tập, thực hiện và hoàn thành luận văn này, em đã nhận được sự hướng dẫn, giúp đỡ quý báu của các thầy cô, các anh chị, các em và các bạn Với lòng kính trọng và biết ơn sâu sắc em xỉn được bày tỏ lời cảm ơn chân thành tới:
TS Trương Công Dung Nghi, người cô kính mến đã hết lòng giúp đờ, dạy bảo, động viên
và tạo mọi điều kiện thuận lợi cho em trong suốt quá trình thực hiện luận văn tổt nghiệp
Cô là người định hướng, góp ỷ cũng như chỉ dạy phương pháp làm việc, giúp em có thể hoàn thành luận văn một cách tốt nhất
Các quý thầy cô trong khoa Điện — Điện tử, trường Đại Học Bách Khoa thành phổ Hồ Chỉ Minh đã tận tình chỉ dạy và truyền đạt kiến thức giúp em có thể đạt được kết quả như ngày hôm nay
Bên cạnh đó, em xỉn chân thành cảm ơn bổ mẹ và gia đình đã luôn hỗ trợ, động viên về mặt vật chất và tinh thần, giúp em hoàn thành tắt được luận văn này.
Trang 5TÓM TẮT LUẬN VĂN
Luận văn này tập trung nghiên cứu thiết kế lõi IP mềm thực hiện nhận dạng chuyển động trong video sử dụng giải thuật Delta Sigma Backgound Subtraction, có khả năng tích hợp vào các hệ thống SoC nhầm phục vụ cho các ứng dụng giám sát trong thực tế Lõi IP thiết kế phải đáp ứng được các yêu cầu:
- Đáp ứng thời gian thực
- Hỗ trợ video có độ phân giải HD
Trang 6ABSTRACT
This thesis focuses on designing an IP Core that implements the Delta Sigma
Background Subtraction algorithm for motion detection in The IP core design must meet the following requừements:
- Real time processing
- Support HD resolution
Trang 7LỜI CAM ĐOAN
Học viên cam đoan rằng, ngoại trừ các kết quả tham khảo từ các công trình khác như
đã ghi rõ trong bảo cảo đề tài, các công việc trình bày trong báo cáo này là do chính học viên thực hiện.
Trang 8MỤC LỤC
CHƯƠNG 1 TÔNG QUAN ĐỀ TÀI 1
1.1 MỞ ĐẦU 1
1.1.1 Bối cảnh hình thành đề tài 1
1.1.2 Tính cấp thiết 2
1.1.3 Mục tiêu của đề tài 3
CHƯƠNG 2 NGHIÊN cứu TỒNG QUAN VÀ KỸ THUẬT THIẾT KẾ VI MẠCH TỐI ƯU CHO LÕI IP NHẬN DẠNG CHUYÊN ĐỘNG TRONG VIDEO 4
2.1 TỔNG QUAN NỘI DUNG NGHIÊN CỨU 4
2.1.1 Cách tiếp cận và phương pháp nghiên cứu 4
2.1.2 Sơ lượt về nhận dạng chuyển động và các giải thuật nhận dạng chuyển động 8
2.1.3 Phương pháp Delta Sigma Background Subtraction 22
2.2 TỔNG QUAN THIẾT KẾ VLSI 29
2.2.1 Khái niệm vi mạch và lõi IP 29
2.2.2 Một số kỹ thuật tối ưu thiết kế cho VLSI 30
CHƯƠNG 3 ĐẶC TẢ THIẾT KÉ LÕI IP NHẬN DANG CHUYÊN ĐỘNG TRONG VIDEO 36
3.1 TÍNH NĂNG SẢN PHẨM 36
3.2 KIẾN TRÚC THIẾT KÉ HỆ THỐNG 36
3.2.1 Sơ đồ hệ thống 36
3.2.2 Sơ đổ chân 37
3.2.3 Mô tả tín hiệu vào/ra 37
3.2.4 Thông số cấu hình 39
3.2.5 Nguyên tắc hoạt động khối top level 40
Trang 93.2.6 Giao tiếp ngõ vào/ra 41
3.2.7 Giản đồ định thời chuẩn AST 42
3.2.8 Giản đổ định thỏi chuẩn AMM 42
3.3 CÁC KHỐI TRONG HỆ THỐNG 45
3.3.1 Khối RGB to gray 45
3.3.2 Khối Delta sigma background subtraction 47
3.3.3 Khối Morphological post-processing 50
CHƯƠNG 4 MÔI TRƯỜNG KIÊM TRA THIẾT KẾ LÕI IP NHẬN DẠNG CHUYÊN ĐỘNG TRONG VIDEO 52
4.1 TỔNG QUAN 52
4.2 MÔI TRƯỜNG KIÊM TRA 53
4.2.1 Xây dựng môi trưởng kiểm tra 53
4.2.2 Cấu trúc thư mục 54
4.2.3 Sử dụng môi trường 55
4.3 KẾT QUẢ KIÊM TRA 55
4.3.1 Trường hợp kiểm tra 55
4.3.2 Kết quả kiểm tra 56
CHƯƠNG 5 HỆ THỐNG KIÊM TRA THựC NGHIỆM LÕI IP NHẬN DẠNG CHUYÊN ĐỘNG TRONG VIDEO TRÊN FPGA 62
5.1 Sơ ĐÔ HỆ THỐNG KIÊM TRA ĨHIÉT KÉ TRÊN FPGA 62
5.1.1 Tích hợp IP vào thư viện SoC 62
5.1.2 Sơ đổ hệ thống FPGA kiểm tra khả năng hoạt động của lõi IP 66
5.1.3 Chức năng các thành phần (IP) trong hệ thống 68
5.2 PHƯƠNG ÁN KIÊM TRA 71
5.2.1 Thiết bị và phần mềm 71
5.2.2 Nội dung kiểm tra 72
Trang 105.3 KÉT QUẢ KIÊM TRA 72
CHƯƠNG 6 KÉT LUẬN 78
6.1.1 So sánh kết quả của thiết kế so với yêu cầu đề tài 78
6.1.2 về nội dung 78
6.1.3 về sản phẩm demo 78
6.1.4 về tiến độ 78
CHƯƠNG 7 TÀI LIỆU THAM KHẢO 79
Trang 11MỤC LỤC BẢNG
Bảng 2-1 Giải thuật EA cơ bản 23
Bảng 2-2 Giải thuật EA cải tiến 25
Bảng 3-1 Bảng mô tả chân lõi IP nhận dạng chuyển động 37
Bảng 3-2 Bảng thông số cấu hình lõi IP 39
Bảng 3-3 Bảng mô tả tín hiệu vào ra khối RGB To Gray 45
Bảng 3-4 Bảng mô tả tín hiệu vào/ ra khối 2A Background subtraction 47
Bảng 3-5 Bảng mô tả tín hiệu vào/ ra khối Morphological 50
Bảng 4-1 Bảng mô tả các trường hợp kiểm tra thiết kê 55
Bảng 5-1 Bảng mô tả các trường hợp kiểm tra thiết kế trên FPGA 72
Bảng 5-2 Bảng mô tả kết quả tổng hợp lõi IP trên FPGA dòng Cyclone III 76
Bảng 5-3 Bảng tổng hợp lõi IP nhận dạng trên FPGA dòng Cyclone IV 77
Bảng 5-4 Bảng tổng hợp lõi IP nhận dạng trên FPGA dòng Stratix II 77
Bảng 5-5 Bảng tổng hợp lõi IP nhận dạng trên FPGA dòng Stratix III 77
Bảng 6-1 Bảng mô tả kết quả đạt được của thiết kế so với yêu cầu 78
Trang 12MỤC LỤC HÌNH
Hình 1-1 Phát hiện đối tượng di chuyển 3
Hình 2-1 Quy trình thiết kế 6
Hình 2-2 Hình a, ảnh nền khi chưa có đối tượng, hình b: hình ảnh khi có đối tượng di chuyển c-f: các bước tách cảnh nền ra khỏi khung hình, kết quả (hình f) ta tách được đối tượng cần xử lý ra khỏi hình b 8
Hình 2-3 Mô tả giải thuật tách nền sử dụng phương pháp median, (a) ảnh tại thời điểm t (b)ảnh nền với n = 10 (c) ảnh nền với n = 20 (c) ảnh nền với n = 50 11
Hình 2-4 : Mô tính histogram 13
Hình 2-5 Cập nhật ảnh nền trong phương pháp histogram 15
Hình 2-6 (a) khung ảnh hiện tại It; (b) khung ảnh ước lượng ngõ ra Et; (c) khung ảnh nền Mt; (d) phương sai Vt 24
Hình 2-7 Mô hình thuật toán SA cải tiến 25
Hình 2-8 (a) khung ảnh hiện tại It; (b) khung ảnh ước lượng ngõ ra Et; (c) khung ảnh nền Mt; (d) phương sai Vt 26
Hình 2-9 Ví dụ về phép co vùng ảnh 27
Hình 2-10 Kết quả của phép co vùng ảnh- Erosion 27
Hình 2-11 Ví dụ về phép giãn vùng ảnh - Dilation 28
Hình 2-12 Ket quả của phép giãn vùng ảnh - Dilation 28
Hình 2-13 Phép co giãn vùng ảnh 28
Hình 2-14 Kỹ thuật Register Packing 31
Hình 2-15 Mạch logic trước tối ưu 32
Hình 2-16 Mạch logic sau khi áp dụng kỹ thuật retiming hướng tối ưu tài nguyên32 Hình 2-17 Ví dụ mạch chưa tối ưu 33
Hình 2-18 Mạch đã rebalance tài nguyên 33
Hình 2-19 Ví dụ về mạch chưa tối ưu tốc độ 34
Trang 13Hình 2-20 Mạch đã được tối ưu về tốc độ 34
Hình 2-21 Mạch chưa chèn pipeline 35
Hình 2-22 Mạch đã chèn pipeline 35
Hình 3-1 Sơ đồ khối IP nhận dạng chuyển động 36
Hình 3-2 Sơ đồ chân lõi IP nhận dạng chuyển động 37
Hình 3-3 Mô hình nguyên tắc hoạt động khối top level 41
Hình 3-4 Giao diện giao tiếp của lõi IP nhận dạng chuyển động 41
Hình 3-5 Giản đồ thời gian theo chuẩn AST 42
Hình 3-6 Giản đồ thời gian quá trình ghi theo chuẩn AMM 43
Hình 3-7 Giản đồ thời gian quá trình đọc theo chuẩn AMM 44
Hình 3-8 Sơ đồ khối RGB To Gray 45
Hình 3-9 Giản đồ định thì khối RGB To Gray 47
Hình 3-10 Sơ đồ khối 2A Background subtraction 47
Hình 3-11 Sơ đồ khối Morphological post processing 50
Hình 4-1 Môi trưòng kiểm tra thiết kế trên công cụ vcs 53
Hình 4-2 Cấu trúc thư mục chạy mô phỏng 55
Hình 4-3 Thư mục chạy mô phỏng 55
Hình 4-4 Chạy mô phỏng thông qua Make file 55
Hình 4-5 Dạng sóng các tín hiệu vào ra khối DUT 57
Hình 4-6 Môi trường thực hiện testcase 1 57
Hình 4-7 Kết quả PASS cho trường hợp 1 58
Hình 4-8 Kết quả ngỏ ra DUT tại khung ảnh 50 58
Hình 4-9 Kết quả ngõ ra tại khung ảnh thứ 100 59
Hình 4-10 Kết quả thông báo “PASS” cho trường hợp 2 59
Hình 4-11 Kết quả ngõ ra tại khung ảnh thứ 50 60
Trang 14Hình 4-12 Kết quả ngõ ra DUT tại khung ảnh 100 60
Hình 4-13 Kết quả thông báo “PASS” cho trường hợp 4 61
Hình 4-14 Kết quả ngõ ra tại khung ảnh thứ 30 61
Hình 4-15 Kết quả ngõ ra DUT tại khung ảnh 50 61
Hình 5-1 Đặt tên cho IP 62
Hình 5-2 Thêm RTL source và systhesis 63
Hình 5-3 Định nghĩa interface và loại tín hiệu 64
Hình 5-4 Kiểm tra timing các loại giao tiếp và đóng gói IP 65
Hình 5-5 Lõi IP đã được tích hợp vào thư viện SoC 66
Hình 5-6 Mô hình hệ thống kiểm tra lõi IP trên FPGA 67
Hình 5-7 Các thành phần IP được xây dựng trong SoC 67
Hình 5-8 Sơ đồ khối Video in decode 68
Hình 5-9 Sơ đồ khối Chorma resampler 69
Hình 5-10 Sơ đồ khối Color Space Convert 69
Hình 5-11 Sơ đồ khối Clipper 70
Hình 5-12 Sơ đồ khối RGB Resampler 70
Hình 5-13 Sơ đồ khối Dual clock FIFO 71
Hình 5-14 Sơ đồ khối LCD Controller 71
Hình 5-15 Kit FPGA và LCD TFT 72
Hình 5-16 Dữ liệu ngõ vào từ camera 73
Hình 5-17 Dữ liệu ngõ ra IP khi không dùng bộ lọc Morphological 74
Hình 5-18 Dữ liệu ngõ ra IP khi có dùng bộ lọc Morphological 74
Hình 5-19 Dữ liệu video ngõ vào thu từ camera 75
Hình 5-20 Kết quả ngõ ra thiết kế chưa bộ lọc Morphological 75
Trang 15CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI
1.1.1 Bối cảnh hình thành đề tài
1.1.1.1 Tĩnh hình nghiên cứu trên thế giới
Hiện nay trên thế giới đã có nhiều công tành nghiên cứu về xử lý Video và cũng đã có nhiều ứng dụng đáng kể trong lĩnh vực này Tuy nhiên, các nghiên cứu và ứng dụng thực tiển được phát triển trcn thế giới hoàn toàn xử lý trên phần mềm Trong khi đó các nghiên cứu, ứng dụng xử lý ảnh trong video nói chung và nhận dạng chuyển động trong video nói riêng được thực hiện trên phần cứng còn rất hạn chế, so với yêu cầu thực tế thì như thế vẫn là chưa đủ
1.1.1.2 Tinh hình nghiên cứu trong nước
Ở Việt Nam, xử lý video là một vấn đề còn khá mới mẻ Thực tế cho thấy rằng, khi xã hội phát triển càng mạnh, yêu cầu về các thiết bị công nghệ càng cao Như vậy,
xử lý video là một mảnh đất màu mỡ cho các trung tâm nghiên cứu, các cồng ty đầu
tư vào Nhất là trong giai đoạn hệ thống nhúng đang phát triển và mở ra một kỷ nguyên với cho ngành công nghệ phần cứng như hiện nay Giám sát tự động là một hướng mới và có nhiều triển vọng trong sự phát triển tiếp theo của lĩnh vực nhận dạng
và xử lý ảnh 2 chiều Đồng thời, đó cũng là một hướng đi cho mảng phần cứng thiết
kế chuyên dụng cho các thiết bị giám sát tự động Việc phát hiện ra các đối tượng chuyển động trong video nhờ các kỹ thuật xử lý ảnh, trên cơ sở đó đoán nhận một số hành vi của đối tượng dựa trên nền tản phần cứng là một việc làm có ý nghĩa khoa học và thực tiễn, nhất là trong hoàn cảnh Việt Nam chưa có nhiều những nghiên cứu
và ứng dụng theo hướng này
Trang 162
1.1.2 Tính cấp thiết
Trong kỷ nguyên công nghệ thông tin hiện nay, với sự phát triển nhanh chóng của các công nghệ chế tạo thiết bị phần cứng ngày càng hiện đại, tinh vi Trong đó phải kể đến sự phát triển của các thiết bị thu nhận hình ảnh từ thế giới thực, chẳng hạn như các hệ thống giám sát bằng camera, song hành với nó là các vấn đề liên quan đến việc giám sát Thách thức chính cho công nghệ phần cứng trong lĩnh vực này chính là việc xử lý các hình ảnh thu nhận được từ các hệ thống giám sát đó Giám sát
là một vấn đề được rất nhiều nhà nghiên cứu quan tâm đặc biệt bởi những ứng dụng thiết thực của nó cho đời sống xã hội Chẳng hạn như các hệ thống giám sát các hành
vi khả nghi của tội phạm, khủng bố ở các địa điểm nhạy cảm của các chính phủ Hệ thống giám sát trong các viện bảo tàng, lưu trữ để chống trộm cắp các di vật đang được trưng bày Hệ thống giám sát các hiện tượng bất bình thường, vi phạm pháp luật, tai nạn ở các điểm giao thông Hệ thống giám sát phòng chống hỏa hoạn Các hệ thống giám sát trong các siêu thị, cửa hàng, cồng ty để chống trộm cắp, Thách thức chính cho ngành công nghệ phần mềm là đưa ra các giải pháp nhằm xây dựng một hệ thống giám sát tối ưu nhất nhằm giúp con người phát hiện chính xác và kịp thời các hiện tượng bất thường để có biện pháp xử lý nhanh chóng nhằm tránh các thiệt hại đáng tiếc cho xã hội
Trang 173
Hình 1-1 Phát hiện đối tượng di chuyển
Dữ liệu thu được từ hệ thống camera giám sát thường được lưu trữ dưới dạng Video Như vậy công việc hiện nay của chúng ta là nghiên cứu các vấn đề liên quan đến việc xử lý Video
1.1.3 Mục tiêu của đề tài
Thiết kế lõi IP mềm thực hiện nhận dạng chuyển động trong video có khả năng tích hợp vào các hệ thống SoC nhầm phục vụ cho các ứng dụng giám sát trong thực
Trang 184
CHƯƠNG 2 NGHIÊN cứu TÔNG QUAN VÀ KỸ THUẬT THIẾT
KÉ VI MẠCH TÓI ưu CHO LÕI IP NHẬN DẠNG CHUYỂN ĐỘNG TRONG VIDEO
2.1.1 Cách tiếp cận và phương pháp nghiên cứu
2.1.1.1 Phương pháp tiếp cận
Một thuật toán phát hiện chuyển động ổn định và hiệu quả có thể xử lý được tốt trong những điều kiện thay đổi ảnh sáng, nhiều đối tượng di chuyển trong một khung ảnh và cảnh nền thay đổi thường xuyên Có thể đưa ra một số phưomg pháp thường được sử dụng trong kỹ thuật này như phương pháp luồng quang học (Optical Flow), phương pháp khác biệt theo thời gian (Temporal Differencing), Mô hình thống kê (Statistical Method) và phương pháp trừ nền (Background Subfraction) Hạn chế của phương pháp khác biệt theo thời gian (Temporal Differencing) là không xử lý tốt những khung ảnh có nhiều đối tượng chuyển động Phương pháp luồng quang học (Optical Flow) khó áp dụng trong thời gian thực do tính toán phức tạp (đặc biệt khó khăn khi xây dựng trên FPGA) Để khắc phục những nhược điểm của các phương pháp trên, học viên đề xuất phương pháp tiếp cận giải quyết bài toán dựa trên phương pháp mô hình Delta Sigma Background Subtraction [1]
Tiếp cận lý thuyết: Với mục tiêu là thiết kế lõi IP có chất lượng, học viện sẽ phải tiếp cận các lĩnh vực sau:
- Lý thuyết nhận dạng chuyển động và phương thức kiểm tra hệ thống nhận dạng chuyển động
- Lý thuyết VLSI
Dựa trên các lý thuyết đã tìm hiểu và nắm vững, học viên sẽ phân tích, đánh giá khả năng và những khó khăn khi cài đặt thuật toán nhận dạng chuyển động lên phần cứng Những phân tích này là cơ sở để xây dựng nên các ràng buộc thiết kế
Trang 19và thử nghiệm thiết kế ưên FPGA Trong quá trình chạy thực tế sẽ có những vấn đề phát sinh cần phải khắc phục ỏ thiết kế từ đó thiết kế sẽ hoàn thiện hơn trong các lần chạy thực nghiệm tiếp theo
2.1.1.2 Phương pháp nghiên cứu
Quy trình thiết kế lõi IP tuân thủ chặt chẽ theo quy trình thiết kế số sử dụng gói phần mềm của công ty Synopsys:
Trang 206
Netlist.v J Constraint.sdc
Hình 2-1 Quy trình thiết kế Trong phạm vi nghiên cứu của mình, học viên chỉ dừng lại ở bước Logic
Yes
Trang 217
Verification trong lưu đồ của synopsys Quá tành nghiên cứu gồm các bước sau:
❖ Bước 1: System Specification
Từ yêu cầu của dự án, bước đầu tiên là phân tích nhằm thiết lập đặc tả
hệ thống (System Specification) Đặc tả hệ thống bao gồm luồng dữ liệu {Data Flow}; định thời {Timing}; sơ đồ chân; mô tả từng khối chức năng, kết nối giữa các khối với nhau
❖ Bước 2: Function design
Bước tiếp theo là lập trình chức năng cho từng khối chức năng, còn được gọi là viết RTL code, sử dụng các ngôn ngữ mô tả phần cứng như là Verilog, VHDL
❖ Bước 3: Logic design
Dùng phần mềm Leda để kiểm tra cú pháp (Syntax) của RTL code và các luật (Rule) để quá trình tổng hợp thiết kế (Synthesize Design) được tối
ưu Quá trình này gọi là “Logic Design” Đồng thời dùng vcs kiểm tra ở mức RTL Code chức năng của từng khối chức năng, nếu phát hiện lỗi quay lại thực hiện bước 2
❖ Bước 4: Logic verification
Kết nối các khối chức năng lại với nhau và dùng vcs mô phỏng kiểm tra chức năng của toàn bộ chip (chip level) ở mức RTL Ngoài các bước trên, bước cuối cùng để đánh giá được khả năng hoạt động thực tế, thiết kế được cài đặt và kiểm tra trên FPGA
2.1.2 Sơ lược về nhận dạng chuyển động và các giải thuật nhận dạng chuyển dộng
2.1.2.1 Giới thiệu về nhận dạng chuyển động
Mỗi ứng dụng được thừa hường từ việc xử lý Video thông minh những thứ nó cần để giải quyết những yêu cầu khác nhau Tuy nhiên, chúng có một số điểm chung sau: các đối tượng chuyển động Như vậy, việc phát hiện các đối tượng chuyển động là
Trang 228
bước đầu tiên của bất kỳ hệ thống xử lý Video nào Khi tìm kiếm thấy các đối tượng chuyển động mới bắt đầu chuyển sang bước xử lý khác Thực tế thì các Video thu được từ camera có rất nhiều nhiễu, chẳng hạn như sự thay đổi của ánh sáng, sự thay đổi của thời tiết, lá rung, Việc phát hiện đối tượng chuyển động gặp vấn đề khó khăn để xử lý một cách chính xác Các công nghệ thường xuyên được sử dụng để phát hiện đối tượng chuyển động là phép trừ nền, các phương pháp tĩnh, sự khác biệt
về thời gian và optical flow
Hình 2-2 Hình a, ảnh nền khi chưa có đối tượng, hình b: hình ảnh khi có đối tượng
di chuyển c-f: các bước tách cảnh nền ra khỏi khung hình, kết quả (hình f) ta tách
được đối tượng cần xử lý ra khỏi hình b
2.1.2.2 Sơ lược các giải thuật nhận dạng chuyển động
❖ Phương pháp trừ nền (Background Subtraction)
❖ Giới thiệu
Nhận dạng đối tượng chuyển động từ một chuỗi ảnh là một nhiệm vụ cơ bản
và cốt yếu trong giám sát video, giám sát và phân tích tình hình giao thông, nhận dạng
và theo dõi người và nhận biết cử chỉ trong giao tiếp giữa người và máy
Một phương pháp thường được sử dụng để xác định đối tượng chuyển động là
Trang 239
trừ nền (background subtraction) Đây là một phương pháp thường được sử dụng để phân đoạn chuyển động trong hình ảnh tĩnh Mỗi khung ảnh sẽ được so sánh với một nền tham khảo Các điểm ảnh trong khung ảnh hiện tại có sự khác biệt đáng kể với nền được xem là đối tượng chuyển động Các điểm ảnh tiền cảnh này sẽ được xử lý
ở bước định vị và theo dõi
Phương pháp này sẽ cố gắng phát hiện vùng chuyển động bằng cách lấy từng điểm ảnh của hình ảnh hiện tại trừ đi cho một ảnh nền tham khảo (reference background image) được tạo ra bằng cách lấy trung bình các ảnh trong khoảng thời gian khởi tạo ban đầu Điểm ảnh nào có hiệu số trên mức ngưỡng được phân loại vào nhóm tiền cảnh (foreground) Sau khi tạo được ma trận các điểm ảnh tiền cảnh, các thao tác tiền xử lý hình thái học (morphological) ví dụ như co ảnh (erosion), giãn nở (dilation) và đóng ảnh (closing) được thực hiện nhằm làm giảm ảnh hưởng của nhiễu
và cải thiện vùng được nhận dạng Ảnh nền được cập nhật với các ảnh mới theo thời gian để thích nghi với sự thay đổi của hình ảnh
Kể từ khi trừ nền trở thành bước đầu tiên trong nhiều ứng dụng thị giác máy tính, việc tách các điểm ảnh tiền cảnh tương ứng với đối tượng chuyển động một cách chính xác là rất quan trọng Mặc dù đã có nhiều giải thuật trừ nền đã được đề
Trang 2410
xuất trong các tài liệu, vấn đề nhận dạng đối tượng chuyển động trong môi trường phức tạp vẫn sẽ chưa được giải quyết triệt để
❖ Các phuong pháp trừ nền
Các phương pháp tiếp cận xây dựng mô hình trừ nền dựa trên các phương pháp
cơ bản như trung bình, trung vị, so sánh sự khác nhau giữa hai khung hình hoặc tính histogram Các phương pháp này có ưu điểm là cách tính nhanh và đơn giản, tuy nhiên không tách được cảnh nền tốt Và thường bị ảnh hưởng bởi nhiễu mồi trường
❖ Trừ nền dựa trên phương pháp trung vị, trung bình
Trong trường hợp này, mô hình nền được tính bằng cách lấy trung bình hoặc trung vị của n khung hình trước đó, mô hình nền được mô tả bởi công thức:
Trong trường hợp trung vị:
khung trước đó tại thời điểm t
(1)
(2)
Trang 2612
- Độ chính xác phụ thuộc vào tốc độ di chuyển của đối tượng và tốc độ khung hình
- Yêu cầu bộ nhớ lớn
- Giá trị ngưỡng được sử dụng cho tất cả các điểm ảnh
Do đo phương pháp này sẽ cho kết quả không tốt trong một số điều kiện:
♦♦♦ Trừ nền dựa trên phương pháp histogram
Trong mô hình tách nền, histogram của môi điểm ảnh trong bức ảnh theo mỗi khung hình được định nghĩa Để đạt được độ chính xác thông tin của ảnh nền, việc chọn không gian màu tính histogram là rất quan trọng Ảnh xám và RGB thường thường được sử dụng để tách và cập nhật ảnh nền Tuy nhiên các không gian màu này rất dễ nhạy với sự thay đổi của ánh sáng Trong lĩnh vực xử lý ảnh, ngoài hai không gian màu trên, có một số không gian màu khác được sử dụng: HSV, HIS, YCbCr Đối với những điểm ảnh thuộc ảnh nền, histogram của điểm ảnh đó theo thời gian sẽ không thay đổi Dựa vào đặc điểm nay ta có thể tách được cảnh nền ra khỏi ảnh cần
xử lý [5] đề xuất phương pháp trừ nền dựa trên tính histogram trên không gian màu YCbCr Phương pháp sẽ tính histogram của các điểm ảnh sau một số frame nhất định Giá trị histogram của các điểm ảnh lớn hơn một giá trị ngưỡng nhất định sẽ được xem xét là điểm ảnh nền Ưu điểm của phương pháp này là sử dụng không gian màu YCbCr, có thể giảm thiểu được sự ảnh hưởng của điều kiện ánh sáng môi trường Các bước thực hiện của thuật toán:
Trang 2713
Trừ cảnh nên - Background subtraction
Bước 1: Biến đổi ảnh sang không gian màu YCbCr, thông tin ảnh tại khung hình thứ n được đinh nghĩa:
(ỉ,j) tại khung hình thứ n Bước 2: Đối với N khung ảnh trước đó, histogram Cb, Cr được tính theo công thức:
n=ỉ
(6)
«=1 ổ[p-ạ] = {^"4
Hình 2-4: Mô hình tính histogram
(5)
(a) Recent N frames at time n
(b) Index to maximum frequency pixel value
Trang 2814
Hình 2-4 mô tả bước tính histogram cho [5] Để giảm dung lượng bộ nhớ sử dụng, khi khung n+1 được sử dụng, thì khung n-N sẽ bị xóa và lưu khung n+1 vào bộ nhớ
Bước 3: Xác định cảnh nền Cảnh nền được xác định là những điểm có giá trị histogram là lớn nhất:
5°(z,j) = max\H i } (kỹị
B Cr (i,j) = max[H t f (&)}
Giả sử có p khung hình, cnt(i,j) bộ đếm của mỗi điểm ảnh, n=0;
Bước 1: Tính sự khác biệt giữa cảnh nền và khung hình ảnh hiện tại
Bước 2: Tăng biên đêm lên 1 nêu sự có sự khác biệt lớn hơn ngưỡng
if (dcb > E) hoặc (dCr > E) thì
(7)
(8)
Trang 2915
cnt(i,j)++
Bước 3: Neu n=p, kết thúc Ngược lại, n=n+l, lặp lại bước 1 Nếu giá trị biến đếm nằm trong khoảng thời gian thực thi điểm ảnh thì giá trị mới của điểm ảnh đạt được bởi phưong trình ở bước 2 và bước 3 trong khâu tách cảnh nền Lúc này, ảnh nền được cập nhật
Hình 2-5 Cập nhật ảnh nền trong phưong pháp histogram
❖ Mô hình trừ nền dựa trên phương pháp thống kê - Gaussian Mixture Model (GMM)
Ban đầu, mô hình Gaussian đon (Single Gaussian) để tìm kiếm phưong sai của mức cường độ điểm ảnh (the pixel intensity level) của ảnh Tuy nhiên, điểm ảnh có thể được thể hiện ở nhiều yếu tố, do đó điểm ảnh có thể được đại diện bởi một bộ trộn các Gaussian (GMM) thay thế cho mô hình đơn Mô hình GMM là một hàm tham số mật độ xác suất được biểu diễn như là một tổng trọng số của các mật độ Gaussian thành phần GMM được sử dụng rộng rãi như là một mô hình tham số của phân phối xác suất của các phép đo liên tục hay tính năng trong một hệ thống sinh trắc học Các tham số GMM được đánh giá từ việc huấn luyện dữ liệu sử dụng thuật toán lặp cực đại hóa kỳ vọng (Expectation Maximization - EM) hoặc tối đa hậu nghiệm (Maximum A Posteriori - MAP) [8]
Mô hình GMM: Một mô hình GMM là tổng thành phần của k thành phần mật độ Gaussian được cho bởi công thức:
Trang 30là trung bình và độ lệch chuẩn của lớp thứ i Thực hiện giải thuật GMM, thực hiện mô hình GMM ở hai bước:
> Bước 1: Xây dựng và cập nhật mô hình
- Một mô hình hỗn hợp K phân phối Gaussian được sử dụng để mô hình chuỗi thời gian của các giá trị quan sát tại một điểm ảnh cụ thể (XI Xt) Xác suất xuất hiện của các giá trị điểm ảnh hiện tại được cho bời công thức :
Trang 3218
điểm ảnh/phân phối Điều này rất hữu ích đối với các vùng khác nhau
có độ sáng khác nhau Nếu không có phân phối nào match với giá trị điểm ảnh hiện tại, phân phối có khả năng xảy ra ít nhất được thay thế với một phân phối với giá trị hiện tại bằng với giá trị trung bình của nó, một khởi tạo một phương sai cao và hệ số tiên nghiệm thấp (low prior weight)
- Hệ số tiên nghiệm của phân phối K tại thời điểm t được điều chỉnh như sau:
- Trong đó, a là bình phương tốc độ học, Mk,t = 1 trong trường hợp mô hình matched, bằng 0 trong trường hợp còn lại Sau bước xấp xỉ này, các trọng số sẽ được chuẩn hóa lại Các tham số p và o không đổi trong trường hợp unmatched Trong trường hợp matches Tham số của phân phối được cập nhật:
- Dựa vào các tham số cửa mô hình hỗn hợp của mỗi điểm ảnh thay đổi, ta
có thể xác định Gaussian của mô hình hỗn hợp là giống nhất được tạo
ra bởi cảnh nền Việc xếp hạng (rank) của một Gaussian được định nghĩa
(15)
(16)
Trang 3319
là w/o Giá trị này được lấy lớn hơn nếu các phân phối có độ lệch chuẩn thấp và nó matched trong nhiều khoảng thời gian Khi các Gaussian được sắp xếp theo thứ thự xếp hạng giảm dần của hệ số chuẩn hóa w/ ơ, giá trị tậ đầu tiên sẽ giống cảnh nền nhất Giả sử:
❖ Mô hình trừ nền dựa trên phương pháp phân cụm K-means
Thuật toán k-means được sử dụng lần đầu tiên năm 1967 bởi James MacQueen, dựa trên ý tưởng của Hugo Steinhaus năm 1957 Đây là phương pháp của vector quantization, phổ biến cho kỹ thuật phân tích cụm trong cực tiểu hóa dữ liệu Phân cụm K-Means nhằm mục đích chia tập dữ liệu gồm n quan sát vào k cụm khác nhau, trong đó mỗi quan quan sát thuộc về cụm với trung bình gần nhất Giải thuật K-Means được mô tả như sau:
- Cho một tập gồm n quan sát (xi, X2, ,Xn), mỗi quan sát là một véc tơ
d chiều, phân cụm K-Means sẽ chia n quan sát trên vào tập s, k cụm (k
<= n) s= {Si,S2, ,Sk} theo công thức:
- Trong đó: Hi là giá trị trung bình của mỗi cụm Ta có thể hiểu từ “K” nghĩa là chia dữ liệu thành K phần (vùng) “Mean” được hiểu tính giá trị trung bình của cụm Thuật toán chuẩn (standard algorithm) k-
Trang 34means sử dụng kỹ thuật vòng lặp đi lặp lại cho đến khi hội tụ xảy ra Do tính phổ biến của phương pháp này, thuật toán này thường được gọi là
[7]
Giải thuật K-Mean ứng dụng trong kỹ thuật phân vùng ảnh được thực hiện như sau:
Chia bức ảnh thành k cụm ngẫu nhiên, mi(i), rri2(i), rri3(i) mk(i) là giá trị trung bình các cụm khởi tạo
- Bước 1: Gán các điểm ảnh đến các cụm sao cho khoảng cách đến điểm
đó đến cụm là nhỏ nhất Khoảng cách từ điểm ảnh đến các cụm được tính theo khoảng cách Euclidean Công thức mô tả phép gán cho bước này:
Lặp lại bước 1 và bước 2 đến khi hội tụ Hội tụ xảy ra khi không có bất
kỳ sự thay đổi vị trí của các điểm ảnh đến các cụm
❖ Mô hình thống kê (Statistical Method)
Những phương pháp tiên tiến hơn sử dụng các đặc trưng thống kê của các điểm ảnh riêng lẻ đã được phát triển để vượt qua những thiếu sót phương pháp trừ nền
Các phương pháp thống kê này có tiền đề phát triển từ phương pháp trừ nền xét về mặt giữ và cập nhật thống kê điểm ảnh thuộc về ảnh nền Những điểm ảnh tiền 20
Trang 3521
cảnh được xác định bằng cách so sánh các thống kê của mỗi điểm ảnh với điểm ảnh
đó trong của nền ảnh mẫu
Cách tiếp cận này đang ngày càng thông dụng bởi vì tính hiệu quả của nó trong các ảnh chứa nhiễu, ánh sáng thay đổi và bóng
❖ Khác biệt theo thòi gian (Temporal Differencing)
Phương pháp này nhận dạng vùng chuyển động bằng cách sự khác biệt của từng điểm ảnh trong các hai hoặc ba khung ảnh liên tiếp trong một video
Phương pháp này có sự tương thích tốt với sự thay đổi cảnh liên tục, tuy nhiên nó thường thất bại trong việc nhận dạng toàn bộ các điểm ảnh thích hợp của một số loại đối tượng chuyển động Ngoài ra, phương pháp cũng thất bại khi nhận dạng đối tượng không chuyển động trong hình, cần bổ sung thêm phương pháp để nhận dạng đối tượng không chuyển động cho các xử lý ở mức cao hơn
❖ Luồng quang học (Optical Flow)
Phương pháp Optical flow thực hiện bằng cách sử dụng các vector có hướng của các đối tượng chuyển động theo thời gian để phát hiện các vùng chuyển động trong một ảnh Chúng có thể phát hiện chuyển động trong các dãy Video ngay cả các Video thu được từ camera di chuyển
Optical flow là khái niệm chỉ sự chuyển động tương đối của các điểm trên bề mặt một đối tượng, vật thể nào đó gây ra, dưới góc quan sát của một điểm mốc (mắt, camera )
Sự chuyển động của các vật thể (mà thực tế có thể coi là sự chuyển động của các điểm trcn bề mặt của vật thể ấy) trong không gian 3 chiều, khi được chiếu lên một mặt phang quan sát 2D được gọi là motion field Nói chung, mục đích của các phương pháp optical flow estimation là để xác định (xấp xỉ) motion field từ một tập các frame ảnh thay đổi theo thời gian, chứng được sử dụng rộng rãi trong các bài toán object segmentation, motion detection, tracking
Nhược điểm chính của phương pháp dòng quang này là khó áp dụng trong thời gian
Trang 3622
thực do tính toán phức tạp, tốn rất nhiều thời gian cho việc tính toán
2.1.3 Phương pháp Delta Sigma Background Subtraction
2.1.3.1 Tổng quan
Để phát hiện các đối tượng chuyển động trong một chuỗi hình ảnh là một nhiệm vụ rất quan họng đối với nhiều ứng dụng thị giác máy tính, chẳng hạn như video giám sát, giám sát giao thông Khi máy ảnh đứng yên, phương pháp thường được sử dụng
là nền trừ Nguyên tắc của phương pháp này là xây dựng một mô hình của các cảnh tĩnh (tức là không cần di chuyển các đối tượng) được gọi là nền, và sau đó so sánh từng khung hình của chuỗi để nền tảng này để phân biệt các vùng chuyển động bất thường, gọi là tiền cảnh (di chuyển các đối tượng)
Nhiều thuật toán đã được phát triển cho phép trừ nền, trong phần này học viên giới thiệu một tập hợp các thuật toán phát hiện chuyển động được gọi là EA cơ bản [4] và thuật toán EA cải tiến [5] được thiết kế để tối ưu các tính toán hiệu quả của thuật toán
EA cơ bản, để:
- Mục tiêu thực hiện thời gian thực
- Thực hiện dể dàng trên phần cứng
- Có khả năng thực hiện trên bộ vi xử lý và hệ thống nhúng
2.1.3.2 Giới thiệu thuật toán Delta Sigma Subtraction
❖ Giải thuật EA cơ bản
Các nguyên tắc của thuật toán ZA là ước tính hai tham số Mt và Vt của tín hiệu thời
It trong mỗi điểm ảnh sử dụng điều chế EA Thuật toán gồm 4 bước:
- Bước 1: Cập nhật hình nền hiện tại Mt với một bộ lọc ZA
- Bước 2: Tính toán sự khác biệt giữa hình nền Mt và khung ảnh hiện tại
Trang 3723
Quá tành thực hiện giải thuật được mô tả như bảng:
Cho mỗi pixel X thực hiện: [bước #1: cập nhật M tl
- Nếu M t -i(x) < I t (x) thì M t (x) = M t-i(x) + 1
- Nếu Mt-i(x) > It(x) thì M t (x) = M t-i(x) - 1
- Trường hợp khác: M t (x) = M t-i(x) Cho mỗi pixel X thực hiện: [bước #2: tính toán Otl
- Ot(x) = I M t(x) - Vt (x) I Cho mỗi pixel X thực hiên: [bước #3: cập nhật Vt ]
- Neu Vt-i(x) < N X o t (x) thì v t(x) = Vt-i(x) + 1
- Neu Vt-i(x) > N X o t (x) thì v t(x) = Vt-i(x) - 1
- Trường hợp khác: v t (x) =v t-i(x)
Cho mỗi pixel X thực hiện: [ bước #4: ước tính E t ]
- Et = 1 nếu Vt (x) > o t (x)
- Et = 0nếuV t (x) < o t(x)
Bảng 2-1 Giải thuật EA cơ bản
chọn là 2 hoặc 4 Trong thực tế, những chuyển động nhỏ của đối tượng có thể bị bỏ
qua, các giá trị của N là cách khắc phục tối ưu cho giải thuật này
Trang 3824
ảnh nền Mt; (d) phương sai Vt
❖ Cải thỉện giải thuật XA Delta Sigma cơ bản : LA cảỉ tiến
Ở giải thuật XA Delta Sigma cơ bản, việc loại nhiễu chưa thực sự hiệu quả Để khắc phục đỉều này [4] giới thiệu phương pháp khắc phục bằng cách hồi tiếp giá trị
khung ảnh ước lượng Et-1 trước đó để áp dụng cho khung ảnh hiện tại Mô hình giải thuật:
•* ■ 1
Trang 3925
Hình 2-7 Mô hình thuật toán SA cải tiến Tại khung ảnh đầu tiên: Et-1 = 0 Các bước thực hiện của giải thuật được mô tả như bảngx
Cho mỗi pixel X thực hiên: [bước #1: cập nhật M tl
- Nếu Et-1 (x) = 0 thì :
Nếu Mt-i(x) < It(x) thì M t (x) = M t-i(x) + 1
Nếu Mt-i(x) > It(x) thì M t (x) = M t-i(x) - 1
Trường hợp khác: M t (x) = M t.i(x)
- Nếu EM t0 thì M t (x) = M t.i(x) Cho mỗi pixel x thực hiên: [bước #2: tính toán Of]
- o t (x) = I M t (x) - v t(x)l Cho mỗi pixel X thực hiên: [bước #3: cập nhật Vt ]
- Neu Vt-i(x) < N X o t (x) thì v t(x) = Vt-i(x) + 1
- Neu Vt-i(x) > N X o t (x) thì v t(x) = Vt-i(x) - 1
- Trường hợp khác: Vt(x) = Vt-i(x) Cho mỗi pixel x thực hiện: [ bước #4: ước tính Et ]
- Et = 1 nếu v t (x) > o t (x)
-Et = 0nếuv t (x) < o t(x)
Bảng 2-2 Giải thuật SA cải tiến
Trang 40(21)
ảnh nền Mt; (d) phương sai Vt
❖ Gỉảỉ thuật XA Delta Sigma kết hợp Morphological post-processing
Để khắc phục nhiễu, [4] đề xuất sử dụng Morphological post-processing bằng cách
sử dụng phép co giản vùng ảnh (Opening) Phép co giản vùng ảnh là kết quả của sự kết hợp phép co vùng ảnh - Erosion và phép giãn vùng ảnh Dilation nhằm xóa đi các điểm ảnh nhị phân không mong muốn
Phép co vùng ảnh - Erosion : Xét tập hợp A và tập hợp B (Phần tử cấu trúc), phép co ảnh nhị phân của tập hợp A bởi phần tử cấu trúc B được kí hiệu A B và viết dưới dạng công thức như sau: