Safie Engineers' Blog!

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

セーフィーではなぜフレームワークにFastAPIを採用することになったのか

こんにちは、セーフィーでバックエンドのエンジニアをしております神田です。
今回は、バックエンドのAPIを開発する際に使用しているフレームワークについてお話ししていこうと思います!

  • API開発で使用しているフレームワークの紹介
    • Tornado
    • FastAPI
  • FastAPIを使用するまでの流れ
  • FastAPIの何がよくて採用したのか
    • 速い
    • ドキュメントが自動生成される
  • 実際に使ってみて感じること
    • ドキュメント自動生成が本当に助かる
    • 簡単にデータの堅牢性が保たれる
  • まとめ
続きを読む

AIモデル作成は簡単ではなかった

サーバサイドエンジニアの松木 (@tatsuma_matsuki) です。Safie解析プラットフォームやSafie APIの開発を主に担当しています。

この記事はSafie Engineers' Blog! Advent Calendar 4日目の記事です。

解析プラットフォームでは、学習済みモデルおよびランタイムをSafieクラウド上に登録することで、Safieサービスで録画したカメラの映像・画像に対して、任意の推論処理を実行し、その実行結果をイベントとして保存することができます。

まだサービス公開はされていませんが、まずは社内エンジニアで利活用の推進したいという思いから、Safie解析プラットフォームを利用したアプリケーションの開発を実践しています。

私はサーバサイドのエンジニアで、機械学習の分野には明るくないのですが、今回解析プラットフォーム上でのアプリ構築を一から自力で開発可能にするために、学習済みモデルの作成と推論処理の実装を初めてやってみました!

結果として、なかなか高い精度を出すまではまだ少し時間がかかりそうですが、その作業・開発工程をこの記事で共有したいと思います。

  • 開発するアプリケーション
  • 画像や動画の収集は簡単!
  • 学習(モデル作成)
    • データの分割
    • データの拡張
    • ベースモデルの読み込み
    • 学習の実行
  • 推論処理の実行
  • 精度の評価
  • AIモデル作成は簡単ではなかった
続きを読む

セーフィーにおけるスクラム導入ふりかえり

この記事はSafie Engineers’ Blog! Advent Calendar 2日目の記事です。

セーフィー株式会社テックリードの鈴木敦志です。 セーフィーでは開発者の積極採用を進めており、エンジニア組織の人数が2年間で約35名から約75名にまで成長しました。

開発者の人数増加に伴うチーム内のコラボレーションの問題に対応するため、アジャイル開発手法の一つであるスクラム開発をサーバー/インフラチーム内で導入し2年間ほど運用し、一定の成果を得られましたので経緯や実際の施策、結果などについて共有させていただきます。

  • スクラム導入前の課題
    • チーム内のコラボレーションが希薄
    • 業務知識の属人化
  • スクラム導入
    • チームの分割
    • プロダクトバックログ
    • スクラムイベントの実施
  • スクラム導入により解決された課題
    • チーム内コラボレーションの推進および知識移転の推進
  • 解決されていない課題
    • 機能横断型チーム
    • プロダクトオーナー
  • 今後の方針
  • さいごに
続きを読む

Safie解析プラットフォームの紹介

セーフィーCTOの森本です。

この記事はSafie Engineers' Blog! Advent Calendar 1日目の記事です

2020年2月より開始したセーフィーのテックブログですが、一時期運営が危機的な状況に陥ったこともありました。 しかし、有志からなる運営チームのガンバリにより2021年9月以降着実に更新を継続して行ってくれており、様々な会社さんからテックブログ継続の難しさを伺っている中、非常に喜ばしく感じている今日此頃となっています。

そんな中、運営チームが2022年の年末に向けてアドベントカレンダーをやろうと熱く提案してくれました。 月イチの更新すらままならなかった当初を知っているだけに、ホントに出来るのかという気持ちもありましたが、当社カルチャーでも「迷ったときはやってみる」と謳っていますのでこれはやるしか無いなと言うことでGOを掛けた次第です。

今回はそのトップバッターという事で、当社で今年初めから注力し開発している項目の一つである解析プラットフォームについて紹介致します。

  • セーフィーとは
  • セーフィー解析プラットフォームについて
  • 解析プラットフォームの今後
  • 最後に
続きを読む

セーフィー株式会社のアドベントカレンダーを実施します!

こんにちは、セーフィー株式会社でサーバサイドのエンジニアをしている河津です。同時に、このSafie Engineers' Blog!の運営も行っています。

この度セーフィー株式会社初のアドベントカレンダーを実施しようと思っており、告知も兼ねた記事を投稿させていただきます!

  • 基本情報
  • アドベントカレンダーとは?
  • 想定参加者は?
  • 掲載媒体は?
  • 執筆テーマは?
  • 最後に
続きを読む

PyCon JP 2022に参加しました!

こんにちは!セーフィーでサーバーサイドエンジニアをしている神田です。
今回は2022/10/14、10/15に行われたPyCon JP 2022に参加した時のお話をしようと思います!

以下のアジェンダに沿って進めていきます!

  • PyConはどのようなイベントか
  • 参加企業の特徴
  • どんな人がイベントに参加していたか
  • ブース運営の様子と感想
  • セッションに参加してみた感想
  • まとめ
続きを読む

FastAPI StreamingResponse の使い方

サーバサイドエンジニアの松木 (@tatsuma_matsuki) です。 Safieでは、FastAPIを利用していくつかのサービスを開発しています。Safieのサービスの性質上、APIサーバで画像ファイルなどのオブジェクトを扱うことが多いです。

大きいサイズのオブジェクトをクライアントにダウンロードさせるAPIなどでは、FastAPIの StreamingResponse を使うのが便利ですが、このStreamingResponseの使い方を扱った良いリファレンスがネット上であまり見つからなかったので、この記事で実際にコードなどを示しながら実装例を共有していきたいと思います!

  • StreamingResponse
  • S3からオブジェクトをダウンロードして返す
  • 同期・非同期イテレータでのダウンロード時間比較
  • 他サービスAPIからオブジェクトをダウンロードして返す
    • 単体テストの実装
  • まとめ
続きを読む

Angularのバージョンアップをしました

こんにちは、フロントエンドエンジニアの沖です。 セーフィーには2022年1月にジョインし映像閲覧WebアプリであるSafie Viewer(以下Viewer)の開発を担当しています。

今回は、Viewerで利用しているフレームワークであるAngularのバージョンアップを9月末のリリース時に行ったのでその話をしたいと思います。

  • Viewerについて
  • Viewerのアップデートサイクル
  • 今回のアップデートによる変更点
    • Standalone Components
    • Typed Forms
    • 地味な変更点
  • アップデート作業について
  • 今後試してみたい新機能
    • Standalone Components
    • runInContext(Angular 14.1系)
  • まとめ
続きを読む

エッジAIカメラ「SafieOne」の画像認識

はじめに

セーフィーで画像認識エンジニアをしている橋本です。本記事では、先日発売されたエッジAIカメラSafieOneで利用可能なサービス「Store People Detection Pack」で開発した画像認識システムとアルゴリズムについて紹介したいと思います。

  • はじめに
  • システムの概要
  • 物体検出
    • 学習時の工夫
    • 量子化の工夫
  • トラッキング
  • イベント発行と送信
  • まとめ
  • 参考URL
続きを読む

© Safie Inc.