----------------------------------------------------------------------
Interface2026年10月号
第2部 第1章 GUIツールでサッとはじめる！画像認識エッジAIの開発

ダウンロード・データ

Interface編集部
CQ出版(株)
公開：2026年8月25日
----------------------------------------------------------------------

====================================
ダウンロード・サービスご利用者各位
====================================
　毎度，小誌ご愛読を賜り，誠にありがとうございます．
　このたびはダウンロード・サービスをご利用いただき，誠にありがとうございます．
　筆者のご厚意により，本記事の関連データをこのアーカイブに収録しました．

================
概要
================
　このアーカイブには，表題の記事の中で作成したプログラム・ファイルやデータ・ファイルが収録されています．
　詳しくは該当記事を参照してください．
　アーカイブは，ZIP形式によって圧縮されています．

================
動作確認
================
　プログラムは筆者の元で動作を確認済みです．

=================
アーカイブの内容
=================

1.A) グレースケールの画像収集用 Arduinoプログラム (ソースコード内、SSID, パスワード書き換え必要)

	PhotoData\gray\arduino_photo_gray フォルダ直下
		arduino_photo_gray.ino

1.B) グレースケールの画像収集用 Python スクリプト (ソースコード内、IPアドレス書き換え必要)
	上記 1.A) を動作させて、PC上で本Pythonスクリプトを実行する

	PhotoData\gray フォルダ直下
		ReadPhotoGray.py

1.C) グレースケールの画像取得事例
	PhotoData\gray フォルダ直下
		class1.png ... class1分類のPNG画像例
		class2.png ... class2分類のPNG画像例
		class3.png ... class3分類のPNG画像例
		class4.png ... class4分類のPNG画像例
		class1.npy ... class1分類の画像の numpy バイナリ shpe=(96, 96) dtype=numpy.uint8 (0-255)
		class2.npy ... class2分類の画像の numpy バイナリ
		class3.npy ... class3分類の画像の numpy バイナリ
		class4.npy ... class4分類の画像の numpy バイナリ

---------------

2.A) カラー画像収集用 Arduinoプログラム (ソースコード内、SSID, パスワード書き換え必要)

	PhotoData\color\arduino_photo_color フォルダ直下
		arduino_photo_color.ino

2.B) カラー画像収集用 Python スクリプト (ソースコード内、IPアドレス書き換え必要)
	上記 2.A) を動作させて、PC上で本Pythonスクリプトを実行する

	PhotoData\color フォルダ直下
		ReadPhotoColor.py

2.C) カラー画像取得事例
	PhotoData\color フォルダ直下
		class1.png ... class1分類のPNG画像例
		class2.png ... class2分類のPNG画像例
		class3.png ... class3分類のPNG画像例
		class4.png ... class4分類のPNG画像例
		class1.npy ... class1分類の画像の numpy バイナリ shpe=(224, 224, 3) dtype=numpy.uint8 (0-255)
		class2.npy ... class2分類の画像の numpy バイナリ
		class3.npy ... class3分類の画像の numpy バイナリ
		class4.npy ... class4分類の画像の numpy バイナリ

---------------

3. 画像水増し python スクリプト
	Photo_argment フォルダ直下
		argument.py ... 画像水増し用の Python スクリプト

---------------

4. SenseCraft の量子化 AIモデルファイル
		model.tflite ... tflite形式の量子化AIモデルファイル
		model.cpp ... AIモデルを、C言語配列に変換したファイル

---------------

5. AIモデルの変換スクリプト
		tflite2c.py ... tflite形式のAIモデルファイルを、C言語配列ファイルに変換するスクリプト
		c2tflite.py ... C言語配列ファイルを、tflite形式のAIモデルファイルに逆変換するスクリプト

---------------

6. Python上で、tflite形式の量子化AIモデルを使い、推論するスクリプト
		check_tflite.py ... 同梱される画像データを使って、お試しで AI推論が実行可能

---------------

7. サンプル用のカラー画像データ
		class1.npy / class2.npy / class3.npy / class4.npy
		※ shape=(224, 224, 3), dtype=numpy.uint8 の numpy バイナリ

---------------

8.A) 最終のAI推論 Arduino プログラム (ソースコード内、SSID, パスワード書き換え必要)
	KeyChecker フォルダ直下
		KeyChecker.ino ... メインルーチン
		model.cpp ... AIモデルデータ
		tflite_worker.h ... 自作のAI推論用モジュール、全ての LiteRT 処理は本モジュールで実行
		tflite_worker.cpp ... 自作のAI推論用モジュール

8.B) 最終のAI推論の結果表示
		ブラウザで、M5AtomS3R-CAM のIPアドレスを打ち込むと、ブラウザに推論結果と推論時間を表示する
		http://192.168.XXX.XXX/capture
        ※ M5Stack の IPアドレス部分 192.168.XXX.XXX は、M5Atom からシリアル出力される
           M5Atom と PC 間を USB を繋ぎ、ターミナルソフト(115200bps) で確認する

===========
使い方
===========
基本全てのプログラムファイル ( .ino  .py ) 内に、使い方や、インストール手順、環境設定、注意点が記されています。

1) グレースケールの画像収集
	a) M5AtomS3R-CAM に Arduino プログラムを書込みます。
	b) M5AtomS3R-CAM を一旦USB接続して、シリアルモニタすると、IP アドレスが出力されます。
	     IPアドレスが特定できたら、その後は USB抜いてワイヤレスで撮影します。
	c) Python スクリプト内の IP アドレス定数を書き換えます。
	d) Python スクリプトを立ち上げると、1枚の撮影がされ、numpyバイナリとPNG画像ファイルが生成されます。

2) カラー画像収集
	手順はグレースケールと同じ。

3) 画像水増し python スクリプト
	各クラス毎に、水増しを行います。元のファイル群を指定し、水増し保存フォルダ内に、水増し画像が生成されます。
	Python スクリプト内の、「元のファイル群」 「カラー? グレー?設定」 「水増し保存フォルダ」 定数を書き換えて実行。


===========
著作権
===========
　収録したプログラム，データおよびドキュメントなどの著作権は，各著作権者（すなわち筆者）にあります．
　Copyright (C) 2026 Tadashi Kato

============
免責
============
(1)プログラムやデータの使用により，使用者に損失が生じたとしても，著作権者とＣＱ出版(株)は，その責任を負いません．
(2)プログラムやデータにバグや欠陥があったとしても，著作権者とＣＱ出版(株)は，修正や改良の義務を負いません．
