世界を動かす技術を、日本語で。

Show HN: Clearcam – IP CCTVカメラにAI物体検出機能を追加

概要

Clearcam は、RTSPカメラや古いiPhoneを AIセキュリティカメラ へ変換するソリューション。 YOLOv8bytetrack による高精度な物体検出と追跡を実現。 ローカル処理・暗号化 によるプライバシー保護。 iOSアプリ との連携でリモート視聴・通知が可能。 HomebrewPython から簡単導入。

Clearcam: RTSPカメラや古いiPhoneをAIセキュリティカメラに変身

  • RTSP対応カメラ古いiPhone を活用したAIカメラ化
  • YOLOv8 + bytetrack によるリアルタイムな物体検出・追跡
  • Tinygrad 利用でApple Siliconなど多様なハードウェアで動作
  • 全データ暗号化、ローカルでの映像処理による高いプライバシー性
  • 通知・イベントクリップ送信 はオプション設定
  • iOSアプリ 経由でリモート監視・通知受信が可能

インストール方法(Homebrew経由)

  • Homebrewで NVR + 推論機能 を簡単インストール
    • brew tap roryclear/tap
    • brew install clearcam
    • clearcamコマンドで起動
  • Clearcam PremiumユーザーID (iOSアプリで確認可)を入力で通知・ストリーム受信
  • ブラウザで localhost:8080 アクセスで管理画面利用

インストール方法(Pythonソースから)

  • ソースから NVR + 推論機能 を実行
    • pip install -r requirements.txt
    • python3 clearcam.py
  • BEAM=2 指定でパフォーマンス向上(初回起動時は待機時間あり)
  • --yolo_size={s, m, l, x}でYOLOv8バリアント選択
  • 主要依存パッケージ: ffmpeg, tinygrad, numpy, cv2, scipy, lap

iOS版のインストール

  • git clone https://github.com/roryclear/clearcam.git
  • ios/clearcam.xcodeproj をXcodeで開く
  • iOS 15以上iPhone SE(第1世代)以降 対応
  • 追加依存パッケージなし

Clearcam Premiumのサインアップ方法

  • ライブカメラ映像のリモート視聴 機能
  • 物体・人物検出時の通知 受信
  • イベントクリップのリモート閲覧
  • エンドツーエンド暗号化 によるセキュリティ

iOSでのサインアップ手順

  • App Storeから Clearcam をインストール
  • アプリ起動後 設定 を開く
  • 「Upgrade to Premium」 をタップ
  • App Storeの決済でアップグレード
  • 設定画面で User ID を確認(Android等他端末でも利用可)

Androidでのサインアップ

  • Androidでの新規サインアップは未対応
  • iOSで取得した User ID をAndroidで利用可能

技術的補足

  • YOLOv8 + bytetrack による高精度検出・追跡
  • Tinygrad 利用でApple Silicon Mac等幅広い環境に対応
  • 全映像データはローカルで処理・暗号化、外部送信は任意設定
  • 通知・映像送信 はiOSアプリ連携時のみ

参考動画デモ

Hackerたちの意見

アプリはAppleのサイトから無料でダウンロードできて、無料で使えるし、オープンソースなんだよね。でも、アプリ内課金があって、特定の機能はお金を払わないと使えないってことで合ってる?有料機能って何があって、料金はどれくらいなの?有料機能と料金のリストを見るためには、アプリをインストールしないとダメなの?もっと詳しい情報を最初に教えてくれたら、HNでの反応が良くなるかも。

有料機能は、インターネット経由でのライブやイベントクリップの視聴、iOS通知の受信だよ。でも、そういう場合は私のサーバーを使うためにお金を払ってるだけで、クローズドソースの機能に対して払ってるわけじゃない。自分のサーバーを使いたいなら、コードを編集することもできるよ。HNは初めてで、有料のものを宣伝するのはルール違反だと思ったから、言わなかったんだ。

スパイウェアが入ってなくて、できればオープンソースのカメラをおすすめできる人いる?自分でちょっとハンダ付けとかする覚悟はあるけど、まだその道には入ってないんだよね。

Ubiquityの機器はどう?あなたが望むほどオープンではないかもしれないけど、スパイウェアも必要なクラウドサービスもないのは、私にとっては大きなポイントだよ。

「良質」の定義によっては、このプロジェクトが役立つかもしれないよ:https://thingino.com/ リストにあるカメラはほとんどが低価格で、通常は4-5MPのセンサーを搭載してる。画質の高いものとは競争できないけど、オープンソースのファームウェアスタックがあって、SSHでルートアクセスもできるよ。Eufy、Cinnado、Jooan、TP-Link、WUUK、Galayouのモデルは、AmazonやAliexpressで比較的簡単に手に入るよ。

オープンソースではないけど、使われているAxisカメラは結構安くて、rtspとonvifのサポートがあるよ。ほとんどが商業用インストールから来ていて、ウェブインターフェースを使ってオフラインで設定できるんだ。

経験上、どんなIPカメラも安全じゃないって思って、ファイアウォールで遮断するのが一番だね。オープンソースのカメラスタックでも、直接インターネットに接続するのはあんまり良いプラクティスじゃないよ。インターネットにアクセスできないVLANに置いておけば、安いIPカメラをいくらでも買えるしね。リモートアクセスが必要なら、カメラじゃなくてカメラ管理ソフトやNVRを安全に公開すべきだよ。今、うちでFrigateをこうやって運用してるけど、NVRだけが「インターネットのない」VLANのカメラIPにアクセスできる状態だよ。

reolinkは許容範囲だね。

良いものにはオープンソースのソフトウェアスタックはないよ。Axis、Bosch、Hanwhaみたいなブランドは、カメラ上で動くサードパーティアプリをサポートしてて、AIアプリケーションも含めていろんなタスクをこなせるんだ。良質な製品は主に商業市場向けで、そこではオープンソフトウェアを求めてる人はいないね。

READMEを正しく読んでるかな?Androidでアプリを使うためにサインアップするには、iOSデバイスを使ってインストールしてサインアップし、その後に作成した認証情報でAndroidにログインしないといけないってこと?

ごめん、ちょっと混乱させちゃったね。支払いシステムが整うまで、変更するか削除しないと。未完成だけど機能するAPKとAndroidプロジェクトはリポジトリにあるけど、まだGoogle Playストアにはないんだ。新しい個人開発者の承認プロセスは長いからね。

BoquilaHUBもこれやってるけど、Rustでね。https://github.com/boquila/boquilahub/

あと、frigateもチェックしてみて。https://github.com/blakeblackshear/frigate

ここでもHNで盛り上がってるよ。https://news.ycombinator.com/item?id=44794508

frigate大好き! 近所の人が犬が具合悪いってうちの裏庭に入ったか心配して来たんだ。frigateを開いて、裏庭のカメラで「黒い犬」を検索したら、その犬の動画が全部見つかったよ。

この「機能」に取り組もうとしてるんだけど、物体検出とアクション検出は全然違う問題みたい。使いたいケースは、車がストップサインで止まらないのを「検出」したいんだ。YouTubeやredditで調べたけど、自分でトレーニングしないとダメなモデルは見つからなかったよ、YOLOも含めて。これを実現するためのアドバイスがあれば教えてほしいな。

方法を段階的に構築してみて。まずは、車がカメラのフレームを横切るときの速度を計算してみて。それから、ストップサインの前後にそれぞれ車1台分の距離を取って、その2点間の速度を計算してみて。次に、その2点間を止まらずに走るにはどれくらいの速度が限界か、しきい値を設定してみて。車がそのしきい値を超えたときに、ビデオのスニペットで通知を受け取れるようにするんだ。撮影しているビデオに基づいてしきい値を調整してね。カメラのフレームレートでオブジェクト検出が動いていないと、うまくいかないから気をつけて。

オブジェクト検出を含む完全なNVRソリューションのために、frigateをチェックしてみてね。 https://frigate.video/

これはclearcamだね。clearamって何?readmeに何度か出てくるから、たぶんタイプミスじゃないと思うんだけど。

タイプミス、さっき直したよ(笑)、教えてくれてありがとう!