Menggunakan Neural Networks untuk mengekstrak beberapa parameter dari gambar

8

Saya ingin mengekstrak parameter dari gambar menggunakan jaringan saraf.

Contoh:

Diberi gambar dinding bata, NN harus mengekstraksi lebar dan tinggi bata, warna dan kekasarannya.

Saya dapat menghasilkan gambar untuk parameter yang diberikan untuk melatih NN dan ingin menggunakannya untuk mengekstrak parameter dari gambar yang sebenarnya.

Saya telah melihat CNN. Bisakah saya melakukan tugas ini dengan mereka? Apakah saya perlu algoritma pembelajaran khusus untuk mengekstrak beberapa parameter, bukan klasifikasi? Apakah ada NN yang dirancang untuk tugas seperti itu?

H4kor
sumber
Bisakah Anda melampirkan beberapa contoh gambar yang ada dalam pikiran Anda? CNN mungkin berlebihan untuk tugas tersebut, tetapi di sisi lain layak dipelajari dan bereksperimen dengan jika prioritas utama Anda adalah penggunaan jaringan saraf berbeda dengan algoritma CV "tradisional".
NikoNyrh
@NikoNyrh dapat memberikan contoh gambar, tetapi saya ingin menggunakan teknik ini untuk berbagai kelas tekstur. Tujuannya adalah untuk mengekstrak parameter shader dari gambar. Contoh bata sebagian besar berisi parameter intuitif, tetapi shader lain mungkin akan menggunakan parameter yang tidak dapat dengan mudah diperoleh oleh algoritma yang direkayasa dengan baik. Saat ini saya sedang menguji pendekatan yang berbeda dan ingin mencoba jaringan saraf karena saya dapat menghasilkan data pelatihan "tak terbatas".
H4kor

Jawaban:

8

CNN bisa menjadi pilihan yang baik untuk tugas ini jika Anda mengharapkan variasi dalam skala gambar asli, pencahayaan rotasi dll, dan juga memiliki banyak data pelatihan.

Arsitektur CNN yang biasa adalah memiliki lapisan konvolusional dekat dengan input, dan lapisan yang sepenuhnya terhubung dalam output. Lapisan-lapisan yang terhubung sepenuhnya dapat mengatur output untuk tugas klasifikasi atau regresi yang berbeda sesuai keinginan Anda. Memprediksi nilai parameter yang menggambarkan gambar adalah tugas regresi.

Jika Anda menginginkan ukuran ukuran yang akurat, Anda mungkin perlu menghindari penggunaan lapisan pengumpulan maks. Sayangnya, tidak menggunakan pooling akan membuat jaringan Anda lebih besar dan lebih sulit untuk dilatih - Anda mungkin akan pergi dengan belokan melilit bukan jika itu masalah bagi Anda.

Jika gambar input Anda sangat sederhana dan jelas (karena selalu dihasilkan oleh komputer), maka pendekatan lain mungkin lebih dapat diandalkan. Anda mungkin dapat merekayasa balik produksi gambar dan memperoleh aturan sederhana seperti mengidentifikasi garis, sudut, lingkaran, dan komponen gambar yang mudah disaring lainnya, serta melakukan pengukuran langsung. Mungkin juga ada jalan tengah dalam kompleksitas di mana mengekstraksi data ini sebagai fitur dan menggunakannya untuk melatih NN sederhana (atau model ML lainnya) akan memiliki kinerja yang baik.

Neil Slater
sumber