nghiên cứu về các thuật toán xác định ngưỡng ứng dụng trong phân đoạn ảnh

15 2.9K 4
nghiên cứu về các thuật toán xác định ngưỡng ứng dụng trong phân đoạn ảnh

Đ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

Ai mún có thêm code thì gửi mail cho mình nhé: ledinhchung.mta@gmail.com

Mc Lc M U X lý nh l mt trong nhng lnh vc chớnh v quan trng ca cụng ngh thụng tin v cú ng dng cho rt nhiu nghnh khỏc. Do ú, õy l mt lnh vc ang c quan tõm nghiờn cu v phỏt trin. mụ hc x lý nh cng c a vo ging dy tt c cỏc trng, kho o to cụng ngh thụng tin v nhiu ngnh k thut khỏc. Xử lý ảnh bao gồm các bớc: thu nhận ảnh, tiền xử lý, phân đoạn ảnh, biểu diễn và giải thích, nhận dạng và mô tả (tuy nhiên không phải ứng dụng xử lý ảnh nào cũng phải có đầy đủ tất cả các bớc trên). Trong các bớc đó, bớc phân đoạn ảnh là bớc ht sc quan trọng v cũng khó khăn. Mặt khác, có nhiều ứng dụng quan trọng cần đến kỹ thuật phân đoạn: ảnh màu hoặc đa mức xám thì cần phải phân ngỡng; 1 muốn nhận dạng đợc các đối tợng thì trớc hết cần phải phân ảnh thành các vùng khác nhau chứa các đối tợng trong ảnh. Hiện nay, đã có nhiều kỹ thuật phân đoạn ảnh đợc đa ra. Trong phm vi ỏn ca mỡnh, em tỡm hiu nghiờn cu v cỏc thut toỏn xỏc nh ngng ng dng trong phõn on nh. Ni dung chớnh: 1.S lc v lý thuyt phõn on nh. 2.Cỏc thut toỏn phỏt hin ngng. PHN NI DUNG 1.S lc v lý thuyt phõn on nh. phõn tớch cỏc i tng trong nh, chỳng ta cn phi phõn bit c cỏc i tng cn quan tõm vi phn cũn li ca nh, hay cũn gi l nn nh. Nhng i tng ny cú th tỡm ra c l nh cỏc k thut phõn on nh, theo ngha l tỏch phn nn ra khi i tng trong nh . Cỏc k thut ph bin nht trong 2 phân đoạn ảnh, đó là kỹ thuật lấy ngưỡng và kỹ thuật dò cạnh, cùng với những phương pháp giúp cải thiện chất lượng của quá trình phân đoạn. Trong phạm vi đồ án của mình em tập trung vào kỹ thuật phân đoạn sử dụng ngưỡng. Kỹ thuật này dựa trên một ý tưởng hết sức đơn giản. Một tham số θ, gọi là ngưỡng độ sáng, sẽ được chọn để áp dụng cho một ảnh a kích thước m theo cách sau, với mỗi điểm ảnh có mức xám f(x,y) ta có: (x, y) ∈ Object ⇔ f(x, y) ≥ ( f(x, y) ≤ ) (1) Hoặc tương tự : (x, y) ∈ Background ⇔ f(x, y) < ( f(x, y) > ) (2) Kết quả của các thuật toán trên đây là sự thay thế các nhãn "đối tượng" (object) hay "nền ảnh" (background) bằng các giá trị logic "1" hoặc "0". Như vậy sau khi phân ngưỡng ta thu được một ảnh nhị phân. Trong đó, những điểm màu trắng thuộc đối tượng và những điểm có màu đen là nền theo công thức( 2), ngược lại theo công thức (1) là , những điểm màu đen thuộc đối tượng và những điểm có màu trằng là nền. Câu hỏi đặt ra trong kỹ thuật lấy ngưỡng khi đó sẽ là: Chúng ta nên chọn ngưỡng θ như thế nào? Mặc dù không có thuật toán chọn ngưỡng vạn năng nào có thể áp dụng cho mọi loại ảnh, qua tìm hiểu em đã tìm hiểu một số phương pháp áp dụng trong kỹ thuật tìm ngưỡng như sau. 3 2. Các thuật toán phát hiện ngưỡng. 2.1 Phương pháp tìm ngưỡng cố định. Ý tưởng của phương pháp này, là chúng ta có thể chọn một ngưỡng độc lập với dữ liệu ảnh thường lấy ở mức là 128, nếu như ảnh có độ tương phản rất cao, các đối tượng quan tâm rất tối còn nền gần như đồng nhất và rất sáng hoặc ngược lại, thì giá trị ngưỡng là 128 thì kết quả cho ra là giá trị ngưỡng rất tốt. Ví dụ: Ảnh gốc Ảnh sau khi phân ngưỡng 2.2 Phương pháp tìm ngưỡng dựa vào lược đồ mức xám Histogram. 2.2.1 Phương pháp lặp. -Ý tưởng:Trước hết lược đồ sẽ được phân đoạn thành hai phần bằng một giá trị ngưỡng khởi động như θ 0 =(Lmax-Lmin)/2, tức là bằng phân nửa thang độ xám động của ảnh(trong đó Lmax: là giá trị mức xám lớn nhất của ảnh,Lmin: là giá trị mức xám nhỏ nhất của ảnh). Sau đó, các trung bình mẫu (m f,0 ) của những điểm ảnh thuộc đối tượng và (m b,0 ) của những điểm ảnh nền sẽ được tính 4 toán. Một giá trị ngưỡng mới θ 1 sẽ được tính kế đó bằng cách lấy giá trị trung bình của hai trung bình mẫu nói trên. Quá trình này cứ thế sẽ được tiếp tục với các ngưỡng mới cho đến khi nào giá trị ngưỡng không thay đổi nữa thì dừng lại -Thuật toán: Bước 1: Khởi tạo mảng Histogram hn; giá trị =(Lmax- Lmin)/2, K=0; Bước 2: Tính giá trị trung bình đối với phần nền và phần đối tượng tương ứng với : M(f,k)= M(b,k)= Bước 3: tính toán giá trị ngưỡng tiếp theo hay tiếp theo bằng công thức tính trung bình cộng của trung bình nền và đối tượng. Bước 4: Thuật toán dường khi: θk ≈ θk-1 Nếu không : k = k +1, quay lại bước 2. //thuat toan nay neu trenh lech wua lon muc xam thi khong tot 2.2.2Phương pháp tam giác. 5 //neu bmax,bmin ma lai khong gan, anh nay nen gian anh truoc -Ý tưởng: Trong hình này, chúng ta có thể quan sát thấy một đường thẳng đã được xây dựng bằng cách nối từ giá trị lớn nhất của lược đồ tại độ sáng b max đến giá trị nhỏ nhất của lược đồ tại độ sáng b min . Với mỗi độ sáng b trong khoảng [b max ,b min ], chúng ta đi tính khoảng cách d từ giá trị lược đồ tại b là h[b] đến đường thẳng đã có. Giá trị b 0 ứng với khoảng cách d lớn nhất sẽ được chọn làm giá trị ngưỡng θ. Kỹ thuật này đặc biệt hiệu quả khi các điểm ảnh thuộc đối tượng tạo nên một đỉnh yếu trong lược đồ ảnh. -Thuật toán: Bước 1: Khởi tạo mảng Histogram hn; tìm giá trị bmax, bmin, hn[bmax], hn[bmin]. Bước 2: Duyệt toàn bộ các mức xám từ bmin đến bmax. Tính khoảng cách tương ứng sau đó xét ngưỡng bằng giá trị mức xám có khoảng cách lớn nhất. for(int i=min+1;i<max;i++) { d=(float)Math.Abs(nx*i-ny*hn[i]- max*nx+hn[max]*ny); if (dmax <d / a) 6 {dmax=d/a; nguong = i; } } 2.2.3 Phương pháp đối xứng nền. -Ý tưởng: Kỹ thuật này dựa trên sự giả định là tồn tại hai đỉnh phân biệt trong lược đồ nằm đối xứng nhau qua đỉnh có giá trị lớn nhất trong phần lược đồ thuộc về các điểm ảnh nền. Đỉnh cực đại maxp tìm được nhờ tiến hành tìm giá trị cực đại trong lược đồ. Sau đó thuật toán sẽ được áp dụng tiếp ở phía không phải là điểm ảnh thuộc đối tượng ứng với giá trị cực đại đó nhằm tìm ra điểm p % như trong phương trình . Trong hình , các điểm ảnh thuộc đối tượng nằm về bên trái của đỉnh nền (tại vị trí 183), điều này có nghĩa là cần tìm kiếm ở bên phải đỉnh đó để xác định được một giá trị ví dụ như trong bài là 95%. Tại giá trị sáng này, 5% số điểm ảnh sẽ ở về phía bên phải (có giá trị sáng lớn hơn) nó. Tình huống này xảy ra tại vị trí 216 . Do 7 tính đối xứng đã giả định ở trên, chúng ta sử dụng độ dịch chuyển về phía trái của điểm cực đại làm giá trị ngưỡng. Giá trị này bằng với độ dịch chuyển về phía phải của điểm cực đại đến nơi p% được tìm thấy. Ngưỡng tìm được 183 - (216 - 183) = 150. Công thức tổng quát cho giá trị này sẽ là: Kỹthuật này dễ dàng điều chỉnh được cho phù hợp với tình huống ảnhcác đối tượng sáng trên một nền trội và tối. Ngoài ra, chúng ta còn có thể sử dụng nó khi đỉnh của đối tượng là trội hơn, và có thể giả sử được là phân bố độ sáng quanh đỉnh đối tượng có tính đối xứng. -Thuật toán: Bước 1: Khởi tạo mảng Histogram hn; tìm giá trị max, hn[max]. Bước 2: Duyệt toàn bộ các mức xám giảm từ 255 đến max. Nếu tại mức xám nào có xác suất xuất hiện trên ảnh là 5% thì dừng lại. for (int i = 255; i >= max; i ) { for (int j = 255; j >= i; j ) tongsodiem += hn[j]; if ((float)tongsodiem / (bm.Width * bm.Height) >=0.05f) 8 {split = i; break;} } nguong = max - (split - max); 2.2.4 Phương pháp tách ngưỡng tự động. -Ý tưởng: Kỹ thuật này nhằm tìm ra ngưỡng một cách tự động dựa vào Histogram theo nguyên lý trong vật lý là vật thể tách làm 2 phần nếu tổng độ lệnh trong từng phần là tối thiểu. //lech trong moi phan Giả sử, ta có ảnh: I ~ kích thước m n G ~ là số mức xám của ảnh kể cả khuyết thiếu t(g) ~ số điểm ảnh có mức xám <= g là mô men quán tính trung bình có mức xám <=g Hàm f: m(g)*(m*n-t(g))- Tìm sao cho: Khi đó . -Thuật toán: Bước 1: Khởi tạo mảng Histogram hn; mảng t, mảng m và mảng f. 9 Bước 2: tìm trong mảng f, giá trị f(g) lớn nhất khi đó ngưỡng =g; for(int i=0;i<f.Length;i++){ if (max < f[i]) {max = f[i]; nguong = i;} } 3.Cài đặt thuật toán. 3.1 Thuật toán tìm ngưỡng cố định. public Bitmap phannguong(Bitmap bm) { Bitmap bmnew = new Bitmap(bm.Width, bm.Height); int gray; for(int i=0;i<bm.Width;i++) { for(int j=0;j<bm.Height;j++) { Color c = bm.GetPixel(i,j); gray = c.R; if (gray < this.nguong) bmnew.SetPixel(i, j, Color.Black); else bmnew.SetPixel(i, j, Color.White); } } 10 [...]... d = (float)Math.Abs(nx * i - ny * hn[i] - max * nx + hn[max] * ny)/a; if (dmax = max; i ) { for (int j = 255; j >= i; j ) { tongsodiem += hn[j]; } if ((float)tongsodiem / (bm.Width * bm.Height) >= 0.05f) { split = i; break; } } nguong = max - (split - max); } 3.5 Thuật toán lấy ngưỡng tự động public void set_cacgiatri() { for (int i = 0; i < bm.Width; i++) { for (int j = 0; j < bm.Height; j++) { Color c = bm.GetPixel(i, j); hn[c.R]++; } } for(int i=0;i . trên). Trong các bớc đó, bớc phân đoạn ảnh là bớc ht sc quan trọng v cũng khó khăn. Mặt khác, có nhiều ứng dụng quan trọng cần đến kỹ thuật phân đoạn: ảnh màu hoặc đa mức xám thì cần phải phân. ngỡng; 1 muốn nhận dạng đợc các đối tợng thì trớc hết cần phải phân ảnh thành các vùng khác nhau chứa các đối tợng trong ảnh. Hiện nay, đã có nhiều kỹ thuật phân đoạn ảnh đợc đa ra. Trong phm vi ỏn ca mỡnh,. i tng trong nh . Cỏc k thut ph bin nht trong 2 phân đoạn ảnh, đó là kỹ thuật lấy ngưỡng và kỹ thuật dò cạnh, cùng với những phương pháp giúp cải thiện chất lượng của quá trình phân đoạn. Trong

Ngày đăng: 29/03/2014, 08:08

Từ khóa liên quan

Mục lục

  • MỞ ĐẦU

  • PHẦN NỘI DUNG

    • 1.Sơ lược về lý thuyết phân đoạn ảnh.

    • 2. Các thuật toán phát hiện ngưỡng.

      • 2.1 Phương pháp tìm ngưỡng cố định.

      • 2.2 Phương pháp tìm ngưỡng dựa vào lược đồ mức xám Histogram.

      • 3.Cài đặt thuật toán.

        • 3.1 Thuật toán tìm ngưỡng cố định.

        • 3.2 Thuật toán lặp.

        • 3.3 Thuật toán tam giác.

        • 3.4 Thuật toán đối xứng nền.

        • 3.5 Thuật toán lấy ngưỡng tự động.

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan