昆虫標本を3Dモデル化してみた

はじめに

家の昆虫標本を3Dモデル化している.

昆虫標本3Dモデル

フォトグラメトリという「大量の写真から3Dモデルを生成する手法」を用いている.

この手法は,必要機材がカメラとPCだけで個人でも手を出しやすいという特徴がある.

最近ではソフトウェアも成熟してきて,専門知識なしでもクオリティの高い3Dモデルが作れるようになってきた.

こうした背景から標本3Dモデル化を試してみたが,十分なクオリティのモデルができることが分かった.

これで,いつでもどこでも,360°好きな角度から標本を見せられるようになる.

https://skfb.ly/6CPyD

他にも3Dモデルにすることで,写真だとどうしても伝わりづらかった「立体感」を表現できる.

逆に,毛などの「テクスチャ」や「光沢感」は苦手なことも分かった.

写真との使い分けが必要だが,3Dモデルは新しい展示として有用だ.

今回は,布教活動として手順とポイントを紹介する.

布教されたくない人は,3Dモデルをぐりぐり動かして楽しんでいって欲しい.

準備するもの

  • カメラ
  • 三脚2つ
  • 卓上クリップ
  • 白い模造紙
  • PC
  • フォトグラメトリソフト (3DFZephyr Lite : 2万円弱 / 年, 無料試用 2週間)
  • メッシュ編集ソフト (MeshLab, Meshmixer : 無料)

手順概要

  1. 写真を撮る (作業時間:2時間)
  2. 写真から点群データを生成する (計算時間:半日~1日)
  3. 点群データからメッシュを生成する (計算時間:1日~数日)
  4. メッシュを編集する

1. 写真を撮る (作業時間:2時間)

まず,昆虫標本をあらゆる角度から撮影する

撮影方法は2つ
・標本を固定してカメラを移動する方法
・カメラを固定して標本を回転させる方法

前者は光の当たり方が自然なモデルができる反面,カメラを移動するのが大変

後者は撮影が用意だが,光の当たり方が不自然になりやすい

今回は,撮影の簡単さのため後者を用いる

撮影は以下のように行った

標本の撮影機材

壁には白い模造紙を貼る
ペフをクリップした卓上クリップを三脚のステージに固定する.
そのペフに標本針を刺すことで,標本を自由に回転できるようにする.
カメラの高さと向きを変えつつ少しずつ標本を回転させて(15°,一周24枚程度),合計500枚程度撮影する.

撮影した写真

2. 写真から点群データを生成する (計算時間:半日~1日)

3DF Zephyrというソフトに1で撮った写真を投げると,自動で点群を計算してくれる.

[Workflow]→[New Project]を選ぶと以下の画面になる

ワークフロー設定画面

ここでは,[Compute Dense Point Cloud after cameras orientation]を選択して次へ

写真を選びパラメータを設定後,[Run]を押せば計算が開始する

ここで標本の上半分だけ,下半分だけの点群しかできなかった場合でも,後から修正がきくので進む

設定するパラメータ1

設定するパラメータ2

生成された点群

3. 点群データからメッシュを生成する (計算時間:1日~数日)

点群データができたら,3DF Zephyrのメッシュ作成機能を使う

メッシュとは,3Dモデルの表現方法の一つで,要は三角形を大量に組み合わせた巨大な多面体だ

[Workflow]→[Mesh Extraction]と選択すると,パラメータ設定画面になる

パラメータ設定画面

ポイントは,「EdgeLengthTrimScale」と「UsePhotoConsistency」

「EdgeLengthTrimScale」を小さい値に設定すると,詳細までメッシュにできる

「UsePhotoConsistency」を1にすると計算時間がかかるが,ノイズの少ないメッシュができる

パラメータ探索は,以下の方法でやることをオススメする

  1. 初めは「UsePhotoConsistency」を0にして,「EdgeLengthTrimScale」の値を何通りか試し,適切な値を探す
  2. 次に,「UsePhotoConsistency」を1にして,メッシュを生成する

ここで所望のメッシュができれば,作業は終了

EdgeLengthTrimScaleが大きすぎる場合(=30)

EdgeLengthTrimScaleが適切な場合(=2.5)

[Export]→[Export Mesh]でメッシュをエクスポートする

あとは煮るなり焼くなり,scketchfabにアップロードするなり好きにできる

僕の例では,そもそも点群が一体で生成できなかったため,上半分と下半分に分けてメッシュを作り,メッシュ編集ソフトで合成するという手間を要した

4. メッシュを編集する

MeshLab

上半分と下半分別々にメッシュを作った場合,それらを合体する必要がある

MeshLabというソフトを用いて,上半分と下半分のメッシュの位置と大きさを合わせ,[flatten mesh]コマンドを使う

すると,二つのメッシュが一つに統合されるので,これをエクスポートする

しかし,このメッシュは一つのファイルには収まっているが,上半分と下半分が辺でつながっておらず,一つの多面体にはなっていない (使いみちによっては,これがエラーを引き起こす)

Meshmixer

そこでMeshmixerというソフトで,再メッシュ化する

[編集]→[ソリッド作成]とクリックすると,パラメータ選択画面になり,メッシュの細かさなどを設定すると再メッシュ化される

これをエクスポートして完成

おわりに

一昔前までは,個人でフォトグラメトリをやるのはハードルが高かったように思う

しかし,ソフトウェアが充実した今,誰でもちょっと時間をかければ標本を3Dモデル化することが可能になってきている

今回は,特に昆虫標本をフォトグラメトリするにあたっての手順とポイントを書き綴った

これを見て,自宅の標本を3Dモデル化して資料として公開する虫屋が増えればと思う

僕も,引き続き色々な虫(ツノゼミとか)で3Dモデル化し公開していきたい