はじめに(bambu Labすごい!)
この記事ではbambu LabのサービスであるAI Scannerについて解説していきます。
まず近況報告から何ですが最近、bambu Labの3Dプリンター”A1 mini”を購入しました。
前々からマイコンプログラミングをやっていくうちに、マイコンを入れるケースであったり構造部品を作りたくなり、いつかは3Dプリンターを購入したいと思っていた矢先、bambu Labのセールを知り購入しました。
A1 miniを使用していますが、すごい使いやすいですね!家庭向け3Dプリンターを使うのは今回初めてですが普通の紙のプリンターと使い勝手は遜色ないです。
- 成形不良はほとんど発生しないし、エラーがあれば停止して通知してくれる。
- bambu studioというbambu Labが提供しているスライシングソフトウェアを使えば、使用するフィラメントの商品名を選択するだけで細かい設定は自動で行われ、サポート材の配置も自動で行われる。もちろん使用しないことも可能です。
- データのやり取りはmicro SDで移動することもできますがwifiで送信する方が便利。いちいちmicro SDカードを抜いたり差し込んだりする手間はありません。
2024/11のブラックフライデーセール時で3万円台で購入できましたが、この性能にしては安すぎます!
今はbambu Labの運営しているサイトMakerLabからダウンロードした他ユーザーが設計した3Dモデルや、自分でFreeCADで設計した3DモデルをA1 miniにプリントさせて使用しています。
またbambu Labにはアカウント登録をすると使用できるMaker worldというHPで生成AIを使用した面白いサービスが多々あり、今回それを使ってみました。
MakerLabとAI Scannerとは?Bambu Labユーザー必見のサービスを解説
通販サイトを調べるといろいろな3Dスキャナーが売られています。しかし安くても5万円以上など貧乏性の私からしたらまだまだ高額と思ってしまうものばかりです。1万円台の安いものもあるにはありますが、自分で組み立てと設定を行う必要があり、難易度が高いようで初心者向きではないです。
そこでbambu Labのサービス、Maker worldで使用できる”AI Scanner”というサービスを紹介します。こちらは自分のスマホの動画撮影機能を使って3Dスキャンしたい物体を撮影するだけで3Dモデルに変換してくれる優れたサービスです。
bambu Labのサイトに使い方などを動画付きで分かりやすく解説されているのですが、意外と嵌ってしまったところがあり、またbambu Labのサービスについて解説しているサイトが少なかったので、今回情報共有したいと思います。
AI Scannerを使った3Dスキャンの手順:動画撮影からモデル生成まで
※説明で使用している画像にはぼかしを入れています。
bambu Labのアカウントを登録していない人は登録を行ってください。
bambu LabのサイトであるMaker Worldにアクセスし、MakerLabのタブに移動し下までスクロールすると”AI Scanner”の項目があり”Try it”をクリックします。
初めてページに入ると下写真のようにshooting guideが始まります。このページで分かりやすく解説されていますので、ここでは簡単に要点だけ説明します。
- 動画撮影を行う際は、3Dスキャンしたい対象を中心に円を描くように3回周りながら撮影する。
- 上方向から見下ろした角度、水平角度、下から見上げた角度でそれぞれ1周ずつ、計3周撮影する。順番に関係があるかまでは検証できませんでした。私の時は下、水平、上の順で撮影しましたがそれでもできました。
- 必ず撮影者が回って撮影すること。ターンテーブルのようにカメラが固定で対象物だけ回転する方法ではスキャンできない。あくまで私の考えですが、おそらく背景が動いていることが肝なのだと思います。
- ロールスクリーンのような背景が単色な場所での撮影ではスキャンできない。これも前と同じ理由で背景の動きを検知できないからなのだと思います。
- 撮影背景が動くのは必ず撮影者が周ることによって生じる動きのみとすること。shooting guideでもわかりやすく解説されていますが撮影中に人が通りすぎるなどの動きが映ってはいけない。
- 3Dスキャンしたい対象は停止し続けること。
私の場合は下写真のようにフィラメント用の箱を2つ重ねその上に3Dスキャンしたい対象(自分が使っている外用鎮痛薬)をのせて撮影しました。特にアプリなどをダウンロードしたわけではなく、iPhoneに元から入っているカメラアプリで動画撮影しました。
使用したiPhoneはXRで、動画の拡張子は.MOV。iPhoneで撮影したファイルを変換せずそのまま使用しています。
shooting guideを2つ進めると、ファイルのアップロード画面に移ります。”Drop a file in this area or click to select”のエリアに先ほど撮影した動画ファイルをドロップするか、ここをクリックするとファイル選択画面が立ち上がるので動画ファイルを選択しましょう。パソコンの性能による問題かもしれませんがアップロードには数分ほど時間がかかります。
アップロードに成功するとドロップエリアがアップロードした動画の再生画面に切り替わります。
物体に適した”General Mode”か人物などに適した”Portrait Mode”のどちらかにチェックを入れて、”Next step”をクリックします。
次に動画でマスクをかける箇所を選択する画面に移ります。最初はシステムが自動でマスク処理を行った状態で画面に移ります。ここではスキャン対象とその土台以外が真っ白の状態になっていました。あまりこういうアルゴリズムに詳しくないのですが、動画の中心上にある物体以外を背景として自動処理しているのではないでしょうか。このままモデル生成を行うと土台部分まで3Dモデル化されてしまいます。なので手動で3Dモデル化する範囲を選択してやる必要があります。
“Add mask”もしくは”Remove mask”、”Reset”をクリックするとマスク処理が解除された状態に戻ります。
“Add mask”を選択した状態で、3Dモデル化したい対象をクリックすると対象がハイライトされます。今回は対象だけがくっきり検出できたため使う機会がありませんでしたが、おそらく”Remove mask”は”Add mask”で誤って検出された部分を除外する機能だと考えられます。”Reset”はそのままmask状態を全解除する機能ですね。
私は当初勘違いしていました。てっきり3Dスキャンする対象だけを検出できるようにそれ以外を”mask”する意味だと思っており”Add mask”と”Remove mask”を逆に認識していました。スキャン対象を”mask”するように設定するのが肝です。
設定が終わったら、”Create Model”をクリックすると3Dモデルへの自動変換が実施されます。
これで動画ファイルから3Dモデルへ変換処理が始まりますが、これがかなり時間がかかります。動画ファイルによるかもしれませんが長いもので3時間とか平気でかかります。故障でも処理落ちでもないので気長に待ちましょう。
成功すると以下のように変換した3Dモデルが表示されます。ちゃんと外用鎮痛薬のくぼんだ所までしっかり再現されています。
“Download.3mf”をクリックすると生成された3Dモデルをダウンロードできます。下矢印マークをクリックするとダウンロードするファイルの拡張子を.stlか.3mfのどちらかを選べます。この後bambu studioで開くので.3mfでダウンロードしました。
このファイルをbambu studioで開くと大きすぎて成形できなかったので、1/10倍に小さくしました。スマホで撮影した対象物と生成された3Dモデルのサイズの関係性はわかっていません。
生成した3Dモデルを3Dプリンターで出力してみた!
こんな感じで成形できました。プリムは適用しましたが、サポートは使用しませんでした。
プリントできたモデルをベースプレートから外し、プリムを除去したものがこれです。
3Dモデル化の際に生成された表面の細かなしわや凹凸まで再現されてびっくりしました。
自分のスマホと3Dプリンターだけで物体の3Dスキャンとプリントまでできるのはすごいですね!
気になった点(今後検証が必要な点)
以上がAI Scannerを使用した結果報告です。まだ使用し始めたばかりということで検証が足りない部分もあります。以下の点が気になりました。
1回で成功するとは限らない
2~3回くらいの撮り直しはあると考えたほうがいいと思います。
マスク処理が完璧ではない
前項の3枚目の写真に写っているように変な突起物までプリントされてしまいました。3Dモデル生成の時からあり3回くらいやり直しても残ったままでした。これは3回のうち一番小さくなったものを使用しました。
おそらく土台に使用したフィラメントの箱に模様が書かれており、それが誤検出されたんだと思います。使用する土台は無地のほうがいいかもしれません。
周りながらの撮影が大変
目が回りました(笑)。実施するなら撮影場所も広く、土台も高い方が撮影しやすいです。今回やっつけで整えた撮影環境だったためしゃがんで撮影しなければならず、その状態で周ったもんだから手元がブレブレでした。3Dモデル生成が安定しなかったのもこれが原因かもしれません。自分が回らなくてもスマホだけが高さを調節しながら自動で周る治具とかがあれば便利かもしれませんね。
生成された3Dモデルが重すぎ?で3D設計ソフトで処理できない
生成された3Dモデルは.stl形式なのでFree CADのような3D設計ソフトで開いてもメッシュ状態のため編集できません。これをメッシュからシェイプにして、その後ソリッドに変換する作業が必要となります。
この時は何度やってもメッシュ→シェイプの段階で真っ黒に変換(変換失敗)されてしまい、その状態でソリッドにしようとするとソフトが固まりました。
3Dスキャンしたものを3D設計ソフトで微修正や追加工したいケースが多いため、これは致命的です。生成される3Dモデルが重たいものなのか、使っているPCスペックやFreeCADの性能では変換できないのか、単に私の撮影が下手なのか、心あたりが多すぎてわかりません。
次はちゃんとした撮影環境を整えてから実施し、原因を1つずつ潰しこんで検証したいと思います。
まとめ
いくつか改善点が出ましたがほとんどが使い方の問題ですので、AI Scannerのシステム自体は優秀です。
今後試行錯誤を繰り返して、使用方法が確立できれば化けるシステムだと思います。
MakerLabにはこのほかにもさまざまな生成AIサービスがあり、どれも興味深い機能です。bambu Labの3Dプリンターをお持ちの方はぜひ使用してみてはいかがでしょうか。