2026年8月31日

000-4.コラム~Tech Spotlight~ 第4回目「コーディング・キャンバス」のAI機能を使ってみる

コラム~Tech Spotlight~ではそのときどきに気になるテーマにスポットライトをあてたコラムをお届けします。
レゴ エデュケーションの「レゴ エデュケーション コンピューターサイエンス&AI(以後、CS&AI)」には対象年齢に合わせて「小学1~2年生(5+)」「小学3~6年生(8+)」「中学1~3年生(11+)」という3種類のセットがあります。CS&AIのプログラミングを行う場合は主に「コーディングキャンバス」というアプリを使います。
今回は「コーディング・キャンバス」のAI機能について、ヘルプに書かれていない内容を紹介したいと思います。
(文/松原拓也)

◆カメラで「人」を認識する

用意するのは次の3点です。
・CS&AI本体。
・パソコンまたはタブレット。
・Webカメラ
筆者の場合、CS&AIは「中学1~3年生(11+)」セット+Windows搭載パソコン+ロジクールのカメラ「C270」という組み合わせで使うことにします。 CS&AIの入手方法については次のページを参考にしてください。



Windowsの場合、「コーディング・キャンバス」はWebアプリ版を使います。プログラムは「アイコンブロック」と「ワードブロック」の2種類の形式がありますが、今回はワードブロックを使います。

「コーディング・キャンバス」に搭載されているAI関連のブロックを並べてみました。 「ポーズ分類」は体の姿勢を認識する機能です。AIの世界では入力されたデーターを予測したり、判別する処理のことを分類(Classification)と呼びます。
「身体検知」は人の存在(人が居る/居ない)と体の部分(座標/角度/長さ)を検出する機能です。体の部分は「右目」「左目」「鼻」「右手首」「左手首」「右ひじ」「左ひじ」「右かた」「左かた」「右こし」「左こし」「右ひざ」「左ひざ」「右足首」「左足首」の15カ所を選択できます。

◆身体検知

「(体の部分)の(X/Y)軸の値」ブロックを使ったプログラムの例です。 プログラムを実行すると、約1秒ごとに「左手首」の座標を変数Xと変数Yに格納し続けます。
座標は画面の中心が(0,0)です。X座標は左方向をマイナス値、Y座標は下方向をマイナス値として考えます。

「(体の部分)と(体の部分)の間の角度」ブロックを使ったプログラムの例です。
角度の範囲は0度以上~360度未満です。0度をまたぐと359度に変化したりします。角度は整数のみで、マイナスにはならないようです。

例えば、「左手首と左ひじの間の角度」ブロックで角度を検出した場合、 「左手首」を基準とするか、「左ひじ」を基準とするかで0度の場所が変わってきます。
なんとなくですが、この場合だと「ひじ」を基準した方が直観的な気がします。

◆ポーズ分類

「(ポーズ名)の確信度」ブロックを使うと、ポーズの確信度を検出することができます。「確信度(confidence)」はその名の通り、認識を確信できる度合いのことです。AIの分野だと「信頼度」とも呼びます。値の範囲は0~100%です。

初期設定ではポーズは4種類しか登録されていません。しかし、カメラで撮影すれば、自分でポーズを登録することができます。テーマごとのポーズの集まりを「クラス」と呼びます。1つのクラスを作るためには5回以上撮影する必要があります。

「(ポーズ名)を検出したとき」ブロックを使ったプログラムです。
このプログラムでは左腕を上げたことを検出するイベントのタイミングを記録しています。 イベントが発生したら、ibentリストに値を格納しています。
イベントが発生していない時の確信度も知りたいので、 「(ポーズ名)の確信度」ブロックを使っています。 確信度はconfidenceリストに格納します。
プログラムを実行すると、2つグラフが重なって表示されます。グラフの横軸は1=約0.1秒です。confidenceリストの場合、グラフの縦軸は確信度です。 ibentリストの場合は、グラフの縦軸は110=イベント発生/0=イベント発生していないと意味します。
グラフを確認した結果、確信度が70%未満→70%以上に立ち上がった瞬間にイベントが発生することがわかりました。

人のポーズに合わせて動くロボットを作ってみました。ロボットはダブルモーターにプレートとブロックを取り付けています。プログラムは「右うでを上げている」「左うでを上げている」「両うでを上げている」ブロックを使っています。
ロボットが片腕を上げる時は問題ないのですが、両腕を上げようとすると、左右バラバラのタイミングで上がってしまいます。もう少しプログラムの改良が必要です。 動かしてみてわかりましたが、比較的低スペックのパソコンを使うと、処理に時間がかかりすぎて、カクカクした映像になってしまいます。AI機能を使うには、比較的高スペックのパソコンで動かした方がよさそうです。

動作中の様子

当ブログの内容は、弊社製品の活用に関する参考情報として提供しております。
記載されている情報は、正確性や動作を保証するものではありません。皆さまの創意工夫やアイデアの一助となれば幸いです。