การพัฒนาโมเดลสำหรับการคัดแยกโรคผิวหนังที่มีจำนวนชุดข้อมูลน้อยด้วยการเรียนรู้เชิงลึก
- ชื่อนักเรียนผู้จัดทำโครงงานวิทยาศาสตร์
วรันธร จันทร์สว่าง, ธนกฤต เอี่ยมวิไล
- อาจารย์ที่ปรึกษาโครงงานวิทยาศาสตร์
วสิศ ลิ้มประเสริฐ, ขุนทอง คล้ายทอง
- โรงเรียนที่กำกับดูแลโครงงานวิทยาศาสตร์
- ปีที่จัดทำโครงงานวิทยาศาสตร์
บทคัดย่อโครงงานวิทยาศาสตร์
โรคผิวหนังมีทั้งที่เป็นอันตรายและไม่อันตราย บางประเภทไม่จำเป็นต้องไปพบแพทย์เพราะสามารถดูแลตนเองจนหายได้ เช่น โรคผื่นภูมิแพ้ผิวหนังที่พบได้ในประเทศไทยถึง 10-20% ในเด็ก และ 1-3% ในผู้ใหญ่ ในขณะที่โรคผิวหนังบางชนิดอาจส่งผลอันตรายต่อชีวิตได้ และบุคคลทั่ว ๆ ไปอาจไม่รู้ถึงความอันตรายของโรคผิวหนังที่เป็นอยู่ ทำให้ต้องไปพบแพทย์เพื่อจะได้ทราบถึงวิธีการรักษา ส่งผลให้เกิดความแออัดในโรงพยาบาล เนื่องจากไม่มีวิธีการในการคัดกรองผู้ป่วย รวมถึงทำให้แพทย์และพยาบาลมีปริมาณภาระงานที่มากเกินในแต่ละวัน ดังนั้นการมีซอฟต์แวร์ที่สามารถเข้าถึงได้ง่ายและช่วยในการคัดแยกโรคผิวหนังอาจส่งผลดีในหลาย ๆ กรณี ได้แก่ ลดปัญหาความแออัดในโรงพยาบาล ลดปัญหามลพิษจากการใช้ยานพาหนะไปโรงพยาบาล ไม่ต้องเสียเวลาไปพบแพทย์ แต่ชุดข้อมูลโรคผิวหนังที่นำมาใช้ฝึกฝนยังมีจำนวนที่น้อยและไม่สมดุล จากข้อมูลเบื้องต้นจึงทำให้สนใจในการพัฒนาเว็บแอพลิเคชันสำหรับคัดแยกประเภทโรคผิวหนังที่มีจำนวนชุดข้อมูลน้อยด้วยการเรียนรู้เชิงลึก ซึ่งขั้นตอนแรกคือการศึกษาเกี่ยวกับโรคผิวหนัง แล้วเก็บ Dataset แต่จำนวน Dataset นั้นมีจำนวนที่ค่อนข้างน้อยทำให้ จากนั้นทำ Data Augmentation เพื่อเพิ่มความหลากหลายให้กับชุดข้อมูล ขั้นตอนที่ 2 คือพัฒนาโมเดลสำหรับการคัดแยกประเภทโรคผิวหนังในชุดข้อมูล HAM10000 ที่ตัดประเภท Melanocytic nevi ออก โดยการใช้ Convolutional Neural Network โมเดล DenseNet121 และมีการแบ่งการทดลองออกเป็น 3 อย่าง คือ การ Oversampling, การปรับ Class weights และการใช้ Focal loss เพื่อแก้ปัญหาชุดข้อมูลไม่สมดุล จะได้ 3 โมเดลพร้อมกับค่า AUC ในแต่ละโมเดล ได้แก่ 0.80, 0.82 และ 0.81 ตามลำดับ ขั้นตอนที่ 3 คือการนำ Weights ไป Transfer Learning ให้กับการพัฒนาโมเดลสำหรับคัดการแยกประเภทโรคผิวหนังที่พบมากที่สุดในประเทศไทย 10 อันดับแรกที่รวบรวมมา 3 ประเภท ได้แก่ Atopic Dermatitis, Psoriasis, Seborrheic Keratosis และผิวหนังปกติ จะได้ 3 โมเดลพร้อมกับได้ค่า AUC 0.98, 0.98 และ 0.98 ตามลำดับ ค่า False Negative 1, 1 และ 1 ตามลำดับ จากนั้นนำมา Ensemble แบบใช้การเฉลี่ยเลขคณิตของผลการทำนายจากทั้ง 3 โมเดล ได้ค่า AUC 1.00 ค่า False Negative 0 ต่อมาคือการนำโมเดลทั้ง 3 โมเดลมาพัฒนาเป็นเว็บแอปพลิเคชันโดยการใช้ Flask, HTML, CSS, and JavaScript ซึ่งผลการศึกษาพบว่าเว็บแอพลิเคชันที่พัฒนาขึ้น สามารถช่วยให้ผู้ป่วยสามารถวิเคราะห์ได้ว่าควรไปพบแพทย์หรือไม่