Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 86 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
86
Dung lượng
1,57 MB
Nội dung
0 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CƠNG NGHỆ ĐÀO NGỌC ANH THUẬT TỐN PHÁT HIỆN CHUYỂN ĐỘNG LUẬN VĂN THẠC SĨ HÀ NỘI - 2010 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ ĐÀO NGỌC ANH THUẬT TOÁN PHÁT HIỆN CHUYỂN ĐỘNG Ngành: Công nghệ Điện tử - Viễn thông Chuyên ngành: Kỹ thuật điện tử Mã số: 605270 LUẬN VĂN THẠC SĨ NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS TS NGÔ DIÊN TẬP HÀ NỘI - 2010 LỜI CẢM ƠN Trƣớc hết em xin gửi tới PGS TS Ngô Diên Tập lời cảm ơn chân thành sâu sắc trực tiếp hƣớng dẫn, bảo tận tình suốt trình em làm Luận văn Thạc sĩ Em xin chân thành cảm ơn thầy cô giáo Trƣờng Đại học Công Nghệ - Đại học Quốc Gia Hà Nội hết lòng dạy bảo, giúp đỡ em suốt q trình học, giúp em có kiến thức kinh nghiệm quý báu chuyên môn sống Những hành trang tài sản vơ giá nâng bƣớc cho em tới đƣợc với thành công tƣơng lai Cuối cùng, em xin cảm ơn ngƣời thân gia đình bạn giúp đỡ, động viên em hoàn thành Luận văn Thạc sĩ Hà nội, ngày tháng 10 năm 2010 LỜI CAM ĐOAN Tôi Đào Ngọc Anh, học viên Cao học K15, khoa Điện tử - Viễn thông, trƣờng Đại học Công nghệ, xin cam đoan cơng trình nghiên cứu riêng tơi Các số liệu, kết nêu luận văn trung thực chƣa đƣợc công bố cơng trình khác Hà Nội, ngày 08 tháng 10 năm 2010 Học viên Đào Ngọc Anh MỤC LỤC Trang Chƣơng THUẬT TOÁN PHÁT HIỆN CHUYỂN ĐỘNG 1.1 Bộ lọc Kalman 1.2 Mơ hình hỗn hợp thích nghi thời gian thực 1.2.1 Phƣơng pháp mơ hình hóa hỗn hợp thích nghi 1.2.2 Ƣớc lƣợng mơ hình 12 1.3 Mơ hình khơng tham số thích nghi 13 1.3.1 Mơ hình 16 1.3.2 Ƣớc lƣợng độ rộng lõi 17 1.3.3 Giảm phát sai 18 1.3.4 Cập nhật 20 1.3.5 Phát vùng tối 22 1.4 Mơ hình từ điển thích nghi thời gian thực 22 1.4.1 Mô hình phát 24 1.4.2 Phát vật thể từ 29 1.4.3 So sánh mơ hình sử dụng từ điển với mơ hình khác 29 1.4.4 Mơ hình sử dụng từ điển phân lớp 31 1.5 Mơ hình từ điển hai lớp thích nghi thời gian thực 32 1.5.1 Mơ hình từ điển 32 1.5.2 Thuật toán tách 34 Chƣơng THƢ VIỆN CHƢƠNG TRÌNH XỬ LÝ ĐỒ HỌA OPENCV 35 2.1 Kiến trúc thƣ viện 35 2.1.1 Cấu trúc liệu khởi thủy 36 2.2 Thƣ viện ngƣời dùng đồ họa mức cao 46 2.3 Các khái niệm cần thiết cài đặt mơ hình sử dụng từ điển 52 2.3.1 Không gian nhớ 52 2.3.2 Dãy đối tƣợng liên kết 53 2.3.3 Đƣờng bao 58 2.3.4 Theo dõi chuyển động 62 Chƣơng CÀI ĐẶT MƠ HÌNH NỀN SỬ DỤNG TỪ ĐIỂN HAI LỚP 68 3.1 Cấu trúc liệu 68 3.2 Giải thuật thực mơ hình hóa sử dụng từ điển hai lớp thích nghi 70 3.2.1 Pha khởi tạo mơ hình M 71 3.2.2 Pha tối ƣu mơ hình M xây dựng 72 3.2.3 Pha tách nền, cập nhât mơ hình M H đồng thời 72 3.3 Phân tích thơng tin chuyển động 73 3.4 Kết 73 KẾT LUẬN 76 DANH MỤC HÌNH VẼ Trang Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình 10 Hình 11 Hình 12 Hình 13 Hình 14 Hình 15 Hình 16 Hình 17 Sự kết hợp phân bố biết với kết phép đo thu đƣợc Giá trị cƣờng độ sáng theo thời gian 14 Histogram giá trị cƣờng độ sáng 14 So sánh kết sau hạn chế phát sai 20 Kết phát chuyển động 22 Giá trị cƣờng độ sáng theo thời gian cách đƣợc sử dụng 26 Biểu diễn giá trị màu không gian màu RGB 27 Mơ hình phân tách giá trị màu đề xuất 28 Các thành phần thƣ viện OpenCV 36 Quan hệ kế thừa cấu trúc OpenCV 37 Ảnh lối vào biểu diễn kết sau tách đƣờng bao 58 Quá trình cập nhật vệt theo thời gian 63 Các vệt mẫu chuyển động đối tƣợng 63 Tính độ chuyển vết chuyển động 64 Tách chuyển động cục ảnh 66 Tổ chức liệu lƣu trữ từ điển 68 Chƣơng trình mơ q trình nhận dạng chuyển động 74 BẢNG KÝ HIỆU VIẾT TẮT Dạng đầy đủ Ý nghĩa MOG Mixture of Gauss Dạng hỗn hợp phân phối Gauss EM Expectationmaximization Thuật tốn EM phƣơng pháp tìm ƣớc lƣợng lân cận cực đại tham số mơ hình thống kê dựa giá trị có STT Kí hiệu MỞ ĐẦU Lĩnh vực xử lý tín hiệu, cụ thể xử lý hình ảnh phát triển từ lâu với đa dạng lĩnh vực nhƣ tăng cƣờng chất lƣợng ảnh, tách thành phần nền, dự đoán, theo dõi chuyển động, nhận dạng đối tƣợng,… Với phát triển mạnh mẽ công nghệ phần cứng máy tính hỗ trợ hệ thống mô phỏng, thƣ viện mã nguồn mở thƣ viện xử lý đồ họa cho phép thực nhiều thuật tốn phức tạp địi hỏi số lƣợng tính tốn lớn đƣợc nghiên cứu, đánh giá, cải tiến áp dụng thực tế Trong đó, phƣơng pháp phát chuyển động lớp ứng dụng liên quan tới nhiều kĩ thuật xứ lý ảnh nhƣ tăng cƣờng chất lƣợng ảnh, mơ hình hóa – tách nền, theo dõi chuyển động, dự đoán chuyển động,… Do thời gian nghiên cứu khuôn khổ nội dung Luận văn có hạn nên vào tập trung nghiên cứu thuật toán phát chuyển động dựa việc mơ hình hóa đƣợc trình bày chủ yếu chƣơng Các phƣơng pháp mô hình hóa đƣợc trình bày theo thứ tự phát triển tăng dần Thứ mơ hình sử dụng lọc Kalman để dự đoán việc ƣớc lƣợng thích nghi Thứ hai mơ hình hỗn hợp thích nghi sử dụng K phân bố Gauss để mơ hình hóa có chuyển động nhỏ, phức tạp với tham số mơ hình Thứ ba mơ hình khơng tham số sử dụng ƣớc lƣợng hàm lõi cho phép thích nghi tốt với thay đổi môi trƣờng, loại bỏ yếu tố tham số mơ hình Thứ tƣ mơ hình sử dụng từ điển cho phép mơ hình hóa phức tạp khoảng thời gian dài thích nghi thời gian thực Và cuối mơ hình cải tiến mơ hình sử dụng từ điển nhằm tăng tốc độ xử lý khung hình khắc phục vấn đề thích nghi với thay đổi nhỏ thời gian dài mơ hình trƣớc Tiếp đó, chƣơng tìm hiểu thƣ viện xử lý đồ họa mã nguồn mở OpenCV Chúng ta chủ yếu đề cập tới khái niệm, nguyên mẫu hàm cần thiết cho việc xây dựng chƣơng trình thực mơ hình hóa sử dụng từ điển nhƣ: khởi thủy cấu trúc liệu, hàm xử lý đồ họa ngƣời dùng mức cao, thuật tốn xử lý hình ảnh phổ biến… Cuối cùng, chƣơng mô tả trình, kết xây dựng chƣơng trình, lƣu ý cụ thể cài đặt Chƣơng trình nguồn thu đƣợc dùng để nghiên cứu thuật tốn sử dụng ứng dụng thƣơng mại liên quan tới nhận dạng chuyển động Chƣơng THUẬT TOÁN PHÁT HIỆN CHUYỂN ĐỘNG 1.1 Bộ lọc Kalman Đƣợc giới thiệu năm 1960, lọc Kalman đƣợc ý đặc biệt lĩnh vực xử lý tín hiệu Bộ lọc Kalman,với điều kiện ràng buộc, cho phép xây dựng mơ hình trạng thái với cực đại xác suất trƣớc mà không cần giữ giá trị nhiều giá trị đo trƣớc Thay phải lƣu lại giá trị này, cập nhật mơ hình trạng thái hệ thống giữ lại mơ hình để sử dụng bƣớc tiếp theo[6] Trƣớc tìm hiểu chi tiết ý nghĩa thực tế lọc này, phân tích giả thiết điều kiện ràng buộc sử dụng lọc Có giả thiết quan trọng mặt lý thuyết xây dựng lọc Kalman là: Hệ thống đƣợc mơ hình hóa tuyến tính Có nghĩa trạng thái hệ thống thời điểm k đƣợc mơ hình hóa nhƣ tích số ma trận (ta không định nghĩa tƣờng minh ma trận này) với trạng thái thời điểm (k-1) Ồn phép đo ồn trắng có phân bố Gauss Nghĩa ồn không tƣơng quan miền thời gian biên độ đƣợc mơ hình hóa thơng qua giá trị trung bình phƣơng sai Ý nghĩa phép “cực đại hóa xác suất trƣớc phép đo thực hiện” có nghĩa mơ hình đƣợc xây dựng sau thực phép đo đƣợc tính tốn dựa mơ hình trƣớc với độ khơng phép với độ khơng chắn Và mơ hình đƣợc tìm có xác suất cao đƣợc gọi mơ hình đƣợc chọn Với mục đích này, lọc Kalman với điều kiện ràng buộc cách tốt để kết hợp liệu từ nguồn khác từ nguồn thời điểm khác Khi có thơng tin định thay đổi sở thông tin có thơng tin sử dụng phép lấy trung bình theo trọng số giá trị Giả sử ta thực phép đo xác định vị trí x Do có ồn nên có kết đo khơng chắn – theo quan điểm Gauss – x1 x2 Bởi có độ khơng chắn Gauss phép đo nên chúng có giá trị trung bình với phƣơng sai chuẩn ζ1 ζ2 Phƣơng sai mang thông tin độ khơng 63 Hình 12 Q trình cập nhật vệt theo thời gian Mỗi vệt có nhãn thời gian tƣơng ứng là thời điểm mà xuất Các vệt có nhãn thời gian cũ duration giá trị so với nhãn bị loại bỏ, thiết lập Việc tạo mẫu chuyển động đƣợc gọi hàm cvUpdateMotionHistory(): void cvUpdateMotionHistory( const CvArr* silhouette, CvArr* mhi, double timestamp, double duration ); Hình 13 Các vệt mẫu chuyển động đối tƣợng Trong cvUpdateMotionHistory(), tất mảng ảnh điều ảnh đơn kênh – màu Ảnh vệt ảnh kiểu byte giá trị khác biểu diễn giá trị gần vệt đƣợc tách đối tƣợng Ảnh mhi ảnh có giá trị thực biểu diễn mẫu chuyển động hay ảnh lịch sử chuyển động Giá trị timestamp thời gian hệ thống – thƣờng đếm theo mili-giây duration nhƣ nói phần nhận giá trị khoảng thời gian mà điểm ảnh đƣợc giữ lại mhi 64 Mỗi mẫu chuyển động có tập vệt đối tƣợng chồng lên theo thời gian Chúng ta dễ dàng nhận thấy chuyển động cách tạo độ chuyển màu ảnh mhi theo giá trị nhãn thời gian nói phần trƣớc Để làm việc thƣờng sử dụng hàm tạo độ chuyển Scharr Sobel Sẽ có số thành phần lớn khơng hợp lệ Các thành phần có độ chuyển khơng hợp lệ phần cũ khơng tích cực ảnh mhi đƣợc thiết lập 0, tạo độ chuyển lớn giả tạo quanh viền vệt Bởi biết khoảng thời gian tồn duration nên xác định đƣợc độ lớn độ chuyển cần thiết – đặc trƣng giá trị vi phân dx, dy bƣớc chuyển Chính vậy, sử dụng biên độ chuyển để loại bỏ thành phần lớp Ta thực việc xác định độ chuyển chuyển động cách gọi hàm: void cvCalcMotionGradient( const CvArr* mhi, CvArr* mask, CvArr* orientation, double delta1, double delta2, int aperture_size=3 ); Hình 14 Tính độ chuyển vết chuyển động Trong hàm này, tất mảng ảnh đơn kênh Tham số mhi ảnh lịch sử chuyển động mang giá trị thực Các biến delta1, delta2 biên độ cực tiểu, cực đại độ chuyển cho phép Thƣờng giá trị delta1 đƣợc thiết lập 0,5 1,5 lần giá trị trung bình xác định cvUpdateMotionHistory() Giá trị aperture_size mang giá trị kích thƣớc chiều rộng, chiều cao toán tử tạo độ chuyển Các giá trị là: 65 aperture_size aperture_size aperture_size aperture_size = -1: CV_SCHARR kích thƣớc 3x3 = 3: ứng với lọc Sobel 3x3 = 5: ứng với lọc Sobel 5x5 = 7: ứng với lọc Sobel 7x7 Hàm trả về: mask ảnh bit đơn kênh với giá trị khác độ chuyển hợp lệ đƣợc tìm thấy, orientation ảnh với giá trị thực chứa góc hƣớng chuyển điểm ảnh Hàm cvCalcGlobalOrientation() tìm hƣớng tồn cục chuyển động nhƣ véc-tơ tổng tất hƣớng độ chuyển hợp lệ double cvCalcGlobalOrientation( const CvArr* orientation, const CvArr* mask, const CvArr* mhi, double timestamp, double duration ); Khi sử dụng cvCalcGlobalOrientation(), truyền vào ảnh orientation mask đƣợc tính hàm cvCalcMotionGradient() với timestamp, duration ảnh mhi xác định từ lời gọi hàm cvUpdateMotionHistory() Giá trị nhãn thời gian timestamp với duration cho phép hàm xác định đƣợc giá trị chuyển động từ mhi orientation Chúng ta tác vùng ảnh mẫu chuyển động mhi xác định chuyển động cục vùng ảnh Trong hình dƣới đây, ảnh mhi đƣợc quét từ vùng vệt Khi vùng đƣợc đánh dấu với nhãn thời gian gần đƣợc tìm thấy xác định đƣợc chu vi vùng để tính chuyển động 66 Hình 15 Tách chuyển động cục ảnh Hàm cho phép tác tính tốn chuyển động cục cvSegmentMotion(): CvSeq* cvSegmentMotion( const CvArr* mhi, CvArr* seg_mask, CvMemStorage* storage, double timestamp, double seg_thresh ); Trong hàm cvSegmentMotion(), mhi ảnh mhi đƣợc xác định từ bƣớc trƣớc Chủ ta truyền vào storage cấu trúc CvMemoryStorage đƣợc nói phần quản lý nhớ OpenCV Tham số timestamp nhãn thời gian vệt mhi mà muốn tác chuyển động cục Cuối seg_thresh số bƣớc lùi cực chấp nhận chuyển động cần tách Thông thƣờng seg_thresh 1,5 lần sai khác trung bình nhãn thời vệt Hàm trả lại cấu trúc CvSeq CvConnectedComp biểu diễn chuyển động tìm đƣợc Nó trả seg_mask ảnh với giá trị thực đơn kênh với vùng đƣợc đánh dấu số khác không Để tính chuyển động 67 cho vùng lần gọi cvCalcGlobalOrientation() sử dụng vùng mặt nạ thích hợp từ CvConnectedComp thích hợp từ giá trị đơn seg_mask - 68 Chƣơng CÀI ĐẶT MƠ HÌNH NỀN SỬ DỤNG TỪ ĐIỂN HAI LỚP 3.1 Cấu trúc liệu Trƣớc vào việc xây dựng chƣơng trình thực thuật tốn mơ hình hóa sử dụng từ điển ta định nghĩa cấu trúc liệu cho từ mã từ điển Căn vào cách thức truy nhập sử dụng từ điển mà đề xuất hình thức lƣu trữ từ điển nhƣ sau: Hình 16 Tổ chức liệu lƣu trữ từ điển Nhƣ mơ tả phần trƣớc điểm ảnh có từ điển đặc trƣng, mơ hình hóa cho Để cho đơn giản sử dụng ma trận trỏ có kích thƣớc kích thƣớc ảnh – điểm ảnh tƣơng ứng có từ điển Mỗi phần tử ma trận trỏ trỏ tới danh sách liên kết – từ điển - với phần tử từ mã Trƣớc vào khai báo cụ thể cấu trúc liệu có số quy định đặt giá trị tên biến tiện theo dõi nhƣ sau: Một hai kí tự viết chữ thƣờng mô tả kiểu liệu ngơn ngữ lập trình ngƣời dùng tự định nghĩa Tiếp thơng tin liệu liên quan tới khái niệm theo thời gian dài (LT) thời gian ngắn(ST) – có Vì suốt q trình làm việc ln đề cập song song tới hai mơ hình xét thời gian ngắn H mơ hình xét thời gian dài M với nhiều thuộc tính giống nên sử dụng kí hiệu để phân biệt 69 Tên sau dấu gạch dƣới tên mô tả hoạt động mặt logic thuật toán trƣờng Từ quy định cấu trúc liệu mơ hình nhƣ tổng hợp mơ hình H M đồng thời nhƣ sau: typedef struct BGCodeBookModel { CvSize size; int iLT_T; int i_Tadd; CvMemStorage* stLT_storage; CvMemStorage* stST_storage; int iLT_maxMNRL; BGCodeBookElem** cbLT_map; BGCodeBookElem* cwLT_list; int iST_maxMNRL; BGCodeBookElem** cbST_map; BGCodeBookElem* cwST_list; }BGCodeBookModel; Trong đó, size kích thƣớc mơ hình, giá trị kích thƣớc ảnh cần mơ hình hóa – với lý trình bày phần Trƣờng iLT_T lƣu nhãn thời gian mô hình Trƣờng i_Tadd khoảng thời gian Tadd – khoảng thời gian tồn từ mã mơ hình H đƣợc chuyển sang mơ hình M Trƣờng stLT_storage không gian nhớ cấp phát OpenCV để lƣu trữ cấu trúc thông tin từ điển mơ hình M – sử dụng cấp phát chung cho toàn từ điển điểm ảnh Trƣờng iLT_maxMNRL lƣu giá trị max Trƣờng cbLT_map trỏ trỏ tới từ mã từ điển ứng với điểm ảnh xét cwLT_list trỏ trỏ tới từ mã chƣa đƣợc sử dụng đƣợc sử dụng để tạo từ mã Tƣơng tự nhƣ với stST_storage, iST_maxMNRL, cbST_map, cwST_list Chúng ta định nghĩa tƣờng minh cấu trúc liệu từ mã từ điển nhƣ sau: typedef struct BGCodeBookElem{ struct BGCodeBookElem* next; float fBriMin; 70 float fBriMax; int iFreq; int iMNRL; int iFirstAccess; int iLastAccess; }BGCodeBookElem; Vì lý tổ chức lƣu trữ từ điển dƣới dạng danh sách liên kết nhƣ trình bày phần nên ngồi trƣờng cần thiết cho từ mã, cịn có thêm trƣờng trỏ next trỏ tới phần tử – từ mã từ điển Nếu từ mã cuối từ điển trỏ mang giá trị NULL 3.2 Giải thuật thực mơ hình hóa sử dụng từ điển hai lớp thích nghi Nhƣ đề cập chƣơng giới thiệu mơ hình sử dụng từ điển hai lớp thích nghi chia cơng việc mơ hình hóa thành pha thực khác nhau: Pha khởi tạo mơ hình M sử dụng chuỗi ảnh huấn luyện (đào tạo) Pha tối ƣu mơ hình M xây dựng: thực sau hoàn thành xong việc học chuỗi ảnh huấn luyện Pha tách nền, cập nhật mơ hình H M đồng thời Các pha đƣợc định nghĩa thông qua nguyên mẫu hàm nhƣ sau: void BGCodeBookUpdate( BGCodeBookModel* model, const CvArr* image); void BGCodeBookUpdateFinish( BGCodeBookModel* model ); void BGCodeBookDiff( BGCodeBookModel* model, const CvArr* image, CvArr* fgmask ); Đầu tiên, với ảnh chuỗi ảnh huấn luyện ta tiến hành cập nhật mơ hình M theo thuật tốn đƣợc trình bày Có lƣu ý nhỏ ảnh trong thuật tốn ảnh mức xám 71 Tiếp đó, lời gọi hàm BGCodeBookUpdateFinish() thực loại bỏ thành phần ứng với thông tin vật thể, thông tin khơng đƣợc mơ hình hóa mơ hình cần hƣớng tới thông qua giá trị max hay iLT_maxMNRL nhƣ khai báo mơ hình M Giá trị iLT_maxMNRL thƣờng đƣợc chọn nửa chiều dài chuỗi huấn luyện theo đề xuất Kim Sau bƣớc này, thu đƣợc mơ hình M mơ hình cần tìm ứng với chuỗi huấn luyện sử dụng Mơ hình đƣợc đề cập tới nhƣ mơ hình vĩnh cửu Cuối cùng, hàm BGCodeBookDiff() mơ tả cơng việc sau tồn bƣớc chuẩn bị Đó từ ảnh tại, tiến hành tách để phát vật thể chuyển động Để mơ hình có thích nghi với thay đổi độ sáng, thành phần thiết lập mơ hình tạm H liên tục tiến hành cập nhật lại giá trị cho mô hình có – mơ hình H mơ hình M – thông qua việc tạo mới, di chuyển xóa từ mã phù hợp theo yêu cầu định 3.2.1 Pha khởi tạo mơ hình M Thuật toán pha nhƣ sau: Kiểm tra mơ hình M đƣợc khởi tạo chƣa? a Đã đƣợc khởi tạo chuyển sang bƣớc b Nếu chƣa đƣợc khơi tiến hành khởi tạo i Khởi tạo khơng gian nhớ stLT_storage stLT_storage Kích thƣớc khơng gian nhớ phụ thuộc vào đặc tính nguồn cần mã hóa [!] Theo gợi ý Kim số từ mã trung bình từ điển - ứng với điểm ảnh cỡ 6,5 từ mã Từ ta tính đƣợc khơng gian nhớ cần cấp phát cho hợp lý ii Tạo cấu trúc danh sách liên kết cwLT_list cwST_list từ không gian nhớ tƣơng ứng vừa cấp phát Việc giúp hạn chế tính tốn việc tạo danh sách liên kết sau 72 iii Thiết lập tham số mơ hình nhƣ TH, Tdelete Tadd tƣơng ứng với biến iST_maxMNRL, iLT_maxMNRL i_Tadd Với điểm ảnh ta tiến hành: Ta tìm từ mã mơ hình M tƣơng ứng? a Nếu tìm thấy cập nhật giá trị cho từ mã b Nếu khơng tạo từ mã cách thêm vào đầu từ điển với từ mã có giá trị tƣơng ứng với giá trị điểm ảnh xét Việc thực nhờ điều chỉnh giá trị cwlLT_list cbLT_map 3.2.2 Pha tối ƣu mô hình M xây dựng Thuật tốn pha đơn giản đƣợc mô tả nhƣ sau: Cập nhật lại giá trị toàn từ mã mơ hình M theo cơng thức: i = max{i , N-qi+pi-1} Nhƣ đề cập phần trƣớc, N số ảnh chuỗi huấn luyện q q thời điểm lần cuối truy nhập vào từ mã Loại bỏ từ mã có lớn N/2 3.2.3 Pha tách nền, cập nhât mơ hình M H đồng thời Với điểm ảnh ta tiến hành bƣớc nhƣ sau: Tìm từ mã mơ hình M? a Nếu thấy cập nhật từ mã tƣơng ứng điểm ảnh điểm ảnh thuộc vĩnh cửu b Nếu khơng tìm mơ hình H? i Nếu thấy từ mã tƣơng ứng mô hình H tạm thời Tiến hành cập nhật giá trị cho từ mã tìm thấy ii Nếu khơng thấy từ mã tạo mơ hình H 73 Tối ƣu mơ hình tạm H Di chuyển từ mã thích hợp từ mơ hình H sang mơ hình M Tối ƣu mơ hình M 3.3 Phân tích thơng tin chuyển động Việc phân tích chuyển động dựa tích lũy lịch sử chuyển động trƣớc đối tƣợng Ảnh sau đƣợc thực tách phần trƣớc đƣợc xử lý tiếp phần ảnh nhị phân với giá trị khác đại diện cho điểm ảnh vật thể ngƣợc lại Các bƣớc xử lý cụ thể đƣợc mô tả nhƣ sau: Cập nhật chuyển động vật thể theo nhãn thời gian Tính giá trị độ chuyển để tạo vệt lƣu vết chuyển động từ thời điểm xác định khứ tới Tiến hành tách vùng chuyển động đơn lẻ với kết kích thƣớc vùng tách đƣợc Với vùng có chuyển động xác định đƣợc, ta tiến hành tìm hƣớng chuyển động(nếu cần) Biểu diễn chuyển động tìm đƣợc lên ảnh kết 3.4 Kết Do chƣơng trình chủ yếu vào nghiên cứu phƣơng pháp mơ hình hóa mục đích giả lập điều kiện thay đổi nên chƣơng trình hỗ trợ loại lối vào cho chuỗi ảnh gồm: Từ đoạn video lƣu trữ file Từ camera kết nối với máy tính để đánh giá chất lƣợng thuật toán với điều kiện khác nhau: nhà trời, thay đổi điều kiện sáng, có chuyển động,… Từ nguồn chuyển động giả lập Nguồn đƣợc tạo với thành phần nghiên cứu nạp từ tệp ảnh đối tƣợng chuyển động – biểu 74 tƣợng trƣờng Đại học công nghệ Với việc chủ động nguồn lối vào cho phép ta thêm tùy ý cách thành phần vào mô hình nhƣ can nhiễu, vật chuyển động, giả lập đa nền,… Giao diện chƣơng trình đơn giản cho phép theo dõi trình thực hiện, gỡ rối nhƣ nghiên cứu hoạt động thuật tốn thơng qua quan sát kết sau bƣớc thực (a) (b) (c) (d) (e) Hình 17 Chƣơng trình mơ trình nhận dạng chuyển động Trong hình 17a giao diện chƣơng trình thể trình xử lý tiến hành Hình 17b số thơng tin mơ tả q trình theo dõi chi tiết hoạt động chƣơng trình Hình 17c thể ảnh đƣợc sinh từ trình tạo chuyển động giả đề nghiên cứu Vật thể chuyển động đƣợc tách từ 75 hiển thị màu trắng hình 17d, cịn chuyển động đƣợc theo dõi phân tích hình 17e Mơ hình cho kết tốt mơ hình hóa có chuyển động chuỗi đào tạo Khi vật thể chuyển động đứng yên thời gian đủ dài – Tadd – mờ dần mơ tả q trình hóa vật thể đứng n biểu rõ cho tính thích nghi thuật tốn chƣơng trình 76 KẾT LUẬN Trong xử lý ảnh, tính ứng dụng cao lớp tốn liên quan tới phát chuyển động nhƣ phát chuyển động hệ thống theo dõi tự động, nhận dạng chuyển động, cử chỉ, mã hóa hình ảnh,…nên nhiều phƣơng pháp đƣợc đề xuất Ban đầu đề xuất dựa quan điểm xử lý tín hiệu sử dụng lọc Kalman, kết lĩnh vực thống kê – sử dụng phân phối chuẩn phép ƣớc lƣợng xác suất – nhằm mơ hình hóa tách chuyển động khỏi thành phần Cho tới gần phƣơng pháp dựa quan điểm mã hóa liệu, thơng tin nhƣ sử dụng từ điển thích nghi thời gian thực phân lớp Càng ngày, phƣơng pháp cho kết tốt hơn, thích nghi tốt với thay đổi khắt khe môi trƣờng đối tƣợng cần phát Trong phần ứng dụng phƣơng pháp phát chuyển động vào thực tế, dựa thƣ viện xử lý đồ họa mã nguồn mở OpenCV xây dựng chƣơng trình nguồn sở để cài đặt thêm phƣơng pháp mơ hình hóa khác Chƣơng trình cho phép nghiên cứu, đánh giá cải tiến thuật tốn có; đặc biệt thuật tốn mơ hình hóa sử dụng từ điển thích nghi phân lớp thời gian thực Qua kết thu đƣợc thấy chƣơng trình phản ánh yêu cầu thuật toán đồng thời tạo môi trƣờng giả lập chuyển động phục vụ tốt cho nghiên cứu thuật toán khác sau Do thời gian nghiên cứu có hạn lĩnh vực khó địi hỏi nhiều thời gian nghiên cứu đồng thời liên quan tới nhiều lĩnh vực chuyên sâu khác nên nội dung Luận văn khơng khỏi mắc phải thiếu sót Kính mong thầy, cô hội đồng khoa học, trƣờng Đại học Cơng nghệ góp ý để nội dung Luận văn đƣợc hoàn thiện Xin cảm ơn 77 TÀI LIỆU THAM KHẢO Tiếng Anh Ahmed Elgammal, David Harwood, Larry Davis (2000)," Non-parametric Model for Background Subtraction", Erropean Conference on Computer Vision 2000, Vol 2, pp 751-767 Chris Stauffer, W.E.L Grimson (1999), "Adaptive background mixture models for real-time tracking", IEEE International Conference on Computer Vision and Pattern Recognition 1999, Vol 2, pp 246-252 Christof Ridder, Olaf Munkelt, Harald Kirchner (1995), "Adaptive Background Estimation and Foreground Detection using KalmanFiltering", Proceedings of the International Converence on recent Advances in Mechatronics, pp.1-7 Kyungnam Kim, Thanarat H Chalidabhongse, David Harwood, Larry Davis (2005), "Real-time foreground-background segmentation using codebook model", Elsevier Real-Time Imaging, Vol 11, pp 172-185 Mohamad Hoseyn Sigari, Madmood Fathy (2008), "Real-time Background Modeling / Subtration using Two-Layer Codebook Model", Proceedings of the International MultiConverence of Engineers and Computer Scientist 2008, Vol Gary Bradski and Adrian Kaehler (2008), Learning OpenCV, O'reilly, O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472 Wren, Christopher R., Ali Azarbayejani, Trevor Darrel, Alex Pentland (1997), "Pfinder: Real-time Tracking of the Human Body", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol 19, No 7, pp.780-785 ... mẫu chuyển động đối tƣợng 63 Tính độ chuyển vết chuyển động 64 Tách chuyển động cục ảnh 66 Tổ chức liệu lƣu trữ từ điển 68 Chƣơng trình mơ q trình nhận dạng chuyển động. .. vị trí x chuyển động với vận tốc v thời điểm (t+dt) kì vọng di chuyển khơng tới (x+v*dt) mà xa Chuyển động ngẫu nhiên: chuyển động mà không điều khiển đƣợc Nhƣ giả thiết trƣớc chuyển động ngẫu... nghiên cứu thuật tốn sử dụng ứng dụng thƣơng mại liên quan tới nhận dạng chuyển động 1 Chƣơng THUẬT TOÁN PHÁT HIỆN CHUYỂN ĐỘNG 1.1 Bộ lọc Kalman Đƣợc giới thiệu năm 1960, lọc Kalman đƣợc ý đặc