カテゴリー
ツール

機械学習で最密充填ピーナッツバナナサンドイッチづくり

バナナをはさんでピーナッツバターを塗ったサンドイッチを作る際に、いかにバナナをぎっしりと敷き詰めることができるか、というのを機械学習によって示すツール EthanRosenthal/nannernest が公開されています。

家にバナナが無かったので買ってきました。

今日は世界一のバナナ輸出国エクアドル産のものが手に入りました。

バナナと、パンの断面がわかる写真を撮ります。台所がが暗くてすいません。

nannernest コマンドにこの画像を与えると、デフォルトの動作ではパンに敷き詰めるだけのバナナが無く、隙間が多数できてしまいました。日本の食パンが大きいのかな? もっと薄くスライスするよう調整した結果がこちら

この結果が正しいかを確かめてみます。

29個の輪切りにするのは結構たいへん。なんとか切り終えたので、画像の指示する番号に従って、スライスを配置していきます。

「なんだか少し窮屈だな」と思いながらも進めていくと、16番を置こうとした際についに限界が。

日本で売っているエクアドル産のバナナの形状が、ツール作者のバナナとは異なるのかもしれません。

コマンドラインオプションで、バナナを何個の輪切りにするか(デフォルトは22個。バナナ層の厚みが変わってきます)、バナナの皮の厚さ、バナナの断面の長軸短軸の比率、など細かな設定もできます。

調整次第では、バナナの詰まったサンドイッチを作ることができるのではないでしょうか。

via Ethan Rosenthal via Geekologie

カテゴリー
ツール

NSFW Filter – 職場で見てはいけないNSFW画像をブロックするブラウザ拡張

nsfw-filter/nsfw-filterは、Tensorflow.js を使って特定の画像、職場で表示するのが不適切な画像(NSFW = Not Safe For Work)をブロックできるブラウザ拡張です。

職場で見るとまずいようなサイトを開くと、ブラウザ上の表示がこんな感じに。

同じサイトで問題のない画像が出ているページを開くと、こう。

仕組み的にはブラウザ上で動くinfinitered/nsfwjs のライブラリを使っていて、Chrome, Firefox 用にパッケージされています。

クライアント側のブラウザ上で処理され、判定される画像自体が外部に送られることはありません。自分が何を見ているかという情報は洩れないということですね。

ブロック判定の前に一瞬表示されることもあるようです。また、何がNSFWかの判定はもちろん完璧ではなく、職場ではまずそうな画像が残ることもあれば、まずくない画像が誤判定されている場合もあるだろうと思います。小さなサムネイル画像などは判定失敗していることが多いようにも感じました。

画像の表示はそんなに遅延する感じはありませんね。まあそこはPCの処理速度にもよるかもしれませんが。

職場もですが、子供の使うパソコンのブラウザに入れておくという利用法もあるかもしれませんね。

開発は「将来に渡って完全にオープンソースベース」ということで、世界中からの協力者を求めているということです。

via Towards Data Science and Hacker News

カテゴリー
ツール

text-to-handwriting 手書き風ノートを生成するツール

saurabhdaware/text-to-handwriting は、手書き風フォントを使って手書きされたかのようなノートの画像を作れるオープンソースのツールです。

ローカルでサーバを立て、日本語の手書きフォントをアップロードすれば日本語の手書き風ノートを生成することができました。

ノートを撮影したように影をつけたり、スキャナで取り込んだ風に画像を加工したり、それをまとめてPDFにもしてくれます。

ノートの形式や文字の色、フォントサイズなどいろいろなパラメータをいじれるので、うまくやればパッと見には手書きで書いたようにしか見えないレポートを作ることもできるかもしれません。

手書きの提出物を求められることの方が問題という話もありますが。