- คุกบุ๊กนี้เป็นโปรเจ็กต์โอเพนซอร์สที่สำรวจอัลกอริทึมการประมวลผลวิดีโอและภาพผ่านกรณีศึกษาและแบบฝึกปฏิบัติที่หลากหลาย
- ครอบคลุมการประยุกต์ใช้งานที่หลากหลาย เช่น การอนุมานจากวิดีโอ แค็ตตาล็อกภาพ และการค้นหาแบบไฮบริดสำหรับภาพแฟชั่น
- เมื่อเทียบกับโปรเจ็กต์อื่น มีข้อดีคือสามารถเรียนรู้อัลกอริทึมผ่านกรณีใช้งานจริงที่หลากหลาย
- ไฟล์และโน้ตบุ๊กหลัก
00_quickstart.ipynb: คู่มือเริ่มต้นใช้งานโปรเจ็กต์อย่างรวดเร็ว
01_schema_showcase.ipynb: มีกรณีศึกษาที่แสดงสคีมาข้อมูลหลากหลายรูปแบบ
02_case_study_drivers_license.ipynb: การรู้จำใบขับขี่
03_case_study_tv_news.ipynb: ทำความเข้าใจหน้าจอข่าวโทรทัศน์
04_visual_grounding.ipynb: สำรวจอัลกอริทึม visual grounding พร้อมดึง JSON จากกรอบในภาพ
05_case_study_image_catalogue.ipynb: วิเคราะห์แค็ตตาล็อกสินค้าแฟชั่นเพื่อระบุคำอธิบายสินค้า หมวดหมู่ เพศเป้าหมาย และฤดูกาล
06_fashion_images_hybrid_search.ipynb: กรณีศึกษาการค้นหาแบบไฮบริดสำหรับภาพแฟชั่น
advanced_finetuning_video_inference.ipynb: เทคนิคการปรับจูนละเอียดขั้นสูงสำหรับการอนุมานจากวิดีโอ
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
เป็นไอเดียที่น่าสนใจ แต่ยังขาดความน่าเชื่อถือเกินกว่าจะใช้ในสภาพแวดล้อม production ได้ โมเดล OCR แบบดั้งเดิมเมื่ออ่านข้อความไม่ได้จะให้ผลลัพธ์ไร้ความหมายพร้อมค่าความเชื่อมั่นต่ำ ในทางกลับกัน VLM เมื่ออ่านไม่ได้กลับให้ผลลัพธ์ที่แต่งขึ้นมาอย่างมั่นใจ และไม่มีวิธีรายงานค่าความเชื่อมั่น ในการลองรู้จำลายมือ VLM ได้สร้างชื่อและวันที่ปลอมที่เข้ากับบรรยากาศของเอกสารขึ้นมา และไม่มีวิธีอ้างอิงผลลัพธ์กับข้อความต้นทางได้
ไม่นานมานี้มีการเผยแพร่โอเพนซอร์สเบนช์มาร์กสำหรับประเมิน VLM และ OCR และโดยทั่วไปแล้ว VLM ทำผลงานได้ดีกว่าโมเดล OCR แบบดั้งเดิม
ข้อดีของ VLM:
ข้อดีของ OCR แบบดั้งเดิม:
ยังมีพื้นที่ให้ปรับปรุงอีกมาก แต่โดยเฉพาะโมเดลอย่าง Gemini นั้นแข่งขันได้มากในแง่ความแม่นยำ/ต้นทุน
สงสัยว่าทำไมบริการ OCR ทั้งหมดถึงชอบแสดงแต่ภาพหน้าจอที่สมบูรณ์แบบของเอกสารดิจิทัล มีคนจำนวนมากขนาดนั้นเลยหรือที่ต้องการทำ OCR กับข้อมูลดิจิทัล? แค่คัดลอก HTML ไม่ได้หรือ? แล้วภาพหน้าจอของเอกสารที่ไม่ใช่ดิจิทัลซึ่งมีรอยพับ บรรทัดเอียง ไล่ระดับแสง หรือนิ้วมือ อยู่ที่ไหน?
ได้ทดลองใช้ vlm-run กับการกำหนดแบบฟอร์มแบบกำหนดเอง และมันทำงานได้ดีจนน่าประหลาดใจกับ Gemini 2.0 Flash เท่าที่เข้าใจ ต้นทุนก็ต่ำด้วย ได้ผลดีที่สุดกับแบบฟอร์มง่าย ๆ ถึงซับซ้อนปานกลาง ซึ่งเป็นแบบฟอร์มระดับที่มนุษย์จัดการได้ด้วยการฝึกไม่ถึง 10 นาที
เครื่องมือ OCR ทำหน้าที่ตามที่เขียนไว้บนกล่องได้ดี เช่น การรู้จำตัวอักษรบนกระดาษ ข้อดีของการใช้ vision language model คือสามารถเพิ่มตรรกะแบบ "นี่คือสตริง แต่ดูเหมือน timestamp หรือไม่?" ได้
สิ่งที่ฉันต้องการคือ: สแกน/ถ่ายภาพเอกสาร (รวมถึงทั้งเล่มหนังสือ) แล้วส่งให้ language model จากนั้นได้เอกสาร Latex ที่ตรงกับต้นฉบับทุกประการ โดยไม่รวมความบกพร่องจากเครื่องถ่ายเอกสาร/กล้องและมุมมอง คิดว่าน่าจะทำโมเดล reinforcement learning สำหรับสิ่งนี้ได้ มันควรเรียนรู้ที่จะสร้าง Latex ที่สามารถสร้างภาพกลับมาได้ตรงระดับพิกเซล
ควรใช้ทั้งสองอย่าง ใช้ OCR และ LLM แล้วนำผลลัพธ์ทั้งสองมาเทียบสหสัมพันธ์กัน จะช่วยยกระดับคุณภาพได้มาก ไม่ใช่แค่ความเข้าใจเอกสารและบริบท แต่ยังได้กรอบขอบเขตด้วย กำลังสร้างแอป "ไม่ต้องกรอกเอกสารอีกต่อไป" และอยากคุยกับคนที่สนใจ
อาจเป็นเพราะพรอมป์ต์ของฉัน แต่หลังจากฝังภาพแล้วดูเหมือนจะมีการตีความมากเกินไป ในตัวอย่างของฉันมันเริ่มสรุปบางส่วนของข้อความ ซึ่งน่าเสียดายที่ผิด เช่น ในใบแจ้งหนี้ที่มีข้อความพิมพ์อยู่ ข้อความจริงบอกว่าหากส่งหลังบ่าย 2 โมงของวันศุกร์ จะไม่ถูกโพสต์จนถึงวันจันทร์ถัดไป แต่มันสรุปว่าอาจไม่ถูกโพสต์เป็นเวลา 2-3 วันทำการ ซึ่งต่างกันมาก สงสัยว่าจะมีวิธีตัดเลเยอร์แบบนี้ออกได้หรือไม่ การตรวจจับและรู้จำข้อความแบบมีโครงสร้างในช็อตเดียวทำได้ดีกว่า OCR พื้นฐานมาก
ดีที่ได้เห็นว่ามีงานเพิ่มเติมเกิดขึ้น แต่ไม่เข้าใจว่าทำไมสิ่งนี้ต้องถูกผูกไว้กับ API แบบปิดของใครสักคน การสลับผู้ให้บริการโมเดลและเพิ่ม logging พื้นฐานไม่น่าจะเจ็บปวดพอ ๆ กับการ onboard ผู้ขายอีกราย โดยเฉพาะเมื่อจัดการกับสิ่งที่อ่อนไหวอย่างพรอมป์ต์ LLM
เครื่องมือ OCR แบบ CLI ที่เร็วและแม่นยำที่สุดคืออะไร? เคสการใช้งานของฉันง่ายมาก - อยากแคปเจอร์บางส่วนของหน้าจอ (Flameshot เหมาะกับสิ่งนี้) แล้วทำ OCR ต้องใช้ตอน pair programming บน Zoom เพื่อจดโน้ต ตอนนี้ใช้ tesseract อยู่ ซึ่งเร็วและทำงานได้ดี แต่ก็มีพลาดบ้าง ถ้ามันแยกตารางได้และแปลงเป็นตาราง ASCII หรือ Markdown ได้ก็คงดี ลองใช้ docling แล้ว แต่รู้สึกเกินความจำเป็นไปหน่อย ดูเหมือนช้า - ต้องการดึงข้อความจากสกรีนช็อตให้เร็วมาก ๆ ลองแค่การตั้งค่าพื้นฐาน และคิดว่าน่าจะดีขึ้นได้ถ้าปรับจูน ใครมีความเห็นเรื่องนี้บ้าง? ขอบคุณ!