プログラミング」カテゴリーアーカイブ

Mobile beast

ディープラーニングを使って動物を認識するandroidアプリ

実用的なものではなく、遊びというか実験的なものとして作ってみた。

将来的にはポケモン図鑑みたいなのが作れれば面白そうと思ったけど課題はなかなか多そう。

作ったのは動物をスマホのカメラで撮るとそれをけものフレンズのラッキーさんが解説してくれるアプリ。

データとして入れているのは上野動物園の動物で、ある程度大型のもの。

学習段階ではそこそこの精度で認識できてたから期待して上野動物園で実証実験やってみたけど全然ダメだった。

当たり前といえば当たり前だけど、動物園って檻とかあるしスマホで綺麗に撮影できる動物って案外少ない。

そういう撮りにくさも含めて学習データに入れればそれなりに実用的なものもできるのかも。

スマホでもTensorFlowが実用的に動くとわかってよかったけどリリースまで行きたかったかも。

SF Keeper

Suicaから家計簿サービスのZaimに登録するandroidアプリ。

始めて設計からちゃんと考えて作った。

結局最後の方は場当たり的になってしまったけど。

同じようなアプリはあったけど動いてなかったので自分で作った。

一度登録した店舗は次回スキャン時に自動入力できる機能を付けた。

ついてに店舗名情報をサーバー経由で共有できる機能も付いている(APIはこのサーバーで稼働)で他の人が入力してたら初めて行った店舗でも店舗名が表示されるようになっている。

まぁユーザー数少ないからあんまりデータ集まってないんだけど。

 

Twitgallery

Twitterのツイートに含まれる画像やお気に入りしたツイートをギャラリー表示するWEBアプリ。

この記事のサーバーと同じサーバーで動いている。

というかもともとWEBアプリ作る用のサーバーでこのブログが動いている。

http://vayacico.com/twitgallery/

WEBアプリ作ろうと思い始めてから3回くらい頓挫した結果できたのがこれ。

Twitterで特定ユーザーの呟いた画像やお気に入りしたツイートの画像を取得してきてギャラリー表示する。

内容はシンプルだがUIを作りこんだのがこのWEBアプリの工夫した点。

ボツアイデアのソースコードを流用しているのでPHPで動いているが内部でシェルとMySQL経由でPythonと連携しているという訳の分からない仕様になっている。

非同期処理をしたかったので内部で使うのは何でもよかったというのもあるが。

もっとうまい書き方はあった気がする。

バスロケ!

始めて一般公開したandroidアプリ。

大学周辺のバスが不便すぎで作った完全に自分用感のあるアプリ。

大学周辺のバスはバスロケーションシステムが搭載されていて、バス停への当着時間が分かる仕組みがあったのだが、純粋に使いにくいのと、バス会社が複数ある共同運行区間のせいで1画面で表示できないイラつきから作った。

前回のアプリ作るときに見つけたFiddlerを使って構造を調べてアプリ内部ではスクレイピングで情報を取ってきている非常にお行儀の悪いアプリ。

かなり初歩的な方法でスクレイピングしているのでHTML構造が少しでも変わるとエラーになる。

というかすでに何社かエラーになってる。

レビューが荒れ気味だし直したいけど元のソース紛失したから直すなら1からになりそう。

何となくだけど、この手のものは今度からWEBでPWA使って作った方がいい気がする。

 

Call for Android

私がandroidアプリ開発を始めるきっかけとなったアプリ。

今考えると実装とか仕組みとかかなり無茶してる。

学内Eラーニングシステムをスマホから使えるようにするアプリなのだが、スマホから直接アクセスするのは技能的にも倫理的にも微妙(認証とかあるし)だったのでPCでEラーニングシステムにアクセスするときにデータを自動でコピーして、それをandroid側で読み込む形になっている。

PC上のクライアントはこんな感じ。

C#で書いてあり内部で当時流行ってたFidder coreを使っている。

これで保存してアプリで読み取るとこんな感じとなる。

我ながらなかなかよくやったと思ったけど、仲間内であんまり流行らなかったのがちょっと残念感ある。