Nonlinear Filter
การศึกษาการทำ Nonlinear Filter ใน Image processing
การศึกษาการทำ Nonlinear Filter ใน Image processing
คือ กระบวนการเพื่อเพิ่มความคมชัดของภาพโดยการใช้ภาพจริง (Real image, \(f_r\)) และ ภาพที่ผ่านการกรอง (Filtered image, \(f_f\)) ที่จะมีลักษณะเป็นภาพเบลอ โดยจะเป็น การหักล้างภาพจริงด้วยภาพเบลอ ตามสมการ \(f_s(x,y) = f_r(x,y) - kf_f(x,y)\) โดยที่ k จะเป็นค่าคงที่
ในการศึกษานี้จะทำการเพิ่มสิ่งรบกวนภาพ(noise) ลงไปในภาพจริง โดยการใช้ noise 3 ชนิด ดังนี้
คือ noise ที่มีลักษณะการกระจายตัวแบบ normal distribution ที่เกิดจากแสงไม่ดีหรือ อุณหภูมิขณะถ่ายสูง หรือ การรบกวนจากสัญญาณไฟฟ้า ทำให้ แต่ละจุดบนภาพเกิดสีเพี้ยนไปจากรอบๆ
คือ noise ที่มีลักษณะการกรจายตัวแบบ poisson distribution ที่เกิดจากโฟตอนในเซนเซอร์รับภาพได้รับปริมาณแสงมากกว่าจุดอื่น ทำให้บางจุดบนภาพมีลักษณะต่างจากรอบๆเล็กน้อย
คือ noise ทีมีลักษณะเป็นสีขาวบนพื้นมืด และสีดำบนพื้นสว่าง กระจายตัวอยู่ภายในภาพ เกิดจากความผิดพลาดในการแปลงข้อมูลรูปภาพจาก อะนาล็อกเป็นดิจิตอล
ในการศึกษานี้จะทำ non-linear filter 3 ชนิด ดังนี้
การหาค่ากลางหรือค่ามัธยฐานภายใน รูปภาพที่คลุมด้วยmask ที่สร้างขึ้น แล้วแทนที่จุดๆหนึ่งที่สนใจด้วยค่ากลางนั้น
การหาค่าน้อยที่สุดภายใน รูปภาพที่คลุมด้วยmask ที่สร้างขึ้น แล้วแทนที่จุดๆหนึ่งที่สนใจด้วยค่าที่น้อยที่สุดนั้น
การหาค่ามากที่สุดภายใน รูปภาพที่คลุมด้วยmask ที่สร้างขึ้น แล้วแทนที่จุดๆหนึ่งที่สนใจด้วยค่าที่มากที่สุดนั้น
จากการศึกษา Unsharp filter ผลของการใส่ Noise ลงในภาพ และ Nonlinear filter ทั้งสามแบบ ทางกลุ่มได้ทำการเขียนฟังก์ชั่นการทำงานบนโปรแกรม MATLAB และได้ผลออกมาเป็นดังภาพด้านล่าง
Video แสดงผลการประมวลผลภาพจาก AVI file แสดงผลการทำ Nonlinear filter ใน Video ที่มี Gaussian noise
Video แสดงผลการประมวลผลภาพจาก AVI file แสดงผลการทำ Nonlinear filter ใน Video ที่มี Poisson noise
Video แสดงผลการประมวลผลภาพจาก AVI file แสดงผลการทำ Nonlinear filter ใน Video ที่มี Salt and Pepper noise
Video แสดงผลการประมวลผลภาพจาก AVI file แสดงผลการทำ unsharp filter ใน Video ที่มี Gaussian noise
Video แสดงผลการประมวลผลภาพจาก AVI file แสดงผลการทำ unsharp filter ใน Video ที่มี Poisson noise
Video แสดงผลการประมวลผลภาพจาก AVI file แสดงผลการทำ unsharp filter ใน Video ที่มี Salt and Pepper noise
Video แสดงผลการประมวลผลภาพจากกล้อง webcam แสดงผลการทำ Nonlinear filter
Video แสดงผลการประมวลผลภาพจากกล้อง webcam แสดงผลการทำ unsharp filter
จากผลที่ได้นั้น Minimum filter และ Maximum filter เกิดการทำให้ภาพผิดเพี้ยนเกินไปเนื่องจากเป็นการดูค่าที่จุดนั้น และจุดรอบๆ โดยเปลี่ยนเป็นค่าที่น้อยที่สุด หรือมากที่สุด จึงทำให้ contrast ของภาพผิดเพี้ยนไป และ Median filter ที่ดูค่าที่จุดนั้นและจุดรอบๆจุดที่สนใจ โดยเปลียนค่าเป็นค่ากลาง หรือค่ามัธยฐาน ทำให้ได้ภาพที่ filter ได้ดีที่สุด
ส่วนผลที่ได้จาก Unsharp filter นั้นทำให้ได้ภาพที่ filter แล้วนั้นมีความคมชัดมากขึ้น แต่จะมีการคำนวณที่ซับซ้อนมากกว่า Non linear filter ทั้งสามแบบนั้น เนื่องจากต้องมีการ filter ภาพที่ได้ก่อนและนำมาหักลบกับภาพเดิม
จากการศึกษา Unsharp filter จะเห็นว่าภาพที่ได้จะมีลักษณะของภาพที่คมชัดดูมีมิติมากขึ้นส่วน Linear filter ที่ใช้นั้น Median filter ให้ค่าของภาพที่ดีกว่า Minimum และ Maximum filter เนื่องจาก filter สองชนิดหลัง บางครั้งยังทำให้ภาพที่ได้มีลักษณะผิดเพี้ยนไป
จากการที่ทางกลุ่มได้ทำการศึกษาเกี่ยวกับ Non linear filter ที่ใช้ใน image procrssing ครั้งนี้ สามารถนำไปประยุกต์ใช้ได้ทั้งในทางชีวการแพทย์ หรือในด้านต่างๆ เพราะในการทำ image ทางการแพทย์นั้น ต้องการภาพที่มีรายละเอียดครบถ้วน หากภาพที่ได้มี noise รับกวนตัวภาพอาจทำให้การวินิจฉัยของแพทย์ผิดพลาดได้ จึงสามารถนำความรู้ที่ได้มาประยุกต์ใช้ได้
Source code is available on Github