自動表記のためのツール:ウェブカメラからPGNへ


14

ボード上の電撃戦中、またはzeitnotの場合、注釈を付けるのは非常に困難です。

FIDEが承認したものであっても、表記の作成に役立ついくつかのソフトウェア/ハードウェアを見てきました。これらは、デバイス上で移動を繰り返す必要があります。エラーが発生しやすいのと同様に、ペンや紙よりも高速ではありません。さらに、間違った動きを入力して、さらに多くの時間を無駄にするリスクがあります。

DGTはこれを自動的に行うボード作成しますが、その作品でのみ機能し、トーナメントボードの 2倍の400ユーロで開始しますusbチェス盤101音声制御チェスロボットチェス盤ステップシーケンサーなど、いくつかの独立したプロジェクトを利用できます。さらに、ピース(または巨大なピース)を移動するオープンプロジェクトもあります

今夜はプレーオフがあります。トーナメントルールでは、勝者が決まるまで、より短いゲームを規定しています。したがって、私たちが軌道に乗り損ねた場合、ボードのムービーを撮影することを考えました。しかし、その後、プログラミングのバックグラウンドが始まり、「映画を処理してPGNを作成できるソフトウェアが必要だ」と考えました。

どこでも検索しましたが、何も見つかりませんでした。

  1. そのようなものは存在しますか(webcam / video to pgn converter)?プロトタイプですか?
  2. 誰かがそのような偉業を試みて、研究を共有しましたか?
  3. このプロジェクトが成功しそうにない明白な制限はありますか?
  4. 存在する場合は購入しますか?

2
興味深いコンピュータービジョン/機械学習プロジェクトになるでしょう!
Memming

「2D」画像を作成するには、ボードをトップダウンで撮影する必要があると思います。そうでない場合、3Dビューを2Dビューに転置するという追加の問題があり、異なる3D角度を個別に処理する必要があります。
ラワンサギット

実際には、ボードを「広げ」て、そのすべての正方形を正方形にする単純な線形変換です。主な問題は、ピースが互いの後ろに並ぶような角度である場合、ピースの移動元の正方形を認識することです。
ピーター

このプロジェクトのために何らかのクラウドソーシングを行うことができるかもしれません。とても面白いと思います。一部の大学生が上級プロジェクトのためにこれを行うことができると思います。アイデアを教授に伝える方法を見つける必要があります。たぶん、2つの異なる場所に2台のカメラを配置することで、これを確実に実行できます。オーバーヘッドからの2Dではなく、3Dアプローチに興味があります。頭上カメラの取り付けは非現実的です。また、長いテーブルで同時にプレイされるいくつかのゲームを撮影するいくつかの異なるカメラからの入力を

kickstarter.com/projects/infivention / ...がすでに成功していることを考えると、クラウドファンディングプロジェクトは実際に実行可能であるようです。特にエンドユーザーのコストは非常に低いためです。
ウォルフガングファール

回答:


4

チェスの試合を自動的に記録することは明らかに興味深く、関連性があります(ライブボードは多かれ少なかれ同じ問題に取り組んでいます)。私の知る限り、今日存在するこの目的のためのソフトウェアはありません。この問題を解決するには、「単純な」ケースは次のようにすべきだと思います。

  1. チェス盤は、2次元のビューを得るために上から下に撮影する必要があります。(動機:3Dビューでの撮影は、ビューが歪んでいて、その背後にある他のピースのビューをブロックするピースがあるため、問題が発生します。また、クリーンな手順に反する異なる3Dビューも可能です。)
  2. 映画は手動で編集して、「クリーンボード」の瞬間をキャプチャし、2人のプレーヤーの手または頭がビューを遮っている瞬間を削除する必要があります。
  3. ソフトウェア側の画像処理アルゴリズムは、ボード上の変更を検出し、動きとして記録する必要があります。また、画像を自動回転および変換して、ボードの向きを検出し、それによって座標を検出する必要があります。
  4. ソフトウェアは、開始位置を使用してすべてのピースタイプを「記憶」し、ゲーム中の画像認識に使用する必要があります。おそらく、ピース認識の問題をスマートな方法で解決するために、いくつかの巧妙なトリックを書くことができます。

検索文字列を使用した簡単なGoogle検索

チェスゲーム画像処理

この興味深い記事を返しました

全体として、このタイプのソフトウェアを実装することは現実的です。それでも、人間が同じ作業を行う方が安くなる場合があります(ビデオクリップからコンピューターへの移動の転送)。


あなたがリンクしたGDIlleperumaによる研究を経るのに私はしばらく時間がかかりました、それは最も興味深いです。しかし、3Dで歪んだ画像を作成する可能性を事前に排除ています。ありがとう、非常に興味深い記事です。
リッカルドゾルン14

@RiccardoZornどういたしまして!3Dで歪んだ画像を処理する意味がわからないことを認めなければなりません。状況は、人間がビデオ録画からの動きを文書化するのに問題がある場合、画像処理ソフトウェアはさらに困難になるということです。
ラワンサギット14

縦型カメラのセットアップには多くのスペースが必要であり、侵襲的であり、カスタムサポート/スタンドが必要です。これは非現実的:-(作る
リッカルド・ソーン

その場合、よりシンプルで安価な「ライブボード」技術がより良い方法かもしれません。必要に応じて、妥当な3D角度から撮影し、人間がビデオ録画からチェス表記を抽出できるようにします。
ラワンサギット14

ファイルresearchgate.net/publication/…はもう存在しないようです。誰かがコピーを持っていますか?
ピーター

6

順番に、

1)知らない

2)知らない

3)この種のプロジェクトを簡単ではなく、さらに困難にするいくつかのことがあります。少なくとも、作品を追いかけているわけではありません。たとえば、手のジェスチャーと区別しています。また、移動がいつ停止したかを判断することは、コンピュータビジョンが解決する興味深い質問です。これらの種類の問題は他の状況で解決されましたが、100%の正確さではなく、DGTボードと競合するほどの価格ではありません。

次に、カメラをどこに配置できるかという問題があります。直接頭上にボ​​ードの最適なビューが表示されるため、正方形を正確に決定しやすくなります。しかし、カメラが置かれる場所はどこでも、プレーヤーの一人が視界を遮る明確な可能性があります。ボードに寄りかかったり、時計に手を伸ばしたり、単に身振りをしたりします。

4)本当に安くない限り。そして、そうなるとは思わない。私の推論は簡単です。時間の制御が短くなると、ゲームの品質が低下し、もはや私にとって面白くなくなります


4で大きなポイントを挙げます。品質は確かに劣っています。カメラをセットアップする手間がかからず、ソフトウェアを書くのに1か月もかかりません。私はプレーオフに勝ったばかりですが、プレーがいかに貧弱なのか恥ずかしいです。
リッカルドゾルン14

5

それはかなり複雑なタスクです。おそらく、合理的な最初のステップは、単一の画像からFEN位置を認識することを検討することです。たとえば、さらにリソースが存在します。


優れたありがとう。私は両方を読んで、彼らは本当に面白いです。Chessgrabberは最近のプロジェクトであり、間違いなくより適しています。開発者に連絡しました。
リッカルドゾルン14

この最初のステップからビデオをPGNに変換するのはそれほど難しくないと思います-数ミリ秒ごとに画像を取得し、分析し、法的な方法で位置が変更された場合、新しい位置をファイルに追加します。
RLMS

更新:開発者は応答しました。ピースが重なっている3Dスキュー画像では機能しません。残念ですが、それをベースとしていなければ、プロジェクトは開始されません。
リッカルドゾルン14

静止画像を認識することは、実際には、それにつながるビデオを持っているよりも困難です。後者は、ピースを識別できなければならないという問題を排除するためです。
ピーター

4

現在、2019-12年であり、元の質問から5年後です。

  1. そのようなものは存在しますか(webcam / video to pgn converter)?プロトタイプですか?

    見る

  2. 誰かがそのような偉業を試みて、研究を共有しましたか?

    はい-これまでのところ、35の研究論文と10のオープンソースソリューションと1つの商用製品が見つかりました

    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日に開始され、数時間ですでに多くのリソースが見つかりました。たとえば、この質問

  3. このプロジェクトが成功しそうにない明白な制限はありますか?31年前に行った同様のプロジェクトでの自分の経験からのみ答えることができます。http: //wiki.bitplan.com/index.php/MagneticSensorChessBoard1987を参照してください。そのとき、動きを検出するチェス盤を作成しようとしました。私は木の部分とリードの接点に磁石を使用しました。成功の鍵は、チェスエンジンを使用して、新しい「ルール」が動きだけに集中できるようにし、個々のピースを検出する必要がないようにすることでした。上記の回答で概説したように、クイーン以外の作品へのプロモーションは、難しいユースケースの1つかもしれません。画像の違いを介してピースの動きを検出することは、よく理解されている問題です。

    チェスエンジンとUCI互換GUIも最近利用可能です。そのため、最近の問題は、個々の詳細の問題を解決するよりも統合の問題です。

    大きな障害は、「プロトタイプ」と製品の違いです。例:http//www.nandanbanerjee.com/files/ICCVR-08AUG12-011%20paper.pdf

    この質問よりも古いものの、手頃な価格で購入できる製品とはほど遠い紙。

  4. 存在する場合は購入しますか?

    はい。数日前に新しいチェス盤を買ったとき、動きを記録できるものを探していましたが、それでも約500ユーロでした。ハードウェアのコストは、まともなチェス盤と駒を含めて、最近では150ユーロをはるかに下回るようです。

    ソフトウェアはすぐにオープンソースで無料になるかもしれません(無料のビールのように)。それに応じてこの回答を更新します。


1
ありがとう、私はあなたの進歩を見るのが楽しみだ
リッカルド・ソーン

3

このソフトウェアを書きました。Arena GUIに接続された移動認識用のWebカメラAIが含まれています。

https://www.youtube.com/watch?v=APkoE1UDKj0


とても印象的なマリウス、おめでとうございます!アルファ版は既にテストに利用できますか?他のソフトウェアで使用するために、サービスを介して動きを公開できますか?
リッカルドゾル

3

2013年にFING UdelaRで画像処理コース内のチェストラッキングプロジェクト8x8camに取り組みました。

その後、2014年に他の学生がchesstrackという名前のより良いAndroid版を作成しました。Webの下で、ビデオを検索し、使用したコードにリンクできます。

何年もの間、このプロジェクトのアイデアを完成させたアプリを見たいです。このことについてのニュースがある場合は、コメントを残してください。

先のとがった質問に答える:

  1. そのようなものは存在しますか(webcam / video to pgn converter?プロトタイプかもしれませんか?


    プロジェクト8x8camchesstrack以外に、最近ChessCamという名前のプロジェクトを見つけました。これらのプロジェクトはすべてオープンソースであり、それらから新しいプロジェクトを作成する場合にのみリソースとして名前を付ける必要があります。

  2. 誰かがそのような偉業を試みて、研究を共有しましたか?


    はい。あなたは前の質問の答えでそれを見ることができます。

  3. このプロジェクトが成功しそうにない明白な制限はありますか?


    私が信じる最も難しい部分は、カメラがどのように配置されていても、照明とは無関係にソフトウェアを動作させることです。また、行われた動きを正しく検出するために、ペースの速いゲームで作業し、ゲームのプレイ中にハンドオクルージョンを操作します。

  4. 存在する場合は購入しますか?


    絶対そうです。


1

ソフトウェアがそこにあるかどうかわからないので、私は質問に答えません。私はそれがそれを行う方法だと思う方法を言っている、私は確かに知らないので、...


まず、仕事を楽にするためだけに、ライブトーナメントではなく、チェスソフトウェアからビデオを録画する必要があります。

ムービーを画像に変換する必要があります

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とその軽い検閲を購入すると、白い部分と黒い部分が検出され、コーディングが行われ、チェスが行われます。:)


1

編集:クイーン以外の何かに昇格すると、すべてが爆発します。これをサポートすることも非常に困難です(パート2の私のプログラムはプロモーション不足をサポートしますが、ピクセルを読み取るだけでパート1の情報を保存するのは悪夢です)。

Edit2:私はあなたがPGNに対する実際のボードチェスを意味していることに気付いたので、これはすべて役に立たず、おそらく私の答えを削除します。

パート1:ピクセルリーダーを使用して正方形を保存する

完全に可能です。必要な手順は次のとおりです。

  1. ボードの設定を変更して、最後の動きを強調するようにします(境界線だけでなく
  2. 与えられた(x、y)のピクセルを読み取るプログラムを書く
  3. 各正方形で約5+ピクセルを読み取るようにします(したがって、カーソル/ピースが読み取られるすべてのピクセルをカバーすることは不可能です)
  4. HEXをRBGに変換してから、「最後の動き」の色に近いと思われる範囲の許容値を与える
  5. フォーマットとアレイ上の移動を保存する["h1-h8", "e4-e5", ...] だけで、初期と終了正方形(オーダー重要でありません

注:ここから、最初の/終了位置がどの正方形であるかを実際に知ることはできませんが、2つの可能性があり、そのうちの1つだけが正当です。

私はC#でのRPGのゲームのための単純なピクセルベースのマクロ/ボットを書かれている、私はこれではない保証できるという、難しいことを考えます:

  1. カムは静的です(したがって、x、yの値が台無しになりません)
  2. 以前に背景色を知っているか、プレイする前に設定することができます

基本的に、ゲームをオンラインでプレイし、画面から直接録画する場合に最適です。

申し訳ありませんが、パート1で利用できるプログラムはありません


パート2:そのリストをPGNにエクスポートする

このリストを実際のPGNに変えるには、動きを記録するJavaScriptで記述したプログラムとmoveCaller()2つの正方形の位置を渡しfinal_pos、法的な動きで検索しinitial_pos、一致する場合は呼び出しますmakeMove()。だから我々はそれを2回呼び出すことができますe5 to e4し、e4 to e5私はそれが違法1を無視することを保証します。

  1. プロジェクトをダウンロードします(直接リンク.zip
  2. 解凍する .zip
  3. index.htmlこれでファイルのJavaScriptを変更します。

'

$(function(){
    var i, len, arr, temp, m_board;

    m_board=IsepicChess.initBoard({name : "main"});

    arr=["e4-e2", "e7-e5", "f3-g1"]; //is ok for the initial and final squares to be swapped

    for(i=0, len=arr.length; i<len; i++){
        temp=arr[i].split("-");

        //one of the two following lines will silently fail
        m_board.moveCaller(temp[0], temp[1]);
        m_board.moveCaller(temp[1], temp[0]);
    }

    m_board.refreshBoard();
});

.4。移動リストをコピーして、その上にPGNヘッダーなどを追加します[WhiteElo "2400"]


-1

私はすべてのチェスゲームにMonroi Chess Notation Deviceを使用していますが、基本的には電子ボードです。


4
ただし、OPの質問には答えません。
ダグオスカーマドセン14

デジタルプレゼンターを使用して、テーブルのすぐ上のカメラでゲームを記録できます。次に、グリッド内のオブジェクトを追跡するアプリケーションを作成できます。
Cferrel 14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.