Saya telah menulis program komputer yang dapat mendeteksi koin dalam gambar statis (.jpeg, .png, dll.) Menggunakan beberapa teknik standar untuk penglihatan komputer (Gaussian Blur, thresholding, Hough-Transform dll.). Dengan menggunakan rasio koin yang diambil dari gambar yang diberikan, saya dapat menetapkan dengan pasti koin mana yang mana. Namun, saya ingin menambah tingkat kepercayaan saya dan juga menentukan apakah koin yang saya simpulkan memiliki tipe-A (dari rasio radius) juga dari colo [u] r yang benar. Masalahnya adalah bahwa untuk koin Inggris et al. (tembaga, perak, emas), warna masing-masing (khususnya tembaga ke emas) sangat mirip.
Saya memiliki rutinitas yang mengekstraksi warna rata-rata dari koin yang diberikan dalam istilah 'ruang warna' RedGreenBlue (RGB) dan rutin untuk mengubah warna ini menjadi 'ruang-warna HueSaturationBrightness (HSB atau HSV)'.
RGB tidak terlalu bagus untuk digunakan dalam upaya membedakan antara tiga warna koin (lihat gambar [dasar] yang terlampir sebagai contoh). Saya memiliki rentang dan nilai tipikal berikut untuk warna dari berbagai jenis koin:
Catatan: nilai khas di sini adalah nilai yang dipilih menggunakan rata-rata 'piksel-bijaksana' dari gambar nyata.
**Copper RGB/HSB:** typicalRGB = (153, 117, 89)/(26, 0.42, 0.60).
**Silver RGB/HSB:** typicalRGB = (174, 176, 180)/(220, 0.03, 0.71).
**Gold RGB/HSB:** typicalRGB = (220, 205, 160)/(45, 0.27, 0.86)
Saya pertama kali mencoba menggunakan 'jarak Euclidian' antara warna koin rata-rata yang diberikan (menggunakan RGB) dan nilai-nilai khas untuk setiap jenis koin yang diberikan di atas yang memperlakukan nilai RGB sebagai vektor; untuk tembaga kita akan memiliki:
di mana nilai terkecil dari selisih ( ) akan memberi tahu kami jenis koin mana yang paling mungkin. Metode ini menunjukkan dirinya sangat tidak akurat.
Saya juga mencoba membandingkan rona koin dengan nilai tipikal dari tipe yang disediakan di atas. Meskipun secara teoritis ini memberikan 'ruang warna' yang jauh lebih baik untuk menangani berbagai tingkat kecerahan dan saturasi gambar, juga tidak cukup akurat.
Pertanyaan: Apa metode terbaik untuk menentukan jenis koin berdasarkan warna (dari gambar statis)?
Terima kasih banyak atas waktu Anda.
Edit 1
Catatan: Saya telah mencoba semua ide yang dibahas di bawah dan hampir tidak berhasil. Perbedaan dalam kondisi pencahayaan (bahkan di dalam gambar yang sama) membuat masalah ini sangat sulit dan harus dipertimbangkan.
Edit 2 (Ringkasan Hasil)
Terima kasih atas jawaban anda Penelitian lebih lanjut saya sendiri (termasuk jawaban dan komentar Anda) telah menyoroti betapa sulitnya masalah ini untuk ditangani dalam kasus generik pencahayaan sewenang-wenang, kamera sewenang-wenang (perangkat seluler), fluktuasi warna koin (bahkan untuk spesies / jenis yang sama) dll. Saya pertama kali melihat pengenalan warna kulit (bidang penelitian yang sangat aktif) sebagai titik awal dan masih ada banyak masalah bahkan dengan pengenalan warna kulit untuk orang Kaukasia saja (lihat makalah ini untuk tinjauan teknik saat ini), dan fakta bahwa masalah ini mengandung tiga objek warna berbeda yang kesemuanya dapat memiliki chromacities kontinu dan bervariasi membuat topik visi komputer ini menjadi sangat sulit untuk diklasifikasi dan ditangani secara sesuai (sebenarnya Anda dapat melakukan Ph.D. !).
Saya melihat ke Metode Kendala Gamut dari posting yang sangat membantu oleh DW di bawah ini. Ini pada pandangan pertama sangat menjanjikan sebagai langkah pra-pemrosesan untuk mengubah gambar dan objek koin terpisah menjadi warna yang tidak tergantung pada kondisi pencahayaan. Namun, bahkan teknik ini tidak bekerja dengan sempurna (dan melibatkan perpustakaan gambar / histogram untuk pemetaan - yang saya tidak ingin masuki) dan juga tidak metodologi metodologi Neural Network Architecture yang jauh lebih kompleks. Bahkan makalah ini menyatakan secara abstrak bahwa:
"current machine colour constancy algorithms are not good enough for colour-based
object recognition.".
Itu bukan untuk mengatakan bahwa tidak ada lebih banyak makalah terkini tentang hal ini di luar sana, tetapi saya tidak dapat menemukan mereka dan tampaknya tidak menjadi area penelitian yang sangat aktif saat ini.
The jawabannya oleh AVB juga membantu dan saya telah melihat ke L A B * sebentar.
"The nonlinear relations for L*, a*, and b* are intended to mimic the nonlinear
response of the eye. Furthermore, uniform changes of components in the L*a*b* colour
space aim to correspond to uniform changes in perceived colour, so the relative
perceptual differences between any two colours in L*a*b* can be approximated by
treating each colour as a point in a three dimensional space."
Dari apa yang telah saya baca, transformasi ke ruang warna ini untuk gambar yang tergantung pada perangkat saya akan menjadi rumit - tetapi saya akan membahasnya secara terperinci (dengan maksud untuk semacam implementasi) ketika saya memiliki sedikit waktu lebih banyak.
Saya tidak menahan napas untuk solusi konkret untuk masalah ini dan setelah upaya dengan L A B * saya akan mengabaikan warna koin dan mencari untuk memastikan algoritma deteksi geometrik saya saat ini (Elliptic Hough Transform akurat dll.).
Terima kasih semuanya. Dan sebagai catatan akhir untuk pertanyaan ini, berikut adalah gambar yang sama dengan algoritma pendeteksian geometrik baru, yang tidak memiliki pengenalan warna: