読者です 読者をやめる 読者になる 読者になる

未踏作業日誌――余計なもの作るよ!

未踏の作業日誌的なものを書きましょうということで書くことにしました.余計なことばっかりしています.

やること少ないのでデフラグ中

こんにちは,色々と行き詰まっているのでデフラグをし始めている次第です.

というのも,アニメ顔分類器を使って顔認識が完了したわけですが,これらの顔認識の結果から分類器を新しく作るのに,そもそも顔認識が正しいのか失敗しているのか判定しなければなりません.どう考えても180万件に対して手動で判定するのはアホらしいので,180万件の画像のうち,1万件ずつに区切って,分類器を180個作り,さらにそれぞれの分類器で180万件の顔認識を行うことで,合議制によるネガポジ判定の効率化を思いつきました.

今まではWebサーバ立てたり,ツールを作ったりして,暇な人の力を借りるなどで判定していたのですが,そもそも大量の画像データを公開するのは色々と問題になりやすそうな気がするのと,かと言って直リンすることで解決するような問題じゃない気がしました.とにかく,大量のデータをさばくのにマンパワーが足りないなと.

そこで,件の合議制による判定を思いついたのですが,既存の研究で似たようなことやってる人いませんかね? 画像認識とかOpenCVなんて触り始めて1ヶ月ぐらいなので,いかんせん知識としての体系が培われていない.

とりあえず,合議制のネガポジ判定の効率化に手を付ける前に,もう少し画像ファイルとかの読み出しを早くしたいなとか思ってマスターデータに対してデフラグをかけています.デフラグといえば,暇な人が嗜む趣味なわけですが,大量のランダムアクセスデータよりも,シーケンシャルに並び替えたものの方が,若干アクセスが早くなるのでバカになりません.マスターデータはそんなに変更されるものじゃないので,これだけはさっさとやっちゃいましょうという感じです.

デフラグが終わったら,マスターデータのバックアップをかけつつ,分類器を作るための分散処理環境を構築しようかなと.と言っても,手近にあるPCに分類器を作るコマンドを割り振って,ひたすら分類器を作らせるだけなのですが.

地味にこれ研究テーマとして成り立ちませんかね? 何はともあれ180万件も画像があるわけですから,こいつらをやっつけなければならないわけです.少なくとも,1日1万件ポチるよりかは短い時間でできると思うのですがどうでしょう? 合議制なので怪しいデータだけ分けてしまえば,それはそれでさっさと終わる気がするのですが,よくよく考えるとそれらの分類器の元になる認識結果のネガポジ判定が()

そんなこんなで,Danbooruの研究は先が長そうです.

 

TinyASIOはドライバの気分に振り回されています.この前まではちゃんとバッファを作れたのに,ドライバを再インストールしたら作れなくなっていて死にそうです.Malfunctionとか言われても,音は出てるし,Studio Oneでも認識してるし,お前らどうやってこんな気まぐれなインターフェースに対応してるんだと思う程度には毒されています.つらい.

実はちょっと前に,Siv3Dでも使えるようにしておこうということで試行錯誤していまして,Siv3DではThreadingModelがMTAなのに対し,ドライバのレジストリ値を見ると,ApartmentなのでSTAで動くようになっていたようなことがわかったりとか.これは,値をBothにすれば30%ぐらい認識するようになるのですが,これの対応がなかなか大変でした.

というのも,最初に認識されなかったら,レジストリ値をさかのぼってMTAで動くように値を書き換える処理を挟んだりしたわけです.要は,認識でこけたらやり方を変えてリトライする感じなわけですが,明らかにレジストリの値を書き換える時点で色々とやばいわけですね.もちろん,コケる原因なんて他にたくさんあるわけなので,必ずしもこれで解決するとは言えないわけなのですが()

そんなわけで,バッファリングができたと思ったら,認識でコケたのでリトライ処理を大量に挟んでいるわけでした.思っていたよりも難産というか,COMが闇です.どうしてこいつ動かないんだってなります.今からCOMで開発しようと言う人がいたらおすすめしません.エラーコードは基本的に勘とか言われると勘弁して欲しい感じがします.

 

どうでもいいのですが,最近はホルモンバランスとかに抗ってみようかと思いまして,眠くなったら寝るみたいなことをやっていたら,見事に朝に起きていられるようになりました.これで1限の授業に出られそうなわけですが,1周して夜にしか起きられない可能性もあるためなかなか調整が難しい技だと思います.その一方で,1時間ずつ頑張って早く起きる方法は少なくとも効果的でないということがわかりました.問題は,今起きているのが体内時計的に朝なのか夜なのか全くわからない点です.今,朝ごはんを食べているのか,昼ごはんを食べているのかメチャクチャになるので,今まで開発にメリハリがついていたのも,だらだらとやってしまう可能性があるので注意が必要です.逆に,メリハリがつかなくなるので,開発に乗ったりするとずっとやれたりもするのですが.

そんなこんなで,新しい研究スタイルに励んでいます.なかなかヤバイ.