機械学習を使って束ねたままのケーブルの長さを判別してみた


こんにちは。のぐちです。
アミューズメント系ユーザー企業で社内SEやっています。
今回は現場でよくある困ったことを解決するためのツールを作ってみました。

結束されたケーブル類の長さをほどかずに判別することはできるか?

私は1カ月に1-2回ほどモール内の広場等で開催するイベントにスタッフとして参加するのですが、
会場内にLANや電源といったケーブル類を敷設するときに、「ケーブルの長さ分からない問題」が起きます。
各種ケーブルは以下のような状態で現地に運び込まれるのですが、使いまわしている資材になるため、
長さの仕分け等がされておらず、長さや色もバラバラで雑多に詰め込まれています。
使おうと思って、ほどいてみたら長さが足りずに、別のをほどくエンドレス…のような感じになります。

機械学習を用いてケーブルの長さを判断するツールを作ってみた

今回は最近学んだ機械学習を用いて、このケーブルの長さが分からない問題を解決するツールを開発してみました。

使ったもの

・Teachable Machine(無料で使える機械学習ツール)
・CodePen(HTML/CSS/JS のコーディングから公開までを一挙に行えるツール)

できあがったもの

・Teachable Machine の学習モデル

Teachable Machine では、下図のようなイメージで、画像データをいくつかの回答のパターンに分けて登録し 機械学習モデルを作ることができます。
作成した機械学習モデルは、クラウド上に保存され Web サイトやアプリなどからアクセスすることができます。
今回は、様々な長さの LAN ケーブルを束ねたまま撮影したものを、5パターンの長さ別に取り込ませました。
また、画像に映ってはいませんが、E パターンとして何もない画面を登録しています。

・CodePenで作ったコード

HTML+CSS+JSのWebページをWeb上のエディタで作成することができるツールです。
今回はHTMLとCSSは簡素ですがJS部分をそこそこ作りこんでいます。
エラーチェック機構あるのでめっちゃ便利です。
JS部分に多数存在する、console.log(XXX);は、CodePen の内部コンソールにログ出す機能なので、主にデバッグ用に記述しているものです。


See the Pen
ケーブルの長さ調べるツール
by のぐち (@noguchi_af)
on CodePen.


・アプリの動作

推論している間に画面が止まっているように見えてしまうため、推論回数を出力して動作が見えるようにしています。