Safie Engineers' Blog!

Safieのエンジニアが書くブログです

屋外向けAIカメラを開発しました

こんにちは。Safieの画像認識チームでサブグループリーダーをしている柏木です。

今回は私が主担当としてAIアプリ開発に携わった、エッジAI搭載屋外向けクラウド録画カメラについて紹介します。

プレスリリースはこちらにあります。興味のある方はご覧ください。

エッジAI搭載屋外向けクラウドカメラについて

本製品は人物検出を行うAIアプリが搭載されたAIネットワークカメラで、i-PRO(アイプロ)株式会社(以下i-PRO)と共同開発したものです。i-PRO株式会社はパナソニックの技術を引き継いで2019年に設立した会社で、ネットワークカメラやセキュリティシステムの開発と販売を行っています。

今回i-PROのカメラにセーフィー独自のファームウェアおよびアプリを搭載することで、特別仕様のカメラの開発を行いました。

続きを読む

サービス障害ハンドリングにおける工夫

こんにちは。セーフィーでセキュリティマネジメント業務をしている川部です。

今回はサービス障害ハンドリングについて記載したいと思います。

サービス障害とセキュリティ?と疑問に思った方もいるかもしれません。
セキュリティの基本的な考えにあるCIAの可用性の観点から、セキュリティマネジメント業務の一環としてサービス障害発生時の取りまとめを担当しています。
主な業務はエンジニアと協力し、事象の詳細確認や影響するお客様の洗い出し、対外的な対応など多義にわたります。

今回はサービス障害ハンドリングにおける工夫という観点でお話したいと思いますのでSaaS企業で障害対応される皆さんや障害対応を任された皆さんの一助になれば幸いです。

  • セーフィーを取り巻く環境
  • スピード感をもって対応するための施策
  • サービス品質の維持管理するための施策
続きを読む

DataVaultモデリングで遭遇した課題とその解決策

​データ分析基盤グループでデータエンジニアをしている平川です。 DataVaultに関する記事の第3回目となります。 第3回の記事は、DataVaultモデリングをしている際に困った状態の対処方法についてまとめていきます

第1回: DataVaultってなに?どんな特徴があるの?

第2回: automate_dvを使ってDataVaultモデリングの中心となるテーブルを作ってみてわかったこと 

第3回: BusinessVault、発展的なSatelliteテーブルやキーがNullだった場合の対処方法についてなど ← 今回はここ 

続きを読む

タイムゾーンと、Pythonでのその扱い方の注意点

サーバーサイドエンジニアの三村です。

弊社では2024年の初めから国外へサービス展開をする準備として、一年ほど前からシステムの国際化対応を行ってきました。 この準備には、サービスの多言語対応や日本標準時以外のタイムゾーンでサービスが利用できるようにする改修などが含まれますが、サーバーチームでは特に後者に苦労しました。

そこでこの改修で得たPythonでタイムゾーンを扱う際の知見の一部を、このブログ記事にまとめます。

続きを読む

GitHub Copilot で 推論モデルの前後処理をPythonからC++に変換する

はじめに

セーフィー株式会社の AI Vision グループでテックリードを務めます橋本貴博です。

セーフィーではネットワークカメラ上で動作するエッジアプリケーションの開発にC++を利用しています。公開されている推論モデルはPythonで実装されていることが多いため、C++への移植が必要です。

この記事では、GitHub Copilot を使って 推論モデルの前後処理をPythonからC++に変換した結果を紹介したいと思います。

  • はじめに
  • アルゴリズム
  • 実験条件
  • 前処理
  • 後処理
  • むすび
続きを読む

Androidチームにおける品質改善③ 〜2023年のまとめ〜

はじめに

リリースから3年以上経過しようやくモダンな開発環境に近づけていく活動ができるようになるくらい体制が整って来ました。

今回はAndroid版Safie Viewer for Mobileが2023年に行った改善活動の振り返りの話をしたいと思います。

続きを読む

SOTAセグメンテーションモデル PP-MobileSeg をSNPEで動かす

はじめに

セーフィー株式会社の AI Vision グループでテックリードを務めます橋本貴博です。セーフィーの一部のAIネットワークカメラは、Snapdragon Neural Processing Engine(SNPE)をランタイムに使ってエッジ推論を行っています。この記事では、SOTA セグメンテーションモデル PP-MobileSeg を SNPEで動かす方法を解説したいと思います。

続きを読む

Androidチームにおける品質改善②〜アプリサイズの計測〜

Androidチームの品質改善の取り組みとして、今回はアプリサイズを計測した話をしたいと思います。

  • はじめに
  • 動作環境
  • rulerとは
  • rulerの導入方法
    • settings.gradleの編集
    • app/build.gradleの編集
  • analyzeタスクの実行
  • 継続的に計測する
    • ワークフロー
  • 最後に
続きを読む

Androidチームにおける品質改善①〜ユニットテストの導入〜

今回は直近のAndroidチームの品質改善の取り組みとして、ユニットテストを導入した件についてお話したいと思います。

  • はじめに
  • 実際にやった事
    • ユニットテストを書く
      • どこからユニットテストを書くか
      • 技術スタック
      • JUnit4 + Mockito-Kotlin + Truthを使用したテストコード
    • カバレッジ率の可視化
      • Jacocoの設定
      • Jacocoの出力
    • CIで自動でテストが実行される環境
      • 導入したアクション
      • ワークフロー
  • 最後に
続きを読む

© Safie Inc.