การตรวจจับภาพที่ใกล้ซ้ำ [ปิด]


93

อะไรคือวิธีที่รวดเร็วในการจัดเรียงชุดภาพที่กำหนดโดยความคล้ายคลึงกัน

ในขณะนี้ฉันมีระบบที่ทำการวิเคราะห์ฮิสโตแกรมระหว่างสองภาพ แต่นี่เป็นการดำเนินการที่มีราคาแพงมากและดูเหมือนว่าจะมากเกินไป

ในทางที่ดีฉันกำลังมองหาอัลกอริทึมที่จะให้คะแนนแต่ละภาพ (เช่นคะแนนจำนวนเต็มเช่นค่าเฉลี่ย RGB) และฉันสามารถจัดเรียงตามคะแนนนั้นได้ คะแนนที่เหมือนกันหรือคะแนนที่อยู่ติดกันเป็นไปได้ที่จะซ้ำกัน

0299393
0599483
0499994 <- possible dupe
0499999 <- possible dupe
1002039
4995994
6004994 

RGB Average ต่อภาพห่วยมีอะไรคล้ายกันไหม?


5
คำถามสำคัญโดยนึกถึงสิ่งที่คุณเขียนและเกี่ยวกับคำตอบบางส่วนของคำถามที่เกี่ยวข้องที่ Naaff ชี้ให้เห็นคุณอาจต้องการกำหนดให้ชัดเจนยิ่งขึ้นว่า "ความเหมือน" หมายถึงอะไร รูปภาพที่เหมือนกัน แต่ชดเชยห้าพิกเซลจะ "คล้ายกัน" หรือไม่ เห็นได้ชัดว่าใช่ ... แต่สำหรับอัลกอริทึม ... อาจจะไม่ใช่เว้นแต่คุณจะคิดและคิดเป็นอย่างนั้น คุณสามารถให้รายละเอียดเพิ่มเติมได้หรือไม่? รายการที่ซ้ำกันจะต้องแน่นอนหรือ "ปิด"? คุณกำลังดูการสแกนที่อาจแตกต่างกันโดยการวัดมุมเล็กน้อยหรือไม่? แล้วความเข้มล่ะ? มีเป็นจำนวนมากของตัวแปรที่นี่ ...
Beska

'รายการที่ซ้ำกัน' แตกต่างกันอย่างไร? เช่นจะเป็นภาพของสถานที่เดียวกันโดยมีท่าทาง / กะที่ต่างกันหรือไม่? ดูเหมือนคุณจะต้องการบางอย่างที่เป็น O (nlog (n)) ที่มีจำนวนภาพ ไม่มีใครรู้ว่าเป็นไปได้หรือไม่? ดูเหมือนจะเป็น ..
Justin Scheiner

@ The Unknown: หากคุณไม่พอใจกับคำตอบใด ๆ ในปัจจุบันคุณสามารถให้คำแนะนำเพิ่มเติมกับเราได้หรือไม่? เราพยายามอย่างเต็มที่เพื่อตอบคำถามของคุณ แต่หากไม่มีข้อเสนอแนะใด ๆ เราไม่น่าจะได้สิ่งที่ดีกว่านี้มา
Naaff

ปัจจุบันปัญหานี้เป็นปัญหาใหญ่อย่างหนึ่งในวิทยาการคอมพิวเตอร์ ขอให้โชคดีเพื่อน
john ktejik

คำตอบ:


70

มีงานวิจัยมากมายเกี่ยวกับการค้นหารูปภาพและมาตรการความคล้ายคลึงกัน ไม่ใช่ปัญหาง่ายๆ โดยทั่วไปภาพเดียวintไม่เพียงพอที่จะระบุว่าภาพมีความคล้ายคลึงกันมากหรือไม่ คุณจะมีอัตราบวกผิดพลาดสูง

อย่างไรก็ตามเนื่องจากมีการวิจัยจำนวนมากคุณอาจลองดูบางส่วน ตัวอย่างเช่นเอกสารนี้ (PDF) ให้อัลกอริธึมการพิมพ์ลายนิ้วมือภาพขนาดกะทัดรัดซึ่งเหมาะสำหรับการค้นหาภาพที่ซ้ำกันอย่างรวดเร็วและไม่ต้องจัดเก็บข้อมูลมาก ดูเหมือนว่านี่จะเป็นแนวทางที่ถูกต้องหากคุณต้องการบางสิ่งที่แข็งแกร่ง

หากคุณกำลังมองหาสิ่งที่ง่ายกว่า แต่เป็นการเฉพาะกิจมากกว่าคำถาม SO นี้มีแนวคิดที่ดี


3
กระดาษนั้นมาจากปี 2004 ไม่แน่ใจว่ายังเป็นคำตอบที่ดีที่สุดหรือไม่?
Andrew

50

ฉันอยากจะแนะนำให้พิจารณาย้ายออกจากการใช้เพียง RGB ฮิสโตแกรม

ภาพของคุณจะได้รับการย่อยที่ดีขึ้นหากคุณใช้คลื่น 2d Haar ของภาพ (มันง่ายกว่าที่คิดมากมันเป็นเพียงค่าเฉลี่ยจำนวนมากและรากที่สองบางส่วนที่ใช้ในการถ่วงน้ำหนักสัมประสิทธิ์ของคุณ) และเพียงแค่รักษา k ที่ใหญ่ที่สุด ค่าสัมประสิทธิ์การถ่วงน้ำหนักในเวฟเล็ตเป็นเวกเตอร์กระจัดกระจายทำให้เป็นมาตรฐานและบันทึกเพื่อลดขนาด คุณควรปรับขนาด RG และ B โดยใช้น้ำหนักการรับรู้ล่วงหน้าอย่างน้อยที่สุดหรือขอแนะนำให้เปลี่ยนไปใช้ YIQ (หรือ YCoCg เพื่อหลีกเลี่ยงเสียงรบกวนเชิงปริมาณ) เพื่อให้คุณสามารถสุ่มตัวอย่างข้อมูลโครเมียมที่มีความสำคัญลดลง

ตอนนี้คุณสามารถใช้ดอทโปรดัคของเวกเตอร์ปกติแบบกระจัดกระจายสองตัวนี้เป็นตัววัดความคล้ายคลึงกันได้ ภาพที่จับคู่กับผลิตภัณฑ์จุดที่ใหญ่ที่สุดจะมีโครงสร้างใกล้เคียงกันมาก สิ่งนี้มีประโยชน์ในการทนต่อการปรับขนาดการเปลี่ยนสีและการกำหนดลายน้ำเล็กน้อยและใช้งานง่ายและกะทัดรัด

คุณสามารถแลกเปลี่ยนพื้นที่เก็บข้อมูลและความแม่นยำได้โดยเพิ่มหรือลด k

การจัดเรียงตามคะแนนตัวเลขเดียวจะยากสำหรับปัญหาการจำแนกประเภทนี้ หากคุณคิดว่ามันต้องการให้รูปภาพสามารถ 'เปลี่ยน' ตามแกนเดียวเท่านั้น แต่ไม่สามารถทำได้ นี่คือเหตุผลที่คุณต้องมีเวกเตอร์ของคุณสมบัติ ในกรณีของเวฟเล็ต Haar เป็นจุดที่เกิดความไม่ต่อเนื่องที่คมชัดที่สุดในภาพโดยประมาณ คุณสามารถคำนวณระยะห่างระหว่างรูปภาพแบบคู่กันได้ แต่เนื่องจากสิ่งที่คุณมีคือตัวชี้วัดระยะทางการจัดลำดับเชิงเส้นจึงไม่มีทางที่จะแสดง 'สามเหลี่ยม' ของ 3 ภาพที่มีระยะห่างเท่ากัน (เช่นนึกถึงภาพที่เป็นสีเขียวทั้งหมดภาพที่เป็นสีแดงทั้งหมดและภาพที่เป็นสีน้ำเงินทั้งหมด)

นั่นหมายความว่าวิธีแก้ปัญหาที่แท้จริงของคุณจะต้องมีการดำเนินการ O (n ^ 2) ในจำนวนภาพที่คุณมี ในขณะที่ถ้าเป็นไปได้ที่จะทำให้การวัดเป็นเชิงเส้นคุณอาจต้องการเพียงแค่ O (n log n) หรือ O (n) ถ้าการวัดนั้นเหมาะสมกับการจัดเรียงแบบรัศมี ที่กล่าวว่าคุณไม่จำเป็นต้องใช้ O (n ^ 2) เนื่องจากในทางปฏิบัติคุณไม่จำเป็นต้องกรองทั้งชุดคุณเพียงแค่ต้องหาของที่ใกล้กว่าเกณฑ์บางอย่าง ดังนั้นการใช้หนึ่งในเทคนิคหลายอย่างในการแบ่งพื้นที่เวกเตอร์กระจัดกระจายของคุณคุณจะได้รับ asymptotics ที่เร็วกว่ามากสำหรับปัญหา 'find me k ของภาพที่คล้ายกันมากกว่าเกณฑ์ที่กำหนด' มากกว่าการเปรียบเทียบทุกภาพกับทุกภาพอย่างไร้เดียงสา คุณน่าจะต้องการ ... หากไม่ตรงกับสิ่งที่คุณขอ

ไม่ว่าในกรณีใดฉันใช้สิ่งนี้เมื่อสองสามปีก่อนเพื่อให้เกิดผลดีเป็นการส่วนตัวเมื่อพยายามลดจำนวนพื้นผิวที่แตกต่างกันที่ฉันจัดเก็บ แต่ก็มีเสียงการวิจัยจำนวนมากในพื้นที่นี้แสดงให้เห็นถึงประสิทธิภาพ (และในกรณีนี้เปรียบเทียบ เป็นรูปแบบการจำแนกฮิสโตแกรมที่ซับซ้อนยิ่งขึ้น):

http://www.cs.princeton.edu/cass/papers/spam_ceas07.pdf

หากคุณต้องการความแม่นยำในการตรวจจับที่ดีขึ้นอัลกอริทึม minHash และ tf-idf สามารถใช้กับ Haar wavelet (หรือฮิสโตแกรม) เพื่อจัดการกับการแก้ไขได้อย่างมีประสิทธิภาพมากขึ้น:

http://cmp.felk.cvut.cz/~chum/papers/chum_bmvc08.pdf

สุดท้ายสแตนฟอร์ดมีการค้นหารูปภาพตามรูปแบบที่แปลกใหม่กว่าของวิธีการประเภทนี้โดยอาศัยการแยกคุณสมบัติเพิ่มเติมจากเวฟเล็ตเพื่อค้นหาส่วนที่หมุนหรือปรับขนาดของภาพ ฯลฯ แต่นั่นอาจจะเกินจำนวนงานของคุณ ต้องการทำ

http://wang14.ist.psu.edu/cgi-bin/zwang/regionsearch_show.cgi


ดูเหมือนว่าคุณกำลังอธิบาย kd-tree ทางอ้อมและชอบค้นหาพื้นที่สำหรับผู้มีโอกาสเป็นผู้สมัคร อาจเป็นเรื่องที่น่าสังเกต
Boojum

1
เหตุผลที่ฉันไม่ได้ระบุเทคนิคนอกเหนือจากการพาดพิงที่คลุมเครือก็คือ kd-trees ทำงานได้ดีเมื่อคุณมีขนาดค่อนข้างเล็กในพื้นที่ของคุณ คุณน่าจะมีขนาดประมาณ 128 หรือมากกว่าซึ่งมีประชากรเบาบาง เนื่องจากค่าเหล่านี้เบาบางค่าส่วนใหญ่จึงเป็นศูนย์ดังนั้นการใช้ round-robin ข้ามมิติไปยังพาร์ติชันในรูปแบบ kd จึงแทบไม่มีประโยชน์ โดยโทเค็น R-tree เดียวกันก็พังทลายลงทำให้เป็นทางออกที่ดีที่สุดของคุณ: X-trees น่าเสียดายที่พวกเขาอยู่ใกล้ขีด จำกัด ของประสิทธิภาพเมื่อต้องเผชิญกับมิติต่างๆมากมาย
Edward KMETT

"และคงค่าสัมประสิทธิ์ถ่วงน้ำหนักที่ใหญ่ที่สุด k ไว้ในเวฟเล็ตเป็นเวกเตอร์กระจัดกระจาย" - คงไว้ต่อแถวหรือสำหรับเวฟเล็ตทั้งหมด?
ivan.ukr

"คุณควรลดขนาด RG และ B โดยใช้น้ำหนักการรับรู้ล่วงหน้าอย่างน้อยที่สุดหรือฉันขอแนะนำให้เปลี่ยนไปใช้ YIQ (หรือ YCoCg เพื่อหลีกเลี่ยงเสียงรบกวนเชิงปริมาณ) เพื่อให้คุณสามารถสุ่มตัวอย่างข้อมูลโครเมียมที่มีความสำคัญลดลง" - แล้วยังไงต่อ? เวฟสำหรับ Y อย่างเดียวหรือทำทุกช่อง? ถ้าทำสำหรับทุกช่อง - จะวัดความคล้ายคลึงกันของภาพในหลายช่องได้อย่างไร? เพิ่มผลิตภัณฑ์ดอทของแต่ละช่องและพิจารณาว่านี่เป็นการวัดความคล้ายคลึงกันหรือควรเพิ่มน้ำหนัก?
ivan.ukr

15

ผมดำเนินการขั้นตอนวิธีการน่าเชื่อถือมากสำหรับการนี้เรียกว่าจาน multiresolution ภาพสอบถาม ของฉัน (โบราณ unmaintained) สำหรับที่อยู่ที่นี่

สิ่งที่การสืบค้นภาพหลายความละเอียดอย่างรวดเร็วทำคือการแบ่งภาพออกเป็น 3 ชิ้นตาม YIQ colorspace (เหมาะสำหรับความแตกต่างที่ตรงกันมากกว่า RGB) จากนั้นภาพจะถูกบีบอัดโดยใช้อัลกอริธึมเวฟเล็ตจนกว่าจะมีคุณลักษณะที่โดดเด่นที่สุดจากแต่ละสีเท่านั้น จุดเหล่านี้จะถูกเก็บไว้ในโครงสร้างข้อมูล รูปภาพคิวรีต้องผ่านกระบวนการเดียวกันและคุณสมบัติเด่นในรูปภาพคิวรีจะจับคู่กับรูปภาพในฐานข้อมูลที่จัดเก็บไว้ ยิ่งมีการจับคู่ภาพก็จะยิ่งมีความคล้ายคลึงกัน

อัลกอริทึมนี้มักใช้สำหรับฟังก์ชัน "query by sketch" ซอฟต์แวร์ของฉันอนุญาตให้ป้อนรูปภาพแบบสอบถามผ่าน URL เท่านั้นดังนั้นจึงไม่มีส่วนต่อประสานกับผู้ใช้ อย่างไรก็ตามฉันพบว่ามันใช้งานได้ดีเป็นพิเศษสำหรับการจับคู่ภาพขนาดย่อกับภาพขนาดใหญ่นั้น

น่าประทับใจกว่าซอฟต์แวร์ของฉันมากคือretrievrซึ่งให้คุณลองใช้อัลกอริทึม FMIQ โดยใช้ภาพ Flickr เป็นแหล่งที่มา เด็ดมาก! ลองใช้งานผ่านภาพร่างหรือใช้ภาพต้นฉบับแล้วคุณจะเห็นว่ามันทำงานได้ดีเพียงใด


ยังรับรู้ภาพที่หมุนได้หรือไม่
endolith

ฉันสงสัยว่ามันจะทำงานได้ดีมากสำหรับสิ่งนั้น คุณอาจต้องการเข้ารหัสภาพสำหรับการหมุนแต่ละครั้งเพื่อเพิ่มการจับคู่ที่เกี่ยวข้องให้มากที่สุด
Luke Francl

ดูเหมือนว่าลิงก์ไปยัง retrievr จะไม่ทำงาน - ถูกเก็บถาวรที่ใด
mmigdol

10

รูปภาพมีคุณสมบัติมากมายดังนั้นหากคุณไม่ จำกัด ขอบเขตของตัวเองให้แคบลงเช่นความสว่างเฉลี่ยคุณกำลังจัดการกับพื้นที่ปัญหา n มิติ

ถ้าฉันขอให้คุณกำหนดจำนวนเต็มหนึ่งให้กับเมืองต่างๆในโลกดังนั้นฉันจึงสามารถบอกได้ว่าอันไหนอยู่ใกล้ผลลัพธ์จะไม่ดีมาก ตัวอย่างเช่นคุณอาจเลือกเขตเวลาเป็นจำนวนเต็มเดียวและได้ผลลัพธ์ที่ดีกับบางเมือง อย่างไรก็ตามเมืองที่อยู่ใกล้ขั้วโลกเหนือและเมืองอื่นที่อยู่ใกล้ขั้วโลกใต้ก็สามารถอยู่ในเขตเวลาเดียวกันได้เช่นกันแม้ว่าจะอยู่คนละปลายโลกก็ตาม ถ้าผมให้คุณใช้จำนวนเต็มสองจำนวนคุณจะได้ผลลัพธ์ที่ดีมากโดยมีละติจูดและลองจิจูด ปัญหาเหมือนกันสำหรับความคล้ายคลึงกันของภาพ

ทั้งหมดที่กล่าวมามีอัลกอริทึมที่พยายามรวมรูปภาพที่คล้ายกันเข้าด้วยกันซึ่งเป็นสิ่งที่คุณต้องการ นี่คือสิ่งที่เกิดขึ้นเมื่อคุณตรวจจับใบหน้าด้วย Picasa ก่อนที่คุณจะระบุใบหน้าใด ๆ แต่ก็รวมกลุ่มใบหน้าที่คล้ายกันเข้าด้วยกันเพื่อให้สามารถผ่านชุดของใบหน้าที่คล้ายกันและตั้งชื่อเดียวกันได้โดยส่วนใหญ่

นอกจากนี้ยังมีเทคนิคที่เรียกว่า Principle Component Analysis ซึ่งช่วยให้คุณลดข้อมูล n มิติลงให้เหลือขนาดเล็กลง ดังนั้นรูปภาพที่มีคุณสมบัติ n อาจลดลงเหลือเพียงฟีเจอร์เดียว อย่างไรก็ตามนี่ยังไม่ใช่แนวทางที่ดีที่สุดสำหรับการเปรียบเทียบรูปภาพ


1
มันเป็นจุดที่สงสัย แต่คุณสามารถใช้จำนวนเต็มเดียวเพื่อแสดงถึงการรวมกันของคุณสมบัติจำนวนเท่าใดก็ได้เช่นคุณลักษณะ x = 2 และคุณลักษณะ y = 3 และคุณลักษณะ z = 5 และคุณลักษณะ aa = 7 และอื่น ๆ จากนั้นกำลังที่ฐานเฉพาะนั้นถูกยกขึ้นในรูปแบบแยกตัวประกอบของจำนวนเต็มเดียวจะเป็นค่าของคุณลักษณะสำหรับรูปภาพนั้น ๆ อีกครั้งจุดที่สงสัยเนื่องจากขนาดของตัวเลขจะไร้สาระ แม้ว่าขนาดนั้นจะลดลงได้อีก ... เราแค่พูดถึงข้อมูลที่มีโครงสร้าง
ไกล์

จริง. แต่ประเด็นที่แท้จริงคือการจัดเรียงตัวเลขเพื่อให้ภาพที่คล้ายกันอยู่ใกล้กันในเชิงตัวเลข แม้ว่าสิ่งที่ฉันกล่าวไว้ข้างต้นนี้เป็นไปได้ ในระยะสั้นคุณสามารถแก้ปัญหาพนักงานขายที่เดินทางเพื่อค้นหาเส้นทางขั้นต่ำ (หรือใกล้ต่ำสุด) ผ่านรูปภาพในช่องว่าง n มิติ (โดยที่ n คือจำนวนคุณสมบัติที่คุณต้องการใช้เพื่อเปรียบเทียบภาพ) แต่ที่มีราคาแพง
Neil

8

มีไลบรารี C ("libphash" - http://phash.org/ ) ที่จะคำนวณ "แฮชการรับรู้" ของรูปภาพและช่วยให้คุณตรวจจับภาพที่คล้ายกันได้โดยการเปรียบเทียบแฮช (ดังนั้นคุณจึงไม่ต้องเปรียบเทียบแต่ละภาพ เทียบกับภาพอื่น ๆ โดยตรง) แต่น่าเสียดายที่ดูเหมือนว่าจะไม่แม่นยำมากเมื่อฉันลองใช้


5

คุณต้องตัดสินใจว่าอะไร "คล้ายกัน" คอนทราสต์? เว้?

รูปภาพ "คล้าย" กับภาพเดียวกันกลับหัวไหม

ฉันพนันได้เลยว่าคุณสามารถหา "การโทรปิด" ได้มากมายโดยการแบ่งภาพออกเป็นชิ้น 4x4 และรับสีเฉลี่ยสำหรับแต่ละเซลล์ตาราง คุณมีสิบหกคะแนนต่อภาพ ในการตัดสินความเหมือนคุณก็แค่หาผลรวมของความแตกต่างระหว่างรูปภาพ

ฉันไม่คิดว่าแฮชเดียวจะสมเหตุสมผลเว้นแต่จะขัดกับแนวคิดเดียวเช่นสีสันหรือความสว่างหรือคอนทราสต์

นี่คือแนวคิดของคุณ:

0299393
0599483
0499994 <- possible dupe
0499999 <- possible dupe
1002039
4995994
6004994

ก่อนอื่นผมจะถือว่านี่คือเลขฐานสิบที่เป็น R * (2 ^ 16) + G * (2 ^ 8) + B หรืออะไรประมาณนั้น เห็นได้ชัดว่านั่นไม่ดีเพราะสีแดงมีน้ำหนักมากเกินไป

การย้ายเข้าไปในอวกาศ HSVน่าจะดีกว่า คุณสามารถกระจายบิตของ HSV ออกไปในแฮชหรือคุณสามารถกำหนด H หรือ S หรือ V ทีละรายการหรือคุณอาจมีสามแฮชต่อภาพ


อีกหนึ่งสิ่ง. หากคุณให้น้ำหนัก R, G และ B ให้น้ำหนักสีเขียวสูงสุดจากนั้นให้เป็นสีแดงและสีน้ำเงินเพื่อให้เข้ากับความไวในการมองเห็นของมนุษย์


5

ในยุคของบริการบนเว็บคุณสามารถลองใช้http://tineye.com


3
โค้ดที่อยู่เบื้องหลัง tineye ดูเหมือนจะเป็นสิ่งที่ผู้ถามตามมา แต่ฉันไม่คิดว่าบริการบนเว็บจะมีประโยชน์มากเพราะไม่มีวิธีใด (ชัดเจน) ในการให้ภาพสองภาพและถามว่า "สิ่งเหล่านี้เหมือนกันหรือไม่? " - ภาพที่สองจะต้องอยู่บนหน้าเว็บและจัดทำดัชนีโดย tineye
dbr

1
อาจจะเป็นการให้ API สำหรับผู้ใช้ทางธุรกิจ? พวกเขาควรได้รับการติดต่อเกี่ยวกับเรื่องนั้น
zproxy

มี API ในเชิงพาณิชย์ที่ให้ตรงนั้นเป็นservices.tineye.com/MatchEngine
Gajus


1

ฉันสันนิษฐานว่าซอฟต์แวร์ค้นหารูปภาพที่ซ้ำกันอื่น ๆ ทำ FFT บนรูปภาพและเก็บค่าของความถี่ต่างๆเป็นเวกเตอร์:

Image1 = (u1, u2, u3, ..., un)
Image2 = (v1, v2, v3, ..., vn)

จากนั้นคุณสามารถเปรียบเทียบภาพสองภาพเพื่อความเท่าเทียมกันโดยการคำนวณระยะห่างระหว่างเวกเตอร์น้ำหนักของภาพสองภาพ:

distance = Sqrt(
     (u1-v1)^2 +
     (u2-v2)^2 +
     (u2-v3)^2 +
     ...
     (un-vn)^2);

2
ภาพธรรมชาติส่วนใหญ่มีเนื้อหาความถี่ใกล้เคียงกันมากดังนั้นฉันจึงสงสัยว่านี่จะเป็นเมตริกที่ดีมาก
Hannes Ovrén

1

วิธีแก้ไขอย่างหนึ่งคือทำการเปรียบเทียบRMS / RSSกับรูปภาพทุกคู่ที่จำเป็นในการจัดเรียงฟอง ประการที่สองคุณสามารถใช้FFTในแต่ละภาพและทำการหาค่าเฉลี่ยของแกนเพื่อดึงข้อมูลจำนวนเต็มเดียวสำหรับแต่ละภาพซึ่งคุณจะใช้เป็นดัชนีในการจัดเรียง คุณอาจพิจารณาทำการเปรียบเทียบกับเวอร์ชันที่ปรับขนาดแล้ว (25%, 10%) ของต้นฉบับขึ้นอยู่กับความแตกต่างเล็กน้อยที่คุณเลือกที่จะเพิกเฉยและความเร็วที่คุณต้องการ แจ้งให้เราทราบหากวิธีแก้ปัญหาเหล่านี้น่าสนใจและเราสามารถพูดคุยหรือให้รหัสตัวอย่างได้


FFT ให้ข้อมูลสีเท่านั้นและไม่มีข้อมูลเกี่ยวกับตำแหน่ง การปรับขนาดจะไม่สนใจคุณลักษณะทั้งหมดที่อยู่ต่ำกว่าขนาดที่กำหนดโดยไม่คำนึงถึงผลกระทบต่อภาพที่ได้ ภาพสีเทาและกระดานหมากรุกสามารถเหมือนกันได้ภายใต้การวัดนั้น วิธีเวฟเล็ต (Daubechies, Haar ฯลฯ ) มีประโยชน์ในการให้ทั้งข้อมูลตำแหน่งและสีโดยการแลกเปลี่ยนสัดส่วนของข้อมูลตำแหน่งและสีในแต่ละจุดข้อมูล
Edward KMETT

2
ไม่ FFT ของรูปภาพมีข้อมูลเชิงพื้นที่ทั้งหมดของต้นฉบับ คุณสามารถสร้างต้นฉบับใหม่จาก FFT homepages.inf.ed.ac.uk/rbf/HIPR2/fourier.htm ฮิสโตแกรมซึ่งอาจเป็นสิ่งที่คุณกำลังคิดไม่ได้
พอล

1

วิธีการที่ทันสมัยส่วนใหญ่ในการตรวจจับการตรวจจับภาพที่ใกล้เคียงกันใช้การตรวจจับจุดที่น่าสนใจและตัวบ่งชี้ที่อธิบายพื้นที่รอบ ๆ จุดดังกล่าว มักจะSIFTถูกนำมาใช้ จากนั้นคุณสามารถ quatize descriptors และใช้คลัสเตอร์เป็นคำศัพท์ภาพ

ดังนั้นหากเราเห็นอัตราส่วนของคำที่เป็นภาพทั่วไปของภาพสองภาพต่อคำที่เป็นภาพทั้งหมดของภาพเหล่านี้คุณจะประเมินความคล้ายคลึงกันระหว่างภาพ มีบทความน่าสนใจเยอะ หนึ่งในนั้นคือ Near Duplicate Image Detection: minHash และ tf-idf Weighting


1

ตัวอย่างเช่นการใช้ส่วนขยาย IMMI และ IMMI คุณสามารถตรวจสอบวิธีวัดความคล้ายคลึงกันระหว่างรูปภาพได้หลายวิธี: http://spl.utko.feec.vutbr.cz/en/component/content/article/46-image-processing-extension- สำหรับ Rapidminer-5

ด้วยการกำหนดเกณฑ์และเลือกวิธีการบางอย่างคุณสามารถวัดความคล้ายคลึงกันได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.