Kỹ thuật điều khiển & Điện tử<br />
<br />
MỘT GIẢI PHÁP LỌC NHIỄU ẢNH SIÊU ÂM<br />
DÙNG BỘ LỌC NLM THÍCH NGHI<br />
Bồ Quốc Bảo1*, Tống Văn Luyên1, Tạ Chí Hiếu2, Nguyễn Hải Dương2<br />
Tóm tắt: Phương pháp lọc trung bình không cục bộ NLM (Non-Local Mean<br />
Filter) cung cấp một công cụ rất mạnh để khử nhiễu ảnh số. Tuy nhiên, một số tham<br />
số của bộ lọc này phụ thuộc dữ liệu đầu vào (ảnh nhiễu) và cần điều chỉnh thích<br />
nghi. Bài báo này đề xuất một giải pháp khử nhiễu trong ảnh siêu âm dùng bộ lọc<br />
NLM thích nghi (BBA-NLM) dựa trên thuật toán tối ưu bầy dơi nhị phân (BBA-<br />
Binary Bat Algorithm) và chỉ số đánh giá không dùng tham chiếu Q-Metric. Bộ lọc<br />
đề xuất có thể khử nhiễu Gaussian mà không cần ảnh tham chiếu, đồng thời vẫn giữ<br />
được các chi tiết ảnh, cạnh và kết cấu tốt. Chúng tôi cũng thực thi một số mô phỏng<br />
với các ảnh có nhiễu Gaussian với phương sai khác nhau để chứng minh hiệu suất<br />
của phương pháp được đề xuất vượt trội so với các công bố trước đây.<br />
Từ khóa: Ảnh siêu âm; Nhiễu Gaussian; Lọc không cục bộ NLM; Q-Metric; Thuật toán dơi BA.<br />
<br />
1. ĐẶT VẤN ĐỀ<br />
Siêu âm chẩn đoán (US-Ultrasound) thường được ưu tiên hơn các phương pháp chẩn<br />
đoán y tế khác và là kỹ thuật chẩn đoán y học an toàn, được sử dụng rộng rãi, do tính chất<br />
không xâm lấn, chi phí thấp, khả năng tạo ảnh thời gian thực và cải tiến liên tục về chất<br />
lượng ảnh [1].<br />
Nhược điểm lớn nhất của y tế siêu âm là chất lượng ảnh kém, chủ yếu do các loại nhiễu<br />
trong quá trình xử lý và khôi phục ảnh. Nhiễu trong ảnh siêu âm gồm: (i) Nhiễu xung:<br />
nhiễu muối tiêu (salt and pepper); (ii) Nhiễu cộng: nhiễu Gauss trắng (AWGN) và (iii)<br />
Nhiễu nhân: nhiễu đốm (Speckle Noise) [2].<br />
Một trong những sáng kiến quan trọng nhất những năm gần đây trong việc khử nhiễu là<br />
sự ra đời của phương pháp lọc trung bình không cục bộ (NLM: Non-Local Mean Filter)<br />
được Buades và các cộng sự đề xuất [3-5]. NLM là thuật toán khử nhiễu, có giá trị trung<br />
bình của tất cả các pixel trong một vùng xác định được đo bởi sự tương đồng giữa các điểm<br />
ảnh so với điểm ảnh tham chiếu. Cách tiếp cận này dựa trên quan sát rằng các ảnh tự nhiên<br />
thể hiện sự tự tương đồng một cách rõ ràng [6]. So với các bộ lọc thông thường, NLM thể<br />
hiện tính rõ ràng cao hơn trong khi vẫn bảo toàn được các chi tiết tinh xảo của ảnh.<br />
Tuy nhiên, đối với phương pháp NLM tiêu chuẩn, việc tính toán khoảng cách Euclide<br />
giữa các điểm ảnh trong vùng lân cận thường phức tạp làm cho thời gian xử lý chậm;<br />
ngoài ra, các tham số của bộ lọc thường phụ thuộc vào dữ liệu đầu vào và khó lựa chọn<br />
điều chỉnh, việc lựa chọn bộ tham số tối ưu cho bộ lọc này chủ yếu dựa vào kinh nghiệm.<br />
Chính vì vậy, đã có nhiều đề xuất được công bố nhằm khắc phục những hạn chế trên.<br />
Azzabou và cộng sự [7] đề xuất ý tưởng sử dụng phân tích thành phần chính (PCA-<br />
Principal Component Analysis) để giảm thời gian tính toán trong NLM. Abrahim và cộng<br />
sự [8] đề xuất một phiên bản mới của bộ lọc NLM thích nghi cho ảnh siêu âm dựa trên<br />
chức năng tương đồng phụ thuộc vào đặc điểm cụ thể của nhiễu biến dạng trong ảnh siêu<br />
âm. W.Sun và M.Han [9] đề xuất giải pháp thích nghi cửa sổ tìm kiếm để điều chỉnh thông<br />
số bộ lọc NLM. Salmon [10] nghiên cứu ảnh hưởng của hai tham số: cửa sổ tìm kiếm và<br />
trọng số của cửa sổ vá lỗi trung tâm.<br />
Trong thời gian gần đây, các kỹ thuật tối ưu dùng các thuật toán tối ưu có nguồn gốc từ<br />
thiên nhiên như giải thuật di truyền (Genetic Algorithm-GA), kỹ thuật tối ưu bầy đàn<br />
(Particle Swarm Optimization-PSO)... đều được chứng minh là các giải pháp linh hoạt và<br />
tốt hơn so với các kỹ thuật tối ưu truyền thống. L.Y.Hsu và các cộng sự [11] đã đề xuất<br />
<br />
<br />
36 Đ. Q. Bảo, …, N. H. Dương, “Một giải pháp lọc nhiễu ảnh … bộ lọc NLM thích nghi.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
giải pháp TPNLM để lọc nhiễu Gaussian bằng cách kết hợp bộ lọc NLM với thuật toán tối<br />
ưu bầy đàn TPSO. Tuy nhiên, thuật toán BA (Bat Algorithm) thực hiện tối ưu sử dụng trí<br />
tuệ bầy dơi được đề xuất bởi Xin-She Yang [12] và đã được chứng minh là một thuật toán<br />
mạnh mẽ và hiệu quả hơn nhiều so với các thuật toán GA, PSO... [13-15]. Thuật toán<br />
Binary Bat (BBA) [16] được trình bày vào năm 2013 được coi là một trong những công cụ<br />
tối ưu hóa mạnh mẽ nhất, thuật toán này được đề xuất dựa trên thuật toán BA để giải quyết<br />
các bài toán tối ưu khác nhau trong không gian tìm kiếm rời rạc.<br />
Trong nội dung bài báo này, chúng tôi đề xuất một bộ lọc mới, BBA-NLM, bằng cách<br />
kết hợp thuật toán tối ưu BBA với thuật toán NLM để khử nhiễu trong ảnh siêu âm. Bộ lọc<br />
đề xuất có thể khử nhiễu Gaussian mà không cần ảnh tham chiếu, đồng thời vẫn giữ được<br />
các chi tiết, cạnh và kết cấu một cách tốt nhất.<br />
Thuật toán lọc NLM tiêu chuẩn theo mô tả ở tiểu mục 2.1 có bộ trọng số (a, h, d, k) có<br />
thể được lựa chọn tối ưu bằng cách dùng thuật toán thích nghi bầy dơi nhị phân BBA<br />
(Binary Bat Algorithm), trong đó hàm mục tiêu được điều chỉnh theo chỉ số đánh giá<br />
không tham chiếu Q-Metric. Trong số các phương pháp đánh giá hiệu quả khử nhiễu đối<br />
với ảnh y tế nói chung và ảnh siêu âm nói riêng, phương pháp không dùng tham chiếu<br />
(tiểu mục 2.2) có ưu thế nổi trội do các thiết bị y tế cần xử lý ảnh một cách trực tiếp để<br />
người chẩn đoán đưa ra những nhận định chính xác đối với bệnh nhân.<br />
Phần thứ 2 của bài báo trình bày một số kiến thức cơ bản về thuật toán trung bình<br />
không cục bộ NLM, chỉ số đánh giá chất lượng ảnh không tham chiếu và thuật toán bầy<br />
dơi BBA để tìm bộ trọng số tối ưu cho bộ lọc. Kết quả mô phỏng và các phân tích đánh giá<br />
kiểm chứng được trình bày ở mục 3 và cuối cùng các kết luận sẽ được rút ra ở mục 4.<br />
2. LỌC NHIỄU TRONG ẢNH SIÊU ÂM BẰNG CÁCH KẾT HỢP THUẬT TOÁN<br />
NLM VỚI GIẢI THUẬT TỐI ƯU BBA<br />
2.1. Bộ lọc trung bình không cục bộ (NLM: NON-LOCAL MEAN FILTER)<br />
Trong phần này, chúng tôi giới thiệu một cách ngắn gọn về bộ lọc NLM đã được trình<br />
bày trong [3-5].<br />
<br />
Với một ảnh nhiễu rời rạc I và u u( p) p I , giá trị được lọc tại điểm ảnh p dùng<br />
bộ lọc NLM sẽ được tính toán như là một trung bình có trọng số của tất cả các điểm ảnh<br />
trong bức ảnh theo biểu thức:<br />
NLM u ( p) w( p, q)u( q) (1)<br />
qI<br />
<br />
ở đây, trọng số w( p, q) phụ thuộc vào sự tương đồng giữa các lân cận N p và Nq của các<br />
điểm ảnh p và q , thỏa mãn các điều kiện 0 w( p, q) 1 và w( p, q) 1. Các trọng số<br />
q<br />
<br />
w( p, q) thể hiện mức độ tương đồng và được tính toán theo công thức (2) và (3):<br />
Sim( p,q)<br />
1 h2<br />
w( p, q) e (2)<br />
Z( p)<br />
Sim( p,q)<br />
h2<br />
Z( p) e (3)<br />
q<br />
<br />
trong đó, Z( p) là hằng số chuẩn hóa, h là bậc của bộ lọc để điều chỉnh độ phân rã của<br />
hàm mũ, và Sim( p, q) là một khoảng cách Euclidian có trọng số Gaussian của tất cả các<br />
điểm ảnh ở mỗi vùng lân cận:<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số 56, 08 - 2018 37<br />
Kỹ thuật điều khiển & Điện tử<br />
2<br />
Sim( p, q) Ga u( N p ) u( Nq ) (4)<br />
2,a<br />
<br />
với Ga là hàm trọng số Gaussian chuẩn hóa. Ký tự a là giá trị dương xác định chiều rộng<br />
của nhân Gaussian trong cửa sổ vá lỗi. Công thức (4) chỉ ra sự tương đồng giữa hai điểm<br />
ảnh p, q dựa vào sự tương đồng của các vector cường độ mức xám u( N p ) và u( Nq ). N p<br />
thể hiện lân cận của điểm ảnh p là một khối hình vuông có kích thước được xác định<br />
trước tại điểm trung tâm p (cửa sổ lân cận vuông tương đồng), kích thước N p (2d 1)2<br />
và d là số nguyên dương biểu thị tham số độ rộng của cửa sổ vùng lân cận vuông tương<br />
đồng. Định nghĩa của bộ lọc NLM cho rằng mỗi điểm ảnh có thể được tham chiếu đến tất<br />
cả các điểm khác, nhưng vì lý do tính toán thực tế, số điểm ảnh được tính vào trung bình<br />
trọng số có thể được giới hạn trong cửa sổ tìm kiếm Vp , là một cửa sổ tìm kiếm với trung<br />
tâm tại điểm ảnh p và kích thước của Vp là Vp (2k 1)2 , trong đó, k là một số nguyên<br />
dương biểu thị thông số bán kính tìm kiếm của cửa sổ tìm kiếm.<br />
Kết quả lọc của bộ lọc NLM phụ thuộc nhiều vào việc lựa chọn các tham số của nó.<br />
Các tham số chính là độ lệch chuẩn của nhân Gaussian a , bậc của bộ lọc h , độ rộng cửa<br />
sổ vá lỗi (cửa sổ tương đồng) d và độ rộng cửa sổ tìm kiếm k tương ứng. Tham số a để<br />
tính toán độ rộng của nhân Gaussian trong cửa sổ vá lỗi. Các điểm ảnh gần trung tâm của<br />
cửa sổ thì được trao trọng số lớn hơn. Tham số h liên quan đến độ phân rã của hàm mũ.<br />
Khi h rất nhỏ, giá trị khôi phục NLM [ u]( p) sẽ có xu hướng là trọng số trung bình của<br />
một số pixel với một vùng lân cận tương đồng với điểm ảnh p hiện tại dẫn đến việc làm<br />
mịn ảnh yếu (tức là nhiễu nhỏ sẽ bị loại bỏ). Mặt khác, khi h rất lớn, giá trị khôi phục<br />
NLM [ u]( p) sẽ xấp xỉ trung bình các giá trị cường độ của các điểm ảnh trong p dẫn đến<br />
làm mịn ảnh tốt hơn (ảnh sẽ mờ hơn) [17]. Tham số d là kích thước của cửa sổ lân cận<br />
vuông tương đồng. Khi d lớn, việc đánh giá sự tương đồng sẽ mạnh hơn nhưng nhiều lân<br />
cận tương đồng lại không tìm được. Tham số k là bán kính của cửa sổ tìm kiếm. Mặc dù<br />
NLM tuyên bố sử dụng tất cả các điểm ảnh trong ảnh bằng cách lấy trung bình trọng số<br />
của mỗi điểm ảnh, điều này là không hiệu quả nếu các vị trí tương đồng là tương đối gần.<br />
2.2. Chỉ số đánh giá chất lượng ảnh không tham chiếu<br />
Hiệu quả khử nhiễu thường được đánh giá thông qua các chỉ số chất lượng, các chỉ số<br />
này được chia làm 3 loại: tham chiếu đầy đủ (full-reference), tham chiếu rút gọn (reduced-<br />
reference) và không tham chiếu (no-reference). Trong lĩnh vực lọc nhiễu, sai số bình<br />
phương trung bình (MSE: Mean Square Erro) là một phép đo hay được sử dụng để ước<br />
lượng chất lượng ảnh và tối ưu các thông số. Tuy nhiên, MSE phụ thuộc vào ảnh không<br />
chứa nhiễu, nhưng trong hầu hết các ứng dụng thực tế, ảnh tham chiếu đều không có sẵn<br />
[18, 19]. Nói cách khác, MSE (hoặc các chỉ số chất lượng tham chiếu đầy đủ khác) không<br />
phù hợp sử dụng trực tiếp trong các ứng dụng như khử nhiễu, khử bóng mờ, siêu phân giải<br />
và nhiều thuật toán tái tạo ảnh khác.<br />
Một số phương pháp tiếp cận (không tham chiếu) đã được phát triển để giải quyết vấn<br />
đề tối ưu hóa tham số. Tổng hợp xác thực chéo (GCV- Generalized cross-validation) [20,<br />
21] và phương pháp đường cong L [22, 23] đã được sử dụng rộng rãi trong việc lựa chọn<br />
các thông số chuẩn hóa cho các ứng dụng khôi phục khác nhau. Gần đây, các phương pháp<br />
dựa trên ước tính rủi ro không thiên vị của Stein (SURE) đã được đề xuất cho vấn đề khử<br />
nhiễu [24, 25], cung cấp phương tiện cho ước lượng không thiên vị của MSE mà không<br />
<br />
<br />
<br />
38 Đ. Q. Bảo, …, N. H. Dương, “Một giải pháp lọc nhiễu ảnh … bộ lọc NLM thích nghi.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
yêu cầu hình ảnh tham chiếu. Tuy nhiên, ngoài các ưu điểm đã được chứng minh, chúng<br />
vẫn còn một số hạn chế. Ngoài sự phức tạp tính toán, chúng giải quyết vấn đề tối ưu hóa<br />
tham số mà không quan tâm trực tiếp đến nội dung của các ảnh được tái tạo. Thay vào đó,<br />
chúng tính toán hoặc xấp xỉ số lượng như MSE (hoặc chi phí xác thực chéo liên quan), mà<br />
không nhất thiết phải là chỉ số rất tốt về chất lượng ảnh. Một ví dụ cụ thể, phương pháp<br />
Monte-Carlo SURE [25] có thể được sử dụng cho các thuật toán khử nhiễu tùy ý, dựa trên<br />
ý tưởng thăm dò toán tử khử nhiễu với nhiễu cộng và tín hiệu đáp ứng ước lượng MSE.<br />
Cách tiếp cận này cũng chỉ thích hợp khi nhiễu được giả định là Gaussian, và thường đòi<br />
hỏi một ước lượng chính xác về phương sai nhiễu.<br />
Những vấn đề như vậy chính là những gì<br />
mà chỉ số chất lượng Q (Q-Metric: Quality Bắt đầu<br />
Metric) định nghĩa để giải quyết [18, 19].<br />
Q-Metric cung cấp một thước đo định Khởi tạo Qs = 0, n, t<br />
lượng về nội dung ảnh thật sự và phản ứng<br />
hợp lý đối với cả đốm mờ lẫn nhiễu ngẫu Chia ảnh thành M khối kích<br />
thước nxn không trùng nhau<br />
nhiên. Chỉ số này dựa trên sự phân tích giá<br />
trị đặc trưng (SVD: Singular-Value<br />
m=1<br />
Decomposition)) của ma trận ảnh địa<br />
phương và nó không đòi hỏi bất kỳ thông<br />
tin trước về hình ảnh hoặc nhiễu. Xem xét S<br />
m= τ<br />
<br />
Gm gx ( k) gy (k) , k wi (5) Đ S<br />
<br />
m=m+1 Qs = Qs + Qm<br />
<br />
Ở đây [ gx (k), gy (k)] thể hiện gradient Qs = Qs/M<br />
<br />
của ảnh tại điểm ( xk , yk ). Hướng chi phối<br />
Kết thúc<br />
của cửa sổ cục bộ có thể được tính toán<br />
bằng cách tính SVD của Gm được chỉ ra ở Hình 1. Lưu đồ thuật toán tính Q matric.<br />
công thức (6).<br />
s 0 <br />
Gm =ASBT A 1 [b1 b 2 ]T (6)<br />
0 s 2 <br />
Trong đó, A và B là hai ma trận vuông trực giao, ma trận S chứa các giá trị suy biến<br />
và thông tin cường độ của ảnh đã cho. Các giá trị suy biến s1 và s2 thể hiện năng lượng<br />
của hướng vector chi phối b1 và hướng vector vuông góc với nó b2 .<br />
Hệ số gắn kết nội dung khối ảnh được định nghĩa theo biểu thức:<br />
s s<br />
Rm 1 2 (7)<br />
s1 s2<br />
Như đã đề cập, s1 và s2 đại diện cho năng lượng ở hướng chi phối và hướng vuông góc.<br />
Vì vậy, về cơ bản hệ số gắn kết Rm đo kích thước liên hệ tương đối giữa chúng. Trong<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số 56, 08 - 2018 39<br />
Kỹ thuật điều khiển & Điện tử<br />
<br />
một cửa sổ vá lỗi, hệ số gắn kết Rm gần như tỷ lệ nghịch với phương sai nhiễu cục bộ 2<br />
khi s1 s2 (bất cứ khi nào cửa sổ vá lỗi cơ bản là không đẳng hướng). Khi một vùng<br />
không có nhiễu với cấu trúc hình học mạnh mẽ (sửa biên và s1 lớn hơn nhiều lần s2 ), Rm<br />
gần với 1. Mặt khác, khi nhiễu trắng được cộng thêm, kết quả sẽ giảm đi, điều này cho<br />
thấy vùng đã trở nên ít cấu trúc. Để cải thiện tỷ lệ s1 , chỉ số Qm đáng được sử dụng khi<br />
cửa sổ vá lỗi có chứa một hướng chủ đạo. Chúng ta có thể thấy rằng thông thường đối với<br />
các cửa sổ vá lỗi không đẳng hướng, ở đó một hướng chi phối tồn tại, công cụ Qm có thể<br />
phát hiện cả vết mờ lẫn nhiễu ngẫu nhiên. Chỉ số nội dung khối ảnh Qm được hiển thị<br />
trong công thức (8).<br />
s1 s2<br />
Qm s1 (8)<br />
s1 s2<br />
Khi sự gắn kết cục bộ Rm lớn hơn ngưỡng , cửa sổ vá lỗi sẽ được thêm vào Qs , do<br />
đó, Qs sẽ được tính trung bình vào Q . Giá trị lớn nhất của chỉ số Q mang lại kết quả rất<br />
tốt trong một kiểu lọc hoàn toàn không cần giám sát mà không cần truy cập đến một ảnh<br />
tham chiếu. Toàn bộ quy trình tính toán cho Q được mô tả trong lưu đồ hình 1.<br />
2.3. Mô hình lọc nhiễu đề xuất<br />
Mô hình lọc nhiễu đề xuất được trình bày như ở hình 2. Ảnh nhiễu được đưa trực tiếp<br />
vào bộ lọc NLM, nguyên tắc hoạt động của bộ lọc này được trình bày ở phần 2.1. Ảnh sau<br />
khi lọc sẽ được trích một phần đưa về bộ điều chỉnh tham số dựa vào thuật toán tối ưu<br />
BBA và hàm mục tiêu Q-Metric (phần 2.2). Lưu đồ thuật toán của mô hình đề xuất được<br />
thực hiện theo hình 3.<br />
<br />
<br />
<br />
<br />
Hình 2. Mô hình lọc nhiễu dùng bộ lọc NLM kết hợp thuật toán BBA và Q-Metric.<br />
Thuật toán BBA [16] vẫn giữ nguyên cấu trúc và các bước tương tự của thuật toán BA<br />
gốc đã trình bày ở bài báo [12] nhưng sửa đổi một số phương trình để phù hợp với các giải<br />
pháp rời rạc.<br />
Các tham số cần điều chỉnh là độ lệch chuẩn h, kích thước cửa sổ tương đồng d và<br />
<br />
bán kính cửa sổ tìm kiếm k. Vector vị trí tương ứng với mỗi tham số tại i ( xi ) trong<br />
<br />
BBA-NLM bao gồm 3 thành phần, xi (h, d, k).<br />
Trong BBA, không gian tìm kiếm sẽ được biến đối sang mạng lưới nhị phân, ma trận<br />
bầy đàn sẽ lấy giá trị 0 hoặc 1. Để đạt được mục tiêu này, một hàm chuyển đổi V sẽ được<br />
sử dụng:<br />
<br />
<br />
40 Đ. Q. Bảo, …, N. H. Dương, “Một giải pháp lọc nhiễu ảnh … bộ lọc NLM thích nghi.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
2 <br />
V (vik (t )) arctan( vik (t ) (9)<br />
2<br />
<br />
k<br />
( xik (t )1 neá<br />
u H V (vik (t+1)<br />
X (t 1) k<br />
i<br />
(10)<br />
xi (t ) u H V (vik (t+1)<br />
neá<br />
<br />
Xik (t ) đề cập đến vị trí của con dơi<br />
Bắt đầu<br />
thứ i trong không gian tìm kiếm kích<br />
thước k, Inv( Xik (t )) là phần bù và vik (t ) Khởi tạo các tham số k, d, h và<br />
các trọng số ngẫu nhiên<br />
là vận tốc của nó, H là một số đồng nhất<br />
trong (0,1). Xác định hàm mục tiêu Q-Metric<br />
Tìm Fbest theo vector vị trí<br />
Việc xác định bộ véc tơ trọng số tối<br />
ưu để hàm mục tiêu Q-Metric đạt giá trị<br />
cực đại được thực hiện như lưu đồ hình 3. Tạo các tham số mới<br />
Chuyển sang nhị phân theo (9)<br />
Ban đầu thiết lập số vòng lặp k 0, tần số Cập nhật vị trí theo (10)<br />
xung ri 0.5, cường độ Ai 0.5, tần số<br />
Cập nhật trọng số<br />
fi 0, f min , f ax 0,2 , chọn số Tính Fnew<br />
Đ<br />
lượng cá thể dơi là 10 và số vòng lặp cực S<br />
đại kmax 50. Rand Fbest<br />
Đ<br />
3. KẾT QUẢ MÔ PHỎNG Cập nhật Fbest= Fnew và tham số<br />
3.1. Kịch bản mô phỏng<br />
Theo bài báo [5], thuật toán NLM k=k+1<br />
chọn cho mỗi pixel một cấu hình trung<br />
bình khác nhau phù hợp với hình ảnh. Cập nhật ri và Ai<br />
Điều này là do đối với một điểm ảnh nhất S<br />
định i , thuật toán đã tính đến sự giống k