Masih ingat bentuk nama file-file foto seperti IMG_0001.JPG, IMG_0002.JPG, IMG_0003.JPG, dan seterusnya? Ya, itulah standar penamaan file foto hasil dari kamera digital merk tertentu yang disimpan di folder DCIM (Digital Camera Image). Tanggal pengambilan foto atau "Create Date" harus dibaca dari informasi metadata EXIF file foto JPG tersebut. Alangkah lebih praktis, jika nama file foto tersebut sama dengan create date-nya. Lain halnya memotret menggunakan aplikasi smartphone masa kini karena nama file foto/video biasanya sudah ditulis berdasarkan create date-nya. Lantas, bagaimana dengan nama arsip file foto-foto digital yang cuma terdiri dari standar maksimum 8 karakter ini? Tentunya kita copy terlebih dulu seluruh isi folder DCIM dari memory card digital camera ke komputer/notebook. Lalu, me-rename file-file foto tersebut menggunakan program ExifTool dengan contoh batch script seperti berikut ini. exiftool "-filename<${createdate;}" -d "%%Y%%m%%d_%%H%%M%%S%%%%-c.%%%%le" -ext jpg -ext mp4 "D:\IMAGES" di mana: "-filename<${createdate;}" adalah baris perintah untuk me-rename nama file berdasarkan info metadata "Create Date" file tersebut. -d "%%Y%%m%%d_%%H%%M%%S%%%%-c.%%%%le" adalah format tanggal dan waktu yang akan menghasilkan nama file berbentuk seperti 20230531_073015.jpg dengan ekstensi JPG diubah ke huruf kecil (lower case). Parameter -c berguna jika ada 2 atau lebih file foto yang bersamaan waktunya, maka akan diberi penomoran berurutan di belakangnya, seperti 20230531_073015-1.jpg, 20230531_073015-2.jpg, dan seterusnya. -ext jpg -ext mp4 adalah untuk memproses file-file berformat gambar JPG dan juga untuk video MP4. "D:\IMAGES" adalah path directory ke folder yang berisi file-file foto & video tersebut. Berikut adalah modifikasi batch script tersebut jika ingin menambahkan padding nol sebesar 3 digit: exiftool "-filename<${createdate;}" -d "%%Y%%m%%d_%%H%%M%%S%%%%-03.c.%%%%e" -ext jpg -ext mp4 "D:\IMAGES" di mana: -d "%%Y%%m%%d_%%H%%M%%S%%%%-03.c.%%%%le" adalah format tanggal dan waktu yang akan menghasilkan nama file berbentuk seperti 20230531_073015-000.jpg, 20230531_073015-001.jpg, 20230531_073015-002.jpg, dan seterusnya. Jika "Create Date" hanya ditambahkan sebagai prefiks dari nama file foto yang sudah ada, maka contoh batch script-nya adalah: exiftool "-filename<${createdate;} ${filename}" -ext jpg -ext mp4 "D:\IMAGES" di mana: "-filename<${createdate;} ${filename}" akan menghasilkan nama berbentuk "20230531 073015 Nama file.jpg" (tanpa tanda kutip). Sekarang bagaimana mengelompokkan file-file foto itu ke dalam folder berdasarkan tahun, bulan, dan tanggal "Create Date"-nya? Gunakan contoh batch script berikut ini. exiftool "-Directory<CreateDate" -d "%%Y-%%m-%%d" . di mana: -d "%%Y-%%m-%%d" adalah pembuatan folder bernama 2023-05-31. Semua file foto dan video bertanggal tersebut akan dimasukkan ke dalam folder ini. Tanda titik "." di akhir script berfungsi sebagai penunjuk current path directory atau current folder di mana file batch script (BAT) dan file-file JPG/MP4 sama-sama berada. Jika file-file foto ingin dikelompokkan ke dalam folder tahun dan subfolder bulan, maka contoh script-nya menjadi: exiftool "-Directory<CreateDate" -d %%Y/%%m . di mana: -d %%Y/%%m akan membuat folder tahun bernama "2023" dan subfolder bulan bernama "05". Semua file foto yang berbulan Mei 2023 akan dimasukkan ke dalam folder tahun "2023" dan subfolder bulan "05". Sebagai tambahan, jika file-file foto dan video ingin dipisah ke dalam folder-nya masing-masing, maka batch script-nya: exiftool -directory=%%ue . di mana: -directory=%%ue akan membuat folder (dalam upper case) berdasarkan ekstensi file-file yang ada dalam current folder. Semua file berekstensi JPG akan masuk ke dalam folder "JPG" dan semua file berekstensi MP4 akan masuk ke dalam folder "MP4".
0 Comments
Kadangkala seseorang lupa mengatur kembali waktu dan tanggal dari sebuah kamera digital yang sudah lama tidak digunakan, sehingga seluruh file foto yang diambil dengan kamera tersebut juga salah waktu dan tanggalnya. Date & time tag dari sebuah file foto meliputi "date/time original", "create date", dan "modify date".
Sebagai catatan, date & time tag sedikit berbeda dengan date/time file properties yang terdapat dalam kelompok file properties. Date & time tag selalu melekat di dalam sebuah file foto sebagai metadata EXIF (Exchangeable Image File Format) yang ditulis (di-embed) oleh device/kamera, sedangkan date/time file properties adalah bagian dari file properties yang dibaca oleh sistem operasi Windows. Date/time file properties meliputi "date created", "date modified", dan "date accessed". Date/time tag dan date/time file properties seharusnya sama, jika file foto belum diedit sama sekali (terkecuali "date accessed" yang akan berubah pada saat file dibuka di komputer). Untuk mengubah date & time tag dari file foto secara sekaligus, dapat menggunakan program command-line ExifTool. Unduhlah ExifTool yang versi "stand-alone Windows executable" dan rename "exiftool(-k).exe" menjadi "exiftool.exe". Contoh baris perintah untuk mengubah date & time tag dari sebuah file foto: exiftool -AllDates="2023:04:30 07:00:00" "Image001.jpg" Untuk mengubah semua file foto dalam sebuah folder, baris perintahnya menjadi: exiftool -AllDates="2023:04:30 07:00:00" "*.jpg" Untuk hanya melihat date & time tag dari sebuah file foto: exiftool -AllDates "Image001.jpg" atau exiftool -a -G1 -s -AllDates "Image001.jpg" Sedangkan untuk mengubah date/time file properties dari file gambar/foto, dapat menggunakan program command-line Touch (bisa diunduh dari link ini: http://stevemiller.net/downloads/ctb11w32.zip). Contoh baris perintah untuk mengubah date/time file properties dari sebuah file gambar/foto: touch /c /m /a /d 04-30-2023 /t 07:00:00 "Image001.jpg" Untuk mengubah ke current time system Windows (sesuai waktu yang ditunjukkan di system tray Windows): touch /c /m /a "Image001.jpg" Untuk hanya melihat date/time file properties dari sebuah file gambar/foto: touch /v /c /m /a "Image001.jpg" Software yang dapat digunakan untuk melihat seluruh date & time tag maupun date/time file properties yang ada dalam file gambar/foto adalah Metadata++. Jika pada judul blog sebelumnya membahas tentang bagaimana membuat gambar dari deskripsi teks, maka sekarang adalah kebalikannya, yakni membuat deskripsi teks dari sebuah gambar. Ini mencakup keterangan mengenai elemen-elemen apa yang ada dalam gambar tersebut beserta tema keseluruhannya. Untuk itu, dapat menggunakan laman situs img2prompt dan Clip Interrogator (perlu akun Google dan harus melalui prosedur setup terlebih dahulu sebelum menjalankan script-nya). Meskipun tidak selalu akurat, tetapi setidaknya dapat digunakan untuk membantu penamaan atau judul sebuah gambar. Contoh deskripsi teks dari sebuah gambar yang dihasilkan oleh Clip Interrogator, yang bunyinya "a cat sitting on the edge of a cliff, highly detailed vfx scene, promotional image, wonderland, inspired by James Humbert Craig, flying over the horizon, breath of the wilde, tiger head, by senior artist, descent, still image from the movie, maya engine, with tail." Ada banyak aplikasi web based/cloud based menggunakan AI (Artificial Intelligence) yang bermunculan belakangan ini untuk mengubah deskripsi teks menjadi gambar seni (art). Salah satu di antaranya adalah aplikasi web NightCafe yang berfungsi sebagai AI Art Generator. Situs web ini dapat membantu menuangkan ide ke dalam gambar. Deskripsi teksnya dituliskan dalam bahasa Inggris. Situs ini berbayar dengan cara membeli/mendapatkan kredit atau berlangganan. Ada beberapa metode algoritma yang dapat digunakan untuk menghasilkan gambar seni secara AI, yakni Stable Diffusion, DALL-E 2, Coherent, Artistic, dan Style Transfer. Algoritma AI yang umum digunakan untuk mengubah teks menjadi gambar adalah Stable Diffusion, sedangkan untuk mengubah foto ke gambar seni adalah Style Transfer. Jika ingin versi yang gratis dan cukup memadai, dapat menggunakan situs web DeepAI. Algoritma AI-nya menggunakan Stable Diffusion. Sebagai tambahan, jika ingin versi yang offline, dapat menggunakan software NMKD Stable Diffusion GUI. Namun, perlu diingat bahwa penggunaan software desktop berbasis AI membutuhkan performa komputer/notebook yang tinggi dan yang mempunyai graphic card diskret generasi baru, seperti NVIDIA dan AMD; atau setidaknya yang mendukung teknologi Vulkan. Bedakan dengan cloud based AI yang tidak membutuhkan performa komputer yang tinggi, tetapi memerlukan koneksi internet yang cepat dan stabil. Untuk menghilangkan gambar background dari sebuah foto dengan cepat, terutama foto wajah, dapat menggunakan aplikasi smartphone Android bernama Background Eraser. Untuk di komputer, dapat menggunakan aplikasi web bernama Cutout.Pro, Background Remover, dan Remove Background. Proses background removal dilakukan secara online dengan teknologi kecerdasan buatan atau artificial intelligence (AI). Meskipun demikian, hasil yang didapat tidak selalu seperti yang diharapkan. Kadangkala masih ada bagian gambar background yang tidak terhapus atau malah kelebihan terhapus.
Jika proses background removal ingin dilakukan secara off line, dapat menggunakan sebuah program bernama Rembg yang berbasis Phyton script. Cara kerja program Rembg ini adalah dengan menggunakan algoritma model, misalnya model wajah manusia, tubuh manusia, benda, dan lain-lain. Keuntungan program Rembg ini adalah dapat me-remove background secara batch dari semua file gambar yang ada dalam sebuah folder. Oleh karenanya, dapat juga diterapkan untuk memproses file video. Caranya adalah dengan mengubah frame-frame video menjadi image sequence terlebih dulu. Setelah melewati tahap background removal, image sequence tadi dirangkai kembali menjadi sebuah file video yang transparan (RGBA). Contoh batch command Rembg untuk memproses 1 file gambar: rembg i "image input,jpg" "image ouput.png" atau rembg i -m u2net_human_seg "image input,jpg" "image ouput.png" di mana: Parameter -m u2net_human_seg adalah algoritma model yang umum digunakan untuk foto berisi gambar orang secara keseluruhan (wajah dan tubuh). Contoh batch command Rembg untuk memproses semua file gambar dalam sebuah folder: rembg p "D:\Images" "D:\Images\Output" atau rembg p -m u2net_human_seg "D:\Images" "D:\Images\Output" Untuk mengubah file video menjadi image sequence dan sebaliknya, lihat blog berjudul: "Mengekstrak Still Frame dari Video dengan Selang Waktu Tertentu" dan "Mengubah Image Sequence Menjadi File Video" Khusus untuk merestorasi foto wajah yang buram karena resolusi rendah, dapat menggunakan sebuah program berbasis Phyton script bernama CodeFormer. Tidak seperti cara lama yang menggandakan piksel untuk menaikkan resolusi gambar, CodeFormer menggunakan algoritma berbasis pendekatan data model (disebut sebagai pre-trained model) untuk menggantikan gambar bagian wajah yang buram atau yang hilang karena terkelupas ("scratched"). Kelemahannya adalah gambar wajah menjadi tidak sesuai dengan bentuk aslinya (palsu) karena menggunakan model pengganti yang dianggap mirip saja. Misalnya, warna dan bentuk mata yang tidak sesuai aslinya, bentuk bibir yang berbeda, dan lain sebagainya. Namun, algoritma dan pre-trained model wajah ini masih terus berkembang, sehingga kelak seharusnya makin mirip aslinya.
Instalasi program ini membutuhkan sedikit pengetahuan tentang baris perintah di Windows Command Prompt dan Phyton. Pastikan program Phyton sudah terinstalasi pada "PATH" yang benar dan sudah di-setting menjadi "Environment Variable" di sistem operasi Windows. Kemudian, ikuti langkah-langkah instalasi Phyton dependencies package-nya dari situs https://github.com/sczhou/CodeFormer#dependencies-and-installation. Setelah itu, instalasikan juga Pre-trained Models-nya dari link https://github.com/sczhou/CodeFormer#quick-inference. Jika semua paket dan modul pendukung Phyton sudah ter-install dengan benar, maka tinggal menuliskan baris perintah pada jendela Command Prompt di mana file script CodeFormer (file .py) tersebut berada. Contoh penulisan command-nya dapat dilihat di laman https://github.com/sczhou/CodeFormer#prepare-testing-data. Perlu dicatat, karena tidak semua dependencies package dari script CodeFormer ini mendukung karakter Unicode (UTF-8 encoding), maka nama file dengan karakter Unicode (misal Korea, Jepang, China, Arab, dll.) sebaiknya di-rename terlebih dahulu ke latin. Adapun baris perintah script CodeFormer untuk restorasi foto wajah secara umum berbentuk: python inference_codeformer.py -i "path to file" -w 0.7 -s 2 --bg_upsampler realesrgan --face_upsample -o "path to output folder" contoh: python inference_codeformer.py -i "D:\Photos\my photo.jpg" -w 0.7 -s 2 --bg_upsampler realesrgan --face_upsample -o "D:\Photos" Untuk proses up-scaling, CodeFormer menggunakan algoritma dari Real-ESRGAN. Algoritma CodeFormer ini juga dapat diterapkan untuk merestorasi gambar wajah pada video, tetapi prosesnya akan sangat lama kalau hanya menggunakan tenaga CPU dan tidak menggunakan GPU (NVIDIA RTX) terpisah/diskret. Spesifikasi CPU yang direkomendasikan adalah menggunakan prosesor Intel i7 atau i9 (minimum generasi ke-11; keluaran akhir tahun 2020). Untuk mencoba dan melihat contoh hasil restorasi foto wajah secara online menggunakan algoritma CodeFormer ini, dapat mengakses laman https://huggingface.co/spaces/sczhou/CodeFormer. Terdapat banyak aplikasi di smartphone Android untuk merestorasi foto wajah menggunakan algoritma pendekatan data model. Yang hasilnya cukup baik di antaranya adalah Pixelup-AI Photo Enhancer (hati-hati, versi ads-free-nya adalah untuk per device, bukan per Google account) dan Vivid AI Photo Enhancer. Hindari penggunaan aplikasi "deep fake" yang memalsukan wajah dengan tujuan yang tidak benar dan tidak beretika, meskipun hanya beralasan sekedar "fun". Untuk merestorasi gambar/foto yang buram karena beresolusi rendah (low resolution), dapat menggunakan program command-line Real-ESRGAN yang menggunakan algoritma sintesis data model. Resolusi gambar dapat diperbesar hingga 4 kali. Namun, cara restorasi gambar dengan algoritma ini ada kelemahannya. Gambar berisi teks dengan ukuran yang terlalu kecil tidak akan terestorasi dengan baik. Restorasi gambar-gambar berisi vektor seperti anime akan lebih baik hasilnya daripada gambar foto.
Ada 2 versi Real-ESRGAN, yakni versi executable file (EXE) dan versi Phyton script (Py). Untuk Real-ESRGAN versi EXE atau dapat disebut juga versi Vulkan, syarat utama untuk menjalankannya adalah Graphic Processing Unit (GPU) yang digunakan sudah mendukung teknologi Vulkan. Untuk mengetahuinya, dapat menggunakan software GPU-Z. Untuk cara penulisan baris perintahnya, dapat dibaca di bagian "README" di laman https://github.com/xinntao/Real-ESRGAN/#portable-executable-files-ncnn. Real-ESRGAN versi Pyhton script (Py) dapat dijalankan di komputer yang GPU-nya belum mendukung teknologi Vulkan, tetapi berjalan dengan (sangat) lambat. Real-ESRGAN yang dijalankan dengan Phyton script juga dapat digunakan untuk merestorasi gambar wajah (face enhancement). Untuk itu, perlu di-install terlebih dulu beberapa dependent packages (modul). Tahap-tahapnya dapat dilihat di laman https://github.com/xinntao/Real-ESRGAN/#-dependencies-and-installation. Untuk cara penulisan command-line Python script-nya dapat dilihat di laman https://github.com/xinntao/Real-ESRGAN/#python-script. Sebagai catatan, nama file gambar yang diproses tidak boleh memiliki karakter Unicode (UTF-8), misal huruf kanji, Yunani, Arab, dan lain-lain. Jika ada, rename dahulu ke nama file latin. Jika tidak ingin menggunakan cara command-line (baris perintah) seperti di atas, dapat menggunakan software Topaz Gigapixel AI. Software ini juga sudah mendukung restorasi wajah. Hanya saja harga software ini tidaklah murah. Di samping itu, performance GPU dan CPU harus tinggi agar proses restorasi dapat berjalan dengan cepat. Jika memungkinkan, gunakan GPU terpisah sekelas NVIDIA RTX dan prosesor CPU sekelas Intel Core i7/i9 dengan generasi terbaru (min. generasi ke-11). Di samping itu, ada juga software untuk image upscaler yang free dan open source, yaitu software Upscayl, yang pada dasarnya menggunakan algoritma Real-ESRGAN. Software Upscayl lebih cocok digunakan untuk upscaling gambar berbasis vektor. Kadang-kadang kita mempunyai banyak file foto/gambar di komputer yang harus dikelompokkan ke dalam berbagai folder yang belum dibuat. Adalah melelahkan jika harus membuat banyak folder dan menamainya satu per satu di aplikasi desktop File Explorer. Ada cara yang lebih cepat, yakni membuat daftar nama folder dan subfolder-nya terlebih dulu pada sebuah file teks (misal, list.txt) atau file CSV (comma-separated values) yang mendukung karakter unicode UTF-8 (misal, list.csv). Gunakan aplikasi Notepad dan software Excel untuk membuat file TXT dan file CSV. Daftar nama folder dituliskan per baris ke bawah, bukan menyamping. Kemudian, jalankan batch script (file BAT) berikut ini. for /f "tokens=1 delims=" %%d in (list.txt) do md "%%d" atau for /f "tokens=1 delims=::" %%d in (list.csv) do md "%%d" Ingatlah, file BAT, file TXT atau file CSV-nya harus berada dalam parent folder atau current folder yang sama.
Jika ingin menggunakan green screen background pada saat online meeting, misalnya dengan aplikasi desktop Zoom, dapat menggunakan Impraboard warna hijau muda terang yang disenderkan pada senderan kursi. Ukuran Impraboard-nya harus cukup besar (minimum 30 inch x 40 inch atau 75 cm x 100 cm; tebal 3 mm) agar dapat melingkupi kepala hingga pinggang. Untuk kursi yang mempunyai sandaran tangan (arm rest), Impraboard dapat diletakkan di atasnya agar kelihatan lebih tinggi pada tampilan webcam. Gunakan lampu dari atas kepala agar Impraboard-nya terpapar cahaya dengan merata dan bayangan badan jatuh menyudut ke bawah. Resolusi webcam dipilih pada 640 x 480p dengan rasio 4:3 agar sudut pandang (FOV) tidak melebar ke samping. Sebagai catatan, pemasangan Impraboard lebih cepat dan praktis ketimbang pemasangan kain green screen berbahan spunbond jika objeknya hanya duduk saja. Jangan kuatir akan permukaan Impraboard yang sedikit bergelombang karena tidak akan nampak jelas pada kamera webcam daripada bekas lipatan kain green screen spunbond yang sering berkerut. Untuk membagi (mem-split) sebuah gambar menjadi beberapa potongan (tile) dengan ukuran yang sama, dapat menggunakan software Tilemage. Gambar yang besar dibagi menjadi beberapa baris dan kolom dengan perbandingan ukuran lebar (width) dan tinggi (height) tertentu. Misalnya, sebuah gambar long screenshot dari smartphone dengan ukuran 1080 x 16775 piksel hendak dicetak ke dalam ukuran kertas A4 (ukuran 210 x 297 mm atau kira-kira 2:3). Maka, gambar itu harus dibagi menjadi 1 kolom dan 11 baris agar tiap potongan tile-nya mempunyai perbandingan ukuran lebar dan tinggi 2:3 atau 1080 x 1525 piksel. Selain itu, dapat juga menggunakan software PhotoScape dengan fitur "Splitter" (Pemotong). Parameter splitter-nya dapat dipilih, apakah akan dipotong berdasarkan jumlah baris dan kolom atau berdasarkan ukuran dari masing-masing tile. |
AuthorMultimedia Archives
December 2024
Categories |