Nghiên cứu kỹ thuật phát hiện cảnh quay và ứng dụng vào tóm tắt nội dung video

69 12 0
Nghiên cứu kỹ thuật phát hiện cảnh quay và ứng dụng vào tóm tắt nội dung video

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI HOÀNG VĂN HIỆP Nghiên cứu kỹ thuật phát cảnh quay ứng dụng vào tóm tắt nội dung video LUẬN VĂN THẠC SĨ KỸ THUẬT MÁY TÍNH VÀ TRUYỀN THƠNG Hà Nội, 2011 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI HOÀNG VĂN HIỆP Nghiên cứu kỹ thuật phát cảnh quay ứng dụng vào tóm tắt nội dung video LUẬN VĂN THẠC SĨ KỸ THUẬT MÁY TÍNH VÀ TRUYỀN THÔNG NGƯỜI HƯỚNG DẪN KHOA HỌC: TS NGUYỄN HỒNG QUANG Hà Nội, 2018 Luận văn Thạc sĩ Khoa học Hoàng Văn Hiệp – KTMT & TT Lời cam đoan Tơi xin cam đoan điều trình bày luận văn hồn tồn trung thực, có sở khoa học không chép từ nguồn từ nguồn tài liệu khác Người cam đoan Luận văn Thạc sĩ Khoa học Hoàng Văn Hiệp – KTMT & TT Mục lục Phần Tổng quan đề tài T 31T 1.1 Đặt vấn đề T 31T 31T 31T 1.2 Các hướng nghiên cứu 11 T 31T 31T T Phần Nội dung 19 T 31T Chương Phân tích tốn lớn tóm tắt nội dung video 19 T T 1.1 T 31T 1.2 T 31T 1.3 T 31T Các điểm khó khăn tốn lớn tóm tắt nội dung video 19 31T T Hướng tiếp cận chung để giải tốn tóm tắt nội dung video 19 31T T Bài toán phát cảnh quay 20 31T T Chương Cơ sở lý thuyết luận văn 22 T T 2.1 Mơ hình hệ thống xử lý ảnh thơng thường 22 T T 2.2 Các giai đoạn xử lý ảnh 23 T T 2.3 Các cấp độ xử lý ảnh 23 T T 2.4 Các lĩnh vực liên quan đến xử lý ảnh 24 T T Chương Xây dựng framework phát cảnh quay 25 T T 3.1 T 31T 3.2 T 31T 3.3 T 31T 3.4 T 31T 3.5 T 31T 3.6 T 31T 3.7 T 31T Chọn key-frame từ video 26 31T T Trích chọn đặc trưng từ key-frames 27 31T T Gom nhóm – gán nhãn key-frames 37 31T T Phát đoạn lặp lặp lại video (cảnh quay) 39 31T T Nhóm “take” “scene” với 42 31T T Các phương pháp đánh giá kết 44 31T T Tạo sản phẩm video tóm tắt cuối từ cảnh quay thu 45 31T T Chương Thực nghiệm phân tích kết 47 T T Luận văn Thạc sĩ Khoa học Hoàng Văn Hiệp – KTMT & TT Phần Kết luận 58 T 31T 3.1 Tổng kết 58 T 31T 3.2 Hướng phát triển 59 T 31T Tri ân 59 T 31T Danh mục tài liệu tham khảo 61 T T Phụ lục 63 T 31T Luận văn Thạc sĩ Khoa học Hoàng Văn Hiệp – KTMT & TT Danh mục ký hiệu từ viết tắt, từ tiếng anh Color moments Các mô-men màu Frame Khung hình video Framework Nền tảng để giải vấn đề Key-frame Các khung hình rút trích từ video LBP Local Binary Pattern Motion Đặc trưng chuyển động Rushes Có tính chất hỗn độn chứa nhiều thông tin dư thừa Rushes video Video chưa biên tập – chứa nhiều thông tin dư thừa SBD Shot Boundary Detection Scene Một cảnh quay phim Scene boundary Ranh giới phân chia cảnh quay Shot Một đoạn video Take Một lần quay cảnh quay Take boundary Ranh giới phân chia lần quay cảnh Luận văn Thạc sĩ Khoa học Hoàng Văn Hiệp – KTMT & TT Danh mục bảng biểu Bảng Kết framework chạy video khác hai trường hợp: U T khơng có đặc trưng motion có đặc trưng motion 54 T U Bảng Kết framework chạy video MRS044500.mpg, so sánh hai phương U T pháp chuẩn hóa vector đặc trưng, đặc trưng motion quantize khoảng góc 55 T U Bảng Kết framework chạy video MRS044500.mpg,so sánh hai phương U T pháp chuẩn hóa vector đặc trưng, đặc trưng motion quantize theo 36 khoảng góc 56 T U Bảng Kết framework chạy video MRS044500.mpg , kết tốt ứng U T với số lượng bin khác đặc trưng chuyển động (motion) 56 T U Luận văn Thạc sĩ Khoa học Hoàng Văn Hiệp – KTMT & TT Danh mục hình ảnh Hình Ví dụ đoạn “rushes video” đầu vào 10 U T T U Hình Ví dụ đoạn video đầu tương ứng Hình 10 U T T U Hình Framework Wailer Bailer (Nguồn [1] ) 14 U T T U Hình Frame work Emilie Dumont (Nguồn: [2]) 16 U T T U Hình Hướng tiếp cận chung giái tốn tóm tắt video 20 U T T U Hình Mơ hình xử lý ảnh thông thường 22 U T T U Hình Các giai đoạn xử lý ảnh 23 U T T U Hình Các cấp độ xử lý ảnh 23 U T T U Hình Các lĩnh vực liên quan xử lý ảnh (nguồn wikipedia) 24 U T T U Hình 10 Framework 26 U T 31T U Hình 11 Mơ hình màu RGB 28 U T 31T U Hình 12 Mơ hình màu HSV 29 U T 31T U Hình 13 Một ví dụ tính tốn LBP 32 U T T U Hình 14 Minh họa việc tính góc 35 U T T U Hình 15 Minh họa thuật toán K-means clustering (Nguồn: wikipedia) 38 U T T U Hình 16 Một ví dụ ma trận trọng số 40 U T T U Hình 17 Giả lệnh phát cảnh quay 41 U T T U Hình 18 Ví dụ đầu vào đầu phát cảnh quay 42 U T T U Hình 19 Minh họa nhóm take scene với 43 U T T U Hình 20 So sánh kết thực nghiệm hai trường hợp có khơng có đặc U T trưng motion 48 31T U Hình 21 Minh họa chia lưới rút trích đặc trưng từ ảnh 48 U T T U Luận văn Thạc sĩ Khoa học Hoàng Văn Hiệp – KTMT & TT Hình 22 Hình ảnh phân file đặc trưng color moments, dòng vector U T đặc trưng, cột số chiều vector đặc trưng, cột giá trị moment cấp 1, 2, kênh màu HSV 49 T U Hình 23 Hình ảnh phần file đặc trưng: lbp, dòng vector đặc trưng, U T cột số chiều vector đặc trưng 49 T U Hình 24 Hình ảnh phần file đặc trưng motion (histogram góc): U T dịng vector đặc trưng, cột số chiều 50 T U Hình 25 Hình ảnh minh họa phần video đầu vào: MRS044500.mpg, phía bên U T trái số lần quay khác cảnh quay đầu tiên, phía bên phải số lần quay khác cảnh quay thứ 51 T U Hình 26 Hình ảnh cluster sau chạy K-means với K = 200 video U T MRS044500.pmg, số phía thứ tự frame video 51 T U Hình 27 Hình ảnh cluster khác video MRS044500.mpg 52 U T T U Hình 28 Hình ảnh cluster khác video MRS044500.mpg, thấy U T frame loại gom chung vào cluster 52 T U Hình 29 Hình ảnh phần ma trận trọng số 53 U T T U Hình 30 Hình ảnh trực quan cặp chuỗi tương tự video 53 U T T U Hình 31 Kết framework chạy video MRS044500.mpg,đồ thị phản ánh thay U T đổi hiệu thay đổi số lượng bin đặc trưng chuyển động (motion) 57 T U Luận văn Thạc sĩ Khoa học Hoàng Văn Hiệp – KTMT & TT Nghiên cứu kỹ thuật phát cảnh quay ứng dụng vào tóm tắt nội dung video Phần Tổng quan đề tài 1.1 Đặt vấn đề Trước phát triển mạnh công nghệ số ngày nay, với bùng nổ mạng xã hội vài năm gần Nhu cầu chia sẻ thông tin người dùng ngày đa dạng, đặc biệt nhu cầu chia sẻ, truy cập, tìm kiếm liệu đa phương tiện bao gồm âm thanh, hình ảnh, video… Do đó, xu hướng tập trung vào nghiên cứu phát triển, xây dựng ứng dụng dựa nội dung liệu đa phương tiện không đơn dựa vào thông tin dạng văn người dùng gán cho liệu đa phương tiện trước Tóm tắt liệu đa phương tiện mà cụ thể tóm tắt nội dung video dựa nội dung chúng toán nghiên cứu phát triển mạnh mẽ Tóm tắt nội dung video thực tế toán lớn, tùy thuộc vào ứng dụng cụ thể có chiến lược khác Ví dụ tóm tắt nội dung video để phục vụ cho việc lưu trữ áp dụng phương pháp khác với việc tóm để phục vụ mục đích hiển thị hay tìm kiếm Trong cơng nghệ sản xuất phim ảnh, lượng lớn liệu video ghi hình lưu trữ, liệu video dạng hỗn độn: bên cạnh thơng tin quan trọng cịn chứa nhiều thông tin dư thừa (gọi “rushes video”) Sau biên tập phần nhỏ liệu được ghi hình đưa làm sản phẩm cuối Lý cảnh quay thường quay quay lại nhiều lần nguyên nhân khác nhau: lỗi diễn xuất diễn viên, yêu cầu đạo diễn, điều kiện ngoại cảnh hay tình bất thường Điều dẫn đến người dùng (người biên tập videos) phải đối mặt với “rushes video” nhiều thời gian công sức để biên tập sản phẩm cuối Việc lưu trữ video chưa biên tập chiếm nhiều dung lượng nhớ Bên cạnh việc truy cập tìm kiếm thông tin Luận văn Thạc sĩ Khoa học Hoàng Văn Hiệp – KTMT & TT Giai đoạn Tìm chuỗi lặp lặp lại – phát cảnh quay Hình 29 Hình ảnh phần ma trận trọng số Hình 30 Hình ảnh trực quan cặp chuỗi tương tự video Giai đoạn Nhóm take scene với Đến giai đoạn tiến hành kiểm thử so sánh kết cuối hai trường hợp hình 15 Bảng hình 26 đưa kết chạy framework video khác tập liệu BBC Rushes 2007 Trong  Video MRS044500: 6000 key-frame  Video MS216210: 7190 key-frame  Video MRS157475: 7700 key-frame  Video MRS025913: 7635 key-frame  Video MRS144760: 8080 key-frame 53 Luận văn Thạc sĩ Khoa học Hoàng Văn Hiệp – KTMT & TT Bảng Kết framework chạy video khác hai trường hợp: khơng có đặc trưng motion có đặc trưng motion Kết trung bình cho thấy việc kết hợp thêm đặc trưng motion giúp cải thiện đáng kể hiệu toán phát cảnh quay, với Scene RI tăng 5% Take RI tăng 3% Tuy nhiên từ bảng kết thấy việc kết hợp thêm đặc trưng motion trường hợp tốt Video MRS157475 ví dụ kết hợp thêm đặc trưng motion vào hiệu lại giảm Sau quan sát video việc hiệu bị giảm hồn tồn lý giải được: video quay trời với điều kiện ngoại cảnh gió to, gió to làm quần áo cảnh liên tục thay đổi bị thổi theo hướng hồn tồn khơng xác định Do đặc trưng motion trường hợp bị nhiễu nhiều chuyển động dẫn đến khơng có tác dụng Các đặc trưng bảng hình 26 chuẩn hóa cách thứ (trừ giá trị trung bình chia cho độ lệch chuẩn) đề cập phần chuẩn hóa kết hợp đặc trưng với chương Việc chuẩn hóa đặc trưng ảnh hưởng nhiều đến kết cuối cùng, bảng tổng hợp, so sánh hiệu framework chuẩn hóa đặc trưng theo hai cách khác nhau: chuẩn hóa cho vector chuẩn hóa cho bin 54 Luận văn Thạc sĩ Khoa học Hoàng Văn Hiệp – KTMT & TT Bảng hình 27 đưa kết chạy framework với video MRS044500.mpg với nhiều giá trị K khác để so sánh phương pháp chuẩn hóa liệu cho vector đặc trưng, kết tốt tô đỏ kết tồi tô vàng, ứng với giá trị K khác Dễ thấy cách chuẩn hóa liệu cho bin cho kết cao nên cách chuẩn hóa chọn để chuẩn hóa cho liệu Đồng thời qua bảng thấy việc kết hợp hai phương pháp chuẩn hóa với khơng đem lại hiệu gì, chứng hiệu thấp so với trường hợp chuẩn hóa cho bin Bảng Kết framework chạy video MRS044500.mpg, so sánh hai phương pháp chuẩn hóa vector đặc trưng, đặc trưng motion quantize khoảng góc 55 Luận văn Thạc sĩ Khoa học Hoàng Văn Hiệp – KTMT & TT Bảng Kết framework chạy video MRS044500.mpg,so sánh hai phương pháp chuẩn hóa vector đặc trưng, đặc trưng motion quantize theo 36 khoảng góc Có thơng số tơi chưa bàn đến số lượng góc sử dụng để xây dựng lược đồ góc cho đặc trưng chuyển động (motion) – việc lựa chọn số bin lược đồ Bảng đồ thị cho thấy ảnh hưởng việc chọn số bin đặc trưng chuyển động ảnh hưởng đến hiệu cuối toán phát cảnh quay CM & LBP & Motion (Chuẩn hóa cho bin) Scene RI 0.73 18 Take RI 0.732 36 72 Scene RI Take RI Scene RI Take RI 0.615 0.717 0.628 0.655 Scene RI 0.654 Take RI 0.762 Bảng Kết framework chạy video MRS044500.mpg , kết tốt ứng với số lượng bin khác đặc trưng chuyển động (motion) 56 Luận văn Thạc sĩ Khoa học Hoàng Văn Hiệp – KTMT & TT 0,9 0,8 0,7 0,6 0,5 Take RI 0,4 Scene RI 0,3 0,2 0,1 18 36 72 Hình 31 Kết framework chạy video MRS044500.mpg,đồ thị phản ánh thay đổi hiệu thay đổi số lượng bin đặc trưng chuyển động (motion) Qua đồ thị ta thấy chọn số lượng bin cho đặc trưng chuyển động tương đối tốt Do bin cho đặc trưng chuyển động dùng để thực nghiệm với video khác Cấu hình máy chạy thử nghiệm framework:  CPU: 24 cores 2.66GHz  RAM: 128GB 57 Luận văn Thạc sĩ Khoa học Hoàng Văn Hiệp – KTMT & TT Phần Kết luận 3.1 Tổng kết Luận văn trình bày cách đầy đủ toán phát cảnh quay ứng dụng tóm tắt nội dung video Phát cảnh quay khâu quan trọng tốn lớn tóm tắt nội dung video, qua việc phát cảnh quay giữ lại cảnh quay cần thiết loại bỏ cảnh quay dư thừa từ giúp rút ngắn nội dung video Tóm tắt video cách tự động không ứng dụng việc giảm dung lượng video cần lưu trữ mà cịn bước tiền xử lý cho phép xử lý video sau như: truy xuất, tìm kiếm thơng tin video theo nội dung Ngoài nhà biên tập phim, tóm tắt nội dung video cách tự động giúp họ giảm thời gian công sức việc biên tập nguồn video “rushes” – video chưa biên tập, chứa nhiều thông tin dư thừa không cần thiết Luận văn đề xuất framework gồm bước để giải tốn phát cảnh quay ứng dụng tóm tắt nội dung video: Chọn key-frame từ video; rút trích đặc trưng; thực gom nhóm; gán nhãn cho key-frame; áp dụng thuật toán Smith-waterman để phát chuỗi lặp lại video; gom nhóm take scene với để tìm ranh giới scene (cảnh quay); cuối độ đo Rand sử dụng để đánh giá kết Điểm luận văn tập trung vào phân tích ảnh hưởng giai đoạn rút trích đặc trưng từ video đến hiệu cuối toán phát cảnh quay, đưa đề xuất kết kết hợp thêm đặc trưng chuyển động (motion) với đặc trưng màu sắc kết cấu ảnh cải thiện kết toán Các kết thực nghiệm framework chạy liệu video chuẩn TRECVID trình bày chương phần chứng minh đề xuất luận văn có sở Framework xây dựng công cụ Matlab PHP với giai đoạn chạy độc lập với Các kết trung gian đầu vào đầu đưa file text trung gian để tiện theo dõi debug kết 58 Luận văn Thạc sĩ Khoa học Hoàng Văn Hiệp – KTMT & TT 3.2 Hướng phát triển Mặc dù có nhiều cố gắng nhiên framework xây dựng số hạn chế như:  Phụ thuộc vào tham số K thuật toán K-means clustering  Kết không tốt với video chứa nhiều chuyển động phụ - chuyển động không liên quan đến nội dung cảnh quay (ví dụ chuyển động gió gây video MRS157475)  Tốc độ rút trích đặc trưng chuyển động cịn chậm Để khắc phục nhược điểm trên, đưa hướng phát triển sau cho đề tài  Áp dụng phương pháp phát biên “shot” video (SBD) để phân đoạn thô video thành đoạn nhỏ Thơng thường scene thường có điểm đánh dấu chuyển cảnh  Áp dụng framework đề xuất cho đoạn nhỏ để tìm “take” đoạn này, chọn “take” đại diện cho đoạn (nếu đoạn có scene) Trường hợp đoạn video có nhiều scene scene lấy take đại diện  Sau tiến hành so sánh take đại diện đoạn với để kiểm tra chúng có scene hay không Tri ân Tôi xin gửi lời cảm ơn tới TS Nguyễn Hồng Quang - Trưởng môn Kỹ thuật máy tính - Viện Cơng nghệ Thơng tin Truyền thông - Đại học Bách khoa Hà Nội nguời tận tình giúp đỡ tạo điều kiện cho tơi hồn thành luận văn Tơi xin gửi lời cảm ơn đến PGS TS Lê Đình Duy, GS Shin’ichi Satoh - Viện nghiên cứu thông tin quốc gia Nhật (NII) người trực tiếp tạo điều kiện giúp đỡ thời gian thực luận văn NII Xin cảm ơn thầy cô giáo Viện Công nghệ Thông tin Truyền thông - Đại học Bách khoa Hà Nội trang bị cho 59 Luận văn Thạc sĩ Khoa học Hoàng Văn Hiệp – KTMT & TT kiến thức tảng để tơi hồn thành luận văn cao học 60 Luận văn Thạc sĩ Khoa học Hoàng Văn Hiệp – KTMT & TT Danh mục tài liệu tham khảo [1] Bailer, W., Lee, F., Thallinger, G.: A distance measure for repeated takes of onescene The Visual Computer: International Journal of Computer Graphics 25 (2008)53-68 [2] Dumont, E., Merialdo, B.: Rushes video summarization and evaluation Multimedia Tools and Applications 48 (2010) 51-68 [3] Wang, F., Ngo, C.W.: Rushes video summarization by object and event understanding In: TVS '07 Proceedings of the international workshop on TRECVIDvideo summarization (2007) 25-29 [4] Rand, W.M.: Objective criteria for the evaluation of clustering methods Journalof the American Statistical Association 66 (1971) 846850 [5] Flickner, M., Sawhney, H.S., Ashley, J., Huang, Q., Dom, B., Gorkani, M.,Hafner, J., Lee, D., Petkovic, D., Steele, D., Yanker, P.: Query by image and video content: The qbic system IEEE Computer 28 (1995) 23-32 [6] Stricker, M.A., Orengo, M.: Similarity of color images In: Proc of SPIE, Storageand Retrieval for Image and Video Databases III Volume 2420 (1995) 381392 [7] Ojala, T., Pietikainen, M., Maenpaa, T.: Multiresolution gray-scale and rotationInvariant texture classification with local binary patterns IEEE Trans on PatternAnalysis and Machine Intelligence 24 (2002) 9719878 [8] Lucas, B.D., Kanade, T.: An iterative image registration technique with an application to stereo vision In: Proceedings of Imaging Understanding Workshop (1981) 121-130 [9] F, S.T., S, W.M.: Identication of common molecular subsequences Journal ofMolecular Biology 147 (1981) 195197 61 Luận văn Thạc sĩ Khoa học Hoàng Văn Hiệp – KTMT & TT [10] W M Rand (1971) "Objective criteria for the evaluation of clustering 9T methods" Journal of the American Statistical Association (American Statistical 31 9T T Association) 66 (336): 846–850 62 Luận văn Thạc sĩ Khoa học Hoàng Văn Hiệp – KTMT & TT Phụ lục Một số đoạn code xây dựng matlab php framework Hàm Tính tốn lược đồ góc opttical flow function ComputeOpticalFlow(ftFilePath, frameLstFilePath, frameLstRoot, runFromPos, runToPos, gridX, gridY, piStep) frameLst = LoadFrameLstFromFile2Mem(frameLstFilePath); ftFileLst = sprintf('%s.lst', ftFilePath); ftFilePath = sprintf('%s_%d', ftFilePath, runFromPos); fp = fopen(ftFileLst, 'a+'); if(fp == -1) fprintf('Cannot open file [%s] to write\n', ftFileLst); return; end fprintf(fp, '%s\n', ftFilePath); fclose(fp); fpFeature = fopen(ftFilePath, 'w'); if(fpFeature == -1) fprintf('Cannot open file [%s] to write\n', ftFilePath); end if(runFromPos == 1) fprintf(fpFeature, '%% optical flow feature 73 bins from -180 to 180 with step 5\n'); end [m n] = size(frameLst); fprintf('Begin compute optical flow feature\n[.'); if runToPos > n-1 runToPos = n-1; end for i = runFromPos:(runToPos-1) filepath1 = frameLst{i}; filepath2 = frameLst{i+1}; filepath1 = sprintf('%s/%s.jpg', frameLstRoot, filepath1); filepath2 = sprintf('%s/%s.jpg', frameLstRoot, filepath2); [vx, vy] = optical_flow(filepath1, filepath2); histogramVector = BuildOpticalFlowHistogramVector(vx, vy, gridX, gridY, piStep); [tmp nCount] = size(histogramVector); fprintf(fpFeature, '%d ', nCount); fprintf(fpFeature, repmat('%d ', 1, nCount), histogramVector); fprintf(fpFeature, '%% %s\n', filepath1); fprintf('.'); end fclose(fpFeature); fprintf('.]Finished compute optical flow feature\n'); end 63 Luận văn Thạc sĩ Khoa học Hoàng Văn Hiệp – KTMT & TT K-mean clustering function VLKmeansClustering(clusteringFilePath, ColumnMatrix, CorrespondingFrameLst, numberOfCluster) [MeanMatrix LabelVector] = vl_kmeans(ColumnMatrix, numberOfCluster); tmp = sprintf('%s_%d', clusteringFilePath, numberOfCluster); fpCluteringLabel = fopen(tmp, 'w'); tmp = sprintf('%s_%d.centers', clusteringFilePath, numberOfCluster); fpClusteringCenter = fopen(tmp, 'w'); fprintf('Begin Clustering file: %s[', tmp); if((fpCluteringLabel == -1) || (fpClusteringCenter == -1)) disp('Cannot open file clustering to write'); return; end [m n] = size(LabelVector); for i = 1:n fprintf(fpCluteringLabel, '%d %% %s\n', LabelVector(i), CorrespondingFrameLst{i}); end MeanMatrix = MeanMatrix'; [m n] = size(MeanMatrix); fprintf(fpClusteringCenter, '%% this file contain clustering center using kmeans\n'); for i = 1:m fprintf(fpClusteringCenter, '%d ', n); for j = 1:n fprintf(fpClusteringCenter, '%f ', MeanMatrix(i, j)); end; fprintf(fpClusteringCenter, '\n'); end; fclose(fpCluteringLabel); fclose(fpClusteringCenter); fprintf(']Finished Cluster file'); end 64 Luận văn Thạc sĩ Khoa học Hoàng Văn Hiệp – KTMT & TT Xây dựng ma trận trọng số function scoringMatrix = BuildScoringMatrix(clusterFilePath) threshold1 = 50; fp = fopen(clusterFilePath, 'r'); if(fp == -1) tmp = sprintf('Cannot open file [%s] to read', clusterFilePath); disp(tmp); return; end index = 1; dataLine = fgetl(fp); while(ischar(dataLine)) clusterLabel = sscanf(dataLine, '%d', [1]); clusterLabelLst(index) = clusterLabel; dataLine = fgetl(fp); index = index + 1; end fclose(fp); [m dimension] = size(clusterLabelLst); fprintf('Dimension = %d\n[', dimension); scoringMatrix = zeros(dimension + 1, dimension + 1); disp(']'); beginTime = clock; tmp = sprintf('Begin compute scoring matrix\n'); disp(tmp); disp('[.'); for i = 2:(dimension + 1) for j = 2:(dimension + 1) if(abs(i-j) > threshold1) vTmp = [0 (scoringMatrix(i - 1, j - 1) + match_cost(clusterLabelLst, i - 1, j - 1)) (scoringMatrix(i, j - 1) + gap_cost()) (scoringMatrix(i - 1, j) + gap_cost())]; scoringMatrix(i, j) = max(vTmp); end end fprintf('%d\n', i); end endTime = clock; tmp = sprintf(']Scoring matrix was build successfully: dimension = %d\n', dimension); disp(tmp); tmp = sprintf('Total time process [in second]: %d', etime(endTime, beginTime)); disp(tmp); end 65 Luận văn Thạc sĩ Khoa học Hoàng Văn Hiệp – KTMT & TT Hiểnn thị trực quan cluster sau chạy K-means

Ngày đăng: 28/02/2021, 00:09