nghi
Nhƣ đã đề cập trong chƣơng 1 khi giới thiệu về mô hình nền sử dụng từ điển hai lớp thích nghi thì chúng ta sẽ chia công việc mô hình hóa nền thành 3 pha thực hiện khác nhau:
Pha khởi tạo mô hình nền M sử dụng chuỗi ảnh huấn luyện (đào tạo). Pha tối ƣu mô hình nền M đã xây dựng: thực hiện sau khi đã 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 nền H và M đồng thời.
Các pha này đƣợ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 mỗi ảnh trong chuỗi ảnh huấn luyện ta sẽ tiến hành cập nhật mô hình M theo thuật toán đã đƣợc trình bày. Có một lƣu ý nhỏ là ảnh trong trong thuật toán này là ảnh mức xám.
Tiếp đó, lời gọi hàm BGCodeBookUpdateFinish() sẽ thực hiện loại bỏ các thành phần ứng với thông tin vật thể, những thông tin không đƣợc mô hình hóa trong mô hình nền cần hƣớng tới thông qua giá trị max hay iLT_maxMNRL nhƣ trong khai báo của mô hình M. Giá trị iLT_maxMNRL thƣờng đƣợc chọn bằng một nửa chiều dài chuỗi huấn luyện theo đề xuất của Kim. Sau bƣớc này, chúng ta sẽ thu đƣợc mô hình M là mô hình nền cần tìm ứng với chuỗi huấn luyện đã sử dụng. Mô hình này đƣợc đề cập tới nhƣ là mô hình nền vĩnh cửu.
Cuối cùng, hàm BGCodeBookDiff() mô tả công việc chính sau toàn bộ các bƣớc chuẩn bị. Đó là từ ảnh hiện tại, chúng ta tiến hành tách nền để phát hiện ra vật thể chuyển động trong nó. Để mô hình nền đã có có thể thích nghi với các thay đổi về độ sáng, về thành phần của nền thì chúng ta thiết lập mô hình nền tạm H và liên tục tiến hành cập nhật lại giá trị cho cả 2 mô hình đã có – mô hình H và mô hình M – thông qua việc tạo mới, di chuyển và xóa các từ mã phù hợp theo từng yêu cầu nhất định.