RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于聆思CSK6視覺AI開發(fā)套件實(shí)現(xiàn)剪子包袱錘游戲

安芯教育科技 ? 來源:安謀科技學(xué)堂 ? 2023-12-05 09:56 ? 次閱讀

本文來自極術(shù)社區(qū)聆思CSK6視覺AI開發(fā)套件試用活動(dòng)文章。作者用聆思CSK6芯片支持的手勢(shì)識(shí)別能力結(jié)合8X8點(diǎn)陣實(shí)現(xiàn)一款剪子包袱錘的游戲。

開發(fā)環(huán)境搭建

1.1 硬件環(huán)境

如下圖所示,本次產(chǎn)品有聆思的CSK6011-NanoKit視覺開發(fā)套件和8*8點(diǎn)陣組成,CSK6011-NanoKit負(fù)責(zé)手勢(shì)的識(shí)別,點(diǎn)陣負(fù)責(zé)圖形的顯示,兩者通過SPI總線連接在一起。

f9bb990c-930d-11ee-939d-92fbcf53809c.png

1.2 軟件環(huán)境

軟件開發(fā)環(huán)境搭建可以參考CSK6環(huán)境搭建,聆思很貼心的提供了完整的打包開發(fā)環(huán)境,利用lisa工具可以完成項(xiàng)目的創(chuàng)建、編譯和下載,此外廠商還基于VSCODE插件的方式提供了完整的IDE開發(fā)環(huán)境。

點(diǎn)陣的使用

2.1 硬件連接

8x8點(diǎn)陣的主控是GC7219(完全兼容MAX7219),其典型的應(yīng)用圖如下所示:

f9e36630-930d-11ee-939d-92fbcf53809c.png

芯片可以通過GPIO或者SPI來驅(qū)動(dòng),官方提供了SPI的參考demo,本次將基于其實(shí)現(xiàn)對(duì)點(diǎn)陣的控制。將GC7219(點(diǎn)陣)與CSK6011的SPI0連接,利用板載的3.3V管腳供電,相關(guān)管腳的連接示意圖如下:

f9ee05ae-930d-11ee-939d-92fbcf53809c.png

2.2 圖標(biāo)建模

由于CSK6011目前支持5種手勢(shì),分別為L(zhǎng)IKE()、OK()、STOP()、YES()、SIX(),采用相似原則,取LIKE=錘,STOP=包袱,YES=剪刀。相關(guān)示圖標(biāo)建模(共陰)如下:

fa05e462-930d-11ee-939d-92fbcf53809c.png

2.3 驅(qū)動(dòng)開發(fā)

2.3.1 建立SPI開發(fā)工程

參見SPI參考工程的實(shí)現(xiàn),搭建SPI驅(qū)動(dòng)開發(fā)工程。

2.3.2 GC7219的適配

由GC7219的手冊(cè)可知,其支持MSB模式,且最高頻率只有10M,因此spi的Config需要做如下修改。

  /* spi master 8bit, LSB first*/
  spi_cfg.operation = SPI_WORD_SET(8) | SPI_OP_MODE_MASTER | SPI_TRANSFER_LSB;
  spi_cfg.frequency = 10 * 1000000UL;

改為:

    /* spi master 8bit, MSB first*/
    spi_cfg.operation = SPI_WORD_SET(8) | SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB;
    spi_cfg.frequency = 5 * 1000000UL;

2.3.3 添加點(diǎn)陣驅(qū)動(dòng)

如圖2.2所示,GC7219支持共陰點(diǎn)陣,各圖像的數(shù)組定義如下代碼片段。

unsigned char jiandao_table[8][2] = {
    {0x01,0x24},{0x02,0x24},{0x03,0x24},{0x04,0x7E},
    {0x05,0x7E},{0x06,0x7E},{0x07,0x7E},{0x08,0x00}
};


unsigned char shitou_table[8][2] = {
    {0x01,0x00},{0x02,0x40},{0x03,0x40},{0x04,0x7C},
    {0x05,0x7C},{0x06,0x7C},{0x07,0x7C},{0x08,0x00}
};


unsigned char bu_table[8][2] = {
    {0x01,0x08},{0x02,0x1C},{0x03,0x1E},{0x04,0x1E},
    {0x05,0x5E},{0x06,0x7E},{0x07,0x7E},{0x08,0x00}
};

由zephr的API調(diào)用可知,其發(fā)送函數(shù)spi_write需要傳入一個(gè)數(shù)據(jù)鏈表,然后會(huì)按照列表逐一發(fā)送相關(guān)數(shù)據(jù),完整的代碼如下:

/*
 * SPDX-License-Identifier: Apache-2.0
 */


#include 
#include 
#include 
#include 
#include 
#include 
#include 


unsigned char work_state[2]={0x0C, 0x1}; // normal work mode
unsigned char test_state[2]={0x0F, 0x0}; // no test mode
unsigned char decode_cfg[2]={0x09, 0x0}; // no decode
unsigned char scan_range[2]={0x0B, 0x7}; // scan 0-7


unsigned char jiandao_table[8][2] = {
  {0x01,0x24},{0x02,0x24},{0x03,0x24},{0x04,0x7E},
  {0x05,0x7E},{0x06,0x7E},{0x07,0x7E},{0x08,0x00}
};


unsigned char shitou_table[8][2] = {
  {0x01,0x00},{0x02,0x40},{0x03,0x40},{0x04,0x7C},
  {0x05,0x7C},{0x06,0x7C},{0x07,0x7C},{0x08,0x00}
};


unsigned char bu_table[8][2] = {
  {0x01,0x08},{0x02,0x1C},{0x03,0x1E},{0x04,0x1E},
  {0x05,0x5E},{0x06,0x7E},{0x07,0x7E},{0x08,0x00}
};


#define TX_PACKAGE_MAX_CNT  8


void main(void)
{
  int idx=0;
  const struct device *spi;
  struct spi_config spi_cfg = {0};
  struct spi_buf_set tx_set;
  unsigned char digit[2]={0};


  printk("spi master example
");


  spi = DEVICE_DT_GET(DT_NODELABEL(spi0));
  if (!device_is_ready(spi)) {
    printk("SPI device %s is not ready
", spi->name);
    return;
  }


  /* spi master 8bit, LSB first*/
  spi_cfg.operation = SPI_WORD_SET(8) | SPI_OP_MODE_MASTER | SPI_TRANSFER_MSB;
  spi_cfg.frequency = 5 * 1000000UL;


  /* Make spi transaction package buffers */
  struct spi_buf *tx_package = k_calloc(TX_PACKAGE_MAX_CNT, sizeof(struct spi_buf));
  if (tx_package == NULL) {
    printk("tx_package calloc failed
");
    return;
  }


  /* Init 7219 */
  tx_package[0].buf = work_state;
  tx_package[0].len = 2;
  tx_package[1].buf = test_state;
  tx_package[1].len = 2;
  tx_package[2].buf = decode_cfg;
  tx_package[2].len = 2;
  tx_package[3].buf = scan_range;
  tx_package[3].len = 2;


  tx_set.buffers = tx_package;
  tx_set.count  = 4;


  printk("Init 7219 ...
");
  spi_write(spi, &spi_cfg, &tx_set);


  do {
    k_msleep(1000);
    printk("spi master sending jiandao_table data ...
");
    for (idx=0; idx<8; idx++) {
 ? ? ? ? ? ?digit[0]=jiandao_table[idx][0];
 ? ? ? ? ? ?digit[1]=jiandao_table[idx][1];
 ? ? ? ? ? ?tx_package[0].buf = digit;
 ? ? ? ? ? ?tx_package[0].len = 2;
 ? ? ? ? ? ?tx_set.buffers ? ?= tx_package;
 ? ? ? ? ? ?tx_set.count ? ? ?= 1;
 ? ? ? ? ? ?spi_write(spi, &spi_cfg, &tx_set);
 ? ? ? ?}


 ? ? ? ?k_msleep(1000);
 ? ? ? ?printk("spi master sending shitou_table data ...
");
 ? ? ? ?for (idx=0; idx<8; idx++) {
 ? ? ? ? ? ?digit[0]=shitou_table[idx][0];
 ? ? ? ? ? ?digit[1]=shitou_table[idx][1];
 ? ? ? ? ? ?tx_package[0].buf = digit;
 ? ? ? ? ? ?tx_package[0].len = 2;
 ? ? ? ? ? ?tx_set.buffers ? ?= tx_package;
 ? ? ? ? ? ?tx_set.count ? ? ?= 1;
 ? ? ? ? ? ?spi_write(spi, &spi_cfg, &tx_set);
 ? ? ? ?}


 ? ? ? ?k_msleep(1000);
 ? ? ? ?printk("spi master sending bu_table data ...
");
 ? ? ? ?for (idx=0; idx<8; idx++) {
 ? ? ? ? ? ?digit[0]=bu_table[idx][0];
 ? ? ? ? ? ?digit[1]=bu_table[idx][1];
 ? ? ? ? ? ?tx_package[0].buf = digit;
 ? ? ? ? ? ?tx_package[0].len = 2;
 ? ? ? ? ? ?tx_set.buffers ? ?= tx_package;
 ? ? ? ? ? ?tx_set.count ? ? ?= 1;
 ? ? ? ? ? ?spi_write(spi, &spi_cfg, &tx_set);
 ? ? ? ?}
 ? ?} while (1);
}

2.3.4 搭建AI工程

參考文檔AI能力-視覺的相關(guān)步驟搭建AI工程,這里主要說明一下遇到的幾個(gè)問題和注意事項(xiàng)。


1)因?yàn)榇颂幨褂玫氖?a href="http://m.hljzzgx.com/article/zt/" target="_blank">最新git工程,所以打印可能與文檔有出入,git版本和打印對(duì)應(yīng)如下:

fa1cfcce-930d-11ee-939d-92fbcf53809c.png

2)如果直接下載git工程編譯升級(jí),PC端工具無法正常使用,需要執(zhí)行如下兩條命令,參考連接一鍵拉取-sample-和-sdk-異常解決方法,然后再執(zhí)行編譯燒寫操作。

lisa zep init-app 
lisa zep update

3)基于Edge瀏覽器如果直接打開在線PC工具,點(diǎn)擊"Windows系統(tǒng)"會(huì)出現(xiàn)404錯(cuò)誤,所以建議直接下載pc工具工程到本地離線使用。

git clone https://cloud.listenai.com/zephyr/applications/csk_view_finder_spd.git

4)執(zhí)行"lisa zep flash"后如果立即執(zhí)行如下資源下載命令可能會(huì)失敗,這時(shí)候建議拔插一下DAP口或者檢查一下串口是否被占用。

fa321b5e-930d-11ee-939d-92fbcf53809c.png

經(jīng)過上述步驟以后,通過PC端工具查看效果如下:

fa465416-930d-11ee-939d-92fbcf53809c.png

2.3.5 識(shí)別和顯示

將SPI-GC7219的工程和AI手勢(shì)識(shí)別的工程融合在一起,程序流程如下:

fa6aacc6-930d-11ee-939d-92fbcf53809c.png

效果展示

效果如下,機(jī)器會(huì)根據(jù)人類的出拳來出拳,用來給做簡(jiǎn)單的演示還是挺有意思的。

總結(jié)

整體體驗(yàn)下來,感覺聆思在SOM的易用性、接口的完整性、文檔的豐富度、和支持的及時(shí)性上做的都不錯(cuò),按照文檔一步步做下來,很快就可以入門做一些簡(jiǎn)單的產(chǎn)品。美中不足的是目前聆思的AI訓(xùn)練和調(diào)參工具還沒有面向大眾開放,可能是因?yàn)榧夹g(shù)性比較強(qiáng),但因此少了一部分趣味性,在手勢(shì)AI識(shí)別的demo中也能夠感覺到光照和距離對(duì)識(shí)別的準(zhǔn)確性影響很大,但是在如此低的功耗和性能下做到這樣的程度已經(jīng)很棒了。最后祝聆思科技的產(chǎn)品越做越棒,極術(shù)社區(qū)越做越大帶給廣大開發(fā)興趣人員更多豐富的活動(dòng)。

轉(zhuǎn)自 | 安謀科技學(xué)堂

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 手勢(shì)識(shí)別
    +關(guān)注

    關(guān)注

    8

    文章

    225

    瀏覽量

    47784
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    30571

    瀏覽量

    268777
  • 開發(fā)環(huán)境
    +關(guān)注

    關(guān)注

    1

    文章

    223

    瀏覽量

    16607
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1200

    瀏覽量

    52032
  • 開發(fā)套件
    +關(guān)注

    關(guān)注

    2

    文章

    153

    瀏覽量

    24271

原文標(biāo)題:【聆思CSK6視覺AI開發(fā)套件試用】基于AI手勢(shì)識(shí)別的剪子包袱錘游戲

文章出處:【微信號(hào):Ithingedu,微信公眾號(hào):安芯教育科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    CSK6視覺語音大模型AI開發(fā)板入門資源合集(硬件資料、大模型語音/多模態(tài)交互/英語評(píng)測(cè)SDK合集)

    本帖最后由 jf_40317719 于 2024-6-18 17:39 編輯 視覺語音大模型 AI 開發(fā)套件( CSK6-MIX )是
    發(fā)表于 06-18 17:33

    智能硬件接入主流大模型做語音交互(附文心一言、豆包、kimi、智譜glm、通義千問示例)

    本帖最后由 jf_40317719 于 2024-8-21 19:17 編輯 多模態(tài)交互離不開硬件載體,近期有不少開發(fā)者在研究CSK6大模型
    發(fā)表于 08-21 19:13

    【附實(shí)操視頻】CSK6大模型開發(fā)板接入國(guó)內(nèi)主流大模型(星火大模型、文心一言、豆包、kimi、智譜glm、通義千問)

    本帖最后由 jf_40317719 于 2024-8-22 10:15 編輯 多模態(tài)交互離不開硬件載體,近期有不少開發(fā)者在研究CSK6大模型
    發(fā)表于 08-22 10:12

    學(xué)習(xí)搭建CSK6板卡的開發(fā)環(huán)境

    zep工具下載 CSK6一鍵安裝包并運(yùn)行安裝1.4、檢查開發(fā)環(huán)境lisa zep安裝完成后,檢查開發(fā)環(huán)境。執(zhí)行命令:lisa info zep二、編譯blinky例程選擇一個(gè)目錄,創(chuàng)建blinky項(xiàng)目
    發(fā)表于 11-09 16:12

    CSK6視覺AI開發(fā)套件初次體驗(yàn)

    前言前段時(shí)間申請(qǐng)了CSK6視覺AI開發(fā)套件,心想MCU算力有限不太可能搞定視覺任務(wù),經(jīng)過簡(jiǎn)單的試用發(fā)現(xiàn)效果很不錯(cuò),不得不感嘆現(xiàn)在芯片發(fā)展太快
    發(fā)表于 11-09 16:19

    基于CSK6視覺AI開發(fā)套件的人臉識(shí)別功能測(cè)試

    1、人臉識(shí)別功能測(cè)試  開發(fā)板支持人臉識(shí)別,提取人臉的邊界框、標(biāo)定點(diǎn)、頭部姿態(tài)角度等,支持68個(gè)關(guān)鍵點(diǎn)檢測(cè);頭部姿態(tài)角度圖示,支持pitch、roll、yaw三個(gè)角度?! ∵m合離線的方式,支持的人
    發(fā)表于 11-21 16:16

    如何通過簡(jiǎn)單幾步調(diào)通GPIO控制電磁繼電器的工作

    、開發(fā)板介紹我還是先來簡(jiǎn)單介紹一下我們的主角:CSK6視覺AI開發(fā)套件。它是思科技針對(duì)
    發(fā)表于 11-23 14:50

    一文詳解Ubuntu環(huán)境下AI圖像識(shí)別體驗(yàn)

    1、Ubuntu環(huán)境下AI圖像識(shí)別體驗(yàn)  CSK6思科技新一代的 AI 芯片 SoC 產(chǎn)品系列,采用多核異構(gòu)架構(gòu),集成了 ARM Star MCU,HiFi4 DSP,以及
    發(fā)表于 11-23 16:09

    CSK6視覺AI開發(fā)套件使用

    即將創(chuàng)建的項(xiàng)目,在這個(gè)目錄下執(zhí)行以下命令lisa zep create ,該命令會(huì)列出當(dāng)前 CSK6 適配的項(xiàng)目 sample ,我們可選擇任意一個(gè)作為我們的工程模板,創(chuàng)建在當(dāng)前目錄中。在命令行中進(jìn)
    發(fā)表于 12-13 16:24

    CSK6視覺AI開發(fā)套件點(diǎn)燈 + AI功能體驗(yàn)

    build -b csk6011a_nano下載lisa zep flash點(diǎn)燈好家伙。dts都來了,Zephyr 什么東西不過dts linux 驅(qū)動(dòng)必備。但是感覺要?jiǎng)裢艘欢研“?b class='flag-5'>AI功能模型文件7M。應(yīng)該是
    發(fā)表于 12-15 10:07

    CSK6視覺AI開發(fā)套件初體驗(yàn)

    一,開發(fā)板介紹CSK6思科技推出的一款MCU+DSP+NPU的SoC芯片。SRAM是1M,PSRAM是8M,不是很清楚各個(gè)核之間是怎么做內(nèi)存共享?應(yīng)該不會(huì)相互獨(dú)立的。二,開發(fā)環(huán)境配
    發(fā)表于 12-21 09:23

    CSK6011與NVIDIA Jetson Nano開發(fā)板對(duì)比

    nano 基礎(chǔ)套裝1719 + usb攝像頭109 =1828 RMBCSK6視覺AI套件 248 RMBps:nano 購(gòu)買USB攝像頭主要是因?yàn)樽詭У腸si攝像頭極不穩(wěn)定。5、總
    發(fā)表于 02-14 14:19

    STM32F7691開發(fā)套件能用openMV實(shí)現(xiàn)視覺識(shí)別嗎?

    請(qǐng)問選擇了AI方向,選用的是STM32F7691開發(fā)套件,能用openMV實(shí)現(xiàn)視覺識(shí)別嗎,還是必須在板子上用F769NI芯片實(shí)現(xiàn)
    發(fā)表于 08-07 06:26

    CSK6 LNN工具體驗(yàn)】自定義人臉檢測(cè)模型

    在微信偶然發(fā)現(xiàn)思科技的CSK6開發(fā)板的評(píng)估活動(dòng),因?yàn)榻?jīng)常在各種硬件平臺(tái)上測(cè)試模型,因此申請(qǐng)了測(cè)評(píng)。很榮幸能被選中。
    的頭像 發(fā)表于 10-18 11:46 ?763次閱讀
    【<b class='flag-5'>聆</b><b class='flag-5'>思</b><b class='flag-5'>CSK6</b> LNN工具體驗(yàn)】自定義人臉檢測(cè)模型

    CSK6芯片性能與應(yīng)用前景分析

    CSK6芯片性能與應(yīng)用前景分析
    的頭像 發(fā)表于 05-15 09:11 ?724次閱讀
    RM新时代网站-首页