①研究の背景
- pythonで一般的に提供されているモジュール(さまざな機能を簡単につかえるようにしたもの)の性能の向上。
- 近年の情報技術の進歩と、デジタル化による仕事の効率化、コスト削減。
- 化学の実験で色を目で見て判断するものは個人差が生まれてしまう。(下図)
↑ある水溶液だが、薄いピンクとも表現できるし、薄い紫とも表現できる。人によっては青に見えるという人もいる。
↑正面から、水位をメモリを目で見て確認しても小数点以下はほぼわからない。
②仮説とねらい
- 画像データは 赤、緑、青の3色で構成されているため “色彩の変化” という目視による曖昧性のある情報を 数値 として管理することができれば、より正確な変化を捉えることができるのではないかと考えた。
- 色彩の変化を数値として管理する上で、化学の実験のような変化のデータをもとに考察を行うものに対して有効的に用いることができそうだと考えた。
- 色彩などの数値情報をコンピュータで扱うことによって、今までは全て人手でやっていたものが、より正確に、より早くデータをまとめることができると考えた。
- 画像から取得できる色のデータの変化によって、物体の動きを捉えることができ、そこから化学実験においての量の変化を計算できると考えた。
③研究内容
共同研究者:ei2016 鈴木貴登
システム化学科の方々
キレート滴定という実験をする中で、コンピュータを用いることによって精度の高い実験値を得る。
(情報科がやったこと)
- 色彩の微量な変化、水面の変化をコンピュータで処理し、正確性のある実験を提供する。
- Pythonの画像処理モジュールを用いて色彩情報を取得する。
- 色彩情報をもとにグラフ、表の作成に繋げる。
- 機能を集約した扱いやすい簡単なウィンドウアプリを作成する。
④技術的知識
- pythonでのプログラミング
pythonとはオープンソースで運営されているプログラミング言語であり、組み込み開発や、Webアプリケーション、デスクトップアプリケーション、さらには人工知能開発、ビッグデータ解析などと多岐な用途に使われる。大きな特徴としては、少ないコードで簡潔にプログラムを書けること、専門的なライブラリが豊富にあることが挙げられる。 - pythonで提供されているモジュール(tkinter,Opencvなど)の活用方法
- コンピュータ内での色の扱い
コンピュータでは、色を光の三原色(R:赤, G:緑, B:⻘)を組み合わせて色を作っておりpythonではそれぞれ0〜255の数値で再現している。
例)・R:0,G:0,B:0 -> 真っ白 ・R:255,G:255,B:255 -> 真っ黒
- Raspberrty Piでのプログラミング、カメラモジュールの使用
⑤取り組んだ事
- 水溶液の減り具合を画像から検知する
水面の変化を検知するのはかなり難しい、もしくは環境にとても依存するやりかたになりそうなので、水面に、特徴的なものを浮かせてそれを検知するというやり方にした。この時、画像全体の色の情報の精度をある程度保つ必要があるため、背景の色や水溶液が入っている試験管との距離などを一定にした。
取組内容をまとめた動画↓(自分(大場)の担当は3:06くらいから)
⑥考察・まとめ
- 専用の水や光センサーなどを使わなくても、カメラの画像からだけでも擬似的に実験に必要なデータを算出できそうなことがわかった。
- この研究目的とは離れてしまうが、研究を進めていく上でプログラムで物体を追従できるということなど、他にも応用できそうな技術の発見ができた。
- 水溶液の変化を検知できたので、そこから量の変化を計算したい。
→そこから、時間経過と合わせてデータ化していく - より研究の意図に沿ったグラフを作成する(時間毎の変化の割合、水溶液を使った量との関係)。また、それを指定してファイル化する。