Trong nghiên cứu này, NVLV tính sự sai khác giữa các khung hình bằng phương pháp so sánh biểu đồ màu. Biểu đồ màu được xây dựng trong không gian màu CIELAB do tính đồng nhất, tính đầy đủ và tính duy nhất được đáp
Video khung hình Tách các trTách ưng các đặc khung hình Tính PFC Tính khoảng cách các khung hình liền nhau Phát hiện chuyển cảnh Các đoạn video
ứng [17]. Việc lượng tử hoá được thực hiện với 256 mức màu. Tính khoảng cách giữa các khung hình sử dụng khoảng cách Ơcơlit theo công thức (3.6). NVLV sử dụng hai thuật toán phát hiện chuyển cảnh là thuật toán “cửa sổ trượt” và thuật toán cải tiến “cửa sổ trượt-ngưỡng so sánh” để đối sánh. Các tham số của thuật toán gồm:
• Kích thước nửa cửa sổ - HWS • Ngưỡng quyết định trên - UB • Ngưỡng quyết định dưới - LB
• Ngưỡng so sánh - T (với thuật toán “cửa sổ trượt-ngưỡng so sánh”) Việc thay đổi HWS sẽ ảnh hưởng đến kết quả của thuật toán. HWS nhỏ
thì khối lượng tính toán giảm đi nhưng nếu HWS quá nhỏ thì sẽ làm tăng độ
nhạy về sự biến đổi giữa các khung hình trong đoạn, dẫn đến số lần phát hiện nhầm tăng lên làm giảm precision. Còn nếu HWS quá lớn thì đểđạt được tiêu chuẩn là chuyển cảnh sẽ khó khăn hơn. Do đó, sẽ bỏ sót một số chuyển cảnh
làm recall giảm. NVLV đã tiến hành thử nghiệm và thấy rằng HWS=6 cho
kết quả tốt với hầu hết các loại video.
Thay đổi UB và LB cũng ảnh hưởng đến kết quả thuật toán. Khi giảm LB hoặc tăng UB thì recall giảm xuống nhưng precision lại tăng lên và ngược lại. Điều này cũng dễ hiểu bởi vì khi giảm LB hoặc tăng UB thì tiêu chí để
xác định chuyển cảnh sẽ cao lên. Do đó, tỷ lệ bỏ sót tăng lên dẫn đến recall
giảm. Tuy nhiên, những chuyển cảnh được phát hiện hầu hết là đúng dẫn đến
precision tăng lên. Trong quá trình thử nghiệm, NVLV thấy: khi tăng UB và
giảm LB thì precision tăng nhanh trong khi đó recall giảm không nhiều (hầu hết các trường hợp recall không giảm) do vậy NVLV chọn:
• UB=HWS-1=5 • LB=1
Tức là khi PFC của khung hình hiện thời fc nhỏ hơn LB (PFC=0) và PFC của khung hình liền trước đó fc-1 lớn hơn UB (PFC=HWS=6) thì thuật toán của sổ trượt cho đó là chuyển cảnh đột ngột giữa fc và fc-1.
Như đã đề cập trong phần 3.3.2 (Thuật toán cải tiến), ngưỡng so sánh
được đưa vào nhằm tăng cường độ chính xác của thuật toán (tăng precision) trong khi vẫn không làm bỏ sót cả chuyển cảnh (recall không giảm hoặc giảm rất ít). Do vậy, ngưỡng không được cao quá vì khi đó sẽ làm bỏ sót các chuyển cảnh (recall giảm). Tuy nhiên, cũng không được thấp quá vì khi đó ý nghĩa của ngưỡng sẽ không còn. Trong quá trình thử nghiệm NVLV thấy với việc tính sự sai khác giữa các khung hình theo công thức (3.6) thì ngưỡng so sánh T = 0.05 là phù hợp với đa số video khác nhau. 3.4.4 Kết quả thử nghiệm Hình 3.12 Giao diện hệ thống phát hiện chuyển cảnh Sự sai khác giữa các khung hình liền nhau Lựa chọn thuật toán Đánh giá thuật toán Kết quả phân đoạn Kết quảđúng (đểđối sánh) Lựa chọn các tham số Danh sách các khung hình
Giao diện của hệ thống phát hiện chuyển cảnh mà NVLV xây dựng được thể hiện trong hình 3.12.
Việc thử nghiệm được tiến hành trên cơ sở dữ liệu của TRECVID [36] với các tham sốđược chọn trong phần 3.4.3. Kết quả thử nghiệm như sau:
Bảng 3.1 Kết quả thử nghiệm phân đoạn với một số loại video khác nhau
(1). Thuật toán cửa sổ trượt
(2). Thuật toán cải tiến: Cửa sổ trượt-ngưỡng so sánh
STT Loại video Số khung hình Số chuyển cảnh Thuật toán Phát hiện đúng Bỏ sót Phát hiện nhầm Recall Precision (1) 3 0 2 1.000 0.600 1 Động vật 1301 3 (2) 3 0 0 1.000 1.000 (1) 2 0 1 1.000 0.667 2 Cánh đồng 750 2 (2) 2 0 0 1.000 1.000 (1) 5 0 1 1.000 0.833 3 Trong nhà 2300 5 (2) 5 0 0 1.000 1.000 (1) 2 0 4 1.000 0.333 4 Đồi núi 1050 2 (2) 2 0 0 1.000 1.000 (1) 4 0 4 1.000 0.500 5 Công viên 1100 4 (2) 4 0 0 1.000 1.000 (1) 1 0 0 1.000 1.000 6 Quay từ máy bay 199 1 (2) 1 0 0 1.000 1.000 (1) 2 0 1 1.000 0.667 7 Nấu ăn 1250 2 (2) 2 0 1 1.000 0.667 (1) 1 0 0 1.000 1.000 8 Dưới đáy biển 300 1 (2) 1 0 0 1.000 1.000 (1) 8 0 4 1.000 0.667 9 Phong cảnh 1750 8 (2) 8 0 0 1.000 1.000
Trung bình:
• (1). Thuật toán cửa sổ trượt
o Recall = 1.000
o Precision =0.622
• (2). Thuật toán cải tiến: Cửa sổ trượt-ngưỡng so sánh
o Recall = 1.000
o Precision =0.966
3.4.5 Nhận xét
Tỷ lệ phát hiện nhầm của thuật toán “cửa sổ trượt” cao (precision thấp) là do trong một số trường hợp như đã đề cập trong phần 3.3.2. Ví dụ với video2 (cánh đồng), đây là video không có biến động nhiều, quay cảnh đồng cỏ. Sự biến đổi giữa các khung hình chỉ là dao động của cành lá (hầu như
không biến đổi). Thuật toán “cửa sổ trượt” đã phát hiện nhầm chuyển cảnh giữa hai khung hình rất giống nhau là khung hình 51 và 52 (hình 3.13). Sự sai khác giữa hai khung hình này theo công thức (3.6) chỉ là 0.028. Nó nhỏ hơn ngưỡng so sánh T=0.05. Do đó, thuật toán cải tiến “cửa sổ trượt-ngưỡng so sánh” không cho rằng đây là một chuyển cảnh.
Hình 3.13 Thuật toán cửa sổ trượt phát hiện nhầm là chuyển cảnh
Cả hai thuật toán hoạt động tốt với trường hợp có đèn flash và những trường hợp camera và đối tượng có sự di chuyển nhanh.
Tuy nhiên, trong video7 quay cảnh nấu ăn. Người quay camera là nghiệp dư và quay cận cảnh, sự di chuyển của camera và đối tượng rất nhanh. Cả hai thuật toán đều phát hiện nhầm là chuyển cảnh giữa hai khung hình 479 và
480. Sự chuyển động của đối tượng (cánh tay) quá nhanh và quay cận cảnh. Khi xem bằng mắt cũng rất dễ bị nhầm đây là chuyển cảnh.
Hình 3.14 Cả hai thuật toán đều phát hiện nhầm là chuyển cảnh
Kết luận chương
Trong chương này chúng ta đã tìm hiểu một số phương pháp phân đoạn video. Đây là bước đầu tiên trong hầu hết các hệ thống đánh chỉ mục và tìm kiếm video theo nội dung.
Phân đoạn video tập trung vào giải thuật phân đoạn video với các chuyển cảnh đột ngột. Giải thuật được xây dựng với mục đích tăng cường độ chính xác, giảm thiểu các trường hợp nhận dạng sai hoặc bỏ sót. Đưa ra được giải thuật cải tiến kết hợp việc sử dụng ngưỡng truyền thống để so sánh sự khác nhau giữa hai khung hình liên tiếp và sử dụng cửa sổ trượt để xem xét sự
giống nhau và khác nhau tương đối giữa các khung hình trong cửa sổ nhằm
đưa ra quyết định có phải là chuyển cảnh hay không.
Từ những cơ sở lý thuyết đó đã xây dựng được chương trình phân đoạn thử nghiệm, đánh giá trên một số loại video khác nhau.
Chương sau sẽ đề cập phương pháp tóm tắt video sử dụng kỹ thuật trích chọn khung hình chính. Đây cũng là một phần quan trọng trong việc đánh chỉ
CHƯƠNG 4. TRÍCH CHỌN KHUNG HÌNH CHÍNH TRONG VIDEO
4.1 Đặt vấn đề
Nhu cầu truy cập, tìm kiếm các thông tin thị giác như: video và hình ảnh gia tăng nhanh chóng đã tạo ra các thách thức đối với khoa học: làm sao có thể mô hình hoá, đánh chỉ mục và biểu diễn các dữ liệu thị giác. Đặc biệt đối với cơ sở dữ liệu hình ảnh và video lớn, yêu cầu các thuật toán hiệu quảđể có thể truy cập và hiển thị các thông tin mà người sử dụng mong muốn một cách nhanh chóng.
Việc tóm tắt video mục đích làm giảm sự dư thừa dữ liệu trong video hay nói cách khác thể hiện được video với ít dữ liệu nhất. Thông thường, kết quả của việc tóm tắt video thường là các ảnh tĩnh hoặc động có hoặc không kèm theo âm thanh. Những ảnh đó phải thể hiện được toàn bộ nội dung của video với một lượng dữ liệu nhỏ nhất. Các ảnh tĩnh được sắp xếp theo trình tự
thời gian thể hiện sự tóm tắt video dưới dạng các hình ảnh. Qua những hình
ảnh đó có thể hiểu được nội dung và diễn biến của đoạn video. Việc tóm tắt video sử dụng các ảnh động và âm thanh tương ứng với các thời điểm đó
được gọi là video skimming; chúng giống như các video clip. Cả hai cách tiếp cận trên đều phải mô tảđược các sự kiện quan trọng có trong đoạn video. Với cách tiếp cận video skimming mang đến nhiều thông tin hơn như chuyển
động, âm thanh,... Tuy nhiên, cách tiếp cận sử dụng các ảnh tĩnh có thể tóm tắt nội dung video nhanh chóng hơn và gọn nhẹ hơn, người sử dụng có thể có
được toàn bộ nội dung video một cách nhanh chóng hơn là phải xem một loạt các đoạn video (thậm chí đã tóm tắt). Trong chương này sẽ tập trung nghiên cứu về tóm tắt video sử dụng các ảnh tĩnh lấy ra từđoạn video được gọi là các khung hình chính (key frames). Việc tách các khung hình chính từ video phải
nội dung quan trọng của video trong khi vẫn tránh được những sự dư thừa. Về
mặt lý thuyết, trích chọn các khung hình chính phải dựa trên các thông tin về
ngữ nghĩa như: các đối tượng (người, đối tượng xác định), các hành động hoặc sự kiện (một cuộc họp, một hội nghị,...). Tuy nhiên, việc tách ra những thông tin đó là rất khó khăn. Do vậy, các kỹ thuật trích chọn khung hình chính thường dựa trên các đặc tính cấp thấp của video thường là các thông tin về thị
giác. Bên cạnh khả năng mô tả nội dung video, các khung hình chính hoạt
động như các điểm đánh dấu chỉ rõ những sự kiện chính và cho phép truy cập trực tiếp đến các đoạn video chứa khung hình chính đó. Các khung hình chính cũng có thể dùng để phục vụ cho quá trình đánh chỉ mục và tìm kiếm giống như đối với các ảnh. Trong chương 5 sẽ đề cập việc xây dựng hệ thống tìm kiếm video dựa trên tư tưởng này.
4.2 Một số kỹ thuật trích chọn khung hình chính hiện nay nay
Thông thường các phương pháp coi rằng video đã được phân đoạn thành các đoạn cơ sở (shot) và thuật toán thực hiện trích trọn các khung hình chính trong đoạn cơ sởđó. Có một cách đơn giản là lấy khung hình đầu tiên của mỗi
đoạn cơ sở [22]. Một số cách tiếp cận khác trích chọn khung hình chính sau mỗi một khoảng thời gian xác định trước [24]. Thường thì các khung hình chính được lấy trong các đoạn cơ sở tuy nhiên trong [23] tác giả lấy các khung hình chính sau một khoảng thời gian mà không quan tâm đến biên giới các cảnh. Những cách tiếp cận này không quan tâm đến những thông tin về
thị giác, chúng thường lấy ra một số lượng khung hình chính cố định trong mỗi một đoạn cơ sở. Zhonghua và các cộng sự [25] chỉ sử dụng một khung hình chính để biểu diễn cho một đoạn cơ sở. Khung hình chính được chọn nhờ thuật toán: tất cả các khung hình được tách ra thành hai phần đối tượng và nền. Khung hình có tỉ số giữa đối tượng và nền lớn nhất sẽ được chọn là khung hình chính của đoạn, bởi vì nó được cho rằng khung hình đó chứa
thông tin nhiều nhất vềđoạn đó. Một số cách tiếp cận khác cố gắng nhóm các khung hình chính tương tự nhau (trong mỗi đoạn cơ sở hoặc toàn bộ video) vào thành các nhóm.
Với cách tiếp cận trích chọn khung hình chính động (dynamics) cần dựa vào các thông tin thị giác, vấn đề là lấy và sử dụng các thông tin đó như thế
nào. Một vài cách tiếp cận tính toán sự khác nhau giữa các khung hình (không cần nhất thiết phải liền kề nhau) dựa vào: biểu đồ màu, chuyển động hoặc các thông tin thị giác khác. Khung hình chính được lựa chọn bằng việc phân tích các thông số trên. Zhao và các cộng sự [26] đã phát triển một phương pháp
đơn giản để trích chọn khung hình chính gọi là Simplified Breakpoints. Một khung hình được lựa chọn là khung hình chính nếu biểu đồ màu của nó sai khác với biểu đồ màu của khung hình trước đó vượt quá một ngưỡng xác định trước. Khi số lượng các các khung hình được lựa chọn đạt đến số lượng của các khung hình chính trên một đoạn cơ sở quá quá trình đó dừng lại. Hanjalic và các cộng sự [27] tính toán sự khác nhau giữa các khung hình để xây dựng nên đường cong miêu tả quá trình “phát triển nội dung”. Han và các cộng sự
[28] đưa ra một cách tiếp cận rất đơn giản: các tác giả xây dựng đường cong tích luỹ sự sai khác giữa các khung hình liền nhau, việc lựa chọn khung hình chính được thực hiện bằng cách lấy mẫu đều trên trục sai khác (trục tung) kết quả các khung hình chính được chọn một cách thích nghi trên trục thời gian (trục hoành).
Những cách tiếp cận dựa trên video nén cũng đang được phát triển mạnh do có thể dễ dàng và nhanh chóng lấy được các thông tin qua việc phân tích chuyển động. Nara và các cộng sự [29] đề xuất mạng nơ-ron nhân tạo sử dụng
độ lớn của chuyển động được lấy ra từ video nén theo chuẩn MPEG. Một hệ
thống mờ phân loại độ lớn của chuyển động thành năm loại và những khung hình có độ lớn cao sẽđược chọn làm khung hình chính. Calic [16] lấy các đặc trưng từ các macro-blocks của video nén MPEG để tính sự sai khác giữa các
khung hình. Thuật toán trích chọn khung hình chính được dựa trên việc khảo sát đường bao của đường sai khác giữa các khung hình.
4.3 Trích chọn khung hình chính bằng việc khảo sát đường sai khác tích luỹ đường sai khác tích luỹ
4.3.1 Đặt vấn đề
Đường sai khác tích luỹ được xây dựng bằng cách tính sự sai khác giữa các khung hình liền nhau và sau đó cộng dồn lại. Do vậy đường sai khác tích luỹ là đường cong tăng đơn điệu. Dựa vào sự quan sát đường cong này có thể
nhận biết được quá trình thay đổi của các khung hình. Những đoạn có độ dốc lớn là những đoạn mà tại đó có sự biến đổi lớn giữa các các khung hình và ngược lại những đoạn có độ dốc nhỏ thì tại đó các khung hình ít có sự biến
đổi.
Hình 4.1 Đường cong sai khác tích luỹ
4.3.2 Xây dựng được sai khác tích luỹ
Để xây dựng được đường cong sai khác tích luỹ việc đầu tiên là phải tính
được sự khác nhau giữa hai khung hình. Các cách tiếp cận trong việc tính sự
khác nhau giữa hai khung hình đã được đề cập chi tiết trong chương 3 phần 3.2. Trong phần này, NVLV sử dụng phương pháp tính sự khác nhau giữa hai khung hình dựa vào thuật toán so sánh biểu đồ màu trong không gian màu
Khung hình d
CIELAB sử dụng khoảng cách Ơcơlit. Sự khác nhau giữa hai khung hình i và i+1: ( ) ∑ = + − = + n j i i j H j H i i D 1 2 1( ) ) ( ) 1 , ( (4.1) Trong đó:
• Hi và Hi+1 là biểu đồ màu của hai khung hình thứ i và i+1 trong không gian màu CIELAB.
• n là số màu lượng tử hoá. n được chọn thử nghiệm bằng 256
Sau khi tính toán được sự khác nhau giữa các khung hình liền kề, việc xây dựng đường cong sai khác tích luỹđơn giản chỉ là cộng dồn các giá trị sai khác đó lại.
4.3.3 Thuật toán trích chọn khung hình chính
Khi xem xét đường sai khác tích luỹ ta có thể biết được sự thay đổi về
nội dung qua các khung hình trong toàn bộđoạn video. Các chỗ có độ dốc lớn chỉ ra rằng có những sự thay đổi đáng kể trong video có thể do: một vật chuyển động, sự di chuyển của camera. Việc xác định các điểm có độ cong lớn trên đường sai khác tích luỹ có thể được sử dụng trong việc xác định khung hình nào là khung hình chính trong đoạn video. Khung hình chính
được chọn là khung hình nằm chính giữa hai điểm có độ cong lớn liên tiếp [14]. Để tìm các điểm có độ cong lớn ta sử dụng thuật toán được đưa ra bởi Chetverikov và các cộng sự [30]. Thuật toán được phát triển để phân tích các