# 興味を惹かれた論文orサイト
機械学習で逆ストリートビューを作り、写真から港区らしさを判定する。
https://www.m3tech.blog/entry/photo2geo
PlaNet - Photo Geolocation with Convolutional Neural Networks
https://research.google/pubs/pub45488/
Googleのよさげなオープンソース(Go、Java、Python向け)
https://s2geometry.io/
SNS 投稿写真から算出した観光スポットの知名度と満足度 に基づくピクトリアルマップの生成手法の提案と評価
https://www.jstage.jst.go.jp/article/jjpcats/16/1/16_1/_article/-char/ja/
Web上の大量写真に対する画像分類による観光マップの作製
https://ipsj.ixsq.nii.ac.jp/ej/?action=pages_view_main&active_action=repository_view_main_item_detail&item_id=79561&item_no=1&page_id=13&block_id=8
SNS 投稿写真から算出した観光スポットの知名度と満足度 に基づくピクトリアルマップの生成手法の提案と評価
https://www.jstage.jst.go.jp/article/wii/18/0/18_68/_pdf/-char/ja
PlaNetと似たやつ
https://openaccess.thecvf.com/content/WACV2022/papers/Theiner_Interpretable_Semantic_Photo_Geolocation_WACV_2022_paper.pdf
画像から線画
http://yui0.github.io/senga/
また別の論文(これは一枚の画像から場所を推定するわけでなく、前後左右の風景の情報から場所を推定するものであるため、自分の研究内容とは少しずれるが、かなり絞られた位置まで推定できている。(StreetViewであるため道路からの情報がおも))
https://arxiv.org/pdf/1911.08797.pdf
IM2GPS
http://graphics.cs.cmu.edu/projects/im2gps/im2gps.pdf
アニメの市場規模について
http://animationbusiness.info/archives/13790
# やりたいこと
個人個人にあった観光マップの作成とルート案内?
アニメの背景から聖地の場所を特定させる?
映像作品(アニメ、映画含む)の著作について
https://crd.ndl.go.jp/reference/modules/d3ndlcrdentry/index.php?page=ref_view&id=1000285642
アニメの背景から場所を割り出して特定させる←アニメに寄らず風景画でもいいのか?
## 4月6日
### todo
来週までに何の実験をすべきかを決める
出来るだけ現実的なものにする。
## 4月12日
### todo
現実と近いアニメ画像の取得
PlaNet論文のサーベイ
・PlaNetのコード,学習済みのモデルが入手できるか
・日本の写真でもできるか?
君の名は
https://sakamichi.tokyo/?p=7229
https://livejapan.com/ja/in-tokyo/in-pref-tokyo/in-shinjuku/article-a0000790/
あの花
http://shima2cygnus.web.fc2.com/junrei-anohana001.html
PlaNetの元のコードはこれか?→違う
https://paperswithcode.com/paper/planet-photo-geolocation-with-convolutional
## 4月26日
### todo
PlaNet以後の関連研究のコード有無を調べる
教師データ(画像vs写真)を増やす
StreetCLIP
https://paperswithcode.com/paper/learning-generalized-zero-shot-learners-for
ぼっちざろっく
https://www.motsu-tanbou.com/entry/pilgrimage-bocchi-the-rock
## 5月10日
### todo
データベースの参考になるか?→何とも言えない...元となるサイトが見当たらない...
https://www.diva-portal.org/smash/get/diva2:1480390/FULLTEXT01.pdf
アニメデータベースの参考→画像データが少ないが、各アニメの聖地データあり→アニメの数分の写真データがあるけど、各アニメごとの写真データが少ない。
https://anime-tourism.jp/
#### ODIGとCDIGの違いは?
→CDIGは一纏めになったデータセットと計算資源の利用が限られたもの。各都市や国、環境ごとに区切り画像の位置を予測できる。
イメージ マッターホルンの写真を探す→山の写真のデータセットの中から探す。
→ODIGは、CDIGとは違い、一切制約のない状態で画像の位置を探すため、CDIGとは違い時間がかかるだけでなく計算量も多くなる。
イメージ マッターホルンの写真を探す→すべての写真の中から探す。
#### 検索ベースの分類と教師ありベースの分類の問題点とは?
検索ベースの分類→検索ベースの分類方法だと、実行中に膨大な数のデータセットから画像を検索しなければいけない為、時間がかかるだけでなく、計算量も増える。
教師あり学習による分類の問題→分布シフト下での性能(ロバスト)の低下→ファインチューニングが原因!
## 5月16日
### todo
#### PLAnet
入力データはフィルタリングされてない画像のデータセット
出力データは世界に関する確率分布(各々の値をとる確率全体を表したもの)
手法
学習データとしてGoogle+のジオタグ付きのトレーニングアルバムと、テストアルバムを用意。
畳み込みニューラルネットワーク(CNN)を用いて画像の地理情報を予測するモデルを作る。基本的にはバッチ正規化を用いて訓練させる。トレーニング画像とテスト画像の検証セットでの精度が収束するまで、DistBeliefを用いて200CPUコアで2.5か月間訓練。
#### StreetCLIP
入力データとして画像データを使う。
出力データはキャプション表現に対する確率ベクトル(複数の確率変数を組として見たとき、すなわちベクトルとして見たときにこの確率変数を成分に持つベクトル)
手法
学習データとしてGoogleストリートビューを用意し、画像データと位置情報のペアを学習させる。
ゼロショット学習を用いて画像の地理情報を予測している。予測値を生むために階層的線形プロービングを実行して都市を推定した後、SimpleMapsデータセットを使って都市名を地理情報に変換。そして最後にHaversineの公式を使い、予測値と正しい位置の座標との距離を帰路メートル単位で推定。
違いとしては、Planetが畳み込みニューラルネットワークで、StreetCLIPだとゼロショット学習である。
## 5月24日
埼玉写真のアニメ化
画像アニメ化
参考サイト
http://www.otupy.net/archives/37121266.html
Cartoon-gan
https://github.com/FilipAndersson245/cartoon-gan
http://cedro3.com/ai/animeganv2/
CartoonGAN(別物(無理だった))
https://github.com/znxlwm/pytorch-CartoonGAN
## 5月31日
AnimeGANv2
http://cedro3.com/ai/animeganv2/
https://github.com/TachibanaYoshino/AnimeGANv2
## 6月7日
StreetCLIPのサイト
https://www.cameralyze.co/models/street-clip
## 6月14日
StreetCLIPの実装できなかった
## 6月21日
### Todo
・鯖ローカルで,StreetCLIPを実行できるようにする(出来た)
・Pre-trainedモデルはHugginFaceに含まれているか確認する
・FlickrデータでFine-Tuningできるか確認する
## 6月28日
### Todo
・FlickrデータでFTできるか
・回帰について調査する
ベクトル化 https://github.com/chenmingxiang110/AugNet
モデル…入力データに対する結果を出力する仕組み 入力→モデル→出力
回帰モデル
何らかの値を予測する用途で使われる(今回の場合だと緯度経度)教師あり学習の手法。
参考になりそう:ツイート発言の座標またはグリッドの予測基盤の開発
https://www.anlp.jp/proceedings/annual_meeting/2023/pdf_dir/B10-5.pdf
→緯度経度を回帰問題として扱うモデル:緯度経度での推定だと経度1度あたり距離の誤差として90kmになってしまう。そのため、より細かくした方がいいかも。
空間データの回帰分析
https://qiita.com/ssugasawa/items/90b6de2f178a49f0c300
金かかる
https://link.springer.com/chapter/10.1007/978-3-030-98355-0_31
## 7月5日
### Todo
BiLSTM回帰モデルによるツイートのジオロケーション→自然言語処理の手法のことしか書いてない。
https://aclanthology.org/2020.vardial-1.27.pdf
緯度経度はこれでいけるかも?→言語から推定しているに過ぎない?
https://www.anlp.jp/proceedings/annual_meeting/2023/pdf_dir/B11-5.pdf
スペイン語古文書の年代・地点推定のための最適な手法の探求
https://www.anlp.jp/proceedings/annual_meeting/2022/pdf_dir/PH4-1.pdf
pytorchでCNNの全結合層の入力サイズの確認方法
https://betashort-lab.com/%E3%83%87%E3%83%BC%E3%82%BF%E3%82%B5%E3%82%A4%E3%82%A8%E3%83%B3%E3%82%B9/%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0/pytorch%E3%81%A7cnn%E3%81%AE%E5%85%A8%E7%B5%90%E5%90%88%E5%B1%A4%E3%81%AE%E5%85%A5%E5%8A%9B%E3%82%B5%E3%82%A4%E3%82%BAshape%E3%82%92%E7%A2%BA%E3%81%8B%E3%82%81%E3%82%8B%E6%96%B9%E6%B3%95/
CNNの学習方法(ネットワークの定義を行う際に全結合層を作っている)
https://betashort-lab.com/%e3%83%87%e3%83%bc%e3%82%bf%e3%82%b5%e3%82%a4%e3%82%a8%e3%83%b3%e3%82%b9/%e3%83%87%e3%82%a3%e3%83%bc%e3%83%97%e3%83%a9%e3%83%bc%e3%83%8b%e3%83%b3%e3%82%b0/pytorch%e3%81%a7cnn-digits%e3%83%87%e3%83%bc%e3%82%bf%e3%82%bb%e3%83%83%e3%83%88%e7%b7%a8/
## 7月14日
RMSE https://www.nemotos.net/?p=5034#RMSE
### Todo
緯度経度回帰できるように,教師データを入力する/Denseのパラメータを変更する
## 7月26日
### Todo
2.1:ジオローカライゼーション:IM2GPS
2.2:テキストからの位置情報推定:大西らが参照している文献等を書く
2.3:AlexNet,ResNet,GoogLeNet,VGGNet,AugNetについてまとめる
初めにをもう少し書く
## 8月22日
発表スライドをもう少し書く
## 9月28日
学会発表での質疑応答:
Q.ファインチューニングは行ってんの?
A.まだやってない(用検討)
Q.そもそも画像と緯度経度の相関はどのくらい?
A.大まかには西に山や自然、東にビル群や住宅街
Q.分類して特定した後に回帰した方が良いのでは?(分類と回帰の組み合わせ)
Q.座標から写真を推定する関数を学習してその逆関数を求めたらいいのでは?(緯度経度から場所を推定し学習)
Q.GoogleMapからやった方が精度が上がるのでは?
Q.アニメを現実風に変換したらいいのでは?→やりたくない
### ToDo
他の教師データ(緯度経度情報付き)を探す又は取る(GoogleMapなど)
#### ストリートビュー サービス
https://developers.google.com/maps/documentation/javascript/streetview?hl=ja
取れてない...
## 10月05日
https://mapsplatform.google.com/intl/ja/pricing/
selenium(ストリートビューを操る(自動化ツール))←あまりよろしくない
https://qiita.com/padhinton/items/c4765804ea02144a521b
## 10月12日
PlaNetのデータセット?
https://paperswithcode.com/dataset/imagenet
→あまり参考にならないかも(PlaNetではFlickerから収集されてる)
→結局Flickerで行う方が得策か...?
## 10月19日
埼玉県の大まかな範囲
緯度35.4513~36.1700
経度138.4241~139.3250
https://www.gsi.go.jp/common/000230947.pdf
追加論文
CartoonGAN:https://openaccess.thecvf.com/content_cvpr_2018/papers/Chen_CartoonGAN_Generative_Adversarial_CVPR_2018_paper.pdf ←まだ読んでない
Seleniumは使えるようになったが、肝心のスクショがまだできていない
先ほど:
https://qiita.com/sey323/items/6339767bd289c9be7112
## 10月27日
アニメ監督ごとによって独特の画風があるにもかかわらず、単に写真をイラスト風に変換しただけの手法が多いだけでなく、高品質なアニメ風変換が出来ていないという従来課題に対し、対になっていない訓練データを用いて写真とイラストの多様体間のマッピングを行い、収束化しやすいように二つの専用の損失関数を組み込んだCartoonGANを提唱している。
聖地巡礼の経済効果に関する例(2016年、三つのアニメの聖地になった岐阜県の例)
http://www.16souken.co.jp/assets/202108/6da08e087c15e9674eaf24dc3a046f8abfdefbb0.pdf
聖地巡礼による移住者増加の例
https://www.j-mac.or.jp/oral/fdwn.php?os_id=76
## 11月09日
あの花のアニメ画像()を参考に緯度経度出力したけど...
1 1 0.885506808757782 36.14021682739258 139.3896484375 36.235870361328125 140.2699737548828
2 2 1.522812008857727 35.81848907470703 139.5712127685547 35.737281799316406 138.05056762695312
##### アニメ市場の成長具合の図
大元のやつ
https://aja.gr.jp/download/anime-industry-report-2022-summary_jp-2-2

## 11月23日
弱キャラ友崎君の写真データ約37枚を用いて検証
→全ての写真で回帰することができた
→茨城を推定するやつもあったが、埼玉県内に座標がある物が何枚かあった(先週よりは精度がマシになってる?)
→聖地が写真が比較的多い県南部に集中しているからか?
74カテゴリに分類したやつの回帰→できてない(zip使えば行けるのか?)
## 11月30日
埼玉県で学習した画像データのはずなのになぜか県外に飛ばされる問題→解決
だけど、出力結果がどれも以下の近辺に出力される

OriginalバージョンやHayaoバージョンで比較してもさほど大きな差は見られなかった
### 卒論状況
文字数:8499
ページ数:18
## 12月07日
##### 分類回帰→終了
緯度経度推定結果の大多数はその分類された各領域の中に回帰することができた。
→ただ、誤差が大きい場合だと県外に出てしまう事例が何個か確認できた
A/B問題(言語処理における実際に投稿された場所と呟かれた場所が一致しないことによって発生するズレ)の画像版が原因なのでは
'35.911315,139.621081'(112枚)や'36.121919,139.227402'(140枚)等のように一つの座標で数百枚投稿された事例が多く確認できた(小数点以下6桁だと、誤差が約10cmなので、一括投稿した写真の集合があったのでは)
→先ほどのA/B問題だけでなく、特定の場所で投稿された莫大な数の画像データによって推定位置が引っ張られたことも回帰による推定がうまくいかなかった原因の一つなのでは?
### 卒論状況
文字数:8501
ページ数:18
### TODO
分類回帰を用いた場合の推定結果を調べ、出来たら考察も行えるようにする。卒論も9000文字になるまで書く
## 12月13日
https://furaba-animeseichi.blog.jp/archives/25971393.html
友崎君のやつ
resnetにおける最大、最小、平均誤差

googlenetにおける最大、最小、平均誤差

alexnetにおける最大、最小、平均誤差

vggnetにおける最大、最小、平均誤差

### 卒論状況
文字数:9022
ページ数:18
## 12月21日
簡潔にしてみた(x軸を5領域刻みで表示)
vggnet

resnet

googlenet

alexnet

以上の4つの図において特徴的だったのはVGGNet。
最大誤差に関しては他の特徴抽出法における誤差と大差ないものの、平均誤差に関しては他の特徴抽出における誤差と比較して低い例があり、特に最小誤差にかんしては0になった(ほぼ0と等しいほど誤差が少ない)回数が13回と比較的多い。
(resnetが2回、googlenetが4回、alexnetが7回)
AnimeGANを用いた場合
vggnet

resnet

googlenet

alexnet

出力結果
Yuzaki_OmiyaMae.jpgの例(画像のsizeが大きすぎるのでこのままにしとく)
正解の座標

推定された座標

約1.3km
原因として、やはりA/B 問題が関係している?

約1.2km
### 卒論
文字数:10184(本当にありがとうございました)
ページ数:19ページ
Hayaoの枚数をリアル写真に合わせるのもいいのでは?
卒論に各領域の画像の枚数をグラフ表記する。
### TODO
分類回帰の概要図←書いた
リアル写真で学習させたYuzakiの結果→逐次確認
Hayaoで学習させたYuzakiの結果
旧提案手法での推定結果←0領域目に旧提案手法の結果を載せる←表示できるようになった
CNNのネットワークHayao
GoogleMAPで最も精度がいい場合と悪い場合を載せる
チェックボックスを使って逐次確認
## 12月27日
### 各特徴抽出法における誤差
alexnet

googlenet

vggnet

resnet

以上より、各特徴抽出においてでも回帰だけの場合では最大、最小、平均誤差が大きい水準であることが分かる
推定された緯度経度の値の範囲に置ける最大、最小(正解の緯度経度との差を基準に並び替えた)
Image: Yuzaki_Sundragmae.jpg
正しい座標: [35.9073963, 139.625113]
最も近い推定値: [35.91696548461914, 139.6201629638672], 正解との差: 0.010773678665678545, 領域番号: 51
最も遠い推定値: [36.164302825927734, 140.62289428710938], 正解との差: 1.0303244440320243, 領域番号: 1
Image: Yuzaki_LumineOkujo.jpg
正しい座標: [35.906271, 139.6245524]
最も近い推定値: [35.91607666015625, 139.62973022460938], 正解との差: 0.011088770841955115, 領域番号: 1
最も遠い推定値: [35.95685577392578, 138.9019775390625], 正解との差: 0.7243433226115698, 領域番号: 60
・・・
Image: Yuzaki_HigashiIwatsuki3.jpg
正しい座標: [35.9633891, 139.7120384]
最も近い推定値: [35.98836898803711, 139.67691040039062], 正解との差: 0.043104189621236945, 領域番号: 39
最も遠い推定値: [35.67009735107422, 138.6454620361328], 正解との差: 1.106166890639979, 領域番号: 1
Image: Yuzaki_HigashiIwatsuki.jpg
正しい座標: [35.9633891, 139.7120384]
最も近い推定値: [35.98938751220703, 139.67086791992188], 正解との差: 0.04869215406152122, 領域番号: 39
最も遠い推定値: [36.164955139160156, 140.62548828125], 正解との差: 0.9354247985264939, 領域番号: 1
写真が多く取られるであろう都市部(大宮周辺)では誤差の値が比較的低く抑えることができる(最も誤差が小さい値の場合では約1.1kmほど)
あまり写真が撮られることが少ない東岩槻や武蔵浦和などでは約4kmほどの誤差が生じてしまう事が分かった。
#### MusashiUrawaの例
#### 領域0が回帰だけ、破線の箇所が最も誤差が小さかった時の領域

ただ、上の図を見ると分かるように、分類を行った場合の方が回帰だけの場合よりも精度は段違いでよくなっている。
#### 各領域ごとにおける最大・最小・平均誤差の結果

基本的には領域外の箇所においては精度はすこぶる悪かったが、51や55などのように聖地に近い地域では精度はどの領域よりもよくなっていた。
Hayaoのresnetの結果

## 12月27日
### 友崎君の例
hayao_resnet友崎

original_resnet友崎

hayao_vggnet友崎

original_vggnet友崎

googlenetとalexnetの友崎君のデータはうまく反映されていませんでした。
### 写真の例
original_resnet

hayao_resnet

original_vggnet

hayao_vggnet

### 結果に書く地図と写真
### original_友崎君
#### 回帰
良かった例
Arche


0.20925033300223844 距離19km
悪かった例
Higashiiwatsuki


0.30084904953214414 距離27.2km
#### 分類回帰
良かった例
Mamenoki


0.011243292602697791 距離1.22kmの誤差
悪かった例
Yuzaki_BigCamera.jpg


1.2989951178970336 距離118kmの誤差
### hayao_友崎君
#### 回帰
良かった例


0.19804624266433452 17.9km
悪かった例


0.2907000231933682 26.3km
#### 分類回帰
良かった例


0.011264696764442403 1.15km
悪かった例


1.400267162833616 128km
### 以上を踏まえて
基本的には回帰よりも分類回帰の方が精度が圧倒的に高かった。
画風変換とリアル写真では上位の方だと画風変換画像の方が勝るが、悪い場合だとリアル写真の方がいい結果になった。
精度が高かった例では背景がシッカリ見える場合が多い。
対して、精度が低かった例ではキャラが画面を多く埋めている場合が多い。
→背景が見えなくなっていたことによって抽出がうまくいっていなかったから?
# 1月11日
https://crd.ndl.go.jp/reference/modules/d3ndlcrdentry/index.php?page=ref_view&id=1000285642
hayao_resnet

hayao_vggnet

hayao_alexnet

hayao_googlenet

Ori
Yuzaki_vggnet

Hayao

Ori
Yuzaki_alexnet

Hayao

Ori
Yuzaki_googlenet

Hayao

Ori
Yuzaki_resnet

Hayao

# 想定質問とその解答例
#### Q1.なぜ6万件を学習に使い、残りの8万件をテストに使ったのか?
A.学習データが六万件で十分足りると判断したため。
#### Q2.なぜ~Net使ったの?
A.画像の識別に特化した特徴抽出が行えるから。今後は画像認識に特化したものを緯度経度回帰に特化するように~Netの中身の重みをファインチューニングする。
#### Q3.~Netで何を抽出しているのか?
A.被写体が何かを識別することに特化した特徴抽出を行っている。
#### Q4.ベクトル化する意味は?
A.画像が似てると機械的に判断する際、ベクトル化しておくことでコサイン類似度を用いてベクトル同士の近さを求めることができ、結果的に類似の画像を推定することができるため。
#### Q5.~Netはなぜ1000次元?
A.~Netは1000次元で固定されているから。変えられない。
#### Q6.そもそも画像と緯度経度の相関はどのくらい?
A.大まかには西の方では山や自然の写真が多く投稿されるのに対し、東の方ではビル群や住宅街の写真が多く投稿される傾向になっている。
#### Q7.領域はどういった領域なのか。
A.似たような写真が投稿される、即ち似たような景色が見られる領域に分割しておいる。
#### Q8.(7の質問に対し)行政区分や地域メッシュごとに領域を分けなかった理由は?
A.これらにより分割された一つの領域内には異なる要素を含んだ写真が多く、分類や回帰の精度を低下させる恐れがあると判断したため
#### Q9.バッチサイズを5000にした理由は?
A.どのサイズが精度が高いかを調べた際に、5000にした際が一番精度が高かったため。
#### Q10.聖地が存在しない(異世界ものや宇宙もの)アニメで推定しようとしたらどういったものが出力されるようにしているのか
A.そのアニメの雰囲気に合った場所を出力するよウになると考えられる。
→そういった場所はコスプレイヤーの需要を満たせるかもしれない
(ディズニーランドでディズニーキャラのコスプレ写真を撮る人がいる)
(コスプレの国内市場規模は約250億円、コスプレイヤーは約34万人)
https://newsdig.tbs.co.jp/articles/-/622864?page=2#:~:text=%E5%9B%BD%E5%86%85%E3%81%AE%E3%82%B3%E3%82%B9%E3%83%97%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%E3%81%AE,%E3%81%A8%E3%82%82%E8%A8%80%E3%82%8F%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82
#### Q11.非線形処理ってしてるの?
A.してる。全結合層のところで、ハイパボリックタンジェントをかけてる。
#### Q12.分類精度自体はどのくらい?
A.卒論を参照していただくと分かりますが、VGGNetとAlexNetにおいて分類の精度が良かったことが分かった。
# 1年間大変お世話になりました!!!!