Memperkenalkan format NIFTI yang merupakan standard untuk pengolahan. Dikonversi dari dicom dari alatnya sendiri. Perbedaan antara dcom dengan NIFTI terlihat pada gambar diatas.
Minggu, 22 Agustus 2021
Rekonstruksi Citra? Generative Model Architectures pilihan utamanya
Memang di dunia per ML an ini tidak ada yang saklek, hanya mendekati, tidak ada rule of thumb, hanya kebanyakan dari kebiasaan penggunaan sebelumnya. Oke back to topik, karena penelitian saya bidang rekonstruksi citra maka dari pengalaman-pengalaman suhu-suhu sebelumnya cocoknya(saya bilang disini cocoknya ya...) menggunakan arsitektur model generatif. Oke jadi menurut situs ini, generatif model itu terdiri dari :
- Generative Adverserial Network (Latent space guys)
- Boltzmann machines (nah ini yang menginspirasi Deep Believe Network)
- Variational autoencoders (ini sebelumnya kita pakai untuk denoising)
- Hidden Markov models
- Models that predict the next word in a sequence, like GPT-2
Masing masing model diatas tentu berkembang dong sampai sekarang, makanya saya lengkapi di ujungnya biar kebayang perkembangannya. Okeh untuk GAN, kita lakukan terlebih dahulu training terhadap Diskriminator secara supervised learning, dimana inputan berasal dari real data dan sesekali dari generator untuk fake data dengan label tentunya fake(dari generator) or real(dari inputan data).
Baru setelah itu kita latih generatornya dengan target luaran masuk ke diskriminator dan memastikan output label real dari generator. lanjut terus iterasi selanjutnya sampai nilainya optimal. Untuk contoh kode bisa kita tengok dengan dataset MNIST.
Gambar di generate dari latent space berupa noise random. Ketika generator belum dilakukan di training seperti gambar diatas, dia akan menghasilkan citra random dengan nilai 0-1(gambar biner) seperti gambar berikut:Minggu, 15 Agustus 2021
Principal Component Analysis (PCA) dan Analysis of Variance (ANOVA) dalam Citra
Hasil diskusi dengna pa ibnu, untuk menentukan jumlah layer bisa digunakan PCA, sedangkan untuk melakukan pengecekan linearitas menggunakan ANOVA. Disisi lain PCA digunakan juga untuk rekonstruksi citra.
Kata pa ibnu :
Kalau yg usulan sy, dicari berdasar datasetnya. Buat nentuin jumlah hidden layer dicari menggunakan pca, kemudian jml neuron tiap hidden layer menggunakan pengklasteran k-means dan kriteria elbow. Sblmnya harus diuji linieritasnya dulu untuk tiap2 atribut input dan output.
Kalau di spss pakai anova, sy tinggal pakai sj sih. Semakin byk yg hubungannya linier, diduga kebutuhan varian kumulatif pca berkurang, nantinya akan berpengaruh pada kebutuhan jumlah hidden layer.
kalau klasifikasi biner ambil cutoff sekitar 40%, kalau multi kelas 60-70%.kalau regresi ambil di atas 80%. nah misal kita ambil cutoff 70% itu butuh 4 komponen, berarti jumlah hidden layernya kita ambil 4 dulu. Btw, mengenai data linier bisa dicoba Dendrite Net bisa dikembangkan dari yang sudah published DNR yang mengolah time series atau data sekuensial.
Sabtu, 14 Agustus 2021
Antara Denoising dan Autoencoder
Memang judul denoising adalah judul yang lama, semakin berkembangnya teknik machine learning maka muncul sebuah konsep dengan istilah Autoencoder. Dimana denoising merupakan salah satu praktek dari pengaplikasian Autoencoder.
- Pengenalan Deep Learning Part 6 : Deep Autoencoder
- Denoising Autoencoders explained
- Autoencoders and the Denoising Feature: From Theory to Practice
- Denoising images : Reconstructing images with an autoencoder
- Autoencoder For Denoising Images (Berbayar)
- Autoencoders for Image Reconstruction in Python and Keras
autoencoder.fit(x=X_train, y=X_train, epochs=20,validation_data=[X_test, X_test])
autoencoder.fit(x=X_train_noise, y=X_train, epochs=1,validation_data=[X_test_noise, X_test])
Rabu, 11 Agustus 2021
Monte Carlo Simulation : Prinsip dasar dan penerapan random dalam penyelesaian masalah noise pada citra
Memang saat ini penelitian saya banyak mengacu dan lebih banyak membaca hal-hal yang berurusan dengan deep learning. Sampai pada akhirnya ketika membaca paper dari Cheng Du, bahwasanya rekonstruksi citra mereka menggunakan Monte Carlo untuk mereduksi noise, sehingga muncul pertanyaan binatang apa monte carlo ini. Dari sekian hasil pencarian google akhirnya saya menemukan video yang pas untuk penjelasan monte carlo dan bagaimana dia bisa menghilangkan noise atau blur pada gambar.
Di video tersebut diperlihatkan bagaimana bola secara random di jatuhkan di antara wadah linkaran dan kotak, kemudian diperhitungkan berapa peluang bola masuk ke wadah lingkaran dan wadah kotak. misal a merupakan sisi dan radius wadah. maka peluang bola masuk ke wadah lingkaran adalah = luas lingkaran/luas kotak = pi*a^2/a^2 = pi. Sehingga peluangnya ada pi untuk masuk ke wadah lingkaran. Terlihat semakin banyak random jatuhan bola, maka akan semakin mendekati nilai pi. Sehingga kesimpulannya semakin banyak nilai random yang diambil maka akan semakin baik nilainya. Dengan syarat pengambilan sampel random harus unbiased(tidak memihak).
Contoh lainnya pada gambar adalah dengan mengambil random pencahayaan sehingga akan didapatkan hasil citra yang baik. Jika diterapkan di rekonstruksi citra, kita tahu fMRI banyak sekali noise nya sehingga wajar kita akan menggunakan denoising Monte Carlo setelah citra dibangkitkan dari perekaman fMRI. Pertanyaan selanjutnya adalah, nilai random unbias seperti apa yang diambil sebagai parameter denoising nya? apakah diambil dari stimulus langsung? maka sudah ada yang membuatnya di postingan ini. Atau benar-benar random dari berbagai bahan gambar yang benar benar unbias agar denoise benar benar independen dari stimulus? tapi akan memakan banyak resource komputasi, yang jelas solusi paling cepat adalah solusi pertama, dengan menggunakan stimulus, karena denoising ini seperti mencari master anak kunci yang cocok dengan gemboknya, dan yang paling cepat adalah membuat duplikat yang mendekati anak kunci asli. Atau kita gunakan saja threshold seperti ini? Tinggal coba semuanya mana yang lebih baik.
Karena GAN, membangkitkan citra dari noise random, dan berkait erat dengan monte carlo. Maka gambarnya bisa disempurnakan dengan cara denoising monte carlo dengan menggunakan GAN, dimana diskriminator nya bertindak sebagai pemeriksa bentuk.