Kadang-kadang selama blitz game di papan, atau ketika di zeitnot, akan sangat sulit untuk membubuhi keterangan mereka.
Saya telah melihat beberapa perangkat lunak / perangkat keras untuk membantu dalam penulisan notasi, bahkan satu yang disetujui FIDE ; ini mengharuskan Anda mengulangi gerakan pada perangkat. Hampir tidak lebih cepat daripada pena dan kertas, sama seperti rentan terhadap kesalahan, ditambah Anda berisiko mengetik gerakan yang salah dan menghabiskan lebih banyak waktu.
DJP membuat papan yang akan melakukan ini secara otomatis, tetapi hanya akan bekerja dengan potongan-potongannya, dan mulai dari € 400, dua kali lipat dari papan turnamen . Beberapa proyek independen tersedia seperti papan catur usb 101 , atau robot catur yang dikendalikan suara , sequencer papan catur Catur . Selain itu beberapa proyek terbuka tersedia yang bahkan memindahkan barang (atau barang raksasa ).
Saya memiliki playoff malam ini, dan aturan turnamen mendikte permainan lebih pendek dan lebih pendek sampai ada pemenang. Karena itu saya berpikir untuk membuat film papan tulis jika kita kehilangan jejak. Tapi kemudian latar belakang pemrograman saya muncul dan saya pikir "pasti ada beberapa perangkat lunak yang dapat memproses film dan menulis PGN".
Saya mencari kemana-mana, dan tidak menemukan apa pun.
- Apakah ada hal seperti itu (webcam / video ke pgn converter)? Sebuah prototipe mungkin?
- Adakah yang mencoba hal semacam itu dan membagikan penelitian mereka?
- Adakah batasan jelas yang membuat proyek ini tidak mungkin berhasil?
- Apakah Anda akan membelinya jika ada?
sumber
Jawaban:
Jelas menarik dan relevan untuk secara otomatis merekam permainan catur (live board kurang lebih menangani masalah yang sama). Sejauh yang saya tahu, tidak ada perangkat lunak untuk tujuan ini yang ada saat ini. Untuk mengatasi masalah ini, saya pikir kasus "sederhana" harus sebagai berikut.
Pencarian Google cepat dengan string pencarian
mengembalikan artikel yang menarik ini
Secara keseluruhan, harus realistis untuk mengimplementasikan perangkat lunak jenis ini. Namun mungkin lebih murah bagi manusia untuk melakukan pekerjaan yang sama (transfer bergerak dari klip video ke komputer).
sumber
Dalam urutan,
1) Tidak setahu saya
2) Tidak setahu saya
3) Ada beberapa hal yang membuat proyek semacam ini tidak sepele, bahkan sulit. Tidak sedikit yang mengikuti potongan, membedakannya dari isyarat tangan, misalnya. Juga menentukan kapan langkah berhenti akan menjadi pertanyaan yang menarik untuk dipecahkan oleh visi komputer. Jenis-jenis masalah ini telah diselesaikan dalam situasi lain, tetapi tidak dengan akurasi 100%, dan tentu saja tidak pada harga yang bahkan hampir bersaing dengan dewan DJP.
Lalu ada pertanyaan di mana kamera bisa diposisikan. Langsung di atas kepala akan menawarkan tampilan papan terbaik, sehingga lebih mudah untuk menentukan persegi dengan presisi. Tapi di mana pun kamera ditempatkan, ada kemungkinan yang berbeda pandangannya akan terhalang oleh salah satu pemain, baik membungkuk di papan, meraih jam, atau hanya menggerakkan tangan.
4) Tidak kecuali itu benar-benar murah. Dan saya tidak berharap itu akan terjadi. Alasan saya sederhana. Seiring waktu semakin singkat, kualitas permainan berkurang, ke titik di mana itu tidak lagi menarik bagi saya
sumber
Itu akan menjadi tugas yang agak rumit. Mungkin langkah pertama yang masuk akal adalah melihat ke mengenali posisi FEN dari satu gambar - di mana ada lebih banyak sumber daya, misalnya:
sumber
Sekarang 2019-12 dan 5 tahun setelah pertanyaan awal.
Apakah ada hal seperti itu (webcam / video ke pgn converter)? Sebuah prototipe mungkin?
Lihat
Adakah yang mencoba hal semacam itu dan membagikan penelitian mereka?
Ya - sejauh ini saya menemukan sekitar 35 makalah penelitian dan sekitar 10 solusi open source dan satu penawaran komersial
2.1 http://wiki.bitplan.com/index.php/PlayChessWithAWebCam/Papers
2.2. http://wiki.bitplan.com/index.php/PlayChessWithAWebCam#Open_Source_Projects
2.3. http://wiki.bitplan.com/index.php/PlayChessWithAWebCam#Commercial
http://wiki.bitplan.com/index.php/PlayChessWithAWebCam adalah proyek lain yang membidik tujuan yang dinyatakan oleh Anda. Proyek ini dimulai 2019-10-15 dan dalam beberapa jam saya sudah menemukan banyak sumber daya mis. Pertanyaan ini Beberapa dua bulan kemudian saya telah memperbarui jawaban saya (lihat tautan di atas)
Adakah batasan jelas yang membuat proyek ini tidak mungkin berhasil? Saya hanya bisa menjawab dari pengalaman saya sendiri dengan proyek serupa yang saya lakukan 31 tahun yang lalu lihat http://wiki.bitplan.com/index.php/MagneticSensorChessBoard1987 . Saat itu saya mencoba membuat papan catur yang mendeteksi gerakan. Saya menggunakan magnet di potongan kayu dan buluh kontak. Kunci kesuksesan adalah menggunakan mesin catur yang "aturan" baru untuk dapat berkonsentrasi pada gerakan sendiri dan tidak harus mendeteksi potongan individu. Seperti yang dijabarkan dalam jawaban di atas, promosi ke produk non-ratu mungkin menjadi salah satu tepi kata kunci yang sulit. Mendeteksi gerakan potongan melalui perbedaan gambar adalah masalah yang dipahami dengan baik.
Mesin catur dan GUI yang kompatibel dengan UCI juga tersedia akhir-akhir ini. Jadi masalahnya lebih merupakan masalah integrasi hari ini kemudian menyelesaikan masalah detail individu.
Kendala utama adalah perbedaan antara "prototipe" dan produk. Lihat misalnya http://www.nandanbanerjee.com/files/ICCVR-08AUG12-011%20paper.pdf
makalah yang bahkan lebih tua dari pertanyaan ini tetapi jauh dari produk yang dapat Anda beli dengan harga yang wajar.
Apakah Anda akan membelinya jika ada?
Iya. Ketika saya membeli papan catur baru beberapa hari yang lalu saya sedang mencari papan catur yang dapat merekam pergerakan dan harganya masih sekitar 500 EUR. Seperti terlihat biaya perangkat keras akan jauh di bawah 150 EUR hari ini termasuk papan catur yang layak dan potongan-potongan.
Perangkat lunaknya mungkin open source dan segera (seperti bir gratis). Saya akan memperbarui jawaban ini sesuai.
sumber
Saya menulis perangkat lunak ini. Ini berisi webcam AI untuk pengenalan gerakan, terhubung ke Arena GUI.
https://www.youtube.com/watch?v=APkoE1UDKj0
sumber
Saya bekerja pada proyek pelacakan catur 8x8cam dalam kursus pemrosesan gambar pada 2013 di FING UdelaR.
Kemudian pada tahun 2014 siswa lain membuat versi yang lebih baik untuk Android bernama chesstrack . Di bawah webnya Anda dapat menemukan video dan tautan ke kode yang mereka gunakan.
Saya akan senang melihat aplikasi final dari ide proyek ini yang saya miliki selama bertahun-tahun. Jadi jika ada berita tentang ini, silakan tinggalkan komentar.
Menjawab pertanyaan runcing Anda:
Apakah ada hal seperti itu (webcam / video ke pgn converter? Sebuah prototipe mungkin?
Terlepas dari proyek saya 8x8cam dan permainan catur , saya baru-baru ini menemukan sebuah proyek bernama ChessCam . Semua proyek ini adalah Sumber Terbuka dan hanya perlu disebut sebagai sumber daya jika Anda membuat proyek baru dari mereka.
Adakah yang mencoba hal semacam itu dan membagikan penelitian mereka?
Iya. Anda dapat melihat seperti pada jawaban pertanyaan sebelumnya.
Adakah batasan jelas yang membuat proyek ini tidak mungkin berhasil?
Bagian tersulit yang saya percaya adalah membuat perangkat lunak bekerja tidak peduli bagaimana kamera ditempatkan dan terlepas dari penerangan. Dan juga untuk bekerja pada game yang bergerak cepat dan bekerja dengan oklusi tangan saat game dimainkan, untuk mendeteksi dengan benar langkah yang dilakukan.
Apakah Anda akan membelinya jika ada?
Pasti ya.
sumber
Saya tidak akan menjawab pertanyaan, karena saya tidak tahu apakah ada perangkat lunak di luar sana. Saya hanya mengatakan bagaimana saya pikir itu cara melakukannya, saya tidak tahu pasti, jadi ...
Oke pertama, Anda perlu memastikan bahwa video direkam dari perangkat lunak catur, bukan turnamen langsung, hanya untuk membuat pekerjaan Anda lebih mudah.
Anda perlu mengonversi film ke gambar
ffmpeg -i foo.avi -vsync 0 -vf select="eq(pict_type\,PICT_TYPE_I)" -s WxH -f image2 foo-%03d.jpeg
Itu mudah, sekarang bagian yang sulit, Anda harus mulai melakukan prosesi gambar, untuk itu, yang paling kuat adalah OpenCV.
Untuk itu, ada beberapa teknik, saya akan memberi Anda tautan sehingga Anda dapat membacanya.
Ini rumit tetapi lebih sederhana daripada yang Anda pikirkan, karena Anda hanya perlu tahu apa posisi awal, mengulangi semua gambar dan melihat perbedaannya. Lihatlah OpenCV docs Anda akan menemukan banyak bahan tentang hal itu.
Oh, omong-omong, apa yang Anda minta sudah dilakukan, tetapi tidak menggunakan perangkat lunak sejauh yang saya tahu, ada proyek lama yang dikodekan menggunakan Pascal, kamera ditempatkan di atas papan, robot melakukan pemrosesan gambar dan bergerak. Saat ini banyak robot bermain catur.
Anda bisa membeli Arduino uno, dan sensor cahayanya, itu akan mendeteksi keping putih dan keping hitam, beberapa kode dan itu akan bermain catur. :)
sumber
Sunting: mempromosikan sesuatu yang berbeda dari ratu akan membuat semuanya meledak. Ini juga akan sangat sulit untuk mendukung ini (program saya untuk Bagian 2 mendukung kurang promosi, tetapi menyimpan info Bagian 1 murni dengan membaca piksel adalah mimpi buruk).
Sunting2: Saya baru saja memperhatikan maksud Anda papan catur nyata untuk PGN, jadi ini semua tidak berguna dan saya kemungkinan besar akan menghapus jawaban saya.
Bagian 1: menyimpan kotak menggunakan pembaca piksel
Sangat mungkin, langkah-langkah yang diperlukan adalah:
["h1-h8", "e4-e5", ...]
hanya kotak awal dan akhir (urutan tidak penting )catatan: dari sini kita tidak bisa benar-benar tahu dari mana persegi adalah posisi awal / akhir, tetapi hanya ada 2 kemungkinan dan hanya 1 yang legal.
Saya telah menulis macro / bots berbasis pixel sederhana untuk game RPG di C #, saya dapat menjamin ini tidak terlalu sulit, mengingat bahwa:
Pada dasarnya, yang terbaik adalah jika permainan dimainkan secara online dan Anda merekam langsung dari layar.
Bagian 2: mengekspor daftar itu ke PGN
Untuk mengubah daftar ini menjadi PGN nyata, Anda dapat menggunakan program yang saya tulis dalam JavaScript yang merekam gerakan, dan salah satu fungsi yang
moveCaller()
Anda lewati dua posisi kuadrat dan mencarifinal_pos
di dalam gerakan legalinitial_pos
dan jika ada kecocokan maka ia memanggilmakeMove()
. Jadi kita bisa menyebutnya dua kalie5 to e4
dane4 to e5
dan saya menjamin akan mengabaikan satu ilegal..zip
index.html
file dengan ini:'
.4. salin daftar pindah dan tambahkan beberapa header PGN di atasnya seperti
[WhiteElo "2400"]
dll.sumber
Saya menggunakan Perangkat Notasi Catur Monroi untuk semua permainan catur saya dan pada dasarnya adalah papan elektronik.
sumber