Nakajima_Haruto が 2024年01月26日13時15分27秒 に編集
初版
タイトルの変更
[Spresense]色で奏でるゆる楽器!!《《Colorful Sun》》
タグの変更
SPRESENSE
spresense
機械学習
NeuralNetworkConsol
ゆる楽器
画像認識
楽器
メイン画像の変更
記事種類の変更
製作品
Lチカの変更
本文の変更
# 1.背景 世の中には色とりどりな景色が広がっています。 我々が生活している日本には海があり、山があり、街があり、そこには数えきれない生き物がいます。 景色とはその時その瞬間にしか味わうことができない儚いものです。そんな景色、色を"音"として表現したいと思い、色で奏でる楽器[[Colorful Sun]]を制作いたしました。 どんな人でも簡単に演奏ができるデザイン設計になっています! みんなで景色を奏でましょう!! # 2.用意したもの | 名称 | 概要 | |:---:|:---| | Spresenseメインボード | Arduino互換ボードコンピュータ | | Spresense拡張ボード | microSDスロットやヘッドフォンジャック等様々なインターフェースが使えるようにするもの | | Adventure3 Pro | FLASHFORGE製の3Dプリンター 樹脂筐体の印刷に使用 | | PLAフィラメント | 樹脂筐体の材料 | | ネジ | 直径2mmのネジ:4本 | | スピーカー | 3.5mmオーディオジャックの入力ができるもの | # 3.仕組み ![Colorful Sunの仕組み](https://camo.elchika.com/3a1b251571ee5d25cecf3210da121d711a85a1a8/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f65646433616232362d373064662d343365322d616361392d6261346130363661616438632f63356536623833322d356331302d343064632d383061322d376431666536326539393036/) 1.カメラから任意の画像を数秒ごとに取得する 2.画像をSpresenseを介して学習済みデータに認識させる 3.認識した結果の色と対応する音を判定する 4.判定結果に該当する音をスピーカーから出力する # 4.機械学習 はじめに、色を認識させるため①NNC(Neurarl Network Console)を用いて機械学習を行います。 今回は4色(赤,黄,青,緑)の判別を目標とする。事前にそれぞれの色の画像データを400枚程度収集しました。これらのデータから②構造自動探索機能を用いて学習を行いました。 以下のネットワーク構造を使用しました。 ![ネットワーク構造](https://camo.elchika.com/c19ab99607683b0f09eb61294604ad8350915e02/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f65646433616232362d373064662d343365322d616361392d6261346130363661616438632f64663261616630662d316164312d343165302d396135352d306265643663333237373735/) 学習の結果、正答率は50%ほどになりました。 # 4.工作 ![CAD 表面](https://camo.elchika.com/4603b9a4208e4b7ac34d7dcd7d5ce61704ce7186/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f65646433616232362d373064662d343365322d616361392d6261346130363661616438632f62633635326639382d323031632d343865382d383566312d656330633564323538663364/) ![CAD 裏面](https://camo.elchika.com/e6cbe652a6b749cb5b88f73042c9c241f2f91e72/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f65646433616232362d373064662d343365322d616361392d6261346130363661616438632f38373436356439622d363330312d346339342d396134642d356130396232626662313566/) Fusion360を用いて筐体の設計を行いました.裏面からSpresenseを筐体の中に挿入することができます。 蓋はネジを用いて閉じることができます。 また筐体の円周を纏っている棘が尖っていて、怪我をする恐れがあるという意見を頂いたため下記のような修正を加えました。 # 5.プログラム ```arduino:Lチカの例 #define LED_PIN 13 void setup() { pinMode(LED_PIN, OUTPUT); } void loop() { digitalWrite(LED_PIN, HIGH); delay(1000); digitalWrite(LED_PIN, LOW); delay(1000); } ``` # 6.デモ動画 # 7.工夫点 # 8.今後の予定 # 9.終わりに ## 10.用語説明 ①NNC ソニーネットワークコミュニケーションズ株式会社がリリースした、ニューラルネットワーク構築ツール ②構造自動探索機能 ニューラルネットワーク構造を自動的に変更しながら、指定された時間や探索回数に達するまで、さまざまなネットワーク構造で繰り返し学習を行い、それらの結果を比較できる機能 ### 11.参考文献