Appleが提供するコンピュータービジョンを使って画像や動画を処理するフレームワークの「Vision」と再生可能エネルギーを使い、完全にオフグリッド状態で8万3418件の光学文字認識(OCR)リクエストと48GB分の画像を処理することに成功したという猛者が現れました。
My iPhone 8 Refuses to Die: Now It’s a Solar-Powered Vision OCR Server | TerminalBytes.com
https://terminalbytes.com/iphone-8-solar-powered-vision-ocr-server/
カナダを拠点に活動するシステムソフトウェアエンジニアのヘマント・クマール氏は、画像を多用する個人プロジェクトを抱えており、1日に何百枚もの画像を処理・自動分類しているそうです。通常なら、Macなどを使ってこのOCR処理を実行します。その理由は「AppleのVisionフレームワークはmacOS上で非常にうまく機能するから」とクマール氏は説明しています。
しかし、それでは面白くないと感じたクマール氏は、使わなくなったもののバッテリー状態も良好というiPhone 8に着目。このiPhone 8を「太陽光発電で動く画像処理サーバー」として運用することはできないかと考え始めたそうです。クマール氏はポータブル電源のEcoFlow RIVER 2 Proを所持していたため、これとiPhone 8を組み合わせて「太陽光発電で動く画像処理サーバー」を構築することを計画します。
これを実現するためにクマール氏が用意したのは、以下の4つ。
1:ウェブサーバー、画像処理サーバー、Plexサーバー、その他サービスを実行するためのミニPC
2:OCRプロセッサとリアルタイムダッシュボードの両方として機能するSwiftUIアプリを実行するiPhone 8
3:太陽光発電用のEcoFlow RIVER 2 Pro
4:上記の3つをシームレスに接続するためのTailscale
ワークフローは非常にシンプル。画像処理サービスが画像をiPhone 8に送信すると、AppleのVisionフレームワークを使ってOCR処理を実行。その後、OCR処理により出力されたテキストを画像処理サービスに返信すると、iPhone 8の画面に表示されているダッシュボードに処理状況を反映します。
iOS上でサーバーを構築することについて、クマール氏は「複雑そうに聞こえますが、Appleがほとんどの面倒な作業を済ませています。課題はiOSがアプリを重要度が低いと判断して稼働させないようにしてしまうことでした」と言及。
クマール氏は今回利用したAppleのVisionフレームワークを、「AppleのVisionフレームワークは本当に素晴らしいのに驚くほど活用されていません。ChatGPTやクラウドベースのOCRサービスが話題になっている中、Appleはひっそりと、高速で正確、そして完全にデバイス上で動作するローカルOCRソリューションをリリースしています」と称賛しています。
さらに、SwiftUIでOCR処理や画像処理の進捗状況を確認できるダッシュボードを構築。クマール氏はGoogle Analytics 4を活用し、これまでの総ユーザー数や月間ユーザー数、平均セッション時間、アクティブユーザー数などが確認できるようにダッシュボードをデザインしたそうです。なお、クマール氏は自作したダッシュボードを「小さなデータセンターのダッシュボードのよう」と自画自賛しています。
OCRサーバーとして動作するiPhone 8は、アイドル時の消費電力が「0.5~1W」ほどで、稼働時の消費電力が「2~5W」と非常に効率的に動作します。一方で、複数のサービスを実行することになるミニPCは、アイドル時の消費電力が「15W」、稼働時の消費電力が「25~30W」です。
一方、EcoFlow RIVER 2 Proは夏季だと1日の発電量が「150~220W」になるそうですが、春・秋には平均「20~60W」ほどとなり、冬は運が良くても「5~20W」程となってしまう模様。そこで、クマール氏は季節に応じたアプローチを導入。夏は太陽光ですべてのデバイスを充電していますが、春・秋は太陽光発電とバッテリーによる給電を組み合わせ、冬はバッテリー充電をベースにしているそうです。
このアプローチでクマール氏はiPhone 8で動作する「太陽光発電で動く画像処理サーバー」を1年以上連続で稼働させており、iPhone 8のバッテリー状況は良好です。クマール氏はEcoFlow RIVER 2 Proのバッテリー容量が768Whあるため、「カナダの予測不能な天候でも十分な余裕をもたらしてくれました」と記しています。
クマール氏がiPhone 8で動作する「太陽光発電で動く画像処理サーバー」を構築するのにかかった費用は以下の通り。iPhone 8は使用しなくなったものを利用しているため、費用に含まれていません。
・EcoFlow RIVER 2 Pro:599カナダドル(約6万3400円)
・220Wのソーラーパネル:180カナダドル(約1万9000円)
・ケーブルおよび取り付け金具:50カナダドル(約5300円)
・追加の太陽光発電設備:230カナダドル(約2万4300円)
クマール氏は「経済的なメリットは控えめながら、確かにある」と言及。iPhone 8で動作する「太陽光発電で動く画像処理サーバー」導入前の1カ月の電力消費量は45.8kWh(8.82カナダドル:約930円)で、導入後には37.4kWh(7.21カナダドル:約760円)まで下がったことから、年間で84~120カナダドル(約8900~1万2700円)ほどの節約になると見積もっています。
クラウドOCRサービスは通常、1000リクエスト当たり1~1.5カナダドル(約110~160円)の利用料金がかかります。そのため、8万3000件以上のリクエストを処理するには83~125カナダドル(約8800~1万3200円)ほどの費用がかかると概算。加えて外部サービスを利用するとプライバシー上の懸念も生まれてくると、独自にOCRサーバーを運用することの利点を説いています。
クマール氏は「ハードウェアの信頼性は驚くほど高く、iPhone 8は1年以上連続稼働しているにもかかわらず、今もなお安定して動作しています。常に負荷がかかっているにもかかわらず、パフォーマンスに目立った低下は見られません」と言及。
加えて、「iOSのバックグラウンド処理は、適切なアプローチを見つければ予想以上にうまく機能します。重要なのは、バックグラウンドアプリの更新を適切に利用し、定期的なリクエストでHTTPサーバーをアクティブに保つことです」と語っています。
また、AppleのVisionフレームワークは時間の経過と共に進化しているそうで、以前は失敗していたOCRも、時間の経過と共に完璧に機能するようになっており、「手書きのテキストや特殊なフォントでも問題なく動作します」とクマール氏は評しました。
この記事のタイトルとURLをコピーする
ソース元はコチラ
この記事は役に立ちましたか?
もし参考になりましたら、下記のボタンで教えてください。