チェス盤は、その高度に構造化された幾何学的形状がアルゴリズムによる検出と処理に適しているため、コンピュータビジョンの理論と実践において頻繁に登場します。コンピュータビジョンにおけるチェス盤の出現は、カメラキャリブレーション、特徴抽出、および実世界の盤面状態認識(遮蔽処理)の3つの主要な領域に分けられます。本稿では、これらの領域における標準的な手法においてチェス盤が果たす役割について、重要な文献、例、およびソフトウェア実装への参照を含め、統一的に解説します。
コンピュータビジョンにおける古典的な問題は、3次元(3D)再構成であり、これはシーンの2次元(2D)画像からシーンの3D構造を推測しようとするものです。[ 1 ]実用的なカメラは複雑なデバイスであり、画像センサーの測定値と3D世界との関係をモデル化するには写真測量が必要です。標準的なピンホールカメラモデルでは、世界座標と3D世界との関係をモデル化します。および画像(ピクセル)座標透視変換を介して
どこ次元の射影空間。
この設定では、カメラキャリブレーションは、マトリックス透視モデルについて。カメラキャリブレーションは、多くの後続アルゴリズムがカメラパラメータを入力として必要とするため、コンピュータビジョンパイプラインの重要なステップです。[ 2 ]チェス盤は、簡単に構築でき、その平面グリッド構造が画像内の多くの自然な特徴点を定義するため、カメラキャリブレーション中によく使用されます。次の 2 つの方法は、チェス盤をよく使用する古典的なキャリブレーション手法です。
直接線形変換(DLT)キャリブレーションは、ワールドポイントとカメラ画像ポイント間の対応関係を利用してカメラパラメータを推定します。特に、DLTキャリブレーションは、透視ピンホールカメラモデルが直接線形変換アルゴリズムで解くことができる一連の類似関係を定義するという事実を利用します。[ 3 ]このアプローチを採用するには、3D空間内の非退化点の正確な座標が必要です。これを実現する一般的な方法は、互いに直交する3つのチェス盤から構築されたカメラキャリブレーション装置(以下の例)を作成することです。各正方形の角は等距離にあるため、各正方形の幅が与えられれば、各角の3D座標を簡単に計算できます。DLTキャリブレーションの利点はその単純さです。任意のカメラを単一の同次線形システムを解くことでキャリブレーションできます。ただし、DLTキャリブレーションの実用性は、3Dキャリブレーション装置が必要であることと、数値不安定性を回避するために非常に正確な3D座標が必要であるという事実によって制限されます。[ 1 ]
マルチプレーンキャリブレーションは、平面の 2 つ以上のビューからカメラのパラメータを計算できるカメラ自動キャリブレーションの一種です。マルチプレーンキャリブレーションの先駆的な研究は Zhang によるものです。 [ 4 ] Zhang の方法は、同じ平面の複数の透視図間の同形関係を捉える特定の同次線形システムを解くことによってカメラをキャリブレーションします。このマルチビューアプローチは、実際には DLT キャリブレーションで要求されるような精密な 3D キャリブレーション装置を構築するよりも、チェス盤のような単一の平面の複数のビューをキャプチャする方が自然であるため、広く用いられています。次の図は、チェス盤の複数のビューからのマルチプレーンカメラキャリブレーションの実用的な応用例を示しています。[ 5 ]
コンピュータビジョンにおいてチェス盤が登場する2つ目の文脈は、いくつかの標準的な特徴抽出アルゴリズムを実証することです。特徴抽出では、画像の意味内容を要約し、それによってデータの次元を削減した表現を提供する画像の特徴点を特定しようとします。 [ 2 ]特にチェス盤は、その規則的な形状がエッジ、線、角などの局所的な画像特徴を自然に示すため、特徴抽出アルゴリズムの実証によく使用されます。以下のセクションでは、一般的な特徴抽出アルゴリズムをチェス盤画像に適用する方法を示します。
コーナーは、多くのコンピュータビジョンシステムで利用される自然な局所画像特徴です。大まかに言えば、コーナーは2つのエッジの交点として定義できます。この概念を具体的なアルゴリズムに形式化したさまざまなコーナー検出アルゴリズムが存在します。コーナーは、隣接するピクセルとは必然的に異なるため、有用な画像特徴です。Harrisコーナー検出器は、コンピュータビジョンにおけるコーナー検出の標準アルゴリズムです。[ 6 ]このアルゴリズムは、各画像ピクセルにおける2D離散構造テンソル行列の固有値を解析し、構造テンソルの固有値が十分に大きい場合にピクセルをコーナーとしてフラグ付けすることで機能します。直感的に言えば、特定のピクセルに関連付けられた構造テンソル行列の固有値は、そのピクセルの近傍の勾配の強さを表します。したがって、大きな固有値を持つ構造テンソル行列は、直交方向の勾配が大きい画像近傍、つまりコーナーに対応します。
チェス盤にはマス目の境界に自然な角が存在するため、角検出アルゴリズムは実際にそれらを正しく検出できると期待される。実際、次の図は、透視変換されたチェス盤画像にハリス角検出を適用した例を示している。ハリス検出器は、盤の角を正確に検出できることが明確にわかる。
線は、多くのコンピュータビジョンシステムで利用されているもう一つの自然な局所画像特徴です。幾何学的には、2D画像内のすべての線の集合は極座標によってパラメータ化できます。それぞれ原点に対する法線ベクトルの距離と角度を表します。離散ハフ変換はこの考え方を利用して、空間画像を行列に変換します。-空間の- 番目のエントリは、によってパラメータ化された線上にある画像エッジ点の数をカウントします。[ 7 ] [ 8 ] [ 9 ]このように、離散ハフ変換の局所最大値を探索するだけで、画像内の線を検出できます。
チェス盤の格子構造は、その画像において自然に2組の平行線を定義します。したがって、線検出アルゴリズムは実際にこれらの線を正確に検出できるはずです。実際、次の図は、透視変換されたチェス盤画像に適用されたハフ変換に基づく線検出を示しています。ハフ変換は、盤のマス目によって生じる線を正確に検出できることが明確にわかります。
以下のMATLABコードは、画像処理ツールボックスを使用して上記の画像を生成します。
% 画像を読み込むI = imread ( 'Perspective_chessboard.png' );% エッジ画像を計算するBW = edge ( I , 'canny' );% ハフ変換を計算する[ H theta rho ] = hough ( BW );% ハフ変換の局所最大値を見つけるnumpeaks = 19 ; thresh = ceil ( 0.1 * max ( H (:))); P = houghpeaks ( H , numpeaks , 'threshold' , thresh );% 画像から線を抽出lines = houghlines ( BW , theta , rho , P , 'FillGap' , 50 , 'MinLength' , 60 );% -------------------------------------------------------------------------- % 結果を表示% -------------------------------------------------------------------------- % 元の画像figure ; imshow ( I );% エッジイメージ図; imshow ( BW );% ハフ変換図; image ( theta 、rho 、imadjust ( mat2gray ( H ))、'CDataMapping' 、'scaled' ); hold on ; colormap ( gray ( 256 )); plot ( theta ( P (:, 2 ))、rho ( P (:, 1 ))、'o' 、'color' 、'r' );% 検出された線図 figure ; imshow ( I ); hold on ; n = size ( I , 2 ); for k = 1 : length ( lines ) % k 番目の線を重ねるx = [ lines ( k ). point1 ( 1 ) lines ( k ). point2 ( 1 )]; y = [ lines ( k ). point1 ( 2 ) lines ( k ). point2 ( 2 )]; line = @( z ) (( y ( 2 ) - y ( 1 )) / ( x ( 2 ) - x ( 1 ))) * ( z - x ( 1 )) + y ( 1 ); plot ([ 1 n ], line ([ 1 n ]), 'Color' , 'r' ); endカメラのキャリブレーションや特徴抽出には、空で障害物のないチェス盤が最適ですが、物理的なチェスの駒が置かれたチェス盤を検出すると、コンピュータビジョンにおいて大きな課題が生じます。実際のシナリオ、例えば進行中のチェスゲームをデジタル化する場合には、チェスの駒が格子交点を遮り、不均一な影を落とし、グリッドの直線を崩します。このような状況では、ハリスコーナー検出器やハフ変換などの標準的な幾何学的アルゴリズムは、駒の背後に隠れた形状を解読できないため、しばしば失敗します。[ 10 ]
これらの制約を解消し、基板の形状を正確に特定するために、最新の検出パイプラインは一般的に、モジュール式の反復アプローチとエンドツーエンドの深層学習フレームワークという2つのカテゴリに分類されます。
モジュール式の反復アプローチ 従来の単一ステップ検出器は極端な遠近角度やピースの遮蔽下では機能しないため、研究者たちは部分的に見えるデータから盤面の完全な形状を推測するアルゴリズムを開発しました。2017 年に Czyzewski らが提案した広く利用されている手法は、反復的なヒートマップ生成と遠近法による切り抜きに依存しています。[ 11 ]生の画像でサブピクセル位置特定を試みる代わりに、このアルゴリズムはヒューリスティックな線マージを使用して画像をフィルタリングし、ピースの後ろに隠れているグリッド線を推測し、ニューラルネットワークを使用して遮蔽された格子交点を識別します。

このアルゴリズムは、最も確率の高いヒートマップの周囲のサブ領域を切り取り、歪みを正規化するために遠近法を歪ませ、このプロセスを再帰的に繰り返します。遠近法の補正が収束し、盤面の正確な境界が特定されると、盤面を64個の独立した正方形の切り取り領域に分割できます。この段階では、これらの正方形に対して、占有している駒を分類し、盤面の状態をForsyth–Edwards Notation (FEN)に変換するため、下流のアルゴリズム(標準的な畳み込みニューラルネットワークなど)が適用されることがよくあります。独立した分析により、非平面カメラアングルでの遮蔽を克服するためのこの反復パラダイムの堅牢性が検証されています。[ 12 ]
エンドツーエンドの深層学習 モジュール型パイプラインの既知の制限はエラーの蓄積です。最初の遮蔽処理やチェス盤の歪み処理が失敗すると、その後の処理もすべて失敗します。より最近のアプローチでは、明示的な幾何学的検出を完全に回避しようとしています。2023 年、Masouris と van Gemert は、チェスゲームの実際のスマートフォン写真 10,800 枚からなるデータセットChessReDとともに、エンドツーエンドの深層学習フレームワークを発表しました。[ 13 ]彼らのモデルは、生の画像から直接、盤面の状態とレイアウト全体を推測しようとします。これは、以前のエンドツーエンドの試みよりも大幅に改善されていますが、彼らのモデルは、制約のないテスト画像の 15.26% でのみ正確な構成を完全に認識しており、コンピュータ ビジョンにおいて、遮蔽の大きいチェス盤を検出することがいかに困難であるかを浮き彫りにしています。[ 13 ]
チェス盤パターンをカメラの幾何学的キャリブレーションに用いる際の主な制約は、その構造が非常に反復的であるため、カメラ画像内で完全に視認できる必要がある点です。この前提は、例えば、不均一な照明による鏡面反射によってチェス盤の検出が一部の角で失敗するなど、満たされない場合があります。また、画像隅付近のカメラ歪みの測定も、チェス盤ターゲットが完全に視認できる必要があるという制約によって影響を受けます。
この問題を解決するために、チェス盤ターゲットを何らかの位置エンコーディングと組み合わせることができます。一般的な方法の1つは、ArUcoマーカー[ 14 ]をライトチェス盤のマス目内に配置することです。このようなChArUcoターゲット[ 15 ]の主な利点は、すべてのライトチェス盤のマス目が一意にコード化され、識別可能であることです。これにより、1つのシーンに異なるArUcoを持つ複数のターゲットを配置することで、単一画像マルチプレーンキャリブレーションを実行することも可能になります。
チェス盤のパターンに位置エンコーディングを追加する別の方法として、パズルボードパターンがあります。[ 16 ]チェス盤の各エッジに1ビットの情報が割り当てられ、パターンのローカルな部分が固有のビットパターンを示します。ChArUcoパターンと比較すると、位置エンコーディングははるかに低い解像度で読み取ることができます。

以下のリンクは、チェス盤に関連するコンピュータビジョンアルゴリズムの一般的な実装例へのリンクです。