【ITニュース解説】会社名義でデジタルアートを作って展示した話
2025年10月03日に「Qiita」が公開したITニュース「会社名義でデジタルアートを作って展示した話」について初心者にもわかりやすく解説しています。
ITニュース概要
会社有志が六本木アートナイトにデジタルアートを出展。開発者がアイデア出しから担当した、そのデジタルアートの実装プロセスをレポートしている。ゼロから作品を作り上げるまでの具体的な開発過程がわかる内容だ。
ITニュース解説
六本木アートナイトというイベントに、会社の有志メンバーがデジタルアート作品を出展した話は、システムエンジニアを目指す初心者にとって、アイデアがどのように具体的なシステムとして形になり、人々に体験を提供するかを示す良い事例だ。開発を担当した担当者は、その過程を詳細に報告している。
まず、プロジェクトは「六本木アートナイトに応募しよう!」という漠然とした目標から始まった。何を作るか、どのような技術を使うかは全く決まっていない状態からのスタートだ。これは実際のシステム開発プロジェクトでもよくあることで、まずは「何を達成したいか」という目的が先行し、そこから詳細な仕様を固めていくプロセスを経験することになる。
アイデア出しの段階では、「参加型」「デジタルアート」「光る」「街」「体験」といったキーワードを基に発想を広げた。そして最終的に、「六本木の街を抽象的に表現したデジタルアートに、鑑賞者が自身のスマートフォン(スマホ)の光で色を塗ることで、夜の街をカラフルに彩る」というコンセプトが生まれた。このコンセプトを固める過程は、システム開発における「要件定義」にあたる。ユーザーにどのような体験を提供したいのか、システムで何を実現したいのかを明確にする、プロジェクトの根幹をなす非常に重要な工程だ。
コンセプトが決まると、それを実現するためのシステム構成を検討する。これが「システム設計」の段階だ。鑑賞者のスマホの光をどう検出するか、どこにアートを表示するか、複数の鑑賞者の操作をどう統合するか、スマホからどう操作させるか、といった具体的な技術的課題を洗い出す。 結果として、Webカメラでスマホの光を捉え、その情報を基に画像を加工してプロジェクタで投影し、スマホのWebアプリケーションから操作を行うという、システム全体の骨格が作られた。
具体的な技術選定と実装では、いくつかの要素に分けて考えられる。 一つは「フロントエンド」と呼ばれる部分で、鑑賞者が直接操作するスマホのWebアプリケーションを指す。これは、スマホの画面を特定の色に光らせる機能と、その色情報をサーバーに送る役割を持つ。HTML、CSS、JavaScriptといったWeb標準技術が使われ、ユーザーインターフェース(UI)を構築する。 もう一つは「バックエンド」と呼ばれるサーバーサイドの処理だ。Webカメラで捉えた映像をリアルタイムで処理し、スマホから送られてきた色情報と組み合わせて、プロジェクタに投影するための画像を生成する。ここではPythonというプログラミング言語と、画像処理ライブラリのOpenCV、そしてWebサーバーを構築するためのFlaskなどのフレームワークが活用された。特にWebカメラでスマホの光を検出する部分では、HSV色空間という色の表現方法を使って、特定の色域(例えば青色や赤色など)を持つ光を効率的に抽出する技術が用いられる。これは、映像から特定の情報を識別する高度な技術の一例と言える。
鑑賞者のスマホ操作とプロジェクタへの表示は、リアルタイムで連動する必要がある。このため、「WebSocket」という技術が採用された。通常のWeb通信が、リクエストを送信し、レスポンスを受け取るという一方向的なやり取りであるのに対し、WebSocketはサーバーとクライアント間で常時接続を確立し、双方向でデータをリアルタイムにやり取りできるのが特徴だ。これにより、鑑賞者のスマホからWebSocketを通じて送られた色情報が即座にサーバーで処理され、プロジェクタ用の画像データが生成されて投影されるという、高速でインタラクティブな体験が可能になる。
ソフトウェアだけでなく、ハードウェアの選定と設置もプロジェクトの重要な側面だ。高性能なWebカメラを選んで正確に光を捉え、明るいプロジェクタで鮮明な画像を投影する必要がある。これらの機器を物理的なサーバー(PC)に接続し、安定したネットワーク環境を構築する。実際のイベント会場にシステムを設置する際には、周囲の照明環境や鑑賞者との距離、電源供給など、様々な物理的な制約を考慮し、適切に調整する作業が伴う。
開発したシステムは、実際にイベント会場で適切に動作するかどうか、徹底的にテストする必要がある。周囲の環境光がスマホの光の検出に影響しないか、複数の人が同時に操作した場合にシステムが安定して動くか、といった点を検証する。テストを通じて見つかった問題点、例えば特定の色が検出されにくい、処理速度が遅いといった課題に対しては、プログラムの修正や設定の調整を行い、システムを改善していく。この地道な作業が、信頼性の高いシステムを作り上げる上で不可欠な工程だ。
このデジタルアートプロジェクトは、アイデア段階から始まり、技術的な課題を解決し、最終的に観客に新しい体験を提供するものとして実現された。システムエンジニアの仕事は、単にコードを書くだけでなく、企画から設計、開発、テスト、運用、そして改善までの一連のプロセス全体を担う。この経験は、技術選定能力、システム連携の知識、そして問題解決能力を養う貴重な機会となり、システムを「作る」面白さ、そしてそれが実際に人々の目に触れ、感動を与える喜びを感じられる仕事だということを示している。