精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

YOLOv8 圖像分類及 .tflite 部署

開發 機器視覺
YOLO開發者將目標檢測問題構建為回歸問題,而不是分類任務,通過空間上分離邊界框,并使用單個卷積神經網絡(CNN)將概率與每個檢測到的圖像相關聯。

目標檢測是計算機視覺中用于識別和定位圖像或視頻中對象的一種技術。圖像定位是使用邊界框來識別一個或多個對象的正確位置的過程,這些邊界框對應于對象周圍的矩形形狀。這個過程有時會與圖像分類或圖像識別混淆,后者的目標是將圖像或圖像中的對象預測為一個類別或類別之一。

YOLO開發者將目標檢測問題構建為回歸問題,而不是分類任務,通過空間上分離邊界框,并使用單個卷積神經網絡(CNN)將概率與每個檢測到的圖像相關聯,如這里所示。

將圖像分割成小單元,并將概率與每個檢測到的圖像關聯

YOLO在競爭中領先的原因包括其:

  • 速度
  • 檢測精度
  • 良好的泛化能力
  • 開源

將YOLO模型部署到Flutter應用程序中,通過手機相機識別對象:

1. 創建新項目并設置您的環境:

在android/app/build.gradle中,在android塊中添加以下設置。

android{


        aaptOptions {
            noCompress 'tflite'
            noCompress 'lite'
        }
    }

在同一路徑的android/app/build.gradle中,調整“minSdkVersion”,“targetSdkVersion”和“compileSdkVersion”在android塊如下所示:

android/app/build.gradle --> android塊

在android/build.gradle中,調整“ext.kotlin_version”構建腳本塊為此:

buildscript {
    ext.kotlin_version = '1.7.10'
    repositories {
        google()
        mavenCentral()
    }
}

2. 將您的Yolov8模型添加到項目環境中:

模型必須以“.tflite”的形式導出,以便于在邊緣設備上部署,如手機。如果您想用Python訓練自定義的Yolov模型并將其導出為.tflite而不是.pt,您必須遵循這里的說明。我將在這里插入一個用于測試的預訓練好的Yolov8目標檢測模型。在您的Flutter項目中:

(1) 創建一個assets文件夾,并將標簽文件和模型文件放在其中。在pubspec.yaml中添加:

assets:
   - assets/labels.txt
   - assets/yolov8n.tflite

(2) 導入所需的包flutter_vision / camera:

import 'package:flutter_vision/flutter_vision.dart';
import 'package:camera/camera.dart';

3. 開始編程:

(1) 在您的項目中初始化相機如下:

late List<CameraDescription> camerass;

(2) 創建“YoloVideo”類:

class YoloVideo extends StatefulWidget {
  const YoloVideo({Key? key}) : super(key: key);




  @override
  State<YoloVideo> createState() => _YoloVideoState();
}




class _YoloVideoState extends State<YoloVideo> {
}

(3) 在“YoloVideo”類中,聲明所需的變量:

late CameraController controller;
  late FlutterVision vision;
  late List<Map<String, dynamic>> yoloResults;
  
  CameraImage? cameraImage;
  bool isLoaded = false;
  bool isDetecting = false;
  double confidenceThreshold = 0.5;

(4) 初始化模型和相機:

@override
  void initState() {
    super.initState();
    init();
  }
  init() async {
    camerass = await availableCameras();
    vision = FlutterVision();
    controller = CameraController(camerass[0], ResolutionPreset.high);
    controller.initialize().then((value) {
      loadYoloModel().then((value) {
        setState(() {
          isLoaded = true;
          isDetecting = false;
          yoloResults = [];
        });
      });
    });
  }
  @override
  void dispose() async {
    super.dispose();
    controller.dispose();
    await vision.closeYoloModel();
  }

(5) 簡單的UI和確定視頻流大小

@override
  Widget build(BuildContext context) {
    final Size size = MediaQuery.of(context).size;




    if (!isLoaded) {
      return const Scaffold(
        body: Center(
          child: Text("Model not loaded, waiting for it"),
        ),
      );
    }
    return Scaffold(
      body: Stack(
        fit: StackFit.expand,
        children: [
          AspectRatio(
            aspectRatio: controller.value.aspectRatio,
            child: CameraPreview(
              controller,
            ),
          ),
          ...displayBoxesAroundRecognizedObjects(size),
          Positioned(
            bottom: 75,
            width: MediaQuery.of(context).size.width,
            child: Container(
              height: 80,
              width: 80,
              decoration: BoxDecoration(
                shape: BoxShape.circle,
                border: Border.all(
                    width: 5, color: Colors.white, style: BorderStyle.solid),
              ),
              child: isDetecting
                  ? IconButton(
                      onPressed: () async {
                        stopDetection();
                      },
                      icon: const Icon(
                        Icons.stop,
                        color: Colors.red,
),
                      iconSize: 50,
                    )
                  : IconButton(
                      onPressed: () async {
                        await startDetection();
                      },
                      icon: const Icon(
                        Icons.play_arrow,
                        color: Colors.white,
),
                      iconSize: 50,
                    ),
            ),
          ),
        ],
      ),
    );
  }

(6) 加載模型

Future<void> loadYoloModel() async {
    await vision.loadYoloModel(
        labels: 'assets/CLASSES.txt',
        modelPath: 'assets/curr_float32.tflite',
        modelVersion: "yolov8",
        numThreads: 1,
        useGpu: true);
    setState(() {
      isLoaded = true;
    });
}








// 通過yoloOnFrame進行實時目標檢測函數
  Future<void> yoloOnFrame(CameraImage cameraImage) async {
    final result = await vision.yoloOnFrame(
        bytesList: cameraImage.planes.map((plane) => plane.bytes).toList(),
        imageHeight: cameraImage.height,
        imageWidth: cameraImage.width,
        iouThreshold: 0.4,
        confThreshold: 0.4,
        classThreshold: 0.5);
    if (result.isNotEmpty) {
      setState(() {
        yoloResults = result;
      });
    }
  }

(7) 啟動視頻流和開始或停止檢測的函數

Future<void> startDetection() async {
    setState(() {
      isDetecting = true;
    });
    if (controller.value.isStreamingImages) {
      return;
    }
    await controller.startImageStream((image) async {
      if (isDetecting) {
        cameraImage = image;
        yoloOnFrame(image);
      }
    });
  }
  Future<void> stopDetection() async {
    setState(() {
      isDetecting = false;
      yoloResults.clear();
    });
  }

(8) 檢測到的對象周圍的邊界框

List<Widget> displayBoxesAroundRecognizedObjects(Size screen) {
    if (yoloResults.isEmpty) return [];
    double factorX = screen.width / (cameraImage?.height ?? 1);
    double factorY = screen.height / (cameraImage?.width ?? 1);




    Color colorPick = const Color.fromARGB(255, 50, 233, 30);




    return yoloResults.map((result) {
      double objectX = result["box"][0] * factorX;
      double objectY = result["box"][1] * factorY;
      double objectWidth = (result["box"][2] - result["box"][0]) * factorX;
      double objectHeight = (result["box"][3] - result["box"][1]) * factorY;
      
      speak() {
        String currentResult = result['tag'].toString();
        DateTime currentTime = DateTime.now();




        if (currentResult != previousResult ||
            currentTime.difference(previousSpeechTime) >= repeatDuration) {
          tts.flutterSpeak(currentResult);
          previousResult = currentResult;
          previousSpeechTime = currentTime;
        }
      }
      speak();




      return Positioned(
        left: objectX,
        top: objectY,
        width: objectWidth,
        height: objectHeight,
        child: Container(
          decoration: BoxDecoration(
            borderRadius: const BorderRadius.all(Radius.circular(10.0)),
            border: Border.all(color: Colors.pink, width: 2.0),
          ),
          child: Text(
            "${result['tag']} ${((result['box'][4] * 100).toStringAsFixed(0))}",
            style: TextStyle(
              background: Paint()..color = colorPick,
              color: const Color.fromARGB(255, 115, 0, 255),
              fontSize: 18.0,
            ),
          ),
        ),
      );
    }).toList();
  }
}

最后,您可以在Main.dart中將YoloVideo類作為函數調用,以在啟動應用程序時啟動視頻流和實時目標檢測,如下所示:

main() async {
  WidgetsFlutterBinding.ensureInitialized();




  runApp(
    const MaterialApp(
      home: YoloVideo(),
    ),
  );
}

我的Yolov8 Flutter應用程序的截圖

責任編輯:趙寧寧 來源: 小白玩轉Python
相關推薦

2024-01-29 09:29:02

計算機視覺模型

2024-05-15 09:16:05

2023-12-11 10:18:38

YOLOv8檢測器實戰

2024-07-22 13:49:38

YOLOv8目標檢測開發

2024-11-28 10:04:14

2024-11-18 17:31:27

2024-07-11 08:25:34

2024-10-25 08:30:57

計算機視覺神經網絡YOLOv8模型

2025-02-07 14:52:11

2024-10-16 16:49:44

定向邊界框目標檢測YOLOv8

2024-08-27 12:40:59

2025-01-24 07:37:19

計算機視覺熱力圖YOLOv8

2024-10-10 17:05:00

2024-09-09 16:35:10

YOLO模型

2025-01-21 11:41:14

2023-02-02 09:00:00

2024-07-01 12:55:50

2023-01-12 12:20:29

YOLOv8模型

2023-11-15 17:48:04

Yolo V8人工智能

2024-09-20 10:02:13

點贊
收藏

51CTO技術棧公眾號

日韩中文理论片| 日韩欧美有码在线| 国产精品区一区| 91美女免费看| 国产精品99在线观看| 欧美变态tickle挠乳网站| 日韩avxxx| 久久黄色美女电影| 91丨porny丨最新| 成人av在线天堂| 久久久精品免费看| 午夜精品一区二区三区国产| 亚洲精品suv精品一区二区| 日av中文字幕| 国产三级伦理在线| 国产精品国产自产拍高清av王其| 成人在线视频电影| 特级西西444www大胆免费看| 亚洲久色影视| 久久夜色精品国产亚洲aⅴ| 中文字幕在线观看网址| 国产成人久久精品一区二区三区| 欧美午夜无遮挡| av日韩在线看| 麻豆网站视频在线观看| 久久婷婷国产综合国色天香| 痴汉一区二区三区| 国产又粗又猛又爽又黄的视频一| 亚洲欧洲一级| 欧美另类99xxxxx| 香蕉久久久久久久| 国产乱码精品一区二区亚洲| 亚洲国产婷婷香蕉久久久久久| 手机在线看福利| 毛片无码国产| 欧美性jizz18性欧美| 一区二区在线中文字幕电影视频 | 日韩av网站大全| 人人爽人人爽av| 成人国产精品一区二区免费麻豆| 日韩欧美aaa| 日韩人妻无码精品久久久不卡| 成人三级网址| 国产精品久久久久一区二区三区共| 蜜桃91精品入口| 色吊丝在线永久观看最新版本| 国产a区久久久| 97久久精品午夜一区二区| 国产精品久久久久久久久毛片| 免费成人在线观看| 国产精品久久久久久久久| 无码一区二区三区| 久久久精品网| 日韩免费黄色av| dy888夜精品国产专区| 99爱视频在线| 激情黄产视频在线免费观看| 亚洲亚洲人成综合网络| www.好吊操| 韩国成人免费视频| 午夜a成v人精品| 亚洲国产精品久久久久婷蜜芽| 欧美gv在线观看| 都市激情亚洲色图| 日本老熟妇毛茸茸| 99精品在免费线偷拍| 欧美日韩国产小视频在线观看| 羞羞的视频在线| 精品亚洲a∨一区二区三区18| 日韩欧美中文一区| 亚洲婷婷在线观看| 伊人久久大香线蕉av不卡| 亚洲欧美国产日韩天堂区| 非洲一级黄色片| 成人影院在线| 久久精品国亚洲| 国产精彩视频在线| 亚洲永久视频| 国产精品自拍小视频| 国产特级aaaaaa大片| 播五月开心婷婷综合| 欧美国产二区| 国产区在线看| 精品久久久视频| 69久久久久久| 99re91这里只有精品| 亚洲精品一区二三区不卡| 夫妇露脸对白88av| 欧美在线高清| 青青久久aⅴ北条麻妃| 一本一道人人妻人人妻αv| 国产福利91精品| 久久国产主播精品| 91精品国产综合久久久久久豆腐| 亚洲色图视频网| 成人免费aaa| h1515四虎成人| 日韩色在线观看| 精品人妻人人做人人爽夜夜爽| 国产精品久久久久久久久久白浆| 亚洲天堂av高清| 欧美成人手机视频| 日韩成人午夜电影| 国产伦视频一区二区三区| yjizz视频网站在线播放| 亚洲一二三四在线观看| 999精品视频在线| 美女视频免费精品| 久久综合久中文字幕青草| 国产美女激情视频| 国产传媒欧美日韩成人| 天天好比中文综合网| av资源中文在线| 欧美精品v国产精品v日韩精品 | 国产模特av私拍大尺度 | 免费亚洲一区二区| 18在线观看的| 欧美日韩日日骚| 一道本在线观看| 亚洲狠狠婷婷| 99久久一区三区四区免费| 成人精品福利| 色呦呦日韩精品| aaaa黄色片| 好吊日精品视频| 亚洲bt欧美bt日本bt| 最新国产在线观看| 色哟哟国产精品免费观看| 国产婷婷在线观看| 欧美日韩网址| 91在线精品播放| 五月婷婷在线观看| 欧美亚洲高清一区| 一级特黄曰皮片视频| 免费日韩av片| 欧美 日韩 国产在线| 欧美调教sm| 亚洲韩国欧洲国产日产av| 欧美毛片在线观看| 国产精品99久久久久久有的能看 | 成人综合av网| 午夜dj在线观看高清视频完整版| 欧美电影影音先锋| 麻豆天美蜜桃91| 国产另类ts人妖一区二区| 伊人久久大香线蕉综合75| 精品176极品一区| 日韩中文字幕免费视频| 亚洲在线视频播放| 成人欧美一区二区三区| 玖玖爱视频在线| 久久精品青草| 亚洲专区中文字幕| 黄色大片在线| 亚洲成人久久久| 久久一区二区三区视频| www亚洲一区| 久久久精品三级| 五月精品视频| 成人欧美一区二区三区在线湿哒哒| 欧美videos极品另类| 911精品产国品一二三产区| 91日韩中文字幕| 成人免费视频国产在线观看| www国产精品内射老熟女| 中文字幕精品影院| 国产日产亚洲精品| 香蕉成人app免费看片| 亚洲国产精品99| 国产女主播喷水视频在线观看| 久久久久88色偷偷免费| 超碰在线播放91| 欧美午夜在线| 久久久久欧美| 欧美成人aaa| 欧美激情女人20p| 色视频免费在线观看| 欧美日韩精品一二三区| 青草草在线视频| 97久久精品人人澡人人爽| 美女网站免费观看视频| 亚洲九九视频| 久久av一区二区三区漫画| 成人交换视频| 性欧美办公室18xxxxhd| 成年人在线观看网站| 欧美一区二区三区视频| 国产成人无码精品久在线观看 | 亚洲电影在线看| 高潮无码精品色欲av午夜福利| 亚洲色图20p| 双性尿奴穿贞c带憋尿| 麻豆精品在线视频| 国产日本在线播放| 清纯唯美日韩| 精品一区二区视频| 日韩成人综合网| 欧美亚洲另类在线| 成人在线观看亚洲| 国产亚洲精品91在线| 高h调教冰块play男男双性文| 色偷偷一区二区三区| 日韩女优一区二区| 国产欧美日韩亚州综合 | 狠狠色狠狠色综合婷婷tag| 91网免费观看| yiren22亚洲综合| 7m第一福利500精品视频| av片哪里在线观看| 中文在线不卡视频| 天堂视频中文在线| 精品国产人成亚洲区| 亚洲图片小说视频| 欧美午夜电影在线| 日韩毛片在线视频| 亚洲精品视频自拍| 国产精品久久久视频| 2021中文字幕一区亚洲| 在线中文字日产幕| 国产在线观看免费一区| 亚洲xxxx2d动漫1| 亚洲永久在线| 国产视频一视频二| 亚洲国产激情| 加勒比成人在线| 欧美日韩ab| 好色先生视频污| 91麻豆国产自产在线观看亚洲| 欧美在线3区| 妖精视频一区二区三区| 国产一区精品视频| 国产精品videossex| 91九色极品视频| 国产日韩欧美中文在线| 91精品久久久久久久久中文字幕| 99久久伊人| 国产精品青草久久久久福利99| 国产精品一区二区av影院萌芽| 97国产一区二区精品久久呦| 91超碰在线免费| 韩国v欧美v日本v亚洲| 99在线视频影院| 久久青草福利网站| 成年人黄色大片在线| 午夜精品久久久久久久久久久久久| 呦呦在线视频| 久久久久久69| 2001个疯子在线观看| 91精品国产乱码久久久久久久久 | 欧美日韩精品欧美日韩精品| 中文字幕一区二区在线视频| 欧美日韩在线三级| 91超薄丝袜肉丝一区二区| 欧美日韩高清一区二区| 国产特级黄色片| 欧美不卡一二三| 婷婷国产在线| 一本色道久久综合狠狠躁篇的优点| 99免在线观看免费视频高清| 精品国产一区二区三区久久狼5月| 日本在线免费网| 九九精品视频在线观看| 福利写真视频网站在线| 91av在线播放| 五月激情久久| 亚洲va国产va天堂va久久| 999精品视频在这里| 久久久com| 色综合天天综合网中文字幕| 欧美a级黄色大片| 欧美久久成人| 国产高清精品在线观看| 麻豆免费精品视频| 美国黄色一级视频| 久久久久国产精品麻豆| 午夜成人亚洲理伦片在线观看| 亚洲精选在线视频| 特一级黄色大片| 欧美视频一区二区三区在线观看| 国产精品伦一区二区三区| 精品日本一线二线三线不卡| 免费黄色在线视频网站| 久久色精品视频| 黄在线观看免费网站ktv| 国产免费一区二区三区在线观看| 香蕉免费一区二区三区在线观看| 美女一区视频| 欧美日韩国内| 黄色片在线免费| 成人午夜激情片| 亚洲av熟女国产一区二区性色| 亚洲精品乱码久久久久久久久 | 国产精品粉嫩| 99久久自偷自偷国产精品不卡| 亚洲免费毛片| 欧美一级爱爱视频| 久久综合九色| 激情综合激情五月| 中文字幕在线观看一区| 影音先锋亚洲天堂| 日韩午夜在线观看视频| 国产69精品久久app免费版| 久久久影视精品| 青草综合视频| 欧洲亚洲一区| 亚洲清纯自拍| 宇都宫紫苑在线播放| 国产亚洲精品超碰| 日本三级2019| 日韩一区二区电影| 一广人看www在线观看免费视频| 97超碰国产精品女人人人爽| 久久av偷拍| 亚洲一二三区在线| 老鸭窝91久久精品色噜噜导演| wwwxxxx在线观看| 中文字幕日韩一区| 国产一级片免费视频| 亚洲国产高清高潮精品美女| 成人福利网站| 国产人妖伪娘一区91| 激情婷婷综合| 久久精品免费一区二区| 波多野结衣中文字幕一区 | 欧美性xxxx在线播放| 亚洲精品综合网| 欧美激情中文字幕在线| 一区二区三区四区视频免费观看| 一区不卡字幕| 美女视频第一区二区三区免费观看网站| aaaaa一级片| 好吊成人免视频| 天堂а在线中文在线无限看推荐| 久久久久久久久久婷婷| 综合激情五月婷婷| 欧美性猛交内射兽交老熟妇| 国模大尺度一区二区三区| 秋霞欧美一区二区三区视频免费| 在线日韩国产精品| 国产黄色片在线播放| 国产精品久久久久高潮| 精品日韩免费| 香蕉视频禁止18| 国产精品久久久久精k8| 在线观看一二三区| 色七七影院综合| 日韩美女在线| 欧美性受xxxx黑人猛交88| 国产尤物一区二区在线| 日韩视频中文字幕在线观看| 6080国产精品一区二区| 超碰在线免费播放| 99久久精品免费看国产一区二区三区| 亚洲欧美综合久久久| 欧美午夜精品一区二区| 亚洲成人在线观看视频| 日本免费不卡| 国产精品99久久久久久人| 色琪琪久久se色| 一个人看的视频www| 夜夜精品视频一区二区| 四虎精品一区二区三区| 国产aⅴ夜夜欢一区二区三区| 成人嫩草影院| 日本r级电影在线观看| 亚洲午夜在线电影| 四虎精品成人影院观看地址| 国产精品久久久久久中文字| 91青青国产在线观看精品| 中文字幕在线播放一区二区| 天天色综合天天| jyzzz在线观看视频| 91亚洲精品一区| 日韩亚洲精品在线| 中文字幕伦理片| 日韩欧美激情四射| 卡通欧美亚洲| 六月婷婷激情网| 99精品久久久久久| 亚洲专区第一页| 国模精品视频一区二区三区| 国产中文精品久高清在线不| 亚洲黄色片免费看| 精品美女永久免费视频| yiren22综合网成人| 91手机在线观看| 视频一区二区中文字幕| 国产盗摄一区二区三区在线| 日韩www在线| 精品视频在线观看免费观看| 99999精品视频| 亚洲欧美日韩久久| 蜜桃免费在线| 91手机在线观看| 理论片日本一区| 欧美日韩综合在线观看| 久久艳片www.17c.com| 国产亚洲电影| 丰满岳乱妇一区二区| 欧美精品色综合|