第36章 感覚器官(2)
第36章 感覚器官(2)
第1話 眼(2)
視差によって、左眼と右目が取得する画像は、異なります。
確認になりますが、得る事の出来る情報は、2次元の画像だけです。
但し、それはカメラと眼が同じ機能しか持っていないと仮定した場合です。
もしかすると、眼はカメラ以上の機能を持っているのかもしれません。
今回は、カメラと同じ機能だけに的を絞りたいと思います。
僕が、ロボットの眼の機能を担当した時の、画像処理の問題点について述べたいと思います。
眼がこの問題をどのように処理しているのか?の考察は後回しにしたいと思います。
尚、僕の現役時代は、今から遥か15年くらい前です。
PCのスペックもペンティアムが登場したか、しないかくらいの時代です。
最初に行わなければならないのは、画像マッチングでした。
2枚のステレオ写真から、同一点を複数個、特定しなければなりません。
問題がいくつかありました。
① 光源(太陽、電灯など)の影響で、左右の画像の色が異なる。
② 光源の影響で画像に影が出来る。
③ ①②で、乱反射が起きる。(これが、眼の凄さを実感した時です。眼では判別できる
のです。しかし、ソフトでこれを処理するのは不可能でした)
④ 対象物がカメラに対して、近ければ、近いほど寝る。
(対象物が高いと表現した方がいいかもしれません。
対象物が遠近を持っていると表現した方がいいかもしれません)
これは、光源とは関係なく、視差の影響です。
視差の影響で、カメラが対象物を斜めに写してしまうのです。
そして、斜めに写った対象物は、他のものを隠してしまいます。
もっとも、この視差のお陰で、立体像を得る事が出来るのですが。
ソフトで処理する事は、難儀でした。
僕の最初の課題は、ステレオ写真から、対象物に設置した基準点を探す事でした。
基準点の形状、色は把握しています。
しかし、ここでの問題は、
⑤ 画像の物体境界のピクセル色が相互の色の混じりによって中間色を出す。
(にじむと、表現した方がいいでしょうか)
基準点をステレオ写真から探す事は、
思いの外、難儀でした。
①への対応は、RGBの値の平均を2つの画像が等しくなるように、加減する事で、
何とか対応しました。
(実を言うと、今でも自信や確信はありません)
②は、取り敢えず無視しました。
これは、人の眼でステレオ写真を立体視する時でも、人の眼の予測が、
影の部分を予測や補足しているのだと思います。
なので、影の大き過ぎる画像は、再撮影とします。
③は、乱反射が起きているか?否か?の判定だけしました。
乱反射画像の時は、再撮影としました。
④は、②と同じです。
基準点の設置は、その事を考慮して影にならない箇所にしました。
⑤は、中間色を両側に均等に配分する事にしました。
次の課題(最後の課題)は、ある物体の輪郭を抽出する事でした。
ロボットのアームが知りたいのは、その物体のネジの位置でした。
しかし、ネジを画像から取得する事は出来ません。
ある物体は、規格品でした。
つまり、物体の輪郭を抽出して、その物体の中心座標を画像から求める事が出来れば、
ネジの位置も割り出せます。
撮影から座標算出まで、当時のPCで数分必要だったと思います。
第2話 眼(3)
人の眼が、常時、第1話と似たような事をしているとは思えません。
人が眼で、何かを見る時、いくつかの状態があると思います。
① 静止して見る時
② 動きながら見る時
さらに、眼は人の次の行動のための情報取得であり、見る行為には目的があると思います。
① 歩く時、前方の情報を得る
② 日付などが知りたくて、カレンダーを見る
③ PCで文章を作成するため、モニターを見る
など
これらは、眼の神経を司る脳の特定箇所に他の箇所から命令が送られてくるのだと
思います。
あっ、今、気付きました。
眼に関する今までとこれからの記述は、全て資料無しでの僕の空想です。
資料(ネット情報)との照合は、記述後に行いたいと思っています。
書き始める前に、述べておくべきでした。
ごめんなさい。
さて、人の眼は精密な測定は出来ないと述べました。
多くの人が、メジャーなどを使って長さを測定します。
疑問が2つあります。
① 我々が、眼を使って行っている作業は、どのようなものなのでしょうか?
② そのためには、どのような情報を取得すればいいのでしょうか?
②は、光の波長による色の識別が、あげられると思います。
そして、三角測量を簡易化した遠近感もあると思います。
三角測量を厳密に行う必要は無いと思います。
ある物体の2つを目標にした時、視差の角度差からどちらが遠いか分かります。
次章以降は、もう少し眼が行っている作業を掘り下げて見たいと思います。
第3話 神経グラフ(1)
勝手に名前を付けてしまいました。
神経グラフを、利用して感覚の機能を作成して見たいと思います。
ニューラルネットワークというものがあるそうです。
後で、僕の記述と照合して見たいと思います。
現在のコンピュータの基礎となった「リレー」というものがあります。
これは、スイッチのON/OFFだけで回路を構成します。
僕の現役時代に「シーケンサ」という、上述と原理の同じ基盤が存在しました。
僕は、とても興味を持ち、扱って見たいと思っていましたが、その機会はありませんでした。
さて、神経グラフは、リレーより少し複雑なようです。
それは、以下の理由によります。
樹状突起:信号を受け取る機能を持つ。1つの細胞に複数存在する
軸索:信号を出力する機能を持つ。1つの細胞に基本的に1つ存在する
つまり、細胞は複数の信号を受け取り、次の細胞へ1つの信号を発信します。
と、いう事は細胞内で複数の信号の「判断」あるいは「合成」が行われている事になります。
出力する信号の種類は1種類だと考えられます。
しかし、強さ、長さ、周期など異なる信号を発信出来る可能性があります。
細胞の1個1個が、小さなCPUだと考える事ができます。
グラフとして見れば、有向グラフになります。
今までに学んだ事をベースに出来るだけ感覚の機能を神経グラフで構築して
見たいと思います。




