2008年02月23日
フルKinesis化完了
ついに3枚目のKinesisも買ってしまった。

3色コンプリーツ!これで会社と自宅全部の環境でKinesisになった。
3枚のリアルフォースが余ったわけだけどこれどうしようかな。
このリアルフォースは使い出してから6年ほどになるけどよく頑張ってくれた。
まだまだ調子が悪くなる気配もなく後10年ぐらいは使えそうな勢いだ。まぁ値段分の仕事はしてくれたのでよしとしよう。
Kinesisも後10年ぐらい使えると思えば十分価値はある。マウスは寿命が短いけどキーボードはかなり長い間使えるしキーボードは最初に良いのを買った方が良い。
今回はついでにKinesis MiniType Keyboard(KB600UP)も購入。

サーバマシンやノートPCで英語キーボードを使うために持ち運びできる軽くて小さいキーボードだ。
39.95ドルと安かったのでついでに購入。
Kinesisが発売しているが、フツーの薄いノートPCについてるようなキーボードだ。アルミヘアライン処理が美しい。

とはいえ安いキーボードなのでそれほど高級感があるわけではない。
裏を見るとなんだか電池を入れるような部分があった。枠はあるが開かないようだ。

キーボードの上部の黒い部分は赤外線のカバーのようで、もしかすると赤外線での無線機能搭載のバージョンも予定されているのかもしれない。
ちなみに送料は100ドルほどだった。Kinesis Contoured単体だと送料が60ドルだったので40ドルほど増えた計算。ミニキーボードの値段と同じじゃないか・・・。うーん、やっぱ送料がネックだなぁ・・・。水曜の夜に購入手続きが完了し、土曜の朝に届くのですぐに届くのが便利と言えば便利だが。船便で時間がかかっても良いから安い方法で買えればそっちの方が良いかも。運送業者は今回もUPSでした。
2008年02月22日
Google Appsがめっちゃ便利
現在、自宅サーバでrainbowdevil.jpドメインのメールサーバを運用してる。IBMのサーバにRAID1でミラーリングしていると言ってもはやりネットワーク機器の不調やサーバトラブルが怖い。よって家のメールアドレスは転送用にして、普段はGMailのアカウントを使用していた。信頼性の高いGMailを主に使用して、家のメールサーバにはその他複数のメールアドレスに届いたメールを転送させて一括管理、と言う形で使っていた。つまり独自ドメインのメールは有効活用しているとはいえなかったわけだ。
そこで、Google Appsと言うのを見つけた。
これは簡単に言うとGMailを独自ドメインで使うようなもので、独自ドメインでGMailやGoogle Docs、Googleカレンダーを使うことができる。しかもスタンダードコースは無料だ。さすがGoogle。メールアカウントは100件まで使用可能。メールボックスのサイズはGMailと同じで各アカウント約6G。
今まで信頼性の低かったrainbowdevil.jpドメインを信頼性の高いGMailで使えるのだからこれほどありがたいものは無い。と言うことで早速移行。
どうやってrainbowdevil.jpのドメインでGMailを使うかというとドメインのMXレコードをGoogleのものに変更するだけ。簡単でシンプル。ナイス。
で、問題は以前の環境の移行なんだけど、GMailは外部POP3サーバからのメッセージのインポートはしてくれるが、IMAPはしてくれない。GoogleAppsの有料版はしてくれる。30日間無料で、無料期間内に解約すれば無料のままと言うことで登録してみた。そしたらなんかGoogle側でエラー吐いて処理が正常に終了しなかったようだ。だめじゃん。
そして他に方法は無いかなと思っていたらなんとめっちゃシンプルでインポートツールなどもいらない方法があった。
それは単にThunderbirdで旧メールボックスから新しいGMailメールボックス(IMAP)に、メッセージをドラッグアンドドロップするだけ。
そんな単純な方法でできたのか・・・、すばらしいぞThunderbird。
と言うことで大量のメールを移行。ただし、処理は1件1件コピーしていくので壮絶に時間がかかる。寝る前とかにする方が無難だ。しかもたまに止まることもあるようなので、件数など見て正常に処理が完了したか確認した方がよい。
これで信頼性の高い独自ドメインのメールアドレスを持つことができた。
さらに家のサーバのメールサービスを停止することでセキュリティリスクも低減できる。
年間1000円ほどでドメインを取ることができるので、それとGoogle Appsを組み合わせれば超低価格でメールやWebサーバのホスティングを実現できる。Google恐るべし。
2008年02月21日
集客のためのコンテンツ
チャットはログの永続化やエラー時の処理などを実装し、"チャット"の部分は完成した。
匿名掲示板のようにオープンで、かつリアルタイム性の高い実況掲示板的なチャットは十分魅力的なコンテンツになり得るだろう。
が、実況チャットは致命的な弱点もある。
世の中には、人がいない実況チャットほど無価値で無意味な存在はないと言うことだ。じゃがりこサラダ味を置いていないコンビニ以上に無価値だ。
にちゃんねるの閲覧者全体における投稿率が10%前後と言うことで、感覚的にはチャット閲覧者は100人の単位で必要だと考える。それぐらい集まらないと面白くはならない。(そしてこの目標の達成は簡単ではなさそうだ)
よって次のタスクは"人を集める"と言うことになる。
ユーザを呼び込むためには主に次の二つの手段がある。
1,広告を出す
2,検索エンジンからのリンク
強引に呼び込むのは1の広告が有効だろうが、個人では現実的な手段ではない。
よって必然的に2の検索エンジンを使うことになるのだが、当然チャットだけあっても誰も来ない。
と言うことで番組に関する情報サイトを作り、そのコンテンツの一部としてチャットをつけることにする。
情報が集約されているサイトであれば検索に引っかかりやすいのはもちろん、実用的な意味でもリピータが期待できる。
タスク"人を集める"の手段として"情報系サイトの構築"と言うことになる。
なんだか順序が逆のような気がするが、頭の中ではメインのゴールは"情報系サイトの構築"が先だった。
情報系サイト作ろう→チャットもあると面白そう→チャットはCometとAjax使いたい→それプログラム書いてて面白そう
と言う流れでチャットを先に作ってしまったわけだ。
情報系サイトと言ってもいろいろあるわけだけど、ターゲット(方向性と言うべきか?)はAmazon的なものになる。
つまりユーザが番組に対しスコアを付け、どれぐらい評価されているか知ることができ、またその対象アイテムを評価している人は別のこういうアイテムも評価している。と言うことを知ることができるサイトだ。
Wikipediaの情報密度と情報量はすばらしいがデータマイニングはしてくれない、「情報がそこにある」だけなのだ。
攻殻機動隊が好きな人はネット関連経由でserial experiments lainも好きだよね。
serial experiments lainが好きな人は安倍吉俊関連で灰羽連盟やNieA_7が好きだよね。
灰羽連盟が好きな人は・・・・。
と言う情報が必要なわけだ。この情報により「見たけど自分に合わないのでつまんなかった」と言う事を回避できる可能性が高まる。
ちなみにこれらの情報系サイトやチャットを作ろうと思った最初のきっかけは、こういうサイトが存在しないandそういうサイトが欲しかったからだ。
と言うことでダラダラと内容の薄い文章を書いてしまったわけだけど、これからは情報系サイトの開発をしますよと言う事だ。
2008年02月18日
特徴点抽出その後
- kenji
- 00:31
- コメント (4)
- トラックバックする
- カテゴリー:ImageProcessing
注文していたWebカメラが到着。
これでリアルタイムの映像を解析できる。
購入したカメラはELECOM ドライバ不要UVC対応130万画素CMOS Webカメラ(ホワイト) UCAM-DLM130HWH。
ドライバ不要ならOpenCVでも楽に認識するだろうかと思ってこれを購入。
が、他の問題も絡まってOpenCVで使えるようになるまで6時間ほど苦しんだ。
メインの問題はPCに未使用でドライバも入れていないキャプチャボードが刺さっていて、それがじゃまをしていたようだ。
それを取り除いてもOpenCVデフォルトのカメラキャプチャ機能は使用できなかった。
よってDirectShowでキャプチャし、それをOpenCVで処理し表示する形式をとった。
参考にしたのは以下のページ。
OpenCV/DirectShowでキャプチャした画像を表示する
そのキャプチャ画像に対し特徴点抽出を実行すると以下のような感じ。640x480でおそらく15fpsぐらい。CPU負荷は60%ぐらいで十分リアルタイムに処理できた。

特徴点追跡もOpenCVで簡単にできた。
これはなかなか良いおもちゃだ。
しかしこのカメラ(CAM-DLM130HWH )ちょっと画質が悪い気がするな。
なんかフレームレートもでないし。
ホワイトバランスの調節で負荷がかかるのか、カーテンや壁を写すとなぜかキャプチャのフレームレートが8とか9ぐらいしかでない。モニタを写すと30フレームでるのだが・・・。30、15、8と階段状に上がったり下がったりする謎の現象。
OpenCVに頼りすぎるのも良くないと言うことで画像処理の基礎知識を得るために次の本を買ってみた。

この本はグラフィックエンジンに頼らず、すべての画像処理を1からプログラミングするという硬派な本だ。
表紙も硬派だし、文体も普通で画像処理のサンプル画像も動物の写真だったりで普通だ。
が、なぜか挿絵だけがオタっぽい。(俺向きだ!)
完全なる貧乳でアホ毛装備。お団子頭にチャイナドレスだったり、無意味に体操服の場合もある。イラストを描いた人の趣味丸出しな挿絵だw
が、内容は非常に勉強になりそうな気配だ。特徴点追跡に使えるオプティカルフローまであってすばらしい。そこまでたどり着くまでが大変そうだが。
もう一冊画像処理系の本を買ってみた。
C言語による画像処理入門だ。
こちらは東工大の偉い先生が書いたとかで表紙から文体に至るまで完全に教科書風だ。難しい手法名と数式は出てきても、貧乳少女は間違っても出てきそうにない。こっちは難易度高そうだからフルスクラッチ~を読んでからこっちを読んでみるか。
2008年02月16日
動画の特徴点抽出をやってみた
- kenji
- 03:01
- コメント (5)
- トラックバックする
- カテゴリー:ImageProcessing
昨日の動画がおもしろかったので動画の特徴点抽出をやってみた。
ライブラリはOpenCVを使用。
デジカメの動画撮影機能を使用し、640x480 30fpsの動画に対し特徴点抽出を行った。
以下検出結果の動画からのスクリーンショット


動画
FindCornerTest_Xvid.avi 約2.5MB 12秒 エンコードはXvid形式
特徴点抽出の方法はcvCornerMinEigenValの詳細がよくわかってないので正式な名前が付いてるアルゴリズムかどうかは不明だが、角を検出し、なおかつすぐ近くによりスコアの小さい角があればそれは削除するなどして特徴点を均一に検出するような工夫のされている方法のようだ。
2枚目の写真で画面右に写っているタスクマネージャの黒いグラフの角が綺麗に検出できているのがすばらしい。
今回の特徴点抽出の手法は角を検出するというものなので、カメラを素早く左右に振るとぶれて角が無くなってしまい、特徴点の検出ができなくなっているようだ。
これも一度検出した特徴点を追跡する場合はもっと別のアルゴリズムで追跡するとか言うことになるんだろうか。
今回は保存したAVIファイルに対し処理を行い、12秒の動画に対し解析に25秒ほどかかったのでリアルタイムファクタは2ぐらい。
CPUはIntel Core 2 Duo E6600で、CPU利用率は30%ぐらいだった。
シングルスレッドで動画読み込みと画像解析を1コマずつ行ったのでIOとCPUの分担ができず効率の悪い処理になったのかもしれない。
特徴点抽出はライブラリのおかげで割と簡単にできたな。
アルゴリズムをもっと精度の高いものにするとかそういう議論はあるだろうけどとりあえずこれでOK。
特徴点の抽出ができたので、次はその追跡だな。特徴点追跡でググるといろいろ手法があるようだ。
そして特徴点追跡をし、その結果を因子分解法による物体の形状復元を行うとそれぞれの特徴点の空間座標が計算できるようだ。
このページによると「因子分解法とは、ある2F×P行列を2F×3行列と3×P行列の積に分解する手法の1つです。線形代数における特異値分解を利用し、行列を暫定的に分解し得られた線形同次連立方程式を解くことにより分解します。」とのこと。・・・・まぁ何というかちんぷんかんぷんだ。
とりあえず行列から勉強し直すか。ある程度わかれば後はコンピュータが計算してくれるだろう。
3Dの描画すらよくわかってない段階なので暇があるときにちょっとずつ遊んでみるか。
追記
因子分解法による形状復元は日本人の人が考えたようだ。
Carlo Tomasi and Takeo Kanade Shape and motion from image streams under orthography: a factorization method
この論文を読むには・・・・、32ドル!高いよ・・・。
そしてもちろん金出 武雄氏のページにはこの論文のPDFは置いていない。
淡い期待を打ち砕くようにCarlo Tomasi氏のページにももちろん置いてない。
ふぬぬ・・・・。
まぁ読んでもたいして理解できるとも思えないので良いか・・・。
2008年02月14日
複合現実感
こんなビデオ見つけた。
何をしているかというとビデオカメラで撮影するだけで特徴点からビデオカメラの3次元空間上での相対位置をリアルタイムに検出しているようだ。
ニコニコ動画ではARToolkitによる拡張現実が流行っているが、ARToolkitはマーカーがカメラに映っていないと位置を特定できない。
が、こちらの技術を使うとマーカー無しでも位置を検出できる。うーん、すごい。
リアルタイムのマーカー生成で周りの物体との相対位置は検出できるが、絶対位置は取得できないのでそのあたりが今後の課題だそうだ。
あー、なんかすごい面白そう。
AR/MRの研究してる人がうらやましいな。
この技術の作成者 Georg Klein氏のサイト。
と、論文とか。
2008年02月08日
GoogleのDIコンテナの本が出る

Googleが出した軽量DIコンテナのGuice解説本。
知るかぎりGuiceで初の本となるんだけどGuiceが出たのが去年の3月、Guiceはあんまり流行ってないのかな。
Springは大きなフレームワークだからGuiceのようにDI専用の軽量DIコンテナもありかなと思ったけど。
規模が小さい開発だとDIは必要なくて、規模が大きいとSpringのようなのが好まれるんだろうか。小さな開発でもユニットテスト用に使えそうだが。
洋書にしては安いので読んでみたいが・・・英語・・・。
英語も勉強しなくちゃと思いつつも・・・うう。
でもとりあえず買う。
買うと読むかもしれないし、読まないかもしれない。でも買わないと可能性はゼロだ。
2008年02月06日
暗号解読
ううむ、これはなかなかおもしろい本だった。どれぐらいおもしろいかというと本に集中してしまい電車を乗り過ごしてしまうぐらいだ。
この本は、古代ローマの時代のシーザー暗号から未来の暗号の量子暗号まで様々な暗号と、それに絡む人々や国々のストーリーとなっている。おそらく、各種暗号とその解読方法を示すだけならつまらなくて退屈な解説本になっていただろう。暗号の裏に表れる、人間のストーリーがとても興味深かった。
秘密の暗号の手紙が解読されれば死刑、解読されなければ無罪の囚われの女王メアリー。
第二次世界大戦時、無敵の暗号器エニグマに対し、ドイツの脅威を間近に受け、生きのびるためにエニグマ暗号を必死で解読するポーランドの暗号局ビュロ・シフルフ。
ロゼッタストーンに刻まれた難解な古代エジプトのヒエログリフの解読、また他の古代言語の解読の歴史とそれに伴う歴史の修正。
それまでの暗号の常識と欠点である、"鍵"の配布の概念を消し去る"安全な鍵交換"を実現するデフィーとヘルマンの物語。
また、その偉業を何年も前に実現していたイギリスの最高機密機関、英国政府通信本部(GCHQ)。GCHQの匿名の英雄たちとその組織の性格ゆえの隠蔽工作。
暗号の手法だけでなく、鍵までも公開する現在最強の暗号、公開鍵暗号のRSAを巡る3人の物語。
その最強のRSA暗号を解読する量子コンピュータ。
現在最強の暗号を打ち破ると同時に、"原理的に絶対に解読できない暗号"量子暗号を生み出す量子論。
どれもむちゃくちゃおもしろかった。同じ"暗号"にまつわるストーリーだけど、様々なバックグラウンド、人間模様、その暗号が解読されたことによる影響が違って次の物語を読むたびに新しい刺激があってすばらしかった。
個人的には日頃お世話になっているRSA暗号のあたりがおもしろかったな。
量子論の分野になると理解できる範囲を超えたが・・・。量子コンピュータはまだわかる。わかると言っても「ふーん」レベルだけど。でもよく考えると頭が混乱し出す・・・。多数の状態をシュレーディンガーの猫のような状態の重ね合わせの状態で表す。すると量子コンピュータ上の一つの状態で、現在のコンピュータで言う多数の状態を同時に表すことができると。多数の状態を一度に表すことができるのは良いとして、その多数の候補から求めている答えに絞り込むのはどうやるんだろうか。ヤングの実験を光子1個ごとを打ち出しても明暗の縞ができるように、そしてその明暗の縞が求める答えのような感じなんだろうか。多数の状態を持つ光子を打ち出して、量子論による恐るべきかつ神秘的な働きによってこの位置に光のピークを検出したので答えはXだ!みたいな。いや、適当だけど。
機会があったら量子コンピュータ関連の本にも手を出してみるか。生きてるうちに量子コンピュータのプログラミングをするかもしれないし。
さて、この「暗号解読」と同時に、同じ著者サイモン・シンの「フェルマーの最終定理」も買ってあるので次にそれを読んでみよう。

同じ著者でおもしろい、との評判だけで買ったので内容はさっぱり知らないが。
フェルマーの最終定理というと、結構昔のすごい人がすごいことを思いついたけど、肝心の所は書いてくれなくて、かつすごい難しいので、それ以降すごい数の数学者がすごいがんばったけど解けなくて、最近すごい数学者が答えを出した。ぐらいの知識しかないので理解できるかは不明だがw
でもきっとこの本がしばらく電車の退屈な時間を楽しい時間に変えてくれるだろう。
明日から楽しみだ!

