Keputusan berdasarkan data tentang contoh pemilihan warna untuk lukisan dinding

Mulai memilih warna untuk melukis dinding di ruangan, saya menemukan hal yang menarik. Seluruh proses sejak awal mulai menyerupai pekerjaan pada beberapa proyek analitik IT-ML-Blah-blah-blah-analitik.

Ada juga pelanggan yang tidak benar-benar mengerti apa yang sebenarnya dia inginkan, tetapi menginginkan semuanya menjadi baik dan dia suka. Masih ada beberapa pihak yang berkepentingan dari pihak pelanggan yang tidak dapat menyetujui apa yang β€œbaik”. Ada beberapa reformulasi masalah, yang, di bawah pertanyaan besar, relevan dengan "baik" ini, tetapi setidaknya entah bagaimana diselesaikan. Ada beberapa pilihan metode solusi dan upaya untuk mengimplementasikannya. Ada iterasi, yang secara implisit, tetapi monoton, mengarah pada semacam solusi yang cocok untuk semua orang. Dan ada beberapa kesimpulan aneh yang hampir tidak bisa ditarik dalam proyek "nyata", karena karena kegugupan dan partisipasi umum dalam proses uang, fokus perhatian jarang berhenti di tempat-tempat ini dalam proses.



Secara umum, jika Anda melihat pilihan warna di dalam ruangan, sebagai proses analitis, hasilnya bisa menarik.

Pernyataan masalah


Ada hal-hal yang lebih menjijikkan dan menjengkelkan daripada pilihan oleh beberapa orang dengan warna untuk melukis dinding di ruangan, tetapi mereka sedikit. Paling sering mereka dikaitkan dengan beberapa jenis penyakit atau cedera.

Tampilan bunga secara metodis membangkitkan lautan asosiasi dengan rumah sakit, supermarket, lembaga pemerintah, dapur Soviet di apartemen umum dan toilet umum. Dan jika itu tidak menyebabkan Anda, maka lawan bicara itu benar-benar mewarnai dinding koridor sekolah, tempat lawan bicara menghabiskan tahun-tahun terburuk dalam hidupnya. Iritasi cenderung meningkat, dan keputusan untuk tidak dibuat.

Maka muncullah Tugas. Kriteria kualitas untuk memecahkan masalah ini adalah sebagai berikut:

KPI: Tingkat kepuasan semua pemangku kepentingan terhadap warna dinding di ruangan. KPI positif secara langsung tidak dapat dicapai sebelum melukis seperti itu (tapi saya tidak ingin mengecat 10 kali), jadi saya harus menggunakan sesuatu yang lain.

KPI Realistis: Tingkat kepuasan semua pihak yang berkepentingan dari pilihan warna untuk mengecat dinding (harus segera dicatat bahwa pilihan warna yang memuaskan tidak menjamin kepuasan dari warna ini di dinding, tetapi tidak ada banyak pilihan. Keputusan harus dibuat dalam kondisi di mana hasil keputusan masih belum diketahui)

Input data:

  • Kamar
  • Palet RGB
  • Tertarik orang yang memilih warna untuk ruangan

Nah, di sini prosesnya dimulai, tidak asing bagi siapa pun yang mengimplementasikan proyek perusahaan.

Tetapi saya tidak melakukannya dengan jari saya, karena sekarang saya akan menemukan sesuatu yang pintar-matematis!


Lihatlah warnanya dan lihat dengan jelas bagaimana itu akan terlihat di dinding, pada dasarnya hanya orang-orang yang memiliki pendidikan seni. Tapi mereka bukan kita. Kita perlu mencari cara bagaimana menghubungkan warna dengan dinding, sehingga keputusan dibuat lebih cepat dan entah bagaimana lebih dibenarkan. Dan paint.net adalah keselamatan kita. Anda dapat mengambil foto panorama ruangan, menghapus dinding dari foto dan kemudian melukisnya dengan sesuatu. Mungkin ini akan membantu membuat keputusan yang cocok untuk semua orang? Dalam kasus kami, semuanya dimulai dengan ini:



Ini kamar dengan dinding yang aus. Sekarang Anda bisa mengecat dinding menjadi apa saja dan lihat apakah kita suka atau tidak. Misalnya, lakukan sesuatu seperti ini:



Dan itu luar biasa.

Tapi tidak!

Dunia kuda poni merah muda dengan mata yang terkoyak bukan tentang kita. Diskusi para pemangku kepentingan tentang pilihan warna saat menaruhnya di foto juga dengan cepat terhenti. Beberapa jam ribut-ribut dengan cat dan tanpa konsensus. Namun! Kami punya beberapa alat. Itu bisa digunakan. Jika kita tidak berhasil, mungkin ada orang yang bisa melakukan ini untuk kita?

Solusi ahli


Para ahli menyebut semua pelanggan VK yang tertarik. Taruhannya adalah bahwa tahun 2018 ada di pekarangan, tetapi kita masih memiliki negara nasihat. Biarkan semua orang mulai menasihati semua orang.

Untuk mahakarya fotografi yang disebutkan di atas, sebuah "situs" dibuat, yang berisi foto ruangan dan pemetik warna yang memungkinkan mengubah warna dinding. Tautan ke situs telah diposting di VK dengan permintaan untuk membantu dengan pilihan warna.

Para ahli mengungkapkan sejumlah pendapat, membagikan opsi mereka. Sayangnya, ini tidak mengarah pada konsensus, tetapi menyebabkan sejumlah perubahan dalam prioritas estetika di antara pihak-pihak yang berkepentingan. Dan bias ini selanjutnya mengarah pada konsensus.

Jalan Menuju Pembelajaran Mesin


Para ahli punya dua masalah.

  • Pendapat ahli tidak selalu bertepatan dengan pendapat orang yang bersangkutan,
  • Ada beberapa ahli dan semua pendapat mereka tidak dapat dikumpulkan bersama untuk membuat satu keputusan rata-rata.

Bersama-sama, kedua masalah itu tidak memberikan solusi.

  • Jika ada banyak ahli, mereka bisa menghancurkan kuantitas sehubungan dengan beberapa opsi,
  • Jika jumlahnya sedikit, tetapi semua orang memiliki pendapat yang sama dengan pihak-pihak yang berkepentingan, orang bisa saja setuju dengan para ahli.

Tetapi perumusan masalah pendapat ahli memberi kunci untuk iterasi berikutnya.

Anda harus memiliki BANYAK peringkat. Jika ada banyak dari mereka, dan semua suara untuk sesuatu yang spesifik, lebih mudah untuk menerima ini. Tetapi bagaimana cara melakukannya?

Misalnya, untuk membuat aplikasi desktop kecil yang akan menerapkan opsi gamma acak ke gambar, dan orang yang tertarik akan menilai opsi ini dari 0 hingga 10. Dengan demikian, lebih dari 300 peringkat warna yang berbeda dikumpulkan dalam format:

 beginpmatrixr di[0,255]g in[0,255]b in[0,255]V di[0,10] endpmatrix

Warna yang paling banyak diberi nilai 0, tentu saja.

Sekarang kami memiliki sampel dengan perkiraan, meskipun tidak terlalu nyaman untuk analisis. Anda dapat memformulasi ulang bahwa V adalah dari 0 hingga 10, ini bukan skor warna, tetapi jumlah orang yang memilih opsi ini. Dan mengubah vektor 4 dimensi (r,g,b,V)Tdalam v 3 dimensi (r,g,b)T. Nol menghilang secara alami. Dan setiap vektor sekarang memiliki suara yang sama untuk warna yang sesuai. Lebih mudah untuk menambahkan offset kecil acak ke nilai RGB sehingga Anda tidak akan mendapatkan banyak warna yang persis sama.

Dalam formulasi ini, formulasi tipikal dari masalah menemukan kerapatan maksimum dari distribusi multidimensi diperoleh. Yaitu kami mencari daerah di mana orang akan "memilih" lebih sering.

Jika kita ingin memperkuat pengaruh peringkat tinggi, kita dapat mengambil VΒ² saat mengonversi 4-d ke 3-d. Kemudian, skor 2 menghasilkan 4 suara, dan skor 4 menjadi 16 suara. Dengan demikian, kita dapat mengurangi pengaruh warna-warna yang kita pilih, tetapi tidak secara langsung kuat.

ML


Dua hal sederhana yang terlintas dalam pikiran adalah bahwa Anda mungkin dapat memperkirakan distribusi yang dihasilkan dengan distribusi normal multidimensi atau fungsi kuadratik dalam 3-d (sesuatu yang sangat berkubah dengan maksimum yang diucapkan). Bukannya semua yang ada di sana benar-benar digambarkan dengan indah oleh fungsi-fungsi sederhana seperti itu, tetapi dalam hal ini sangat mungkin untuk sedikit menutup mata terhadapnya.

Untuk memperkirakan normal multidimensi , hanya perlu memperkirakan menurut data matriks kovarians dan harapan untuk semua distribusi marjinal . Setelah itu, Anda dapat secara analitik menghitung maksimum, tetapi jauh lebih mudah (untuk otak) untuk hanya melalui semua kombinasi warna yang mungkin dengan langkah, menggantikan parameter distribusi dan nilai warna dalam formula distribusi. Kemudian ambil titik maksimum.

max(N( boldsymbol mu, boldsymbol Sigma, boldsymbolColor)),dimana

 boldsymbol muadalahvektor ruangharapan, boldsymbol Sigmaadalahmatriks ruangkovarians, boldsymbolWarna=perm((r,g,b)T),perm()βˆ’semua spacemungkin spacepreset permutasiruang spacecolors,
Perkiraan dengan multidimensi normal dan pencarian maksimumnya memberikan warna biru-ungu yang bagus dari tingkat kabut yang diinginkan:



Memperbesar bahkan lebih mudah.

Untuk melakukan ini, di matlab fungsi formulir diatur untuk semua variasi yang mungkin i,j,k:

C(r,g,b, boldsymbolc)= sumi,j,kcijkrigjbk,(i,j,k) dalamN,i+j+k le2

Untuk semua data yang mungkin, koefisien berubah cijkdan metode simulasi anil meminimalkan kesalahan kuadrat dari kepadatan titik di sekitarnya:

min( sumD(C(r,g,b, boldsymbolc)βˆ’p(r,g,b)))2),dimana

 spacep(r,g,b)adalahdensitasdari spacevoices spacedi spaceneighborhood spacedarititik space(r,g,b).
Setelah mengatur koefisien polinomial, maksimum dihitung dengan menghitung turunan dari fungsi βˆ’Cmenggunakan kotak alat simbolis dan memajukan akar turunan. Ada beberapa akar, tetapi satu cocok untuk pembatasan nilai warna.

Perkiraan oleh fungsi kuadratik dan pencarian ekstremitasnya menghasilkan versi yang mirip dengan distribusi normal. Sedikit lebih biru dan kurang merah:



Tetapi kadang-kadang Anda tidak dapat berpikir tentang perkiraan dan hanya menulis jaringan saraf, yang memberi makan semua data. Tidak masuk akal untuk berbicara tentang parameter jaringan saraf, tetapi ada banyak pilihan, banyak arsitektur, dan beberapa penyimpangan yang berbeda atas variabel. Alhasil, ternyata mengeluarkan pendapat yang cukup stabil tentang warna terbaik. Penilaian sebelumnya tentang "kebaikan" warna membuat jaringan bekerja di hampir semua hal kecuali hijau. Dia dengan murah hati menambahkan hijau.



Omong-omong, jika kita merumuskan ulang kepadatan sebagai kelas, misalnya, mencari beberapa nilai lebih besar dari 5, dan menggunakan Gradient Boosting Classifier untuk menemukan area ruang di mana perkiraan positif paling padat, kita mendapatkan yang hampir sama.

Dan di sini sekali lagi masalah muncul dengan sendirinya, yang sering memanifestasikan dirinya dalam proyek nyata ketika menyajikan apa yang disebut "hasil sementara". Kedengarannya seperti ini:

Ini, tentu saja, semuanya sangat bagus: jaringan saraf, distribusi, tetapi untuk beberapa alasan saya tidak menginginkan ini ... Saya ingin ini bagus.

Momen di sini sangat menarik bahwa apa yang dinilai cantik dalam sebuah foto belum tentu apa yang ingin Anda miliki di dinding Anda jika Anda mengevaluasinya lebih hati-hati lagi!

Jadi dalam proyek nyata, beberapa indikator, ketergantungan yang sebelumnya tampak obyektif dan konstruktif, tiba-tiba entah bagaimana menjadi tertekan ketika memperoleh hasil pada mereka (bahkan jika, secara umum, itu bekerja dengan baik dalam hal jumlah). Dan satu hal yang tersisa. Temukan semua yang baik yang telah kami berhasil dan sajikan dengan beberapa gambar indah sehingga semua orang bahagia.

Visualisasi


Mari menggambar dengan indah, bagaimana kita memilih warnanya? Sebagai contoh, kami akan membuat sebar plot 3-d di matlab untuk HSV (255.255.255), di mana tempat-tempat yang mereka pilih akan diwakili oleh bola-bola dengan warna yang diinginkan. Semakin besar bola, semakin banyak yang mereka pilih. Dalam kasus kami, terlihat seperti ini:

Maaf saya tidak membawa HSV ke 360/100/100, itu adalah kemalasan, dan semuanya dari 0 hingga 1 di matlab.

Semakin besar bola, semakin banyak warna yang Anda suka.

Dari proyeksi grafik ini, termasuk, menjadi jelas mengapa metode yang berbeda memberikan hasil yang mereka berikan. Sebagai contoh:


Warna Proyeksi / Warna

Dari proyeksi Warna / Hue, dapat dilihat bahwa jika Anda membangun Gaussian atau memperkirakannya dengan fungsi kuadrat, maksimum akan berada di antara biru dan ungu. Dalam hal ini, warna maksimum akan menjadi sekitar 100 dan warna yang sangat cerah tidak dipilih. Jaringan saraf di mana ruang akan cukup kompleks dengan sejumlah besar ekstrem lokal memiliki kemampuan untuk memperhitungkan bagian hijau. Rupanya ada suatu tempat puncak merah muda, tetapi sedikit lebih rendah, jadi saya tidak masuk ke hasil akhir. Dll

Melihat visualisasi terungkap 3 pseudo-cluster nyata.



Kemampuan rata-rata dari semua metode kasar dengan gembira menggabungkan biru muda dan biru tua menjadi satu hasil biru tua. Pada saat yang sama, logika menyarankan bahwa tidak layak mengecat ruangan dengan warna-warna gelap (bahkan jika mereka tidak terlihat di foto), jadi klaster ini harus dibuang. Dan tidak ada yang benar-benar menyukai hijau, karena itu menyebabkan semua jenis asosiasi rumah sakit-komunal selama menatap lama. Kenapa ada matematika di sini, ya?

Di cluster yang tersisa, Anda hanya harus mengambil rata-rata bersyarat dan menyelesaikannya dengan tangan Anda.



Mengenai hal ini, semua pihak yang berkepentingan sepakat bahwa, secara umum, ini adalah kompromi, yang patut dihentikan.

Setelah beberapa minggu, kenyataan tidak terlalu menyimpangkan ekspektasi (walaupun itu sedikit lebih pink dari kenyataan yang seharusnya) ...



Warna merah muda itu sendiri, tentu saja, adalah hal yang meragukan, tetapi kami sendiri menginginkannya. Sekarang tinggal membeli furnitur dengan warna yang sesuai. Hm Tapi jangan memikirkan penataan furnitur otomatis optimal di dalam ruangan? Ini adalah masalah pengoptimalan cembung yang khas ...

Kesimpulan


Pada saat yang sama menjadi bagian dari pelanggan dan kontraktor, saya terkejut melihat bagaimana saya sendiri tidak dapat menemukan pemahaman tentang masalah di mana saya agak tertarik untuk menyelesaikan kedua belah pihak. Juga, saya terkejut melihat bagaimana hal-hal yang saya pikir objektif dan langsung disimpulkan dari data yang memuaskan saya sebagai seorang seniman tidak dapat memuaskan saya sebagai pelanggan.

Kegilaan di sini menambahkan bahwa saya sendiri yang mengumpulkan data, secara langsung menunjukkan kepada mereka apa yang sebenarnya berpotensi memuaskan saya. Dan ternyata, saya tidak bisa mengkompilasi mereka sepenuhnya, untuk beberapa alasan bahwa saya sendiri tidak terlalu jelas. Sebagai contoh, saya memberi nilai tinggi pada warna-warna gelap, meskipun mereka jelas tidak memiliki kemampuan untuk dipilih pada akhirnya. Mengapa Karena fotonya lucu. Tugas sebenarnya sangat berbeda, tetapi memilih warna dari pertimbangan yang lebih kompleks pada mesin itu tidak realistis.

Pada akhirnya, dalam data yang saya hasilkan, solusinya disembunyikan. Tapi bagaimana segera mengambil keputusan, tanpa tarian aneh ini dengan rebana, yang mengoreksi ide saya sendiri tentang apa yang saya butuhkan (atau tentu saja tidak diperlukan), itu tidak terlalu jelas. Saya melihat visualisasi dengan bola dan sebelum saya mulai mencari maksimum menggunakan metode yang berbeda. Tapi saya melihat "cluster" hanya setelah itu.

Source: https://habr.com/ru/post/id421795/


All Articles