カテゴリー
技術

Megabite – 並んだ食材から福笑いのように顔を作るアルゴリズム

Megabite は、皿に盛った料理の写真をパーツとして、福笑いのように顔を作るアプリだそうです。

考えてみよう、食べ物もハッピーに見えるに越した事はない。あるランチの時、料理で遊んでるときにふと思ったんだ – このプロセスは自動化できるのでは? 解決すべきビッグな問題がここにあるじゃないか。Let’s face it, food is more fun when it looks happy. I was playing with my food one lunchtime, and I wondered to myself – would it be possible to automate this process? Solving the big problems right here.

megabite

このアプリは画像中の皿に乗った食べ物を個別に切り出し、それをより興味深く並べ替えます。

作者の解説するアプリの全行程は以下のようなもの。

  • 食べ物の写真の撮影とリサイズ、丸く切り出し
  • 輪郭の抽出、閉じてない(例: Cのような形の)輪郭の除去
  • 重複した輪郭や多重の輪郭(例: 目玉焼きの中の黄身)の除去
  • 抽出した要素を含む最小の長方形の決定
  • 要素の数に応じた3つの顔型のテンプレートからの選択
  • テンプレート中の要素の形に合わせて、どの食べ物をどこにはめるかの判定
  • 要素に最もフィットする方向に食べ物を回転
  • 食べ物をポップさせたりしながら、回転して最終形を表示する

動画でアプリが動く様子が見られます。

ツールはiPhoneアプリとして作成されていますが、iTunes Storeには見当たらないので一般公開してないか、申請中なのかもしれません。ソースコードがGitHubで公開されているので、自分でビルドすれば試せるかもしれません。

via Hacker News

カテゴリー
サーバー管理

スマホのメッセージアプリでサーバー管理

Karim Jedda さんがブログで公開したWhatsappでサーバー制御(Control your server using Whatsapp)。Facebook に買収された世界一ユーザーの多いメッセンジャーアプリ(日本でいうLINEみたいなもの) Whatsapp を使って、サーバーにコマンドを送り、結果を受け取れるようにしたそうです。

常時パソコンを持ち歩いているわけではないが、サーバに不具合が起こった時は対応しないといけない、そんな時にスマートフォンから対処できるよう、いつも使っている Whatsapp からサーバーにアクセスできるようにしたんだと。

whatsappcli-hello

サーバー側に持たせたアカウントに Whatsapp で hello と呼びかけると、使える機能を返しています。

whatsappcli-exec

用意された機能だけでなく任意のコマンドも実行できるので、やろうと思えば何でもできますね。

現在のところ認証機能やその他のセキュリティ関連機能は一切無し。

コメント欄の「iPhone や Android にもSSHクライアントアプリあるよ。それ使えば?」というツッコミが全てを表していますが… たぶん「やってみたかった」んでしょうね。

このツール whatsappcli はオープンソースで公開されています。

なお、Whatsapp を bot 等で使う件については、アクセス用のライブラリを公開した人が警告を受けて取り下げたりしているようで、利用規約違反です。

Whatsapp サービスを通るメッセージの秘匿性の問題もあります。コメント欄でも出ているように、Telegram など API も公開されていて(自称ですが)よりセキュアなサービスを使った方が良さそうですけどね。

via Hacker News

カテゴリー
ネットのサービス

プール監視員になって溺れる子供を見つけるブラウザゲーム

Spotthedrowingchild.com は、「溺れる子供を指せ」という名前が示すとおり、プール監視員になったつもりで溺れている子供をいち早く発見するという体験ができるwebサイトです。

[2023 追記] 今見ると、溺れる子供の YouTube 動画が再生だけになっていて、公開当時のクイズゲーム機能は動かなくなっていますね。

ページを開くとプールの動画が再生され、どこかで子供が溺れ始めるので、それを見つけたらマウスでクリックします。

spot-the-drowing-child

溺れている子供のクリックが当たりだったら、その発見が監視員に比べて何秒間早かったか、あるいは遅かったかが表示されます。

一通り動画が再生し終わったら、子供が溺れていた場面を拡大してリプレイしてくれるので、うまく見つけられなかった時もどんな風に子供が溺れていたのかを再確認できます。

spot-the-drowing-child-game

再生が終わったら出てくる解説の後ろの「Play Again」リンクをクリックすれば、また別の動画が始まります。

開発の経緯

作者のFrancisco Saldañaさんは、2010年のブログ記事溺れている人は溺れているようには見えない(Drowning Doesn’t Look Like Drowning)をピックアップしたHacker Newsのコメントにヒントを得てこのゲームを作成されたそうです。

ゲームに使われる動画は、YouTubeからプールで実際に子供が溺れている動画を探してきて使っています。こちらのツールを使うと、見つけてきた新たな動画から、子供の溺れている場所やタイミングを設定して追加データを作成することもできます。

サイトはHTML と JavaScript のみでコンパクトに作られていて、全ソースが公開されています。今のところ動画は6本あるようですね。

「溺れている人は溺れているようには見えない」

サイトでも後から表示されますし、サービスの発想の元となった記事でも紹介していますが、テレビやドラマなどで出てくる「溺れている人」の様子と、本当に溺れている人の様子は(例外はもちろんあるにしても)大きく異なるそうです。

  • ほとんどの場合、溺れている人は声をあげて助けを求めたりはできない。息をするので精一杯
  • 溺れている人には余裕はない。体を持ち上げて息をしようと手足は勝手に動くだけ。手を振ったり、救助者や救命用具の方へ近づいたりすることはできない。
  • 溺れている状態では人は棒立ちになりバタ足もうまく効かない。そこから沈みだすまでの時間は20秒から60秒しかない。

(ソース: Coast Guard’s On Scene Magazine の Pia博士の記事から”Instinctive Drowning Response”(溺れる人の本能的な反応)。抄訳)

これはこのゲームをプレイしてみてもよくわかります。子供が溺れているのか、もぐって遊んでいるだけなのかは非常に判別がしにくい。そしていつのまにか監視員が飛び込んで助けに行くのを見て、やっと溺れている子供に気づくという按配です。

このゲームではいつかかならず誰かが溺れることはわかっているので、まだなんとか集中も維持できますが、実際に長時間プールを監視している監視員はたいへんだなあ、とつくづく感じさせられます。

僕は知りませんでしたが、「溺れる人はドラマのようには溺れない」という知識はとても大事ではないかと思います。それを実体験できるこのwebゲームを遊ぶ人が増えれば、もしかしたら将来の水難事故を減らすことがあるかもしれないですね。

via Hacker News