Luận văn : Bài toán xử lí và phân tích để đếm các đối tượng ảnh hai chiều tài liệu, giáo án, bài giảng , luận văn, luận...
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA: TOÁN - TIN HỌC CHUYÊN NGÀNH : PHƯƠNG PHÁP TOÁN TRONG TIN HỌC WUX Luận văn TỐT NGHIỆP ĐỀ TÀI: Giáo Viên Hướng Dẫn : ThS PHẠM THẾ BẢO Giáo Viên Phản Biện : TS NGUYỄN ĐÌNH THÚC Sinh Viên Thực Hiện : NGUYỄN THỊ THANH NHÀN LƯU HỮU THUẬN NIÊN KHOÁ 1998 - 2002 .Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án NHẬN XÉT CỦA GIẢNG VIÊN i Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án LỜI CẢM ƠN Đầu tiên, chúng em xin chân thành cảm ơn thầy hết lịng bảo dạy dỗ chúng em suốt bốn năm học vừa qua Đặc biệt, chúng em xin bày tỏ lòng biết ơn sâu sắc đến thầy Phạm Thế Bảo thầy Hà Văn Thảo hướng dẫn chúng em hoàn thành đề tài Chúng em xin cảm ơn khoa Toán – Tin học, Bộ môn Ứng dụng Tin học thầy cô tạo điều kiện thuận lợi giúp đỡ nhiều trình thực đề tài Đồng thời, chúng em xin cảm ơn khoa Sinh hỗ trợ liệu cho đề tài Cuối xin gởi lời cảm ơn chân thành đến cha mẹ, người thân động viên chúng em đường học vấn ii Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án LỜI MỞ ĐẦU Trong thời đại bùng nổ công nghệ thông tin nay, máy vi tính ngày sử dụng rộng rãi tất lĩnh vực từ nghiên cứu khoa học kỹ thuật đến ứng dụng sống hàng ngày Máy vi tính người cộng hổ trợ đắc lực người Bạn có tin máy tính “nhìn” hay khơng ? Xuất phát từ nhu cầu thực tế, Thị giác máy tính đời phát triển nhanh chóng quan tâm người Sự xuất Thị giác máy tính làm tăng khả ứng dụng máy tính nhiều lĩnh vực như: y tế, giáo dục, kinh tế, giao thông, quân sự,… Đây ngành rộng lớn, liên quan đến việc xử lý hình học để tạo mơ hình giới thực từ ảnh 2D thao tác xử lý, phân tích ảnh nhằm phân lớp nhận biết đếm đối tượng Trong Sinh học, việc nhận biết, phân lớp đếm đối tượng đặc biệt hồng cầu bạch cầu nhằm góp phần vào việc sơ lược chẩn đốn bệnh vấn đề đặt từ lâu Trước đây, công việc chủ yếu thực mắt thường, nhiều thời gian độ xác khơng cao Do đó, mục tiêu hướng tới đề tài ứng dụng Thị giác máy tính để thay người thực thao tác nhằm làm tăng độ xác rút ngắn thời gian thực Trong luận văn này, chúng em tìm hiểu kiến thức liên quan đến thao tác xử lý phân tích ảnh Thị giác máy tính đồng thời ứng dụng vào việc nhận biết, phân lớp đếm hồng cầu, bạch cầu ảnh bitmap Luận văn chia thành phần Đầu tiên, chúng em tìm hiểu cấu trúc ảnh bitmap khái niệm thao tác Thị giác máy tính liên quan đến việc xử lý phân tích ảnh Kế đến, chúng em đề cập đến phương pháp nhận biết, phân lớp đếm đối tượng Và cuối cùng, chúng em đưa hướng giải cụ thể cho việc đếm số lượng hồng cầu, bạch cầu ảnh bitmap iii Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án MỤC LỤC NHẬN XÉT CỦA GIẢNG VIÊN i LỜI CẢM ƠN ii LỜI MỞ ĐẦU iii MỤC LỤC - iv CHƯƠNG : TỔNG QUAN ẢNH - 1 Ảnh Bitmap - 1.1 Cấu trúc ảnh Bitmap 1.1.1 Tiêu đề 1.1.2 Bảng màu - 1.1.3 Dữ liệu hình ảnh - 1.2 Tính toán lưu trữ ảnh 2 Ảnh Bi-level 2.1 Giới thiệu ảnh Bi-level - 2.2 Các khái niệm - 2.2.1 Lân cận pixel 2.2.2 Đường 2.2.3 Vùng đối tượng-Foreground 2.2.4 Sự liên kết - 2.2.5 Vùng liên thông 2.2.6 Nền ảnh(Background) lỗ trống(Hole) - 2.2.7 Bao đóng phần - 2.3 Các số đo vùng - 2.3.1 Diện tích 2.3.2 Chu vi - 2.3.3 Chiều dài 2.3.4 Tâm vùng 2.3.5 Số đo độ tròn(Circularity Measure) - 2.3.6 Công thức xác định số đo dạng hình chữ nhật - 2.4 Một số thao tác đơn giản ảnh Bi-level 2.4.1 Xác định bao đóng - 2.4.2 Xác định trục đối tượng( Principal axis) - 2.4.3 Xác định diện tích hình chữ nhật nhỏ chứa đối tượng 2.4.3.1 Dựa vào phương pháp quay đối tượng - 2.4.3.2 Xây dựng hình chữ nhật nhỏ bao đối tượng - 2.4.4 Mở rộng ( Dilation ) thu hẹp ( Erosion ) vùng đối tượng - 2.4.5 Lọc xương đối tượng (Skeletonization) 2.4.6 Mã hóa theo dạng xích(Chain Code) -10 2.4.6.1 Giới thiệu Chain Code 10 2.4.6.2 Một vài số đo tính từ Chain Code 11 2.4.7 Mã hóa theo đường chạy(Run-Length Coding) -11 Ảnh Grey-Level -13 3.1 Biểu đồ thống kê (Grey-Level histogram) 13 3.1.1 Giới thiệu 13 iv Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án 3.1.2 Các dạng biểu đồ thống kê 13 3.1.2.1 Biểu đồ thống kê đơn giản 13 3.1.2.2 Biểu đồ thống kê thu gọn -13 3.1.3 Một vài giá trị tính từ biểu đồ thống kê -14 3.1.3.1 Giá trị trung bình(Mean) 14 3.1.3.2 Giá trị Median 14 3.1.3.3 Độ lệch chuẩn 14 3.2 Kỹ thuật Threshold 14 3.2.1 Khái niệm 14 3.2.2 Tìm ngưỡng đơn 15 3.2.2.1 Dựa vào giá trị trung bình (Mean) giá trị Median -15 3.2.2.2 Dựa vào dạng biểu đồ 15 3.2.2.3 Phương pháp chọn lặp nhiều lần (Iterative Selection) 15 3.2.2.4 Phương pháp sử dụng số đo độ thích hợp (Correlation) 15 3.2.3 Chọn nhiều ngưỡng (threshold) cho ảnh -16 3.2.3.1 Chia ảnh thành vùng chữ nhật -16 3.2.3.2 Phương pháp khoanh vùng mức độ xám (Region Growing Method) 16 3.2.3.3 Phương pháp chia ảnh-gộp vùng ( Split and Merge Method) 17 3.3 Điều chỉnh ảnh Grey-level 17 3.3.1 Phép biến đổi mức độ xám tuyến tính( Linear Grey-level Transformation) 17 3.3.2 Phép biến đổi tuyến tính phân đoạn( Piecewise Linear Transformation) 18 3.3.3 Thao tác cân biểu đồ thống kê 18 3.4 Cạnh đường thẳng 19 3.4.1 Cạnh 19 3.4.2 Nguyên tắc bản: -19 3.4.2.1 Dựa vào thay giá trị cường độ xám theo chiều ngang dọc -19 3.4.2.2 Dò cạnh theo hướng -20 3.4.2.3 Phương pháp TM 22 3.4.2.4 Phương pháp DG 24 3.4.2.5 Các phương pháp khác 25 3.4.3 Đường 27 3.5 Thao tác hình học 31 3.5.1 Lấy vùng (windowing) -31 3.5.2 Tịnh tiến (translation) 31 3.5.3 Co (scaling) 32 3.5.4 Quay (rotation) 34 3.5.5 Biến dạng (warp) 34 3.6 Điểm nhiễu (Noise) 35 CHƯƠNG 2: NHẬN DẠNG - PHÂN LỚP - ĐẾM ĐỐI TƯỢNG 37 Nhận dạng phân lớp đối tượng -37 1.1 Đặc trưng (Feature) 37 1.2 Phân tích mẫu thống kê -41 1.3 Phương pháp xác suất -44 1.4 Phương pháp so mẫu đối tượng (Template Matching) 49 1.4.1 Đối tượng mẫu 49 1.4.2 So mẫu ảnh Bi-level -49 1.4.2.1 Độ liên kết chuẩn(Normalized Match Index) 49 v Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án 1.4.2.2 Phương pháp -49 1.5 Phương pháp nhận dạng dựa vào cấu trúc (Structural method) 50 1.5.1 Một ví dụ cụ thể -50 1.5.2 Mô tả thành phần quan hệ 50 1.5.2.1 Mô tả thành phần quan hệ chúng theo dạng đồ thị 50 1.5.2.2 Mô tả quan hệ theo cú pháp (Syntatic) -52 1.5.3 Nhận biết thành phần (Identifying Components) 53 1.5.3.1 Dựa vào mã theo dạng xích(Chain Code) 53 1.5.3.2 Dựa vào tính chất dây cung (Chord Property) -55 1.6 Phương pháp bao đóng 56 Đếm đối tượng -59 2.1 Đếm số đối tượng ảnh đơn giản -59 2.2 Đếm số đối tượng ảnh phức tạp -59 2.2.1 Đếm số đối tượng dựa vào bao lồi 60 2.2.2 Đếm số đối tượng dựa vào phương pháp so mẫu -62 2.2.3 Đếm số đối tượng chồng dựa vào phương pháp phân chia đối tượng ( watershed method ) 62 2.3 Phân lớp hạt ảnh 63 CHƯƠNG 3: THUẬT TOÁN ĐẾM SỐ LƯỢNG BẠCH CẦU - HỒNG CẦU VÀ ĐÁNH GIÁ -66 Bài toán -66 Hướng giải 67 2.1 Thuật toán tổng quan 68 2.2 Thuật toán chi tiết 68 2.2.1 Trường hợp 68 2.2.2 Trường hợp 68 2.2.3 Trường hợp 69 Đánh giá thuật toán -69 Mô tả cài đặt -69 Giao diện chương trình ứng dụng -71 Hạn chế hướng phát triển -72 6.1 Hạn chế 72 6.2 Hướng phát triển -72 TÀI LIỆU THAM KHẢO -73 vi Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Bài toán xử lý phân tích để đếm đối tượng ảnh hai chiều CHƯƠNG : TỔNG QUAN ẢNH Ảnh Bitmap 1.1 Cấu trúc ảnh Bitmap Tương tự với loại ảnh khác, tập tin Bitmap (BMP) bao gồm: • Tiêu đề (Header), phần bao gồm: o Tiêu đề tập tin (File header) o Tiêu đề hình ảnh (Bitmap header) • Bảng màu (Color map) • Dữ liệu hình ảnh (Image data ) Hình sau minh họa cấu trúc ảnh Bitmap: File Header (Tiêu đề tập tin) Bitmap Header (Tiêu đề hình ảnh) Color Map (Bảng màu) Image Data (Dữ liệu hình ảnh) ………………… bfType bfSize bfReserved (1) bfReserved (2) bfOffset biSize biWidth biHeight biPlanes biBitCount biCompression biSizeImage biXPelsPerMeter biYPelsPerMeter biClrUsed biClrImportant Hình 1.1: Cấu trúc ảnh bitmap 1.1.1 Tiêu đề Phần tiêu đề bao gồm tiêu đề tập tin tiêu đề hình ảnh + Tiêu đề tập tin gồm thông tin liên quan đến thân tập tin: bfType: vùng dài byte, ln chứa kí tự ‘BM’ để thể tập tin kiểu Bitmap bfSize: vùng dài byte, cho biết kích thước tổng cộng tập tin Bitmap bfReserved1 bfReserved2: vùng, vùng dài byte, vùng chừa trống để dự phòng bfOffset: vùng dài byte, vị trí bắt đầu vùng liệu Trang Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Tà i liệu Há»— trợ ôn táºp com Luáºn văn Lºn án Bài tốn xử lý phân tích để đếm đối tượng ảnh hai chiều + Tiêu đề hình ảnh gồm chi tiết liên quan đến hình ảnh chứa tập tin: biSize: vùng dài byte, cho biết kích thước vùng tiêu đề hình ảnh biWidth: vùng dài byte, cho biết chiều rộng hình biHieght: vùng dài byte, cho biết chiều dài hình biPlanes: vùng dài byte, chứa giá trị biBitCount: vùng dài byte, cho biết số bit để diễn đạt trị số pixel, giá trị 1, 4, 24 biCompression: vùng dài byte, cho biết liệu ảnh có nén hay khơng biSizeImage: vùng dài byte, cho biết kích thước thân ảnh biXPelsPerMeter biYPelsPerMeter: vùng dài byte, cho biết độ phân giải theo chiều ngang dọc biClrUsed: vùng dài byte, cho biết số màu bảng màu biClrImpotant: vùng dài byte, cho biết có màu hình màu quan trọng 1.1.2 Bảng màu Bảng màu giá trị cường độ màu sử dụng ảnh Bảng màu có hay khơng, dài hay ngắn tùy thuộc vào loại ảnh Bitmap 1.1.3 Dữ liệu hình ảnh Pixel lưu trữ theo dịng, từ trái sang phải dòng Những dòng lưu trữ từ lên ảnh 1.2 Tính tốn lưu trữ ảnh Một cảnh vật không gian ba chiều thể dạng ảnh hai chiều máy tính để thao tác Ảnh máy tính lưu trữ dạng số để tính tốn thao tác với Để làm điều này, người ta dùng ảnh raster Ảnh raster giống ma trận số hai chiều, phần tử ma trận tương ứng với pixel ảnh Đề tài này, chúng em sử dụng ảnh Grey-level Vì liệu hình ảnh lưu trữ ma trận hai chiều mà phần tử có giá trị khoảng từ đến 255 ứng với giá trị màu Trang Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Bài toán xử lý phân tích để đếm đối tượng ảnh hai chiều Ảnh Bi-level 2.1 Giới thiệu ảnh Bi-level - Ảnh Bi-level ảnh có cường độ màu, thường đen trắng - Ảnh Bi-level có từ ảnh màu cách nén cường độ màu đến hai cường độ - Ảnh Bi-level sử dụng để dễ dàng phân biệt đối tượng với ảnh Sau đó, đối tượng nhận biết từ hình dạng, kích thước, phương hướng Hình 2.1: Ảnh Bi-level gồm tế bào hồng cầu bạch cầu 2.2 Các khái niệm 2.2.1 Lân cận pixel - Một pixel P dòng i cột j ảnh raster (Kí hiệu: P[i,j]) nằm kề pixel khác theo sơ đồ sau: (i-1,j-1) (i-1,j) (i-1,j+1) (i,j-1) (i,j) (i,j+1) (i+1,j-1) (i+1,j) (i+1,j+1) Trang Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Bài toán xử lý phân tích để đếm đối tượng ảnh hai chiều Đếm đối tượng 2.1 Đếm số đối tượng ảnh đơn giản - Xét ảnh Grey-level bao gồm đối tượng loại, khơng có chồng chất lên nhau, ảnh xem không bị nhiễu Hình 2.1: Ảnh đơn giản - Thao tác đếm số đối tượng ảnh thực đơn giản theo bước sau: + Threshold ảnh để ảnh Bi-level tương ứng, đối tượng phân biệt với màu + Khởi gán biến đếm + Tìm vùng đối tượng, đánh dấu vùng đó, tăng biến đếm lên 1, xố vùng + Bước thứ lặp lại khơng cịn vùng tìm thấy, giá trị biến đếm số đối tượng thuộc ảnh 2.2 Đếm số đối tượng ảnh phức tạp - Xét ảnh có thuộc tính tương tự đối tượng nằm chồng lên Khi đó, việc đếm số đối tượng ảnh phụ thuộc nhiều vào hình dạng đối tượng Do đó, tùy theo trường hợp cụ thể mà ta có cách giải vấn đề khác - Xét ảnh bao gồm đối tượng trịn nằm chồng lên Trang 59 Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Bài toán xử lý phân tích để đếm đối tượng ảnh hai chiều Hình 2.2.a: Ảnh có đối tượng chồng lên - Do hình dạng đối tượng quan trọng, nên thông thường đối tượng nằm biên ảnh thường xố Điều thực theo cách sau: + Duyệt dòng nhất, dòng trái cột trái nhất, cột phải ảnh để tìm pixel đối tượng + Bất kỳ pixel tìm thấy, vùng đối tượng chứa pixel đánh dấu bị xố Hình 2.2.b: Xố đối tượng thuộc biên ảnh - Bây đếm số đối tượng ảnh dựa vào phương pháp sau 2.2.1 Đếm số đối tượng dựa vào bao lồi - Từng vùng đối tượng định vị đánh dấu - Tìm bao lồi vùng, lưu tất vào ảnh ( ảnh SECR – smallest enclosing convex region) Trang 60 Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Bài toán xử lý phân tích để đếm đối tượng ảnh hai chiều Hình 2.2.1.a: Tìm bao lồi đối tượng - Các vùng lõm (concave) xác định cách lấy ảnh bao lồi trừ cho ảnh gốc ban đầu Thao tác trừ có nghĩa pixel đối tượng ảnh trừ pixel ảnh bị trừ Hình 2.2.1.b: Các vùng lõm cịn lại Trang 61 Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Bài toán xử lý phân tích để đếm đối tượng ảnh hai chiều - Tính tỷ số diện tích vùng ảnh ban đầu so với diện tích đối tượng mẫu Những vùng có tỷ số nhỏ đếm đối tượng, vùng có tỷ số lớn đếm sau: Tỷ số diện tích Số vùng lõm Đếm 1-2 1-2 3-4 2-3 1-2 3-4 5-6 3-4 1-6 7-8 2.2.2 Đếm số đối tượng dựa vào phương pháp so mẫu - Đối với đối tượng tròn ví dụ phương pháp so mẫu đối tượng có hiệu - Một mẫu lấy từ ảnh gốc nên mẫu điển hình cho lớp đối tượng xét Trong ảnh xét, đối tượng riêng rẽ xét dựa vào số liệu thống kê (diện tích, chu vi, ) - Mẫu di chuyển đến tất vị trí ảnh liệu, để tìm vùng tương ứng thích hợp (có số liên kết chuẩn lớn 0) Khi tìm vùng tương ứng biến đếm tăng lên, đồng thời vùng đánh dấu xoá - Kết biến đếm số đối tượng ảnh 2.2.3 Đếm số đối tượng chồng dựa vào phương pháp phân chia đối tượng ( watershed method ) Đối với ảnh ví dụ trên, ta đếm số đối tượng dựa vào phương pháp phân chia đối tượng (watershed method), phương pháp thực sau: - Trước hết, xác định khoảng cách ngắn từ pixel đối tượng đến pixel - Xác định vị trí pixel có giá trị lớn K( gọi đỉnh vùng)đánh dấu chúng - Bắt đầu từ pixel này, ta thực việc mở rộng vùng cho vùng khơng liên kết với Tức thực thao tác sau: + Đánh dấu pixel có giá trị K + Đánh dấu pixel thoả điều kiện: • Kề với pixel có giá trị K • Có giá trị K-1 • Không liên kết hai pixel thuộc vùng không liên kết + Giảm K xuống giá trị + Thực bước K=0 Phương pháp phân chia đối tượng áp dụng cho vùng ảnh Chúng ta thu ảnh bao gồm vùng không liên kết với Sau đó, việc đếm số đối tượng vùng trở nên đơn giản Trang 62 Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Bài toán xử lý phân tích để đếm đối tượng ảnh hai chiều Tuy nhiên, vài trường hợp hai đối tượng chồng lên tạo đỉnh, dẫn đến kết khơng xác: số đối tượng đếm 2.3 Phân lớp hạt ảnh Ứng dụng dùng nơng nghiệp Ích lợi tách hạt ngũ cốc Thực tế hạt sạn thường bị trộn lẫn với hạt ngũ cốc cần đếm số hạt ngũ cốc hạt sạn để tìm tỷ lệ chúng Từ giúp ích việc thống kê sau vụ mùa Ảnh hạt ngũ cốc (i) Ảnh hạt ngũ cốc Và hạt sạn (ii) Ảnh hạt ngũ cốc nhiều hạt sạn (iii) Hình 2.3.a: Ảnh minh họa Những hạt sạn thông thường nhỏ so với hạt ngũ cốc, đồng thời hình dạng chúng khác Vì đặc trưng diện tích, chu vi đặc trưng thích hợp để có phân biệt Hình 2.3.a (i) ảnh gồm hạt ngũ cốc mà khơng có hạt sạn Những ảnh có lợi việc tính tốn thống kê thuộc tính hạt ngũ cốc, giúp ta có số thơng tin hữu ích để phân biệt đếm hạt ngũ cốc Khảo sát ảnh 2.3.a (i) để đếm số hạt ngũ cốc Trước hết ta cần đặt ngưỡng cho ảnh Trang 63 Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Bài tốn xử lý phân tích để đếm đối tượng ảnh hai chiều Hình 2.3.b: Ảnh Bi-level ảnh 2.3.a (i) Do chụp ảnh, hạt ngũ cốc tạo bóng ảnh Sự xuất bóng tạo vùng tối ảnh, làm ảnh sau đặt ngưỡng có tượng hai hạt nối dính thành đối tượng Vì tính diện tích đối tượng ảnh để phân biệt đếm diện tích đối tượng xuất hai nhóm phân biệt : + Nhóm có diện tích 800 → 1300 pixel + Nhóm có diện tích 2100 → 2800 pixel Vì đếm số hạt ngũ cốc, đối tượng thuộc nhóm đếm hạt cịn đối tượng thuộc nhóm đếm hạt Nhưng xét đến ảnh có hạt sạn hình 2.3.a (ii) 2.3.a (iii) Sau đặt ngưỡng cho ảnh xuất đối tượng có diện tích thuộc nhóm thực chất có hạt ngũ cốc Vì đối tượng có hạt ngũ cốc, bóng hạt sạn đứng gần tạo thành Vì làm cho việc đếm số hạt ngũ cốc hình có hạt sạn khơng dễ dàng Để đếm hạt ngũ cốc hình có phương pháp sau: Hình 2.3.c: Hình minh họa phương pháp đếm hạt ngũ cốc Trang 64 Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Tà i liệu Há»— trợ ôn táºp com Luáºn văn Lºn án Bài tốn xử lý phân tích để đếm đối tượng ảnh hai chiều Xét ảnh 2.3.a (ii) ảnh gồm hạt ngũ cốc hạt sạn Trước hết ta lọc cạnh ảnh (bằng mặt nạ Sobel chẳng hạn) cho ảnh 2.3.c (i) Việc lọc cạnh có ý nghĩa loại trừ bóng hạt ngũ cốc Sau đặt ngưỡng cho ảnh 2.3.c (i) giá trị Tnew giá trị Tis thông thường thực chương Tnew = Tis+(255-Tis)/4 Việc đặt ngưỡng nhằm tìm cạnh xung quanh hạt nơi có cường độ sáng đậm Ảnh 2.3.c (ii) ảnh sau đặt ngưỡng ảnh 2.3.c (i) Cuối ta dùng ảnh đặt ngưỡng ảnh 2.3.a (ii) ban đầu trừ cho ảnh 2.3.c (ii) Thao tác trừ vị trí pixel đen ảnh 2.3.c (ii) tương ứng điểm trắng ảnh đặt ngưỡng ảnh 2.3.a (ii) Ảnh 2.3.c (iii) kết sau trừ Ảnh 2.3.c (iii) ảnh tách riêng hạt sạn với hạt ngũ cốc Lúc ta dễ dàng đếm hạt ngũ cốc Bảng liệu sau kết đếm hạt ba ảnh 2.3.a Lớp Ảnh 2.3.a (i) Ảnh 2.3.a (ii) Ảnh 2.3.a (iii) Ngũ cốc 52 51 49 Sạn 25 Tỷ lệ(sạn/ngũ cốc) 0.18 0.51 Trang 65 Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Tà i liệu Há»— trợ ôn táºp com Luáºn văn Lºn án Bài tốn xử lý phân tích để đếm đối tượng ảnh hai chiều CHƯƠNG 3: THUẬT TOÁN ĐẾM SỐ LƯỢNG BẠCH CẦU - HỒNG CẦU VÀ ĐÁNH GIÁ Bài tốn • • u cầu tốn: Nhận dạng phân lớp để đếm số Bạch cầu (BC)và Hồng cầu (HC) ảnh bitmap Giới thiệu ảnh: Hồng cầu Bạch cầu Hình 1: Minh hoạ ảnh Bạch cầu Hồng cầu • • Một số đặc điểm đối tượng Hồng cầu Bạch cầu ảnh : - Cả hai loại đối tượng có hình dạng gần giống với hình tròn - Bạch cầu to nhiều so với Hồng cầu - Màu Bạch cầu đậm Hồng cầu màu Hồng cầu đậm so với ảnh - Các đối tượng ảnh dính với chồng chất lên - Bạch cầu có màng bao quanh nhân Phân tích ảnh : - Thuận lợi : Màu sắc Bạch cầu Hồng cầu ảnh khác Trang 66 Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Tà i liệu Há»— trợ ôn táºp com Luáºn văn Lºn án Bài tốn xử lý phân tích để đếm đối tượng ảnh hai chiều - Diện tích Bạch cầu Hồng cầu ảnh khác Các đối tượng có hình dạng trịn Bạch cầu dính với Hồng cầu khơng chồng chất lên dính có biên đối tượng rõ ràng Khó khăn : Ảnh bị nhiễu Các đối tượng dính HC BC , HC HC , BC BC Một số đối tượng biên ảnh phần đối tượng việc chia khung thao tác lấy mẫu máu chụp ảnh Hướng giải Dựa vào số đặc điểm Bạch cầu Hồng Cầu, đưa số hướng giải sau: • Dựa vào đặc trưng màu sắc khác Bạch cầu, Hồng cầu ảnh, dẫn đến giá trị cường độ sáng chúng khác rõ rệt ảnh Greylevel Từ đó, ta chọn giá trị ngưỡng Threshold để lọc ảnh Bi-level có Bạch cầu ảnh Bi-level gồm Bạch Cầu Hồng cầu cách dựa vào Biểu đồ thống kê Trong Biểu đồ thống kê ảnh có hình dạng ba núi Tương tự sau: 14000 12000 Lược đồ thống kê 10000 Số pixel Nền ảnh 8000 Hồng cầu 6000 4000 Bạch cầu 2000 -50 50 100 150 200 250 300 Giá trị cường độ sáng Hình : Minh họa Lược đồ thống kê ảnh Bạch cầu Hồng cầu Trang 67 Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Bài toán xử lý phân tích để đếm đối tượng ảnh hai chiều • • • Do ta chọn giá trị ngưỡng Threshold giá trị cường độ sáng ứng với nơi trũng lược đồ Do Bạch cầu dính với Hồng cầu khơng chồng chất lên dính có biên đối tượng rõ ràng Từ đặc điểm ta tách rời Bạch cầu Hồng cầu chúng dính cách lấy ảnh Bilevel gồm Bạch cầu Hồng cầu trừ cho ảnh Bi-level gồm cạnh đối tượng (ảnh ảnh đặt ngưỡng ảnh lọc cạnh ảnh ban đầu).Thao tác trừ có nghĩa pixel đối tượng ảnh trừ pixel ảnh bị trừ Vì đối tượng ảnh có hình dạng trịn nên ta áp dụng phương pháp bao lồi (trong chương 2)để đếm chúng dính chồng chất lên Để xử lý đối tượng không đạt biên (là đối tượng nhỏ nửa đối tượng thông thường), ta loại bỏ chúng cách xác định diện tích đối tượng so sánh để loại bỏ thực thao tác đếm 2.1 Thuật toán tổng quan Thuật toán tổng quan gồm bước sau: Đọc ảnh Bitmap tìm ảnh Greylevel Tìm ảnh Bi-level có Bạch cầu ảnh Bi-level gồm Bạch cầu Hồng cầu Tách Bạch Cầu Hồng cầu ảnh Bi-level gồm Bạch cầu Hồng cầu Triệt tiêu Bạch cầu ảnh vừa tách Đếm Bạch cầu Hồng cầu ảnh tìm 2.2 Thuật toán chi tiết Tùy theo điều kiện ảnh ta có trường hợp sau : 2.2.1 Trường hợp Trường hợp đối tượng ảnh rời (khơng dính chồng chất lên nhau) gồm bước sau: Đọc ảnh Bitmap để lấy liệu chuyển sang ảnh Greylevel (ảnh ban đầu) Đặt ngưỡng Threshold dựa vào Biểu đồ thống kê để lọc ảnh Bi-level có Bạch cầu ( gọi ảnh 1) ảnh Bi-level gồm Bạch Cầu Hồng cầu ( gọi ảnh 2) Đếm số Bạch cầu ảnh số Bạch cầu Hồng cầu ảnh đồng thời loại bỏ đối tượng không đạt Suy số Hồng cầu 2.2.2 Trường hợp Trường hợp đối tượng ảnh có biên đối tượng rõ ràng (Khi bỏ biên đối tượng chúng rời nhau) Đọc ảnh Bitmap để lấy liệu chuyển sang ảnh Greylevel ( gọi ảnh ban đầu) Trang 68 Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Bài toán xử lý phân tích để đếm đối tượng ảnh hai chiều Đặt ngưỡng Threshold dựa vào Biểu đồ thống kê để lọc ảnh Bi-level có Bạch cầu (gọi ảnh 1) ảnh Bi-level gồm Bạch Cầu Hồng cầu ( gọi ảnh 2) Lọc cạnh ảnh ban đầu đặt ngưỡng Threshold để có ảnh Bi-level gồm cạnh đối tượng ( gọi ảnh 3) Tách Bạch cầu Hồng cầu chúng liên kết cách lấy ảnh trừ ảnh ảnh trừ ảnh Đếm số Bạch cầu ảnh số Bạch cầu Hồng cầu ảnh đồng thời loại bỏ đối tượng không đạt Suy số Hồng cầu 2.2.3 Trường hợp Trong trường hợp gồm bước sau: Đọc ảnh Bitmap để lấy liệu chuyển sang ảnh Greylevel ( gọi ảnh ban đầu) Đặt ngưỡng Threshold dựa vào Biểu đồ thống kê để lọc ảnh Bi-level có Bạch cầu ( gọi ảnh 1) ảnh Bi-level gồm Bạch Cầu Hồng cầu ( gọi ảnh 2) Lọc cạnh ảnh ban đầu đặt ngưỡng Threshold để có ảnh Bi-level gồm cạnh đối tượng ( gọi ảnh 3) Tách Bạch cầu Hồng cầu chúng liên kết cách lấy ảnh trừ ảnh Triệt tiêu Bạch Cầu ảnh Đếm số Bạch cầu ảnh số Hồng cầu ảnh phương pháp bao lồi đồng thời loại bỏ đối tượng không đạt Đánh giá thuật tốn Thời gian thực trung bình: • Thời gian thực trung bình thuật tốn trường hợp : phút 45 giây • Thời gian thực trung bình thuật tốn trường hợp : phút 51 giây • Thời gian thực trung bình thuật tốn trường hợp : phút 37 giây Thuật toán chạy nhanh hay chậm phụ thuộc vào kích thước ảnh mà chủ yếu phụ thuộc vào phức tạp ảnh (ảnh bị nhiểu nhiều hay ít, đối tượng Bạch cầu Hồng cầu nhiều hay ít) Mơ tả cài đặt Chương trình cài đặt thơng qua năm tập tin gồm: BmpImage.java SimpleImage.java Algorithm.java Application.java ExampleFileFilter.java Mỗi tập tin chứa lớp có tên lớp ứng với tên tập tin Các lớp có chức năng: Trang 69 Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Bài tốn xử lý phân tích để đếm đối tượng ảnh hai chiều • Lớp BmpImage : lớp có thành phần liệu ứng với thành phần liệu ảnh Bitmap(tiêu đề, bảng màu liệu) Lớp dùng để giúp cho việc đọc ghi ảnh Bitmap • Lớp SimpleImage : lớp có thành phần liệu chiều rộng, chiều cao ma trận chứa liệu hình ảnh Lớp có phương thức có chức thực thao tác ảnh • Lớp Algorithm : lớp chứa phương thức có chức thực thuật tốn chương trình • Lớp Application : lớp thể phần giao diện chương trình Lớp gọi để chạy chương trình • Lớp ExampleFileFilter : lớp trợ giúp cho việc tìm kiếm tập tin có bmp(ảnh Bitmap) Lớp SimpleImage lớp quan trọng chương trình Lớp gồm phương thức sau: -long[] histogram(int bin_width) : Phương thức có chức tìm giá trị biểu đồ thống kê tuỳ theo độ rộng bin_width truyền vào -void smoothHisto(long[] histo,int width) : Phương thức có chức làm trơn biểu đồ thống kê theo độ rộng width truyền vào -void thresholdImage(int t) : Phương thức có chức đặt ngưỡng Threshold ảnh theo giá trị ngưỡng t truyền vào -void threshIs() : Phương thức có chức đặt ngưỡng Threshold với giá trị ngưỡng tìm thơng qua phương pháp chọn lặp nhiều lần (Iterative Selection) -void thresholdBHC(SimpleImage bc,SimpleImage hc) : Phương thức có chức đặt ngưỡng Threshold cho ảnh bc chứa Bạch cầu ảnh hc chứa Bạch cầu Hồng cầu -void thresholdEgde() : Phương thức có chức đặt ngưỡng cho ảnh lọc cạnh -long area(int value) : Phương thức có chức tính diện tích đối tượng có giá trị value -void minus(SimpleImage z) : Phương thức có chức trừ cho ảnh z ( tức điểm thuộc đối tượng ảnh z ảnh gọi phương thức) -void edgeSobel() : Phương thức có chức lọc cạnh theo mặt nạ Sobel -void delBC(SimpleImage simgBC) : Phương thức có chức triệt tiêu đối tượng Bạch cầu ảnh gọi phương thức thơng qua vị trí Bạch cầu ảnh simgBC truyền vào -int processNoise(int oldVal,int newVal,int iseed,int jseed,long temp) : Phương thức có chức kiểm tra xử lý vùng đối tượng Bạch cầu Hồng cầu -void deleteNoiseHC() : Phương thức có chức xóa tất vùng có diện tích nhỏ Hồng cầu (chúng xem vùng nhiễu ) -void deleteNoiseBC() : Phương thức có chức xóa tất vùng có diện tích nhỏ Bạch cầu (chúng xem nhiễu) -void fillHole() : Phương thức có chức làm đầy lỗ trống bên đối tượng Trang 70 Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Bài tốn xử lý phân tích để đếm đối tượng ảnh hai chiều -long areaCell() : Phương thức có chức tìm diện tích đối tượng mẫu (đối tượng thơng thường)trong ảnh -int countObject() : Phương thức có chức đếm số đối tượng ảnh (khi ảnh có đối tượng rời nhau) -void convexity(int val) : Phương thức có chức tìm bao lồi cho đối tượng ảnh -int indexTable(double fraction, int concavities) : Phương thức có chức bảng mục để xác định số đối tượng vùng, sử dụng phương pháp bao lồi -int countOverlap(SimpleImage bdDN,SimpleImage bdFH ) : Phương thức có chức thực việc đếm đối tượng phương pháp bao lồi Giao diện chương trình ứng dụng Thao tác chuyển sang ảnh Grey-level Thao tác chuyển sang ảnh Bi-level Lọc biên đối tượng Chọn vùng đếm đối tượng Đếm Bạch cầu Đếm đối tượng ảnh Đếm Hồng cầu Trang 71 Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Bài tốn xử lý phân tích để đếm đối tượng ảnh hai chiều Hạn chế hướng phát triển 6.1 Hạn chế Chương trình cịn nhiều hạn chế sau: • Chỉ thực cho ảnh Bạch cầu Hồng cầu thực tế • Do thiếu phương tiện kỹ thuật chuyên mơn nên chưa có nhiều ảnh để kiểm tra tính đắn thuật tốn • Cho kết sai số đối tượng không rõ ràng (về màu sắc, diện tích, hình dạng trịn ) 6.2 Hướng phát triển Nếu tiếp tục mở rộng, chương trình xây dựng thành phần mềm hồn chỉnh đếm xác hơn, nhanh số lượng hồng cầu, bạch cầu mẫu máu; từ đưa kết sơ lược cho việc chẩn đoán bệnh Từ kiến thức Thị Giác Máy Tính, lập trình cho máy tính có khả nhận biết, phân lớp đếm đối tượng khác Có thể kết hợp với logic mờ thuật tốn di truyền để phân lớp đối tượng Trang 72 Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án .Tà i liệu Há»— trợ ôn táºp com Luáºn văn Luáºn án