Bu son derece zor bir problem. Birkaç yıl boyunca üzerinde çalışan bir ekibin parçasıydım ve uzun süredir bu tür uygulamaları geliştirip destekledim, dent tespitinin özellikle zor bir sorun olduğunu ve ilk bakıştan çok daha zor olduğunu söyleyebilirim.
Laboratuar koşullarında veya bilinen görüntülerde bir algoritma çalışması yapmak bir şeydir; bir otoparkta görülen arabalar gibi "doğal" görüntüler için doğru ve sağlam bir sistem geliştirmek büyük olasılıkla birkaç yıl çalışan bir ekip gerektirecektir. Algoritma oluşturmadaki temel soruna ek olarak, başka birçok mühendislik zorluğu vardır.
Test ettiğiniz örnek kod kötü bir başlangıç değil. Göçüğün karanlık sağ tarafındaki kenarları bulabilirseniz, arabanın kenar haritasını ding ile aynı aydınlatma ile aynı açıdan görüntülenen bilinen iyi bir arabanın kenar haritasıyla karşılaştırabilirsiniz. Aydınlatmayı kontrol etmek biraz yardımcı olacaktır.
Dikkate alınacak sorunlar şunları içerir:
- Aydınlatma (ilk göründüğünden çok daha zor)
- Monte edilmiş dış panelin beklenen 3D yüzeyi (örneğin CAD verilerinden)
- Bir çukuru karakterize eden kriterler: alan, derinlik, profil vb.
- Yanlış negatifler ve yanlış pozitifler için kriterler
- Göçük verilerini ve / veya harita eziklerini bir otomobil modeline (veya kelebek düzenine) kaydetmek anlamına gelir
- "Gerçek" göçük özelliklerini ölçmek için metodoloji ve cihaz: derinlik, alan vb.
- Rastgele araç örneklemesinden oluşan geniş ezik veritabanı
- Farklı boya renkleri ve yüzeyleri ile başa çıkmak
1. Aydınlatma
Martin B'nin yukarıda belirtildiği gibi, bu sorun için doğru aydınlatma kritiktir. İyi yapılandırılmış aydınlatmada bile, özellik çizgilerinin yakınındaki küçük ezikleri, paneller, tutamaçlar arasındaki boşlukları vb.
Yapısal aydınlatma için Wikipedia girişi biraz incedir, ancak prensibi anlamaya bir başlangıçtır:
http://en.wikipedia.org/wiki/Structured_light
Işık şeritleri girişleri (çukurları) ve çıkışları (sivilceleri) tespit etmek için kullanılabilir. Bir ding görmek için, ışık kaynağı ve araba arasında göreceli harekete ihtiyacınız olacaktır. Işık + kamera arabaya göre birlikte hareket eder veya araba ışık + kamerayı geçer.
Her ne kadar girişler ve çıkışlar bir ışık şeridinin kenarında görüldüğünde karakteristik görünümlere sahip olsa da, belirli bir dişin saptanabilirliği, diş şeridinin genişliğine ve ışık şeridinin genişliğine göre derinliğine bağlıdır. Bir otomobilin eğriliği karmaşıktır, bu nedenle bir kameraya tutarlı bir ışık şeridi sunmak oldukça zordur. Işık şeridi araç gövdesi boyunca hareket ettikçe, ışık şeridinin eğriliği ve hatta yoğunluğu değişecektir.
Kısmi bir çözüm, kamera ve ışık şeridinin her zaman incelenen yüzeyin normaline (3B dikey) göre tutarlı bir açıda olmasını sağlamaktır. Uygulamada, kamerayı vücut yüzeyine göre doğru bir şekilde hareket ettirmek için bir robot gerekecektir. Robotu doğru bir şekilde hareket ettirmek, kendi başına kötü bir sorun olan araba gövdesinin pozu (pozisyon ve 3D açıları) hakkında bilgi gerektirir.
Otomotiv uygulamaları için herhangi bir inceleme için, aydınlatmayı tamamen kontrol etmeniz gerekir. Bu, yalnızca seçtiğiniz ışıkları bilinen konumlara yerleştirmekle kalmaz, aynı zamanda diğer tüm ışıkları da engeller. Bu oldukça büyük bir muhafaza anlamına gelecektir. Otomobilin panelleri dışa doğru kıvrıldığından (neredeyse küresel bir yüzey gibi), etraflarındaki kaynaklardan gelen ışığı yansıtırlar. Bu sorunu büyük ölçüde basitleştirmek için, siyah kadife ile örtülmüş bir muhafaza içinde yüksek frekanslı bir floresan çubuk kullanabilirsiniz. Çoğu zaman denetim uygulamaları için böyle uç noktalara gitmek gerekir.
2. 3D yüzey
Bir otomobilin dış yüzeyi karmaşık eğrilerden oluşur. Şüpheli bir noktanın bir ding olup olmadığını bilmek için, o noktayı otomobilin bilinen özellikleriyle karşılaştırmanız gerekir. Bu, 2B görüntüyü kameradan belirli bir açıdan görüntülenen 3B modelle eşleştirmeniz gerektiği anlamına gelir. Bu, hızlı bir şekilde çözülen bir sorun değildir ve bazı şirketlerin bu konuda uzmanlaşmasını sağlamak için yeterince zor.
3. Hata karakterizasyonu
Akademik araştırma veya laboratuvar testleri için mevcut bir yöntem üzerinde umut vaat eden veya iyileşen bir algoritma geliştirmek yeterli olabilir. Bu sorunu gerçek ticari veya endüstriyel kullanım için düzgün bir şekilde çözmek için, tespit etmek istediğiniz ebatlar için oldukça ayrıntılı bir spesifikasyona sahip olmanız gerekir.
Bu sorunu ele aldığımızda, ezikler için makul bir endüstri veya ulusal standart yoktu (3D deformasyonlar). Yani, bir çentiği alanı, derinliği ve şekli ile karakterize etmek için üzerinde anlaşmaya varılmış bir teknik yoktu. Sadece endüstri uzmanlarının kabul ettikleri, şiddet açısından kötü, çok kötü ve marjinal olduğuna dair örnekler aldık. Bir ding'in "derinliğini" tanımlamak da zordur, çünkü ding (tipik olarak) dışa doğru eğimli bir 3B yüzeyde 3B girintidir.
Daha büyük ölümleri tespit etmek daha kolaydır, ancak daha az yaygındır. Deneyimli bir otomatik çalışan, bir araba gövdesini - eğitimsiz bir gözlemciden çok daha hızlı bir şekilde - hızlı bir şekilde tarayabilir ve pembemsi parmağınızın boyutunu hızla sığdırır. Otomatik bir sistemin maliyetini haklı çıkarmak için muhtemelen deneyimli bir gözlemcinin yeteneğini eşleştirmeniz gerekir.
4. Tespit hataları için kriterler
Erken kabul edilebilir yanlış negatifler ve yanlış pozitifler için kriterler belirlemelisiniz. Bu sorunu sadece bir Ar-Ge projesi olarak inceleseniz ve bir ürün geliştirmeyi düşünmeseniz bile, tespit kriterlerinizi tanımlamaya çalışın.
yanlış negatif: göçük var, ancak tespit edilmedi yanlış pozitif: göçük olarak tanımlanan kusursuz alan
Genellikle bir ödünleşim vardır: hassasiyeti artırın ve daha fazla sayı bulacaksınız (yanlış negatifleri azaltın), ancak orada olmayan daha fazla sayı da bulacaksınız (yanlış pozitifleri artırın). Bir algoritmanın gerçekte olduğundan daha iyi performans gösterdiğine kendini ikna etmek kolaydır: doğal önyargımız, algoritmanın tespit ettiği hataları fark etmek ve tespit etmediklerini açıklamaktır. Kör, otomatik testler yapın. Mümkünse, gerçek ölçümlerin ne olduğunu bilmemeniz için bir başkasının ölümleri ölçmesini ve şiddetini atamasını sağlayın.
5. Verileri kaydedin ve / veya haritalayın
Göçük, ciddiyeti ve araç gövdesi üzerindeki konumu ile karakterizedir. Konumunu bilmek için yukarıda belirtilen 2D-3D yazışma problemini çözmelisiniz.
6. Çukurların "gerçek" şeklinin belirlenmesi Çukurların
ölçülmesi zordur. Keskin bir çentik ve aynı yüzey alanı ve derinliğe sahip yuvarlak bir çentik farklı görünecektir. Eziklerin mekanik yollarla ölçülmesi öznel yargılara yol açar ve daha fazla olmasa bile düzinelerce ölçmeniz gerekeceği zaman derinlik ölçerleri, cetveller vb. Kullanmak da oldukça sıkıcıdır.
Bu, imalat için herhangi bir kusur tespit projesi için çözülmesi daha zor mühendislik problemlerinden biridir: bir kusur nasıl ölçülür ve karakterize edilir? bunu yapmak için bir standart varsa, standart, denetim sisteminin ölçtüğü bir şeyle iyi bir şekilde ilişkili mi? Eğer teftiş sistemi bir ding bulamazsa "bulmalıydı" bulundu, kim suçlanacak?
Bununla birlikte, bir denetim sistemi bilinen kusurların bir örneği için yeterince iyi çalışırsa, kullanıcılar sonunda güvenmeye gelebilir ve sistemin kendisi kusur şiddetini tanımlamak için standart haline gelir.
7. Çukurların geniş veritabanı
İdeal olarak, zor üreticilerin araçlarında farklı konumlarda farklı yoğunluklarda çentiklerin binlerce olmasa bile yüzlerce örnek görüntüsü olacaktır. Montaj işlemi sırasında kazaların neden olduğu ezikleri bulmakla ilgileniyorsanız, bu tür verileri toplamak uzun sürebilir. Montaj işlemi sırasında oluşan ezikler yaygın değildir.
Sadece kazaların veya çevresel zararların neden olduğu ezikleri bulmakla ilgileniyorsanız, bu farklı bir konudur. Çukur tipleri, bir oto montaj tesisindeki kazara çarpmalardan kaynaklananlardan farklı olacaktır.
8. Farklı boya renkleri ile başa çıkmak
Kenar dedektörlerinin, farklı kontrast seviyelerinde görüntülerdeki kenarları tespit etme konusunda oldukça sağlam olabileceği doğrudur, ancak "değişen kontrast seviyelerinin" farklı otomotiv boyaları ve yüzeyleri için gerçekten ne anlama geldiğini görmek oldukça cesur olabilir. . Parlak siyah bir arabada harika görünen hafif bir şerit, eski boya ile beyaz bir arabada zorlukla algılanabilir.
Çoğu kamera nispeten sınırlı dinamik aralığa sahiptir, bu nedenle hem siyah parlak yüzeyler hem de beyaz mat yüzeyler için iyi kontrast elde etmek zordur. Işık yoğunluğunu otomatik olarak kontrol etmeniz gerekecektir. Bu da zor.