hysdkzm / research_hysdkzm

研究について
Other
0 stars 0 forks source link

02/22(月)~のToDo(主にSphereNetについて) #23

Closed hysdkzm closed 3 years ago

hysdkzm commented 3 years ago

⇒ SphereNetを実装しながら構造を学ぶ

hysdkzm commented 3 years ago

SphereNet-pytorch

感想

すべてのファイルのコードを読んでみて実行もしてみたが、何をしているのかが全く分からない

You can replace any model's CNN with SphereNet's CNN, they are implemented such that you can directly load pretrained weight to SphereNet's CNN.

とのコメントから、もしかしたら本来は学習済みモデルに組み込むことが前提なのかもしれない 背景として検証用のコマンドが用意されていないことからうかがえる 必要になってきたことは

・論文のサーベイ(ゼミまでに終わらせる) ・pytorchでのCNNについての学習 ・pytorchでの画像認識についての学習(画像分類や画像推論はよくやられてはいるが)

hysdkzm commented 3 years ago

論文メモ

Contributions

hysdkzm commented 3 years ago

3章(キモ)

3.1:球面上のサンプリングパターンの把握

S:単位球 S2: 全天球パノラマ画像上の(Φ,θ) Φ=[-90,90],θ=[-180,180] s: S2上の点 Π:sΠ点における接平面

Π0: s=(0,0)の時の接平面 ⇒ ΦΠ=0 かつ θΠ=0

※重要なのは球面座標(Φ , θ) , サンプリング座標 , 接平面上の座標(x , y)

※数式(10)までは接平面上の座標(x,y)を球面座標(Φ,θ)で表現することが目標( Π0の時 )

※最後の数式は球面座標(Φ,θ)を接平面上の座標(x,y)で表現することが目標( Πの時 )

DFCD02DD-FD1B-47C2-9C56-6BC424B5640E E835307A-13AE-4E18-B46D-89E2236B676E

3.2:球体への近似法の紹介

3.3:画像分類モデルに組み込む方法

3.4:球面画像入力に対して物体検出を行う手法

hysdkzm commented 3 years ago

スクリーンショット (29)

hysdkzm commented 3 years ago

やるべきことメモ

SphereNetについて

→ ノート半冊分

(11)式 ⇒ (5)(6) 式

球面座標( θ , Φ ) ⇒ 接平面座標( x , y )

⇒ 変換完了

(5)(6)式 ⇒ (11)式

接平面座標( x , y )  ⇒ 球面座標( θ , Φ )

⇒ 証明完了

⇒ CNNのお勉強(構造とか仕組みとか)

⇒ pythonかつネットワーク構造が単純なモデルでの実装 (YOLOはレイヤー多い & C )

⇒ 論文サーベイ & コード抜粋

WebRTCについて

WebRTCチャットのメモ

    /////////////////////////coonect後
/*** [イベント] フォームが送信された*/
    document.querySelector("#frm-post").addEventListener("submit", (e)=>{
        // 規定の送信処理をキャンセル(画面遷移しないなど)
            e.preventDefault();
        // 入力内容を取得する
            const msg = document.querySelector("#msg");
            if( msg.value === "" ){
            return(false);
            }

        // Socket.ioサーバへ送信
            socket.emit("post", {id:socket.id ,text: msg.value});
        // 発言フォームを空にする
            msg.value = "";
        });
///////////////////////////////////

////メッセージ受け取ったとき
socket.on("member-post", (msg)=>{
    const list = document.querySelector("#msglist");
    const li = document.createElement("li");
    li.innerHTML = `${msg.id+":"+msg.text}`;
    list.insertBefore(li, list.firstChild);
    console.log("message received",msg.from);
  });

io.on("connection", (socket)=>{
  console.log("ユーザーが接続しました");

  socket.on("post", (msg)=>{
    io.emit("member-post", msg);
  });
});
hysdkzm commented 3 years ago

「ShareボタンのCSS」

#share {
    /* display:block;
    margin: 0 auto; */
    /* 文字サイズを1.4emに指定 */
    font-size: 2.5em;
    /* 文字の太さをboldに指定 */
    font-weight: bold;
    /* 縦方向に10px、
     * 横方向に30pxの余白を指定 */
    padding: 10px 10px;
    text-align: center;
    /* position: absolute; */
    top: 40px;
    /* 文字色を白色に指定 */
    color: #fff;
    /* ボーダーをなくす */
    border-style: none;
    /* ボタンの影の指定
     * 影の横幅を2px
     * 縦長を2px
     * ぼかしを3px
     * 広がりを1px
     * 色を#666(グレー)に指定 */
    box-shadow: 2px 2px 3px 1px #666;
    -moz-box-shadow: 2px 2px 3px 1px #666;
    -webkit-box-shadow: 2px 2px 3px 1px #666;
    /* テキストの影の指定
     * 影の横幅を1px
     * 縦長を1px
     * ぼかしを2px
     * 色を#000(黒)に指定 */
    text-shadow: 1px 1px 2px #000;
    /* グラデーションの指定 */
    background: -moz-linear-gradient(bottom, rgb(0, 0, 0), rgb(29, 15, 15) 50%, rgb(5, 1, 1));
    background: -webkit-gradient(linear, left bottom, left top, from(rgb(20, 10, 10)), color-stop(0.5, rgb(80, 70, 70)), to(rgb(20, 8, 8)));
}
#share:hover {
    /* 透明度を20%に指定 */
    opacity: 0.5;
}
hysdkzm commented 3 years ago

tes

hysdkzm commented 3 years ago

dog_1

hysdkzm commented 3 years ago

spherenetの実装結果

・既存のCNNモデル内のconv2D部分とmaxpoool2D部分にSphereNetconv2DとSphereNetMaxpool2Dを置き換え

⇒ pytorchの物体検出ができるものを探した結果(SphereNetの書き方と似ている既存モデル)、回りまわってpytorch-yolov3で実験

・GPUでのpytorchの実装環境 ⇒ anaconda導入 ⇒ いろいろエラー吐いたが通常の状態では使えるように

・置き換え作業ひたすらエラー地獄

⇒ なんとか解決?エラーははかなくなった ⇒ 通常の状態で実行したときに比べて検出率が明らかに低くくなった

可能性のある解決策

・著者と同様にVGG-16(画像分類の低レイヤーモデル)を使用したSSDの物体検出モデルの使用

⇒ 物体検出にとらわれず、物体分類のモデルでできればよい ⇒ pytorchで書いてある物体検出のでもコードと分類のでもコードの実装方法が結構違う

・再学習しないといけない? ⇒ conv2Dとmaxpool2D部分を置き換えたからと言ってSphereNetの場合は通常のCNNと違い接平面上で検出し、統合する結果を統合するものになっているので再学習させないといけないのでは?

vgg16

やること

・pytorch-yoloでの学習

・pytorchの勉強しながら実装 https://github.com/miyamotok0105/pytorch_handbook

・SphereNet + yolov3を使った研究の論文 Spherenet2.pdf

+ 引き続きSphereNetのサーベイ

hysdkzm commented 3 years ago

ls -F | grep -v / | wc -l

hysdkzm commented 3 years ago

03/29(月) ToDo

03/30(火) ToDO

・Voc2012(2GB)ダウンロード ・matlab環境が必要 ・背景として360度画像(1500×3000)にPascalVOCの画像データを張り付ける ・同時にアノテーション情報も360度画像上の情報として更新

03/31(水) ToDO

スクリーンショット (32) スクリーンショット (31) スクリーンショット (33)

04/01(木) ToDO

生成された画像

3000枚くらいしかできなかった ⇒ personを含む画像(9583枚)を先に抽出してから再度実行

⇒ セグメントされているものしか採用してない ⇒⇒ なぜならbboxだと背景情報も入ってしまうため、それを除いた物体のセグメント(マスク)のみを歪ませているため

2913枚中”person”が含まれているのは887枚

personのオブジェクト数は1733個

参考:http://host.robots.ox.ac.uk/pascal/VOC/voc2012/dbstats.html

学習開始

学習初期でエラー OSError: broken data stream when reading image file ⇒ from PIL import Image, ImageFile ImageFile.LOAD_TRUNCATED_IMAGES = Trueで解決

コード見た感じだと45エポックまで 1エポック学習するのに10分くらいはかかる

hysdkzm commented 3 years ago

就活アド

・商社系、製造業系、メーカー:IT部門

hysdkzm commented 3 years ago

状況整理

・Object-Detection-in-wide-angle-immersive-image-formatsがavgloss6以下にならない

・PyTorch-YOLOv3で学習して検出テストしても反応なし

ToDo 04/06(火)

⇒ https://docs.google.com/document/d/1Bnws8sHuI_8jWxy7CjJ_ej1sVYf8cBrY8_8pXpC5F7A/edit?usp=sharing

ToDo 04/07(水)

余談

全天球カメラデータセット集めにおすすめ!!! https://kuula.co/about

hysdkzm commented 3 years ago

相談

・データセットをもらうのに署名が必要(360 indoor) SphereNet+YOLOv3の論文 https://docs.google.com/forms/d/e/1FAIpQLScF6RKE4NG45RgET7qi-fmKMFBser3aUKm15_FDK2VGOsGhQw/viewform https://drive.google.com/file/d/1F6IF16F-tKuVIYjnNWmCCBs1s1BtSKj4/view

hysdkzm commented 3 years ago

・水曜日にデータセット申請 → 返事なし → 同時にコードの公開をお願いした

・SphereNetに関する物体検出が絡んでない論文のサーベイ → 技術的な調査中

hysdkzm commented 3 years ago

論文サーベイ

hysdkzm commented 3 years ago

・政治倫理のクラス3人

⇒ 英語が大丈夫か?

⇒ 現社に関しては一問一答

⇒ 本を読みだすところから(現代文)(夏休みから:古文は10月くらいから)

⇒ 勉強に金かけるのは馬鹿じゃん ⇒ ⇒ がストで勉強したほうがいい

⇒ 文系の友達に助けられた(部活も一緒ではなかった)

⇒ 助動詞はめっちゃ勉強してたけどセンターでは出なかった

⇒ ⇒ 助詞がめっちゃ出たwww