Q trình chuyển đơi từ ảnh màu sang ảnh nhị phân

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu đánh giá kích thước hình học vết nứt trên cấu kiện bê tông cốt thép bằng phương pháp xử lý ảnh (Trang 50)

3.3 Khử nhiễu

Từ kết quả ở Hình 3.4 ta có thể thấy rằng, có rất nhiều thành phần nhiễu tồn tại trên ảnh nhị phân. Do đó trƣớc khi thực hiện các bƣớc xử lý tiếp theo ta cần tiến hành quá trình lọc bớt các thành phần nhiễu. Theo đó một chuỗi các thao tác lọc nhiễu sẽ đƣợc áp dụng trên ảnh nhị phân để khử nhiễu.

Knn-Filter Ảnh nhị phân Area-based filter Clean hole Ảnh đã khử nhiễu Hình 3.5: Quá trình khử nhiễu

Quá trình khử nhiễu đƣợc bắt đầu bằng việc áp dụng bộ lọc kNN - filter đã đƣợc trình bày ở phần trƣớc. Mặc dù kNN - filter thực chất chỉ có thể lọc đƣợc các thành phần nhiễu có kích thƣớc 1-2 pixel trong ảnh. Tuy nhiên, nó cho phép phân tách các vùng liên thông ở trong ảnh.

Ảnh nhiễu Knn-filter

Hình 3.6: Ảnh nhị phân trƣớc và sau khi áp dụng kNN - filter

Nhƣ ở Hình 3.6, ta có thể thấy rằng kNN - filter đã phân tách vùng nhiễu và vùng vết nứt ra thành các vùng liên thông tách biệt nhau. Điều này là tăng độ chính xác của Area - based filter. “Area - based filter”, thực chất là quá trình phân tách các vùng liên thơng trong ảnh (Vùng liên thông là khái niệm dùng để chỉ một vùng liên tục không bị ngắt đoạn) Trong ví dụ ở Hình 3.7 ta có hai vùng liên thơng, vùng lớn chính là vết nứt, còn vùng nhỏ là thành phần nhiễu. Bộ lọc dựa trên diện tích thực hiện theo ngun tắc tính tốn diện tích của từng vùng liên thơng, nếu diện tích của vùng liên thơng nhỏ hơn một giá trị ngƣỡng (ví dụ từ 200 pixel) thì ta xem đó là nhiễu.

Hình 3.7: Ví dụ về vùng liên thông

Hai vùng liên thông

Ảnh gốc Area-based filter

Hình 3.8: Kết quả khử nhiễu dựa trên diện tích (giá trị ngƣỡng 200 pixel) 3.4 Phân loại vết nứt

Ảnh sau khi đƣợc khử nhiễu sẽ đƣợc resize lại ở kích thƣớc là “192x256” pixels, và đƣa vào một mạng neural có kiến trúc nhƣ Hình 3.9 bên dƣới. Mạng neural này bao gồm 192x256 input, 2 lớp ẩn và 1 lớp ngõ ra để tạo ra ba giá trị output (đầu ra) tƣơng ứng với ba trƣờng hợp phân loại: Khơng nứt, nứt đơn và nứt đa.

Hình 3.9: Kiến trúc mạng neural

Quá trình học mạng đƣợc thực hiện theo hƣớng tiếp cận “one vs all”. Theo đó ta sẽ huấn luyện mạng với tập ảnh mẫu gồm 10 ảnh cho mỗi trƣờng hợp: không nứt, nứt đơn và nứt đa. Giá trị ngõ ra tƣơng ứng của mỗi trƣờng hợp phân lớp nhƣ sau:

 [1;0;0] : khơng nứt

Sau q trình học, mạng sẽ có khả năng phân loại ảnh ngõ vào bất kì bằng cách tạo ra xác xuất tƣơng ứng cho mỗi trƣờng hợp ở ngõ ra. Khi đó ta chỉ việc xác định ngõ ra nào có giá trị lớn nhất thì khi đó ảnh ngõ vào sẽ thuộc phân lớp tƣơng ứng. Hình 3.10 cho ta một ví dụ về kết quả dự đốn khi đƣa vào một ảnh khơng nứt. Ta có thể thấy rằng, giá trị lớn nhất nằm ở hàng đầu tiên (0.3017) cũng chính là tƣơng ứng với trƣờng hợp là ảnh không nứt.

Hình 3.10: Kết quả dự đốn với ảnh khơng nứt 3.5 Đo đạc vết nứt

Việc đo đạc chiều dài và chiều rộng của vết nứt sẽ đƣợc thực hiện trên đơn vị là Pixel, sao đó ta sẽ chuyển đổi thành đơn vị đo chiều dài (mm) từ hệ số Scale đƣợc xác định bởi bƣớc Calibration theo công thức:

chieu_dai = chieu_dai_pixel * scale

chieu_rong = chieu_rong_pixel*scale (3.4) Trong đó:

 Chieu_dai, chieu_rong: la gia tri chieu dai va rong cua vet nut o don vi mm

 Chieu_dai_pixel, chieu_rong_pixel: là chiều dài và chiều rộng vết nứt tính trên dơn vị pixel

3.5.1 Đo chiều dài vết nứt

Sau quá trình lọc nhiễu, ta đƣợc ảnh nhị phân chứa vết nứt nhƣ ở Hình 3.11. Ý tƣởng cơ bản để đo chiều dài vết nứt là mảnh hóa vết nứt thành một đƣờng khung có độ dày là 1 pixel. Khi đó chiều dài vết nứt chính là tổng số pixel có giá trị “1” trên đƣờng khung đó.

Hình 3.11: Ảnh nhị phân của vùng vết nứt

Để có thể xác định đƣợc đƣờng khung của vết nứt, ta sẽ co dần các Pixel ở hai vùng biên vết nứt cho đến khi có đƣợc đƣờng khung có độ dày là 1 pixel. Điều này có thể thực hiện đơn giản bằng các sử dụng hàm “bwmorph” của matlab nhƣ sau:

ske_img =bwmorph( subimage,'thin',inf); Trong đó:

- Subimage: ảnh nhị phân chứa vết nứt - Ske_img: ảnh chứa đƣờng khung vết nứt

Hình 3.12: Đƣờng khung của vết nứt

Hình 3.12 cho ta kết quả của đƣờng khung vết nứt (đƣờng màu đỏ), phần màu trắng chính là vùng nứt trên ảnh. Tuy nhiên, thuật tốn của Matlab khơng thực hiện hồn tồn chính xác trong việc xác định đƣờng khung của vết nứt. Luôn tồn tại các đƣờng nhánh giả (nhƣ ví dụ ở Hình 3.13) trong đƣờng khung, vì thế ta cần phải tiến hành lọc bỏ các đƣờng này

Hình 3.13: Đƣờng nhánh giả

Để có thể lọc bỏ các đƣờng nhánh giả, ta chỉ cần tính khoảng cách từ điểm cuối của mỗi nhánh (End Point) đến điểm nhánh (Brand point) gần nhất. Nếu khoảng cách này bé hơn một giá trị ngƣỡng T thì ta loại bỏ nhánh đó.

Hình 3.14: Điểm Brand Point và điểm End Point

Do đặc tính các đƣờng nứt thƣờng lớn hơn 1cm, nên ta chọn ngƣỡng T dựa trên giá trị Scale đã đƣợc tính tốn ở bƣớc Calibration. Hình 3.15 cho ta kết quả sau đƣờng khung sau khi loại bỏ các đƣờng nhánh giả.

Hình 3.15: Lọc nhiễu đƣờng khung

Đƣờng

3.5.2 Đo chiều rộng vết nứt

Lƣu đồ giải thuật tính tốn chiều rộng vết nứt nhƣ sau:

i++; C_pos = skeleton(i); Ảnh chứa vết nứt

Xác định khoảng cách từ các pixel trên cạnh đến C_pos

Xác định vị trí của Pixel C_a có khoảng cách đến C_pos ngắn nhất Tìm giao điểm giữa đƣờng thẳng qua C_a

và C_pos với cạnh còn lại của vết nứt Xác định cạnh vết nứt

Độ rộng vết nứt D(i) tại C_pos là khoảng cách giữa C_a và C_b

Kết thúc?

Chieu_rong= mean(D(:)) Sai

Đúng

Hình 3.16: Lƣu đồ giải thuật tính chiều rộng vết nứt

Để đo chiều rộng vết nứt, đầu tiên trên đƣờng khung vết nứt ta sẽ xác định một điểm bất kì C_pos trên đƣờng khung có đƣợc khi đo chiều dài vết nứt. Từ điểm này ta sẽ tìm một điểm C_a trên hai cạnh biên của vết nứt sao cho khoảng cách đến C_pos là nhỏ nhất. Sau đó ta sẽ viết phƣơng trình đƣờng thẳng qua C_pos và C_a,

sẽ là độ rộng cần đo. Vị trí của các điểm C_a, C_pos và C_b đƣợc mơ tả ở Hình 3.17. Q trình tính tốn sẽ đƣợc lặp lại với tất cả các pixel trên đƣờng khung. Khi đó độ rộng của vết nứt sẽ là giá trị trung bình của tất cả các khoảng cách đo đƣợc

CHƢƠNG 4. THU THẬP DỮ LIỆU, ĐO ĐẠC VÀ ĐÁNH GIÁ VÀ ĐÁNH GIÁ

4.1 Thu thập dữ liệu đo đạc:

Ảnh phải đƣợc chụp trực diện ở một khoảng cách bất kỳ đến bề mặt cấu kiện bê tông và trên bề mặt cấu kiện đã có sẳn vật chuẩn đƣợc đặt gần vết nứt. Ngoài ra, ảnh phải đƣợc chụp đủ sáng, các đƣờng nứt bề mặt cấu kiện đƣợc thể hiện trên ảnh phải sắc nét. Với yêu cầu nhƣ trên, ảnh có thể đƣợc chụp bằng các camera thông dụng hoặc sử dụng camera điện thoại thơng minh.

Vật chuẩn

Hình 4.1: Vật chuẩn

Trong luận văn này, học viên sử dụng camera điện thoại thông minh Xperia Z3v 4G LTE D6708 với thông số kỹ thuật nhƣ sau:

Camera Image Sensor / Cảm biến CMOS

Number of pixels / Số lƣợng điểm ảnh: 20.7 MP cam Optical Zoom / Chế độ phóng to cơ học 1 x

Digital Zoom / Chế độ phóng to kĩ thuật số 8 x Focus / Chế độ lấy nét CD AF

Built-in Flash / Đèn Flash single LED

Camera Extra Functions / Tính năng bổ sung HDR photo, Touch Focus, Macro mode,

Panorama Photo

4.2 Thu thập dữ liệu:

Dữ liệu ảnh thu thập gồm: Ảnh không nứt, ảnh nứt đơn, ảnh nứt đa và ảnh thực nghiệm. Đối với ảnh thực nghiệm, đƣợc thu thập tại cơng trình cầu Thuận Phƣớc - Đà Nẵng và một số ảnh đƣợc tạo bằng phần mềm Autocad. Đối với nhóm ảnh phân lớp (ảnh khơng nứt, ảnh nứt đơn, ảnh nứt đa), học viên thu thập trên cấu kiện dầm mẫu, và mẫu bê tơng hình trụ đổ tại phịng thí nghiệm LASXD-1126.

4.3 Đo đạc vết nứt trên thực nghiệm

Các vết nứt khảo sát, học viên sử dụng các thiết bị đo thông dụng (thƣớc đo bề rộng vết nứt, thƣớc thép, thƣớc dây, …) để xác định thông số vết nứt.

Thƣớc thép Thƣớc dây

4.3.1 Đo bề rộng vết nứt.

Sử dụng thƣớc đo bề rộng vết nứt để đo. Trên một đoạn nứt cần khảo sát, tiến hành đo từ 3 đến 5 vị trí bất kì đại diện cho vùng nứt khảo sát. Số liệu bề rộng vết nứt trên đoạn khảo sát sẻ đƣợc tính trung bình và lấy giá trị trung bình này để so sánh với chƣơng trình. Các vết nứt đột biến, có bề rộng quá lớn hoặc quá nhỏ so với bề rộng vết nứt của đoạn khảo sát sẻ không đƣợc đo đạt.

Hình 4.2: Đo bề rộng vết nứt 4.3.2 Đo chiều dài vết nứt. 4.3.2 Đo chiều dài vết nứt.

Vì đƣờng nứt là tổ hợp các đƣờng cong, để đo chiều dài đƣờng nứt cần phải chia nhỏ đoạn nứt khảo sát thành các đoạn nhỏ sao cho trong mỗi đoạn là đƣờng thẳng. Đo đạc các đoạn nhỏ và tính tổng chiều dài đoạn khảo sát.

4.4 Đánh giá sai số đo

Việc đánh giá sai số đo đạc của phần mềm so với ảnh thực tế đƣợc thực hiện trên hai tập mẫu:

 cad_xx : tập các ảnh vết nứt đƣợc vẽ bằng phần mềm AutoCad

 test_xx : tập các ảnh vết nứt đƣợc thu thập trực tiếp tại hiện trƣờng Hình 4.4 và

Hình 4.5 Minh họa các vết nứt trong tập mẫu thử nghiệm.

Hình 4.4: Ví dụ về vết nứt đƣợc vẽ trên CAD

Hình 4.5: Ví dụ về ảnh vết nứt chụp tại hiện trƣờng

Tập ảnh mẫu đƣợc vẽ trên Cad có độ rộng là 0,1cm và độ dài nhƣ ở bảng Bảng 1. Ƣu điểm của tập ảnh này đó là ta có thể đo chính xác chiều dài và chiều rộng của vết nứt. Khi đó sai số sẽ phản ánh chính xác chất lƣợng của phần mềm đo đạc. Nhƣ số liệu ở Bảng 1, phần mềm cho ra kết quả khá chính xác. Tập mẫu thử nghiệm thứ hai là tập các ảnh mẫu thu thập từ hiện trƣờng. Vì các ảnh mẫu đƣợc thu

thập tại hiện trƣờng bằng camera điện thoại, và đo đạc thủ công bằng thƣớc nên các kết quả đo bị sai lệch (sai số do phƣơng pháp đo) và bị ảnh hƣởng nặng bởi các nhiễu trên ảnh. Và vì thế sai số khi đo đạc ở các mẫu này tăng lên.

Bảng 1: Số liệu đánh giá kết quả đo

Mẫu Đo thực tế Đo trên ảnh Sai số

Rộng(cm) Dài(cm) Rộng(cm) Dài(cm) Rộng (%) Dài (%) cad_01 0.100 49.500 0.098 49.456 2.00 0.09 cad_02 0.100 52.100 0.101 52.118 1.00 0.03 cad_03 0.100 61.200 0.084 60.865 16.00 0.55 cad_04 0.100 51.600 0.101 48.039 1.00 6.90 cad_05 0.100 33.500 0.095 32.303 5.00 3.57 test_01 0.110 22.000 0.124 24.902 12.73 13.19 test_02 0.200 29.000 0.232 27.192 16.00 6.23 test_03 0.200 33.500 0.235 34.626 17.50 3.36 test_04 0.125 33.000 0.112 30.627 10.40 7.19 test_05 0.110 20.000 0.129 21.915 17.27 9.58 test_06 0.100 32.200 0.096 36.124 4.00 12.19 test_07 0.162 39.000 0.134 35.146 17.28 9.88 test_08 0.250 40.100 0.203 35.637 18.80 11.13

Hình 4.6: Nguyên nhân sai số lớn ở mẫu cad_03

Từ Bảng 1, ta thấy sai sỗ mẫu ở hình cad_03 là do ảnh vẽ từ CAD khi in ra bị mờ ở một số vùng trên ảnh nhƣ Hình 4.6. Những vùng này qua bộ phân ngƣỡng sẽ bị mất đi dẫn đến kết quả đo đạc độ rộng ở những điểm này sẽ có

sai số lớn. Đây cũng chính là điểm yếu của giải thuật hiện tại, kết quả đo rất nhạy với nhiễu đặc biệt là đối với các đối tƣợng có kích thƣớc nhỏ nhƣ chiều rộng. Điều này thể hiện ở sai số đo đạc chiều rộng trên tập mẫu chụp thực tế thƣờng lớn hơn so với chiều dài.

CHƢƠNG 5. KẾT LUẬN KIẾN NGHỊ

5.1 Kết luận

Trong luận văn này, học viên đã đƣa ra đƣợc một giải pháp để có thể đo đạc chiều dài, chiều rộng và phân loại các vết nứt xuất hiện trên bề mặt bê tông từ một ảnh chụp hai chiều của vết nứt. Giải pháp này cho phép ngƣời kỹ sƣ có thể tiến hành đo đạc nhanh chóng, chính xác và giảm chi phí lắp đặt dàn giáo khi phải đo đạc các vết nứt nằm ở các vị trí khó tiếp cận.

Ƣu điểm của luận văn là sử dụng một vật tham chiếu có màu sắc và kích thƣớc xác định trƣớc. Sau đó bằng việc áp dụng các giải thuật phân tách đối tƣợng dựa trên màu sắc, ta có thể xác định đƣợc hệ số quy đổi giữa pixel/cm. Điều này cho phép việc đo đạc đƣợc tiếp hành tự do hơn. Bên cạnh đó, khi áp dụng thuật toán Otsu để xác định ngƣỡng nhị phân để phân biệt vết nứt cũng giảm đƣợc việc phải cấu hình các thơng số cho q trình đo đạc.

5.2 Kiến nghị và hƣớng phát triển của đề tài

Mặc dù giải thuật đã đƣợc thử nghiệm và đạt đƣợc các kết quả tƣơng đối khả quan khi đo đạc trên thực tế. Tuy nhiên nó vẫn tồn tại một số điểm yếu nhƣ: khả năng phân tách vùng nứt chịu tác động lớn bởi nhiễu, và độ tƣơng phản màu của vết nứt đối với các vùng xung quanh làm gia tăng sai số đo. Yêu cầu phải dán điểm tham chiếu lên bề mặt vết nứt cần đo cũng phần nào gây khó khăn cho q trình đo đạc.

Do đó hƣớng phát triển tiếp theo của đề tài là nghiên cứu giải thuật tối ƣu hơn để phân tách vết nứt ra khỏi vùng nền điều này giúp cải thiện sai số đo đạc. Bên cạnh đó để có thể ứng dụng giải thuật trên thực tế, ta cũng cần nghiên cứu xây dựng thiết bị đo tích hợp đƣợc hai thành phần: Camera và thiết bị đo khoảng cách. Khi đó ta có thể đo khoảng cách từ camera đến đối tƣợng ngay tại thời điểm chụp, từ đó có thể tính ra đƣợc tỉ lệ quy đổi pixel/cm mà không phải sử dụng vật tham chiếu dán trên bề mặt vết nứt.

TÀI LIỆU THAM KHẢO

[1] Sattar Dorafshan,Marc Maguire,Xiaojun Q, "Automatic Surface Crack Detection in Concrete Structures Using OTSU Thresholding and Morphological Operations," CEE Faculty Publications, no. Civil and Environmental Engineering, p. 1234, 2016.

[2] A. M. A. Z. H. X. F. a. H. L. Talab, "Detection crack in image using Otsu method and multiple filtering inimage processing techniques," Optik, pp. 1-4, 2015.

[3] LAN LI, PAUL CHAN, AND ROBERT L. LYTTON , "Detection of thin cracks on noisy pavement images," TRANSPORTATION RESEARCH RECORD 1311 , pp. 131-135, 1991.

[4] J Kittler, R Marik, M Mirmehdi, M Petrou, J Song , "DETECTION OF DEFECTS IN COLOUR TEXTURE SURFACES," IAPR Workshop on Machine Vision Application, pp. 558-567, 1994.

[5] H. D. Cheng; Jim-Rong Chen; Chris Glazier; and Y. G. Hu, "Novel approach to pavement cracking detection based on fuzzy set theory,"

Journal of Computing in Civil Engineering, vol. 13, no. 4, 1999.

[6] Ikhlas Abdel-Qader, P.E.; Osama Abudayyeh, P.E., M.ASCE; and Michael E. Kelly, "Analysis of Edge-Detection Techniques for Crack Identification in Bridges," Journal of Computing in Civil Engineering,

vol. 17, no. 4, 2003.

[7] Yaxiong Huang; Bugao Xu, "Automatic inspection of pavement cracking distress," Journal of Electronic Imaging, 2006.

detection and analysis for high-grade highway," Electronic Measurement and Instruments, 2007. ICEMI '07. 8th International Conference on. IEEE,2007, 2007.

[9] Qingquan Li ; Xianglong Liu, "Novel approach to pavement image segmentation based on neighboring difference histogram method," Image

and Signal Processing, 2008. CISP '08. Congress on, vol. 2, 2008.

[10] Yongxia Zuo ; Guoqiang Wang ; Chuncheng Zuo, "A Novel Image Segmentation Method of Pavement Surface Cracks Based on Fractal Theory," Computational Intelligence and Security, 2008. CIS '08. International Conference on, 2008.

[11] Hyeong-Gyeong Moon, Jung-Hoon Kim, "Intelligent crack detecting algorithm on the concrete crack image using neural network,"

Proceedings of the 28th ISARC, pp. 1461-1467, 2011.

[12] Takafumi Nishikawa, Junji Yoshida, Toshiyuki Sugiyama, Yozo Fujino, "Concrete Crack Detection by Multiple Sequential Image Filtering,"

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu đánh giá kích thước hình học vết nứt trên cấu kiện bê tông cốt thép bằng phương pháp xử lý ảnh (Trang 50)

Tải bản đầy đủ (PDF)

(95 trang)