Content-based Image Retieval ค้นหารูปภาพโดยใช้รูปภาพแบบง่ายๆโดยใช้ Python



Original Source Here

Content-based Image Retrieval ค้นหารูปภาพโดยใช้รูปภาพแบบง่ายๆโดยใช้ Python

หลายคนน่าจะคุ้นเคยกับ Seach engine อย่าง Google ที่เราสามารถค้นหาเว็บไซต์ รูปภาพหรือข้อมูลจาก keyword ที่เราต้องการ การค้นหาแบบนี้เป็นการค้นหาแบบ text-based คือใช้ข้อมูลที่เป็น text ในการค้นหา แต่การค้นหาดังกล่าวยังมีข้อจำกัด เช่น หากเราต้องการค้นหารูปภาพที่มีลักษณะเฉพาะ เราต้องเขียนบรรยายลักษณะของรูปภาพดังกล่าว ำทให้ผลลัพธ์ที่ได้มีความหลากหลาย เพื่อแก้ไขปัญหาดังกล่าว ในเมื่อเราต้องการค้นหารูปภาพ ทำไมเราไม่ค้นหาโดยใช้รูปภาพเลยล่ะ วิธีการดังกล่าวเรียกว่า Content-based image retieval

CONTENT-BASED IMAGE RETIEVAL

ย้อนกลับไปในช่วงปี 1970s สมัยนั้นใช้วิธีค้นหาแบบ text-based เพื่อค้นหารูปภาพจากฐานข้อมูล เป็นการค้นหาจากคำอธิบายของรูปภาพที่ถูก label โดย text descriptor ข้อเสียของวิธีดังกล่าวคือต้องใช้มนุษย์ในการเขียน description ของรูปภาพ ซึ่งมนุษย์มีสกิลทางภาษาและวิธีการเขียน การบรรยาย รวมถึงตีความรูปภาพไม่เหมือนกัน ทำให้การเขียน description มีความหลากหลายและไม่แม่นยำ ต่อมาในช่วงต้นของ 1980s จึงมีการนำเสนอวิธีที่เรียกว่า Content-based image retieval ซึ่งเป็นการค้นหารูปภาพจากในฐานข้อมูล (Image database)โดยใช้ลักษณะต่างๆของรูปภาพที่เราต้องการ (Image query)เช่น เส้น สี ขอบหรือ texture

ขั้นตอนทำ CBIR เริ่มจากการสร้างฐานข้อมูลรูปภาพของเราก่อน แล้วนำรูปภาพมา Feature Extraction แล้วเก็บ feature ของแต่ละรูปภาพไว้ เมื่อเราต้องการ query รูปภาพ เราก็นำรูปภาพนั้นมาทำ Feature extraction ก่อน จากนั้นก็นำ feature ที่ได้มาคำนวณ similarity เทียบกับ feature ในฐานข้อมูล หากรูปภาพไหนมีค่า similarity ต่ำก็แปลว่ารูปภาพทั้งสองมีความคล้ายคลีงกันนั้นเอง

หากพอเข้าใจการทำงานคร่าวๆแล้ว มาดูในส่วนของ Coding และตัวอย่างการทำงานกันครับ

APPLICATION

Dataset ทีผมใช้คือ Fashion Product Images Dataset | Kaggle เป็นชุดข้อมูลที่ประกอบด้วยรูปภาพของเครื่องแต่งกายเช่น เสื้อ กางเกง รองเท้าและอื่นๆ จำนวนเกือบ 80,000 รูปภาพ เราจะใช้ชุดข้อมูลนี้เป็นฐานข้อมูลสำหรับค้นหารูปภาพของเรา

AI/ML

Trending AI/ML Article Identified & Digested via Granola by Ramsey Elbasheer; a Machine-Driven RSS Bot

%d bloggers like this: