2018.05.21
こんにちは。クラウドソリューショングループのエンジニア明石です。
日曜日の午前中、物心ついたころから変わらぬ光景といえば?
そうです。「NHK杯テレビ将棋トーナメント」です!
羽生善治さんの「永世七冠」、藤井聡太さんの「15歳での七段昇段」、加藤 一二三さんの人気など、将棋ファンにとって、最近の将棋ブームはとてもうれしいです。
将棋といえば、去る2015年に将棋電王戦で、とうとうAI連合がプロ棋士との5番勝負に勝ち越し、人間越えを果たしたことも記憶に新しいと思います。
今日は「AI?何それ美味しいの?」という人に向けて、「ちゃんと味付けをして調理すれば美味しく召し上がれそう。」ということをAIの素人エンジニアがざっくりとお伝えします。
AIというと、IBM、Google、Amazon Web Seivice、Microsoft などの様々なITベンダーが提供しています。それらのAIを利用した様々なサービスが提供されて身近にあふれています。
今回はSalesforce.comが発表している『Einstein Platform Services(アインシュタイン・プラットフォーム・サービシーズ)』(以下、「Einstein」)というAIを紹介します。
Einstein Platform Services: https://metamind.readme.io/

Einsteinはマスコットキャラクターの容姿もあの有名な博士そっくりです。2016年に発表されたサービスですが、
「機械学習や深層学習、予測分析、自然言語処理などを活用したアプリケーションを誰でも簡単に使えるようにする、すなわち『AIの民主化』だ」
Salesforce社
というSalesforce社のコメントにあるとおり、複雑な数学やアルゴリズムなどを知らなくても簡単にAIを試すことができます。(だって僕でも出来たんだもん。)
Einsteinは現時点では2つの分類で4つの機能が提供されています。
お分かりのとおり、ガリガリにチューニングして複雑な学習モデルを作成して将棋で人間に勝つ、ということは出来ません。そんな高度なことは本当の専門家に任せてください。
今日は、冒頭で話した『NHK杯テレビ将棋トーナメント』のような将棋盤の画像から画像解析によって、駒の配置を検知して譜面を読めることができるかを試してみました。※よく目にする以下のような画像です。

まずは学習データの準備です。
「将棋の駒ってこんなものだよ。」、「王将ってこんな駒なんだよ。」といったことを学習させる必要があります。

先手と後手でどっち向きの駒か、若干傾いている駒、少し傾けて撮影した駒、色をモノクロにした画像など、判定制度を高めるために画像データの準備も工夫が必要です。今回は32個の画像ファイルを学習させました。
「後手の銀」→「g_gin」というラベルで名付けてこの部分に写っているよ。
「先手の角」→「s_kaku」というラベルで名付けてこの部分に写っているよ。
という感じで全部のファイルの全部の駒にラベル名と位置を設定します。

今回はデータ作成ツール:misu007/einstein-vision-annotation-creator を使用させていただきました。
Einsteinに対しては『画像ファイル名、駒のラベル名、座標』のセットをCSV形式のファイルで以下のようなデータを渡します。これが学習させる画像ファイルの数だけあります。ジーっと見てると眠くなるので目をそらしてください。
"hogehoge.jpg","{""label"":""s_fu"",""y"":683,""x"":199,""height"":252,""width"":183}","{""label"":""s_kyo"",""y"":676,""x"":482,""height"":251,""width"":202}","{""label"":""s_kei"",""y"":654,""x"":771,""height"":271,""width"":247}","{""label"":""s_gin"",""y"":313,""x"":768,""height"":268,""width"":257}","{""label"":""s_kin"",""y"":323,""x"":1118,""height"":276,""width"":265}","{""label"":""s_oh"",""y"":655,""x"":1105,""height"":287,""width"":304}","{""label"":""s_hisha"",""y"":272,""x"":132,""height"":292,""width"":281}","{""label"":""s_kaku"",""y"":289,""x"":451,""height"":278,""width"":276}"
Postmanというソフトを使って一連の操作を行いました。
実際には日々の業務で収集したデータを使って、日々再学習させていくような仕組みを業務システムへ組み込むことになると思います。

このような画像を判定させてみました。

先手は矢倉囲いで、後手は美濃囲いか。
というのはどうでもよくて・・・
Einsteinに判定させると以下のような結果が返ってきます。
{
"probabilities": [
{
"label": "g_kin",
"probability": 0.78360254,
"boundingBox": {
"minX": 739,
"minY": 560,
"maxX": 981,
"maxY": 784
}
},
{
"label": "g_kin",
"probability": 0.75549245,
"boundingBox": {
"minX": 753,
"minY": 60,
"maxX": 964,
"maxY": 291
}
},
~~~ 省略(全部で35駒有り) ~~~
],
"object": "predictresponse"
}
また目をそらしたくなるようなものが出てきました。
これはJSON形式というデータです。
{
"label": "g_kin", ・・・・・「後手の金」を表すラベルを名前付けています。
"probability": 0.78360254,・・・78%の確立でこれは「後手の金」だと判定した。
"boundingBox": {
"minX": 739, ・・・・左からのピクセル位置
"minY": 560, ・・・・上からのピクセル位置
"maxX": 981, ・・・・左からどこまでかのピクセル位置
"maxY": 784 ・・・・上からどこまでかのピクセル位置
}
},
このような情報が駒の数だけずらーっと帰ってきます。
上記の「後手の金」を画像の座標に当てはめると、以下のような位置になります。

なんかそれっぽいですね!
これを将棋盤の座標から棋譜表記に変換していけば「後手6三金」というように棋譜にできそうです。
というところで、中途半端ですが『画像解析で将棋の棋譜は読めそう』ということで、Einsteinの紹介でした。
ちなみに上記の作業ですが、仕事が終わってから思いついて、近所のイオンに将棋盤を買いに行ったのが夜の20時、その晩のうちに作業をしてこの記事まで書き上がりました。本当にパッと出来て簡単です。
Einsteinは自然言語解析のほうがまだ日本語対応がリリースされてないこともあり、未知数な部分などありますが、今後が楽しみです。
ITをいかに理解して活用できるかというスキルを「ITリテラシー」と呼び、ITリテラシーが仕事の生産性に影響を及ぼしている昨今ですが、今後はAIをいかに使いこなせるかという「AIリテラシー」が当たり前になるという話も聞きます。いろいろとアイデアを出して、さまざまな業務システムに活用していけたらと思います。
サンビット株式会社では、Salesforce によるクラウドシステム構築の開発技術者を募集しています!
興味のある方はぜひお問い合わせください。
2026.04.20
春は新生活のスタートとともに、アレルギーに悩まされる方も多い季節です。対処療法で乗り切ってきた中で、睡眠や食事といった基本を見直すことで体調の安定を実感しています。
2026.04.13
2026年2月に開催された佐賀県ラージボール卓球選手権大会に出場し、60~64歳クラスで優勝した体験を振り返ります。予選リーグを順調に勝ち上がり、トーナメントでは日頃から対戦経験のある選手との接戦を制して決勝へ。決勝ではファイナルゲームまでもつれる白熱した試合となり、最後は接戦をものにしました。これまでの経験や戦術の変化を実感しながら、試合ならではの緊張感も味わうことができました。
2026.04.06
未来屋書店の特別企画「作家100」を通じて、読書の本質について考察しました。100人の作家による直筆の言葉からは、本が持つ力や価値が多角的に浮かび上がります。本を読むことの意味をあらためて考えたくなる内容です。
2026.03.30
息子の遊び方と比べながら、私が小学生だった1980年代後半から1990年頃の遊びを振り返りました。缶蹴りやケイドロ、ろくむし、秘密基地づくりなどの外遊びに加え、迷路づくりやミニ四駆、ファミコンといった遊びにも夢中でした。日が暮れるまで友達と遊び、夕方に家へ帰る――そんな懐かしく幸せだった時間を思い出しています。