Closed hysdkzm closed 3 years ago
すべてのファイルのコードを読んでみて実行もしてみたが、何をしているのかが全く分からない
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での画像認識についての学習(画像分類や画像推論はよくやられてはいるが)
S:単位球 S2: 全天球パノラマ画像上の(Φ,θ) Φ=[-90,90],θ=[-180,180] s: S2上の点 Π:sΠ点における接平面
→ ノート半冊分
⇒ 変換完了
⇒ 証明完了
[x] 論文を読み終える + 補足資料
[x] コーディングの抜粋
[x] 既存モデルで実装
⇒ CNNのお勉強(構造とか仕組みとか)
⇒ pythonかつネットワーク構造が単純なモデルでの実装 (YOLOはレイヤー多い & C )
⇒ 論文サーベイ & コード抜粋
/////////////////////////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);
});
});
#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;
}
・既存のCNNモデル内のconv2D部分とmaxpoool2D部分にSphereNetconv2DとSphereNetMaxpool2Dを置き換え
⇒ pytorchの物体検出ができるものを探した結果(SphereNetの書き方と似ている既存モデル)、回りまわってpytorch-yolov3で実験
・GPUでのpytorchの実装環境 ⇒ anaconda導入 ⇒ いろいろエラー吐いたが通常の状態では使えるように
・置き換え作業ひたすらエラー地獄
⇒ なんとか解決?エラーははかなくなった ⇒ 通常の状態で実行したときに比べて検出率が明らかに低くくなった
・著者と同様にVGG-16(画像分類の低レイヤーモデル)を使用したSSDの物体検出モデルの使用
⇒ 物体検出にとらわれず、物体分類のモデルでできればよい ⇒ pytorchで書いてある物体検出のでもコードと分類のでもコードの実装方法が結構違う
・再学習しないといけない? ⇒ conv2Dとmaxpool2D部分を置き換えたからと言ってSphereNetの場合は通常のCNNと違い接平面上で検出し、統合する結果を統合するものになっているので再学習させないといけないのでは?
・pytorch-yoloでの学習
・pytorchの勉強しながら実装 https://github.com/miyamotok0105/pytorch_handbook
・SphereNet + yolov3を使った研究の論文 Spherenet2.pdf
+ 引き続きSphereNetのサーベイ
ls -F | grep -v / | wc -l
[x] ブリンキーファイルまとめる(バイト中)
[x] YOLOv4-pytorchの実装
[x] SphereNet組み込み
[x] マイナンバーカード申請
[x] sphredetection 実装 https://github.com/JaideepBgit/Object-Detection-in-wide-angle-immersive-image-formats/tree/e942d08a14216bccd781d6135165fde3649aca98
・Voc2012(2GB)ダウンロード ・matlab環境が必要 ・背景として360度画像(1500×3000)にPascalVOCの画像データを張り付ける ・同時にアノテーション情報も360度画像上の情報として更新
[x] Matlab導入
[x] コード実行
⇒ 画像だけでなくアノテーション情報もちゃんと歪んだ状態で保存されている
別ファイルとしてVocreadxml.m, Vocxml2struct.m, Vocwritexml.mなどが必要だった
⇒ matlabのMap Viewerが必要
Map Viewer
⇒⇒ 学生のライセンスではだめだったので30日無料使用期間として再インストール
3000枚くらいしかできなかった ⇒ personを含む画像(9583枚)を先に抽出してから再度実行
⇒ セグメントされているものしか採用してない ⇒⇒ なぜならbboxだと背景情報も入ってしまうため、それを除いた物体のセグメント(マスク)のみを歪ませているため
参考: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分くらいはかかる
・商社系、製造業系、メーカー:IT部門
・Object-Detection-in-wide-angle-immersive-image-formatsがavgloss6以下にならない
・PyTorch-YOLOv3で学習して検出テストしても反応なし
[x] SphereNetの論文サーベイ Benjamin_Coors_SphereNet_Learning_Spherical_ECCV_2018_paper
[x] SphereNet + YOLO の論文サーベイ 360-Indoor: Towards Learning Real-World Objects in 360 Indoor Equirectangular Images
⇒ https://docs.google.com/document/d/1Bnws8sHuI_8jWxy7CjJ_ej1sVYf8cBrY8_8pXpC5F7A/edit?usp=sharing
[x] YOLOv3 × sphereNetについての調査
[x] 360 indoor datasetについてサーチ
[x] 先生に相談(データセットについて)
全天球カメラデータセット集めにおすすめ!!! https://kuula.co/about
・水曜日にデータセット申請 → 返事なし → 同時にコードの公開をお願いした
・SphereNetに関する物体検出が絡んでない論文のサーベイ → 技術的な調査中
[ ] Kernel Transformer Networks for Compact Spherical Convolution
[ ] Reprojection R-CNN: A Fast and Accurate Object Detector for 360◦ Images
[ ] Spherical Criteria for Fast and Accurate 360◦ Object Detection file:///C:/Users/kazum/Downloads/6995-Article%20Text-10224-1-10-20200525.pdf
・政治倫理のクラス3人
⇒ 英語が大丈夫か?
⇒ 現社に関しては一問一答
⇒ 本を読みだすところから(現代文)(夏休みから:古文は10月くらいから)
⇒ 勉強に金かけるのは馬鹿じゃん ⇒ ⇒ がストで勉強したほうがいい
⇒ 文系の友達に助けられた(部活も一緒ではなかった)
⇒ 助動詞はめっちゃ勉強してたけどセンターでは出なかった
⇒ ⇒ 助詞がめっちゃ出たwww
[x] CentOS USB認識問題
[x] 360CNNモデル 実装
⇒ SphereNetを実装しながら構造を学ぶ