工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

トレーディングカードスキャナー/オーガナイザー

レゴとラズベリーパイを使用して、トレーディングカード/収集可能なカードのデジタル在庫を作成します。

ストーリー

子供の頃は本当にトレーディングカードに夢中でした。最近、箱に入ったマジックザギャザリングのカードをたくさん見つけて、自分で考えました。カードがいくつあり、どれだけの価値があるのだろうか。これらを手動でログに記録して検索するには時間がかかるため、プロセスの一部を自動化できるかどうかを確認することにしました。どういうわけか、このプロセスにより、Raspberry Piを使用し、Legoからプラットフォームを構築し、AWS S3 / Rekognitionを活用することになりました。

プロセス

  • Raspberry Pi、RPiカメラ、レゴプラットフォームを使用してカードのタイトルの写真を撮ります
  • 保存と処理のために写真をAWSS3バケットにアップロードします
  • AWS Rekognitionを使用して画像からテキストを抽出し、価格設定APIに対してクエリを実行して、各カードの市場価格を取得します

やるべきことがたくさんありました…

レゴプラットフォーム

私は木工が苦手で、カードが荒いのではないかと思いました。代わりに、レゴを使うことにしたので、いくつかの小売店で入手できる中型のゴミ箱を購入しました。 私はこのボックスだけに固執するように自分自身に挑戦しました–他のサポートはないので、なぜこれが骨の折れるように見えるのですか。 このプロジェクトでは、レンガごとに構築する方法については説明しませんが、複製したり、さらに改善したりするのに十分な写真がここにあるはずです。デザインは、私が何年も前に手に入れた安価な7ドルのカードソーターに触発されました。後部のサーボは、簡単な歯車のようなセットアップでタイヤを連続的に回転させて前方に動かすことができます。濃い緑色の部分からぶら下がっている正面のホイールは、他のカードが滑り落ちないようにするためのものです。一度に1枚のカードを押し出すのに十分なスペースがあります。また、1枚だけが出てくるようにカードに十分な重量を保つために、一緒にテープで留められた数枚のカードを使用しました。完全な開示–最初のビデオで、カードが所定の位置にないときに写真が撮られたことがわかります。これは時々起こりましたが、空白の写真を削除するのは簡単でした。

バックサーボが回転して、ホイールを前方に移動します。オーバーヘッドビューフロントビュー。前面の小さなサーボは接続されていないことに注意してください–ベースと灰色の柱に押し込まれています前面のサーボモーターは、下部の青いプレートと灰色の柱の間に挟まれています出てくるカメラは、プラットフォームから数インチ離れた場所にあるレンガの積み重ねの上に置かれ、カードの位置と揃うように角度が付けられています。カードの一部の上部をキャプチャするように、解像度がコードで変更されました。

リボンの長さは、対処するのに少し苦痛でした–より長いものを取得することをお勧めします。

ハードウェア

周辺機器用にPythonを実行する必要があったため、このプロジェクトにはRaspberryPiが最適でした。他に必要なものは、2つのサーボモーターと1つのカメラです。ブレッドボードに5V電源を接続していますが、必須ではありませんが便利です。

コード

コードは完全にPython2.7で記述されています。 1つのスクリプトは、サーボに電力を供給して写真を撮るためのものです。もう1つは、S3に保存されている画像をRekognitionに対して処理するためのものです。

カードをレゴプラットフォームにロードしたら、次の操作を実行できます。

 python mtg_servo.py  

これにより、サーボが開始され、カードがスキャンされます。完了したら、スクリプトを終了してさらに読み込むことができます。私は1分間に約20〜25枚のカードを作成することができました。 は、カードセットの3文字のコードでした。これにより、画像処理と価格設定APIの両方を整理できます。 「M13」セットのすべての.jpgは、パスに書き込まれました。

AWSS3とRekognition

tesseractとOpenCVでOCRを実行してみました。どちらも素晴らしいツールですが、Rekognitionの方がはるかに使いやすいことがわかりました。これにより、ポジショニング、照明、距離などに多くの柔軟性がもたらされました。これを行うには、無料のAWSアカウントが必要です。 AmazonはAWSFree Tierにかなり寛大であり、その下で月に5,000枚の写真を処理できます。時間の都合上、S3ファイルを手動でアップロードしました(表示されていませんが、ここにガイドがあります)。 s3バケットは、現在のディレクトリ(/set_name/file.jpg)とまったく同じように設定されました。以下のスクリーンショットは、撮影した写真の一部を処理するRekognitionのデモバージョンを示しています。写真に問題があるにもかかわらず、非常に正確であることに気付くでしょう。

サンプルキャプチャサンプルキャプチャこのプロセスを自動化できます!すべてのカードがバケットにアップロードされたら、以下のコードを実行して、検出されたテキストをcsvに出力できます。

 python Rekognize_S3.py  
画像処理の結果は次のとおりです。写真の品質が良ければ、これははるかに高かったでしょう。私が遭遇した他の2つの主な問題は、(1)フォントです。フォントの多くは、私でさえ解読に苦労した場所に一見近い文字と(2)照明を持っていました。スキャンした920枚のカードのうち:

  • 619は正確でした(67.3%)
  • 201は1文字ずれていました(21.8%)
  • 100文字が1文字以上ずれていた(10.9%)

スウィート!その後、カードの市場価格でTCGplayerのAPIをヒットする簡単なPythonスクリプトを作成しました*。結局、私は約275ドル相当のコモン、アンコモン、レアを手に入れました! (私はすでにお金の価値があるとわかっていたカードをすべて削除しました)

* 2018年5月27日編集: Rekognitionスクリプトを更新して、検出されたテキストをTGCplayerのAPIに対してリアルタイムで(およびファイルに書き込んで)実行するようにしました。 APIの申請プロセスがあることに注意してください。

締めくくり

これがあなたにそれらの古いカードを破壊し、それらで何かをするように刺激することを願っています!これもスポーツカードなどいろいろなセットでやろうと思っています。ハッピースキャン!

出典: トレーディングカードスキャナー/オーガナイザー


製造プロセス

  1. アンバー
  2. 凝縮したスープ
  3. ゴールキーパーマスク
  4. ギロチン
  5. 墓石
  6. サンドバッグ
  7. ケイ素
  8. ウクレレ
  9. ウォッカ
  10. トランプ