Иногда во время блиц-игр за доской или в Zeitnot их очень сложно комментировать.
Я видел несколько программных / аппаратных средств, помогающих написать нотацию, даже ту, которая одобрена ФИДЕ ; это требует, чтобы вы повторили ходы на устройстве. Чуть быстрее, чем ручка и бумага, так же, как и склонны к ошибкам, плюс вы рискуете набрать неправильный ход и тратить еще больше времени.
DGT создает доску, которая будет делать это автоматически, но она будет работать только со своими фигурами, и начинается с 400 €, вдвое больше, чем для турнирных досок . Доступны некоторые независимые проекты, такие как USB-шахматная доска 101 или голосовые шахматные роботы , секвенсор для шахматной доски . Кроме того , доступны некоторые открытые проекты, которые даже перемещают фигуры (или гигантские фигуры ).
Сегодня вечером у меня будет плей-офф, и правила турнира диктуют все более короткие игры, пока не будет победителя. Поэтому я подумал о съемке фильма на доске, если мы потеряем след. Но затем начался мой опыт программирования, и я подумал: «Должно быть какое-то программное обеспечение, которое может обработать фильм и написать PGN».
Я искал везде и ничего не нашел.
- Есть ли такая вещь (веб-камера / видео в pgn конвертер)? Прототип может быть?
- Кто-нибудь пробовал такой подвиг и поделился своими исследованиями?
- Существуют ли очевидные ограничения, которые делают этот проект маловероятным для успеха?
- Вы бы купили его, если бы он существовал?
источник
Ответы:
Это явно интересно и актуально для автоматической записи шахматных игр (живые доски более или менее решают ту же проблему). Насколько я знаю, для этой цели сегодня не существует программного обеспечения. Чтобы решить эту проблему, я считаю, что «простой» случай должен быть следующим.
Быстрый поиск в Google с помощью строки поиска
вернул эту интересную статью
В общем, это должно быть реалистично для реализации этого типа программного обеспечения. Тем не менее, для человека может быть дешевле выполнить ту же работу (перенести перемещение с видеоклипа на компьютер).
источник
Чтобы,
1) Насколько мне известно
2) Насколько мне известно
3) Есть несколько вещей, которые делают этот проект нетривиальным, даже трудным. Не последнее, что следует за произведением, например, отличает его от жеста руки. Также определение, когда движение остановилось, было бы интересным вопросом для компьютерного зрения. Подобные проблемы были решены в других ситуациях, но не со 100% точностью и, конечно, не по ценам, которые даже близки к конкурентоспособности с платой DGT.
Тогда возникает вопрос, где можно расположить камеру. Непосредственные накладные расходы обеспечат лучший обзор доски, упрощая определение площади. Но где бы ни находилась камера, есть определенная вероятность того, что ее вид будет затруднен одним из игроков, либо наклонившись над доской, потянувшись к часам, либо просто жестикулируя.
4) Нет, если это не было действительно дешево. И я не ожидаю, что это будет. Мои рассуждения просты. С уменьшением контроля времени качество игры снижается до такой степени, что мне это уже не интересно
источник
Это было бы довольно сложной задачей. Возможно, разумным первым шагом будет изучение распознавания позиции FEN по одному изображению, для которого существует больше ресурсов, например:
источник
Сейчас 2019-12 и через 5 лет после первоначального вопроса.
Есть ли такая вещь (веб-камера / видео в pgn конвертер)? Прототип может быть?
видеть
Кто-нибудь пробовал такой подвиг и поделился своими исследованиями?
Да, на данный момент я нашел около 35 научных работ и около 10 решений с открытым исходным кодом и одно коммерческое предложение
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 - это еще один проект, направленный на достижение поставленных вами целей. Проект был начат 2019-10-15, и через несколько часов я уже нашел много ресурсов, например, этот Вопрос. Спустя два месяца я обновил свой ответ (см. Ссылки выше).
Существуют ли очевидные ограничения, которые делают этот проект маловероятным для успеха? Я могу ответить только из собственного опыта с аналогичным проектом, который я сделал 31 год назад, см. Http://wiki.bitplan.com/index.php/MagneticSensorChessBoard1987 . В то время я пытался создать шахматную доску, которая бы распознавала ходы. Я использовал магниты в деревянных предметах и тростниковых контактах. Ключом к успеху было использование шахматного движка, который использовал новые «правила», чтобы можно было сосредоточиться только на движениях и не обнаруживать отдельные фигуры. Как указано в ответе выше, продвижение к не королевским произведениям может быть одним из сложных случаев использования. Обнаружение движения фрагментов с помощью различий в изображениях является хорошо понятной проблемой.
Шахматные движки и UCI-совместимые графические интерфейсы также доступны в эти дни. Таким образом, в наши дни проблема является скорее проблемой интеграции, чем решением отдельных деталей.
Основным препятствием является различие между «прототипом» и продуктом. Смотрите, например, http://www.nandanbanerjee.com/files/ICCVR-08AUG12-011%20paper.pdf
бумага, которая еще старше этого вопроса, но далека от продукта, который можно купить по разумной цене.
Вы бы купили его, если бы он существовал?
Да. Когда я купил новую шахматную доску несколько дней назад, я искал ту, которая могла бы записывать ходы, и она все еще была около 500 евро. Похоже, что стоимость аппаратного обеспечения в эти дни будет значительно ниже 150 евро, включая приличную шахматную доску и фигуры.
Программное обеспечение вполне может быть открытым и бесплатным (как в бесплатном пиве) в ближайшее время. Я обновлю этот ответ соответственно.
источник
Я написал это программное обеспечение. Он содержит веб-камеру AI для распознавания движений, подключенную к графическому интерфейсу Arena.
https://www.youtube.com/watch?v=APkoE1UDKj0
источник
Я работал над проектом шахматного слежения 8x8cam в рамках курса обработки изображений в 2013 году в FING UdelaR.
Затем в 2014 году другие студенты создали лучшую версию для Android под названием chesstrack . В его сети вы можете найти видео и ссылку на код, который они использовали.
Я хотел бы видеть законченное приложение этой идеи проекта, которую я имел в течение многих лет. Так что если есть какие-то новости об этом, пожалуйста, оставьте комментарий.
Отвечая на ваши вопросы:
Существует ли такая вещь (веб-камера / видео в pgn конвертер? Возможно, прототип?
Помимо моего проекта 8x8cam и chesstrack , я недавно нашел проект под названием ChessCam . Все эти проекты с открытым исходным кодом и должны быть названы в качестве ресурса, только если вы создаете новый проект из них.
Кто-нибудь пробовал такой подвиг и поделился своими исследованиями?
Да. Вы можете увидеть это в ответе на предыдущий вопрос.
Существуют ли очевидные ограничения, которые делают этот проект маловероятным для успеха?
Самым сложным, на мой взгляд, является заставить программное обеспечение работать независимо от того, как размещена камера и независимо от освещения. А также для работы в быстро меняющихся играх и работы с окклюзиями рук во время игры, чтобы правильно определять сделанный ход.
Вы бы купили его, если бы он существовал?
Определенно да.
источник
Я не буду отвечать на вопрос, потому что я не знаю, есть ли программное обеспечение там. Я просто говорю, как я думаю, это то, как это сделать, я не знаю точно, так что ...
Хорошо, сначала вам нужно убедиться, что видео записано с помощью шахматной программы, а не живого турнира, просто чтобы облегчить вашу работу.
Вам нужно конвертировать фильм в изображения
ffmpeg -i foo.avi -vsync 0 -vf select="eq(pict_type\,PICT_TYPE_I)" -s WxH -f image2 foo-%03d.jpeg
Это было легко, теперь сложная часть, вам нужно начать обработку изображений, для этого самым мощным является OpenCV.
Для этого есть несколько методов, я дам вам ссылки, чтобы вы могли их прочитать.
Это сложно, но проще, чем вы думаете, потому что вам нужно только знать, какова начальная позиция, пройтись по всем изображениям и увидеть разницу. Взгляните на документы OpenCV, вы найдете тонны материалов на эту тему.
О, кстати, то, что вы просите, уже сделано, но, насколько я знаю, не используется программное обеспечение, есть старый проект, который был закодирован с использованием Pascal, камеры установлены над платой, роботы выполняют обработку изображений и делают ход. В наши дни многие роботы играют в шахматы.
Вы можете купить Arduino Uno и его световой цензор, он обнаружит белые и черные фигуры, немного кодирования и будет играть в шахматы. :)
источник
Редактировать: повышение до чего-то отличного от королевы заставит все взорваться. Это также будет очень трудно поддерживать (моя программа для части 2 поддерживает недоказанность, но хранение информации части 1 исключительно путем чтения пикселей - это кошмар).
Edit2: Я только что заметил, что вы имеете в виду настоящие шахматные доски для PGN, так что все это бесполезно, и я, скорее всего, удалю свой ответ.
Часть 1: хранение квадратов с использованием считывателей пикселей
Это вполне возможно, необходимые шаги будут:
["h1-h8", "e4-e5", ...]
только начальные и конечные квадраты (порядок не важен )Примечание: отсюда мы не можем точно знать, с какого квадрата была начальная / конечная позиция, но есть только 2 возможности, и только 1 из них является законной.
Я написал простые пиксельные макросы / боты для РПГА игр в C #, я могу гарантировать , что это не что трудно, учитывая , что:
По сути, лучше всего, если в игру играют онлайн, а вы ведете запись прямо с экрана.
Часть 2: экспорт этого списка в PGN
Чтобы превратить этот список в настоящий PGN, вы можете использовать программу, написанную мной на JavaScript, которая записывает движения, и одну из функций, которой
moveCaller()
вы передаете две позиции на квадраты, и она выполняет поискfinal_pos
в допустимых шагахinitial_pos
и, если есть совпадение, вызываетmakeMove()
, Таким образом, мы можем назвать это дважды,e5 to e4
иe4 to e5
я гарантирую, что он проигнорирует незаконный..zip
index.html
файла с этим:'
+0,4. скопируйте список перемещения и добавьте несколько заголовков PGN над ним, как
[WhiteElo "2400"]
и т. д.источник
Я использую шахматное устройство обозначений Монрои для всех своих шахматных игр, и это в основном электронная доска.
источник