เครื่องมือสำหรับการทำให้คนในภาพเบลอโดยอัตโนมัติ [ปิด]


11

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

ดังนั้นโดยทั่วไปฉันต้องการทำสิ่งที่ Google ทำกับภาพ StreetView ไม่มากก็น้อย ขณะนี้ฉันกำลังทำสิ่งนี้ด้วยตนเองสำหรับแต่ละภาพโดยการวาดการเลือกวงรีรอบใบหน้าทั้งหมดใน Gimp แล้วใช้ตัวกรองเบลอในการเลือก

มีเครื่องมือที่ทำให้ฉันสามารถทำให้เบลอมากขึ้นหรือน้อยลงในคลิกเดียวหรือไม่? โดยการแสดงให้ฉันเห็นใบหน้าที่ได้รับการยอมรับทั้งหมดในขั้นตอนแรกจากนั้นให้ฉันยกเลิกการเลือกใบหน้าที่ฉันไม่ต้องการให้เบลอ

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

ฉันค้นหาเครื่องมือดังกล่าวมาระยะหนึ่งแล้ว แต่ทุกสิ่งที่ฉันพบดูเหมือนว่าเป็นของหนึ่งในสามประเภท:

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

ฉันกำลังมองหาซอฟต์แวร์ที่ทำงานบน Windows และ / หรือ Ubuntu โดยไม่ต้องใช้การเชื่อมต่ออินเทอร์เน็ต (เช่นไม่มีเครื่องมือบนคลาวด์ที่ต้องการให้ฉันอัปโหลดรูปถ่ายทั้งหมดเพื่อการประมวลผล) เครื่องมือฟรีจะดี แต่เครื่องมือที่เสียค่าใช้จ่ายยังดีกว่าไม่มีเครื่องมือเลย

คำตอบ:


2

ฉันได้พบกับThe GIMP the Face Detection Pluginจาก 2010 (ไม่รับประกันว่ามันจะยังใช้งานได้):

ภาพ

ไม่เช่นนั้นคุณอาจต้องเปิดตัวซอฟต์แวร์ของคุณเอง ในกรณีนี้ดูลิงค์ต่อไปนี้:

ซอฟต์แวร์ตรวจจับใบหน้า
Microsoft Research Face SDK Beta
Intel Perceptual Computing SDK

การกล่าวถึงเป็นพิเศษคือOpenCV ดูที่ตรวจจับใบหน้าจากนั้นปรับภาพอัตโนมัติ สำหรับตัวอย่างโดยใช้ python


1
น่าเสียดายที่ฉันไม่สามารถรวบรวมปลั๊กอินได้ ผมติดตั้งพวงของแพคเกจที่ต้องการได้มากกว่าที่ระบุไว้ในบทความและฉันปรับปรุงการเรียกร้องให้cvHaarDetectObjectsเพื่อให้ตรงกับปัจจุบัน (ไม่ใช่ถอยหลังเข้ากันได้?) API กับพารามิเตอร์พิเศษหนึ่ง แต่ GCC lrintในขณะนี้ล้มเหลวในการอ้างอิงที่ไม่ได้กำหนดที่จะ
หรือผู้ทำแผนที่

lrintทำ "ปัดเศษเป็นจำนวนเต็มที่ใกล้เคียงที่สุด" และกำหนดเป็น "long int lrint (double x)" ควรเขียนโค้ดให้ง่าย
harrymc

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

อืมมม เมื่อฉันเพิ่มคำจำกัดความlrintคอมไพเลอร์บ่นเกี่ยวกับคำจำกัดความที่ขัดแย้งกันlrintเมื่อฉันไม่เพิ่มคำใดคำหนึ่งก็จะบ่นเกี่ยวกับlrintการอ้างอิงที่ไม่ได้กำหนด
หรือผู้ทำแผนที่

ค้นหาคำจำกัดความที่เป็นปัญหาและยึดส่วนหัวของฟังก์ชันของคุณกับมัน
harrymc

5

หากคุณพอใจกับโซลูชัน "จำเป็นต้องใช้แอสเซมบลีบางอย่าง" ลองใช้ "Facetect" (ซึ่งใช้ OpenCV) และ ImageMagick มีตัวอย่างที่หน้าต่อไปนี้:

http://www.thregr.org/~wavexx/hacks/facedetect/#blurring-faces-within-an-image

คู่ของบันทึกย่อในตัวอย่าง:

  • มันใช้ pixelation แต่คุณสามารถแทนที่โอเปอเรเตอร์ "-scale" ได้อย่างง่ายดายด้วย "-blur 0x100" อย่างง่าย
  • แต่ละใบหน้าถูกประมวลผลอย่างอิสระในตัวอย่างซึ่งเป็นสิ่งที่คุณต้องการ: คุณสามารถใช้ "display -crop GEOMETRY" เพื่อแสดงใบหน้าก่อนกระบวนการเบลอ ด้วย "zenity" หรือสคริปต์เชลล์บางตัวมันค่อนข้างตรงไปตรงมาที่จะถามว่าจะดำเนินการเบลอหรือไม่

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

ในการแสดงการตรวจจับที่กำหนดอย่างรวดเร็วให้ใช้ธง "-o" บนตัวอย่างภาพของคุณและดูว่าอัตราการตรวจจับนั้นเพียงพอสำหรับความต้องการของคุณหรือไม่


2

คำตอบที่ดีที่สุดในปัจจุบันดูเหมือนจะเป็น:

https://github.com/openalpr/openalpr

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

ฉันมีความต้องการที่คล้ายกันดังนั้นฉันจึงอาจลองทำสิ่งนี้ แต่ทักษะการเขียนโปรแกรมของฉันค่อนข้างรุนแรง ...

Google มีปัญหาเดียวกัน พวกเขาเผยแพร่งานวิจัยของพวกเขาที่นี่ แต่ไม่ใช่รหัสของพวกเขา: http://static.googleusercontent.com/media/research.google.com/en//archive/papers/cbprivacy_iccv09.pdf


อืม, C ++ ไม่มีภาษาหลักของฉันและตอนนี้ฉันไม่มีเวลาสำหรับการทดลอง แต่อีกไม่ช้า (สัปดาห์ต่อเดือน) ฉันอาจคิดถึงการลองทำสิ่งนี้ แม้ว่าจากไฟล์ readme ดูเหมือนว่านี่เป็นเพียงสำหรับแผ่นป้ายทะเบียนไม่ใช่สำหรับใบหน้า?
หรือผู้ทำแผนที่

0

หากคุณพัฒนาแอพมากขึ้นคุณสามารถลองใช้ API จาก Cloudinary นี่คือข้อมูลเพิ่มเติมเกี่ยวกับ: http://cloudinary.com/blog/automatic_face_blurring_in_images_made_easy

ฉันไม่พบแอปซอฟต์แวร์ใด ๆ ที่ทำโดยอัตโนมัติ อาจมีปลั๊กอินสำหรับ Photoshop หรือ Gimp


ฉันขอโทษฉันได้เชื่อมโยงกับบทความนั้นในคำถามของฉันเป็นตัวอย่างของสิ่งที่ฉันไม่ได้มองหา ฉันไม่ต้องการอัปโหลดภาพถ่ายของฉันไปยัง webservice บางแห่งเนื่องจากการถ่ายโอนต้องใช้เวลานานและเพราะใครจะรู้ว่าจะเกิดอะไรขึ้นกับภาพถ่ายหนึ่งครั้งบนเซิร์ฟเวอร์ของ บริษัท นั้น หากไม่มีสิ่งใดที่เป็นเอกเทศฉันจะหาปลั๊กอิน Gimp ต่อไป
หรือผู้ทำแผนที่

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