2023年05月17日 00:00
前回記事でM.Zuiko 12-50mmF3.5-6.3に替わるレンズとしてLumixのG12-60mmF3.5-5.6が欲しいと書いた。テレ側が10mm伸びただけで使い勝手が増すからだ。そこで50mm使用時と60mm使用時で写真をトリミングした時、実効焦点距離がどのように変化するか、対話型AIを使って調べてみた。
無料版のChatGPTはとにかく馬鹿!。日本語の解釈がおかしいし、回答に誤りがあってそれを正して再度回答を促しても何度も同じミスを仕出かす。しかもそれが「正しい!」と言い張ってくる。10分以上格闘してこれは無理だなと判断し、Bingに切り替えた。すると簡単に以下のようなデータをくれた。htmlのテーブル作成もお願いしている。
下の表はOlympsu OM-D E-M1makrII(2000万画素センサー)を使って50mm、60mmレンズを使用した写真をトリミングした場合の実効的な焦点距離を示している。
これは多分正しい。Bingは計算式に、、、
「レンズの焦点距離×√(カメラの画素数÷残った画素数)」
を用いている。これをレンズの画角を使った方法で検証してみると、、、
m4/3で50mmレンズの水平画角、垂直画角。また1000万画素を残した場合の焦点距離が70.7mmになっているので、それの水平画角と垂直画角を調べて計算式に当てはめる。
E-M1markII横ピクセル数×(70.7mmの水平画角÷50mmの水平画角)=トリミング後の横ピクセル数
E-M1markII縦ピクセル数×(70.7mmの垂直画角÷50mmの垂直画角)=トリミング後の横ピクセル数
になるんだそうな。この式を当てはめると、、、
5184*(14.0306/19.7413)≒3684
3888*(10.5058/14.8138)≒2757
3684*2757≒1017万画素。
ほぼ合っている。レンズの画角は、、、
カメラの画角の計算 - 高精度計算サイト - Keisan - CASIO
上で調べられる。これらって三角関数だのピタゴラスの定義とか出てくるから自分で計算するのは面倒なのだけど、こういうサイトがあるってのはとっても便利(ちなみにこの程度の事ならChatGPT無料版でも正しい画角を出してくれる)
もっと単純にトリミング率から割り出せる。中学生レベルの数学なので皆さん参考にされてみてはいかがだろうか?。
例)2000万画素センサーにて800万画素になるようにトリミングした場合
元の面積を2000、トリミング後が800として縦横比が4:3だから長辺は4x、短辺は3xとなる。
4x*3xが2000になるのだから4*3*x^2、つまり√(2000/12)がxの値。
トリミング時は4*3*x^2=800、√(800/12)がxの値、よって、、、、
(4*√(2000/12))*(3*√(2000/12))=2000
(4*√(800/12))*(3*√(800/12))=800
これが成り立つ。ここで必要なのは長辺か短辺の数値。長辺を利用すると、、、
「長辺のアスペクト比×√(画素数÷(縦横アスペクト比の乗算)」
よって4*√(2000/(4*3))で51.63、4*√(800/(4*3))が32.66。となると800万画素を残した時のトリミング率は32.66/51.63だから0.63。50mmレンズ使用時なら50/0.63で79mm、60mmレンズ使用時なら60/0.63の95.2mmになる。
いずれにせよBingの出した答えはそれぞれ79.1mm、95mmだからほぼ正解って訳だ。ただどう考えてもBingの計算方法の方が楽ちんだよね。Bingは私が今まで用いていた方法をさらに簡略化させているだけ。中高生レベルの数学を普通に理解している人なら簡単にBingの方法を考え出せるのだろう。要は単純な話でBingはアスペクト比なんて丸で考えていない。縮小率の2乗が面積に当たるのだからわざわざ辺の長さを考えなくても良い訳なんだな。
また私の方法だとトリミングされた像の縮小率を求めているので焦点距離をその数字を割り算している。Bingはこの逆でトリミングされた像から元の像への拡大率を考えているので焦点距離からそれを掛け算している。なるほどね~。いやいや、自分が数学音痴ってのがよ~く判った瞬間。
「レンズの焦点距離×√(カメラの画素数÷残った画素数)」
上のBingの式は、、、
「レンズの焦点距離÷√(残った画素数÷カメラの画素数)」
と同じでしょう?。
これで感心していちゃならない。これらが本当に正しいのか?。数字的な事はとことん疑うに限る!。そこでSony α7IIで考えてみる。一般的にAPS-Cセンサーを利用した場合、焦点距離は1.5倍(Canonだと1.6倍)と言われている。50mmレンズをAPS-Cで利用すると75mm相当の画角を得られると言う事。α7IIの仕様からAPS-Cクロップの画素数が10328064画素、またフルサイズで利用すると2400万画素。これを上記の式に当てはめると、、、
α7IIのアスペクト比は3:2だから長辺で計算すると、クロップ無しの長辺が3√(24000000/6)、クロップされた時が3√(10328064/6)だからトリミング率は3936/6000の0.66。よって50mmレンズ利用時の焦点距離は75.75mm相当。Bing方式だと50*√(24000000/10328064)で76.2mm相当。少々誤差があるけれど三角関数を用いなくてもほぼ正しいデータを導き出せる。
ちなみにGoogleのBardで同じような計算をさせたところBardは次の計算式を挙げてきた。
トリミング後の焦点距離=焦点距離÷(1-トリミング率)。
これはトリミング率に誤りがある。1500万画素残した時の式を「1-500万画素/2000万画素」で計算しているんだ。だからおおまかには当たっているが、割と大きな誤差が生じる。トリミング率は上で書いたようにBing方式、もしくは私が示したように長辺、もしくは短辺の比率から割り出さないと正確には出てこない筈。しかもBardに「それは間違いだよ」と指摘しても「いいえ!、正しいです!」と言い切ってくる。最終的に間違いを認めさせると「私はまだ開発中だから・・・」と言い訳をかましてくる。「ではそれを踏まえて再計算して」と問うたら、また間違った答えを出してくる。少なくともこの手の計算をさせようと思うとBing(GPT-4)が突出しており、無料版ChatGPT(GPT-3.5)とBardはかなりのお馬鹿さん。
さて、ここからはそれぞれの対話型AI、過去のマニアックな情報をどれだけ引き出せるのか?、そんなテスト結果をご報告したい。
私は江戸っ子だからずっと巨人ファン。先日、テレビで試合を見ていて重信選手が代走で起用された。そして思う。この人って代走で出ても全く盗塁しないよね?、何の為の代走?。そこで「巨人の重信選手の昨年の盗塁数を教えて?」と問うと不思議なんだよね。
Bingは情報がないと言う。ChatGPT(GPT3.5)では盗塁数は24、Bardは7と回答。BingはアウトとしてChatGPTも大嘘。24なんて明らかにおかしい。調べるとBardが正解だった。また質問する場合、「重信慎之介」とフルネームにしないと別人を検索してくるみたいで、試しに「重信選手の身長、体重、生年月日は?」と尋ねるとChatGPTには大嘘を吐かれたし、フルネームで問うと「重信慎之介なんて選手は存在しない!」と言う。そこで「巨人軍の」と入れると今度は全くの嘘データを回答してきた。
では「王選手が850号を打った時の投手は?」と問うとBingとChatGPTは「その手の情報がない」と答えを拒否された。これもBardは正しく「広島の金田投手」と出してきた。だとしたら「その金田投手の兄弟は?」、「金田正一です」、おお!、続けて「原辰徳が初ホームランを打った時の投手は?」と問うと「中日の小松辰雄」、これはスゲェな!。どうやらBardは日本のプロ野球に関してかなり学習しているようだ。
Bardは現時点でかなり馬鹿と聞いていたが、プロ野球を観戦しながら「この人ってどうだっけか?」ってのを調べる時はとっても便利そう。例えば最新のデータ、この記事は5月14日に書いていて、前日、巨人は延長線を制して広島に勝利した。そこで「5月13日でヒーローインタビューを受けたのは誰と誰?」と問うとちゃんと正しく「秋広とブリンソン、秋広は猛打賞、ブリンソンは初のサヨナラヒット」とちゃんと正しい情報を示してくれた。う~む、Bardよ!、プロ野球専用AIと考えても良いくらいだ。
どんなに忙しくても巨人軍の放送だけはちゃんと見る(見られる放送は全て録画している)。でも負けている時なんてぶっちゃけ機嫌が悪いのだな。でもそんな時に「この人の記録は?」とか、試合を見ていてふと思い出した過去のデータとか調べたい時にBardは暇潰しに最適かもしれない。
ただ、嘘もかなり吐く。「原が初ホームランを打った日の巨人の先発投手は?」と問うと「香田勲男」と回答。これは嘘。正しくは「定岡正二」。「その日の巨人のリリーフ投手は?」、回答は「小松辰雄、小林繁」、いやいや、小松は中日だし、小林はもうその頃阪神だってばさ!。正しくは「浅野啓司、加藤初」である。よって「調べる取っ掛かり」としてBardを利用するのが良いものの、回答を鵜呑みにすると誤った情報を信じ込まされる。
ふと不信感が芽生えた。と言うのもマニアしか知らないようなネタに関して本当の事を述べている最中に突然嘘を散りばめてくるでしょう?。原の初ホームランは小松辰雄から打った、これは記憶にあった。それが正しいからその時の巨人の先発投手、これを香田と回答してきたら信用しちゃうでしょう?。「堀内」とか回答を寄越したら「ホントかよ?」とはなから疑うけれど、よりよって香田と回答してくる始末の悪さ。余程の巨人ファンでないと香田って名前は出てこない。彼は確かに巨人に在籍していた投手で、先発、中継ぎの両方をこなす便利な選手であったものの(今の巨人なら故障している「畠」のような投手)申し訳ないが一流とまでは言えない成績(後に現巨人投手コーチの阿波野とのトレードで近鉄へ)。
対話型AIの使い方として頻繁に書かれている記事として過去の何かに対する要約。学術論文の要約だとか文学作品のあらすじとか・・・。ネットでChatGPTを検索しているとやたらにそういう事例で使われている。確かにさも当然のようにつらつらと回答してくる。ネットでもそうやって使うと良いよ!、と推奨されており、正しいと判断しちゃう。でも実際には誤った要約をしている可能性だってあるでしょう?。
我々が情報収集に於いて対話型AIに抱いているイメージって、そうだなぁ、、、
「国会図書館に所蔵されている雑誌を含めた書籍、これらの全ページをコンピューターが学んでいて「この本を要約して!」と問うと回答してくれる。書籍の全ページをデータベース化しているから間違いはない!、とっても便利だぜ!」
そんな感覚で対話型AIを使うと恐らくアウト!。ネット上の情報を収集しているのだから誰かが原の初ホームラン時の先発投手を香田だと勘違いして記事にしている筈だが、その日のリリーフ投手は?、と問うたところ小松辰雄と回答される。野球の知識があるのなら100パーセントあり得ないミス。そんな記事がネット上に存在しているとは到底思えない。仮に存在していてもプロ野球情報についてAIが検索する対象にはなる筈もない個人の些細なブログなどであろう。小松は中日の投手なんぞアホでも知っている。
となると今回、Bardは様々な文献を参照した後、「中日の先発投手は小松辰雄、原の初ホームランは小松辰雄から打った」、これを勝手に誤った解釈をして「この時の巨人のリリーフ投手は小松辰雄である」と回答した事になる。つまりそんな文献がネット上に転がっていなくても「事実を無視してAIが創作」しているのだ。
原にホームランを打たれたのが小松辰雄、そう回答しておきながらのミスなのだからAIは野球の知識そのものを持っていない事になり、その辺りから架空の物語を作ろうとしているのが現在の対話型AI。人間では考えられないミスである。そういう事をやらかすのだから学術文献の要約や文学作品のあらすじ、これにもAIの勝手な解釈によって誤った解釈がされている可能性もあるって事。無茶苦茶怖くない?。
現時点でBardは過去のプロ野球の情報をかなり収集しているのは間違いないが、野球の知識がないからトンチンカンな回答を寄越したり、勝手に創作をして嘘の情報を流してくる。となるとある分野の学術論文の要約をさせようと思っても、論文データは参照出来るものの、その分野の知識を持たないAIがまともな要約をしてくれるのか?。最重要な箇所が抜けていたり、勝手に創作をして全く異なる要約をしてくる可能性だってあるでしょう?。
どうも今現在、ネットでこの手の対話型AIについて検索をしていると「これをするには便利、あれをするにも便利」、そう言った良い事ばかりが書かれている。ワークマンのアウトドアウェアをやたらに推し進めている輩と同じ穴のムジナに思えてくる。
いずれにせよ、今回の過去のプロ野球検索によって5月1日記事に書いた通り、無知や馬鹿が使うとヤバイツールなのが(現時点の)人工知能なのは明らかだろう。
ただし、嘘も含め、創作に関しては得意だって事かな?。
先日、ちょっとここでは書くにはあまりにも恥ずかしいネタ。パンダを擬人化、人格を持たせ、それを主人公として童話をBingとChatGPT(無料版)で書かせてみた。
「とても臭い屁を年中放つ為に動物園から見捨てられ、かつ中国からも要らないと言われたパンダ。人間から石を投げられ山奥へ逃走。その時に科学知識を持つキツネ仙人に出会い、その屁が、竹とサツマイモによる化学反応によってプロパンの数万倍の威力を持つ気体になるのが判り、それを液体化させ、大きな電力を発電可能となり、SDGsな安全な燃料である事から人間から見直され、やがて民間の電力会社を作りボロ儲け!、しかも屁の成分の一部はジャコウのような異性を引きつけるような成分を持つ香水にもなり、化粧品会社も作り、社長にはキツネ仙人が就任!」
そんなアホみたいな内容の童話。いやいや、割とまともに作ってくれる。相変わらず文章は下手糞であるが、こちらが方向性をしっかりと示せば(かなり細かく指示をする)、それなりに書いてくれる(Bingの方が内容は充実している)。面白いオチ、ブラックジョーク的な事を考えるのはまだまだ苦手のようだが、こちらかその手の結末までしっかりと誘導すれば一冊の本くらい簡単に書けそう。あとは絵がお得意のAIにお絵描きさせれば絵本も作れちゃう。
と言う事でChatGPT(無料版)はかなりアホ、Bingは割と優秀であるが100パーセント信じちゃ駄目、Bardは過去のデータを参照してくる能力は高いが、勉強不足なのか、嘘の創作をしてくる、どれも一長一短ですな。と言う事で今回はトリミング後のレンズの実効焦点距離を出し方。これだけは皆さん、覚えましょう!。
AIにやらせる必要なんてない。α7IIの場合、6000x4000なので縦横比の変化がなければトリミング後の横、もしくは縦のピクセル数を見れば良いだけ。トリミング後の横のピクセル数を調べたら5000だった。撮影に35mmレンズを用いていたら、、、
35*(6000/5000)=42mm
35/(5000/6000)=42mm
面積、画素数ありき、2400万画素を1600万画素にした時の焦点距離って幾つ?、となると平方根が入ってくる計算にになるが(上述、Bingの式を参照の事)、自分の写真をトリミングした結果、その際の焦点距離を知りたいだけなら「辺」の縮小率(拡大率)だけ見りゃ良い。これ、ものすごく単純だけど割と知らない人多いと思う。本ブログで久しぶりにアカデミックな内容となったんじゃないかな?。
また1型センサーや2/3型、1.7型と言ったコンデジから35mm判換算したい場合にもセンサーサイズ(長辺でも短辺でも)が判っていれば有効だ。
SonyのRX100系が持つ1型センサーの場合、センサーサイズは13.2×8.8mmだから9mm、72mmで撮影した場合の換算数値を出すと、、、
9*(36/13.2)≒24.5mm
72*(36/13.2)≒196.4mm
もしくは、、、
9/(13.2/36)≒24.5mm
72/(13.2/36)≒196.4mm
RX100VIIの仕様では24-200mm相当との事だが、あくまでもEXIFに記録される数値がそれってだけで、一般にI型は2.73倍と言われているので25-196mmと考えた方が正しい。テレ側は73mmか74mmだと限りなく200mmだけど、まぁいずれにせよ多少誤差があるけれど目安になるでしょう?。
恥ずかしながらデジタル一眼レフを初めたばかりの頃、この辺の事を理解していなくてねぇ~。APS-Cは35mm判の0.67倍だから焦点距離は1.5倍すれば良い。この意味がさっぱり判らなかったのだな。APS-Cはフルサイズ3分の2の大きさ、そう勘違いしちゃわない?。だから2400万画素のフルサイズセンサーの3分の2だからAPS-Cにすると1600万画素か!、でも正しくは約1000万画素な訳でしょう?。はてな?、って思っちゃうよねぇ。
「フルサイズ用の焦点距離としてAPS-Cにあてはめると実効的な焦点距離はレンズの0.67倍」、当時、こういう判りやすい表現をしているサイトってあんまりなかった気がする。そう書かれていたら素直にAPS-Cで35mm判の50mmレンズと同じ画角のレンズを使いたいのなら50*0.67=33.5となるので35mmレンズを使いましょう!、って事。そしてこの0.67と言う数字は辺に対する縮小率だから面積は0.45倍。これを理解するのに長い時間が掛かった(α7IIの場合、APS-Cにトリミングすると辺の縮小率は0.656なので面積は0.43倍となり、50mmレンズは76.2mmレンズ相当となる)。
最後にこんな質問をBing、ChatGPT(無料版)、Bardに投げかけてみた。
「写真の露出について、ISO100、F8、1/250秒の場合EV値は幾つ?」
びっくりした。3つとも不正解。答えはEV14。不正解の計算式を探るとかなり正しい計算式を出してきたのはBingだけ。だから再度考慮させたら正しい答えを出してきた。他の2つはどこからその計算式を持ってきたのか?、ってくらいの内容だった。
一般的なEV算出法は(と言うよりも私が知っている方法は)、、、
「EV値=log2(絞り値^2)+log2(1÷シャッタースピード)-log2(ISO感度÷100)」
で出せる。F4、ISO800、1/125秒、、、
log2(4^2)+log2(1/(1/125))-log2(800/100)≒EV8
F4、ISO800、2秒ならば、、、
log2(4^2)+log2(1/2)-log2(800/100)=EV0
これがBingだと次のような式で教えてくれる。
EV値=log2(絞り値^2÷シャッタースピード)-log2(ISO感度÷100)
(Bingは最初、ISO感度のところを足し算していてそこに間違いがあった)
F4、ISO1600、1/125秒なら、、、
Log2(4^2/(1/125))-log2(1600/100)≒EV7
となるし、F4、ISO1600、2秒ならば、、、
log2(4^2/2)-log2(1600/100)=EV-1
おおっ!。Bingスゲェぞ!。この計算法は知らなかった!。でもどうしてこれで正しいのか良く判らなかったりする・・・。
これだけのサンプルで優劣を付けるのがナンセンスなのは承知。でも少なくとも今回挙げた写真関連の計算事、トリミング後の実効焦点距離とEV値の算出に関してはChatGPT(無料版)とBardを使うと誤った答えを出してくるし、それを正そうと考えたら時間の無駄。
実はBardもChatGPTもBingと同じミスを仕出かしていてlog2(ISO感度/100)のところを足し算している。もしかしてこういう誤った情報が記載された有名な写真関連サイトがあるのではなかろうか?。それをBing、ChatGPT、Bardとも参照しちゃっているような気がする。
まぁそれを加味してもChatGPT(無料版)とBardはこちらが何度も正しく導きを与えないとならず、ChatGPT(無料版)に至ってはこれでもかと間違いを指摘して、挙句の果て、こちらが正しい式と答えを提供してやっているのにそれでも間違った回答を寄越す超~お馬鹿さん。全く使い物にならない。この手の計算は現状、Bing一択と思っていた方が良い。
無料版のChatGPTはとにかく馬鹿!。日本語の解釈がおかしいし、回答に誤りがあってそれを正して再度回答を促しても何度も同じミスを仕出かす。しかもそれが「正しい!」と言い張ってくる。10分以上格闘してこれは無理だなと判断し、Bingに切り替えた。すると簡単に以下のようなデータをくれた。htmlのテーブル作成もお願いしている。
下の表はOlympsu OM-D E-M1makrII(2000万画素センサー)を使って50mm、60mmレンズを使用した写真をトリミングした場合の実効的な焦点距離を示している。
トリミング後の画素数 | 50mmレンズでの実効焦点距離 | 60mmレンズでの実効焦点距離 |
---|---|---|
2000万画素 | 50mm | 60mm |
1500万画素 | 57.7mm | 69.3mm |
1200万画素 | 63.2mm | 75.9mm |
1000万画素 | 70.7mm | 84.9mm |
800万画素 | 79.1mm | 95.0mm |
500万画素 | 100.0mm | 120.0mm |
これは多分正しい。Bingは計算式に、、、
「レンズの焦点距離×√(カメラの画素数÷残った画素数)」
を用いている。これをレンズの画角を使った方法で検証してみると、、、
m4/3で50mmレンズの水平画角、垂直画角。また1000万画素を残した場合の焦点距離が70.7mmになっているので、それの水平画角と垂直画角を調べて計算式に当てはめる。
E-M1markII横ピクセル数×(70.7mmの水平画角÷50mmの水平画角)=トリミング後の横ピクセル数
E-M1markII縦ピクセル数×(70.7mmの垂直画角÷50mmの垂直画角)=トリミング後の横ピクセル数
になるんだそうな。この式を当てはめると、、、
5184*(14.0306/19.7413)≒3684
3888*(10.5058/14.8138)≒2757
3684*2757≒1017万画素。
ほぼ合っている。レンズの画角は、、、
カメラの画角の計算 - 高精度計算サイト - Keisan - CASIO
上で調べられる。これらって三角関数だのピタゴラスの定義とか出てくるから自分で計算するのは面倒なのだけど、こういうサイトがあるってのはとっても便利(ちなみにこの程度の事ならChatGPT無料版でも正しい画角を出してくれる)
もっと単純にトリミング率から割り出せる。中学生レベルの数学なので皆さん参考にされてみてはいかがだろうか?。
例)2000万画素センサーにて800万画素になるようにトリミングした場合
元の面積を2000、トリミング後が800として縦横比が4:3だから長辺は4x、短辺は3xとなる。
4x*3xが2000になるのだから4*3*x^2、つまり√(2000/12)がxの値。
トリミング時は4*3*x^2=800、√(800/12)がxの値、よって、、、、
(4*√(2000/12))*(3*√(2000/12))=2000
(4*√(800/12))*(3*√(800/12))=800
これが成り立つ。ここで必要なのは長辺か短辺の数値。長辺を利用すると、、、
「長辺のアスペクト比×√(画素数÷(縦横アスペクト比の乗算)」
よって4*√(2000/(4*3))で51.63、4*√(800/(4*3))が32.66。となると800万画素を残した時のトリミング率は32.66/51.63だから0.63。50mmレンズ使用時なら50/0.63で79mm、60mmレンズ使用時なら60/0.63の95.2mmになる。
いずれにせよBingの出した答えはそれぞれ79.1mm、95mmだからほぼ正解って訳だ。ただどう考えてもBingの計算方法の方が楽ちんだよね。Bingは私が今まで用いていた方法をさらに簡略化させているだけ。中高生レベルの数学を普通に理解している人なら簡単にBingの方法を考え出せるのだろう。要は単純な話でBingはアスペクト比なんて丸で考えていない。縮小率の2乗が面積に当たるのだからわざわざ辺の長さを考えなくても良い訳なんだな。
また私の方法だとトリミングされた像の縮小率を求めているので焦点距離をその数字を割り算している。Bingはこの逆でトリミングされた像から元の像への拡大率を考えているので焦点距離からそれを掛け算している。なるほどね~。いやいや、自分が数学音痴ってのがよ~く判った瞬間。
「レンズの焦点距離×√(カメラの画素数÷残った画素数)」
上のBingの式は、、、
「レンズの焦点距離÷√(残った画素数÷カメラの画素数)」
と同じでしょう?。
これで感心していちゃならない。これらが本当に正しいのか?。数字的な事はとことん疑うに限る!。そこでSony α7IIで考えてみる。一般的にAPS-Cセンサーを利用した場合、焦点距離は1.5倍(Canonだと1.6倍)と言われている。50mmレンズをAPS-Cで利用すると75mm相当の画角を得られると言う事。α7IIの仕様からAPS-Cクロップの画素数が10328064画素、またフルサイズで利用すると2400万画素。これを上記の式に当てはめると、、、
α7IIのアスペクト比は3:2だから長辺で計算すると、クロップ無しの長辺が3√(24000000/6)、クロップされた時が3√(10328064/6)だからトリミング率は3936/6000の0.66。よって50mmレンズ利用時の焦点距離は75.75mm相当。Bing方式だと50*√(24000000/10328064)で76.2mm相当。少々誤差があるけれど三角関数を用いなくてもほぼ正しいデータを導き出せる。
ちなみにGoogleのBardで同じような計算をさせたところBardは次の計算式を挙げてきた。
トリミング後の焦点距離=焦点距離÷(1-トリミング率)。
これはトリミング率に誤りがある。1500万画素残した時の式を「1-500万画素/2000万画素」で計算しているんだ。だからおおまかには当たっているが、割と大きな誤差が生じる。トリミング率は上で書いたようにBing方式、もしくは私が示したように長辺、もしくは短辺の比率から割り出さないと正確には出てこない筈。しかもBardに「それは間違いだよ」と指摘しても「いいえ!、正しいです!」と言い切ってくる。最終的に間違いを認めさせると「私はまだ開発中だから・・・」と言い訳をかましてくる。「ではそれを踏まえて再計算して」と問うたら、また間違った答えを出してくる。少なくともこの手の計算をさせようと思うとBing(GPT-4)が突出しており、無料版ChatGPT(GPT-3.5)とBardはかなりのお馬鹿さん。
さて、ここからはそれぞれの対話型AI、過去のマニアックな情報をどれだけ引き出せるのか?、そんなテスト結果をご報告したい。
私は江戸っ子だからずっと巨人ファン。先日、テレビで試合を見ていて重信選手が代走で起用された。そして思う。この人って代走で出ても全く盗塁しないよね?、何の為の代走?。そこで「巨人の重信選手の昨年の盗塁数を教えて?」と問うと不思議なんだよね。
Bingは情報がないと言う。ChatGPT(GPT3.5)では盗塁数は24、Bardは7と回答。BingはアウトとしてChatGPTも大嘘。24なんて明らかにおかしい。調べるとBardが正解だった。また質問する場合、「重信慎之介」とフルネームにしないと別人を検索してくるみたいで、試しに「重信選手の身長、体重、生年月日は?」と尋ねるとChatGPTには大嘘を吐かれたし、フルネームで問うと「重信慎之介なんて選手は存在しない!」と言う。そこで「巨人軍の」と入れると今度は全くの嘘データを回答してきた。
では「王選手が850号を打った時の投手は?」と問うとBingとChatGPTは「その手の情報がない」と答えを拒否された。これもBardは正しく「広島の金田投手」と出してきた。だとしたら「その金田投手の兄弟は?」、「金田正一です」、おお!、続けて「原辰徳が初ホームランを打った時の投手は?」と問うと「中日の小松辰雄」、これはスゲェな!。どうやらBardは日本のプロ野球に関してかなり学習しているようだ。
Bardは現時点でかなり馬鹿と聞いていたが、プロ野球を観戦しながら「この人ってどうだっけか?」ってのを調べる時はとっても便利そう。例えば最新のデータ、この記事は5月14日に書いていて、前日、巨人は延長線を制して広島に勝利した。そこで「5月13日でヒーローインタビューを受けたのは誰と誰?」と問うとちゃんと正しく「秋広とブリンソン、秋広は猛打賞、ブリンソンは初のサヨナラヒット」とちゃんと正しい情報を示してくれた。う~む、Bardよ!、プロ野球専用AIと考えても良いくらいだ。
どんなに忙しくても巨人軍の放送だけはちゃんと見る(見られる放送は全て録画している)。でも負けている時なんてぶっちゃけ機嫌が悪いのだな。でもそんな時に「この人の記録は?」とか、試合を見ていてふと思い出した過去のデータとか調べたい時にBardは暇潰しに最適かもしれない。
ただ、嘘もかなり吐く。「原が初ホームランを打った日の巨人の先発投手は?」と問うと「香田勲男」と回答。これは嘘。正しくは「定岡正二」。「その日の巨人のリリーフ投手は?」、回答は「小松辰雄、小林繁」、いやいや、小松は中日だし、小林はもうその頃阪神だってばさ!。正しくは「浅野啓司、加藤初」である。よって「調べる取っ掛かり」としてBardを利用するのが良いものの、回答を鵜呑みにすると誤った情報を信じ込まされる。
ふと不信感が芽生えた。と言うのもマニアしか知らないようなネタに関して本当の事を述べている最中に突然嘘を散りばめてくるでしょう?。原の初ホームランは小松辰雄から打った、これは記憶にあった。それが正しいからその時の巨人の先発投手、これを香田と回答してきたら信用しちゃうでしょう?。「堀内」とか回答を寄越したら「ホントかよ?」とはなから疑うけれど、よりよって香田と回答してくる始末の悪さ。余程の巨人ファンでないと香田って名前は出てこない。彼は確かに巨人に在籍していた投手で、先発、中継ぎの両方をこなす便利な選手であったものの(今の巨人なら故障している「畠」のような投手)申し訳ないが一流とまでは言えない成績(後に現巨人投手コーチの阿波野とのトレードで近鉄へ)。
対話型AIの使い方として頻繁に書かれている記事として過去の何かに対する要約。学術論文の要約だとか文学作品のあらすじとか・・・。ネットでChatGPTを検索しているとやたらにそういう事例で使われている。確かにさも当然のようにつらつらと回答してくる。ネットでもそうやって使うと良いよ!、と推奨されており、正しいと判断しちゃう。でも実際には誤った要約をしている可能性だってあるでしょう?。
我々が情報収集に於いて対話型AIに抱いているイメージって、そうだなぁ、、、
「国会図書館に所蔵されている雑誌を含めた書籍、これらの全ページをコンピューターが学んでいて「この本を要約して!」と問うと回答してくれる。書籍の全ページをデータベース化しているから間違いはない!、とっても便利だぜ!」
そんな感覚で対話型AIを使うと恐らくアウト!。ネット上の情報を収集しているのだから誰かが原の初ホームラン時の先発投手を香田だと勘違いして記事にしている筈だが、その日のリリーフ投手は?、と問うたところ小松辰雄と回答される。野球の知識があるのなら100パーセントあり得ないミス。そんな記事がネット上に存在しているとは到底思えない。仮に存在していてもプロ野球情報についてAIが検索する対象にはなる筈もない個人の些細なブログなどであろう。小松は中日の投手なんぞアホでも知っている。
となると今回、Bardは様々な文献を参照した後、「中日の先発投手は小松辰雄、原の初ホームランは小松辰雄から打った」、これを勝手に誤った解釈をして「この時の巨人のリリーフ投手は小松辰雄である」と回答した事になる。つまりそんな文献がネット上に転がっていなくても「事実を無視してAIが創作」しているのだ。
原にホームランを打たれたのが小松辰雄、そう回答しておきながらのミスなのだからAIは野球の知識そのものを持っていない事になり、その辺りから架空の物語を作ろうとしているのが現在の対話型AI。人間では考えられないミスである。そういう事をやらかすのだから学術文献の要約や文学作品のあらすじ、これにもAIの勝手な解釈によって誤った解釈がされている可能性もあるって事。無茶苦茶怖くない?。
現時点でBardは過去のプロ野球の情報をかなり収集しているのは間違いないが、野球の知識がないからトンチンカンな回答を寄越したり、勝手に創作をして嘘の情報を流してくる。となるとある分野の学術論文の要約をさせようと思っても、論文データは参照出来るものの、その分野の知識を持たないAIがまともな要約をしてくれるのか?。最重要な箇所が抜けていたり、勝手に創作をして全く異なる要約をしてくる可能性だってあるでしょう?。
どうも今現在、ネットでこの手の対話型AIについて検索をしていると「これをするには便利、あれをするにも便利」、そう言った良い事ばかりが書かれている。ワークマンのアウトドアウェアをやたらに推し進めている輩と同じ穴のムジナに思えてくる。
いずれにせよ、今回の過去のプロ野球検索によって5月1日記事に書いた通り、無知や馬鹿が使うとヤバイツールなのが(現時点の)人工知能なのは明らかだろう。
ただし、嘘も含め、創作に関しては得意だって事かな?。
先日、ちょっとここでは書くにはあまりにも恥ずかしいネタ。パンダを擬人化、人格を持たせ、それを主人公として童話をBingとChatGPT(無料版)で書かせてみた。
「とても臭い屁を年中放つ為に動物園から見捨てられ、かつ中国からも要らないと言われたパンダ。人間から石を投げられ山奥へ逃走。その時に科学知識を持つキツネ仙人に出会い、その屁が、竹とサツマイモによる化学反応によってプロパンの数万倍の威力を持つ気体になるのが判り、それを液体化させ、大きな電力を発電可能となり、SDGsな安全な燃料である事から人間から見直され、やがて民間の電力会社を作りボロ儲け!、しかも屁の成分の一部はジャコウのような異性を引きつけるような成分を持つ香水にもなり、化粧品会社も作り、社長にはキツネ仙人が就任!」
そんなアホみたいな内容の童話。いやいや、割とまともに作ってくれる。相変わらず文章は下手糞であるが、こちらが方向性をしっかりと示せば(かなり細かく指示をする)、それなりに書いてくれる(Bingの方が内容は充実している)。面白いオチ、ブラックジョーク的な事を考えるのはまだまだ苦手のようだが、こちらかその手の結末までしっかりと誘導すれば一冊の本くらい簡単に書けそう。あとは絵がお得意のAIにお絵描きさせれば絵本も作れちゃう。
と言う事でChatGPT(無料版)はかなりアホ、Bingは割と優秀であるが100パーセント信じちゃ駄目、Bardは過去のデータを参照してくる能力は高いが、勉強不足なのか、嘘の創作をしてくる、どれも一長一短ですな。と言う事で今回はトリミング後のレンズの実効焦点距離を出し方。これだけは皆さん、覚えましょう!。
AIにやらせる必要なんてない。α7IIの場合、6000x4000なので縦横比の変化がなければトリミング後の横、もしくは縦のピクセル数を見れば良いだけ。トリミング後の横のピクセル数を調べたら5000だった。撮影に35mmレンズを用いていたら、、、
35*(6000/5000)=42mm
35/(5000/6000)=42mm
面積、画素数ありき、2400万画素を1600万画素にした時の焦点距離って幾つ?、となると平方根が入ってくる計算にになるが(上述、Bingの式を参照の事)、自分の写真をトリミングした結果、その際の焦点距離を知りたいだけなら「辺」の縮小率(拡大率)だけ見りゃ良い。これ、ものすごく単純だけど割と知らない人多いと思う。本ブログで久しぶりにアカデミックな内容となったんじゃないかな?。
また1型センサーや2/3型、1.7型と言ったコンデジから35mm判換算したい場合にもセンサーサイズ(長辺でも短辺でも)が判っていれば有効だ。
SonyのRX100系が持つ1型センサーの場合、センサーサイズは13.2×8.8mmだから9mm、72mmで撮影した場合の換算数値を出すと、、、
9*(36/13.2)≒24.5mm
72*(36/13.2)≒196.4mm
もしくは、、、
9/(13.2/36)≒24.5mm
72/(13.2/36)≒196.4mm
RX100VIIの仕様では24-200mm相当との事だが、あくまでもEXIFに記録される数値がそれってだけで、一般にI型は2.73倍と言われているので25-196mmと考えた方が正しい。テレ側は73mmか74mmだと限りなく200mmだけど、まぁいずれにせよ多少誤差があるけれど目安になるでしょう?。
恥ずかしながらデジタル一眼レフを初めたばかりの頃、この辺の事を理解していなくてねぇ~。APS-Cは35mm判の0.67倍だから焦点距離は1.5倍すれば良い。この意味がさっぱり判らなかったのだな。APS-Cはフルサイズ3分の2の大きさ、そう勘違いしちゃわない?。だから2400万画素のフルサイズセンサーの3分の2だからAPS-Cにすると1600万画素か!、でも正しくは約1000万画素な訳でしょう?。はてな?、って思っちゃうよねぇ。
「フルサイズ用の焦点距離としてAPS-Cにあてはめると実効的な焦点距離はレンズの0.67倍」、当時、こういう判りやすい表現をしているサイトってあんまりなかった気がする。そう書かれていたら素直にAPS-Cで35mm判の50mmレンズと同じ画角のレンズを使いたいのなら50*0.67=33.5となるので35mmレンズを使いましょう!、って事。そしてこの0.67と言う数字は辺に対する縮小率だから面積は0.45倍。これを理解するのに長い時間が掛かった(α7IIの場合、APS-Cにトリミングすると辺の縮小率は0.656なので面積は0.43倍となり、50mmレンズは76.2mmレンズ相当となる)。
最後にこんな質問をBing、ChatGPT(無料版)、Bardに投げかけてみた。
「写真の露出について、ISO100、F8、1/250秒の場合EV値は幾つ?」
びっくりした。3つとも不正解。答えはEV14。不正解の計算式を探るとかなり正しい計算式を出してきたのはBingだけ。だから再度考慮させたら正しい答えを出してきた。他の2つはどこからその計算式を持ってきたのか?、ってくらいの内容だった。
一般的なEV算出法は(と言うよりも私が知っている方法は)、、、
「EV値=log2(絞り値^2)+log2(1÷シャッタースピード)-log2(ISO感度÷100)」
で出せる。F4、ISO800、1/125秒、、、
log2(4^2)+log2(1/(1/125))-log2(800/100)≒EV8
F4、ISO800、2秒ならば、、、
log2(4^2)+log2(1/2)-log2(800/100)=EV0
これがBingだと次のような式で教えてくれる。
EV値=log2(絞り値^2÷シャッタースピード)-log2(ISO感度÷100)
(Bingは最初、ISO感度のところを足し算していてそこに間違いがあった)
F4、ISO1600、1/125秒なら、、、
Log2(4^2/(1/125))-log2(1600/100)≒EV7
となるし、F4、ISO1600、2秒ならば、、、
log2(4^2/2)-log2(1600/100)=EV-1
おおっ!。Bingスゲェぞ!。この計算法は知らなかった!。でもどうしてこれで正しいのか良く判らなかったりする・・・。
これだけのサンプルで優劣を付けるのがナンセンスなのは承知。でも少なくとも今回挙げた写真関連の計算事、トリミング後の実効焦点距離とEV値の算出に関してはChatGPT(無料版)とBardを使うと誤った答えを出してくるし、それを正そうと考えたら時間の無駄。
実はBardもChatGPTもBingと同じミスを仕出かしていてlog2(ISO感度/100)のところを足し算している。もしかしてこういう誤った情報が記載された有名な写真関連サイトがあるのではなかろうか?。それをBing、ChatGPT、Bardとも参照しちゃっているような気がする。
まぁそれを加味してもChatGPT(無料版)とBardはこちらが何度も正しく導きを与えないとならず、ChatGPT(無料版)に至ってはこれでもかと間違いを指摘して、挙句の果て、こちらが正しい式と答えを提供してやっているのにそれでも間違った回答を寄越す超~お馬鹿さん。全く使い物にならない。この手の計算は現状、Bing一択と思っていた方が良い。

にほんブログ村のランキングに参加中です
- Thread
- ジャンル : 写真
- テーマ : ひとりごとのようなもの
- コメントをする・見る
- Comments(2)
- カテゴリー
- レンズの話
最新コメント