ライブ映像を電気分解泡により表示するための電極制御
田中波輝

1(指導教員：椎尾 一郎)はじめに画素数を増やすことができるようになった．また，これはグレースケール表示もできる．本研究では，これらの特徴を活かした作品である，泡鏡システムを提案する．

水中の気泡を画素として用い，情報を提示する泡ディスプレイが提案されている．従来の泡ディスプレイは表示のための気体を外部から供給する必要があるが，BubBowl[3] では電気分解により発生する気体を泡ディスプレイの画素として利用する手法を提案した．この研究は電気分解により発生する気体で 10×10 ピクセルのパターン表示を行う．本研究では，BubBowl の特徴を活かし，電気分解により発生させる泡で高画素かつグレースケールで，水の入った容器を覗き込んだ人の顔を，水面に泡表示できるインタラクティブディスプレイ（図 1）を開発した（以降，本システムを「泡鏡システム」と呼ぶ）．これは，容器型のシステムであり，覗き込んだ人の顔を泡で表示する．本稿では泡鏡システムを覗き込んだ人の顔画像を取得し，泡表示に適した画像に処理するソフトウェアを開発した．

3実装

3.1

ハードウェア

泡鏡システムのシステム構成を図 1 に示す．本システ
ムは，pc2 ，web カメラ3 ，直径 30cm，高さ 12cm の筒型の容器と Arduino UNO で構成されている．容器底面には陰極の 32×32=1024 個のピンヘッダと Arduinoが設置されており，円筒の容器内壁に陽極の銅テープが貼られている．Web カメラは，容器の淵に設置している．回路には，シフトレジスタ 8 個とピンヘッダ1024 個を使用している．泡ディスプレイに用いる水溶液は水，インスタントコーヒー粉末（16g/L），コンスターチ（4.5g/L），重曹（4g/L）を混ぜたものを 1.5L使用している．

3.2
3.2.1

システム構成この PC 上で動作する泡鏡システムのプログラムはProcessing と Arduino で開発した．OpenCV で顔認識して背景を除いた顔画像を Processing で画像処理する．Web カメラを通して取得した顔画像を泡鏡システ
ムの画素数に合わせて 32×32 ピクセルのサイズに変更し，その後グレースケール化した．適当に決めたグ
レースケールの段階を 5 つの閾値で設定し，数字 0˜5を当てはめ，数字を配列に格納した．次に，Processingから Arduino に顔画像のグレースケール値を格納した配列を送る．Arduino では，まず受け取った配列からビット演算によりシフトレジスタが読み取るのに適した配列を作成する．また，配列の読み込みに時間がかかるため，Arduino のタイマー割り込みを使用して，PDM 制御をし，10ms ごとにシフトレジスタに配列の中身の１つずつを送るようにした．また，X や I といった文字を出力する配列も作った．それぞれ PC のキーを使って Arduino にデータを送り，泡鏡システムに出力できるようにした．また，X の文字の泡の濃さを 1 ˜5 のキーを押すことによって変えることが可能である．加えて，PC のキー操作によりカメラ映像の取得，データ送信のタイミングを制御した．

図 1: 泡鏡システム概観

2

ソフトウェア関連研究

泡で絵や文字を表現するディスプレイの研究がいく
つか実施されている．例えば，Shaboned Display[2]は，シャボン玉１つを１画素としたディスプレイである．また，The Information Percolator[1] は水を満たした透明パイプ群中を上昇する泡を用いた 2D ディスプレイである．
インタラクティブディスプレイの作品として以下がある．WoodenMirror1 は，830 個の小さな四角の木片とカメラを用いたディスプレイである．ディスプレイの前に立った人の顔をカメラにて認証し，光の当て方によって色が変わって見える木片の性質を利用して，木片１つを１画素として顔をドット表示する．WoodenMirror
は 830 の画素数で木片で表示していたが，本研究では1024 の画素数で覗き込んだ人の顔を泡で表現する．
本研究の先行研究である BubBowl[3] は，水の電気分解により水を水素と酸素に分け，放出した泡で文字や絵を表示する．従来の泡ディスプレイは高画素にするには高コストだった．そこで，電気分解を用いた泡ディスプレイが提案された．これにより，低コストで3.2.2

シミュレーション

泡鏡システムの動作を液晶ディスプレイ上で確認するシミュレーションを行った（図 3）．図 4 は泡表示を想定したシミュレーション結果である．左の画像はWeb カメラで撮った顔写真である．右の画像は左の画像を 32×32 ピクセルのサイズに変更し，自分で決めたグレースケールの閾値によって白い丸の面積を変えている．泡鏡システムでは BubBowl[3] と同様に溶液
2 Apple 社 MacBook Pro,macOS 10.14.6

1 http://www.smoothware.com/danny/woodenmirror.html

3 株式会社53

バッファロー,BSW20KM11図 2: 泡鏡システム全体構成
図 4: (左)Web カメラで取得した写真 (右) 円の直径の違いで泡を表現したシミュレーション結果

図 3: 液晶ディスプレイ上で行ったシミュレーションの様子にコーヒーを使用するため，背景色は茶とした．
．グ
レースケール閾値範囲は 255˜200，200˜180，180˜150，150˜130，130˜120，120˜0 とした．グレースケールの閾値範囲はシミュレーションを行うユーザーの顔や環境により変更する必要がある．例えば，凹凸の差が小さい顔では閾値範囲の幅を小さくする必要があり，凹凸の差が大きい顔では閾値範囲の幅を大きくする必要がある．また，暗い環境下ではグレースケール値が全体的に高くなるため，ガンマ補正で画像の明るさを調整する．明るい環境下でシミュレーションを行うと，背景とユーザの顔の輪郭との境目が明確になる．
また，実際に泡鏡システムを使用する前に，LED を点灯させるプログラムを利用して，正確に電極を制御できているかを検証した．LED64 個とシフトレジス
タ 8 個を使用し，LED の半分はディスプレイの「列」，残り半分は「行」として 1024 画素表示を確認した．行と列でそれぞれ点灯する LED 位置の交差する位置に泡が発生していることとする．どこが光っているかを見比べて，泡鏡システムが正常に制御できているかを確認した．
最後に，実際に泡鏡システムのディスプレイを使用して表示した．

4

図 5: 泡鏡システムでの顔表示で適切に動作するよう改善したい．さらに，電気分解による泡表示手法では応答速度が低い．表現の幅を広げるため，絵や文字を素早く切り替えることができるよう応答速度の高速化を検討している．

参考文献[1] Heiner, J. M., Hudson, S. E. and Tanaka, K.: The Information Percolator: Ambient Information Display in a Decorative
Object, in Proceedings of the 12th Annual ACM Symposium
on User Interface Software and Technology, UIST 99, p.
141–148, New York, NY, USA (1999), Association for Computing Machinery.
[2] Hirayama, S. and Kakehi, Y.: Shaboned Display: An Interactive Substantial Display Using Soap Bubbles, in ACM SIGGRAPH 2010 Emerging Technologies, SIGGRAPH 10, New
York, NY, USA (2010), Association for Computing Machinery.
[3] Ishii, A. and Siio, I.: BubBowl: Display Vessel Using Electrolysis Bubbles in Drinkable Beverages, in Proceedings of the32nd Annual ACM Symposium on User Interface Software
and Technology, UIST 19, p. 619–623, New York, NY, USA(2019), Association for Computing Machinery.

まとめと今後の課題

本研究では，電気分解によって発生させる泡を画素として利用し，人の顔画像を水面に表示するインタラクティブディスプレイ「泡鏡システム」を提案・実装した．
今後は，グレースケールの閾値を後から任意の値に変えることができるユーザインタフェースを開発した
い．また，ユーザテストを行うことで，様々な状況下54