カテゴリー
工作

賞金の出る4択クイズゲームを隠しカメラとOCRで解くプロジェクト

イギリスのパブなどに置いてあるゲーム機に、クイズを解き続けることで勝ち進み、最後は賞金が出るものがあるそうです。

GitHub に公開されたこちらのリポジトリでは、そのトリビアクイズ機を解いてしまう支援ツールが公開されています。

こちらのアニメーションgif でプレイしている様子が見られますが、質問文と、4択の回答が表示されて、時間内に正答をタッチすると次の問題へ行けるんですね。

https://github.com/tensor8/hacking_slot_machines

こちらの動画に、ドラマか何かの中で出てくる、この手のゲームで遊んでいるシーンがあります。

Github上の解説によると、

  • カメラ内蔵のボタンで撮った画面の画像を Raspberry Pi へ送信
  • 画面の傾きを補正、OpenCV で問題・4つの回答のボックスを切り出す
  • Google Tesseract で文字を抽出
  • 得られた文字を[問題・回答]のデータから総当たり検索
  • espeak で音声合成した結果を隠しイヤホンに送る

という作りで、画面に映った問題の答えがイヤホンで聴こえてくる仕組みを実現しているそうです。

上にあるように、すべての問題と回答のデータはある前提で、これはゲーム機のROMからごく簡単な暗号化されたデータが取れていて、Pythonスクリプトで逆変換しています。

最初は問題文だけの検索で済ませるつもりだったそうですが、問題文の認識精度が完全ではなく、回答(20個のうち正答含めた4つがランダムに選ばれる)もあわせ、読み取りに間違いがある前提で単語間距離が小さいものを検索することで質問を特定しているとのこと。

当初は Raspberry Pi だけでこの処理を完結させるつもりだったそうですが、それだと回答が出てくるのに30秒掛かって間に合わないため、バックパックに入れたノートパソコンに画像を飛ばして、イヤホンへの音声合成もそこでやっているということ。Raspberry Pi はあまり関係なかった

やってる内容が内容なので、Hacker News のコメント欄では法律やモラルの問題を指摘する声も多く出ています。ボタンの穴から写す隠しカメラや、小型コンピュータであるラズパイ、バックパックに隠したPCなどの道具だてから、隠れてやるつもりがあるのも明らかですし。

Hacker News に紹介した id:jamesough が本当の作者なのかは確認できてませんが(作者である風にコメントで答えてはいます)、コードの更新日が2年前なので、これを実際に使ってたとしても前のことなのでしょうね。

アメリカのカジノでは、こういった本人の努力や知識で結果が変わるギャンブル機は無いそう。規則で許されていないようです。また、イギリスではこの手の Skill with prize (スキルで賞金)ゲームはギャンブルの範疇には入らないそうで、そのためパブ・映画館・ショッピングモールなどに自由に置くことができるのだとか。

この手の知識を問うゲーム機、特に賞金が出るものは、最初は簡単に答えられるものの、勝ち進めば進むほど問題の難度が上がり、またとても人間が答えられなさそうな問題も出るようになっているそうです。しかし、こんな風に機械による支援を受けた人間なら解ける、となってしまうと、賞金を出すビジネスモデルではもう立ちいかなくなってしまうでしょうね。

via Hacker News